What exists today
Every component is a set of parts built on context.
Components#
Every component is a set of parts built on context. Each part is exported both on the root (Dialog.Content) and by
name (DialogContent) for tree shaking. Every part that renders an element accepts as, class, style, ref and
all attributes of that element, and application event handlers run first and may call preventDefault() to veto the
built-in behavior.
| Radix package | ShadowJS | Parts | State props |
|---|---|---|---|
react-accordion |
Accordion |
Item, Header, Trigger, Content |
type="single" | "multiple", value, defaultValue, onValueChange, collapsible, disabled, orientation, dir |
react-alert-dialog |
AlertDialog |
Trigger, Portal, Overlay, Content, Title, Description, Cancel, Action |
open, defaultOpen, onOpenChange |
react-checkbox |
Checkbox |
Indicator |
checked, defaultChecked, onCheckedChange, name, value, required, disabled, form |
react-collapsible |
Collapsible |
Trigger, Content |
open, defaultOpen, onOpenChange, disabled |
| (cmdk / shadcn Combobox) | Combobox |
Anchor, Input, Trigger, Clear, Portal, Content, Item, Group, Label, Separator, Empty, Loading, Chips, Chip, ChipRemove, Arrow |
value, inputValue, open, multiple, default* and on*Change |
react-context-menu |
ContextMenu |
Trigger, Portal, Content, all menu parts |
onOpenChange, modal, dir |
react-dialog |
Dialog |
Trigger, Portal, Overlay, Content, Title, Description, Close |
open, defaultOpen, onOpenChange, modal |
react-dropdown-menu |
DropdownMenu |
Trigger, Portal, Content, Item, CheckboxItem, RadioGroup, RadioItem, ItemIndicator, Label, Group, Separator, Arrow, Sub, SubTrigger, SubContent |
open, defaultOpen, onOpenChange, modal, dir |
react-hover-card |
HoverCard |
Trigger, Portal, Content, Arrow |
open, defaultOpen, onOpenChange, openDelay, closeDelay |
react-label |
Label |
none | htmlFor |
(React Aria NumberField) |
NumberField |
Input, Increment, Decrement |
value, defaultValue, min, max, step, formatting options |
react-menubar |
Menubar |
Menu, Trigger, Portal, Content, all menu parts |
value, defaultValue, onValueChange, loop, dir |
(shadcn Pagination) |
Pagination |
List, Item, Previous, Next, Ellipsis, Items; the pure getPaginationRange |
page, defaultPage, onPageChange, pageCount, siblingCount, boundaryCount, getHref |
react-popover |
Popover |
Trigger, Anchor, Portal, Content, Arrow, Title, Description, Close |
open, defaultOpen, onOpenChange, modal |
react-progress |
Progress |
Indicator |
value, max, getValueLabel |
react-radio-group |
RadioGroup |
Item, Indicator |
value, defaultValue, onValueChange, name, required, disabled, orientation, loop, form |
react-select |
Select |
Trigger, Value, Icon, Portal, Content, Viewport, Group, Label, Item, ItemText, ItemIndicator, Separator, ScrollUpButton, ScrollDownButton, Arrow |
value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, name, required, disabled, form |
react-separator |
Separator |
none | orientation, decorative |
react-slider |
Slider |
Track, Range, Thumb |
value, defaultValue, onValueChange, onValueCommit, min, max, step, orientation, inverted, name |
react-switch |
Switch |
Thumb |
checked, defaultChecked, onCheckedChange, name, value, required, disabled, form |
react-tabs |
Tabs |
List, Trigger, Content |
value, defaultValue, onValueChange, orientation, dir, activationMode |
react-toast |
Toast, createToaster |
Provider, Viewport, Title, Description, Action, Close |
open, defaultOpen, onOpenChange, duration, type; provider: label, duration, swipeDirection, swipeThreshold |
react-toggle |
Toggle |
none | pressed, defaultPressed, onPressedChange, disabled |
react-toggle-group |
ToggleGroup |
Item |
type="single" | "multiple", value, defaultValue, onValueChange, orientation, loop |
react-tooltip |
Tooltip |
Provider, Trigger, Portal, Content, Arrow |
open, defaultOpen, onOpenChange, delayDuration |
react-visually-hidden |
VisuallyHidden |
none | none |
| internal menu core | Menu |
Anchor, Portal, Content, Item, CheckboxItem, RadioGroup, RadioItem, ItemIndicator, Label, Group, Separator, Arrow, Sub, SubTrigger, SubContent |
open, defaultOpen, onOpenChange |
react-popper (internal) |
Popper, PopperProvider, PopperAnchor, PopperContent, PopperArrow, usePopperAnchor, usePopperContext |
side, align, sideOffset, alignOffset, avoidCollisions, collisionPadding, sticky, ... |