Mixins / foldkit-mixins-ui
RadioGroupSlots
const · packages/mixins-ui/src/radioGroup.ts:16
const RadioGroupSlots: Slots.Contract<{
readonly group: Slot.UnnamedSlot<
Capability.Capability<
'Container',
readonly [
Capability.Capability<
'Interactive',
readonly [Capability.Capability<'Base', readonly []>]
>,
]
>,
readonly Slot.EventName[],
readonly [Attr.AttrToken<'role'>],
readonly Slot.RequirementName[],
boolean
>
readonly option: Slot.UnnamedSlot<
Capability.Capability<
'Interactive',
readonly [Capability.Capability<'Base', readonly []>]
>,
readonly [Event.EventToken<'click'>],
readonly [
Attr.AttrToken<'role'>,
Attr.AttrToken<'aria-selected'>,
Attr.AttrToken<'disabled'>,
Attr.AttrToken<'aria-disabled'>,
],
readonly Slot.RequirementName[],
boolean
>
readonly label: Slot.UnnamedSlot<
Capability.Capability<
'Container',
readonly [
Capability.Capability<
'Interactive',
readonly [Capability.Capability<'Base', readonly []>]
>,
]
>,
readonly Slot.EventName[],
readonly Slot.AttributeName[],
readonly Slot.RequirementName[],
boolean
>
readonly description: Slot.UnnamedSlot<
Capability.Capability<
'Container',
readonly [
Capability.Capability<
'Interactive',
readonly [Capability.Capability<'Base', readonly []>]
>,
]
>,
readonly Slot.EventName[],
readonly Slot.AttributeName[],
readonly Slot.RequirementName[],
boolean
>
readonly hiddenInput: Slot.UnnamedSlot<
Capability.Capability<'Base', readonly []>,
readonly Slot.EventName[],
readonly [Attr.AttrToken<'value'>],
readonly Slot.RequirementName[],
boolean
>
}>RadioGroup is a Submodel: each published bundle is a ChildAttribute group
that carries the boundary's dispatcher. The resolver treats those as opaque
and preserves their identity, so spreading a resolved bundle into the
parent's markup keeps routing through the radio group's toParentMessage.
The base installs OnClick on an enabled, non-readonly option's option
bundle, so a Behavior adding its own click handler is a conflict rather than
a second silent owner.