Reference
Nodes
Components
Button

Button Component

Buttons are clickable elements of your application, analogous to the HTML button tag.

Buttons can be clicked using a mouse or assistive device. When clicked, buttons will trigger their click event.

A button is disabled when Enabled is set to false. When disabled, buttons will not trigger their click events and a disabled cursor will be shown on hover.

Properties

Visible

PropisVisible
Typeboolean
Defaulttrue

Whether or not this node is visible.

Enabled

PropisEnabled
Typeboolean
Defaulttrue

Whether or not this node is enabled.

Tooltip

Proptooltip
Typestring
Defaultundefined

The tooltip text to display when hovered or focused over this node.

Top

Proptop
Typenumber
Default1

The position of the node from the top side of the grid (grid-row-start).

Left

Propleft
Typenumber
Default1

The position of the node from the left side of the grid (grid-column-start).

Width

Propwidth
Typestring
Default136px

The width of the node. When this node is in a grid layout, this should be done using unitless grid column units (specifying 4 will become grid-column-end: span 4). When this node is in a stack layout, the width can be specified using CSS units (e.g. 100px or 100%), or be left unitless to be treated as flex-grow for the node.

Min Width

PropminWidth
Typestring
Defaultundefined

The minimum width of the node. When this node is in a grid layout, this property is ignored.

Max Width

PropmaxWidth
Typestring
Defaultundefined

The maximum width of the node. When this node is in a grid layout, this property is ignored.

Height

Propheight
Typestring
Default32px

The height of the node. When this node is in a grid layout, this should be done using unitless grid row units (specifying 4 will become grid-row-end: span 4). When this node is in a stack layout, the height can be specified using CSS units (e.g. 100px or 100%), or be left unitless to be treated as flex-grow for the node.

Min Height

PropminHeight
Typestring
Defaultundefined

The minimum height of the node. When this node is in a grid layout, this property is ignored.

Max Height

PropmaxHeight
Typestring
Defaultundefined

The minimum height of the node. When this node is in a grid layout, this property is ignored.

Overflow

Propoverflow
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the horizontal and vertical axes for content that is larger than its container.

Overflow X

PropoverflowX
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the horizontal axis for content that is larger than its container.

Overflow Y

PropoverflowY
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the vertical axis for content that is larger than its container.

Custom Styles

Propstyles
Typestring
Default::component { }

Custom CSS styles to be applied to the node. Use element.styles to refer to the current node.

Object Fit

PropobjectFit
TypeObjectFit ('none' | 'contain' | 'cover' | 'fill' | 'scale-down')
Defaultcover

The strategy used to set how the content of a replaced element should be resized to fit its container.

Text

Proptext
Typestring
DefaultButton

The text to display in the button's label.

Left Icon

PropleftIcon
Typestring
Defaultundefined

The icon to display on the left side of the button.

Right Icon

ProprightIcon
Typestring
Defaultundefined

The icon to display on the right side of the button.

Text Color

ProptextColor
Typestring
Defaultundefined

The text color of the button's label.

Font Size

PropfontSize
TypeFontSize ('xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl')
Defaultsm

The font size of the button's label.

Text Hover Decoration

ProptextHoverDecoration
Typestring
Defaultunderline

The text decoration that is applied upon hover

Border Color

PropborderColor
Typestring
Defaultundefined

The border color of the button.

Border Width

PropborderWidth
Typestring
Default1px

The border width of the button.

Border Radius

PropborderRadius
Typestring
Default6px

The radius of the rounded corners of button's border (perimeter). Supports the same values as the corresponding CSS property.

Padding

Proppadding
Typestring
Default4px

The interior padding of the button.

Background Color

PropbackgroundColor
Typestring
Defaultbutton.background

The background color of the button.

Hover Background Color

ProphoverBackgroundColor
Typestring
Defaultundefined

The background color of the button when it is hovered over or focused.

Variant

Propvariant
TypeVariant ('solid' | 'ghost' | 'outline' | 'link')
Defaultsolid

The visual style of the button.

Loading

PropisLoading
Typeboolean
Defaultfalse

The current visual loading state of the button.

Loading Text

ProploadingText
Typestring
Defaultundefined

The text to display in the button's label when it is in a loading state.

Spinner Placement

PropspinnerPlacement
TypeSpinnerPlacement ('start' | 'end')
Defaultstart

The placement of the spinner relative to the label when it is in a loading state.

Type

Proptype
TypeFormButtonTypes ('submit' | 'reset' | 'auto')
Defaultauto

The HTML type value for the input element.

Distribute Content

PropdistributeContent
TypeNodeLayoutDistributeStyle ('start' | 'center' | 'end' | 'around' | 'between' | 'even')
Defaultcenter

The distribution of the children nodes within the component. Corresponds to the justify-content CSS Flexbox property.

Event Handlers

On Click

HandlerbuttonNode.onClick

Called when the user clicks the node. Use this event to trigger downstream actions when this node is clicked.

On Hover

HandlerbuttonNode.onHover

Called when the user hovers on the node. Use this event to trigger downstream actions when this node is hovered.

On Leave

HandlerbuttonNode.onLeave

Called when the user is not hovering over the node. Use this event to trigger downstream actions when this node is no longer hovered.

On Focus

HandlerbuttonNode.onFocus

Called when the user focuses the node. Use this event to trigger downstream actions when this node is focused.

On Blur

HandlerbuttonNode.onBlur

Called when the user blurs the node. Use this event to trigger downstream actions when this node is blurred.