// Copyright 2025 International Digital Economy Academy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
///|
pub fn length(value : Double) -> Dimension {
DimLength(value)
}
///|
pub fn percent(value : Double) -> Dimension {
DimPercent(value)
}
///|
pub fn auto() -> Dimension {
DimAuto
}
///|
pub fn fr(value : Double) -> Dimension {
DimFr(value)
}
///|
pub fn minmax(min : Dimension, max : Dimension) -> Dimension {
DimMinMax(min, max)
}
///|
pub fn grid_min_content() -> Dimension {
DimMinContent
}
///|
pub fn grid_max_content() -> Dimension {
DimMaxContent
}
///|
pub fn fit_content(limit : Dimension) -> Dimension {
DimFitContent(limit)
}
///|
pub fn repeat_count(count : Int) -> GridTrackRepetition {
RepeatCount(count)
}
///|
pub fn repeat_auto_fill() -> GridTrackRepetition {
RepeatAutoFill
}
///|
pub fn repeat_auto_fit() -> GridTrackRepetition {
RepeatAutoFit
}
///|
pub fn repeat(
repetition : GridTrackRepetition,
tracks : Array[Dimension],
) -> Dimension {
DimRepeat(repetition, tracks)
}
///|
pub fn grid_auto_flow_row() -> GridAutoFlow {
Row
}
///|
pub fn grid_auto_flow_column() -> GridAutoFlow {
Column
}
///|
pub fn grid_auto_flow_row_dense() -> GridAutoFlow {
RowDense
}
///|
pub fn grid_auto_flow_column_dense() -> GridAutoFlow {
ColumnDense
}
///|
pub fn place_auto() -> GridPlacement {
PlaceAuto
}
///|
pub fn line(value : Int) -> GridPlacement {
PlaceLine(value)
}
///|
pub fn span(value : Int) -> GridPlacement {
PlaceSpan(value)
}
///|
pub fn available_space_definite(value : Double) -> AvailableSpace {
AvailDefinite(value)
}
///|
pub fn max_content() -> AvailableSpace {
AvailMaxContent
}
///|
pub fn min_content() -> AvailableSpace {
AvailMinContent
}
///|
pub fn display_flex() -> Display {
DisplayFlex
}
///|
pub fn display_grid() -> Display {
DisplayGrid
}
///|
pub fn display_block() -> Display {
DisplayBlock
}
///|
pub fn display_none() -> Display {
DisplayNone
}
///|
pub fn position_relative() -> Position {
PosRelative
}
///|
pub fn position_absolute() -> Position {
PosAbsolute
}
///|
pub fn overflow_visible() -> Overflow {
OverflowVisible
}
///|
pub fn overflow_clip() -> Overflow {
OverflowClip
}
///|
pub fn overflow_hidden() -> Overflow {
OverflowHidden
}
///|
pub fn overflow_scroll() -> Overflow {
OverflowScroll
}
///|
pub fn flex_direction_row() -> FlexDirection {
FlexRow
}
///|
pub fn flex_direction_column() -> FlexDirection {
FlexColumn
}
///|
pub fn flex_direction_row_reverse() -> FlexDirection {
FlexRowReverse
}
///|
pub fn flex_direction_column_reverse() -> FlexDirection {
FlexColumnReverse
}
///|
pub fn flex_wrap_no_wrap() -> FlexWrap {
FlexNoWrap
}
///|
pub fn flex_wrap_wrap() -> FlexWrap {
FlexWrap
}
///|
pub fn flex_wrap_wrap_reverse() -> FlexWrap {
FlexWrapReverse
}
///|
pub fn align_items_start() -> AlignItems {
ItemsStart
}
///|
pub fn align_items_end() -> AlignItems {
ItemsEnd
}
///|
pub fn align_items_flex_start() -> AlignItems {
ItemsFlexStart
}
///|
pub fn align_items_flex_end() -> AlignItems {
ItemsFlexEnd
}
///|
pub fn align_items_center() -> AlignItems {
ItemsCenter
}
///|
pub fn align_items_baseline() -> AlignItems {
ItemsBaseline
}
///|
pub fn align_items_stretch() -> AlignItems {
ItemsStretch
}
///|
pub fn align_content_start() -> AlignContent {
AlignStart
}
///|
pub fn align_content_end() -> AlignContent {
AlignEnd
}
///|
pub fn align_content_flex_start() -> AlignContent {
AlignFlexStart
}
///|
pub fn align_content_flex_end() -> AlignContent {
AlignFlexEnd
}
///|
pub fn align_content_center() -> AlignContent {
AlignCenter
}
///|
pub fn align_content_stretch() -> AlignContent {
AlignStretch
}
///|
pub fn align_content_space_between() -> AlignContent {
AlignSpaceBetween
}
///|
pub fn align_content_space_evenly() -> AlignContent {
AlignSpaceEvenly
}
///|
pub fn align_content_space_around() -> AlignContent {
AlignSpaceAround
}
///|
pub fn justify_content_flex_start() -> JustifyContent {
AlignFlexStart
}
///|
pub fn justify_content_center() -> JustifyContent {
AlignCenter
}
///|
pub fn justify_content_flex_end() -> JustifyContent {
AlignFlexEnd
}
///|
pub fn justify_content_start() -> JustifyContent {
AlignStart
}
///|
pub fn justify_content_end() -> JustifyContent {
AlignEnd
}
///|
pub fn justify_content_stretch() -> JustifyContent {
AlignStretch
}
///|
pub fn justify_content_space_between() -> JustifyContent {
AlignSpaceBetween
}
///|
pub fn justify_content_space_evenly() -> JustifyContent {
AlignSpaceEvenly
}
///|
pub fn justify_content_space_around() -> JustifyContent {
AlignSpaceAround
}
///|
pub fn Size::max_content() -> Size[AvailableSpace] {
Size::new(width=AvailMaxContent, height=AvailMaxContent)
}