Mixins / foldkit-mixins-ui
FileDropSlots
const · packages/mixins-ui/src/fileDrop.ts:13
const FileDropSlots: Slots.Contract<{
readonly root: 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 input: Slot.UnnamedSlot<
Capability.Capability<
'Interactive',
readonly [Capability.Capability<'Base', readonly []>]
>,
readonly [Event.EventToken<'change'>],
readonly [Attr.AttrToken<'disabled'>],
readonly Slot.RequirementName[],
boolean
>
}>FileDrop is a small Submodel: a root drop zone plus its hidden file
input. The root owns the drag handlers (dragenter/dragleave/drop
have no Event tokens, but the resolver still refuses a second owner by
event name); the input owns change while enabled. A Behavior adding its
own handler to one of those is a conflict, not a second silent owner.