Composition / foldkit-composition/appearance

Look

interface · packages/composition/src/appearance/index.ts:53

interface Look<Slots> {
  readonly slots: Slots
  readonly axes: AppearanceAxes
  readonly styles: ReadonlyArray<NamedStyle<Slots>>
  readonly select: (appearance: Appearance) => ReadonlyArray<NamedStyle<Slots>>
  readonly draw: <Message>(context: {
    readonly appearance: Appearance
    readonly h: HtmlBuilder<Message>
    readonly with?: ReadonlyArray<MixinFor<Message>>
  }) => SlotView.SlotBuilders<Slots, Message>
}

Members

Look.slots

property · packages/composition/src/appearance/index.ts:54

readonly slots: Slots

Look.axes

property · packages/composition/src/appearance/index.ts:56

readonly axes: AppearanceAxes

The choices a node may store, for Block.withAppearance.

Look.styles

property · packages/composition/src/appearance/index.ts:58

readonly styles: ReadonlyArray<NamedStyle<Slots>>

Every compiled piece a selection can attach, for Style.stylesheet(...look.styles).

Look.select

property · packages/composition/src/appearance/index.ts:60

readonly select: (appearance: Appearance) => ReadonlyArray<NamedStyle<Slots>>

The pieces a stored selection attaches: base, each chosen value, matching compounds, tokens.

Look.draw

property · packages/composition/src/appearance/index.ts:67

readonly draw: <Message>(context: {
  readonly appearance: Appearance
  readonly h: HtmlBuilder<Message>
  readonly with?: ReadonlyArray<MixinFor<Message>>
}) => SlotView.SlotBuilders<Slots, Message>

The Block's Slots, with a node's chosen Style attached, for its view to draw with. with attaches more after the look, such as a Behavior's mixin; a style property a Behavior owns and a choice also sets is mixins:style-property-conflict, not a silent winner.