Mixins / foldkit-mixins-ui

Submodel components remain Submodels

Some @foldkit/ui components publish ChildAttributes carrying the child state-machine dispatcher.

The resolver preserves those attributes, so adapting the render seam does not flatten or bypass the child boundary:

parent view
   |
resolved Slot attrs
   |
ChildAttribute
   |
component Submodel dispatcher

Dialog, Popover, Tooltip, Slider, Tabs, RadioGroup, Calendar, and Menu all rely on this behavior.

Per-item components can also return structured groups rather than one flat Slot array. The adapter preserves that shape. For example:

Tabs       -> { tablist, tabs, activeIndex }
RadioGroup -> { group, options, selectedValue, hiddenInput }
Calendar   -> ResolvedDays | ResolvedMonths | ResolvedYears
Menu       -> { wrapper, button, backdrop, items, scroll, groups, isVisible }
Toast      -> { container, entries }
Listbox    -> { wrapper, button, backdrop, items, scroll, groups, hiddenInputs, isVisible }
Combobox   -> { wrapper, inputWrapper, input, toggleButton, backdrop, items, scroll, groups, hiddenInputs, isVisible }

One Slot contribution can apply to each repeated item while every item's base attributes keep their own event ownership.