Skip to main content
Version: 4.0

Container

A container groups multiple objects together.

Grouped objects' coordinates are relative to the container's position.

It can be scrollable, vertically or horizontally with optional snap effect.

Its contents can be set dinamically with the Content attribute.

Attributes​

Common​

ID​

Sets the object's ID.

The ID identifies the object and is used to reference it in UISet actions, allowing to change its attributes dynamically.

The ID is not unique, it can be shared among multiple objects to quickly change a common attribute.

IDs can't be changed with a UISet action, but they can have a Value Binding assigned to them. Value Bindings on IDs allow an object to be dinamically attached to a set of attribute values.

E.g. the following Value Binding switches the ID of the object between mybutton1 and mybutton2 based on the value of the UISet button.address:

Value binding:

="mybutton" + ui('button', 'address')

UISet:

UISet('button', 'address', '1') switches the ID to mybutton1

UISet('button', 'address', '2') switches the ID to mybutton2

Position and Size​

Position​

Sets the object's position.

The default value is: x0y0.

Attribute Values​
ValueDescriptionExample
x<left>y<top>Specify left/top coordinates in pixels.x10y20

Flex Grow​

Specifies if the objects should grow to fill the available space.

The default value is: true.

Attribute Values​
ValueDescription
trueDefault value. Objects expand to fill the available space.
falseObjects do not grow to fill the available space.

Flex Shrink​

Specifies if the objects should shrink to fit the available space.

The default value is: true.

Attribute Values​
ValueDescription
trueDefault value. Objects shrink to fit the available space.
falseObjects do not shrink to fit the available space.

Width​

Sets the object's width in pixels.

Minimum value is 1.

Height​

Sets the object's height in pixels.

Minimum value is 1.

Layout​

Layout​

Specifies the layout of the container

The layout defines how the objects inside the container are displayed.

Flex layout automatically distribute the contained objects in a column or row, with the possibility to justify and align them.

Grid layout allows to define a grid of rows and columns where the objects are placed.

The default value is: block.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

note

This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.

Attribute Values​
ValueDescription
blockDefault value. Block layout.
flexFlexible layout.
gridGrid layout.

Flex Direction​

Specifies the direction of the objects.

The default value is: row.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
rowDefault value. The contained objects are displayed horizontally, as a row.
columnThe contained objects are displayed vertically, as a column.

Flex Gap​

Defines the size of the gap between the rows and between the columns in flex mode.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
<int>Pixel size of the gap.

Flex Wrap​

Specifies whether the objects inside the container should wrap or not.

The default value is: nowrap.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
nowrapDefault value. Specifies that the objects will not wrap.
wrapSpecifies that the objects will wrap if necessary.
wrap-reverseSpecifies that the objects will wrap, if necessary, in reverse order.

Flex Justify Content​

Aligns the contained objects when they do not use all available space on the main axis.

The main axis is in the flex direction (default is 'row', horizontal), and the cross axis is perpendicular to the main axis (default is 'column', vertical).

The default value is: start.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
startDefault value. Objects are positioned at the beginning of the container.
endObjects are positioned at the end of the container.
centerObjects are positioned in the center of the container.
space-betweenObjects will have space between them.
space-aroundObjects will have space before, between, and after them.
space-evenlyObjects will have equal space around them.

Flex Align Items​

Specifies how the lines of contained objects are distributed along the cross axis.

The main axis is in the flex direction (default is 'row', horizontal), and the cross axis is perpendicular to the main axis (default is 'column', vertical).

The default value is: stretch.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
stretchDefault value. Objects are stretched to fill the container.
startObjects are positioned at the start of the container.
endObjects are positioned at the end of the container.
centerObjects are positioned in the center of the container.
baselineObjects are positioned at the baseline of the container.

Flex Align Content​

Specifies how the lines of contained objects are distributed along the cross axis.

The main axis is in the flex direction (default is 'row', horizontal), and the cross axis is perpendicular to the main axis (default is 'column', vertical).

This attribute only applies if there are multiple lines of objects.

The default value is: stretch.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
stretchDefault value. Lines stretch to take up the remaining space.
startLines are packed toward the start of the container.
endLines are packed toward the end of the container.
centerLines are packed toward the center of the container.
space-betweenLines are evenly distributed in the container.
space-aroundLines are evenly distributed in the container, with half-size spaces on either end.
space-evenlyLines are evenly distributed in the container, with equal space around them.

Panel​

Panel​

Shows a panel that frames the object. Its style can be modified.

The default value is: false.

Attribute Values​
ValueDescription
trueShows the panel.
falseDefault value. Hides the panel.

Panel Color​

Specifies the panel color.

The default value is: default.

Attribute Values​
ValueDescription
defaultDefault value. Default color.
primaryPrimary color, used to highlight important areas.
warningWarning color, used to highlight warning areas.
successSuccess color, used to highlight success areas.
errorError color, used to highlight error areas.
red,blue,yellow,green,yellow,purple,orange,greenPalette colors.
customCustom color, defined in the "Custom Color" attribute.

Panel Custom Color​

Specifies the panel custom color.

Attribute Values​
ValueDescriptionExample
<html color>Color in any html accepted format.#ff0000

Scrolling​

Scrollable​

Specifies if the container's content is scrollable.

The default value is: false.

Attribute Values​
ValueDescription
falseDefault value. Not scrollable.
verticalVertically scrollable.
horizontalHorizontally scrollable.

Scrollbar​

If scrollable, specifies if the scrollbar should be visible.

The default value is: hidden.

Attribute Values​
ValueDescription
hiddenDefault value. Scrollbar is not visible.
visibleScrollbar is always visible.
autoScrollbar is visible when the content's size is greater than the container's.

Scroll Snap​

Specifies where objects will snap into focus when you stop scrolling.

Attribute Values​
ValueDescription
noneNo scroll snap effect.
startScroll snap at start of objects on x- and y-axis.
endScroll snap at end of objects on x- and y-axis.
centerScroll snap at center of objects on x- and y-axis.

Scroll Padding​

Specifies the distance from the container to the snap position of container objects.

This means that when you stop scrolling, the scrolling will quickly adjust and stop at a specified distance from the container to the snap position of the child element in focus.

Attribute Values​
ValueDescription
<int>Padding in pixels.

Content​

Content​

Specifies the content of the container, as an array of JSON objects.

Each JSON object has the following structure:

{
"id": "object_id",
"type": "object_type",
"attrs": {
"attr1": "value1",
"attr2": "value2",
...
}
}

E.g.:

[
{
"id": "text1",
"type": "text",
"attrs": {
"pos": "x1y10",
"text": "Hello World!"
}
}
]

The JSON can be easily copied from the Project Editor. Just create the objects, select them and copy them to the clipboard with the context menu or keyboard shortcut.

note

This attribute is live. It can't be set from the Project Editor, it needs to be set dynamically with a UISet.

Attribute Values​
ValueDescription
<JSON string>Content.

View​

Visible​

Sets the object's visibility.

The default value is: true.

Attribute Values​
ValueDescription
trueDefault value. Visible.
falseHidden.

Enabled​

Specifies if the object is enabled or disabled. A disabled object appears as grayed out and can't be interacted with.

The default value is: true.

Attribute Values​
ValueDescription
trueDefault value. Enabled.
falseDisabled.

Blinks the object at the specified speed.

The default value is: false.

Attribute Values​
ValueDescription
falseDefault value. Not blinking.
slowBlinks slowly.
fastBlinks fast.

Transition​

Specifies the transition effect when the object is shown or hidden.

The default value is: none.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
noneDefault value. No transition.
fadeFade in/out.
fade-leftSlide from left and fade in/out.
fade-rightSlide from right and fade in/out.
fade-upSlide from top and fade in/out.
fade-downSlide from bottom and fade in/out.
slide-leftSlide from left.
slide-rightSlide from right.
slide-upSlide from top.
slide-downSlide from bottom.
zoom-inZoom in.
zoom-outZoom out.
3d-flip-left3D flip from left.
3d-flip-right3D flip from right.

Transition Duration​

Specifies the transition duration in milliseconds.

The default value is: 300.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
<integer>Duration in milliseconds.

Transition Delay​

Specifies the transition delay in milliseconds.

The default value is: 0.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
<integer>Delay in milliseconds.

Opacity​

Sets the object's opacity. Opacity is the degree to which content behind an object is hidden.

The default value is: 1.0.

Attribute Values​
ValueDescription
0The object is fully transparent.
>0.0, <1.0The object is translucent (content behind the element can be seen).
1.0Default value. The object is fully opaque.

Rotation​

Specifies the degrees by which the object is rotated. A positive number rotates it clockwise, while a negative value rotates it counter-clockwise.

The default value is: 0.

CSS Class​

Specifies a CSS Class that applies to the object, useful to customize its appearance. Custom CSS Classes are specified within the custom.css file.

Margin​

Specifies the margin of the object. The margin is the space outside the object's border.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescriptionExample
<int>Specify the margin in pixels for all sides of the object.
<top> <right> <bottom> <left>Specify the margin in pixels for each side of the object.10 20 30 40

View Scale​

Specifies the scale of the object. The scale is the ratio between the object's size and the size of the view it is contained in.

The default value is: 1.0.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values​
ValueDescription
<float>Specify the scale for both width and height of the object.

Meta​

Comment​

Specifies a comment, visible only in the Project Editor. It can be used to add a note or a tag to the object. The filter in the object's SELECT panel applies to the comment as well.

note

This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.

Exclude​

Excludes the object from the UI. Useful to temporarily hide an object without deleting it. Different from the "Visible" attribute, which hides the object in the UI but keeps it in the project, allowing it to be shown again with a UISet.

The default value is: false.

note

This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.

Attribute Values​
ValueDescription
falseDefault value. Object is included in the UI.
trueObject is excluded from the UI.