Mixins / foldkit-mixins-ui

DialogSlots

const · packages/mixins-ui/src/dialog.ts:16

const DialogSlots: Slots.Contract<{ readonly dialog: Slot.UnnamedSlot<Capability.Capability<"Container", readonly [Capability.Capability<"Interactive", readonly [Capability.Capability<"Base", readonly []>]>]>, readonly [Event.EventToken<"cancel">], readonly [Attr.AttrToken<"aria-describedby">], readonly Slot.RequirementName[], boolean>; readonly backdrop: Slot.UnnamedSlot<Capability.Capability<"Container", readonly [Capability.Capability<"Interactive", readonly [Capability.Capability<"Base", readonly []>]>]>, readonly [Event.EventToken<"click">], readonly Slot.AttributeName[], readonly Slot.RequirementName[], boolean>; readonly panel: 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 title: 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 initialFocus: Slot.UnnamedSlot<Capability.Capability<"F …;

Dialog is a Submodel: each published bundle is a ChildAttribute group that carries the dialog 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 dialog's toParentMessage.

dialog owns cancel (the native Escape handler); backdrop and closeButton own click. A Behavior adding its own handler to one of those is a conflict, not a second silent owner.

In the guides