Skip to content

Slot

Slot is a Blazor approximation of the spec’s <Slot/>/asChild engine: it merges forwarded attributes (class, style, event handlers) onto a single caller-supplied child render fragment instead of rendering an element of its own, letting a primitive project HTML attributes onto whatever element a consumer chooses to render.

Retired per ADR-0003. WPF composes via ControlTemplate, named TemplateParts, and TemplateBinding (the pattern every family in this port already uses, for example NaviusSwitch’s PART_Thumb and NaviusSlider’s PART_Track/PART_Range/PART_Thumb), not DOM-style attribute splatting onto an arbitrary child element, so there is no asChild-shaped gap to fill. The M6 audit (2026-07-09) confirmed the retirement is real and not an after-the-fact label: no Controls/Slot/ folder or NaviusSlot.cs exists under Navius.Wpf.Primitives, and every audited family in this batch composes via named template parts rather than a generic slot primitive.

  • No 1:1 NaviusSlot control ships; consumer code that expects one will not compile against Navius.Wpf.Primitives, by design.
  • The web family is itself already an acknowledged Radix-parity deviation on Blazor, since Blazor cannot expose a child element’s props for merging the way asChild does on the web substrate; the WPF port does not need to approximate an already-approximate mechanism.
  • SlotMerge’s class/style/event-composition algorithm has no WPF analog: there is no string class attribute or inline style string to merge, and no dependent in this port assumes string-based style merging survives.