@astryxdesign/core 0.2.0 → 0.3.0-canary.041a0ef
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/CHANGELOG.md +110 -0
- package/README.md +5 -3
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.js +1 -1
- package/dist/AppShell/AppShell.d.ts +2 -20
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +25 -18
- package/dist/AppShell/index.d.ts +20 -1
- package/dist/AppShell/index.d.ts.map +1 -1
- package/dist/AppShell/index.js +14 -0
- package/dist/AspectRatio/AspectRatio.d.ts +1 -1
- package/dist/AspectRatio/AspectRatio.js +1 -1
- package/dist/Avatar/Avatar.d.ts +1 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +37 -24
- package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
- package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/Avatar/AvatarStatusDot.js +1 -22
- package/dist/Avatar/index.d.ts +26 -1
- package/dist/Avatar/index.d.ts.map +1 -1
- package/dist/Avatar/index.js +21 -0
- package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +4 -8
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +9 -6
- package/dist/Badge/Badge.d.ts +2 -30
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +2 -17
- package/dist/Badge/index.d.ts +31 -2
- package/dist/Badge/index.d.ts.map +1 -1
- package/dist/Badge/index.js +15 -1
- package/dist/Banner/Banner.d.ts +2 -37
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +21 -48
- package/dist/Banner/index.d.ts +37 -1
- package/dist/Banner/index.d.ts.map +1 -1
- package/dist/Banner/index.js +27 -0
- package/dist/Blockquote/Blockquote.d.ts +1 -1
- package/dist/Blockquote/Blockquote.js +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +22 -8
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
- package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
- package/dist/Breadcrumbs/index.d.ts +18 -1
- package/dist/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/index.js +14 -0
- package/dist/Button/Button.d.ts +3 -21
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +17 -34
- package/dist/Button/index.d.ts +21 -3
- package/dist/Button/index.d.ts.map +1 -1
- package/dist/Button/index.js +15 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +3 -2
- package/dist/Calendar/index.d.ts +1 -1
- package/dist/Calendar/index.d.ts.map +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/Calendar/styles.d.ts +2 -4
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +2 -4
- package/dist/Calendar/utils.d.ts +0 -4
- package/dist/Calendar/utils.d.ts.map +1 -1
- package/dist/Calendar/utils.js +1 -8
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/Card.js +1 -1
- package/dist/Carousel/Carousel.d.ts +54 -3
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +90 -27
- package/dist/Carousel/index.d.ts +1 -1
- package/dist/Carousel/index.d.ts.map +1 -1
- package/dist/Center/Center.d.ts +21 -4
- package/dist/Center/Center.d.ts.map +1 -1
- package/dist/Center/Center.js +11 -3
- package/dist/Chat/ChatComposer.d.ts +1 -1
- package/dist/Chat/ChatComposer.js +9 -9
- package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
- package/dist/Chat/ChatComposerDrawer.js +5 -5
- package/dist/Chat/ChatComposerInput.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.js +1 -1
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.js +1 -1
- package/dist/Chat/ChatLayout.d.ts +8 -1
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +15 -4
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +2 -1
- package/dist/Chat/ChatMessage.d.ts +1 -1
- package/dist/Chat/ChatMessage.js +1 -1
- package/dist/Chat/ChatMessageBubble.d.ts +1 -1
- package/dist/Chat/ChatMessageBubble.js +1 -1
- package/dist/Chat/ChatMessageList.d.ts +1 -1
- package/dist/Chat/ChatMessageList.js +1 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +4 -2
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.js +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.js +1 -1
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +17 -17
- package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +3 -3
- package/dist/CheckboxList/CheckboxList.d.ts +1 -1
- package/dist/CheckboxList/CheckboxList.js +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +20 -5
- package/dist/Citation/Citation.d.ts +1 -1
- package/dist/Citation/Citation.js +1 -1
- package/dist/ClickableCard/ClickableCard.d.ts +3 -3
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +6 -14
- package/dist/Code/Code.d.ts +2 -2
- package/dist/Code/Code.js +2 -2
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +35 -18
- package/dist/Collapsible/Collapsible.d.ts +1 -1
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +36 -16
- package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
- package/dist/CommandPalette/CommandPalette.d.ts +1 -1
- package/dist/CommandPalette/CommandPalette.js +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
- package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
- package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +4 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +1 -1
- package/dist/CommandPalette/CommandPaletteList.js +1 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
- package/dist/ComplexSelector/ComplexSelector.js +310 -0
- package/dist/ComplexSelector/index.d.ts +7 -0
- package/dist/ComplexSelector/index.d.ts.map +1 -0
- package/dist/ComplexSelector/index.js +10 -0
- package/dist/ContextMenu/ContextMenu.d.ts +2 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +24 -6
- package/dist/DateInput/DateInput.d.ts +9 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +6 -3
- package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +6 -3
- package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +6 -3
- package/dist/Dialog/Dialog.d.ts +33 -24
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +47 -31
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/DialogHeader.js +1 -1
- package/dist/Dialog/index.d.ts +18 -1
- package/dist/Dialog/index.d.ts.map +1 -1
- package/dist/Dialog/index.js +14 -0
- package/dist/Divider/Divider.d.ts +2 -18
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +1 -15
- package/dist/Divider/index.d.ts +18 -1
- package/dist/Divider/index.d.ts.map +1 -1
- package/dist/Divider/index.js +14 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +28 -8
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +75 -23
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +8 -3
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +14 -5
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
- package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
- package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
- package/dist/DropdownMenu/menuItemHover.js +1 -0
- package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
- package/dist/DropdownMenu/renderDropdownItems.js +27 -16
- package/dist/EmptyState/EmptyState.d.ts +1 -1
- package/dist/EmptyState/EmptyState.js +1 -1
- package/dist/Field/Field.d.ts +1 -1
- package/dist/Field/Field.js +1 -1
- package/dist/Field/FieldLabel.d.ts +4 -3
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +48 -5
- package/dist/FieldStatus/FieldStatus.d.ts +1 -18
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +13 -17
- package/dist/FieldStatus/index.d.ts +19 -1
- package/dist/FieldStatus/index.d.ts.map +1 -1
- package/dist/FieldStatus/index.js +14 -0
- package/dist/FileInput/FileInput.js +1 -1
- package/dist/FormLayout/FormLayout.d.ts +1 -1
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/FormLayout/FormLayout.js +1 -1
- package/dist/Grid/Grid.d.ts +2 -10
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +1 -10
- package/dist/Grid/GridSpan.d.ts +1 -1
- package/dist/Grid/GridSpan.js +1 -1
- package/dist/HStack/HStack.d.ts +1 -1
- package/dist/HStack/HStack.js +1 -1
- package/dist/Heading/Heading.d.ts +2 -2
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +5 -4
- package/dist/HoverCard/HoverCard.d.ts +1 -1
- package/dist/HoverCard/HoverCard.js +1 -1
- package/dist/Icon/Icon.d.ts +1 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +4 -2
- package/dist/Icon/defaultIcons.d.ts.map +1 -1
- package/dist/Icon/defaultIcons.js +14 -0
- package/dist/Icon/globalIconRegistry.d.ts +48 -6
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Icon/globalIconRegistry.js +74 -7
- package/dist/Icon/index.d.ts +4 -3
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/Icon/index.js +2 -1
- package/dist/Icon/useIcon.d.ts +14 -0
- package/dist/Icon/useIcon.d.ts.map +1 -0
- package/dist/Icon/useIcon.js +21 -0
- package/dist/IconButton/IconButton.d.ts +1 -1
- package/dist/IconButton/IconButton.js +1 -1
- package/dist/InputGroup/InputGroup.d.ts +1 -1
- package/dist/InputGroup/InputGroup.js +1 -1
- package/dist/InputGroup/InputGroupText.d.ts +1 -1
- package/dist/InputGroup/InputGroupText.js +1 -1
- package/dist/Item/Item.d.ts +17 -4
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +36 -15
- package/dist/Kbd/Kbd.d.ts +1 -1
- package/dist/Kbd/Kbd.js +1 -1
- package/dist/Layout/Layout.d.ts +1 -1
- package/dist/Layout/Layout.js +1 -1
- package/dist/Layout/LayoutContent.d.ts +1 -1
- package/dist/Layout/LayoutContent.js +1 -1
- package/dist/Layout/LayoutFooter.d.ts +1 -1
- package/dist/Layout/LayoutFooter.js +1 -1
- package/dist/Layout/LayoutHeader.d.ts +1 -1
- package/dist/Layout/LayoutHeader.js +1 -1
- package/dist/Layout/LayoutPanel.d.ts +1 -1
- package/dist/Layout/LayoutPanel.js +1 -1
- package/dist/Lightbox/Lightbox.d.ts +6 -4
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +173 -79
- package/dist/Link/Link.d.ts +1 -1
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +5 -6
- package/dist/Link/LinkProvider.d.ts +2 -2
- package/dist/Link/LinkProvider.js +2 -2
- package/dist/List/List.d.ts +1 -1
- package/dist/List/List.js +1 -1
- package/dist/List/ListItem.d.ts +12 -2
- package/dist/List/ListItem.d.ts.map +1 -1
- package/dist/List/ListItem.js +3 -1
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +35 -13
- package/dist/MetadataList/MetadataList.d.ts +2 -2
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +38 -12
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/MetadataListItem.js +1 -1
- package/dist/MobileNav/MobileNav.d.ts +1 -1
- package/dist/MobileNav/MobileNav.js +9 -9
- package/dist/MoreMenu/MoreMenu.d.ts +1 -1
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.d.ts +13 -4
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +155 -54
- package/dist/NavIcon/NavIcon.d.ts +1 -1
- package/dist/NavIcon/NavIcon.js +1 -1
- package/dist/NavMenu/index.d.ts +0 -2
- package/dist/NavMenu/index.d.ts.map +1 -1
- package/dist/NavMenu/index.js +1 -3
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +19 -7
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +3 -4
- package/dist/OverflowList/OverflowList.d.ts +1 -1
- package/dist/OverflowList/OverflowList.js +1 -1
- package/dist/Pagination/Pagination.d.ts +26 -21
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +204 -78
- package/dist/Pagination/index.d.ts +22 -1
- package/dist/Pagination/index.d.ts.map +1 -1
- package/dist/Pagination/index.js +14 -0
- package/dist/Popover/Popover.d.ts +20 -3
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +5 -1
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +14 -3
- package/dist/PowerSearch/PowerSearch.d.ts +1 -1
- package/dist/PowerSearch/PowerSearch.js +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +7 -0
- package/dist/ProgressBar/ProgressBar.d.ts +56 -22
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +169 -22
- package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
- package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
- package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
- package/dist/ProgressBar/index.d.ts +21 -1
- package/dist/ProgressBar/index.d.ts.map +1 -1
- package/dist/ProgressBar/index.js +14 -0
- package/dist/RadioList/RadioList.d.ts +1 -1
- package/dist/RadioList/RadioList.js +1 -1
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +2 -2
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +17 -14
- package/dist/Section/Section.d.ts +2 -19
- package/dist/Section/Section.d.ts.map +1 -1
- package/dist/Section/Section.js +1 -15
- package/dist/Section/index.d.ts +19 -1
- package/dist/Section/index.d.ts.map +1 -1
- package/dist/Section/index.js +14 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +6 -6
- package/dist/SelectableCard/SelectableCard.d.ts +4 -3
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +18 -14
- package/dist/Selector/Selector.d.ts +14 -4
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +247 -77
- package/dist/Selector/hooks.d.ts +18 -6
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +57 -40
- package/dist/SideNav/SideNav.d.ts +1 -1
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +2 -2
- package/dist/SideNav/SideNavCollapseButton.d.ts +2 -2
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +30 -14
- package/dist/SideNav/SideNavHeading.d.ts +1 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +57 -20
- package/dist/SideNav/SideNavItem.d.ts +2 -2
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +30 -25
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/SideNavSection.js +1 -1
- package/dist/Skeleton/Skeleton.d.ts +1 -1
- package/dist/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +78 -68
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.js +1 -1
- package/dist/Stack/Stack.d.ts +1 -1
- package/dist/Stack/Stack.js +1 -1
- package/dist/Stack/StackItem.d.ts +1 -1
- package/dist/Stack/StackItem.js +1 -1
- package/dist/Stack/stack.stylex.d.ts +3 -3
- package/dist/StatusDot/StatusDot.d.ts +1 -20
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +2 -17
- package/dist/StatusDot/index.d.ts +21 -1
- package/dist/StatusDot/index.d.ts.map +1 -1
- package/dist/StatusDot/index.js +14 -0
- package/dist/Switch/Switch.d.ts +2 -6
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +28 -20
- package/dist/TabList/Tab.d.ts +1 -1
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +3 -4
- package/dist/TabList/TabList.d.ts +1 -1
- package/dist/TabList/TabList.js +1 -1
- package/dist/TabList/TabMenu.d.ts +1 -1
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +52 -22
- package/dist/Table/BaseTable.d.ts +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +4 -7
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Table/TableCell.d.ts +1 -1
- package/dist/Table/TableCell.js +4 -2
- package/dist/Table/TableHeaderCell.d.ts +1 -1
- package/dist/Table/TableHeaderCell.js +4 -2
- package/dist/Table/TableRow.d.ts +1 -1
- package/dist/Table/TableRow.js +1 -1
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +22 -18
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +55 -43
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +23 -4
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +65 -35
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +2 -1
- package/dist/Table/types.d.ts +5 -9
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Text/Text.d.ts +11 -2
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +26 -3
- package/dist/Text/index.d.ts +31 -1
- package/dist/Text/index.d.ts.map +1 -1
- package/dist/Text/index.js +23 -0
- package/dist/TextArea/TextArea.d.ts +1 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +111 -41
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +4 -3
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +28 -16
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +3 -2
- package/dist/Timestamp/Timestamp.d.ts +26 -12
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +128 -65
- package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
- package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
- package/dist/Timestamp/TimestampHoverCard.js +228 -0
- package/dist/Timestamp/formatInstant.d.ts +3 -3
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +7 -2
- package/dist/Timestamp/tooltipEntries.d.ts +17 -2
- package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
- package/dist/Timestamp/tooltipEntries.js +4 -2
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +61 -9
- package/dist/ToggleButton/ToggleButton.d.ts +1 -1
- package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +4 -2
- package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
- package/dist/Token/Token.d.ts +6 -28
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +84 -64
- package/dist/Token/TokenLink.d.ts +62 -0
- package/dist/Token/TokenLink.d.ts.map +1 -0
- package/dist/Token/TokenLink.js +76 -0
- package/dist/Token/index.d.ts +27 -1
- package/dist/Token/index.d.ts.map +1 -1
- package/dist/Token/index.js +14 -0
- package/dist/Tokenizer/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +5 -3
- package/dist/Toolbar/Toolbar.d.ts +1 -1
- package/dist/Toolbar/Toolbar.js +1 -1
- package/dist/Tooltip/Tooltip.d.ts +1 -1
- package/dist/Tooltip/Tooltip.js +1 -1
- package/dist/TopNav/TopNav.d.ts +1 -1
- package/dist/TopNav/TopNav.d.ts.map +1 -1
- package/dist/TopNav/TopNav.js +7 -6
- package/dist/TopNav/TopNavHeading.d.ts +2 -8
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +56 -20
- package/dist/TopNav/TopNavItem.d.ts +1 -1
- package/dist/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavItem.js +4 -10
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +89 -42
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +23 -4
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +84 -33
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +14 -1
- package/dist/TreeList/TreeListBranches.d.ts +1 -1
- package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
- package/dist/TreeList/TreeListBranches.js +15 -5
- package/dist/TreeList/TreeListItem.d.ts +12 -2
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +58 -30
- package/dist/TreeList/TreeListTypes.d.ts +1 -17
- package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
- package/dist/TreeList/index.d.ts +18 -1
- package/dist/TreeList/index.d.ts.map +1 -1
- package/dist/TreeList/index.js +14 -0
- package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +17 -3
- package/dist/Typeahead/Typeahead.d.ts +1 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +9 -2
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.js +1 -1
- package/dist/VStack/VStack.d.ts +1 -1
- package/dist/VStack/VStack.js +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/astryx.css +143 -46
- package/dist/astryx.umd.js +52 -56
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
- package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
- package/dist/hooks/containerReveal.pool.stylex.js +292 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/useContainerReveal.d.ts +83 -0
- package/dist/hooks/useContainerReveal.d.ts.map +1 -0
- package/dist/hooks/useContainerReveal.js +123 -0
- package/dist/hooks/useGridFocus.d.ts +8 -6
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useInputContainer.d.ts.map +1 -1
- package/dist/hooks/useInputContainer.js +29 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +11 -0
- package/dist/hooks/useKeyboardHint.d.ts +2 -2
- package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +5 -3
- package/dist/hooks/useListFocus.d.ts +8 -7
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +12 -2
- package/dist/hooks/useStreamingText.d.ts +18 -3
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +47 -7
- package/dist/hooks/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +13 -2
- package/dist/hooks/useTypeahead.d.ts +3 -2
- package/dist/hooks/useTypeahead.d.ts.map +1 -1
- package/dist/hooks/useTypeahead.js +19 -7
- package/dist/i18n/InternationalizationProvider.d.ts +6 -0
- package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
- package/dist/i18n/useDirection.d.ts.map +1 -1
- package/dist/i18n/useDirection.js +6 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +2 -7
- package/dist/theme/contrast.d.ts +45 -0
- package/dist/theme/contrast.d.ts.map +1 -0
- package/dist/theme/contrast.js +88 -0
- package/dist/theme/defineTheme.d.ts +9 -3
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +6 -4
- package/dist/theme/derivedVarRegistry.d.ts +8 -0
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +5 -13
- package/dist/theme/expandColorScale.d.ts +32 -3
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +102 -13
- package/dist/theme/expandTypeScale.d.ts.map +1 -1
- package/dist/theme/expandTypeScale.js +17 -0
- package/dist/theme/generateThemeRules.d.ts +0 -6
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +11 -15
- package/dist/theme/index.d.ts +9 -7
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +4 -3
- package/dist/theme/themeRegistry.d.ts +32 -0
- package/dist/theme/themeRegistry.d.ts.map +1 -0
- package/dist/theme/themeRegistry.js +49 -0
- package/dist/theme/tokens.stylex.d.ts +0 -17
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +0 -22
- package/dist/theme/types.d.ts +10 -2
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/useTheme.d.ts +9 -0
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +82 -27
- package/dist/utils/focusOutline.stylex.d.ts +74 -0
- package/dist/utils/focusOutline.stylex.d.ts.map +1 -0
- package/dist/utils/focusOutline.stylex.js +95 -0
- package/dist/utils/rtlStyles.d.ts +23 -2
- package/dist/utils/rtlStyles.d.ts.map +1 -1
- package/dist/utils/rtlStyles.js +28 -3
- package/groups.doc.mjs +2 -2
- package/locales/en.json +128 -0
- package/locales/pseudo.json +96 -0
- package/package.json +9 -13
- package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
- package/src/AlertDialog/AlertDialog.tsx +1 -1
- package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
- package/src/AppShell/AppShell.doc.mjs +3 -3
- package/src/AppShell/AppShell.test.tsx +55 -0
- package/src/AppShell/AppShell.tsx +27 -22
- package/src/AppShell/index.ts +20 -1
- package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
- package/src/AspectRatio/AspectRatio.tsx +1 -1
- package/src/Avatar/Avatar.doc.mjs +5 -16
- package/src/Avatar/Avatar.test.tsx +33 -8
- package/src/Avatar/Avatar.tsx +60 -53
- package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
- package/src/Avatar/AvatarStatusDot.tsx +2 -27
- package/src/Avatar/index.ts +26 -1
- package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
- package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
- package/src/AvatarGroup/AvatarGroup.tsx +3 -7
- package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +7 -12
- package/src/Badge/Badge.doc.mjs +3 -3
- package/src/Badge/Badge.tsx +2 -31
- package/src/Badge/index.ts +32 -6
- package/src/Banner/Banner.doc.mjs +3 -3
- package/src/Banner/Banner.tsx +17 -51
- package/src/Banner/index.ts +39 -7
- package/src/Blockquote/Blockquote.doc.mjs +3 -3
- package/src/Blockquote/Blockquote.tsx +1 -1
- package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
- package/src/Breadcrumbs/BreadcrumbItem.tsx +17 -5
- package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
- package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
- package/src/Breadcrumbs/index.ts +19 -5
- package/src/Button/Button.doc.mjs +3 -3
- package/src/Button/Button.test.tsx +16 -0
- package/src/Button/Button.tsx +27 -64
- package/src/Button/index.ts +22 -7
- package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
- package/src/ButtonGroup/ButtonGroup.tsx +1 -1
- package/src/Calendar/Calendar.doc.mjs +3 -3
- package/src/Calendar/Calendar.test.tsx +22 -6
- package/src/Calendar/Calendar.tsx +3 -2
- package/src/Calendar/index.ts +1 -6
- package/src/Calendar/styles.ts +2 -10
- package/src/Calendar/utils.ts +0 -11
- package/src/Card/Card.doc.mjs +3 -3
- package/src/Card/Card.tsx +1 -1
- package/src/Carousel/Carousel.doc.mjs +13 -3
- package/src/Carousel/Carousel.test.tsx +232 -1
- package/src/Carousel/Carousel.tsx +154 -27
- package/src/Carousel/index.ts +1 -1
- package/src/Center/Center.doc.mjs +41 -3
- package/src/Center/Center.test.tsx +75 -0
- package/src/Center/Center.tsx +38 -3
- package/src/Chat/Chat.doc.mjs +3 -3
- package/src/Chat/ChatComposer.doc.mjs +1 -1
- package/src/Chat/ChatComposer.tsx +5 -5
- package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
- package/src/Chat/ChatComposerDrawer.tsx +5 -5
- package/src/Chat/ChatComposerInput.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.tsx +1 -1
- package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
- package/src/Chat/ChatDictationButton.doc.mjs +3 -3
- package/src/Chat/ChatDictationButton.tsx +1 -1
- package/src/Chat/ChatLayout.doc.mjs +1 -1
- package/src/Chat/ChatLayout.test.tsx +57 -0
- package/src/Chat/ChatLayout.tsx +23 -2
- package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
- package/src/Chat/ChatLayoutScrollButton.test.tsx +22 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +2 -1
- package/src/Chat/ChatMessage.doc.mjs +1 -1
- package/src/Chat/ChatMessage.tsx +1 -1
- package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
- package/src/Chat/ChatMessageBubble.tsx +1 -1
- package/src/Chat/ChatMessageList.doc.mjs +1 -1
- package/src/Chat/ChatMessageList.tsx +1 -1
- package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
- package/src/Chat/ChatSendButton.doc.mjs +1 -1
- package/src/Chat/ChatSendButton.tsx +5 -3
- package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
- package/src/Chat/ChatSystemMessage.tsx +1 -1
- package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
- package/src/Chat/ChatTokenizedText.tsx +1 -1
- package/src/Chat/ChatToolCalls.doc.mjs +3 -3
- package/src/Chat/ChatToolCalls.test.tsx +35 -0
- package/src/Chat/ChatToolCalls.tsx +36 -16
- package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
- package/src/CheckboxInput/CheckboxInput.tsx +18 -3
- package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
- package/src/CheckboxList/CheckboxList.test.tsx +94 -3
- package/src/CheckboxList/CheckboxList.tsx +1 -1
- package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
- package/src/CheckboxList/CheckboxListItem.tsx +18 -11
- package/src/Citation/Citation.doc.mjs +2 -2
- package/src/Citation/Citation.tsx +1 -1
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
- package/src/ClickableCard/ClickableCard.tsx +9 -14
- package/src/Code/Code.tsx +2 -2
- package/src/CodeBlock/Code.doc.mjs +1 -1
- package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
- package/src/CodeBlock/CodeBlock.test.tsx +17 -0
- package/src/CodeBlock/CodeBlock.tsx +18 -17
- package/src/Collapsible/Collapsible.doc.mjs +3 -3
- package/src/Collapsible/Collapsible.tsx +23 -19
- package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
- package/src/Collapsible/CollapsibleGroup.tsx +1 -1
- package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
- package/src/Collapsible/useCollapsible.doc.mjs +2 -2
- package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
- package/src/CommandPalette/CommandPalette.test.tsx +29 -0
- package/src/CommandPalette/CommandPalette.tsx +1 -1
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
- package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
- package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
- package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteList.tsx +1 -1
- package/src/ComplexSelector/ComplexSelector.doc.mjs +220 -0
- package/src/ComplexSelector/ComplexSelector.test.tsx +181 -0
- package/src/ComplexSelector/ComplexSelector.tsx +443 -0
- package/src/ComplexSelector/index.ts +17 -0
- package/src/ContextMenu/ContextMenu.doc.mjs +4 -4
- package/src/ContextMenu/ContextMenu.test.tsx +38 -2
- package/src/ContextMenu/ContextMenu.tsx +27 -6
- package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
- package/src/DateInput/DateInput.doc.mjs +19 -4
- package/src/DateInput/DateInput.test.tsx +79 -3
- package/src/DateInput/DateInput.tsx +23 -3
- package/src/DateRangeInput/DateRangeInput.doc.mjs +11 -3
- package/src/DateRangeInput/DateRangeInput.test.tsx +97 -2
- package/src/DateRangeInput/DateRangeInput.tsx +19 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +19 -5
- package/src/DateTimeInput/DateTimeInput.test.tsx +81 -2
- package/src/DateTimeInput/DateTimeInput.tsx +19 -2
- package/src/Dialog/Dialog.doc.mjs +7 -5
- package/src/Dialog/Dialog.test.tsx +46 -3
- package/src/Dialog/Dialog.tsx +63 -53
- package/src/Dialog/DialogHeader.doc.mjs +1 -1
- package/src/Dialog/DialogHeader.tsx +1 -1
- package/src/Dialog/index.ts +18 -1
- package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
- package/src/Divider/Divider.doc.mjs +3 -3
- package/src/Divider/Divider.tsx +2 -19
- package/src/Divider/index.ts +19 -5
- package/src/DropdownMenu/DropdownMenu.doc.mjs +22 -7
- package/src/DropdownMenu/DropdownMenu.test.tsx +405 -1
- package/src/DropdownMenu/DropdownMenu.tsx +117 -50
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +25 -5
- package/src/DropdownMenu/DropdownMenuItem.tsx +34 -7
- package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
- package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +90 -15
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
- package/src/DropdownMenu/menuItemHover.ts +1 -0
- package/src/DropdownMenu/renderDropdownItems.tsx +31 -21
- package/src/EmptyState/EmptyState.doc.mjs +3 -3
- package/src/EmptyState/EmptyState.tsx +1 -1
- package/src/Field/Field.doc.mjs +7 -3
- package/src/Field/Field.tsx +1 -1
- package/src/Field/FieldLabel.doc.mjs +1 -1
- package/src/Field/FieldLabel.test.tsx +103 -0
- package/src/Field/FieldLabel.tsx +61 -5
- package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
- package/src/FieldStatus/FieldStatus.test.tsx +61 -0
- package/src/FieldStatus/FieldStatus.tsx +16 -23
- package/src/FieldStatus/index.ts +20 -5
- package/src/FileInput/FileInput.doc.mjs +3 -3
- package/src/FileInput/FileInput.tsx +1 -1
- package/src/FormLayout/FormLayout.doc.mjs +3 -3
- package/src/FormLayout/FormLayout.tsx +2 -5
- package/src/Grid/Grid.doc.mjs +3 -8
- package/src/Grid/Grid.tsx +1 -25
- package/src/Grid/GridSpan.doc.mjs +1 -1
- package/src/Grid/GridSpan.tsx +1 -1
- package/src/HStack/HStack.tsx +1 -1
- package/src/Heading/Heading.tsx +4 -3
- package/src/HoverCard/HoverCard.doc.mjs +3 -3
- package/src/HoverCard/HoverCard.tsx +1 -1
- package/src/HoverCard/useHoverCard.doc.mjs +2 -2
- package/src/Icon/Icon.doc.mjs +8 -6
- package/src/Icon/Icon.test.tsx +23 -0
- package/src/Icon/Icon.tsx +4 -2
- package/src/Icon/defaultIcons.tsx +14 -0
- package/src/Icon/globalIconRegistry.test.tsx +87 -1
- package/src/Icon/globalIconRegistry.tsx +111 -9
- package/src/Icon/index.ts +9 -7
- package/src/Icon/useIcon.ts +23 -0
- package/src/IconButton/IconButton.doc.mjs +2 -2
- package/src/IconButton/IconButton.tsx +1 -1
- package/src/InputGroup/InputGroup.doc.mjs +2 -2
- package/src/InputGroup/InputGroup.tsx +1 -1
- package/src/InputGroup/InputGroupText.doc.mjs +1 -1
- package/src/InputGroup/InputGroupText.tsx +1 -1
- package/src/Item/Item.doc.mjs +8 -3
- package/src/Item/Item.test.tsx +88 -0
- package/src/Item/Item.tsx +65 -26
- package/src/Kbd/Kbd.doc.mjs +3 -3
- package/src/Kbd/Kbd.tsx +1 -1
- package/src/Layer/Layer.doc.mjs +2 -2
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layout/Layout.doc.mjs +3 -3
- package/src/Layout/Layout.tsx +1 -1
- package/src/Layout/LayoutContent.doc.mjs +1 -1
- package/src/Layout/LayoutContent.tsx +1 -1
- package/src/Layout/LayoutFooter.doc.mjs +1 -1
- package/src/Layout/LayoutFooter.tsx +1 -1
- package/src/Layout/LayoutHeader.doc.mjs +1 -1
- package/src/Layout/LayoutHeader.tsx +1 -1
- package/src/Layout/LayoutPanel.doc.mjs +1 -1
- package/src/Layout/LayoutPanel.tsx +1 -1
- package/src/Lightbox/Lightbox.doc.mjs +6 -6
- package/src/Lightbox/Lightbox.test.tsx +211 -0
- package/src/Lightbox/Lightbox.tsx +152 -60
- package/src/Link/Link.doc.mjs +3 -3
- package/src/Link/Link.tsx +5 -12
- package/src/Link/LinkProvider.doc.mjs +2 -2
- package/src/Link/LinkProvider.tsx +2 -2
- package/src/List/List.doc.mjs +3 -3
- package/src/List/List.tsx +1 -1
- package/src/List/ListItem.doc.mjs +13 -1
- package/src/List/ListItem.tsx +14 -1
- package/src/Markdown/Markdown.doc.mjs +81 -1
- package/src/Markdown/Markdown.test.tsx +92 -0
- package/src/Markdown/Markdown.tsx +96 -68
- package/src/Markdown/parser.perf.test.ts +47 -35
- package/src/MetadataList/MetadataList.doc.mjs +3 -3
- package/src/MetadataList/MetadataList.test.tsx +82 -0
- package/src/MetadataList/MetadataList.tsx +45 -20
- package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
- package/src/MetadataList/MetadataListItem.tsx +1 -1
- package/src/MobileNav/MobileNav.doc.mjs +3 -3
- package/src/MobileNav/MobileNav.tsx +4 -4
- package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
- package/src/MoreMenu/MoreMenu.test.tsx +28 -1
- package/src/MoreMenu/MoreMenu.tsx +3 -3
- package/src/MultiSelector/MultiSelector.doc.mjs +37 -10
- package/src/MultiSelector/MultiSelector.test.tsx +396 -8
- package/src/MultiSelector/MultiSelector.tsx +254 -74
- package/src/NavIcon/NavIcon.doc.mjs +3 -3
- package/src/NavIcon/NavIcon.tsx +1 -1
- package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
- package/src/NavMenu/NavMenu.doc.mjs +2 -2
- package/src/NavMenu/index.ts +0 -4
- package/src/NumberInput/NumberInput.doc.mjs +5 -8
- package/src/NumberInput/NumberInput.test.tsx +117 -3
- package/src/NumberInput/NumberInput.tsx +30 -3
- package/src/Outline/Outline.doc.mjs +3 -3
- package/src/Outline/Outline.tsx +3 -6
- package/src/OverflowList/OverflowList.doc.mjs +3 -3
- package/src/OverflowList/OverflowList.tsx +1 -1
- package/src/Overlay/Overlay.doc.mjs +2 -2
- package/src/Pagination/Pagination.doc.mjs +55 -8
- package/src/Pagination/Pagination.test.tsx +582 -0
- package/src/Pagination/Pagination.tsx +249 -64
- package/src/Pagination/index.ts +22 -1
- package/src/Popover/Popover.doc.mjs +31 -3
- package/src/Popover/Popover.test.tsx +41 -0
- package/src/Popover/Popover.tsx +25 -2
- package/src/Popover/usePopover.doc.mjs +2 -2
- package/src/Popover/usePopover.tsx +10 -4
- package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
- package/src/PowerSearch/PowerSearch.tsx +1 -1
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +42 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +7 -0
- package/src/ProgressBar/ProgressBar.doc.mjs +24 -3
- package/src/ProgressBar/ProgressBar.test.tsx +523 -2
- package/src/ProgressBar/ProgressBar.tsx +250 -25
- package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
- package/src/ProgressBar/index.ts +22 -1
- package/src/RadioList/RadioList.doc.mjs +3 -3
- package/src/RadioList/RadioList.test.tsx +26 -4
- package/src/RadioList/RadioList.tsx +1 -1
- package/src/RadioList/RadioListItem.doc.mjs +1 -1
- package/src/RadioList/RadioListItem.tsx +9 -2
- package/src/Resizable/Resizable.doc.mjs +2 -2
- package/src/Resizable/ResizeHandle.test.tsx +52 -3
- package/src/Resizable/ResizeHandle.tsx +27 -22
- package/src/Resizable/useResizable.doc.mjs +2 -2
- package/src/Section/Section.doc.mjs +3 -3
- package/src/Section/Section.tsx +2 -20
- package/src/Section/index.ts +20 -5
- package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
- package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
- package/src/SegmentedControl/SegmentedControl.tsx +1 -1
- package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
- package/src/SegmentedControl/SegmentedControlItem.tsx +23 -12
- package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
- package/src/SelectableCard/SelectableCard.test.tsx +55 -0
- package/src/SelectableCard/SelectableCard.tsx +23 -12
- package/src/Selector/Selector.doc.mjs +34 -11
- package/src/Selector/Selector.test.tsx +1176 -118
- package/src/Selector/Selector.tsx +345 -96
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- package/src/Selector/hooks.ts +77 -50
- package/src/SideNav/SideNav.doc.mjs +3 -3
- package/src/SideNav/SideNav.test.tsx +46 -0
- package/src/SideNav/SideNav.tsx +2 -1
- package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
- package/src/SideNav/SideNavCollapseButton.tsx +16 -10
- package/src/SideNav/SideNavHeading.doc.mjs +1 -1
- package/src/SideNav/SideNavHeading.tsx +49 -12
- package/src/SideNav/SideNavItem.doc.mjs +1 -1
- package/src/SideNav/SideNavItem.tsx +21 -14
- package/src/SideNav/SideNavSection.doc.mjs +1 -1
- package/src/SideNav/SideNavSection.tsx +1 -1
- package/src/Skeleton/Skeleton.doc.mjs +3 -3
- package/src/Skeleton/Skeleton.test.tsx +16 -0
- package/src/Skeleton/Skeleton.tsx +14 -2
- package/src/Slider/Slider.doc.mjs +3 -3
- package/src/Slider/Slider.tsx +9 -13
- package/src/Spinner/Spinner.doc.mjs +3 -3
- package/src/Spinner/Spinner.tsx +1 -1
- package/src/Stack/Stack.doc.mjs +113 -3
- package/src/Stack/Stack.tsx +1 -1
- package/src/Stack/StackItem.tsx +1 -1
- package/src/StatusDot/StatusDot.doc.mjs +15 -6
- package/src/StatusDot/StatusDot.tsx +2 -22
- package/src/StatusDot/index.ts +22 -5
- package/src/Switch/Switch.doc.mjs +5 -5
- package/src/Switch/Switch.test.tsx +71 -25
- package/src/Switch/Switch.tsx +63 -26
- package/src/TabList/Tab.doc.mjs +1 -1
- package/src/TabList/Tab.tsx +3 -10
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +21 -18
- package/src/TabList/TabList.tsx +1 -1
- package/src/TabList/TabMenu.doc.mjs +1 -1
- package/src/TabList/TabMenu.tsx +25 -24
- package/src/Table/BaseTable.tsx +4 -5
- package/src/Table/Table.doc.mjs +5 -5
- package/src/Table/Table.test.tsx +27 -49
- package/src/Table/Table.tsx +1 -1
- package/src/Table/TableCell.doc.mjs +1 -1
- package/src/Table/TableCell.tsx +2 -2
- package/src/Table/TableHeaderCell.doc.mjs +1 -1
- package/src/Table/TableHeaderCell.tsx +2 -2
- package/src/Table/TableRow.doc.mjs +1 -1
- package/src/Table/TableRow.tsx +1 -1
- package/src/Table/index.ts +1 -1
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +30 -14
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +72 -33
- package/src/Table/plugins/sortable/useTableSortable.tsx +2 -6
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
- package/src/Table/plugins/tree/useTableTreeData.tsx +97 -25
- package/src/Table/tableContextMenu.test.tsx +27 -0
- package/src/Table/tableContextMenu.tsx +1 -0
- package/src/Table/types.ts +5 -9
- package/src/Table/useTableColumnResize.doc.mjs +1 -1
- package/src/Table/useTableColumnSettings.doc.mjs +1 -1
- package/src/Table/useTableFilterState.doc.mjs +1 -1
- package/src/Table/useTableFiltering.doc.mjs +1 -1
- package/src/Table/useTableGroupedRows.doc.mjs +2 -2
- package/src/Table/useTablePagination.doc.mjs +1 -1
- package/src/Table/useTableRowExpansion.doc.mjs +57 -4
- package/src/Table/useTableRowIndex.doc.mjs +2 -2
- package/src/Table/useTableRowStatus.doc.mjs +3 -3
- package/src/Table/useTableSelection.doc.mjs +1 -1
- package/src/Table/useTableSelectionState.doc.mjs +1 -1
- package/src/Table/useTableSortable.doc.mjs +1 -1
- package/src/Table/useTableStickyColumns.doc.mjs +1 -1
- package/src/Table/useTableTreeData.doc.mjs +10 -1
- package/src/Table/useTableTreeState.doc.mjs +1 -1
- package/src/Text/Heading.doc.mjs +4 -4
- package/src/Text/Text.doc.mjs +4 -4
- package/src/Text/Text.test.tsx +42 -0
- package/src/Text/Text.tsx +26 -2
- package/src/Text/index.ts +32 -6
- package/src/TextArea/TextArea.doc.mjs +31 -7
- package/src/TextArea/TextArea.test.tsx +186 -7
- package/src/TextArea/TextArea.tsx +156 -52
- package/src/TextInput/TextInput.doc.mjs +5 -5
- package/src/TextInput/TextInput.test.tsx +77 -0
- package/src/TextInput/TextInput.tsx +7 -3
- package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
- package/src/Thumbnail/Thumbnail.test.tsx +24 -1
- package/src/Thumbnail/Thumbnail.tsx +29 -43
- package/src/TimeInput/TimeInput.doc.mjs +5 -5
- package/src/TimeInput/TimeInput.test.tsx +30 -3
- package/src/TimeInput/TimeInput.tsx +6 -2
- package/src/Timestamp/Timestamp.doc.mjs +30 -24
- package/src/Timestamp/Timestamp.test.tsx +438 -107
- package/src/Timestamp/Timestamp.tsx +167 -103
- package/src/Timestamp/TimestampHoverCard.tsx +283 -0
- package/src/Timestamp/formatInstant.ts +9 -4
- package/src/Timestamp/tooltipEntries.test.ts +9 -0
- package/src/Timestamp/tooltipEntries.ts +18 -2
- package/src/Toast/Toast.doc.mjs +3 -3
- package/src/Toast/ToastViewport.test.tsx +218 -8
- package/src/Toast/ToastViewport.tsx +71 -12
- package/src/Toast/useToast.doc.mjs +2 -2
- package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
- package/src/ToggleButton/ToggleButton.test.tsx +24 -0
- package/src/ToggleButton/ToggleButton.tsx +20 -2
- package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
- package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
- package/src/Token/Token.doc.mjs +3 -3
- package/src/Token/Token.test.tsx +145 -0
- package/src/Token/Token.tsx +77 -86
- package/src/Token/TokenLink.tsx +107 -0
- package/src/Token/index.ts +28 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +5 -5
- package/src/Tokenizer/Tokenizer.test.tsx +45 -3
- package/src/Tokenizer/Tokenizer.tsx +11 -3
- package/src/Toolbar/Toolbar.doc.mjs +3 -3
- package/src/Toolbar/Toolbar.tsx +1 -1
- package/src/Tooltip/Tooltip.doc.mjs +3 -3
- package/src/Tooltip/Tooltip.tsx +1 -1
- package/src/Tooltip/useTooltip.doc.mjs +2 -2
- package/src/TopNav/TopNav.doc.mjs +3 -3
- package/src/TopNav/TopNav.test.tsx +2 -2
- package/src/TopNav/TopNav.tsx +2 -4
- package/src/TopNav/TopNavHeading.doc.mjs +1 -12
- package/src/TopNav/TopNavHeading.tsx +44 -25
- package/src/TopNav/TopNavItem.doc.mjs +1 -1
- package/src/TopNav/TopNavItem.tsx +4 -22
- package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenu.tsx +62 -30
- package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
- package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenuItem.tsx +3 -10
- package/src/TopNav/TopNavMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMenu.tsx +34 -32
- package/src/TreeList/TreeList.doc.mjs +8 -3
- package/src/TreeList/TreeList.test.tsx +216 -13
- package/src/TreeList/TreeList.tsx +23 -1
- package/src/TreeList/TreeListBranches.tsx +26 -3
- package/src/TreeList/TreeListItem.tsx +90 -52
- package/src/TreeList/TreeListTypes.ts +1 -18
- package/src/TreeList/index.ts +19 -1
- package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
- package/src/Typeahead/BaseTypeahead.tsx +30 -2
- package/src/Typeahead/Typeahead.doc.mjs +4 -3
- package/src/Typeahead/Typeahead.test.tsx +138 -3
- package/src/Typeahead/Typeahead.tsx +7 -1
- package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
- package/src/Typeahead/TypeaheadItem.tsx +1 -1
- package/src/VStack/VStack.tsx +1 -1
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
- package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
- package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
- package/src/__tests__/forcedColors.ts +60 -0
- package/src/__tests__/inputWidthContract.test.tsx +8 -1
- package/src/doc-mjs.d.ts +5 -2
- package/src/docPropLiterals.test.ts +1 -1
- package/src/docPropReferences.test.ts +1 -1
- package/src/hooks/containerReveal.pool.stylex.ts +571 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/useClickableContainer.doc.mjs +2 -2
- package/src/hooks/useContainerReveal.doc.mjs +75 -0
- package/src/hooks/useContainerReveal.test.tsx +116 -0
- package/src/hooks/useContainerReveal.ts +181 -0
- package/src/hooks/useEntryAnimation.doc.mjs +2 -2
- package/src/hooks/useFocusTrap.doc.mjs +2 -2
- package/src/hooks/useGridFocus.doc.mjs +2 -2
- package/src/hooks/useGridFocus.ts +8 -6
- package/src/hooks/useHotkeys.doc.mjs +2 -2
- package/src/hooks/useImageMode.doc.mjs +2 -2
- package/src/hooks/useImageMode.test.ts +1 -1
- package/src/hooks/useInputContainer.doc.mjs +2 -2
- package/src/hooks/useInputContainer.test.tsx +180 -0
- package/src/hooks/useInputContainer.ts +36 -1
- package/src/hooks/useInputStatusIcon.test.tsx +59 -0
- package/src/hooks/useInputStatusIcon.tsx +12 -1
- package/src/hooks/useKeyboardHint.doc.mjs +2 -2
- package/src/hooks/useKeyboardHint.test.tsx +22 -0
- package/src/hooks/useKeyboardHint.tsx +7 -3
- package/src/hooks/useListFocus.doc.mjs +2 -2
- package/src/hooks/useListFocus.ts +8 -7
- package/src/hooks/useLongPress.test.tsx +18 -0
- package/src/hooks/useLongPress.ts +12 -2
- package/src/hooks/useMediaQuery.doc.mjs +2 -2
- package/src/hooks/useOverflow.doc.mjs +2 -2
- package/src/hooks/useScrollLock.doc.mjs +2 -2
- package/src/hooks/useScrollOverflow.doc.mjs +2 -2
- package/src/hooks/useStreamingText.doc.mjs +2 -2
- package/src/hooks/useStreamingText.test.ts +46 -1
- package/src/hooks/useStreamingText.ts +49 -7
- package/src/hooks/useTreeFocus.doc.mjs +2 -2
- package/src/hooks/useTreeFocus.test.tsx +53 -1
- package/src/hooks/useTreeFocus.ts +13 -2
- package/src/hooks/useTypeahead.test.tsx +150 -0
- package/src/hooks/useTypeahead.ts +24 -9
- package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
- package/src/i18n/InternationalizationProvider.tsx +6 -0
- package/src/i18n/useDirection.ts +6 -3
- package/src/i18n/useTranslator.doc.mjs +2 -2
- package/src/index.ts +2 -18
- package/src/theme/MediaTheme.doc.mjs +2 -2
- package/src/theme/SyntaxTheme.doc.mjs +2 -2
- package/src/theme/Theme.doc.mjs +2 -2
- package/src/theme/Theme.tsx +3 -7
- package/src/theme/contrast.test.ts +94 -0
- package/src/theme/contrast.ts +99 -0
- package/src/theme/defineTheme.test.ts +29 -30
- package/src/theme/defineTheme.ts +11 -5
- package/src/theme/derivedVarRegistry.test.ts +8 -1
- package/src/theme/derivedVarRegistry.ts +15 -6
- package/src/theme/expandColorScale.test.ts +401 -1
- package/src/theme/expandColorScale.ts +143 -19
- package/src/theme/expandTypeScale.test.ts +43 -0
- package/src/theme/expandTypeScale.ts +17 -0
- package/src/theme/generateThemeRules.test.ts +41 -20
- package/src/theme/generateThemeRules.ts +11 -15
- package/src/theme/index.ts +11 -13
- package/src/theme/themeRegistry.test.ts +59 -0
- package/src/theme/themeRegistry.ts +53 -0
- package/src/theme/tokens.stylex.ts +0 -19
- package/src/theme/types.ts +14 -13
- package/src/theme/useTheme.doc.mjs +2 -2
- package/src/theme/useTheme.test.tsx +48 -3
- package/src/theme/useTheme.ts +100 -29
- package/src/utils/focusOutline.stylex.ts +128 -0
- package/src/utils/rtlStyles.ts +24 -2
- package/dist/NavMenu/NavMenuItem.d.ts +0 -13
- package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
- package/dist/NavMenu/NavMenuItem.js +0 -16
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
- package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
- package/dist/authoring/doc.d.ts +0 -145
- package/dist/authoring/doc.d.ts.map +0 -1
- package/dist/authoring/doc.js +0 -100
- package/dist/authoring/index.d.ts +0 -29
- package/dist/authoring/index.d.ts.map +0 -1
- package/dist/authoring/index.js +0 -28
- package/dist/authoring/integration.d.ts +0 -35
- package/dist/authoring/integration.d.ts.map +0 -1
- package/dist/authoring/integration.js +0 -30
- package/dist/authoring/template.d.ts +0 -66
- package/dist/authoring/template.d.ts.map +0 -1
- package/dist/authoring/template.js +0 -55
- package/dist/config.d.ts +0 -80
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -40
- package/dist/docs-types.d.ts +0 -969
- package/dist/docs-types.d.ts.map +0 -1
- package/dist/docs-types.js +0 -1
- package/src/NavMenu/NavMenuItem.tsx +0 -19
- package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
- package/src/authoring/doc.ts +0 -164
- package/src/authoring/index.test.ts +0 -52
- package/src/authoring/index.ts +0 -50
- package/src/authoring/integration.ts +0 -42
- package/src/authoring/template.ts +0 -74
- package/src/config.test.ts +0 -16
- package/src/config.ts +0 -92
- package/src/docs-types.ts +0 -1108
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file containerReveal.pool.stylex.ts
|
|
5
|
+
* @input Uses StyleX, theme tokens
|
|
6
|
+
* @output A fixed pool of scoped markers, each paired with its reveal style
|
|
7
|
+
* blocks (reveal / conceal, each with a layout-preserved variant) compiled
|
|
8
|
+
* against that marker.
|
|
9
|
+
* @position Internal to useContainerReveal. GENERATED by
|
|
10
|
+
* scripts/gen-container-reveal-pool.mjs — do not edit by hand.
|
|
11
|
+
*
|
|
12
|
+
* WHY A POOL: `stylex.when.ancestor(':hover', marker)` welds the marker's
|
|
13
|
+
* class into the compiled selector (`.marker:hover *`), so a marker and the
|
|
14
|
+
* styles referencing it are inseparable at compile time. A single shared
|
|
15
|
+
* marker would leak hover/focus across NESTED reveal containers (an ancestor
|
|
16
|
+
* container's `:hover` matches a descendant container's revealed content).
|
|
17
|
+
* Pre-declaring N markers lets useContainerReveal hand each concurrently
|
|
18
|
+
* mounted container a distinct marker (free-list in useContainerReveal),
|
|
19
|
+
* isolating nested containers without the caller authoring any StyleX.
|
|
20
|
+
*
|
|
21
|
+
* SYNC: When the block shape changes, edit
|
|
22
|
+
* scripts/gen-container-reveal-pool.mjs and useContainerReveal.ts, then
|
|
23
|
+
* regenerate (node scripts/gen-container-reveal-pool.mjs) and commit.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import * as stylex from '@stylexjs/stylex';
|
|
27
|
+
import {durationVars, easeVars} from '../theme/tokens.stylex';
|
|
28
|
+
|
|
29
|
+
export const POOL_SIZE = 6;
|
|
30
|
+
|
|
31
|
+
export const m0 = stylex.defineMarker();
|
|
32
|
+
const s0 = stylex.create({
|
|
33
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
34
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
35
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
36
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
37
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
38
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
39
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
40
|
+
reveal: {
|
|
41
|
+
transitionProperty: 'opacity, position',
|
|
42
|
+
transitionDuration: {
|
|
43
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
44
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
45
|
+
},
|
|
46
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
47
|
+
transitionBehavior: 'allow-discrete',
|
|
48
|
+
transitionDelay: {
|
|
49
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
50
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
51
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': '0s, 0s'},
|
|
52
|
+
[stylex.when.ancestor(':focus-within', m0)]: '0s, 0s',
|
|
53
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
54
|
+
},
|
|
55
|
+
opacity: {
|
|
56
|
+
default: 0,
|
|
57
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': 1},
|
|
58
|
+
[stylex.when.ancestor(':focus-within', m0)]: 1,
|
|
59
|
+
'@media (any-pointer: coarse)': 1,
|
|
60
|
+
},
|
|
61
|
+
position: {
|
|
62
|
+
default: 'absolute',
|
|
63
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': 'static'},
|
|
64
|
+
[stylex.when.ancestor(':focus-within', m0)]: 'static',
|
|
65
|
+
'@media (any-pointer: coarse)': 'static',
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
69
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
70
|
+
revealLayoutPreserved: {
|
|
71
|
+
transitionProperty: 'opacity',
|
|
72
|
+
transitionDuration: {
|
|
73
|
+
default: durationVars['--duration-fast'],
|
|
74
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
75
|
+
},
|
|
76
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
77
|
+
opacity: {
|
|
78
|
+
default: 0,
|
|
79
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': 1},
|
|
80
|
+
[stylex.when.ancestor(':focus-within', m0)]: 1,
|
|
81
|
+
'@media (any-pointer: coarse)': 1,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
85
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
86
|
+
// visible on touch. Never leaves the a11y tree.
|
|
87
|
+
conceal: {
|
|
88
|
+
transitionProperty: 'opacity',
|
|
89
|
+
transitionDuration: {
|
|
90
|
+
default: durationVars['--duration-fast'],
|
|
91
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
92
|
+
},
|
|
93
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
94
|
+
opacity: {
|
|
95
|
+
default: 1,
|
|
96
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': 0},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
concealLayoutPreserved: {
|
|
100
|
+
transitionProperty: 'opacity',
|
|
101
|
+
transitionDuration: {
|
|
102
|
+
default: durationVars['--duration-fast'],
|
|
103
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
104
|
+
},
|
|
105
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
106
|
+
opacity: {
|
|
107
|
+
default: 1,
|
|
108
|
+
[stylex.when.ancestor(':hover', m0)]: {'@media (hover: hover)': 0},
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
export const m1 = stylex.defineMarker();
|
|
114
|
+
const s1 = stylex.create({
|
|
115
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
116
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
117
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
118
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
119
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
120
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
121
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
122
|
+
reveal: {
|
|
123
|
+
transitionProperty: 'opacity, position',
|
|
124
|
+
transitionDuration: {
|
|
125
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
126
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
127
|
+
},
|
|
128
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
129
|
+
transitionBehavior: 'allow-discrete',
|
|
130
|
+
transitionDelay: {
|
|
131
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
132
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
133
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': '0s, 0s'},
|
|
134
|
+
[stylex.when.ancestor(':focus-within', m1)]: '0s, 0s',
|
|
135
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
136
|
+
},
|
|
137
|
+
opacity: {
|
|
138
|
+
default: 0,
|
|
139
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': 1},
|
|
140
|
+
[stylex.when.ancestor(':focus-within', m1)]: 1,
|
|
141
|
+
'@media (any-pointer: coarse)': 1,
|
|
142
|
+
},
|
|
143
|
+
position: {
|
|
144
|
+
default: 'absolute',
|
|
145
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': 'static'},
|
|
146
|
+
[stylex.when.ancestor(':focus-within', m1)]: 'static',
|
|
147
|
+
'@media (any-pointer: coarse)': 'static',
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
151
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
152
|
+
revealLayoutPreserved: {
|
|
153
|
+
transitionProperty: 'opacity',
|
|
154
|
+
transitionDuration: {
|
|
155
|
+
default: durationVars['--duration-fast'],
|
|
156
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
157
|
+
},
|
|
158
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
159
|
+
opacity: {
|
|
160
|
+
default: 0,
|
|
161
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': 1},
|
|
162
|
+
[stylex.when.ancestor(':focus-within', m1)]: 1,
|
|
163
|
+
'@media (any-pointer: coarse)': 1,
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
167
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
168
|
+
// visible on touch. Never leaves the a11y tree.
|
|
169
|
+
conceal: {
|
|
170
|
+
transitionProperty: 'opacity',
|
|
171
|
+
transitionDuration: {
|
|
172
|
+
default: durationVars['--duration-fast'],
|
|
173
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
174
|
+
},
|
|
175
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
176
|
+
opacity: {
|
|
177
|
+
default: 1,
|
|
178
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': 0},
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
concealLayoutPreserved: {
|
|
182
|
+
transitionProperty: 'opacity',
|
|
183
|
+
transitionDuration: {
|
|
184
|
+
default: durationVars['--duration-fast'],
|
|
185
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
186
|
+
},
|
|
187
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
188
|
+
opacity: {
|
|
189
|
+
default: 1,
|
|
190
|
+
[stylex.when.ancestor(':hover', m1)]: {'@media (hover: hover)': 0},
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
export const m2 = stylex.defineMarker();
|
|
196
|
+
const s2 = stylex.create({
|
|
197
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
198
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
199
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
200
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
201
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
202
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
203
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
204
|
+
reveal: {
|
|
205
|
+
transitionProperty: 'opacity, position',
|
|
206
|
+
transitionDuration: {
|
|
207
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
208
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
209
|
+
},
|
|
210
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
211
|
+
transitionBehavior: 'allow-discrete',
|
|
212
|
+
transitionDelay: {
|
|
213
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
214
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
215
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': '0s, 0s'},
|
|
216
|
+
[stylex.when.ancestor(':focus-within', m2)]: '0s, 0s',
|
|
217
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
218
|
+
},
|
|
219
|
+
opacity: {
|
|
220
|
+
default: 0,
|
|
221
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': 1},
|
|
222
|
+
[stylex.when.ancestor(':focus-within', m2)]: 1,
|
|
223
|
+
'@media (any-pointer: coarse)': 1,
|
|
224
|
+
},
|
|
225
|
+
position: {
|
|
226
|
+
default: 'absolute',
|
|
227
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': 'static'},
|
|
228
|
+
[stylex.when.ancestor(':focus-within', m2)]: 'static',
|
|
229
|
+
'@media (any-pointer: coarse)': 'static',
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
233
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
234
|
+
revealLayoutPreserved: {
|
|
235
|
+
transitionProperty: 'opacity',
|
|
236
|
+
transitionDuration: {
|
|
237
|
+
default: durationVars['--duration-fast'],
|
|
238
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
239
|
+
},
|
|
240
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
241
|
+
opacity: {
|
|
242
|
+
default: 0,
|
|
243
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': 1},
|
|
244
|
+
[stylex.when.ancestor(':focus-within', m2)]: 1,
|
|
245
|
+
'@media (any-pointer: coarse)': 1,
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
249
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
250
|
+
// visible on touch. Never leaves the a11y tree.
|
|
251
|
+
conceal: {
|
|
252
|
+
transitionProperty: 'opacity',
|
|
253
|
+
transitionDuration: {
|
|
254
|
+
default: durationVars['--duration-fast'],
|
|
255
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
256
|
+
},
|
|
257
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
258
|
+
opacity: {
|
|
259
|
+
default: 1,
|
|
260
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': 0},
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
concealLayoutPreserved: {
|
|
264
|
+
transitionProperty: 'opacity',
|
|
265
|
+
transitionDuration: {
|
|
266
|
+
default: durationVars['--duration-fast'],
|
|
267
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
268
|
+
},
|
|
269
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
270
|
+
opacity: {
|
|
271
|
+
default: 1,
|
|
272
|
+
[stylex.when.ancestor(':hover', m2)]: {'@media (hover: hover)': 0},
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
export const m3 = stylex.defineMarker();
|
|
278
|
+
const s3 = stylex.create({
|
|
279
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
280
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
281
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
282
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
283
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
284
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
285
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
286
|
+
reveal: {
|
|
287
|
+
transitionProperty: 'opacity, position',
|
|
288
|
+
transitionDuration: {
|
|
289
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
290
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
291
|
+
},
|
|
292
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
293
|
+
transitionBehavior: 'allow-discrete',
|
|
294
|
+
transitionDelay: {
|
|
295
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
296
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
297
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': '0s, 0s'},
|
|
298
|
+
[stylex.when.ancestor(':focus-within', m3)]: '0s, 0s',
|
|
299
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
300
|
+
},
|
|
301
|
+
opacity: {
|
|
302
|
+
default: 0,
|
|
303
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': 1},
|
|
304
|
+
[stylex.when.ancestor(':focus-within', m3)]: 1,
|
|
305
|
+
'@media (any-pointer: coarse)': 1,
|
|
306
|
+
},
|
|
307
|
+
position: {
|
|
308
|
+
default: 'absolute',
|
|
309
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': 'static'},
|
|
310
|
+
[stylex.when.ancestor(':focus-within', m3)]: 'static',
|
|
311
|
+
'@media (any-pointer: coarse)': 'static',
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
315
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
316
|
+
revealLayoutPreserved: {
|
|
317
|
+
transitionProperty: 'opacity',
|
|
318
|
+
transitionDuration: {
|
|
319
|
+
default: durationVars['--duration-fast'],
|
|
320
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
321
|
+
},
|
|
322
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
323
|
+
opacity: {
|
|
324
|
+
default: 0,
|
|
325
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': 1},
|
|
326
|
+
[stylex.when.ancestor(':focus-within', m3)]: 1,
|
|
327
|
+
'@media (any-pointer: coarse)': 1,
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
331
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
332
|
+
// visible on touch. Never leaves the a11y tree.
|
|
333
|
+
conceal: {
|
|
334
|
+
transitionProperty: 'opacity',
|
|
335
|
+
transitionDuration: {
|
|
336
|
+
default: durationVars['--duration-fast'],
|
|
337
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
338
|
+
},
|
|
339
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
340
|
+
opacity: {
|
|
341
|
+
default: 1,
|
|
342
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': 0},
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
concealLayoutPreserved: {
|
|
346
|
+
transitionProperty: 'opacity',
|
|
347
|
+
transitionDuration: {
|
|
348
|
+
default: durationVars['--duration-fast'],
|
|
349
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
350
|
+
},
|
|
351
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
352
|
+
opacity: {
|
|
353
|
+
default: 1,
|
|
354
|
+
[stylex.when.ancestor(':hover', m3)]: {'@media (hover: hover)': 0},
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
export const m4 = stylex.defineMarker();
|
|
360
|
+
const s4 = stylex.create({
|
|
361
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
362
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
363
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
364
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
365
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
366
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
367
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
368
|
+
reveal: {
|
|
369
|
+
transitionProperty: 'opacity, position',
|
|
370
|
+
transitionDuration: {
|
|
371
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
372
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
373
|
+
},
|
|
374
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
375
|
+
transitionBehavior: 'allow-discrete',
|
|
376
|
+
transitionDelay: {
|
|
377
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
378
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
379
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': '0s, 0s'},
|
|
380
|
+
[stylex.when.ancestor(':focus-within', m4)]: '0s, 0s',
|
|
381
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
382
|
+
},
|
|
383
|
+
opacity: {
|
|
384
|
+
default: 0,
|
|
385
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': 1},
|
|
386
|
+
[stylex.when.ancestor(':focus-within', m4)]: 1,
|
|
387
|
+
'@media (any-pointer: coarse)': 1,
|
|
388
|
+
},
|
|
389
|
+
position: {
|
|
390
|
+
default: 'absolute',
|
|
391
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': 'static'},
|
|
392
|
+
[stylex.when.ancestor(':focus-within', m4)]: 'static',
|
|
393
|
+
'@media (any-pointer: coarse)': 'static',
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
397
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
398
|
+
revealLayoutPreserved: {
|
|
399
|
+
transitionProperty: 'opacity',
|
|
400
|
+
transitionDuration: {
|
|
401
|
+
default: durationVars['--duration-fast'],
|
|
402
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
403
|
+
},
|
|
404
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
405
|
+
opacity: {
|
|
406
|
+
default: 0,
|
|
407
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': 1},
|
|
408
|
+
[stylex.when.ancestor(':focus-within', m4)]: 1,
|
|
409
|
+
'@media (any-pointer: coarse)': 1,
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
413
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
414
|
+
// visible on touch. Never leaves the a11y tree.
|
|
415
|
+
conceal: {
|
|
416
|
+
transitionProperty: 'opacity',
|
|
417
|
+
transitionDuration: {
|
|
418
|
+
default: durationVars['--duration-fast'],
|
|
419
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
420
|
+
},
|
|
421
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
422
|
+
opacity: {
|
|
423
|
+
default: 1,
|
|
424
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': 0},
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
concealLayoutPreserved: {
|
|
428
|
+
transitionProperty: 'opacity',
|
|
429
|
+
transitionDuration: {
|
|
430
|
+
default: durationVars['--duration-fast'],
|
|
431
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
432
|
+
},
|
|
433
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
434
|
+
opacity: {
|
|
435
|
+
default: 1,
|
|
436
|
+
[stylex.when.ancestor(':hover', m4)]: {'@media (hover: hover)': 0},
|
|
437
|
+
},
|
|
438
|
+
},
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
export const m5 = stylex.defineMarker();
|
|
442
|
+
const s5 = stylex.create({
|
|
443
|
+
// Hidden at rest via position + opacity (kept in the a11y tree and tab
|
|
444
|
+
// order); on container :hover (fine pointer) or :focus-within it returns to
|
|
445
|
+
// flow and fades in. Always shown on touch. The position flip is discrete,
|
|
446
|
+
// so it transitions with allow-discrete + a state-conditional delay: 0 on
|
|
447
|
+
// entry (flips to static immediately, then fades in) and the fade duration
|
|
448
|
+
// on exit (stays in flow until the fade finishes, then snaps out) — without
|
|
449
|
+
// this, the exit would snap out of flow at full opacity and flicker.
|
|
450
|
+
reveal: {
|
|
451
|
+
transitionProperty: 'opacity, position',
|
|
452
|
+
transitionDuration: {
|
|
453
|
+
default: durationVars['--duration-fast'] + ', 0s',
|
|
454
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
455
|
+
},
|
|
456
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
457
|
+
transitionBehavior: 'allow-discrete',
|
|
458
|
+
transitionDelay: {
|
|
459
|
+
default: '0s, ' + durationVars['--duration-fast'],
|
|
460
|
+
'@media (prefers-reduced-motion: reduce)': '0s, 0s',
|
|
461
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': '0s, 0s'},
|
|
462
|
+
[stylex.when.ancestor(':focus-within', m5)]: '0s, 0s',
|
|
463
|
+
'@media (any-pointer: coarse)': '0s, 0s',
|
|
464
|
+
},
|
|
465
|
+
opacity: {
|
|
466
|
+
default: 0,
|
|
467
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': 1},
|
|
468
|
+
[stylex.when.ancestor(':focus-within', m5)]: 1,
|
|
469
|
+
'@media (any-pointer: coarse)': 1,
|
|
470
|
+
},
|
|
471
|
+
position: {
|
|
472
|
+
default: 'absolute',
|
|
473
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': 'static'},
|
|
474
|
+
[stylex.when.ancestor(':focus-within', m5)]: 'static',
|
|
475
|
+
'@media (any-pointer: coarse)': 'static',
|
|
476
|
+
},
|
|
477
|
+
},
|
|
478
|
+
// Opacity-only reveal that keeps the box reserved (no layout shift). Use for
|
|
479
|
+
// content that is already positioned (e.g. an absolute overlay).
|
|
480
|
+
revealLayoutPreserved: {
|
|
481
|
+
transitionProperty: 'opacity',
|
|
482
|
+
transitionDuration: {
|
|
483
|
+
default: durationVars['--duration-fast'],
|
|
484
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
485
|
+
},
|
|
486
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
487
|
+
opacity: {
|
|
488
|
+
default: 0,
|
|
489
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': 1},
|
|
490
|
+
[stylex.when.ancestor(':focus-within', m5)]: 1,
|
|
491
|
+
'@media (any-pointer: coarse)': 1,
|
|
492
|
+
},
|
|
493
|
+
},
|
|
494
|
+
// Inverted: visible at rest, fades OUT on :hover only. Deliberately ignores
|
|
495
|
+
// :focus-within (a keyboard user must never watch content vanish) and stays
|
|
496
|
+
// visible on touch. Never leaves the a11y tree.
|
|
497
|
+
conceal: {
|
|
498
|
+
transitionProperty: 'opacity',
|
|
499
|
+
transitionDuration: {
|
|
500
|
+
default: durationVars['--duration-fast'],
|
|
501
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
502
|
+
},
|
|
503
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
504
|
+
opacity: {
|
|
505
|
+
default: 1,
|
|
506
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': 0},
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
concealLayoutPreserved: {
|
|
510
|
+
transitionProperty: 'opacity',
|
|
511
|
+
transitionDuration: {
|
|
512
|
+
default: durationVars['--duration-fast'],
|
|
513
|
+
'@media (prefers-reduced-motion: reduce)': '0s',
|
|
514
|
+
},
|
|
515
|
+
transitionTimingFunction: easeVars['--ease-standard'],
|
|
516
|
+
opacity: {
|
|
517
|
+
default: 1,
|
|
518
|
+
[stylex.when.ancestor(':hover', m5)]: {'@media (hover: hover)': 0},
|
|
519
|
+
},
|
|
520
|
+
},
|
|
521
|
+
});
|
|
522
|
+
|
|
523
|
+
// The compiled StyleX style objects carry `when.ancestor` conditionals that
|
|
524
|
+
// the public `StyleXStyles` type does not model, so the slot shape is inferred
|
|
525
|
+
// from the generated blocks rather than annotated.
|
|
526
|
+
export const POOL = [
|
|
527
|
+
{
|
|
528
|
+
marker: m0,
|
|
529
|
+
reveal: s0.reveal,
|
|
530
|
+
revealLayoutPreserved: s0.revealLayoutPreserved,
|
|
531
|
+
conceal: s0.conceal,
|
|
532
|
+
concealLayoutPreserved: s0.concealLayoutPreserved,
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
marker: m1,
|
|
536
|
+
reveal: s1.reveal,
|
|
537
|
+
revealLayoutPreserved: s1.revealLayoutPreserved,
|
|
538
|
+
conceal: s1.conceal,
|
|
539
|
+
concealLayoutPreserved: s1.concealLayoutPreserved,
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
marker: m2,
|
|
543
|
+
reveal: s2.reveal,
|
|
544
|
+
revealLayoutPreserved: s2.revealLayoutPreserved,
|
|
545
|
+
conceal: s2.conceal,
|
|
546
|
+
concealLayoutPreserved: s2.concealLayoutPreserved,
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
marker: m3,
|
|
550
|
+
reveal: s3.reveal,
|
|
551
|
+
revealLayoutPreserved: s3.revealLayoutPreserved,
|
|
552
|
+
conceal: s3.conceal,
|
|
553
|
+
concealLayoutPreserved: s3.concealLayoutPreserved,
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
marker: m4,
|
|
557
|
+
reveal: s4.reveal,
|
|
558
|
+
revealLayoutPreserved: s4.revealLayoutPreserved,
|
|
559
|
+
conceal: s4.conceal,
|
|
560
|
+
concealLayoutPreserved: s4.concealLayoutPreserved,
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
marker: m5,
|
|
564
|
+
reveal: s5.reveal,
|
|
565
|
+
revealLayoutPreserved: s5.revealLayoutPreserved,
|
|
566
|
+
conceal: s5.conceal,
|
|
567
|
+
concealLayoutPreserved: s5.concealLayoutPreserved,
|
|
568
|
+
},
|
|
569
|
+
] as const;
|
|
570
|
+
|
|
571
|
+
export type RevealSlot = (typeof POOL)[number];
|
package/src/hooks/index.ts
CHANGED
|
@@ -92,3 +92,10 @@ export {useLongPress} from './useLongPress';
|
|
|
92
92
|
export type {UseLongPressOptions, UseLongPressHandlers} from './useLongPress';
|
|
93
93
|
|
|
94
94
|
export {useDevWarning} from './useDevWarning';
|
|
95
|
+
|
|
96
|
+
export {useContainerReveal} from './useContainerReveal';
|
|
97
|
+
export type {
|
|
98
|
+
UseContainerRevealOptions,
|
|
99
|
+
UseContainerRevealReturn,
|
|
100
|
+
ContentRevealOptions,
|
|
101
|
+
} from './useContainerReveal';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').HookDoc} */
|
|
4
4
|
export const docs = {
|
|
5
5
|
name: 'useClickableContainer',
|
|
6
6
|
displayName: 'useClickableContainer',
|
|
@@ -77,7 +77,7 @@ export const docs = {
|
|
|
77
77
|
category: 'interaction',
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
/** @type {import('
|
|
80
|
+
/** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
|
|
81
81
|
export const docsDense = {
|
|
82
82
|
description:
|
|
83
83
|
'Makes container element clickable while preserving nested interactive element behavior. Solves "nested interactive elements" problem: when card is clickable but contains buttons/links, clicking those must NOT trigger card\'s action. Detects interactive ancestors between click target + container, ignores text selections. Supports href navigation (incl. middle-click + Ctrl/Cmd+click for new tabs).',
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').HookDoc} */
|
|
4
|
+
export const docs = {
|
|
5
|
+
name: 'useContainerReveal',
|
|
6
|
+
displayName: 'useContainerReveal',
|
|
7
|
+
keywords: ['reveal', 'hover', 'focus', 'container', 'row', 'actions', 'overlay', 'conceal', 'hidden', 'show'],
|
|
8
|
+
params: [
|
|
9
|
+
{
|
|
10
|
+
name: 'options',
|
|
11
|
+
type: 'UseContainerRevealOptions',
|
|
12
|
+
description: 'Configuration object for the reveal container. Optional.',
|
|
13
|
+
required: false,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'options.isEnabled',
|
|
17
|
+
type: 'boolean',
|
|
18
|
+
description: 'When false the hook is inert: no marker is applied and content getters return no styles, so content is always shown. Lets a component gate reveal on its own prop (e.g. revealOn === "hover").',
|
|
19
|
+
default: 'true',
|
|
20
|
+
required: false,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
returns: [
|
|
24
|
+
{
|
|
25
|
+
name: 'getContainerProps',
|
|
26
|
+
type: '() => {className?: string; style?: CSSProperties}',
|
|
27
|
+
description: 'Spread onto the container whose hover/focus-within drives the reveal.',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'getContentRevealProps',
|
|
31
|
+
type: '(options?: ContentRevealOptions) => {className?: string; style?: CSSProperties}',
|
|
32
|
+
description: 'Spread onto each revealed (or concealed) child. Accepts isRevealInverted to conceal-on-hover instead of reveal-on-hover, and isLayoutPreserved to reserve the layout box while hidden (opacity-only) and avoid layout shift.',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
usage: {
|
|
36
|
+
description:
|
|
37
|
+
'A headless hover/focus reveal primitive. Gives a container a scoped trigger that reveals (or conceals) content inside it when the container is hovered or receives keyboard focus: the classic "row actions appear on hover" pattern. The reveal is CSS-only: no hover state lives in React and hovering never triggers a re-render. The caller authors no StyleX for the reveal itself; the hook hands out a scoped marker and matching styles, so nested containers never leak hover/focus into one another. Accessible by construction: revealed content is visually hidden at rest with position and opacity (never display:none), so it stays mounted, keeps its place in the tab order, and is announced to assistive technology; it reveals on :focus-within so keyboard users see it when tabbing in, stays visible on touch (never gated behind hover on coarse pointers), and honors prefers-reduced-motion.',
|
|
38
|
+
bestPractices: [
|
|
39
|
+
{ guidance: true, description: 'Destructure getContainerProps and getContentRevealProps; spread getContainerProps() on the container (via mergeProps with your own stylex.props) and getContentRevealProps() on the content to reveal.' },
|
|
40
|
+
{ guidance: true, description: 'Use for secondary affordances: reveal-on-hover row actions (edit/copy/remove on list or table rows) and overlay controls on a card or media tile (e.g. Thumbnail\'s remove button).' },
|
|
41
|
+
{ guidance: true, description: 'Gate the reveal with isEnabled when a consumer prop decides whether content is revealed on hover or always shown.' },
|
|
42
|
+
{ guidance: true, description: 'Pass isLayoutPreserved for absolutely-positioned or overlay content to reserve its box and avoid layout shift when it appears.' },
|
|
43
|
+
{ guidance: false, description: 'Use it to hide content that must always be discoverable; keep essential actions visible instead of gating them behind hover.' },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
relatedComponents: ['Thumbnail'],
|
|
47
|
+
relatedHooks: ['useClickableContainer'],
|
|
48
|
+
importPath: '@astryxdesign/core/hooks',
|
|
49
|
+
category: 'interaction',
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
|
|
53
|
+
export const docsDense = {
|
|
54
|
+
description:
|
|
55
|
+
'Headless hover/focus reveal primitive. Gives a container a scoped trigger that reveals (or conceals) content inside it on hover / keyboard focus: the "row actions appear on hover" pattern. CSS-only: no hover state in React, no re-render on hover. Caller authors no StyleX; hook hands out a scoped marker + matching styles, so nested containers never leak hover/focus. Accessible: revealed content visually hidden at rest via position + opacity (never display:none), stays mounted + in tab order + announced; reveals on :focus-within, stays visible on touch, honors prefers-reduced-motion.',
|
|
56
|
+
paramDescriptions: {
|
|
57
|
+
options: 'config for reveal container. optional.',
|
|
58
|
+
'options.isEnabled': 'when false hook is inert: no marker, content getters return no styles, content always shown. Lets component gate reveal on its own prop.',
|
|
59
|
+
},
|
|
60
|
+
returnDescriptions: {
|
|
61
|
+
getContainerProps: 'spread onto container whose hover/focus-within drives reveal.',
|
|
62
|
+
getContentRevealProps: 'spread onto each revealed / concealed child. Accepts isRevealInverted (conceal-on-hover) + isLayoutPreserved (reserve layout box while hidden).',
|
|
63
|
+
},
|
|
64
|
+
usage: {
|
|
65
|
+
description:
|
|
66
|
+
'Headless hover/focus reveal primitive. Gives a container a scoped trigger that reveals (or conceals) content inside it on hover / keyboard focus: the "row actions appear on hover" pattern. CSS-only: no hover state in React, no re-render on hover. Caller authors no StyleX; hook hands out a scoped marker + matching styles, so nested containers never leak hover/focus. Accessible: revealed content visually hidden at rest via position + opacity (never display:none), stays mounted + in tab order + announced; reveals on :focus-within, stays visible on touch, honors prefers-reduced-motion.',
|
|
67
|
+
bestPractices: [
|
|
68
|
+
{ guidance: true, description: 'Destructure getContainerProps + getContentRevealProps; spread getContainerProps() on container (via mergeProps w/ your stylex.props) + getContentRevealProps() on content to reveal.' },
|
|
69
|
+
{ guidance: true, description: 'Use for secondary affordances: reveal-on-hover row actions (edit/copy/remove on list / table rows) + overlay controls on card / media tile (e.g. Thumbnail remove button).' },
|
|
70
|
+
{ guidance: true, description: 'Gate reveal w/ isEnabled when a consumer prop decides revealed-on-hover vs always shown.' },
|
|
71
|
+
{ guidance: true, description: 'Pass isLayoutPreserved for absolutely-positioned / overlay content to reserve its box + avoid layout shift.' },
|
|
72
|
+
{ guidance: false, description: 'Use to hide content that must always be discoverable; keep essential actions visible instead of gating behind hover.' },
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
};
|