@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
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SYNC: When modified, update:
|
|
16
16
|
* - /packages/core/src/Chat/index.ts
|
|
17
|
-
* - /packages/cli/templates/blocks/components/ChatTokenizedText/ (block examples)
|
|
17
|
+
* - /packages/cli/assets/templates/blocks/components/ChatTokenizedText/ (block examples)
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import React, {type ReactNode} from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
4
4
|
|
|
5
5
|
export const docs = {
|
|
6
6
|
name: 'ChatToolCalls',
|
|
@@ -73,7 +73,7 @@ export const docs = {
|
|
|
73
73
|
],
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
-
/** @type {import('
|
|
76
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
77
77
|
export const docsZh = {
|
|
78
78
|
usage: {
|
|
79
79
|
description:
|
|
@@ -97,7 +97,7 @@ export const docsZh = {
|
|
|
97
97
|
},
|
|
98
98
|
};
|
|
99
99
|
|
|
100
|
-
/** @type {import('
|
|
100
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
101
101
|
export const docsDense = {
|
|
102
102
|
description: 'tool/function call display from LLM response; single=inline, multiple=collapsible summary w/ latest at surface',
|
|
103
103
|
usage: {
|
|
@@ -216,4 +216,39 @@ describe('ChatToolCalls', () => {
|
|
|
216
216
|
expect(region).toHaveTextContent('searchCode');
|
|
217
217
|
expect(region).toHaveTextContent('readFile');
|
|
218
218
|
});
|
|
219
|
+
|
|
220
|
+
it('compensates the grouped rows overhang on the clip boundary so the hover background is not cut off', () => {
|
|
221
|
+
render(
|
|
222
|
+
<ChatToolCalls
|
|
223
|
+
defaultIsExpanded={true}
|
|
224
|
+
calls={[
|
|
225
|
+
{name: 'bash', status: 'complete'},
|
|
226
|
+
{name: 'read', status: 'complete'},
|
|
227
|
+
]}
|
|
228
|
+
/>,
|
|
229
|
+
);
|
|
230
|
+
const regionId = screen.getByRole('button').getAttribute('aria-controls');
|
|
231
|
+
const groupContent = document.getElementById(regionId as string);
|
|
232
|
+
// groupContentInner is the overflow:hidden clip boundary required for the
|
|
233
|
+
// grid height animation; its direct child (`list`) pulls itself outward
|
|
234
|
+
// by a negative inline margin so each row's hover background can overhang
|
|
235
|
+
// the text column without widening the layout. Without a matching
|
|
236
|
+
// padding/negative-margin pair on groupContentInner itself, that overhang
|
|
237
|
+
// extends past the clip boundary and gets cut off (#4830) instead of
|
|
238
|
+
// being absorbed the same way it is for a single, unwrapped call row.
|
|
239
|
+
const groupContentInner = groupContent!.firstElementChild as HTMLElement;
|
|
240
|
+
const list = groupContentInner.firstElementChild as HTMLElement;
|
|
241
|
+
// jsdom's getComputedStyle doesn't resolve StyleX's generated atomic
|
|
242
|
+
// classes here, so assert on the classes directly instead. StyleX emits
|
|
243
|
+
// one atomic class per distinct property+value pair, so identical
|
|
244
|
+
// paddingInline/marginInline values on two elements always produce the
|
|
245
|
+
// exact same class names — if groupContentInner mirrors list's
|
|
246
|
+
// padding/margin pair, their class lists intersect on (at least) those
|
|
247
|
+
// two classes; if the fix is missing, groupContentInner only has its own
|
|
248
|
+
// unrelated overflow/minHeight classes and shares nothing with list.
|
|
249
|
+
const innerClasses = new Set(groupContentInner.className.split(' '));
|
|
250
|
+
const listClasses = new Set(list.className.split(' '));
|
|
251
|
+
const shared = [...listClasses].filter(c => innerClasses.has(c));
|
|
252
|
+
expect(shared.length).toBeGreaterThanOrEqual(2);
|
|
253
|
+
});
|
|
219
254
|
});
|
|
@@ -134,6 +134,10 @@ const styles = stylex.create({
|
|
|
134
134
|
width: '14px',
|
|
135
135
|
height: '14px',
|
|
136
136
|
color: colorVars['--color-text-disabled'],
|
|
137
|
+
},
|
|
138
|
+
// Rides on the chevron <Icon> (via `xstyle`), next to the rotation it
|
|
139
|
+
// animates, so one element carries both the transform and the theme target.
|
|
140
|
+
chevronTransition: {
|
|
137
141
|
transition: {
|
|
138
142
|
default: `transform ${durationVars['--duration-fast']} ${easeVars['--ease-standard']}`,
|
|
139
143
|
'@media (prefers-reduced-motion: reduce)': 'none',
|
|
@@ -156,6 +160,18 @@ const styles = stylex.create({
|
|
|
156
160
|
groupContentInner: {
|
|
157
161
|
overflow: 'hidden',
|
|
158
162
|
minHeight: 0,
|
|
163
|
+
// `list` (and, within it, each `callRowClickable` row) overhangs its own
|
|
164
|
+
// content box by `--spacing-1` on each inline edge via a negative margin,
|
|
165
|
+
// so its hover background can extend past the text column without
|
|
166
|
+
// widening the layout — `list`'s own matching paddingInline absorbs the
|
|
167
|
+
// row-level overhang, but `list`'s negative margin then overhangs *this*
|
|
168
|
+
// element's box by the same amount, and this is the clip boundary the
|
|
169
|
+
// grid height animation needs `overflow: hidden` for. Mirror the same
|
|
170
|
+
// padding/negative-margin pair here so that overhang is absorbed too,
|
|
171
|
+
// instead of clipped — matching the ungrouped single-call row, which has
|
|
172
|
+
// no such wrapper to clip it.
|
|
173
|
+
paddingInline: spacingVars['--spacing-1'],
|
|
174
|
+
marginInline: `calc(-1 * ${spacingVars['--spacing-1']})`,
|
|
159
175
|
},
|
|
160
176
|
list: {
|
|
161
177
|
display: 'flex',
|
|
@@ -273,10 +289,6 @@ const styles = stylex.create({
|
|
|
273
289
|
width: '14px',
|
|
274
290
|
height: '14px',
|
|
275
291
|
color: colorVars['--color-text-disabled'],
|
|
276
|
-
transition: {
|
|
277
|
-
default: `transform ${durationVars['--duration-fast']} ${easeVars['--ease-standard']}`,
|
|
278
|
-
'@media (prefers-reduced-motion: reduce)': 'none',
|
|
279
|
-
},
|
|
280
292
|
marginInlineStart: 'auto',
|
|
281
293
|
},
|
|
282
294
|
callDetailContent: {
|
|
@@ -451,12 +463,16 @@ function CallRow({call}: {call: ChatToolCallItem}) {
|
|
|
451
463
|
<span {...stylex.props(styles.callDuration)}>{call.duration}</span>
|
|
452
464
|
)}
|
|
453
465
|
{hasDetail && (
|
|
454
|
-
<span
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
466
|
+
<span {...stylex.props(styles.callDetailChevron)}>
|
|
467
|
+
<Icon
|
|
468
|
+
icon="chevronDown"
|
|
469
|
+
size="xsm"
|
|
470
|
+
color="inherit"
|
|
471
|
+
xstyle={[
|
|
472
|
+
styles.chevronTransition,
|
|
473
|
+
isDetailOpen && styles.chevronExpanded,
|
|
474
|
+
]}
|
|
475
|
+
/>
|
|
460
476
|
</span>
|
|
461
477
|
)}
|
|
462
478
|
</div>
|
|
@@ -627,12 +643,16 @@ export function ChatToolCalls(props: ChatToolCallsProps) {
|
|
|
627
643
|
</>
|
|
628
644
|
)}
|
|
629
645
|
</span>
|
|
630
|
-
<span
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
646
|
+
<span {...stylex.props(styles.chevron)}>
|
|
647
|
+
<Icon
|
|
648
|
+
icon="chevronDown"
|
|
649
|
+
size="xsm"
|
|
650
|
+
color="inherit"
|
|
651
|
+
xstyle={[
|
|
652
|
+
styles.chevronTransition,
|
|
653
|
+
isExpanded && styles.chevronExpanded,
|
|
654
|
+
]}
|
|
655
|
+
/>
|
|
636
656
|
</span>
|
|
637
657
|
</div>
|
|
638
658
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
4
4
|
|
|
5
5
|
export const docs = {
|
|
6
6
|
name: 'CheckboxInput',
|
|
@@ -153,7 +153,7 @@ export const docs = {
|
|
|
153
153
|
},
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
-
/** @type {import('
|
|
156
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
157
157
|
export const docsZh = {
|
|
158
158
|
name: 'CheckboxInput',
|
|
159
159
|
displayName: 'Checkbox Input',
|
|
@@ -211,7 +211,7 @@ export const docsZh = {
|
|
|
211
211
|
},
|
|
212
212
|
};
|
|
213
213
|
|
|
214
|
-
/** @type {import('
|
|
214
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
215
215
|
export const docsDense = {
|
|
216
216
|
description: 'single on/off toggle for settings, terms, and opt-in choices',
|
|
217
217
|
usage: {
|
|
@@ -13,6 +13,7 @@ import {describe, it, expect, vi, beforeEach, afterEach} from 'vitest';
|
|
|
13
13
|
import {render, screen, fireEvent, waitFor} from '@testing-library/react';
|
|
14
14
|
import userEvent from '@testing-library/user-event';
|
|
15
15
|
import {CheckboxInput} from './CheckboxInput';
|
|
16
|
+
import {getForcedColorsRules} from '../__tests__/forcedColors';
|
|
16
17
|
import {__resetLiveRegionsForTest} from '../hooks/useAnnounce';
|
|
17
18
|
|
|
18
19
|
afterEach(() => {
|
|
@@ -143,6 +144,39 @@ describe('CheckboxInput', () => {
|
|
|
143
144
|
expect(checkbox).toHaveAttribute('aria-describedby', description.id);
|
|
144
145
|
});
|
|
145
146
|
|
|
147
|
+
it('toggles when clicking on the description', async () => {
|
|
148
|
+
const user = userEvent.setup();
|
|
149
|
+
const handleChange = vi.fn();
|
|
150
|
+
render(
|
|
151
|
+
<CheckboxInput
|
|
152
|
+
label="Subscribe"
|
|
153
|
+
description="Receive weekly updates"
|
|
154
|
+
value={false}
|
|
155
|
+
onChange={handleChange}
|
|
156
|
+
/>,
|
|
157
|
+
);
|
|
158
|
+
await user.click(screen.getByText('Receive weekly updates'));
|
|
159
|
+
expect(handleChange).toHaveBeenCalledWith(true, expect.any(Object));
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it('does not fold the description into the checkbox accessible name', () => {
|
|
163
|
+
// The description stays a sibling of the <label>, so it must NOT become
|
|
164
|
+
// part of the checkbox's accessible name (which is computed from the
|
|
165
|
+
// associated label). It belongs in the accessible DESCRIPTION only
|
|
166
|
+
// (via aria-describedby) — otherwise screen readers announce it twice.
|
|
167
|
+
render(
|
|
168
|
+
<CheckboxInput
|
|
169
|
+
label="Email notifications"
|
|
170
|
+
description="We'll send weekly digests"
|
|
171
|
+
value={false}
|
|
172
|
+
onChange={() => {}}
|
|
173
|
+
/>,
|
|
174
|
+
);
|
|
175
|
+
const checkbox = screen.getByRole('checkbox');
|
|
176
|
+
expect(checkbox).toHaveAccessibleName('Email notifications');
|
|
177
|
+
expect(checkbox).toHaveAccessibleDescription("We'll send weekly digests");
|
|
178
|
+
});
|
|
179
|
+
|
|
146
180
|
it('is disabled when isDisabled prop is true', () => {
|
|
147
181
|
render(
|
|
148
182
|
<CheckboxInput
|
|
@@ -543,3 +577,25 @@ describe('CheckboxInput', () => {
|
|
|
543
577
|
});
|
|
544
578
|
});
|
|
545
579
|
});
|
|
580
|
+
|
|
581
|
+
// jsdom cannot emulate forced-colors rendering, so this asserts that the
|
|
582
|
+
// compiled output includes the forced-colors rule; visual behavior needs
|
|
583
|
+
// manual verification under Windows High Contrast.
|
|
584
|
+
describe('forced colors (WCAG 1.4.11)', () => {
|
|
585
|
+
it('compiles a forced-colors fill so the indeterminate mark survives Windows High Contrast', () => {
|
|
586
|
+
render(
|
|
587
|
+
<CheckboxInput label="All" value="indeterminate" onChange={() => {}} />,
|
|
588
|
+
);
|
|
589
|
+
// The painted indeterminate bar would be stripped to Canvas (invisible);
|
|
590
|
+
// CanvasText keeps it perceivable.
|
|
591
|
+
expect(getForcedColorsRules()).toContain('background-color: canvastext;');
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
it('compiles a forced-colors color so the checkmark survives Windows High Contrast', () => {
|
|
595
|
+
render(<CheckboxInput label="Accept" value={true} onChange={() => {}} />);
|
|
596
|
+
// The check strokes with currentColor; forced colors leaves it the same
|
|
597
|
+
// white as the flattened box, so it needs its own CanvasText color to stay
|
|
598
|
+
// perceivable on the Canvas box.
|
|
599
|
+
expect(getForcedColorsRules()).toContain('color: canvastext;');
|
|
600
|
+
});
|
|
601
|
+
});
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/CheckboxInput/CheckboxInput.test.tsx (tests for new/changed behavior)
|
|
14
14
|
* - /packages/core/src/CheckboxInput/index.ts (exports if types change)
|
|
15
15
|
* - /apps/storybook/stories/CheckboxInput.stories.tsx (storybook stories)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/CheckboxInput/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/CheckboxInput/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import {
|
|
@@ -158,14 +158,29 @@ const styles = stylex.create({
|
|
|
158
158
|
},
|
|
159
159
|
checkmark: {
|
|
160
160
|
display: 'none',
|
|
161
|
-
color:
|
|
161
|
+
color: {
|
|
162
|
+
default: colorVars['--color-on-accent'],
|
|
163
|
+
// Forced colors (Windows High Contrast) does not reliably force an SVG
|
|
164
|
+
// stroke painted with currentColor, so the check stays the same white as
|
|
165
|
+
// the flattened (Canvas) box fill — a white check on a white box.
|
|
166
|
+
// CanvasText keeps it perceivable on the Canvas box, matching the
|
|
167
|
+
// indeterminate mark (WCAG 1.4.11).
|
|
168
|
+
'@media (forced-colors: active)': 'CanvasText',
|
|
169
|
+
},
|
|
162
170
|
},
|
|
163
171
|
checkmarkVisible: {
|
|
164
172
|
display: 'block',
|
|
165
173
|
},
|
|
166
174
|
indeterminateMark: {
|
|
167
175
|
display: 'none',
|
|
168
|
-
backgroundColor:
|
|
176
|
+
backgroundColor: {
|
|
177
|
+
default: colorVars['--color-on-accent'],
|
|
178
|
+
// Forced colors (Windows High Contrast) strips painted backgrounds,
|
|
179
|
+
// which would make the indeterminate bar invisible; CanvasText keeps it
|
|
180
|
+
// perceivable on the Canvas box fill (WCAG 1.4.11). The checkmark carries
|
|
181
|
+
// the matching CanvasText treatment on its own style.
|
|
182
|
+
'@media (forced-colors: active)': 'CanvasText',
|
|
183
|
+
},
|
|
169
184
|
borderRadius: radiusVars['--radius-full'],
|
|
170
185
|
},
|
|
171
186
|
indeterminateMarkVisible: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
4
4
|
|
|
5
5
|
export const docs = {
|
|
6
6
|
name: 'CheckboxList',
|
|
@@ -121,7 +121,7 @@ export const docs = {
|
|
|
121
121
|
},
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
/** @type {import('
|
|
124
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
125
125
|
export const docsZh = {
|
|
126
126
|
usage: {
|
|
127
127
|
description: 'CheckboxList shows a small group of checkboxes so users can turn several options on or off at once. Place it in settings pages, filter panels, or forms where every choice should be visible without scrolling. For a single standalone checkbox (like "I agree to the terms"), use CheckboxInput instead. If only one option can be picked, use RadioList. If the list is long enough to need searching or scrolling, use MultiSelector instead.',
|
|
@@ -136,7 +136,7 @@ export const docsZh = {
|
|
|
136
136
|
},
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
-
/** @type {import('
|
|
139
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
140
140
|
export const docsDense = {
|
|
141
141
|
description:
|
|
142
142
|
'Checkbox group component for multi-value selection. Collection mode (parent state) + standalone mode (per-item state).',
|
|
@@ -154,14 +154,105 @@ describe('CheckboxList', () => {
|
|
|
154
154
|
</CheckboxList>,
|
|
155
155
|
);
|
|
156
156
|
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
|
|
157
|
+
// The row is a pointer-only click surface (no invisible row button — the
|
|
158
|
+
// checkbox is the option's only tab stop). Click the row's label area,
|
|
159
|
+
// where the composed onClick fires — not the inner checkbox.
|
|
160
|
+
expect(
|
|
161
|
+
screen.queryByRole('button', {name: 'Option B'}),
|
|
162
|
+
).not.toBeInTheDocument();
|
|
163
|
+
// The text also exists in the checkbox's visually hidden <label>; target
|
|
164
|
+
// the row's label <span> to click the row surface.
|
|
165
|
+
await user.click(screen.getByText('Option B', {selector: 'span'}));
|
|
160
166
|
|
|
161
167
|
expect(handleClick).toHaveBeenCalledTimes(1);
|
|
162
168
|
expect(handleChange).toHaveBeenCalledWith(['a', 'b']);
|
|
163
169
|
});
|
|
164
170
|
|
|
171
|
+
describe('single tab stop per option (WCAG 4.1.2 / APG checkbox pattern)', () => {
|
|
172
|
+
it('renders exactly one focusable control per option — the checkbox, no row button', () => {
|
|
173
|
+
render(
|
|
174
|
+
<CheckboxList label="Preferences" value={['a']} onChange={() => {}}>
|
|
175
|
+
<CheckboxListItem label="Option A" value="a" />
|
|
176
|
+
<CheckboxListItem label="Option B" value="b" />
|
|
177
|
+
</CheckboxList>,
|
|
178
|
+
);
|
|
179
|
+
// No invisible whole-row button duplicating the checkbox's action.
|
|
180
|
+
expect(screen.queryByRole('button')).not.toBeInTheDocument();
|
|
181
|
+
for (const item of screen.getAllByRole('listitem')) {
|
|
182
|
+
const focusables = item.querySelectorAll(
|
|
183
|
+
'button, a[href], input, select, textarea, [tabindex]:not([tabindex="-1"])',
|
|
184
|
+
);
|
|
185
|
+
expect(focusables).toHaveLength(1);
|
|
186
|
+
expect(focusables[0]).toBe(within(item).getByRole('checkbox'));
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it('Tab moves directly from one option checkbox to the next', async () => {
|
|
191
|
+
const user = userEvent.setup();
|
|
192
|
+
render(
|
|
193
|
+
<CheckboxList label="Preferences" value={[]} onChange={() => {}}>
|
|
194
|
+
<CheckboxListItem label="Option A" value="a" />
|
|
195
|
+
<CheckboxListItem label="Option B" value="b" />
|
|
196
|
+
</CheckboxList>,
|
|
197
|
+
);
|
|
198
|
+
await user.tab();
|
|
199
|
+
expect(screen.getByRole('checkbox', {name: 'Option A'})).toHaveFocus();
|
|
200
|
+
await user.tab();
|
|
201
|
+
expect(screen.getByRole('checkbox', {name: 'Option B'})).toHaveFocus();
|
|
202
|
+
// No further tab stop inside the list (the row itself is not focusable).
|
|
203
|
+
await user.tab();
|
|
204
|
+
expect(document.body).toHaveFocus();
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
it('clicking the row surface (outside the checkbox) still toggles', async () => {
|
|
208
|
+
const user = userEvent.setup();
|
|
209
|
+
const handleChange = vi.fn();
|
|
210
|
+
render(
|
|
211
|
+
<CheckboxList label="Preferences" value={['a']} onChange={handleChange}>
|
|
212
|
+
<CheckboxListItem label="Option A" value="a" />
|
|
213
|
+
<CheckboxListItem label="Option B" value="b" />
|
|
214
|
+
</CheckboxList>,
|
|
215
|
+
);
|
|
216
|
+
// The text also exists in the checkbox's visually hidden <label>;
|
|
217
|
+
// target the row's label <span> to click the row surface.
|
|
218
|
+
await user.click(screen.getByText('Option B', {selector: 'span'}));
|
|
219
|
+
expect(handleChange).toHaveBeenCalledTimes(1);
|
|
220
|
+
expect(handleChange).toHaveBeenCalledWith(['a', 'b']);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it('toggles with Space on the focused checkbox, which reports checked state', async () => {
|
|
224
|
+
const user = userEvent.setup();
|
|
225
|
+
const handleChange = vi.fn();
|
|
226
|
+
render(
|
|
227
|
+
<CheckboxList label="Preferences" value={['a']} onChange={handleChange}>
|
|
228
|
+
<CheckboxListItem label="Option A" value="a" />
|
|
229
|
+
<CheckboxListItem label="Option B" value="b" />
|
|
230
|
+
</CheckboxList>,
|
|
231
|
+
);
|
|
232
|
+
await user.tab();
|
|
233
|
+
// The focused control is the checkbox itself, so its accessible name
|
|
234
|
+
// and checked state are what assistive tech announces on focus.
|
|
235
|
+
const checkboxA = screen.getByRole('checkbox', {name: 'Option A'});
|
|
236
|
+
expect(checkboxA).toHaveFocus();
|
|
237
|
+
expect(checkboxA).toBeChecked();
|
|
238
|
+
await user.keyboard(' ');
|
|
239
|
+
expect(handleChange).toHaveBeenCalledTimes(1);
|
|
240
|
+
expect(handleChange).toHaveBeenCalledWith([]);
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
it('the row itself is not focusable', () => {
|
|
244
|
+
render(
|
|
245
|
+
<CheckboxList label="Preferences" value={[]} onChange={() => {}}>
|
|
246
|
+
<CheckboxListItem label="Option A" value="a" />
|
|
247
|
+
</CheckboxList>,
|
|
248
|
+
);
|
|
249
|
+
const item = screen.getByRole('listitem');
|
|
250
|
+
expect(item).not.toHaveAttribute('tabindex');
|
|
251
|
+
item.focus();
|
|
252
|
+
expect(item).not.toHaveFocus();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
|
|
165
256
|
it('disables all checkboxes when group isDisabled is true', () => {
|
|
166
257
|
render(
|
|
167
258
|
<CheckboxList
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/CheckboxList/CheckboxList.test.tsx
|
|
14
14
|
* - /packages/core/src/CheckboxList/index.ts
|
|
15
15
|
* - /apps/storybook/stories/CheckboxList.stories.tsx
|
|
16
|
-
* - /packages/cli/templates/blocks/components/CheckboxList/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/CheckboxList/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import {
|
|
@@ -13,15 +13,14 @@
|
|
|
13
13
|
* - /packages/core/src/CheckboxList/CheckboxList.test.tsx
|
|
14
14
|
* - /packages/core/src/CheckboxList/index.ts
|
|
15
15
|
* - /apps/storybook/stories/CheckboxList.stories.tsx
|
|
16
|
-
* - /packages/cli/templates/blocks/components/CheckboxList/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/CheckboxList/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import {use,
|
|
19
|
+
import {use, useRef, type ReactNode} from 'react';
|
|
20
20
|
import * as stylex from '@stylexjs/stylex';
|
|
21
21
|
import type {StyleXStyles} from '@stylexjs/stylex';
|
|
22
22
|
import {colorVars} from '../theme/tokens.stylex';
|
|
23
23
|
import type {BaseProps} from '../BaseProps';
|
|
24
|
-
import {composeEventHandlers} from '../utils';
|
|
25
24
|
import {useDevWarning} from '../hooks/useDevWarning';
|
|
26
25
|
import {CheckboxInput} from '../CheckboxInput/CheckboxInput';
|
|
27
26
|
import {ListItem} from '../List/ListItem';
|
|
@@ -212,6 +211,14 @@ export function CheckboxListItem({
|
|
|
212
211
|
// Whether this item is interactive (has a toggle handler)
|
|
213
212
|
const isInteractive = !effectiveReadOnly && (ctx != null || onCheck != null);
|
|
214
213
|
|
|
214
|
+
// The checkbox is the row's single keyboard control and action. The row is
|
|
215
|
+
// an enlarged click/tap target that delegates surface clicks to it via
|
|
216
|
+
// ListItem's `interactiveRef` (useClickableContainer), so each option is
|
|
217
|
+
// exactly one tab stop. Delegate whenever the row should respond to clicks:
|
|
218
|
+
// a toggleable item, or one carrying a consumer `onClick`.
|
|
219
|
+
const checkboxRef = useRef<HTMLInputElement | null>(null);
|
|
220
|
+
const hasRowInteraction = isInteractive || onClickProp != null;
|
|
221
|
+
|
|
215
222
|
const handleToggle = () => {
|
|
216
223
|
if (effectiveDisabled || effectiveReadOnly || isBusy) {
|
|
217
224
|
return;
|
|
@@ -244,14 +251,12 @@ export function CheckboxListItem({
|
|
|
244
251
|
description={description}
|
|
245
252
|
endContent={endContent}
|
|
246
253
|
isDisabled={effectiveDisabled}
|
|
247
|
-
onClick
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
: undefined
|
|
254
|
-
}
|
|
254
|
+
// Delegate row clicks to the checkbox instead of wiring onClick (which
|
|
255
|
+
// would add an invisible row button = a second tab stop). The checkbox
|
|
256
|
+
// stays the option's sole focusable control (WCAG 4.1.2 / APG checkbox
|
|
257
|
+
// pattern). A consumer onClick rides on the checkbox itself (below), so
|
|
258
|
+
// it still fires for both direct and delegated (row-surface) clicks.
|
|
259
|
+
interactiveRef={hasRowInteraction ? checkboxRef : undefined}
|
|
255
260
|
aria-busy={isBusy || undefined}
|
|
256
261
|
xstyle={
|
|
257
262
|
[
|
|
@@ -266,10 +271,12 @@ export function CheckboxListItem({
|
|
|
266
271
|
style={style}
|
|
267
272
|
startContent={
|
|
268
273
|
<CheckboxInput
|
|
274
|
+
ref={checkboxRef}
|
|
269
275
|
label={checkboxLabel}
|
|
270
276
|
isLabelHidden
|
|
271
277
|
value={resolvedChecked}
|
|
272
278
|
onChange={() => handleToggle()}
|
|
279
|
+
onClick={onClickProp}
|
|
273
280
|
isDisabled={effectiveDisabled}
|
|
274
281
|
isReadOnly={effectiveReadOnly}
|
|
275
282
|
isLoading={isBusy}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
4
4
|
|
|
5
5
|
export const docs = {
|
|
6
6
|
name: 'Citation',
|
|
@@ -95,7 +95,7 @@ export const docs = {
|
|
|
95
95
|
},
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
/** @type {import('
|
|
98
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
99
99
|
export const docsDense = {
|
|
100
100
|
description:
|
|
101
101
|
'Inline reference to external source. Attribute info in AI responses, articles, or anywhere provenance needed.',
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/Citation/Citation.doc.mjs (props table, features)
|
|
14
14
|
* - /packages/core/src/Citation/Citation.test.tsx (tests for new/changed behavior)
|
|
15
15
|
* - /apps/storybook/stories/Citation.stories.tsx (storybook stories)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/Citation/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/Citation/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import type React from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
-
/** @type {import('
|
|
3
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
4
4
|
export const docs = {
|
|
5
5
|
name: 'ClickableCard',
|
|
6
6
|
displayName: 'Clickable Card',
|
|
@@ -55,7 +55,7 @@ export const docs = {
|
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
/** @type {import('
|
|
58
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
59
59
|
export const docsDense = {
|
|
60
60
|
description: 'Interactive card for navigation/action targets. Nested interactive elements work independently.',
|
|
61
61
|
usage: {
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* - /packages/core/src/ClickableCard/ClickableCard.doc.mjs (props table, features)
|
|
13
13
|
* - /packages/core/src/ClickableCard/index.ts (exports if types change)
|
|
14
14
|
* - /apps/storybook/stories/ClickableCard.stories.tsx (storybook stories)
|
|
15
|
-
* - /packages/cli/templates/blocks/components/Card/ClickableCardShowcase.tsx (showcase block)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/Card/ClickableCardWithNestedButton.tsx (block)
|
|
17
|
-
* - /packages/cli/templates/blocks/components/Card/ClickableCardElevated.tsx (block)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/Card/ClickableCardShowcase.tsx (showcase block)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/Card/ClickableCardWithNestedButton.tsx (block)
|
|
17
|
+
* - /packages/cli/assets/templates/blocks/components/Card/ClickableCardElevated.tsx (block)
|
|
18
18
|
*
|
|
19
19
|
* Composes Card for all visual styling (radius, padding, variants,
|
|
20
20
|
* container tokens, theming). Adds an interactive wrapper with
|
|
@@ -46,6 +46,7 @@ import {useClickableContainer} from '../hooks/useClickableContainer';
|
|
|
46
46
|
import type {BaseProps} from '../BaseProps';
|
|
47
47
|
import {useLinkComponent} from '../Link/useLinkComponent';
|
|
48
48
|
import {themeProps} from '../utils/themeProps';
|
|
49
|
+
import {focusOutlineProps} from '../utils/focusOutline.stylex';
|
|
49
50
|
|
|
50
51
|
// =============================================================================
|
|
51
52
|
// Styles — only the interactive layer, Card handles everything else
|
|
@@ -57,13 +58,6 @@ const styles = stylex.create({
|
|
|
57
58
|
cursor: 'pointer',
|
|
58
59
|
textDecoration: 'none',
|
|
59
60
|
color: 'inherit',
|
|
60
|
-
outlineOffset: '2px',
|
|
61
|
-
},
|
|
62
|
-
focusWithin: {
|
|
63
|
-
':has(:focus-visible)': {
|
|
64
|
-
outline: `2px solid ${colorVars['--color-accent']}`,
|
|
65
|
-
outlineOffset: '2px',
|
|
66
|
-
},
|
|
67
61
|
},
|
|
68
62
|
// Hover overlay — guarded by @media (hover: hover) so touch devices
|
|
69
63
|
// don't show a stuck hover state. Active/pressed state works everywhere.
|
|
@@ -307,14 +301,15 @@ export function ClickableCard({
|
|
|
307
301
|
padding={padding}
|
|
308
302
|
variant={variant}
|
|
309
303
|
elevation={elevation}
|
|
310
|
-
{...mergeProps(
|
|
311
|
-
|
|
304
|
+
{...mergeProps(
|
|
305
|
+
themeProps('clickable-card', {variant}),
|
|
306
|
+
focusOutlineProps.focusWithin(),
|
|
307
|
+
classNameProp,
|
|
312
308
|
style,
|
|
313
|
-
|
|
309
|
+
)}
|
|
314
310
|
xstyle={
|
|
315
311
|
[
|
|
316
312
|
styles.interactive,
|
|
317
|
-
styles.focusWithin,
|
|
318
313
|
hasBorder ? styles.bordered : styles.borderless,
|
|
319
314
|
!isDisabled && styles.overlay,
|
|
320
315
|
!isDisabled && styles.hoverOnPointer,
|
package/src/Code/Code.tsx
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*
|
|
11
11
|
* SYNC: When modified, update:
|
|
12
12
|
* - /packages/core/src/CodeBlock/index.ts (exports if types change)
|
|
13
|
-
* - /packages/cli/templates/blocks/components/Code/ (showcase blocks)
|
|
14
|
-
* - /packages/cli/templates/blocks/components/CodeBlock/ (showcase blocks)
|
|
13
|
+
* - /packages/cli/assets/templates/blocks/components/Code/ (showcase blocks)
|
|
14
|
+
* - /packages/cli/assets/templates/blocks/components/CodeBlock/ (showcase blocks)
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type {ReactNode} from 'react';
|