Glossário

Glossary — Radix Primitives

Anatomy — the standard Root/Trigger/Portal/Content (and sub-part) structure every primitive follows; import the parts and compose them. (Ch 2)

asChild — prop accepted by nearly every part; when true, the part clones its single child instead of rendering a default DOM element. (Ch 1, 5)

data-state — the primary state-exposing data attribute ("open"|"closed", "checked"|"unchecked", "on"|"off", etc., depending on the primitive) used to drive CSS/CSS-in-JS styling without JS state tracking. (Ch 6)

Collision handling (avoidCollisions, collisionBoundary, collisionPadding, sticky, hideWhenDetached) — props on positioned Content parts (Popover, DropdownMenu, ContextMenu, Select, HoverCard, Tooltip, NavigationMenu) that keep the popup within a boundary as the trigger nears viewport edges. (Ch 15, 17, 19, 25, 29)

Controlled vs. uncontrolled — most stateful primitives support both an uncontrolled mode (defaultOpen/defaultChecked/defaultValue) and a controlled mode (open/checked/value + the matching onXChange). (Ch 9, 13, 16)

forceMount — prop on many Content/Indicator parts that skips Radix's own mount/unmount logic, delegating presence control to an external JS animation library. (Ch 7)

Modal (modal prop, default varies per primitive) — whether outside pointer/focus interaction is blocked while the overlay is open (Dialog/AlertDialog default true; Popover defaults false). (Ch 10, 16, 25)

Portal — renders a subtree into a different part of the DOM (default document.body) so overlay content escapes parent stacking/overflow constraints. (Ch 39)

Positioning modes — item-aligned (overlaps trigger, default for Select) vs. popper (trigger-relative with side/align, used by Popover/DropdownMenu/ContextMenu/Select-in-popper-mode/HoverCard/Tooltip). (Ch 29)

Roving tabindex — the WAI-ARIA focus-management pattern where a collection of related controls (menu items, radio items, tabs, toolbar items) shares one Tab stop, with arrow keys moving focus internally. (Ch 15, 27, 33, 37)

Slot — the low-level primitive that merges props/ref onto a single child element; the mechanism asChild is built on. (Ch 40)

Typeahead — keyboard behavior where typing a letter jumps focus to the next matching item in a menu/select list; use textValue when the item's visible content isn't a plain string. (Ch 15, 17, 29)

Unstable primitives (unstable_ prefix) — parts/components whose API may still change (Checkbox.unstable_Provider/Trigger/BubbleInput, Switch.unstable_*, OneTimePasswordField, PasswordToggleField). (Ch 13, 23, 24, 32)

Viewport (NavigationMenu) — a single shared container that open Content panels animate into/out of, enabling smooth cross-panel transitions instead of independent per-panel animation. (Ch 22)