Skip to main content
Version: 4.1

Nav

The nav object is a navigation menu that allows users to navigate between pages or to perform actions.

It can be used to create a navigation bar, a menu, or a toolbar.

It can contain buttons, groups, sub menus and more.

Project navigation recipe

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.

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

This attribute is available when side is "none".

When side is "none", this attribute defaults to x0y0.

Flex Grow​

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

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

This attribute is available when side is "none".

The default value is: false.

Flex Shrink​

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

Attribute Values​
ValueDescription
falseDefault value. Objects do not shrink to fit the available space.
trueObjects shrink to fit the available space.

This attribute is available when side is "none".

The default value is: false.

Column​

Specifies the starting column of the object inside a grid container.

Minimum value is 1.

Attribute Values​
ValueDescription
<int>Column index starting from 1.

This attribute is available when side is "none".

note

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

Column Span​

Specifies how many grid columns the object spans.

Minimum value is 1.

Attribute Values​
ValueDescription
<int>Column span starting from 1.

This attribute is available when side is "none".

When side is "none", this attribute defaults to 1.

note

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

Row​

Specifies the starting row of the object inside a grid container.

Minimum value is 1.

Attribute Values​
ValueDescription
[empty]Auto placement by the grid.
<int>Row index starting from 1.

This attribute is available when side is "none".

When side is "none", this attribute defaults to auto.

note

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

Row Span​

Specifies how many grid rows the object spans.

Minimum value is 1.

Attribute Values​
ValueDescription
<int>Row span starting from 1.

This attribute is available when side is "none".

When side is "none", this attribute defaults to 1.

note

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

Width​

Sets the object's width in pixels.

This attribute is available when side is one of "none", "left", or "right".

Minimum width is 100 when side is "top" or side is "bottom" or orientation is "horizontal".

Minimum width is 40 when side is "left" or side is "right" or orientation is "vertical".

Height​

Sets the object's height in pixels.

This attribute is available when side is one of "none", "top", or "bottom".

Minimum height is 40 when side is "top" or side is "bottom" or orientation is "horizontal".

Minimum height is 100 when side is "left" or side is "right" or orientation is "vertical".

Size​

Size Open​

Specifies the size of the nav when open.

Attribute Values​
ValueDescription
<int>Width or height (depending on orientation) in number of pixels.

This attribute is available when mode is "drawer".

Layout​

Mode​

Specifies the nav's mode which affects the way it appears and it's positioned.

In "drawer" mode, nav has closed/open states, which can be controlled with a hamburger button, defined in the Items attribute. When closed the nav is narrower and buttons appear without labels. When it's opened it expands up to the width specified in the Width Open attribute. The push attribute specifies if the content of the page is pushed aside when opening.

The "offscreen" mode is similar to drawer, but when closed the nav is completely hidden.

Attribute Values​
ValueDescription
staticDefault value. Static position.
drawerDrawer mode.

The default value is: static.

Side​

Specifies which sides the nav is aligned to.

Attribute Values​
ValueDescription
noneDefault value. Stick to the left side.
leftStick to the left side.
rightStick to the right side.
topStick to the right side.
bottomStick to the right side.

When mode is one of "drawer" or "offscreen", this attribute defaults to left.

Orientation​

Specifies the nav orientation.

Attribute Values​
ValueDescription
horizontalDefault value. Horizontal.
verticalVertical.

This attribute is available when side is "none".

The default value is: horizontal.

Items​

Items​

Specifies the nav's items.

Attribute Values​
ValueDescriptionExample
<JSON array>Description of the nav's content.[{"type":"button","label":"Home","action":"link","link":"home"}]

When mode is one of "drawer" or "offscreen", this attribute defaults to [{"type":"hamburger"}].

Hidden Items​

Specifies the nav hidden items in drawer mode, that appear when the drawer opens.

Attribute Values​
ValueDescriptionExample
<JSON array>Description of the nav's content.[{"type":"button","label":"Settings","action":"link","link":"settings"}]

This attribute is available when orientation is "horizontal" and mode is "drawer".

note

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

Drawer​

Open​

Specifies if the nav is open. Toggle this value to show/hide the nav.

Attribute Values​
ValueDescription
falseDefault value. Nav is closed.
trueNav is opened.

This attribute is available when mode is "drawer" or type is "offscreen".

The default value is: false.

Push​

If true, pushes the page's content out of the way when opening.

Attribute Values​
ValueDescription
trueDefault value. Pushes the page's content.
falseOpens on top of the page's content.

This attribute is available when mode is "drawer" or (type is "offscreen" and side is not "none").

When mode is "drawer" or (type is "offscreen" and side is not "none"), this attribute defaults to true.

Close On Select​

Specifies if selecting a drawer menu item closes it (if it's currently open).

Attribute Values​
ValueDescription
trueDefault value. When the user clicks a menu item, it closes.
falseThe drawer must be closed manually with the hamburger button or by setting the open attribute.

This attribute is available when mode is "drawer" or type is "offscreen".

When mode is "drawer" or type is "offscreen", this attribute defaults to true.

Style​

Panel​

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

Attribute Values​
ValueDescription
trueDefault value. Shows the panel.
falseHides the panel.

The default value is: true.

Panel Color​

Specifies the panel color.

Attribute Values​
ValueDescription
defaultDefault 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.

This attribute is available when panel is "true".

When panel is "true", this attribute defaults to true.

Panel Custom Color​

Specifies the panel custom color.

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

This attribute is available when panelstyle is "custom" or panelstyle is "glass" or panelcolor is "custom".

When panelstyle is "custom" or panelstyle is "glass" or panelcolor is "custom", this attribute defaults to true.

Gap​

Specifies the space between the nav's items.

Attribute Values​
ValueDescription
autoDefault value. Auto.
<int>Gap in pixels.

The default value is: auto.

note

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

Icon Size​

Specifies the icon size.

Attribute Values​
ValueDescription
<int>Icon size in pixels.
note

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

Button Color​

Specifies the button color.

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

The default value is: default.

Button Custom Color​

Specifies the button's custom color.

Attribute Values​
ValueDescription
<html color>Any valid HTML color.

This attribute is available when buttonstyle is "custom" or buttonstyle is "glass" or buttoncolor is "custom".

When buttonstyle is "custom" or buttonstyle is "glass" or buttoncolor is "custom", this attribute defaults to clear.

Button Look​

Specifies the button's look.

Attribute Values​
ValueDescription
filledFilled look, with a solid background.
clearDefault value. Clear look, no background or border.
outlinedOutlined look, with a solid border.
glassGlass look, with a semi-transparent background.

The default value is: clear.

Button Icon Position​

Specifies the position of the button's primary icon.

Attribute Values​
ValueDescription
leftDefault value. Left.
topTop.

The default value is: left.

Button Section Icon Position​

Specifies the position of the button's primary icon inside a section.

Attribute Values​
ValueDescription
leftDefault value. Left.
topTop.

This attribute is available when items contains ""section".

The default value is: left.

Highlight Mode​

Specifies the way selected buttons are highlighted.

Attribute Values​
ValueDescription
borderDefault value. Border highlight.
fillFilled button highlight.
dotDot highlight.

The default value is: border.

note

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

Typography​

Font Family​

Specifies the font family.

The default value is: default.

Font Size​

Specifies the font size in pixels or percentage (relative to the project's font size).

Attribute Values​
ValueDescriptionExample
<integer>Font size in pixels.
<percentage>%Relative font size in percentage.90%

The default value is: 14.

Font Color​

Specifies the text CSS color.

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

Font Weight​

Specifies the weight of the font.

Attribute Values​
ValueDescription
normalDefault value. Normal.
boldBold.
bolderBolder.
lighterLighter.

The default value is: normal.

Italic​

Show the text in italics.

Attribute Values​
ValueDescription
falseDefault value. Normal.
trueItalics.

The default value is: false.

Small Caps​

Sets the font to small caps.

Attribute Values​
ValueDescription
falseDefault value. Normal.
trueSmall caps.

The default value is: false.

Decoration​

Specifies the text decoration.

Attribute Values​
ValueDescription
noneDefault value. No decoration.
underlineUnderline.
overlineOverline.
line-throughLine through.

The default value is: none.

Line Height​

Sets the line height of the text.

Attribute Values​
ValueDescription
<float>Specify the line height as a multiple of the font size.

The default value is: 1.0.

Specifies the font family.

The default value is: default.

Specifies the font size in pixels or percentage (relative to the project's font size).

Attribute Values​
ValueDescriptionExample
<integer>Font size in pixels.
<percentage>%Relative font size in percentage.90%

The default value is: 14.

Specifies the text CSS color.

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

Specifies the weight of the font.

Attribute Values​
ValueDescription
normalDefault value. Normal.
boldBold.
bolderBolder.
lighterLighter.

The default value is: normal.

Show the text in italics.

Attribute Values​
ValueDescription
falseDefault value. Normal.
trueItalics.

The default value is: false.

Sets the font to small caps.

Attribute Values​
ValueDescription
falseDefault value. Normal.
trueSmall caps.

The default value is: false.

Specifies the text decoration.

Attribute Values​
ValueDescription
noneDefault value. No decoration.
underlineUnderline.
overlineOverline.
line-throughLine through.

The default value is: none.

Sets the line height of the text.

Attribute Values​
ValueDescription
<float>Specify the line height as a multiple of the font size.

The default value is: 1.0.

View​

Visible​

Sets the object's visibility.

Attribute Values​
ValueDescription
trueDefault value. Visible.
falseHidden.

The default value is: true.

Enabled​

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

Attribute Values​
ValueDescription
trueDefault value. Enabled.
falseDisabled.

The default value is: true.

Blinks the object at the specified speed.

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

The default value is: false.

Transition​

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

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.

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.

Transition Duration​

Specifies the transition duration in milliseconds.

Attribute Values​
ValueDescription
<integer>Duration in milliseconds.

This attribute is available when transition is not "none".

When transition is not "none", this attribute defaults to 300.

note

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

Transition Delay​

Specifies the transition delay in milliseconds.

Attribute Values​
ValueDescription
<integer>Delay in milliseconds.

This attribute is available when transition is not "none".

When transition is not "none", this attribute defaults to 0.

note

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

Opacity​

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

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.

The default value is: 1.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.

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
note

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

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.

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

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.

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.

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

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.