@primitiv-ui/react 0.1.38 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -2
- package/dist/AccessibleIcon/AccessibleIcon.d.ts +51 -0
- package/dist/AccessibleIcon/AccessibleIcon.js +55 -0
- package/dist/AccessibleIcon/index.d.ts +2 -0
- package/dist/AccessibleIcon/index.js +2 -0
- package/dist/AccessibleIcon/types.d.ts +24 -0
- package/dist/AccessibleIcon/types.js +1 -0
- package/dist/Accordion/Accordion.d.ts +287 -0
- package/dist/Accordion/Accordion.js +330 -0
- package/dist/Accordion/AccordionContext.d.ts +3 -0
- package/dist/Accordion/AccordionContext.js +4 -0
- package/dist/Accordion/hooks/index.d.ts +6 -0
- package/dist/Accordion/hooks/index.js +6 -0
- package/dist/Accordion/hooks/useAccordionContext.d.ts +1 -0
- package/dist/Accordion/hooks/useAccordionContext.js +1 -0
- package/dist/Accordion/hooks/useAccordionHeaderContext.d.ts +1 -0
- package/dist/Accordion/hooks/useAccordionHeaderContext.js +10 -0
- package/dist/Accordion/hooks/useAccordionItem.d.ts +8 -0
- package/dist/Accordion/hooks/useAccordionItem.js +15 -0
- package/dist/Accordion/hooks/useAccordionItemContext.d.ts +1 -0
- package/dist/Accordion/hooks/useAccordionItemContext.js +1 -0
- package/dist/Accordion/hooks/useAccordionRoot.d.ts +16 -0
- package/dist/Accordion/hooks/useAccordionRoot.js +133 -0
- package/dist/Accordion/hooks/useAccordionTrigger.d.ts +298 -0
- package/dist/Accordion/hooks/useAccordionTrigger.js +73 -0
- package/dist/Accordion/index.d.ts +2 -0
- package/dist/Accordion/index.js +2 -0
- package/dist/Accordion/types.d.ts +152 -0
- package/dist/Accordion/types.js +1 -0
- package/dist/Alert/Alert.d.ts +64 -0
- package/dist/Alert/Alert.js +70 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +2 -0
- package/dist/Alert/types.d.ts +21 -0
- package/dist/Alert/types.js +1 -0
- package/dist/Avatar/Avatar.d.ts +144 -0
- package/dist/Avatar/Avatar.js +187 -0
- package/dist/Avatar/AvatarContext.d.ts +16 -0
- package/dist/Avatar/AvatarContext.js +7 -0
- package/dist/Avatar/hooks/index.d.ts +2 -0
- package/dist/Avatar/hooks/index.js +2 -0
- package/dist/Avatar/hooks/useAvatarContext.d.ts +1 -0
- package/dist/Avatar/hooks/useAvatarContext.js +1 -0
- package/dist/Avatar/hooks/useAvatarImage.d.ts +21 -0
- package/dist/Avatar/hooks/useAvatarImage.js +47 -0
- package/dist/Avatar/index.d.ts +3 -0
- package/dist/Avatar/index.js +3 -0
- package/dist/Avatar/types.d.ts +52 -0
- package/dist/Avatar/types.js +1 -0
- package/dist/Breadcrumb/Breadcrumb.d.ts +280 -0
- package/dist/Breadcrumb/Breadcrumb.js +299 -0
- package/dist/Breadcrumb/index.d.ts +2 -0
- package/dist/Breadcrumb/index.js +2 -0
- package/dist/Breadcrumb/types.d.ts +81 -0
- package/dist/Breadcrumb/types.js +1 -0
- package/dist/Button/Button.d.ts +73 -0
- package/dist/Button/Button.js +84 -0
- package/dist/Button/index.d.ts +2 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/types.d.ts +32 -0
- package/dist/Button/types.js +1 -0
- package/dist/Carousel/Carousel.d.ts +498 -0
- package/dist/Carousel/Carousel.js +660 -0
- package/dist/Carousel/CarouselContext.d.ts +7 -0
- package/dist/Carousel/CarouselContext.js +8 -0
- package/dist/Carousel/hooks/index.d.ts +5 -0
- package/dist/Carousel/hooks/index.js +5 -0
- package/dist/Carousel/hooks/useCarouselContext.d.ts +1 -0
- package/dist/Carousel/hooks/useCarouselContext.js +10 -0
- package/dist/Carousel/hooks/useCarouselLoop.d.ts +39 -0
- package/dist/Carousel/hooks/useCarouselLoop.js +735 -0
- package/dist/Carousel/hooks/useCarouselRoot.d.ts +97 -0
- package/dist/Carousel/hooks/useCarouselRoot.js +545 -0
- package/dist/Carousel/hooks/useCarouselSlide.d.ts +24 -0
- package/dist/Carousel/hooks/useCarouselSlide.js +62 -0
- package/dist/Carousel/hooks/useCarouselViewport.d.ts +46 -0
- package/dist/Carousel/hooks/useCarouselViewport.js +786 -0
- package/dist/Carousel/index.d.ts +3 -0
- package/dist/Carousel/index.js +3 -0
- package/dist/Carousel/loopEngine.d.ts +26 -0
- package/dist/Carousel/loopEngine.js +48 -0
- package/dist/Carousel/types.d.ts +783 -0
- package/dist/Carousel/types.js +1 -0
- package/dist/Checkbox/Checkbox.d.ts +120 -0
- package/dist/Checkbox/Checkbox.js +155 -0
- package/dist/Checkbox/CheckboxContext.d.ts +13 -0
- package/dist/Checkbox/CheckboxContext.js +3 -0
- package/dist/Checkbox/hooks/index.d.ts +3 -0
- package/dist/Checkbox/hooks/index.js +3 -0
- package/dist/Checkbox/hooks/useCheckboxContext.d.ts +1 -0
- package/dist/Checkbox/hooks/useCheckboxContext.js +1 -0
- package/dist/Checkbox/hooks/useCheckboxInput.d.ts +33 -0
- package/dist/Checkbox/hooks/useCheckboxInput.js +37 -0
- package/dist/Checkbox/hooks/useCheckboxRoot.d.ts +11 -0
- package/dist/Checkbox/hooks/useCheckboxRoot.js +14 -0
- package/dist/Checkbox/index.d.ts +2 -0
- package/dist/Checkbox/index.js +2 -0
- package/dist/Checkbox/types.d.ts +74 -0
- package/dist/Checkbox/types.js +1 -0
- package/dist/CheckboxCard/CheckboxCard.d.ts +132 -0
- package/dist/CheckboxCard/CheckboxCard.js +175 -0
- package/dist/CheckboxCard/CheckboxCardContext.d.ts +15 -0
- package/dist/CheckboxCard/CheckboxCardContext.js +10 -0
- package/dist/CheckboxCard/hooks/index.d.ts +2 -0
- package/dist/CheckboxCard/hooks/index.js +2 -0
- package/dist/CheckboxCard/hooks/useCheckboxCardContext.d.ts +1 -0
- package/dist/CheckboxCard/hooks/useCheckboxCardContext.js +1 -0
- package/dist/CheckboxCard/hooks/useCheckboxCardRoot.d.ts +11 -0
- package/dist/CheckboxCard/hooks/useCheckboxCardRoot.js +12 -0
- package/dist/CheckboxCard/index.d.ts +3 -0
- package/dist/CheckboxCard/index.js +3 -0
- package/dist/CheckboxCard/types.d.ts +87 -0
- package/dist/CheckboxCard/types.js +1 -0
- package/dist/Collapsible/Collapsible.d.ts +243 -0
- package/dist/Collapsible/Collapsible.js +275 -0
- package/dist/Collapsible/CollapsibleContext.d.ts +2 -0
- package/dist/Collapsible/CollapsibleContext.js +3 -0
- package/dist/Collapsible/hooks/index.d.ts +2 -0
- package/dist/Collapsible/hooks/index.js +2 -0
- package/dist/Collapsible/hooks/useCollapsibleRoot.d.ts +9 -0
- package/dist/Collapsible/hooks/useCollapsibleRoot.js +18 -0
- package/dist/Collapsible/hooks/useCollapsibleTrigger.d.ts +299 -0
- package/dist/Collapsible/hooks/useCollapsibleTrigger.js +39 -0
- package/dist/Collapsible/index.d.ts +2 -0
- package/dist/Collapsible/index.js +2 -0
- package/dist/Collapsible/types.d.ts +134 -0
- package/dist/Collapsible/types.js +1 -0
- package/dist/Combobox/Combobox.d.ts +149 -0
- package/dist/Combobox/Combobox.js +355 -0
- package/dist/Combobox/ComboboxContext.d.ts +10 -0
- package/dist/Combobox/ComboboxContext.js +13 -0
- package/dist/Combobox/hooks/index.d.ts +1 -0
- package/dist/Combobox/hooks/index.js +1 -0
- package/dist/Combobox/hooks/useComboboxRoot.d.ts +1 -0
- package/dist/Combobox/hooks/useComboboxRoot.js +1 -0
- package/dist/Combobox/index.d.ts +3 -0
- package/dist/Combobox/index.js +3 -0
- package/dist/Combobox/types.d.ts +126 -0
- package/dist/Combobox/types.js +1 -0
- package/dist/ContextMenu/ContextMenu.d.ts +508 -0
- package/dist/ContextMenu/ContextMenu.js +1005 -0
- package/dist/ContextMenu/ContextMenuContentContext.d.ts +12 -0
- package/dist/ContextMenu/ContextMenuContentContext.js +3 -0
- package/dist/ContextMenu/ContextMenuContext.d.ts +16 -0
- package/dist/ContextMenu/ContextMenuContext.js +3 -0
- package/dist/ContextMenu/ContextMenuGroupContext.d.ts +4 -0
- package/dist/ContextMenu/ContextMenuGroupContext.js +3 -0
- package/dist/ContextMenu/ContextMenuItemIndicatorContext.d.ts +4 -0
- package/dist/ContextMenu/ContextMenuItemIndicatorContext.js +3 -0
- package/dist/ContextMenu/ContextMenuRadioGroupContext.d.ts +5 -0
- package/dist/ContextMenu/ContextMenuRadioGroupContext.js +3 -0
- package/dist/ContextMenu/ContextMenuSubContext.d.ts +8 -0
- package/dist/ContextMenu/ContextMenuSubContext.js +3 -0
- package/dist/ContextMenu/constants.d.ts +2 -0
- package/dist/ContextMenu/constants.js +3 -0
- package/dist/ContextMenu/index.d.ts +2 -0
- package/dist/ContextMenu/index.js +2 -0
- package/dist/ContextMenu/types.d.ts +424 -0
- package/dist/ContextMenu/types.js +1 -0
- package/dist/DirectionProvider/DirectionContext.d.ts +15 -0
- package/dist/DirectionProvider/DirectionContext.js +18 -0
- package/dist/DirectionProvider/DirectionProvider.d.ts +57 -0
- package/dist/DirectionProvider/DirectionProvider.js +59 -0
- package/dist/DirectionProvider/index.d.ts +3 -0
- package/dist/DirectionProvider/index.js +2 -0
- package/dist/DirectionProvider/types.d.ts +34 -0
- package/dist/DirectionProvider/types.js +1 -0
- package/dist/Divider/Divider.d.ts +59 -0
- package/dist/Divider/Divider.js +60 -0
- package/dist/Divider/index.d.ts +2 -0
- package/dist/Divider/index.js +2 -0
- package/dist/Divider/types.d.ts +16 -0
- package/dist/Divider/types.js +1 -0
- package/dist/Drawer/Drawer.d.ts +268 -0
- package/dist/Drawer/Drawer.js +271 -0
- package/dist/Drawer/index.d.ts +2 -0
- package/dist/Drawer/index.js +2 -0
- package/dist/Drawer/types.d.ts +45 -0
- package/dist/Drawer/types.js +1 -0
- package/dist/Dropdown/Dropdown.d.ts +476 -0
- package/dist/Dropdown/Dropdown.js +745 -0
- package/dist/Dropdown/DropdownContentContext.d.ts +12 -0
- package/dist/Dropdown/DropdownContentContext.js +3 -0
- package/dist/Dropdown/DropdownContext.d.ts +10 -0
- package/dist/Dropdown/DropdownContext.js +3 -0
- package/dist/Dropdown/DropdownGroupContext.d.ts +4 -0
- package/dist/Dropdown/DropdownGroupContext.js +3 -0
- package/dist/Dropdown/DropdownItemIndicatorContext.d.ts +9 -0
- package/dist/Dropdown/DropdownItemIndicatorContext.js +3 -0
- package/dist/Dropdown/DropdownRadioGroupContext.d.ts +5 -0
- package/dist/Dropdown/DropdownRadioGroupContext.js +3 -0
- package/dist/Dropdown/DropdownSubContext.d.ts +8 -0
- package/dist/Dropdown/DropdownSubContext.js +3 -0
- package/dist/Dropdown/constants.d.ts +2 -0
- package/dist/Dropdown/constants.js +3 -0
- package/dist/Dropdown/hooks/index.d.ts +9 -0
- package/dist/Dropdown/hooks/index.js +9 -0
- package/dist/Dropdown/hooks/useCloseSiblingSub.d.ts +7 -0
- package/dist/Dropdown/hooks/useCloseSiblingSub.js +13 -0
- package/dist/Dropdown/hooks/useDropdownContent.d.ts +296 -0
- package/dist/Dropdown/hooks/useDropdownContent.js +149 -0
- package/dist/Dropdown/hooks/useDropdownContext.d.ts +1 -0
- package/dist/Dropdown/hooks/useDropdownContext.js +1 -0
- package/dist/Dropdown/hooks/useDropdownGroup.d.ts +294 -0
- package/dist/Dropdown/hooks/useDropdownGroup.js +12 -0
- package/dist/Dropdown/hooks/useDropdownItem.d.ts +13 -0
- package/dist/Dropdown/hooks/useDropdownItem.js +34 -0
- package/dist/Dropdown/hooks/useDropdownLabel.d.ts +292 -0
- package/dist/Dropdown/hooks/useDropdownLabel.js +8 -0
- package/dist/Dropdown/hooks/useDropdownRoot.d.ts +19 -0
- package/dist/Dropdown/hooks/useDropdownRoot.js +25 -0
- package/dist/Dropdown/hooks/useDropdownSubContext.d.ts +1 -0
- package/dist/Dropdown/hooks/useDropdownSubContext.js +1 -0
- package/dist/Dropdown/hooks/useDropdownTrigger.d.ts +302 -0
- package/dist/Dropdown/hooks/useDropdownTrigger.js +18 -0
- package/dist/Dropdown/index.d.ts +2 -0
- package/dist/Dropdown/index.js +2 -0
- package/dist/Dropdown/types.d.ts +496 -0
- package/dist/Dropdown/types.js +1 -0
- package/dist/EmptyState/EmptyState.d.ts +246 -0
- package/dist/EmptyState/EmptyState.js +268 -0
- package/dist/EmptyState/index.d.ts +2 -0
- package/dist/EmptyState/index.js +2 -0
- package/dist/EmptyState/types.d.ts +59 -0
- package/dist/EmptyState/types.js +1 -0
- package/dist/Field/Field.d.ts +178 -0
- package/dist/Field/Field.js +211 -0
- package/dist/Field/FieldContext.d.ts +15 -0
- package/dist/Field/FieldContext.js +3 -0
- package/dist/Field/hooks/index.d.ts +2 -0
- package/dist/Field/hooks/index.js +2 -0
- package/dist/Field/hooks/useFieldContext.d.ts +1 -0
- package/dist/Field/hooks/useFieldContext.js +1 -0
- package/dist/Field/hooks/useFieldProps.d.ts +25 -0
- package/dist/Field/hooks/useFieldProps.js +39 -0
- package/dist/Field/index.d.ts +2 -0
- package/dist/Field/index.js +2 -0
- package/dist/Field/types.d.ts +81 -0
- package/dist/Field/types.js +1 -0
- package/dist/Fieldset/Fieldset.d.ts +124 -0
- package/dist/Fieldset/Fieldset.js +124 -0
- package/dist/Fieldset/index.d.ts +2 -0
- package/dist/Fieldset/index.js +2 -0
- package/dist/Fieldset/types.d.ts +23 -0
- package/dist/Fieldset/types.js +1 -0
- package/dist/Input/Input.d.ts +104 -0
- package/dist/Input/Input.js +116 -0
- package/dist/Input/index.d.ts +2 -0
- package/dist/Input/index.js +2 -0
- package/dist/Input/types.d.ts +27 -0
- package/dist/Input/types.js +1 -0
- package/dist/InputGroup/InputGroup.d.ts +176 -0
- package/dist/InputGroup/InputGroup.js +205 -0
- package/dist/InputGroup/index.d.ts +2 -0
- package/dist/InputGroup/index.js +2 -0
- package/dist/InputGroup/types.d.ts +41 -0
- package/dist/InputGroup/types.js +1 -0
- package/dist/Listbox/Listbox.d.ts +231 -0
- package/dist/Listbox/Listbox.js +339 -0
- package/dist/Listbox/ListboxContext.d.ts +19 -0
- package/dist/Listbox/ListboxContext.js +25 -0
- package/dist/Listbox/constants.d.ts +2 -0
- package/dist/Listbox/constants.js +3 -0
- package/dist/Listbox/hooks/index.d.ts +1 -0
- package/dist/Listbox/hooks/index.js +1 -0
- package/dist/Listbox/hooks/useListboxRoot.d.ts +39 -0
- package/dist/Listbox/hooks/useListboxRoot.js +299 -0
- package/dist/Listbox/index.d.ts +3 -0
- package/dist/Listbox/index.js +3 -0
- package/dist/Listbox/types.d.ts +214 -0
- package/dist/Listbox/types.js +1 -0
- package/dist/MillerColumns/MillerColumns.d.ts +309 -0
- package/dist/MillerColumns/MillerColumns.js +332 -0
- package/dist/MillerColumns/MillerColumnsContext.d.ts +4 -0
- package/dist/MillerColumns/MillerColumnsContext.js +5 -0
- package/dist/MillerColumns/constants.d.ts +2 -0
- package/dist/MillerColumns/constants.js +3 -0
- package/dist/MillerColumns/hooks/index.d.ts +7 -0
- package/dist/MillerColumns/hooks/index.js +7 -0
- package/dist/MillerColumns/hooks/useMillerColumnsColumn.d.ts +8 -0
- package/dist/MillerColumns/hooks/useMillerColumnsColumn.js +16 -0
- package/dist/MillerColumns/hooks/useMillerColumnsColumnContext.d.ts +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsColumnContext.js +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsContext.d.ts +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsContext.js +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsItem.d.ts +295 -0
- package/dist/MillerColumns/hooks/useMillerColumnsItem.js +122 -0
- package/dist/MillerColumns/hooks/useMillerColumnsItemContext.d.ts +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsItemContext.js +1 -0
- package/dist/MillerColumns/hooks/useMillerColumnsResizeHandle.d.ts +290 -0
- package/dist/MillerColumns/hooks/useMillerColumnsResizeHandle.js +105 -0
- package/dist/MillerColumns/hooks/useMillerColumnsRoot.d.ts +9 -0
- package/dist/MillerColumns/hooks/useMillerColumnsRoot.js +0 -0
- package/dist/MillerColumns/index.d.ts +4 -0
- package/dist/MillerColumns/index.js +4 -0
- package/dist/MillerColumns/types.d.ts +224 -0
- package/dist/MillerColumns/types.js +1 -0
- package/dist/MillerColumns/useMillerColumnsSelection.d.ts +21 -0
- package/dist/MillerColumns/useMillerColumnsSelection.js +28 -0
- package/dist/MillerColumns/utils.d.ts +62 -0
- package/dist/MillerColumns/utils.js +102 -0
- package/dist/Modal/Modal.d.ts +331 -0
- package/dist/Modal/Modal.js +386 -0
- package/dist/Modal/ModalContext.d.ts +9 -0
- package/dist/Modal/ModalContext.js +10 -0
- package/dist/Modal/hooks/index.d.ts +4 -0
- package/dist/Modal/hooks/index.js +4 -0
- package/dist/Modal/hooks/useModalContent.d.ts +5 -0
- package/dist/Modal/hooks/useModalContent.js +94 -0
- package/dist/Modal/hooks/useModalContext.d.ts +1 -0
- package/dist/Modal/hooks/useModalContext.js +1 -0
- package/dist/Modal/hooks/useModalRoot.d.ts +11 -0
- package/dist/Modal/hooks/useModalRoot.js +39 -0
- package/dist/Modal/hooks/useModalTrigger.d.ts +297 -0
- package/dist/Modal/hooks/useModalTrigger.js +18 -0
- package/dist/Modal/index.d.ts +3 -0
- package/dist/Modal/index.js +3 -0
- package/dist/Modal/types.d.ts +186 -0
- package/dist/Modal/types.js +1 -0
- package/dist/NavigationMenu/NavigationMenu.d.ts +495 -0
- package/dist/NavigationMenu/NavigationMenu.js +645 -0
- package/dist/NavigationMenu/NavigationMenuContext.d.ts +31 -0
- package/dist/NavigationMenu/NavigationMenuContext.js +34 -0
- package/dist/NavigationMenu/constants.d.ts +4 -0
- package/dist/NavigationMenu/constants.js +5 -0
- package/dist/NavigationMenu/hooks/index.d.ts +7 -0
- package/dist/NavigationMenu/hooks/index.js +7 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuEntry.d.ts +13 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuEntry.js +21 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuIndicator.d.ts +16 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuIndicator.js +53 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuLink.d.ts +8 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuLink.js +37 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuRoot.d.ts +26 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuRoot.js +202 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuTopLevelEntry.d.ts +21 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuTopLevelEntry.js +54 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuTrigger.d.ts +16 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuTrigger.js +100 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuViewport.d.ts +21 -0
- package/dist/NavigationMenu/hooks/useNavigationMenuViewport.js +85 -0
- package/dist/NavigationMenu/index.d.ts +3 -0
- package/dist/NavigationMenu/index.js +3 -0
- package/dist/NavigationMenu/types.d.ts +236 -0
- package/dist/NavigationMenu/types.js +1 -0
- package/dist/NavigationMenu/utils.d.ts +37 -0
- package/dist/NavigationMenu/utils.js +64 -0
- package/dist/Popover/Popover.d.ts +239 -0
- package/dist/Popover/Popover.js +293 -0
- package/dist/Popover/PopoverContext.d.ts +4 -0
- package/dist/Popover/PopoverContext.js +5 -0
- package/dist/Popover/hooks/index.d.ts +3 -0
- package/dist/Popover/hooks/index.js +3 -0
- package/dist/Popover/hooks/usePopoverContent.d.ts +19 -0
- package/dist/Popover/hooks/usePopoverContent.js +83 -0
- package/dist/Popover/hooks/usePopoverRoot.d.ts +10 -0
- package/dist/Popover/hooks/usePopoverRoot.js +49 -0
- package/dist/Popover/hooks/usePopoverTrigger.d.ts +297 -0
- package/dist/Popover/hooks/usePopoverTrigger.js +19 -0
- package/dist/Popover/index.d.ts +2 -0
- package/dist/Popover/index.js +2 -0
- package/dist/Popover/types.d.ts +183 -0
- package/dist/Popover/types.js +1 -0
- package/dist/Portal/Portal.d.ts +70 -0
- package/dist/Portal/Portal.js +92 -0
- package/dist/Portal/index.d.ts +2 -0
- package/dist/Portal/index.js +2 -0
- package/dist/Portal/types.d.ts +14 -0
- package/dist/Portal/types.js +1 -0
- package/dist/Progress/Progress.d.ts +126 -0
- package/dist/Progress/Progress.js +172 -0
- package/dist/Progress/ProgressContext.d.ts +16 -0
- package/dist/Progress/ProgressContext.js +7 -0
- package/dist/Progress/hooks/index.d.ts +2 -0
- package/dist/Progress/hooks/index.js +2 -0
- package/dist/Progress/hooks/useProgressContext.d.ts +1 -0
- package/dist/Progress/hooks/useProgressContext.js +1 -0
- package/dist/Progress/hooks/useProgressRoot.d.ts +17 -0
- package/dist/Progress/hooks/useProgressRoot.js +22 -0
- package/dist/Progress/index.d.ts +3 -0
- package/dist/Progress/index.js +3 -0
- package/dist/Progress/types.d.ts +53 -0
- package/dist/Progress/types.js +1 -0
- package/dist/Radio/Radio.d.ts +128 -0
- package/dist/Radio/Radio.js +153 -0
- package/dist/Radio/RadioContext.d.ts +13 -0
- package/dist/Radio/RadioContext.js +3 -0
- package/dist/Radio/hooks/index.d.ts +2 -0
- package/dist/Radio/hooks/index.js +2 -0
- package/dist/Radio/hooks/useRadioContext.d.ts +1 -0
- package/dist/Radio/hooks/useRadioContext.js +1 -0
- package/dist/Radio/hooks/useRadioRoot.d.ts +32 -0
- package/dist/Radio/hooks/useRadioRoot.js +35 -0
- package/dist/Radio/index.d.ts +2 -0
- package/dist/Radio/index.js +2 -0
- package/dist/Radio/types.d.ts +79 -0
- package/dist/Radio/types.js +1 -0
- package/dist/RadioCard/RadioCard.d.ts +176 -0
- package/dist/RadioCard/RadioCard.js +264 -0
- package/dist/RadioCard/RadioCardContext.d.ts +21 -0
- package/dist/RadioCard/RadioCardContext.js +9 -0
- package/dist/RadioCard/RadioCardItemContext.d.ts +14 -0
- package/dist/RadioCard/RadioCardItemContext.js +10 -0
- package/dist/RadioCard/hooks/index.d.ts +3 -0
- package/dist/RadioCard/hooks/index.js +3 -0
- package/dist/RadioCard/hooks/useRadioCardContext.d.ts +1 -0
- package/dist/RadioCard/hooks/useRadioCardContext.js +1 -0
- package/dist/RadioCard/hooks/useRadioCardItemContext.d.ts +1 -0
- package/dist/RadioCard/hooks/useRadioCardItemContext.js +1 -0
- package/dist/RadioCard/hooks/useRadioCardRoot.d.ts +14 -0
- package/dist/RadioCard/hooks/useRadioCardRoot.js +42 -0
- package/dist/RadioCard/index.d.ts +4 -0
- package/dist/RadioCard/index.js +4 -0
- package/dist/RadioCard/types.d.ts +129 -0
- package/dist/RadioCard/types.js +1 -0
- package/dist/RadioGroup/RadioGroup.d.ts +192 -0
- package/dist/RadioGroup/RadioGroup.js +281 -0
- package/dist/RadioGroup/RadioGroupContext.d.ts +12 -0
- package/dist/RadioGroup/RadioGroupContext.js +3 -0
- package/dist/RadioGroup/RadioGroupItemContext.d.ts +4 -0
- package/dist/RadioGroup/RadioGroupItemContext.js +3 -0
- package/dist/RadioGroup/hooks/index.d.ts +3 -0
- package/dist/RadioGroup/hooks/index.js +3 -0
- package/dist/RadioGroup/hooks/useRadioGroupContext.d.ts +1 -0
- package/dist/RadioGroup/hooks/useRadioGroupContext.js +1 -0
- package/dist/RadioGroup/hooks/useRadioGroupItemContext.d.ts +1 -0
- package/dist/RadioGroup/hooks/useRadioGroupItemContext.js +1 -0
- package/dist/RadioGroup/hooks/useRadioGroupRoot.d.ts +14 -0
- package/dist/RadioGroup/hooks/useRadioGroupRoot.js +53 -0
- package/dist/RadioGroup/index.d.ts +2 -0
- package/dist/RadioGroup/index.js +2 -0
- package/dist/RadioGroup/types.d.ts +130 -0
- package/dist/RadioGroup/types.js +1 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +145 -0
- package/dist/SegmentedControl/SegmentedControl.js +229 -0
- package/dist/SegmentedControl/SegmentedControlContext.d.ts +14 -0
- package/dist/SegmentedControl/SegmentedControlContext.js +3 -0
- package/dist/SegmentedControl/hooks/index.d.ts +2 -0
- package/dist/SegmentedControl/hooks/index.js +2 -0
- package/dist/SegmentedControl/hooks/useSegmentedControlContext.d.ts +1 -0
- package/dist/SegmentedControl/hooks/useSegmentedControlContext.js +1 -0
- package/dist/SegmentedControl/hooks/useSegmentedControlRoot.d.ts +14 -0
- package/dist/SegmentedControl/hooks/useSegmentedControlRoot.js +45 -0
- package/dist/SegmentedControl/index.d.ts +2 -0
- package/dist/SegmentedControl/index.js +2 -0
- package/dist/SegmentedControl/types.d.ts +121 -0
- package/dist/SegmentedControl/types.js +1 -0
- package/dist/Select/Select.d.ts +390 -0
- package/dist/Select/Select.js +561 -0
- package/dist/Select/SelectContext.d.ts +31 -0
- package/dist/Select/SelectContext.js +3 -0
- package/dist/Select/SelectItemIndicatorContext.d.ts +23 -0
- package/dist/Select/SelectItemIndicatorContext.js +3 -0
- package/dist/Select/constants.d.ts +6 -0
- package/dist/Select/constants.js +7 -0
- package/dist/Select/hooks/index.d.ts +2 -0
- package/dist/Select/hooks/index.js +2 -0
- package/dist/Select/hooks/useSelectContent.d.ts +301 -0
- package/dist/Select/hooks/useSelectContent.js +134 -0
- package/dist/Select/hooks/useSelectRoot.d.ts +23 -0
- package/dist/Select/hooks/useSelectRoot.js +90 -0
- package/dist/Select/index.d.ts +2 -0
- package/dist/Select/index.js +2 -0
- package/dist/Select/types.d.ts +246 -0
- package/dist/Select/types.js +1 -0
- package/dist/SkipNav/SkipNav.d.ts +137 -0
- package/dist/SkipNav/SkipNav.js +138 -0
- package/dist/SkipNav/index.d.ts +1 -0
- package/dist/SkipNav/index.js +1 -0
- package/dist/SkipNav/types.d.ts +32 -0
- package/dist/SkipNav/types.js +1 -0
- package/dist/Slider/Slider.d.ts +189 -0
- package/dist/Slider/Slider.js +253 -0
- package/dist/Slider/SliderContext.d.ts +48 -0
- package/dist/Slider/SliderContext.js +7 -0
- package/dist/Slider/hooks/index.d.ts +3 -0
- package/dist/Slider/hooks/index.js +3 -0
- package/dist/Slider/hooks/useSliderContext.d.ts +1 -0
- package/dist/Slider/hooks/useSliderContext.js +1 -0
- package/dist/Slider/hooks/useSliderRoot.d.ts +23 -0
- package/dist/Slider/hooks/useSliderRoot.js +123 -0
- package/dist/Slider/hooks/useSliderThumb.d.ts +11 -0
- package/dist/Slider/hooks/useSliderThumb.js +57 -0
- package/dist/Slider/index.d.ts +3 -0
- package/dist/Slider/index.js +3 -0
- package/dist/Slider/types.d.ts +194 -0
- package/dist/Slider/types.js +1 -0
- package/dist/Slider/utils.d.ts +48 -0
- package/dist/Slider/utils.js +105 -0
- package/dist/Slot/Slot.d.ts +126 -0
- package/dist/Slot/Slot.js +210 -0
- package/dist/Slot/composeEventHandlers.d.ts +50 -0
- package/dist/Slot/composeEventHandlers.js +57 -0
- package/dist/Slot/index.d.ts +3 -0
- package/dist/Slot/index.js +3 -0
- package/dist/Slot/types.d.ts +20 -0
- package/dist/Slot/types.js +1 -0
- package/dist/SplitButton/SplitButton.d.ts +286 -0
- package/dist/SplitButton/SplitButton.js +343 -0
- package/dist/SplitButton/SplitButtonContext.d.ts +11 -0
- package/dist/SplitButton/SplitButtonContext.js +12 -0
- package/dist/SplitButton/index.d.ts +2 -0
- package/dist/SplitButton/index.js +1 -0
- package/dist/SplitButton/types.d.ts +161 -0
- package/dist/SplitButton/types.js +1 -0
- package/dist/Status/Status.d.ts +57 -0
- package/dist/Status/Status.js +63 -0
- package/dist/Status/index.d.ts +2 -0
- package/dist/Status/index.js +2 -0
- package/dist/Status/types.d.ts +19 -0
- package/dist/Status/types.js +1 -0
- package/dist/Switch/Switch.d.ts +122 -0
- package/dist/Switch/Switch.js +143 -0
- package/dist/Switch/SwitchContext.d.ts +12 -0
- package/dist/Switch/SwitchContext.js +7 -0
- package/dist/Switch/hooks/index.d.ts +2 -0
- package/dist/Switch/hooks/index.js +2 -0
- package/dist/Switch/hooks/useSwitchContext.d.ts +1 -0
- package/dist/Switch/hooks/useSwitchContext.js +1 -0
- package/dist/Switch/hooks/useSwitchRoot.d.ts +30 -0
- package/dist/Switch/hooks/useSwitchRoot.js +33 -0
- package/dist/Switch/index.d.ts +3 -0
- package/dist/Switch/index.js +3 -0
- package/dist/Switch/types.d.ts +83 -0
- package/dist/Switch/types.js +1 -0
- package/dist/Table/Table.d.ts +443 -0
- package/dist/Table/Table.js +494 -0
- package/dist/Table/TableExpandableContext.d.ts +2 -0
- package/dist/Table/TableExpandableContext.js +3 -0
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.js +2 -0
- package/dist/Table/types.d.ts +214 -0
- package/dist/Table/types.js +1 -0
- package/dist/Tabs/Tabs.d.ts +270 -0
- package/dist/Tabs/Tabs.js +324 -0
- package/dist/Tabs/TabsContext.d.ts +11 -0
- package/dist/Tabs/TabsContext.js +12 -0
- package/dist/Tabs/hooks/index.d.ts +4 -0
- package/dist/Tabs/hooks/index.js +4 -0
- package/dist/Tabs/hooks/useTabsContent.d.ts +10 -0
- package/dist/Tabs/hooks/useTabsContent.js +27 -0
- package/dist/Tabs/hooks/useTabsContext.d.ts +1 -0
- package/dist/Tabs/hooks/useTabsContext.js +1 -0
- package/dist/Tabs/hooks/useTabsRoot.d.ts +21 -0
- package/dist/Tabs/hooks/useTabsRoot.js +97 -0
- package/dist/Tabs/hooks/useTabsTrigger.d.ts +13 -0
- package/dist/Tabs/hooks/useTabsTrigger.js +83 -0
- package/dist/Tabs/index.d.ts +3 -0
- package/dist/Tabs/index.js +3 -0
- package/dist/Tabs/types.d.ts +139 -0
- package/dist/Tabs/types.js +1 -0
- package/dist/Tabs/utils.d.ts +4 -0
- package/dist/Tabs/utils.js +8 -0
- package/dist/Textarea/Textarea.d.ts +81 -0
- package/dist/Textarea/Textarea.js +93 -0
- package/dist/Textarea/index.d.ts +2 -0
- package/dist/Textarea/index.js +2 -0
- package/dist/Textarea/types.d.ts +27 -0
- package/dist/Textarea/types.js +1 -0
- package/dist/Toggle/Toggle.d.ts +82 -0
- package/dist/Toggle/Toggle.js +102 -0
- package/dist/Toggle/index.d.ts +2 -0
- package/dist/Toggle/index.js +2 -0
- package/dist/Toggle/types.d.ts +72 -0
- package/dist/Toggle/types.js +1 -0
- package/dist/ToggleGroup/ToggleGroup.d.ts +144 -0
- package/dist/ToggleGroup/ToggleGroup.js +227 -0
- package/dist/ToggleGroup/ToggleGroupContext.d.ts +2 -0
- package/dist/ToggleGroup/ToggleGroupContext.js +3 -0
- package/dist/ToggleGroup/hooks/index.d.ts +2 -0
- package/dist/ToggleGroup/hooks/index.js +2 -0
- package/dist/ToggleGroup/hooks/useToggleGroupContext.d.ts +1 -0
- package/dist/ToggleGroup/hooks/useToggleGroupContext.js +1 -0
- package/dist/ToggleGroup/hooks/useToggleGroupRoot.d.ts +21 -0
- package/dist/ToggleGroup/hooks/useToggleGroupRoot.js +79 -0
- package/dist/ToggleGroup/index.d.ts +2 -0
- package/dist/ToggleGroup/index.js +2 -0
- package/dist/ToggleGroup/types.d.ts +141 -0
- package/dist/ToggleGroup/types.js +1 -0
- package/dist/Tooltip/Tooltip.d.ts +231 -0
- package/dist/Tooltip/Tooltip.js +279 -0
- package/dist/Tooltip/TooltipContext.d.ts +6 -0
- package/dist/Tooltip/TooltipContext.js +7 -0
- package/dist/Tooltip/hooks/index.d.ts +4 -0
- package/dist/Tooltip/hooks/index.js +4 -0
- package/dist/Tooltip/hooks/useTooltipContent.d.ts +289 -0
- package/dist/Tooltip/hooks/useTooltipContent.js +50 -0
- package/dist/Tooltip/hooks/useTooltipProvider.d.ts +9 -0
- package/dist/Tooltip/hooks/useTooltipProvider.js +60 -0
- package/dist/Tooltip/hooks/useTooltipRoot.d.ts +6 -0
- package/dist/Tooltip/hooks/useTooltipRoot.js +100 -0
- package/dist/Tooltip/hooks/useTooltipTrigger.d.ts +299 -0
- package/dist/Tooltip/hooks/useTooltipTrigger.js +22 -0
- package/dist/Tooltip/index.d.ts +2 -0
- package/dist/Tooltip/index.js +2 -0
- package/dist/Tooltip/types.d.ts +183 -0
- package/dist/Tooltip/types.js +1 -0
- package/dist/Tree/Tree.d.ts +398 -0
- package/dist/Tree/Tree.js +536 -0
- package/dist/Tree/TreeContext.d.ts +4 -0
- package/dist/Tree/TreeContext.js +5 -0
- package/dist/Tree/hooks/index.d.ts +3 -0
- package/dist/Tree/hooks/index.js +3 -0
- package/dist/Tree/hooks/useTreeItemKeyboard.d.ts +16 -0
- package/dist/Tree/hooks/useTreeItemKeyboard.js +71 -0
- package/dist/Tree/hooks/useTreePath.d.ts +88 -0
- package/dist/Tree/hooks/useTreePath.js +96 -0
- package/dist/Tree/hooks/useTreeRoot.d.ts +19 -0
- package/dist/Tree/hooks/useTreeRoot.js +185 -0
- package/dist/Tree/index.d.ts +4 -0
- package/dist/Tree/index.js +4 -0
- package/dist/Tree/types.d.ts +269 -0
- package/dist/Tree/types.js +1 -0
- package/dist/Tree/utils.d.ts +45 -0
- package/dist/Tree/utils.js +79 -0
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +62 -0
- package/dist/VisuallyHidden/VisuallyHidden.js +83 -0
- package/dist/VisuallyHidden/index.d.ts +2 -0
- package/dist/VisuallyHidden/index.js +2 -0
- package/dist/VisuallyHidden/types.d.ts +18 -0
- package/dist/VisuallyHidden/types.js +1 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/useCollection.d.ts +50 -0
- package/dist/hooks/useCollection.js +47 -0
- package/dist/hooks/useControllableState.d.ts +50 -0
- package/dist/hooks/useControllableState.js +14 -0
- package/dist/hooks/useRovingTabindex.d.ts +106 -0
- package/dist/hooks/useRovingTabindex.js +110 -0
- package/dist/hooks/useTypeahead.d.ts +31 -0
- package/dist/hooks/useTypeahead.js +65 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +50 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.js +1 -0
- package/dist/useLocalStorage/index.d.ts +1 -0
- package/dist/useLocalStorage/index.js +1 -0
- package/dist/useLocalStorage/useLocalStorage.d.ts +46 -0
- package/dist/useLocalStorage/useLocalStorage.js +125 -0
- package/dist/useMediaQuery/index.d.ts +1 -0
- package/dist/useMediaQuery/index.js +1 -0
- package/dist/useMediaQuery/useMediaQuery.d.ts +30 -0
- package/dist/useMediaQuery/useMediaQuery.js +43 -0
- package/dist/usePagination/index.d.ts +1 -0
- package/dist/usePagination/index.js +1 -0
- package/dist/usePagination/usePagination.d.ts +163 -0
- package/dist/usePagination/usePagination.js +130 -0
- package/dist/utils/createStrictContext.d.ts +33 -0
- package/dist/utils/createStrictContext.js +47 -0
- package/dist/utils/deriveId.d.ts +25 -0
- package/dist/utils/deriveId.js +28 -0
- package/dist/utils/focusable.d.ts +8 -0
- package/dist/utils/focusable.js +16 -0
- package/dist/utils/getKeyToActionMap.d.ts +64 -0
- package/dist/utils/getKeyToActionMap.js +49 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +4 -0
- package/package.json +7 -6
- package/src/AccessibleIcon/AccessibleIcon.tsx +0 -67
- package/src/AccessibleIcon/README.md +0 -42
- package/src/AccessibleIcon/__tests__/AccessibleIcon.test.tsx +0 -52
- package/src/AccessibleIcon/index.ts +0 -2
- package/src/AccessibleIcon/types.ts +0 -25
- package/src/Accordion/Accordion.tsx +0 -455
- package/src/Accordion/AccordionContext.ts +0 -12
- package/src/Accordion/README.md +0 -202
- package/src/Accordion/__tests__/Accordion.asChild.test.tsx +0 -283
- package/src/Accordion/__tests__/Accordion.basic-rendering.test.tsx +0 -348
- package/src/Accordion/__tests__/Accordion.controlled-state.test.tsx +0 -175
- package/src/Accordion/__tests__/Accordion.data-attributes.test.tsx +0 -272
- package/src/Accordion/__tests__/Accordion.disabled-items.test.tsx +0 -353
- package/src/Accordion/__tests__/Accordion.error-handling.test.tsx +0 -152
- package/src/Accordion/__tests__/Accordion.forceMount.test.tsx +0 -119
- package/src/Accordion/__tests__/Accordion.keyboard-interaction.test.tsx +0 -736
- package/src/Accordion/__tests__/Accordion.mouse-interaction.test.tsx +0 -212
- package/src/Accordion/__tests__/Accordion.multiple-mode.test.tsx +0 -90
- package/src/Accordion/__tests__/Accordion.reading-direction.test.tsx +0 -139
- package/src/Accordion/__tests__/Accordion.uncontrolled-state.test.tsx +0 -154
- package/src/Accordion/hooks/index.ts +0 -6
- package/src/Accordion/hooks/useAccordionContext.ts +0 -1
- package/src/Accordion/hooks/useAccordionHeaderContext.ts +0 -10
- package/src/Accordion/hooks/useAccordionItem.ts +0 -22
- package/src/Accordion/hooks/useAccordionItemContext.ts +0 -1
- package/src/Accordion/hooks/useAccordionRoot.ts +0 -188
- package/src/Accordion/hooks/useAccordionTrigger.ts +0 -98
- package/src/Accordion/index.ts +0 -2
- package/src/Accordion/types.ts +0 -174
- package/src/Alert/Alert.tsx +0 -79
- package/src/Alert/README.md +0 -54
- package/src/Alert/__tests__/Alert.test.tsx +0 -33
- package/src/Alert/index.ts +0 -2
- package/src/Alert/types.ts +0 -22
- package/src/Avatar/Avatar.tsx +0 -246
- package/src/Avatar/AvatarContext.ts +0 -26
- package/src/Avatar/README.md +0 -116
- package/src/Avatar/__tests__/Avatar.asChild.test.tsx +0 -53
- package/src/Avatar/__tests__/Avatar.basic-rendering.test.tsx +0 -24
- package/src/Avatar/__tests__/Avatar.error-handling.test.tsx +0 -30
- package/src/Avatar/__tests__/Avatar.fallback.test.tsx +0 -105
- package/src/Avatar/__tests__/Avatar.image-loading.test.tsx +0 -116
- package/src/Avatar/hooks/index.ts +0 -2
- package/src/Avatar/hooks/useAvatarContext.ts +0 -1
- package/src/Avatar/hooks/useAvatarImage.ts +0 -56
- package/src/Avatar/index.ts +0 -3
- package/src/Avatar/types.ts +0 -56
- package/src/Breadcrumb/Breadcrumb.tsx +0 -374
- package/src/Breadcrumb/README.md +0 -158
- package/src/Breadcrumb/__tests__/Breadcrumb.asChild.test.tsx +0 -33
- package/src/Breadcrumb/__tests__/Breadcrumb.basic-rendering.test.tsx +0 -143
- package/src/Breadcrumb/__tests__/Breadcrumb.ellipsis.test.tsx +0 -110
- package/src/Breadcrumb/index.ts +0 -2
- package/src/Breadcrumb/types.ts +0 -88
- package/src/Button/Button.tsx +0 -100
- package/src/Button/README.md +0 -112
- package/src/Button/__tests__/Button.asChild.test.tsx +0 -91
- package/src/Button/__tests__/Button.basic-rendering.test.tsx +0 -132
- package/src/Button/__tests__/Button.contract.test.tsx +0 -72
- package/src/Button/__tests__/Button.disabled.test.tsx +0 -52
- package/src/Button/__tests__/Button.icon-usage.test.tsx +0 -57
- package/src/Button/__tests__/Button.keyboard-interaction.test.tsx +0 -70
- package/src/Button/index.ts +0 -2
- package/src/Button/types.ts +0 -33
- package/src/Carousel/Carousel.tsx +0 -972
- package/src/Carousel/CarouselContext.ts +0 -15
- package/src/Carousel/README.md +0 -1447
- package/src/Carousel/__tests__/Carousel.asChild.test.tsx +0 -178
- package/src/Carousel/__tests__/Carousel.auto-play.test.tsx +0 -617
- package/src/Carousel/__tests__/Carousel.autoplay-status.test.tsx +0 -239
- package/src/Carousel/__tests__/Carousel.basic-rendering.test.tsx +0 -569
- package/src/Carousel/__tests__/Carousel.controlled-state.test.tsx +0 -137
- package/src/Carousel/__tests__/Carousel.drag-status.test.tsx +0 -292
- package/src/Carousel/__tests__/Carousel.dynamic-slides.test.tsx +0 -38
- package/src/Carousel/__tests__/Carousel.error-handling.test.tsx +0 -81
- package/src/Carousel/__tests__/Carousel.ids.test.tsx +0 -111
- package/src/Carousel/__tests__/Carousel.imperative-api.test.tsx +0 -213
- package/src/Carousel/__tests__/Carousel.indicators.test.tsx +0 -661
- package/src/Carousel/__tests__/Carousel.infinite.test.tsx +0 -1453
- package/src/Carousel/__tests__/Carousel.instant-scroll.test.tsx +0 -124
- package/src/Carousel/__tests__/Carousel.intersection-observer.test.tsx +0 -364
- package/src/Carousel/__tests__/Carousel.keyboard-navigation.test.tsx +0 -158
- package/src/Carousel/__tests__/Carousel.loop.test.tsx +0 -163
- package/src/Carousel/__tests__/Carousel.loopEngine.test.ts +0 -77
- package/src/Carousel/__tests__/Carousel.mouse-drag.test.tsx +0 -504
- package/src/Carousel/__tests__/Carousel.multi-slide-bounds.test.tsx +0 -91
- package/src/Carousel/__tests__/Carousel.orientation.test.tsx +0 -207
- package/src/Carousel/__tests__/Carousel.overscroll.test.tsx +0 -532
- package/src/Carousel/__tests__/Carousel.page-snap-points.test.tsx +0 -50
- package/src/Carousel/__tests__/Carousel.play-pause.test.tsx +0 -232
- package/src/Carousel/__tests__/Carousel.prev-next.test.tsx +0 -68
- package/src/Carousel/__tests__/Carousel.progress-text.test.tsx +0 -76
- package/src/Carousel/__tests__/Carousel.reduced-motion.test.tsx +0 -46
- package/src/Carousel/__tests__/Carousel.refresh-progress.test.tsx +0 -84
- package/src/Carousel/__tests__/Carousel.scroll-margin.test.tsx +0 -167
- package/src/Carousel/__tests__/Carousel.scroll-progress.test.tsx +0 -518
- package/src/Carousel/__tests__/Carousel.scroll-snap-change.test.tsx +0 -200
- package/src/Carousel/__tests__/Carousel.scroll-sync.test.tsx +0 -322
- package/src/Carousel/__tests__/Carousel.scroll-to-index.test.tsx +0 -115
- package/src/Carousel/__tests__/Carousel.slide-snap.test.tsx +0 -172
- package/src/Carousel/__tests__/Carousel.slides-per-move.test.tsx +0 -329
- package/src/Carousel/__tests__/Carousel.slides-per-page.test.tsx +0 -267
- package/src/Carousel/__tests__/Carousel.snap-type.test.tsx +0 -35
- package/src/Carousel/__tests__/Carousel.ssr.test.tsx +0 -28
- package/src/Carousel/__tests__/Carousel.touch-interaction.test.tsx +0 -96
- package/src/Carousel/__tests__/Carousel.transition-modes.test.tsx +0 -95
- package/src/Carousel/__tests__/Carousel.translations.test.tsx +0 -180
- package/src/Carousel/__tests__/Carousel.uncontrolled-state.test.tsx +0 -146
- package/src/Carousel/__tests__/Carousel.wheel.test.tsx +0 -160
- package/src/Carousel/hooks/index.ts +0 -5
- package/src/Carousel/hooks/useCarouselContext.ts +0 -13
- package/src/Carousel/hooks/useCarouselLoop.ts +0 -869
- package/src/Carousel/hooks/useCarouselRoot.ts +0 -746
- package/src/Carousel/hooks/useCarouselSlide.ts +0 -80
- package/src/Carousel/hooks/useCarouselViewport.ts +0 -898
- package/src/Carousel/index.ts +0 -3
- package/src/Carousel/loopEngine.ts +0 -54
- package/src/Carousel/types.ts +0 -830
- package/src/Checkbox/Checkbox.tsx +0 -217
- package/src/Checkbox/CheckboxContext.ts +0 -20
- package/src/Checkbox/README.md +0 -137
- package/src/Checkbox/__tests__/Checkbox.basic-rendering.test.tsx +0 -93
- package/src/Checkbox/__tests__/Checkbox.contract.test.tsx +0 -106
- package/src/Checkbox/__tests__/Checkbox.controlled-state.test.tsx +0 -74
- package/src/Checkbox/__tests__/Checkbox.disabled.test.tsx +0 -45
- package/src/Checkbox/__tests__/Checkbox.form.test.tsx +0 -53
- package/src/Checkbox/__tests__/Checkbox.indeterminate.test.tsx +0 -76
- package/src/Checkbox/__tests__/Checkbox.indicator.test.tsx +0 -92
- package/src/Checkbox/__tests__/Checkbox.uncontrolled-state.test.tsx +0 -105
- package/src/Checkbox/hooks/index.ts +0 -3
- package/src/Checkbox/hooks/useCheckboxContext.ts +0 -1
- package/src/Checkbox/hooks/useCheckboxInput.ts +0 -53
- package/src/Checkbox/hooks/useCheckboxRoot.ts +0 -32
- package/src/Checkbox/index.ts +0 -2
- package/src/Checkbox/types.ts +0 -86
- package/src/CheckboxCard/CheckboxCard.tsx +0 -219
- package/src/CheckboxCard/CheckboxCardContext.ts +0 -25
- package/src/CheckboxCard/README.md +0 -114
- package/src/CheckboxCard/__tests__/CheckboxCard.asChild.test.tsx +0 -54
- package/src/CheckboxCard/__tests__/CheckboxCard.basic-rendering.test.tsx +0 -65
- package/src/CheckboxCard/__tests__/CheckboxCard.controlled-state.test.tsx +0 -77
- package/src/CheckboxCard/__tests__/CheckboxCard.disabled.test.tsx +0 -55
- package/src/CheckboxCard/__tests__/CheckboxCard.error-handling.test.tsx +0 -20
- package/src/CheckboxCard/__tests__/CheckboxCard.indeterminate.test.tsx +0 -60
- package/src/CheckboxCard/__tests__/CheckboxCard.indicator.test.tsx +0 -136
- package/src/CheckboxCard/__tests__/CheckboxCard.uncontrolled-state.test.tsx +0 -73
- package/src/CheckboxCard/hooks/index.ts +0 -2
- package/src/CheckboxCard/hooks/useCheckboxCardContext.ts +0 -1
- package/src/CheckboxCard/hooks/useCheckboxCardRoot.ts +0 -30
- package/src/CheckboxCard/index.ts +0 -3
- package/src/CheckboxCard/types.ts +0 -97
- package/src/Collapsible/Collapsible.tsx +0 -378
- package/src/Collapsible/CollapsibleContext.ts +0 -7
- package/src/Collapsible/README.md +0 -214
- package/src/Collapsible/__tests__/Collapsible.asChild.test.tsx +0 -329
- package/src/Collapsible/__tests__/Collapsible.basic-rendering.test.tsx +0 -145
- package/src/Collapsible/__tests__/Collapsible.collapsedHeight.test.tsx +0 -140
- package/src/Collapsible/__tests__/Collapsible.controlled-state.test.tsx +0 -134
- package/src/Collapsible/__tests__/Collapsible.disabled.test.tsx +0 -132
- package/src/Collapsible/__tests__/Collapsible.error-handling.test.tsx +0 -40
- package/src/Collapsible/__tests__/Collapsible.forceMount.test.tsx +0 -111
- package/src/Collapsible/__tests__/Collapsible.triggerIcon.test.tsx +0 -93
- package/src/Collapsible/__tests__/Collapsible.uncontrolled-state.test.tsx +0 -125
- package/src/Collapsible/hooks/index.ts +0 -2
- package/src/Collapsible/hooks/useCollapsibleRoot.ts +0 -34
- package/src/Collapsible/hooks/useCollapsibleTrigger.ts +0 -51
- package/src/Collapsible/index.ts +0 -2
- package/src/Collapsible/types.ts +0 -148
- package/src/Combobox/Combobox.tsx +0 -508
- package/src/Combobox/ComboboxContext.ts +0 -23
- package/src/Combobox/README.md +0 -170
- package/src/Combobox/__tests__/Combobox.asChild.test.tsx +0 -62
- package/src/Combobox/__tests__/Combobox.basic-rendering.test.tsx +0 -16
- package/src/Combobox/__tests__/Combobox.content.test.tsx +0 -36
- package/src/Combobox/__tests__/Combobox.controlled-state.test.tsx +0 -88
- package/src/Combobox/__tests__/Combobox.empty.test.tsx +0 -42
- package/src/Combobox/__tests__/Combobox.ids.test.tsx +0 -66
- package/src/Combobox/__tests__/Combobox.item.test.tsx +0 -76
- package/src/Combobox/__tests__/Combobox.keyboard-interaction.test.tsx +0 -196
- package/src/Combobox/__tests__/Combobox.light-dismiss.test.tsx +0 -101
- package/src/Combobox/__tests__/Combobox.query.test.tsx +0 -105
- package/src/Combobox/hooks/index.ts +0 -1
- package/src/Combobox/hooks/useComboboxRoot.ts +0 -2
- package/src/Combobox/index.ts +0 -3
- package/src/Combobox/types.ts +0 -133
- package/src/ContextMenu/ContextMenu.tsx +0 -1296
- package/src/ContextMenu/ContextMenuContentContext.ts +0 -15
- package/src/ContextMenu/ContextMenuContext.ts +0 -21
- package/src/ContextMenu/ContextMenuGroupContext.ts +0 -8
- package/src/ContextMenu/ContextMenuItemIndicatorContext.ts +0 -8
- package/src/ContextMenu/ContextMenuRadioGroupContext.ts +0 -9
- package/src/ContextMenu/ContextMenuSubContext.ts +0 -15
- package/src/ContextMenu/README.md +0 -275
- package/src/ContextMenu/__tests__/ContextMenu.asChild.test.tsx +0 -186
- package/src/ContextMenu/__tests__/ContextMenu.basic-rendering.test.tsx +0 -39
- package/src/ContextMenu/__tests__/ContextMenu.checkbox-item.test.tsx +0 -168
- package/src/ContextMenu/__tests__/ContextMenu.error-handling.test.tsx +0 -113
- package/src/ContextMenu/__tests__/ContextMenu.group-label.test.tsx +0 -48
- package/src/ContextMenu/__tests__/ContextMenu.item-indicator.test.tsx +0 -88
- package/src/ContextMenu/__tests__/ContextMenu.item.test.tsx +0 -106
- package/src/ContextMenu/__tests__/ContextMenu.keyboard-interaction.test.tsx +0 -227
- package/src/ContextMenu/__tests__/ContextMenu.mouse-interaction.test.tsx +0 -268
- package/src/ContextMenu/__tests__/ContextMenu.radio-item.test.tsx +0 -152
- package/src/ContextMenu/__tests__/ContextMenu.reading-direction.test.tsx +0 -152
- package/src/ContextMenu/__tests__/ContextMenu.separator.test.tsx +0 -47
- package/src/ContextMenu/__tests__/ContextMenu.state-modes.test.tsx +0 -119
- package/src/ContextMenu/__tests__/ContextMenu.sub.test.tsx +0 -407
- package/src/ContextMenu/__tests__/ContextMenu.typeahead.test.tsx +0 -134
- package/src/ContextMenu/constants.ts +0 -4
- package/src/ContextMenu/index.ts +0 -2
- package/src/ContextMenu/types.ts +0 -484
- package/src/DirectionProvider/DirectionContext.ts +0 -21
- package/src/DirectionProvider/DirectionProvider.tsx +0 -69
- package/src/DirectionProvider/README.md +0 -62
- package/src/DirectionProvider/__tests__/DirectionProvider.test.tsx +0 -34
- package/src/DirectionProvider/index.ts +0 -3
- package/src/DirectionProvider/types.ts +0 -36
- package/src/Divider/Divider.tsx +0 -74
- package/src/Divider/README.md +0 -57
- package/src/Divider/__tests__/Divider.contract.test.tsx +0 -66
- package/src/Divider/__tests__/Divider.test.tsx +0 -46
- package/src/Divider/index.ts +0 -2
- package/src/Divider/types.ts +0 -17
- package/src/Drawer/Drawer.tsx +0 -315
- package/src/Drawer/README.md +0 -124
- package/src/Drawer/__tests__/Drawer.behavior.test.tsx +0 -100
- package/src/Drawer/__tests__/Drawer.focus-trap.test.tsx +0 -55
- package/src/Drawer/__tests__/Drawer.rendering.test.tsx +0 -111
- package/src/Drawer/__tests__/Drawer.side.test.tsx +0 -69
- package/src/Drawer/__tests__/dialog-polyfill.ts +0 -39
- package/src/Drawer/index.ts +0 -2
- package/src/Drawer/types.ts +0 -66
- package/src/Dropdown/Dropdown.tsx +0 -985
- package/src/Dropdown/DropdownContentContext.ts +0 -15
- package/src/Dropdown/DropdownContext.ts +0 -17
- package/src/Dropdown/DropdownGroupContext.ts +0 -8
- package/src/Dropdown/DropdownItemIndicatorContext.ts +0 -13
- package/src/Dropdown/DropdownRadioGroupContext.ts +0 -9
- package/src/Dropdown/DropdownSubContext.ts +0 -15
- package/src/Dropdown/README.md +0 -286
- package/src/Dropdown/__tests__/Dropdown.asChild.test.tsx +0 -286
- package/src/Dropdown/__tests__/Dropdown.basic-rendering.test.tsx +0 -43
- package/src/Dropdown/__tests__/Dropdown.checkbox-item.test.tsx +0 -121
- package/src/Dropdown/__tests__/Dropdown.disabled.test.tsx +0 -143
- package/src/Dropdown/__tests__/Dropdown.error-handling.test.tsx +0 -85
- package/src/Dropdown/__tests__/Dropdown.group-label.test.tsx +0 -68
- package/src/Dropdown/__tests__/Dropdown.item-indicator.test.tsx +0 -260
- package/src/Dropdown/__tests__/Dropdown.item.test.tsx +0 -72
- package/src/Dropdown/__tests__/Dropdown.keyboard-edge-cases.test.tsx +0 -77
- package/src/Dropdown/__tests__/Dropdown.keyboard-interaction.test.tsx +0 -310
- package/src/Dropdown/__tests__/Dropdown.mouse-interaction.test.tsx +0 -347
- package/src/Dropdown/__tests__/Dropdown.radio-item.test.tsx +0 -134
- package/src/Dropdown/__tests__/Dropdown.reading-direction.test.tsx +0 -153
- package/src/Dropdown/__tests__/Dropdown.separator.test.tsx +0 -46
- package/src/Dropdown/__tests__/Dropdown.state-modes.test.tsx +0 -100
- package/src/Dropdown/__tests__/Dropdown.sub.test.tsx +0 -185
- package/src/Dropdown/__tests__/Dropdown.trigger.test.tsx +0 -110
- package/src/Dropdown/__tests__/Dropdown.typeahead.test.tsx +0 -133
- package/src/Dropdown/constants.ts +0 -4
- package/src/Dropdown/hooks/index.ts +0 -9
- package/src/Dropdown/hooks/useCloseSiblingSub.ts +0 -13
- package/src/Dropdown/hooks/useDropdownContent.ts +0 -162
- package/src/Dropdown/hooks/useDropdownContext.ts +0 -1
- package/src/Dropdown/hooks/useDropdownGroup.ts +0 -18
- package/src/Dropdown/hooks/useDropdownItem.ts +0 -49
- package/src/Dropdown/hooks/useDropdownLabel.ts +0 -15
- package/src/Dropdown/hooks/useDropdownRoot.ts +0 -57
- package/src/Dropdown/hooks/useDropdownSubContext.ts +0 -1
- package/src/Dropdown/hooks/useDropdownTrigger.ts +0 -31
- package/src/Dropdown/index.ts +0 -2
- package/src/Dropdown/types.ts +0 -558
- package/src/EmptyState/EmptyState.tsx +0 -329
- package/src/EmptyState/README.md +0 -129
- package/src/EmptyState/__tests__/EmptyState.Actions.test.tsx +0 -37
- package/src/EmptyState/__tests__/EmptyState.Description.test.tsx +0 -32
- package/src/EmptyState/__tests__/EmptyState.Media.test.tsx +0 -34
- package/src/EmptyState/__tests__/EmptyState.Root.test.tsx +0 -38
- package/src/EmptyState/__tests__/EmptyState.Title.test.tsx +0 -28
- package/src/EmptyState/index.ts +0 -2
- package/src/EmptyState/types.ts +0 -65
- package/src/Field/Field.tsx +0 -276
- package/src/Field/FieldContext.ts +0 -22
- package/src/Field/README.md +0 -167
- package/src/Field/__tests__/Field.asChild.test.tsx +0 -83
- package/src/Field/__tests__/Field.basic-rendering.test.tsx +0 -115
- package/src/Field/__tests__/Field.contract.test.tsx +0 -91
- package/src/Field/__tests__/Field.error-handling.test.tsx +0 -23
- package/src/Field/__tests__/Field.state-cascade.test.tsx +0 -96
- package/src/Field/hooks/__tests__/useFieldProps.test.tsx +0 -142
- package/src/Field/hooks/index.ts +0 -2
- package/src/Field/hooks/useFieldContext.ts +0 -1
- package/src/Field/hooks/useFieldProps.ts +0 -57
- package/src/Field/index.ts +0 -2
- package/src/Field/types.ts +0 -85
- package/src/Fieldset/Fieldset.tsx +0 -156
- package/src/Fieldset/README.md +0 -74
- package/src/Fieldset/__tests__/Fieldset.basic-rendering.test.tsx +0 -90
- package/src/Fieldset/__tests__/Fieldset.disabled.test.tsx +0 -41
- package/src/Fieldset/index.ts +0 -2
- package/src/Fieldset/types.ts +0 -25
- package/src/Input/Input.tsx +0 -128
- package/src/Input/README.md +0 -180
- package/src/Input/__tests__/Input.asChild.test.tsx +0 -85
- package/src/Input/__tests__/Input.basic-rendering.test.tsx +0 -123
- package/src/Input/__tests__/Input.contract.test.tsx +0 -77
- package/src/Input/__tests__/Input.disabled.test.tsx +0 -49
- package/src/Input/__tests__/Input.field-integration.test.tsx +0 -148
- package/src/Input/index.ts +0 -2
- package/src/Input/types.ts +0 -28
- package/src/InputGroup/InputGroup.tsx +0 -243
- package/src/InputGroup/README.md +0 -178
- package/src/InputGroup/__tests__/InputGroup.asChild.test.tsx +0 -110
- package/src/InputGroup/__tests__/InputGroup.basic-rendering.test.tsx +0 -120
- package/src/InputGroup/__tests__/InputGroup.contract.test.tsx +0 -60
- package/src/InputGroup/index.ts +0 -2
- package/src/InputGroup/types.ts +0 -43
- package/src/Listbox/Listbox.tsx +0 -475
- package/src/Listbox/ListboxContext.ts +0 -48
- package/src/Listbox/README.md +0 -248
- package/src/Listbox/__tests__/Listbox.active-descendant.test.tsx +0 -128
- package/src/Listbox/__tests__/Listbox.asChild.test.tsx +0 -91
- package/src/Listbox/__tests__/Listbox.basic-rendering.test.tsx +0 -16
- package/src/Listbox/__tests__/Listbox.controlled-state.test.tsx +0 -114
- package/src/Listbox/__tests__/Listbox.disabled.test.tsx +0 -90
- package/src/Listbox/__tests__/Listbox.fixtures.ts +0 -27
- package/src/Listbox/__tests__/Listbox.group-label.test.tsx +0 -97
- package/src/Listbox/__tests__/Listbox.group.test.tsx +0 -45
- package/src/Listbox/__tests__/Listbox.keyboard-edge-cases.test.tsx +0 -144
- package/src/Listbox/__tests__/Listbox.keyboard-interaction.test.tsx +0 -112
- package/src/Listbox/__tests__/Listbox.modifier-keys.test.tsx +0 -86
- package/src/Listbox/__tests__/Listbox.multi-select-keyboard.test.tsx +0 -368
- package/src/Listbox/__tests__/Listbox.multiple-mode.test.tsx +0 -91
- package/src/Listbox/__tests__/Listbox.mutation-hardening.test.tsx +0 -480
- package/src/Listbox/__tests__/Listbox.orientation.test.tsx +0 -59
- package/src/Listbox/__tests__/Listbox.reading-direction.test.tsx +0 -65
- package/src/Listbox/__tests__/Listbox.reorder.test.tsx +0 -78
- package/src/Listbox/__tests__/Listbox.selection-follows-focus.test.tsx +0 -64
- package/src/Listbox/__tests__/Listbox.strict-context.test.tsx +0 -21
- package/src/Listbox/__tests__/Listbox.typeahead.test.tsx +0 -123
- package/src/Listbox/__tests__/Listbox.uncontrolled-state.test.tsx +0 -48
- package/src/Listbox/constants.ts +0 -2
- package/src/Listbox/hooks/index.ts +0 -1
- package/src/Listbox/hooks/useListboxRoot.ts +0 -407
- package/src/Listbox/index.ts +0 -3
- package/src/Listbox/types.ts +0 -238
- package/src/MillerColumns/MillerColumns.tsx +0 -490
- package/src/MillerColumns/MillerColumnsContext.ts +0 -25
- package/src/MillerColumns/README.md +0 -348
- package/src/MillerColumns/__tests__/MillerColumns.aria.test.tsx +0 -127
- package/src/MillerColumns/__tests__/MillerColumns.asChild.test.tsx +0 -106
- package/src/MillerColumns/__tests__/MillerColumns.auto-scroll.test.tsx +0 -70
- package/src/MillerColumns/__tests__/MillerColumns.basic-rendering.test.tsx +0 -67
- package/src/MillerColumns/__tests__/MillerColumns.column-projection.test.tsx +0 -161
- package/src/MillerColumns/__tests__/MillerColumns.controlled-state.test.tsx +0 -90
- package/src/MillerColumns/__tests__/MillerColumns.data-attributes.test.tsx +0 -125
- package/src/MillerColumns/__tests__/MillerColumns.disabled-items.test.tsx +0 -65
- package/src/MillerColumns/__tests__/MillerColumns.error-handling.test.tsx +0 -57
- package/src/MillerColumns/__tests__/MillerColumns.fixtures.ts +0 -15
- package/src/MillerColumns/__tests__/MillerColumns.item-indicator.test.tsx +0 -57
- package/src/MillerColumns/__tests__/MillerColumns.keyboard-interaction.test.tsx +0 -214
- package/src/MillerColumns/__tests__/MillerColumns.keyboard-selection-state.test.tsx +0 -96
- package/src/MillerColumns/__tests__/MillerColumns.preview-panel.test.tsx +0 -72
- package/src/MillerColumns/__tests__/MillerColumns.preview-visibility.test.tsx +0 -79
- package/src/MillerColumns/__tests__/MillerColumns.resize.test.tsx +0 -326
- package/src/MillerColumns/__tests__/MillerColumns.roving-tabindex.test.tsx +0 -91
- package/src/MillerColumns/__tests__/MillerColumns.selection.test.tsx +0 -54
- package/src/MillerColumns/__tests__/MillerColumns.styled-parts.test.tsx +0 -143
- package/src/MillerColumns/__tests__/MillerColumns.typeahead.test.tsx +0 -104
- package/src/MillerColumns/__tests__/MillerColumns.uncontrolled-state.test.tsx +0 -70
- package/src/MillerColumns/constants.ts +0 -2
- package/src/MillerColumns/hooks/index.ts +0 -7
- package/src/MillerColumns/hooks/useMillerColumnsColumn.ts +0 -26
- package/src/MillerColumns/hooks/useMillerColumnsColumnContext.ts +0 -1
- package/src/MillerColumns/hooks/useMillerColumnsContext.ts +0 -1
- package/src/MillerColumns/hooks/useMillerColumnsItem.ts +0 -179
- package/src/MillerColumns/hooks/useMillerColumnsItemContext.ts +0 -1
- package/src/MillerColumns/hooks/useMillerColumnsResizeHandle.ts +0 -146
- package/src/MillerColumns/hooks/useMillerColumnsRoot.ts +0 -0
- package/src/MillerColumns/index.ts +0 -7
- package/src/MillerColumns/types.ts +0 -252
- package/src/MillerColumns/useMillerColumnsSelection.ts +0 -31
- package/src/MillerColumns/utils.ts +0 -141
- package/src/Modal/Modal.tsx +0 -515
- package/src/Modal/ModalContext.ts +0 -20
- package/src/Modal/README.md +0 -222
- package/src/Modal/__tests__/Modal.accessibility.test.tsx +0 -167
- package/src/Modal/__tests__/Modal.asChild.test.tsx +0 -162
- package/src/Modal/__tests__/Modal.click-outside.test.tsx +0 -115
- package/src/Modal/__tests__/Modal.content.test.tsx +0 -193
- package/src/Modal/__tests__/Modal.controlled-state.test.tsx +0 -120
- package/src/Modal/__tests__/Modal.error-handling.test.tsx +0 -30
- package/src/Modal/__tests__/Modal.escape-hatches.test.tsx +0 -99
- package/src/Modal/__tests__/Modal.focus-trap.test.tsx +0 -162
- package/src/Modal/__tests__/Modal.imperative-api.test.tsx +0 -119
- package/src/Modal/__tests__/Modal.nested.test.tsx +0 -106
- package/src/Modal/__tests__/Modal.overlay.test.tsx +0 -99
- package/src/Modal/__tests__/Modal.portal.test.tsx +0 -90
- package/src/Modal/__tests__/Modal.presence.test.tsx +0 -111
- package/src/Modal/__tests__/Modal.trigger.test.tsx +0 -70
- package/src/Modal/__tests__/Modal.uncontrolled-state.test.tsx +0 -72
- package/src/Modal/__tests__/dialog-polyfill.ts +0 -40
- package/src/Modal/hooks/index.ts +0 -4
- package/src/Modal/hooks/useModalContent.ts +0 -94
- package/src/Modal/hooks/useModalContext.ts +0 -1
- package/src/Modal/hooks/useModalRoot.ts +0 -81
- package/src/Modal/hooks/useModalTrigger.ts +0 -25
- package/src/Modal/index.ts +0 -3
- package/src/Modal/types.ts +0 -206
- package/src/NavigationMenu/NavigationMenu.tsx +0 -890
- package/src/NavigationMenu/NavigationMenuContext.ts +0 -67
- package/src/NavigationMenu/README.md +0 -355
- package/src/NavigationMenu/__tests__/NavigationMenu.anchor-positioning.test.tsx +0 -132
- package/src/NavigationMenu/__tests__/NavigationMenu.asChild.test.tsx +0 -73
- package/src/NavigationMenu/__tests__/NavigationMenu.basic-rendering.test.tsx +0 -92
- package/src/NavigationMenu/__tests__/NavigationMenu.contract.test.tsx +0 -45
- package/src/NavigationMenu/__tests__/NavigationMenu.controlled-state.test.tsx +0 -134
- package/src/NavigationMenu/__tests__/NavigationMenu.error-handling.test.tsx +0 -62
- package/src/NavigationMenu/__tests__/NavigationMenu.fixtures.tsx +0 -79
- package/src/NavigationMenu/__tests__/NavigationMenu.forceMount.test.tsx +0 -52
- package/src/NavigationMenu/__tests__/NavigationMenu.hover-interaction.test.tsx +0 -254
- package/src/NavigationMenu/__tests__/NavigationMenu.indicator.test.tsx +0 -252
- package/src/NavigationMenu/__tests__/NavigationMenu.keyboard-interaction.test.tsx +0 -294
- package/src/NavigationMenu/__tests__/NavigationMenu.keyboard-navigation.test.tsx +0 -126
- package/src/NavigationMenu/__tests__/NavigationMenu.link.test.tsx +0 -139
- package/src/NavigationMenu/__tests__/NavigationMenu.motion.test.tsx +0 -568
- package/src/NavigationMenu/__tests__/NavigationMenu.mouse-interaction.test.tsx +0 -76
- package/src/NavigationMenu/__tests__/NavigationMenu.uncontrolled-state.test.tsx +0 -30
- package/src/NavigationMenu/__tests__/NavigationMenu.viewport.test.tsx +0 -113
- package/src/NavigationMenu/constants.ts +0 -5
- package/src/NavigationMenu/hooks/index.ts +0 -7
- package/src/NavigationMenu/hooks/useNavigationMenuEntry.ts +0 -33
- package/src/NavigationMenu/hooks/useNavigationMenuIndicator.ts +0 -70
- package/src/NavigationMenu/hooks/useNavigationMenuLink.ts +0 -72
- package/src/NavigationMenu/hooks/useNavigationMenuRoot.ts +0 -301
- package/src/NavigationMenu/hooks/useNavigationMenuTopLevelEntry.ts +0 -65
- package/src/NavigationMenu/hooks/useNavigationMenuTrigger.ts +0 -158
- package/src/NavigationMenu/hooks/useNavigationMenuViewport.ts +0 -101
- package/src/NavigationMenu/index.ts +0 -3
- package/src/NavigationMenu/types.ts +0 -259
- package/src/NavigationMenu/utils.ts +0 -89
- package/src/Popover/Popover.tsx +0 -427
- package/src/Popover/PopoverContext.ts +0 -13
- package/src/Popover/README.md +0 -106
- package/src/Popover/__tests__/Popover.anchor.test.tsx +0 -38
- package/src/Popover/__tests__/Popover.asChild.test.tsx +0 -160
- package/src/Popover/__tests__/Popover.basic-rendering.test.tsx +0 -106
- package/src/Popover/__tests__/Popover.click-outside.test.tsx +0 -149
- package/src/Popover/__tests__/Popover.close.test.tsx +0 -70
- package/src/Popover/__tests__/Popover.content.test.tsx +0 -58
- package/src/Popover/__tests__/Popover.controlled-state.test.tsx +0 -45
- package/src/Popover/__tests__/Popover.error-handling.test.tsx +0 -51
- package/src/Popover/__tests__/Popover.focus.test.tsx +0 -43
- package/src/Popover/__tests__/Popover.keyboard-interaction.test.tsx +0 -71
- package/src/Popover/__tests__/Popover.mouse-interaction.test.tsx +0 -69
- package/src/Popover/__tests__/Popover.uncontrolled-state.test.tsx +0 -44
- package/src/Popover/hooks/index.ts +0 -3
- package/src/Popover/hooks/usePopoverContent.ts +0 -98
- package/src/Popover/hooks/usePopoverRoot.ts +0 -84
- package/src/Popover/hooks/usePopoverTrigger.ts +0 -33
- package/src/Popover/index.ts +0 -2
- package/src/Popover/types.ts +0 -197
- package/src/Portal/Portal.tsx +0 -70
- package/src/Portal/README.md +0 -70
- package/src/Portal/__tests__/Portal.basic-rendering.test.tsx +0 -22
- package/src/Portal/index.ts +0 -2
- package/src/Portal/types.ts +0 -15
- package/src/Progress/Progress.tsx +0 -215
- package/src/Progress/ProgressContext.ts +0 -27
- package/src/Progress/README.md +0 -112
- package/src/Progress/__tests__/Progress.asChild.test.tsx +0 -37
- package/src/Progress/__tests__/Progress.basic-rendering.test.tsx +0 -75
- package/src/Progress/__tests__/Progress.error-handling.test.tsx +0 -40
- package/src/Progress/__tests__/Progress.fixtures.ts +0 -7
- package/src/Progress/__tests__/Progress.value.test.tsx +0 -104
- package/src/Progress/hooks/index.ts +0 -2
- package/src/Progress/hooks/useProgressContext.ts +0 -1
- package/src/Progress/hooks/useProgressRoot.ts +0 -45
- package/src/Progress/index.ts +0 -3
- package/src/Progress/types.ts +0 -59
- package/src/Radio/README.md +0 -160
- package/src/Radio/Radio.tsx +0 -210
- package/src/Radio/RadioContext.ts +0 -19
- package/src/Radio/__tests__/Radio.basic-rendering.test.tsx +0 -80
- package/src/Radio/__tests__/Radio.contract.test.tsx +0 -106
- package/src/Radio/__tests__/Radio.controlled-state.test.tsx +0 -79
- package/src/Radio/__tests__/Radio.disabled.test.tsx +0 -48
- package/src/Radio/__tests__/Radio.native-grouping.test.tsx +0 -77
- package/src/Radio/__tests__/Radio.parts.test.tsx +0 -76
- package/src/Radio/__tests__/Radio.uncontrolled-state.test.tsx +0 -96
- package/src/Radio/hooks/index.ts +0 -2
- package/src/Radio/hooks/useRadioContext.ts +0 -1
- package/src/Radio/hooks/useRadioRoot.ts +0 -51
- package/src/Radio/index.ts +0 -2
- package/src/Radio/types.ts +0 -90
- package/src/RadioCard/README.md +0 -134
- package/src/RadioCard/RadioCard.tsx +0 -354
- package/src/RadioCard/RadioCardContext.ts +0 -35
- package/src/RadioCard/RadioCardItemContext.ts +0 -23
- package/src/RadioCard/__tests__/RadioCard.asChild.test.tsx +0 -76
- package/src/RadioCard/__tests__/RadioCard.basic-rendering.test.tsx +0 -95
- package/src/RadioCard/__tests__/RadioCard.controlled-state.test.tsx +0 -107
- package/src/RadioCard/__tests__/RadioCard.disabled-items.test.tsx +0 -111
- package/src/RadioCard/__tests__/RadioCard.error-handling.test.tsx +0 -35
- package/src/RadioCard/__tests__/RadioCard.indicator.test.tsx +0 -119
- package/src/RadioCard/__tests__/RadioCard.keyboard-interaction.test.tsx +0 -211
- package/src/RadioCard/__tests__/RadioCard.orientation.test.tsx +0 -90
- package/src/RadioCard/__tests__/RadioCard.reading-direction.test.tsx +0 -65
- package/src/RadioCard/__tests__/RadioCard.ref-forwarding.test.tsx +0 -54
- package/src/RadioCard/__tests__/RadioCard.uncontrolled-state.test.tsx +0 -129
- package/src/RadioCard/hooks/index.ts +0 -3
- package/src/RadioCard/hooks/useRadioCardContext.ts +0 -1
- package/src/RadioCard/hooks/useRadioCardItemContext.ts +0 -1
- package/src/RadioCard/hooks/useRadioCardRoot.ts +0 -88
- package/src/RadioCard/index.ts +0 -4
- package/src/RadioCard/types.ts +0 -145
- package/src/RadioGroup/README.md +0 -185
- package/src/RadioGroup/RadioGroup.tsx +0 -370
- package/src/RadioGroup/RadioGroupContext.ts +0 -23
- package/src/RadioGroup/RadioGroupItemContext.ts +0 -10
- package/src/RadioGroup/__tests__/RadioGroup.asChild.test.tsx +0 -105
- package/src/RadioGroup/__tests__/RadioGroup.basic-rendering.test.tsx +0 -80
- package/src/RadioGroup/__tests__/RadioGroup.controlled-state.test.tsx +0 -109
- package/src/RadioGroup/__tests__/RadioGroup.disabled-keydown-guards.test.tsx +0 -68
- package/src/RadioGroup/__tests__/RadioGroup.disabled.test.tsx +0 -106
- package/src/RadioGroup/__tests__/RadioGroup.error-handling.test.tsx +0 -33
- package/src/RadioGroup/__tests__/RadioGroup.indicator.test.tsx +0 -85
- package/src/RadioGroup/__tests__/RadioGroup.keyboard-interaction.test.tsx +0 -135
- package/src/RadioGroup/__tests__/RadioGroup.orientation.test.tsx +0 -90
- package/src/RadioGroup/__tests__/RadioGroup.reading-direction.test.tsx +0 -65
- package/src/RadioGroup/__tests__/RadioGroup.ref-forwarding.test.tsx +0 -74
- package/src/RadioGroup/__tests__/RadioGroup.roving-tabindex.test.tsx +0 -136
- package/src/RadioGroup/__tests__/RadioGroup.uncontrolled-state.test.tsx +0 -96
- package/src/RadioGroup/hooks/index.ts +0 -3
- package/src/RadioGroup/hooks/useRadioGroupContext.ts +0 -1
- package/src/RadioGroup/hooks/useRadioGroupItemContext.ts +0 -1
- package/src/RadioGroup/hooks/useRadioGroupRoot.ts +0 -98
- package/src/RadioGroup/index.ts +0 -2
- package/src/RadioGroup/types.ts +0 -146
- package/src/SegmentedControl/README.md +0 -154
- package/src/SegmentedControl/SegmentedControl.tsx +0 -309
- package/src/SegmentedControl/SegmentedControlContext.ts +0 -28
- package/src/SegmentedControl/__tests__/SegmentedControl.asChild.test.tsx +0 -50
- package/src/SegmentedControl/__tests__/SegmentedControl.basic-rendering.test.tsx +0 -100
- package/src/SegmentedControl/__tests__/SegmentedControl.controlled-state.test.tsx +0 -107
- package/src/SegmentedControl/__tests__/SegmentedControl.disabled-keydown-guards.test.tsx +0 -62
- package/src/SegmentedControl/__tests__/SegmentedControl.disabled.test.tsx +0 -151
- package/src/SegmentedControl/__tests__/SegmentedControl.error-handling.test.tsx +0 -17
- package/src/SegmentedControl/__tests__/SegmentedControl.keyboard-interaction.test.tsx +0 -117
- package/src/SegmentedControl/__tests__/SegmentedControl.orientation.test.tsx +0 -54
- package/src/SegmentedControl/__tests__/SegmentedControl.reading-direction.test.tsx +0 -56
- package/src/SegmentedControl/__tests__/SegmentedControl.ref-forwarding.test.tsx +0 -45
- package/src/SegmentedControl/__tests__/SegmentedControl.roving-tabindex.test.tsx +0 -104
- package/src/SegmentedControl/__tests__/SegmentedControl.uncontrolled-state.test.tsx +0 -94
- package/src/SegmentedControl/hooks/index.ts +0 -2
- package/src/SegmentedControl/hooks/useSegmentedControlContext.ts +0 -1
- package/src/SegmentedControl/hooks/useSegmentedControlRoot.ts +0 -87
- package/src/SegmentedControl/index.ts +0 -2
- package/src/SegmentedControl/types.ts +0 -138
- package/src/Select/README.md +0 -168
- package/src/Select/Select.tsx +0 -746
- package/src/Select/SelectContext.ts +0 -38
- package/src/Select/SelectItemIndicatorContext.ts +0 -29
- package/src/Select/__tests__/Select.asChild.test.tsx +0 -36
- package/src/Select/__tests__/Select.basic-rendering.test.tsx +0 -36
- package/src/Select/__tests__/Select.controlled-state.test.tsx +0 -69
- package/src/Select/__tests__/Select.data-attributes.test.tsx +0 -29
- package/src/Select/__tests__/Select.field-integration.test.tsx +0 -150
- package/src/Select/__tests__/Select.form.test.tsx +0 -38
- package/src/Select/__tests__/Select.group.test.tsx +0 -42
- package/src/Select/__tests__/Select.keyboard-edge.test.tsx +0 -95
- package/src/Select/__tests__/Select.keyboard.test.tsx +0 -124
- package/src/Select/__tests__/Select.mutation-hardening.test.tsx +0 -317
- package/src/Select/__tests__/Select.native-item.test.tsx +0 -30
- package/src/Select/__tests__/Select.open-close.test.tsx +0 -57
- package/src/Select/__tests__/Select.placeholder.test.tsx +0 -50
- package/src/Select/__tests__/Select.rich-asChild.test.tsx +0 -60
- package/src/Select/__tests__/Select.rich-mode.test.tsx +0 -16
- package/src/Select/__tests__/Select.selection.test.tsx +0 -104
- package/src/Select/__tests__/Select.separator.test.tsx +0 -71
- package/src/Select/__tests__/Select.strict-context.test.tsx +0 -36
- package/src/Select/__tests__/Select.typeahead.test.tsx +0 -156
- package/src/Select/__tests__/Select.value-mirror.test.tsx +0 -240
- package/src/Select/constants.ts +0 -8
- package/src/Select/hooks/index.ts +0 -2
- package/src/Select/hooks/useSelectContent.ts +0 -149
- package/src/Select/hooks/useSelectRoot.ts +0 -149
- package/src/Select/index.ts +0 -2
- package/src/Select/types.ts +0 -272
- package/src/SkipNav/README.md +0 -87
- package/src/SkipNav/SkipNav.tsx +0 -161
- package/src/SkipNav/__tests__/SkipNav.basic-rendering.test.tsx +0 -29
- package/src/SkipNav/__tests__/SkipNav.ids.test.tsx +0 -19
- package/src/SkipNav/index.ts +0 -1
- package/src/SkipNav/types.ts +0 -34
- package/src/Slider/README.md +0 -245
- package/src/Slider/Slider.tsx +0 -361
- package/src/Slider/SliderContext.ts +0 -58
- package/src/Slider/__tests__/Slider.asChild.test.tsx +0 -119
- package/src/Slider/__tests__/Slider.basic-rendering.test.tsx +0 -157
- package/src/Slider/__tests__/Slider.controlled-state.test.tsx +0 -78
- package/src/Slider/__tests__/Slider.disabled.test.tsx +0 -82
- package/src/Slider/__tests__/Slider.error-handling.test.tsx +0 -45
- package/src/Slider/__tests__/Slider.fixtures.ts +0 -53
- package/src/Slider/__tests__/Slider.form.test.tsx +0 -67
- package/src/Slider/__tests__/Slider.inverted.test.tsx +0 -112
- package/src/Slider/__tests__/Slider.keyboard-interaction.test.tsx +0 -118
- package/src/Slider/__tests__/Slider.multiple-thumbs.test.tsx +0 -84
- package/src/Slider/__tests__/Slider.orientation.test.tsx +0 -101
- package/src/Slider/__tests__/Slider.pointer-interaction.test.tsx +0 -205
- package/src/Slider/__tests__/Slider.reading-direction.test.tsx +0 -99
- package/src/Slider/__tests__/Slider.uncontrolled-state.test.tsx +0 -69
- package/src/Slider/__tests__/Slider.value-commit.test.tsx +0 -103
- package/src/Slider/hooks/index.ts +0 -3
- package/src/Slider/hooks/useSliderContext.ts +0 -1
- package/src/Slider/hooks/useSliderRoot.ts +0 -197
- package/src/Slider/hooks/useSliderThumb.ts +0 -77
- package/src/Slider/index.ts +0 -3
- package/src/Slider/types.ts +0 -205
- package/src/Slider/utils.ts +0 -155
- package/src/Slot/Slot.tsx +0 -238
- package/src/Slot/__tests__/Slot.test.tsx +0 -273
- package/src/Slot/__tests__/composeEventHandlers.test.ts +0 -74
- package/src/Slot/composeEventHandlers.ts +0 -62
- package/src/Slot/index.ts +0 -3
- package/src/Slot/types.ts +0 -21
- package/src/SplitButton/README.md +0 -225
- package/src/SplitButton/SplitButton.tsx +0 -457
- package/src/SplitButton/SplitButtonContext.ts +0 -26
- package/src/SplitButton/__tests__/SplitButton.accessibility.test.tsx +0 -55
- package/src/SplitButton/__tests__/SplitButton.asChild.test.tsx +0 -51
- package/src/SplitButton/__tests__/SplitButton.basic-rendering.test.tsx +0 -57
- package/src/SplitButton/__tests__/SplitButton.data-attributes.test.tsx +0 -28
- package/src/SplitButton/__tests__/SplitButton.disabled.test.tsx +0 -79
- package/src/SplitButton/__tests__/SplitButton.error-handling.test.tsx +0 -29
- package/src/SplitButton/__tests__/SplitButton.keyboard-interaction.test.tsx +0 -56
- package/src/SplitButton/__tests__/SplitButton.state-modes.test.tsx +0 -68
- package/src/SplitButton/index.ts +0 -2
- package/src/SplitButton/types.ts +0 -186
- package/src/Status/README.md +0 -50
- package/src/Status/Status.tsx +0 -72
- package/src/Status/__tests__/Status.test.tsx +0 -33
- package/src/Status/index.ts +0 -2
- package/src/Status/types.ts +0 -20
- package/src/Switch/README.md +0 -126
- package/src/Switch/Switch.tsx +0 -203
- package/src/Switch/SwitchContext.ts +0 -20
- package/src/Switch/__tests__/Switch.asChild.test.tsx +0 -38
- package/src/Switch/__tests__/Switch.basic-rendering.test.tsx +0 -102
- package/src/Switch/__tests__/Switch.contract.test.tsx +0 -114
- package/src/Switch/__tests__/Switch.controlled-state.test.tsx +0 -77
- package/src/Switch/__tests__/Switch.disabled.test.tsx +0 -55
- package/src/Switch/__tests__/Switch.error-handling.test.tsx +0 -20
- package/src/Switch/__tests__/Switch.form.test.tsx +0 -55
- package/src/Switch/__tests__/Switch.keyboard-interaction.test.tsx +0 -56
- package/src/Switch/__tests__/Switch.recipe.test.ts +0 -19
- package/src/Switch/__tests__/Switch.thumb.test.tsx +0 -84
- package/src/Switch/__tests__/Switch.uncontrolled-state.test.tsx +0 -118
- package/src/Switch/hooks/index.ts +0 -2
- package/src/Switch/hooks/useSwitchContext.ts +0 -1
- package/src/Switch/hooks/useSwitchRoot.ts +0 -49
- package/src/Switch/index.ts +0 -3
- package/src/Switch/types.ts +0 -95
- package/src/Table/README.md +0 -307
- package/src/Table/Table.tsx +0 -636
- package/src/Table/TableExpandableContext.ts +0 -7
- package/src/Table/__tests__/Table.Body.test.tsx +0 -61
- package/src/Table/__tests__/Table.Caption.test.tsx +0 -70
- package/src/Table/__tests__/Table.Cell.test.tsx +0 -73
- package/src/Table/__tests__/Table.DetailRow.test.tsx +0 -83
- package/src/Table/__tests__/Table.ExpandTrigger.test.tsx +0 -102
- package/src/Table/__tests__/Table.Expandable.test.tsx +0 -121
- package/src/Table/__tests__/Table.Footer.test.tsx +0 -61
- package/src/Table/__tests__/Table.Head.test.tsx +0 -61
- package/src/Table/__tests__/Table.Header.test.tsx +0 -73
- package/src/Table/__tests__/Table.Root.test.tsx +0 -49
- package/src/Table/__tests__/Table.Row.test.tsx +0 -67
- package/src/Table/__tests__/Table.ScrollArea.test.tsx +0 -83
- package/src/Table/__tests__/Table.contract.test.tsx +0 -80
- package/src/Table/index.ts +0 -2
- package/src/Table/types.ts +0 -237
- package/src/Tabs/README.md +0 -111
- package/src/Tabs/Tabs.tsx +0 -465
- package/src/Tabs/TabsContext.ts +0 -21
- package/src/Tabs/__tests__/Tabs.activation-mode.test.tsx +0 -172
- package/src/Tabs/__tests__/Tabs.asChild.test.tsx +0 -91
- package/src/Tabs/__tests__/Tabs.basic-rendering.test.tsx +0 -498
- package/src/Tabs/__tests__/Tabs.change-event-callbacks.test.tsx +0 -157
- package/src/Tabs/__tests__/Tabs.contract.test.tsx +0 -153
- package/src/Tabs/__tests__/Tabs.controlled-state.test.tsx +0 -152
- package/src/Tabs/__tests__/Tabs.disabled-tabs.test.tsx +0 -239
- package/src/Tabs/__tests__/Tabs.error-handling.test.tsx +0 -82
- package/src/Tabs/__tests__/Tabs.fixtures.ts +0 -171
- package/src/Tabs/__tests__/Tabs.imperative-api.test.tsx +0 -118
- package/src/Tabs/__tests__/Tabs.keyboard-interaction.test.tsx +0 -192
- package/src/Tabs/__tests__/Tabs.lazy-mount.test.tsx +0 -78
- package/src/Tabs/__tests__/Tabs.mouse-interaction.test.tsx +0 -216
- package/src/Tabs/__tests__/Tabs.reading-direction.test.tsx +0 -58
- package/src/Tabs/__tests__/Tabs.uncontrolled-state.test.tsx +0 -197
- package/src/Tabs/hooks/index.ts +0 -4
- package/src/Tabs/hooks/useTabsContent.ts +0 -32
- package/src/Tabs/hooks/useTabsContext.ts +0 -1
- package/src/Tabs/hooks/useTabsRoot.ts +0 -172
- package/src/Tabs/hooks/useTabsTrigger.ts +0 -116
- package/src/Tabs/index.ts +0 -3
- package/src/Tabs/types.ts +0 -166
- package/src/Tabs/utils.ts +0 -8
- package/src/Textarea/README.md +0 -98
- package/src/Textarea/Textarea.tsx +0 -104
- package/src/Textarea/__tests__/Textarea.asChild.test.tsx +0 -85
- package/src/Textarea/__tests__/Textarea.basic-rendering.test.tsx +0 -112
- package/src/Textarea/__tests__/Textarea.disabled.test.tsx +0 -49
- package/src/Textarea/__tests__/Textarea.field-integration.test.tsx +0 -134
- package/src/Textarea/index.ts +0 -2
- package/src/Textarea/types.ts +0 -28
- package/src/Toggle/README.md +0 -97
- package/src/Toggle/Toggle.tsx +0 -126
- package/src/Toggle/__tests__/Toggle.asChild.test.tsx +0 -42
- package/src/Toggle/__tests__/Toggle.basic-rendering.test.tsx +0 -33
- package/src/Toggle/__tests__/Toggle.controlled-state.test.tsx +0 -60
- package/src/Toggle/__tests__/Toggle.disabled.test.tsx +0 -34
- package/src/Toggle/__tests__/Toggle.keyboard-interaction.test.tsx +0 -42
- package/src/Toggle/__tests__/Toggle.uncontrolled-state.test.tsx +0 -40
- package/src/Toggle/index.ts +0 -2
- package/src/Toggle/types.ts +0 -77
- package/src/ToggleGroup/README.md +0 -137
- package/src/ToggleGroup/ToggleGroup.tsx +0 -321
- package/src/ToggleGroup/ToggleGroupContext.ts +0 -9
- package/src/ToggleGroup/__tests__/ToggleGroup.asChild.test.tsx +0 -85
- package/src/ToggleGroup/__tests__/ToggleGroup.basic-rendering.test.tsx +0 -59
- package/src/ToggleGroup/__tests__/ToggleGroup.disabled.test.tsx +0 -54
- package/src/ToggleGroup/__tests__/ToggleGroup.dynamic-items.test.tsx +0 -70
- package/src/ToggleGroup/__tests__/ToggleGroup.error-handling.test.tsx +0 -23
- package/src/ToggleGroup/__tests__/ToggleGroup.keyboard-interaction.test.tsx +0 -173
- package/src/ToggleGroup/__tests__/ToggleGroup.multiple-mode.test.tsx +0 -144
- package/src/ToggleGroup/__tests__/ToggleGroup.reading-direction.test.tsx +0 -28
- package/src/ToggleGroup/__tests__/ToggleGroup.ref-forwarding.test.tsx +0 -58
- package/src/ToggleGroup/__tests__/ToggleGroup.single-mode.test.tsx +0 -139
- package/src/ToggleGroup/hooks/index.ts +0 -2
- package/src/ToggleGroup/hooks/useToggleGroupContext.ts +0 -1
- package/src/ToggleGroup/hooks/useToggleGroupRoot.ts +0 -130
- package/src/ToggleGroup/index.ts +0 -2
- package/src/ToggleGroup/types.ts +0 -165
- package/src/Tooltip/README.md +0 -214
- package/src/Tooltip/Tooltip.tsx +0 -369
- package/src/Tooltip/TooltipContext.ts +0 -20
- package/src/Tooltip/__tests__/Tooltip.asChild.test.tsx +0 -77
- package/src/Tooltip/__tests__/Tooltip.basic-rendering.test.tsx +0 -230
- package/src/Tooltip/__tests__/Tooltip.controlled-state.test.tsx +0 -128
- package/src/Tooltip/__tests__/Tooltip.error-handling.test.tsx +0 -37
- package/src/Tooltip/__tests__/Tooltip.escape-hatches.test.tsx +0 -146
- package/src/Tooltip/__tests__/Tooltip.focus-interaction.test.tsx +0 -88
- package/src/Tooltip/__tests__/Tooltip.hover-interaction.test.tsx +0 -179
- package/src/Tooltip/__tests__/Tooltip.keyboard-interaction.test.tsx +0 -219
- package/src/Tooltip/__tests__/Tooltip.skip-delay.test.tsx +0 -232
- package/src/Tooltip/__tests__/Tooltip.timer-coordination.test.tsx +0 -223
- package/src/Tooltip/__tests__/Tooltip.uncontrolled-state.test.tsx +0 -67
- package/src/Tooltip/hooks/__tests__/useTooltipProvider.test.tsx +0 -40
- package/src/Tooltip/hooks/index.ts +0 -4
- package/src/Tooltip/hooks/useTooltipContent.ts +0 -56
- package/src/Tooltip/hooks/useTooltipProvider.ts +0 -79
- package/src/Tooltip/hooks/useTooltipRoot.ts +0 -130
- package/src/Tooltip/hooks/useTooltipTrigger.ts +0 -44
- package/src/Tooltip/index.ts +0 -2
- package/src/Tooltip/types.ts +0 -193
- package/src/Tree/README.md +0 -403
- package/src/Tree/Tree.tsx +0 -771
- package/src/Tree/TreeContext.ts +0 -24
- package/src/Tree/__tests__/Tree.aria.test.tsx +0 -53
- package/src/Tree/__tests__/Tree.asChild.test.tsx +0 -134
- package/src/Tree/__tests__/Tree.basic-rendering.test.tsx +0 -111
- package/src/Tree/__tests__/Tree.branch-behaviour.test.tsx +0 -87
- package/src/Tree/__tests__/Tree.controlled-expansion.test.tsx +0 -92
- package/src/Tree/__tests__/Tree.data-attributes.test.tsx +0 -88
- package/src/Tree/__tests__/Tree.disabled-items.test.tsx +0 -196
- package/src/Tree/__tests__/Tree.error-handling.test.tsx +0 -71
- package/src/Tree/__tests__/Tree.forceMount.test.tsx +0 -72
- package/src/Tree/__tests__/Tree.keyboard-interaction.test.tsx +0 -150
- package/src/Tree/__tests__/Tree.multiple-selection.test.tsx +0 -151
- package/src/Tree/__tests__/Tree.range-selection.test.tsx +0 -200
- package/src/Tree/__tests__/Tree.recursion-depth.test.tsx +0 -73
- package/src/Tree/__tests__/Tree.roving-tabindex.test.tsx +0 -117
- package/src/Tree/__tests__/Tree.selection-path.test.tsx +0 -404
- package/src/Tree/__tests__/Tree.single-selection.test.tsx +0 -108
- package/src/Tree/__tests__/Tree.styled-wrapper.test.tsx +0 -159
- package/src/Tree/__tests__/Tree.uncontrolled-expansion.test.tsx +0 -69
- package/src/Tree/hooks/index.ts +0 -3
- package/src/Tree/hooks/useTreeItemKeyboard.ts +0 -86
- package/src/Tree/hooks/useTreePath.ts +0 -100
- package/src/Tree/hooks/useTreeRoot.ts +0 -279
- package/src/Tree/index.ts +0 -8
- package/src/Tree/types.ts +0 -298
- package/src/Tree/utils.ts +0 -101
- package/src/VisuallyHidden/README.md +0 -58
- package/src/VisuallyHidden/VisuallyHidden.tsx +0 -94
- package/src/VisuallyHidden/__tests__/VisuallyHidden.test.tsx +0 -73
- package/src/VisuallyHidden/index.ts +0 -2
- package/src/VisuallyHidden/types.ts +0 -19
- package/src/hooks/index.ts +0 -4
- package/src/hooks/useCollection.ts +0 -74
- package/src/hooks/useControllableState.ts +0 -81
- package/src/hooks/useRovingTabindex.ts +0 -178
- package/src/hooks/useTypeahead.ts +0 -95
- package/src/index.ts +0 -52
- package/src/test/intersectionObserverPolyfill.ts +0 -90
- package/src/test/popoverPolyfill.ts +0 -86
- package/src/test/resizeObserverPolyfill.ts +0 -80
- package/src/test/scrollPolyfill.ts +0 -23
- package/src/types.ts +0 -14
- package/src/useLocalStorage/__tests__/useLocalStorage.reading.test.tsx +0 -31
- package/src/useLocalStorage/__tests__/useLocalStorage.resilience.test.tsx +0 -97
- package/src/useLocalStorage/__tests__/useLocalStorage.ssr.test.tsx +0 -20
- package/src/useLocalStorage/__tests__/useLocalStorage.writing.test.tsx +0 -72
- package/src/useLocalStorage/index.ts +0 -1
- package/src/useLocalStorage/useLocalStorage.ts +0 -140
- package/src/useMediaQuery/README.md +0 -66
- package/src/useMediaQuery/__tests__/useMediaQuery.matching.test.tsx +0 -42
- package/src/useMediaQuery/__tests__/useMediaQuery.ssr.test.tsx +0 -19
- package/src/useMediaQuery/__tests__/useMediaQuery.subscription.test.tsx +0 -89
- package/src/useMediaQuery/index.ts +0 -1
- package/src/useMediaQuery/useMediaQuery.ts +0 -49
- package/src/usePagination/README.md +0 -170
- package/src/usePagination/__tests__/usePagination.navigation.test.tsx +0 -109
- package/src/usePagination/__tests__/usePagination.page-count.test.tsx +0 -56
- package/src/usePagination/__tests__/usePagination.page-state.test.tsx +0 -87
- package/src/usePagination/__tests__/usePagination.range.test.tsx +0 -82
- package/src/usePagination/__tests__/usePagination.slice.test.tsx +0 -59
- package/src/usePagination/__tests__/usePagination.windowing.test.tsx +0 -68
- package/src/usePagination/index.ts +0 -1
- package/src/usePagination/usePagination.ts +0 -292
- package/src/utils/__tests__/createStrictContext.test.tsx +0 -69
- package/src/utils/__tests__/deriveId.test.ts +0 -28
- package/src/utils/__tests__/getKeyToActionMap.test.ts +0 -106
- package/src/utils/createStrictContext.ts +0 -53
- package/src/utils/deriveId.ts +0 -31
- package/src/utils/focusable.ts +0 -15
- package/src/utils/getKeyToActionMap.ts +0 -95
- package/src/utils/index.ts +0 -4
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { render, screen } from "@testing-library/react";
|
|
2
|
-
|
|
3
|
-
import { Field } from "../Field";
|
|
4
|
-
|
|
5
|
-
describe("Field basic rendering", () => {
|
|
6
|
-
it("renders a wrapper element with data-field on the root", () => {
|
|
7
|
-
// Arrange & Act
|
|
8
|
-
render(<Field.Root data-testid="field" />);
|
|
9
|
-
|
|
10
|
-
// Assert
|
|
11
|
-
const root = screen.getByTestId("field");
|
|
12
|
-
expect(root.tagName).toBe("DIV");
|
|
13
|
-
expect(root).toHaveAttribute("data-field", "");
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it("Field is callable as an alias of Field.Root", () => {
|
|
17
|
-
// Arrange & Act
|
|
18
|
-
render(<Field data-testid="field" />);
|
|
19
|
-
|
|
20
|
-
// Assert
|
|
21
|
-
expect(screen.getByTestId("field").tagName).toBe("DIV");
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it("Field.Label renders a <label> wired to an auto-generated id", () => {
|
|
25
|
-
// Arrange & Act
|
|
26
|
-
render(
|
|
27
|
-
<Field.Root>
|
|
28
|
-
<Field.Label>Email</Field.Label>
|
|
29
|
-
</Field.Root>,
|
|
30
|
-
);
|
|
31
|
-
const label = screen.getByText("Email");
|
|
32
|
-
|
|
33
|
-
// Assert
|
|
34
|
-
expect(label.tagName).toBe("LABEL");
|
|
35
|
-
expect(label).toHaveAttribute("for");
|
|
36
|
-
expect(label.getAttribute("for")).toBeTruthy();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("Field.Label uses a consumer-supplied id on Root", () => {
|
|
40
|
-
// Arrange & Act
|
|
41
|
-
render(
|
|
42
|
-
<Field.Root id="email">
|
|
43
|
-
<Field.Label>Email</Field.Label>
|
|
44
|
-
</Field.Root>,
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
// Assert
|
|
48
|
-
expect(screen.getByText("Email")).toHaveAttribute("for", "email");
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("Field.Description renders a <div> with id derived from the field id", () => {
|
|
52
|
-
// Arrange & Act
|
|
53
|
-
render(
|
|
54
|
-
<Field.Root id="email">
|
|
55
|
-
<Field.Description>We won't share it.</Field.Description>
|
|
56
|
-
</Field.Root>,
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
// Assert
|
|
60
|
-
expect(screen.getByText("We won't share it.")).toHaveAttribute(
|
|
61
|
-
"id",
|
|
62
|
-
"email-description",
|
|
63
|
-
);
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it("Field.ErrorText renders a <div role='alert'> with derived id when invalid", () => {
|
|
67
|
-
// Arrange & Act
|
|
68
|
-
render(
|
|
69
|
-
<Field.Root id="email" invalid>
|
|
70
|
-
<Field.ErrorText>Required.</Field.ErrorText>
|
|
71
|
-
</Field.Root>,
|
|
72
|
-
);
|
|
73
|
-
const error = screen.getByText("Required.");
|
|
74
|
-
|
|
75
|
-
// Assert
|
|
76
|
-
expect(error.tagName).toBe("DIV");
|
|
77
|
-
expect(error).toHaveAttribute("role", "alert");
|
|
78
|
-
expect(error).toHaveAttribute("id", "email-error");
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it("renders children inside the wrapper in source order", () => {
|
|
82
|
-
// Arrange & Act
|
|
83
|
-
render(
|
|
84
|
-
<Field.Root id="email">
|
|
85
|
-
<Field.Label>Email</Field.Label>
|
|
86
|
-
<input data-testid="input" />
|
|
87
|
-
<Field.Description>Hint.</Field.Description>
|
|
88
|
-
</Field.Root>,
|
|
89
|
-
);
|
|
90
|
-
const wrapper = screen.getByText("Email").parentElement;
|
|
91
|
-
|
|
92
|
-
// Assert
|
|
93
|
-
expect(wrapper).toContainElement(screen.getByTestId("input"));
|
|
94
|
-
expect(wrapper).toContainElement(screen.getByText("Hint."));
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it("passes className and data-* through on the Root", () => {
|
|
98
|
-
// Arrange & Act
|
|
99
|
-
render(<Field.Root className="form-field" data-testid="field" />);
|
|
100
|
-
|
|
101
|
-
// Assert
|
|
102
|
-
expect(screen.getByTestId("field")).toHaveClass("form-field");
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
it("sets a displayName on the compound and each sub-component", () => {
|
|
106
|
-
// Assert — empty displayNames would render each as anonymous in DevTools.
|
|
107
|
-
// `Field`, `Field.Root`, and the underlying function are one object
|
|
108
|
-
// (Object.assign compound), so the compound's "Field" alias is the
|
|
109
|
-
// observable Root displayName; the sub-components are distinct objects.
|
|
110
|
-
expect(Field.displayName).toBe("Field");
|
|
111
|
-
expect(Field.Label.displayName).toBe("FieldLabel");
|
|
112
|
-
expect(Field.Description.displayName).toBe("FieldDescription");
|
|
113
|
-
expect(Field.ErrorText.displayName).toBe("FieldErrorText");
|
|
114
|
-
});
|
|
115
|
-
});
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { dirname, resolve } from "node:path";
|
|
4
|
-
|
|
5
|
-
import { render } from "@testing-library/react";
|
|
6
|
-
|
|
7
|
-
import { Field } from "../Field";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Auto-verification of the Field styling contract (RFC 0004 §3.4 / D15). The
|
|
11
|
-
* `data-*` half of `registry/components/field/contract.json` is *derived from and
|
|
12
|
-
* asserted against the rendered headless `Field.Root`* so it can never drift from
|
|
13
|
-
* what the component emits. The root always carries `data-field`, plus
|
|
14
|
-
* `data-field-invalid` / `data-field-disabled` / `data-field-required` when the
|
|
15
|
-
* matching flag is set. The authored half (part classes, custom properties) is a
|
|
16
|
-
* styling convention the headless layer does not emit and is checked by the
|
|
17
|
-
* generator drift-guards instead.
|
|
18
|
-
*/
|
|
19
|
-
const contractPath = resolve(
|
|
20
|
-
dirname(fileURLToPath(import.meta.url)),
|
|
21
|
-
"../../../../../registry/components/field/contract.json",
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
const contract = JSON.parse(readFileSync(contractPath, "utf8"));
|
|
25
|
-
|
|
26
|
-
/** Every `data-*` attribute name present on an element. */
|
|
27
|
-
function dataAttributeNames(element: Element): string[] {
|
|
28
|
-
return [...element.attributes]
|
|
29
|
-
.map((attribute) => attribute.name)
|
|
30
|
-
.filter((name) => name.startsWith("data-"))
|
|
31
|
-
.sort();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/** Render a `Field.Root` with the given flags and return its `[data-field]` element. */
|
|
35
|
-
function renderRoot(props: Record<string, boolean>): Element {
|
|
36
|
-
const { container } = render(<Field.Root {...props} />);
|
|
37
|
-
return container.querySelector("[data-field]")!;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
describe("Field styling contract", () => {
|
|
41
|
-
const autoAttributes = contract.dataAttributes.filter(
|
|
42
|
-
(attribute: { source: string }) => attribute.source === "auto",
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
it("declares every data-* attribute as auto-verified against the component", () => {
|
|
46
|
-
// The Field has no authored data-* surface; the whole contract is derived.
|
|
47
|
-
expect(autoAttributes).toHaveLength(contract.dataAttributes.length);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("emits exactly the contracted data-* attribute names across its states", () => {
|
|
51
|
-
const emitted = new Set<string>();
|
|
52
|
-
const states: Record<string, boolean>[] = [
|
|
53
|
-
{},
|
|
54
|
-
{ invalid: true, disabled: true, required: true },
|
|
55
|
-
];
|
|
56
|
-
for (const props of states) {
|
|
57
|
-
for (const name of dataAttributeNames(renderRoot(props))) {
|
|
58
|
-
emitted.add(name);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const contracted = new Set(
|
|
63
|
-
autoAttributes.map((attribute: { name: string }) => attribute.name),
|
|
64
|
-
);
|
|
65
|
-
expect([...emitted].sort()).toEqual([...contracted].sort());
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it("always emits data-field regardless of state", () => {
|
|
69
|
-
expect(renderRoot({})).toHaveAttribute("data-field", "");
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it("emits each conditional attribute exactly as the contract documents it", () => {
|
|
73
|
-
const conditional = autoAttributes.filter(
|
|
74
|
-
(attribute: { when: string }) => attribute.when !== "always",
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
for (const entry of conditional) {
|
|
78
|
-
const root = renderRoot({ [entry.when]: true });
|
|
79
|
-
expect(root).toHaveAttribute(entry.name, entry.value);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it("omits each conditional attribute when its flag is not set", () => {
|
|
84
|
-
const root = renderRoot({});
|
|
85
|
-
for (const entry of autoAttributes.filter(
|
|
86
|
-
(attribute: { when: string }) => attribute.when !== "always",
|
|
87
|
-
)) {
|
|
88
|
-
expect(root).not.toHaveAttribute(entry.name);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { render } from "@testing-library/react";
|
|
2
|
-
|
|
3
|
-
import { Field } from "../Field";
|
|
4
|
-
import { FieldContext } from "../FieldContext";
|
|
5
|
-
|
|
6
|
-
describe("Field error handling", () => {
|
|
7
|
-
it("throws a helpful error when a sub-component is rendered outside Root", () => {
|
|
8
|
-
// Arrange
|
|
9
|
-
const error = vi.spyOn(console, "error").mockImplementation(() => {});
|
|
10
|
-
|
|
11
|
-
// Assert
|
|
12
|
-
expect(() => render(<Field.Label>Email</Field.Label>)).toThrow(
|
|
13
|
-
/Field sub-components must be rendered inside a <Field\.Root>/,
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
error.mockRestore();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it("names the context for React DevTools", () => {
|
|
20
|
-
// Assert — an empty displayName would render the provider as anonymous.
|
|
21
|
-
expect(FieldContext.displayName).toBe("FieldContext");
|
|
22
|
-
});
|
|
23
|
-
});
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { render, screen } from "@testing-library/react";
|
|
2
|
-
|
|
3
|
-
import { Field } from "../Field";
|
|
4
|
-
|
|
5
|
-
describe("Field state cascade", () => {
|
|
6
|
-
it("sets data-field-invalid='' on the root when invalid", () => {
|
|
7
|
-
// Arrange & Act
|
|
8
|
-
render(<Field.Root data-testid="field" invalid />);
|
|
9
|
-
|
|
10
|
-
// Assert
|
|
11
|
-
expect(screen.getByTestId("field")).toHaveAttribute(
|
|
12
|
-
"data-field-invalid",
|
|
13
|
-
"",
|
|
14
|
-
);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it("sets data-field-disabled='' on the root when disabled", () => {
|
|
18
|
-
// Arrange & Act
|
|
19
|
-
render(<Field.Root data-testid="field" disabled />);
|
|
20
|
-
|
|
21
|
-
// Assert
|
|
22
|
-
expect(screen.getByTestId("field")).toHaveAttribute(
|
|
23
|
-
"data-field-disabled",
|
|
24
|
-
"",
|
|
25
|
-
);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("sets data-field-required='' on the root when required", () => {
|
|
29
|
-
// Arrange & Act
|
|
30
|
-
render(<Field.Root data-testid="field" required />);
|
|
31
|
-
|
|
32
|
-
// Assert
|
|
33
|
-
expect(screen.getByTestId("field")).toHaveAttribute(
|
|
34
|
-
"data-field-required",
|
|
35
|
-
"",
|
|
36
|
-
);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("does not set state data-* attributes when the corresponding flag is false", () => {
|
|
40
|
-
// Arrange & Act
|
|
41
|
-
render(<Field.Root data-testid="field" />);
|
|
42
|
-
const root = screen.getByTestId("field");
|
|
43
|
-
|
|
44
|
-
// Assert
|
|
45
|
-
expect(root).not.toHaveAttribute("data-field-invalid");
|
|
46
|
-
expect(root).not.toHaveAttribute("data-field-disabled");
|
|
47
|
-
expect(root).not.toHaveAttribute("data-field-required");
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("Field.ErrorText returns null when invalid=false", () => {
|
|
51
|
-
// Arrange & Act
|
|
52
|
-
render(
|
|
53
|
-
<Field.Root>
|
|
54
|
-
<Field.ErrorText>You should not see this.</Field.ErrorText>
|
|
55
|
-
</Field.Root>,
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
// Assert
|
|
59
|
-
expect(
|
|
60
|
-
screen.queryByText("You should not see this."),
|
|
61
|
-
).not.toBeInTheDocument();
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it("Field.ErrorText renders when invalid=true", () => {
|
|
65
|
-
// Arrange & Act
|
|
66
|
-
render(
|
|
67
|
-
<Field.Root invalid>
|
|
68
|
-
<Field.ErrorText>Required.</Field.ErrorText>
|
|
69
|
-
</Field.Root>,
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
// Assert
|
|
73
|
-
expect(screen.getByText("Required.")).toBeInTheDocument();
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it("re-derives the cascaded context when a flag changes after mount", () => {
|
|
77
|
-
// Arrange — a valid field: the error is gated off.
|
|
78
|
-
const { rerender } = render(
|
|
79
|
-
<Field.Root>
|
|
80
|
-
<Field.ErrorText>Required.</Field.ErrorText>
|
|
81
|
-
</Field.Root>,
|
|
82
|
-
);
|
|
83
|
-
expect(screen.queryByText("Required.")).not.toBeInTheDocument();
|
|
84
|
-
|
|
85
|
-
// Act — flip to invalid; the memoised context value must recompute.
|
|
86
|
-
rerender(
|
|
87
|
-
<Field.Root invalid>
|
|
88
|
-
<Field.ErrorText>Required.</Field.ErrorText>
|
|
89
|
-
</Field.Root>,
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
// Assert — a frozen memo (empty dependency array) would leave the error
|
|
93
|
-
// gated off; the recomputed context reveals it.
|
|
94
|
-
expect(screen.getByText("Required.")).toBeInTheDocument();
|
|
95
|
-
});
|
|
96
|
-
});
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { render, screen } from "@testing-library/react";
|
|
2
|
-
|
|
3
|
-
import { FieldContext, type FieldContextValue } from "../../FieldContext";
|
|
4
|
-
import { useFieldProps } from "../useFieldProps";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* `useFieldProps` is a reusable hook that reads {@link FieldContext} directly,
|
|
8
|
-
* so it is exercised here against a hand-built provider value (and, for the
|
|
9
|
-
* no-context path, no provider at all) rather than the full `Field.Root` —
|
|
10
|
-
* always through a real component that consumes it. `Field.Root` always
|
|
11
|
-
* supplies a truthy `descriptionId`, so its defensive "nothing to describe"
|
|
12
|
-
* fallback is only reachable through a custom provider like the one below.
|
|
13
|
-
*/
|
|
14
|
-
type ProbeProps = {
|
|
15
|
-
id?: string;
|
|
16
|
-
disabled?: boolean;
|
|
17
|
-
required?: boolean;
|
|
18
|
-
"aria-invalid"?: boolean | "true" | "false";
|
|
19
|
-
"aria-describedby"?: string;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
function Probe(props: ProbeProps) {
|
|
23
|
-
const merged = useFieldProps(props);
|
|
24
|
-
return <input data-testid="probe" {...merged} />;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function renderInField(field: Partial<FieldContextValue>, props: ProbeProps = {}) {
|
|
28
|
-
const value: FieldContextValue = {
|
|
29
|
-
id: "f",
|
|
30
|
-
descriptionId: "",
|
|
31
|
-
errorId: "",
|
|
32
|
-
invalid: false,
|
|
33
|
-
disabled: false,
|
|
34
|
-
required: false,
|
|
35
|
-
...field,
|
|
36
|
-
};
|
|
37
|
-
return render(
|
|
38
|
-
<FieldContext.Provider value={value}>
|
|
39
|
-
<Probe {...props} />
|
|
40
|
-
</FieldContext.Provider>,
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
describe("useFieldProps without a FieldContext", () => {
|
|
45
|
-
it("returns the consumer props unchanged when no provider is in scope", () => {
|
|
46
|
-
// Arrange & Act — no <FieldContext.Provider>: the early guard must fire.
|
|
47
|
-
render(<Probe id="consumer-id" aria-invalid="true" />);
|
|
48
|
-
const probe = screen.getByTestId("probe");
|
|
49
|
-
|
|
50
|
-
// Assert — consumer props survive untouched and no field wiring is added.
|
|
51
|
-
expect(probe).toHaveAttribute("id", "consumer-id");
|
|
52
|
-
expect(probe).toHaveAttribute("aria-invalid", "true");
|
|
53
|
-
expect(probe).not.toHaveAttribute("aria-describedby");
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
describe("useFieldProps inheriting from the field", () => {
|
|
58
|
-
it("adopts the field's id, disabled, required, and invalid state when the consumer omits them", () => {
|
|
59
|
-
// Arrange & Act
|
|
60
|
-
renderInField(
|
|
61
|
-
{
|
|
62
|
-
id: "field-id",
|
|
63
|
-
descriptionId: "field-desc",
|
|
64
|
-
errorId: "field-err",
|
|
65
|
-
invalid: true,
|
|
66
|
-
disabled: true,
|
|
67
|
-
required: true,
|
|
68
|
-
},
|
|
69
|
-
{},
|
|
70
|
-
);
|
|
71
|
-
const probe = screen.getByTestId("probe");
|
|
72
|
-
|
|
73
|
-
// Assert — every value falls back to the field.
|
|
74
|
-
expect(probe).toHaveAttribute("id", "field-id");
|
|
75
|
-
expect(probe).toBeDisabled();
|
|
76
|
-
expect(probe).toBeRequired();
|
|
77
|
-
expect(probe).toHaveAttribute("aria-invalid", "true");
|
|
78
|
-
expect(probe).toHaveAttribute("aria-describedby", "field-desc field-err");
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it("omits aria-invalid entirely when the field is valid and the consumer is silent", () => {
|
|
82
|
-
// Arrange & Act
|
|
83
|
-
renderInField({ invalid: false }, {});
|
|
84
|
-
|
|
85
|
-
// Assert — a valid field contributes no aria-invalid, so the attribute is
|
|
86
|
-
// absent rather than rendered as aria-invalid="false".
|
|
87
|
-
expect(screen.getByTestId("probe")).not.toHaveAttribute("aria-invalid");
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
describe("useFieldProps with consumer overrides", () => {
|
|
92
|
-
it("lets consumer id, disabled, required, and aria-invalid win over the field", () => {
|
|
93
|
-
// Arrange & Act — field would contribute the opposite of each override.
|
|
94
|
-
renderInField(
|
|
95
|
-
{
|
|
96
|
-
id: "field-id",
|
|
97
|
-
invalid: false,
|
|
98
|
-
disabled: false,
|
|
99
|
-
required: false,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
id: "consumer-id",
|
|
103
|
-
disabled: true,
|
|
104
|
-
required: true,
|
|
105
|
-
"aria-invalid": "true",
|
|
106
|
-
},
|
|
107
|
-
);
|
|
108
|
-
const probe = screen.getByTestId("probe");
|
|
109
|
-
|
|
110
|
-
// Assert — the consumer's explicit values are preserved.
|
|
111
|
-
expect(probe).toHaveAttribute("id", "consumer-id");
|
|
112
|
-
expect(probe).toBeDisabled();
|
|
113
|
-
expect(probe).toBeRequired();
|
|
114
|
-
expect(probe).toHaveAttribute("aria-invalid", "true");
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
describe("useFieldProps aria-describedby composition", () => {
|
|
119
|
-
it("omits aria-describedby entirely when nothing contributes an id", () => {
|
|
120
|
-
// Arrange & Act — empty description/error ids, not invalid, no consumer id.
|
|
121
|
-
renderInField({});
|
|
122
|
-
|
|
123
|
-
// Assert — the empty join collapses to undefined, so the attribute is absent
|
|
124
|
-
// rather than rendered as aria-describedby="".
|
|
125
|
-
expect(screen.getByTestId("probe")).not.toHaveAttribute("aria-describedby");
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
it("prepends the consumer's ids ahead of the field's, space-separated", () => {
|
|
129
|
-
// Arrange & Act — a valid field so the errorId does not join in.
|
|
130
|
-
renderInField(
|
|
131
|
-
{ descriptionId: "field-desc", errorId: "field-err", invalid: false },
|
|
132
|
-
{ "aria-describedby": "consumer-desc" },
|
|
133
|
-
);
|
|
134
|
-
|
|
135
|
-
// Assert — consumer id first, then the field's descriptionId; the errorId is
|
|
136
|
-
// excluded while valid.
|
|
137
|
-
expect(screen.getByTestId("probe")).toHaveAttribute(
|
|
138
|
-
"aria-describedby",
|
|
139
|
-
"consumer-desc field-desc",
|
|
140
|
-
);
|
|
141
|
-
});
|
|
142
|
-
});
|
package/src/Field/hooks/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useFieldContext } from "../FieldContext";
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { useContext } from "react";
|
|
2
|
-
|
|
3
|
-
import { FieldContext } from "../FieldContext";
|
|
4
|
-
|
|
5
|
-
type FieldAwareProps = {
|
|
6
|
-
id?: string;
|
|
7
|
-
"aria-describedby"?: string;
|
|
8
|
-
"aria-invalid"?:
|
|
9
|
-
| boolean
|
|
10
|
-
| "true"
|
|
11
|
-
| "false"
|
|
12
|
-
| "grammar"
|
|
13
|
-
| "spelling"
|
|
14
|
-
| undefined;
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
required?: boolean;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Merges consumer-supplied props with any {@link FieldContext} available
|
|
21
|
-
* higher in the tree. Use it inside form controls (Input, Textarea,
|
|
22
|
-
* Select, ...) so they automatically inherit the field's id, aria
|
|
23
|
-
* wiring, and `disabled` / `required` cascade when nested inside
|
|
24
|
-
* `<Field.Root>`.
|
|
25
|
-
*
|
|
26
|
-
* **Merge rules**
|
|
27
|
-
* - `id`, `disabled`, `required`, `aria-invalid`: consumer wins; the
|
|
28
|
-
* field provides the fallback.
|
|
29
|
-
* - `aria-describedby`: composes — consumer-supplied ids come first,
|
|
30
|
-
* then the field's `descriptionId`, then the `errorId` when invalid.
|
|
31
|
-
*
|
|
32
|
-
* When no FieldContext is in scope the consumer props are returned
|
|
33
|
-
* unchanged, so existing usage outside a `<Field.Root>` is unaffected.
|
|
34
|
-
*/
|
|
35
|
-
export function useFieldProps<P extends FieldAwareProps>(consumerProps: P): P {
|
|
36
|
-
const field = useContext(FieldContext);
|
|
37
|
-
if (!field) return consumerProps;
|
|
38
|
-
|
|
39
|
-
const composedDescribedBy =
|
|
40
|
-
[
|
|
41
|
-
consumerProps["aria-describedby"],
|
|
42
|
-
field.descriptionId,
|
|
43
|
-
field.invalid ? field.errorId : null,
|
|
44
|
-
]
|
|
45
|
-
.filter(Boolean)
|
|
46
|
-
.join(" ") || undefined;
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
...consumerProps,
|
|
50
|
-
id: consumerProps.id ?? field.id,
|
|
51
|
-
disabled: consumerProps.disabled ?? field.disabled,
|
|
52
|
-
required: consumerProps.required ?? field.required,
|
|
53
|
-
"aria-invalid":
|
|
54
|
-
consumerProps["aria-invalid"] ?? (field.invalid || undefined),
|
|
55
|
-
"aria-describedby": composedDescribedBy,
|
|
56
|
-
};
|
|
57
|
-
}
|
package/src/Field/index.ts
DELETED
package/src/Field/types.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { ComponentProps, ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Props for {@link FieldRoot | `Field.Root`} — the wrapper that owns the
|
|
5
|
-
* shared field id, derived `descriptionId` / `errorId`, and the
|
|
6
|
-
* `invalid` / `disabled` / `required` cascade. Extends the native
|
|
7
|
-
* `<div>` props; `id` is redeclared purely to document its role as the
|
|
8
|
-
* field-wide id (its type is unchanged from the native attribute).
|
|
9
|
-
*/
|
|
10
|
-
export type FieldRootProps = ComponentProps<"div"> & {
|
|
11
|
-
/** Stable id for the field. Wired to the control via
|
|
12
|
-
* {@link FieldLabel | `Field.Label`}'s `htmlFor`, and used to derive
|
|
13
|
-
* the `descriptionId` (`<id>-description`) and `errorId`
|
|
14
|
-
* (`<id>-error`) exposed through {@link FieldContext}. Auto-generated
|
|
15
|
-
* via React's `useId` when omitted. */
|
|
16
|
-
id?: string;
|
|
17
|
-
/** Marks the field invalid. Cascades to a context-aware control (e.g.
|
|
18
|
-
* `Input`) as `aria-invalid`, sets `data-field-invalid` on the
|
|
19
|
-
* wrapper, and gates {@link FieldErrorText | `Field.ErrorText`}
|
|
20
|
-
* rendering.
|
|
21
|
-
* @default false */
|
|
22
|
-
invalid?: boolean;
|
|
23
|
-
/** Disables the field. Cascades to the control's `disabled` prop and
|
|
24
|
-
* sets `data-field-disabled` on the wrapper.
|
|
25
|
-
* @default false */
|
|
26
|
-
disabled?: boolean;
|
|
27
|
-
/** Marks the field required. Cascades to the control's `required` prop
|
|
28
|
-
* and sets `data-field-required` on the wrapper.
|
|
29
|
-
* @default false */
|
|
30
|
-
required?: boolean;
|
|
31
|
-
/** Render the consumer's element instead of `<div>` via the
|
|
32
|
-
* {@link Slot} pattern — e.g. a semantic `<fieldset>`. The
|
|
33
|
-
* `data-field-*` hooks and context provider are preserved.
|
|
34
|
-
* @default false */
|
|
35
|
-
asChild?: boolean;
|
|
36
|
-
/** The label, control, description, and error sub-components composed
|
|
37
|
-
* inside the field. */
|
|
38
|
-
children?: ReactNode;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Props for {@link FieldLabel | `Field.Label`} — the field's `<label>`,
|
|
43
|
-
* wired to the field id via `htmlFor`. Extends the native `<label>`
|
|
44
|
-
* props.
|
|
45
|
-
*/
|
|
46
|
-
export type FieldLabelProps = ComponentProps<"label"> & {
|
|
47
|
-
/** Render the consumer's element instead of `<label>` via the
|
|
48
|
-
* {@link Slot} pattern, with `htmlFor` merged on.
|
|
49
|
-
* @default false */
|
|
50
|
-
asChild?: boolean;
|
|
51
|
-
/** The label text. */
|
|
52
|
-
children?: ReactNode;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Props for {@link FieldDescription | `Field.Description`} — the field's
|
|
57
|
-
* supporting helper text, carrying the field's `descriptionId` so a
|
|
58
|
-
* context-aware control can reference it via `aria-describedby`. Extends
|
|
59
|
-
* the native `<div>` props.
|
|
60
|
-
*/
|
|
61
|
-
export type FieldDescriptionProps = ComponentProps<"div"> & {
|
|
62
|
-
/** Render the consumer's element instead of `<div>` via the
|
|
63
|
-
* {@link Slot} pattern (e.g. a `<p>` or `<span>`), with the derived
|
|
64
|
-
* `id` merged on.
|
|
65
|
-
* @default false */
|
|
66
|
-
asChild?: boolean;
|
|
67
|
-
/** The helper text. */
|
|
68
|
-
children?: ReactNode;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Props for {@link FieldErrorText | `Field.ErrorText`} — the error
|
|
73
|
-
* message shown only when the field is
|
|
74
|
-
* {@link FieldRootProps.invalid | invalid}. Renders `role="alert"` and
|
|
75
|
-
* carries the field's `errorId`. Extends the native `<div>` props.
|
|
76
|
-
*/
|
|
77
|
-
export type FieldErrorTextProps = ComponentProps<"div"> & {
|
|
78
|
-
/** Render the consumer's element instead of `<div>` via the
|
|
79
|
-
* {@link Slot} pattern, with the derived `id` and `role="alert"`
|
|
80
|
-
* merged on.
|
|
81
|
-
* @default false */
|
|
82
|
-
asChild?: boolean;
|
|
83
|
-
/** The error message. */
|
|
84
|
-
children?: ReactNode;
|
|
85
|
-
};
|