Properties
An element has a set of named properties, determined by the type of the element. A property holds a value.[sls.prop.def]
A property declaration adds a property to the element in whose body it appears.
It consists of the keyword property, the type in angle brackets, and a name,
optionally preceded by a visibility modifier,
optionally followed by : and an expression that binds to the property,
and ends with ;.[sls.prop.decl.form]
export component Example inherits Window { in property <color> tint; in-out property <length> gap: 10px;}The modifier declares the property’s visibility: which side may read and set the property’s value.[sls.prop.decl.visibility]
An in property is an input of the component: the application sets its value.[sls.prop.decl.in]
An out property is an output of the component:
the component determines its value, and the application reads it.[sls.prop.decl.out]
An in-out property is both: the application sets and reads its value.[sls.prop.decl.in-out]
A private property is internal to the component:
the application can neither set nor read it.
Private is the default: a declaration without a modifier declares a private property.[sls.prop.decl.private]
Properties shall only be declared on the root element.[sls.prop.decl.root-only]
The declared type shall be length or color.[sls.prop.decl.types]
Without a binding, the property has the default value of its type.[sls.prop.decl.default]
© 2026 SixtyFPS GmbH