Skip to content

Documentation / @ripl/vue / RiplNodeDefinition

Interface: RiplNodeDefinition ​

Defined in: adapters/vue/src/core/define-element.ts:61

Describes one element to wrap as a component.

create is deliberately untyped on both sides. Vue props arrive as a loose bag, and several element states narrow a base property — EllipseState.rotation is number where the base allows a CSS angle string — which makes those classes invariant with the base Element. Typing is restored where it is useful to consumers: on the component's props.

Properties ​

PropertyTypeDescriptionDefined in
baseStateKeys?readonly string[]The inheritable state every element of this kind carries. Defaults to the 2D base state.adapters/vue/src/core/define-element.ts:67
constructionOnlyKeys?ReadonlySet<string>Prop names read only at construction. Defaults to the shared element set.adapters/vue/src/core/define-element.ts:71
container?booleanWhether the node owns children: a group renders its slot and parents its descendants.adapters/vue/src/core/define-element.ts:77
fieldKeys?readonly string[]Extra prop names written as plain fields rather than animatable state.adapters/vue/src/core/define-element.ts:69
fieldWriters?RiplFieldWritersWrite overrides for fields the element exposes through a method rather than a setter.adapters/vue/src/core/define-element.ts:75
namestringThe component's name, e.g. RiplCircle.adapters/vue/src/core/define-element.ts:63
paintedKeys?ReadonlySet<string>Plain fields that change how the element paints. Defaults to the shape fields.adapters/vue/src/core/define-element.ts:73
stateKeysreadonly string[]The element's own state property names, on top of the shared base state.adapters/vue/src/core/define-element.ts:65

Methods ​

create() ​

create(options): Element

Defined in: adapters/vue/src/core/define-element.ts:79

Constructs the underlying element from the props bound on the component.

Parameters ​

ParameterType
optionsRiplWritable

Returns ​

Element