@astryxdesign/core 0.2.0-canary.85f5022 → 0.2.0-canary.8dfd7cf
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/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 +1 -14
- 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 +4 -4
- 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.js +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
- 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 +6 -34
- 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.js +4 -3
- 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 +6 -19
- 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.js +1 -1
- package/dist/Calendar/styles.d.ts +2 -2
- package/dist/Calendar/styles.js +2 -2
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/Card.js +1 -1
- package/dist/Carousel/Carousel.d.ts +1 -1
- package/dist/Carousel/Carousel.js +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 +3 -3
- 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.js +1 -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/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.js +3 -3
- package/dist/Code/Code.d.ts +2 -2
- package/dist/Code/Code.js +2 -2
- package/dist/CodeBlock/CodeBlock.js +2 -2
- package/dist/Collapsible/Collapsible.d.ts +1 -1
- package/dist/Collapsible/Collapsible.js +3 -3
- 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/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.js +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +1 -1
- package/dist/Dialog/Dialog.d.ts +46 -23
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +59 -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 +9 -3
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +23 -19
- 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 +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
- 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 +6 -4
- 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 +1 -1
- package/dist/Grid/Grid.js +1 -1
- 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/globalIconRegistry.d.ts +6 -4
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Icon/globalIconRegistry.js +25 -6
- package/dist/Icon/index.d.ts +3 -2
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/Icon/index.js +1 -0
- 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 +32 -7
- 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 +1 -1
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +16 -3
- package/dist/Link/Link.d.ts +1 -1
- package/dist/Link/Link.js +1 -1
- 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.js +4 -4
- package/dist/MetadataList/MetadataList.d.ts +2 -2
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +5 -3
- 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 +1 -1
- package/dist/MoreMenu/MoreMenu.d.ts +1 -1
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.d.ts +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +21 -6
- package/dist/NavIcon/NavIcon.d.ts +1 -1
- package/dist/NavIcon/NavIcon.js +1 -1
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.js +1 -1
- package/dist/Outline/Outline.js +1 -1
- package/dist/OverflowList/OverflowList.d.ts +1 -1
- package/dist/OverflowList/OverflowList.js +1 -1
- package/dist/Pagination/Pagination.d.ts +1 -20
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +1 -15
- package/dist/Pagination/index.d.ts +21 -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/ProgressBar/ProgressBar.d.ts +1 -20
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +1 -15
- 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 +3 -10
- 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 +4 -3
- package/dist/SelectableCard/SelectableCard.d.ts +4 -3
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +15 -3
- package/dist/Selector/Selector.d.ts +1 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +12 -3
- package/dist/SideNav/SideNav.d.ts +1 -1
- package/dist/SideNav/SideNav.js +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +4 -3
- package/dist/SideNav/SideNavHeading.d.ts +1 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +8 -7
- package/dist/SideNav/SideNavItem.d.ts +2 -2
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +6 -7
- 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/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 +1 -1
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +16 -5
- package/dist/TabList/Tab.d.ts +1 -1
- package/dist/TabList/Tab.js +1 -1
- 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.js +1 -1
- package/dist/Table/BaseTable.d.ts +1 -1
- package/dist/Table/BaseTable.js +1 -1
- 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 +1 -1
- package/dist/Table/TableHeaderCell.d.ts +1 -1
- package/dist/Table/TableHeaderCell.js +1 -1
- package/dist/Table/TableRow.d.ts +1 -1
- package/dist/Table/TableRow.js +1 -1
- 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 +22 -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 +36 -2
- 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 +107 -39
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.js +1 -1
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +52 -46
- package/dist/TimeInput/TimeInput.js +1 -1
- package/dist/Timestamp/Timestamp.js +2 -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 +69 -58
- 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.js +1 -1
- 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.js +1 -1
- package/dist/TopNav/TopNavHeading.d.ts +1 -1
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +7 -6
- package/dist/TopNav/TopNavItem.d.ts +1 -1
- package/dist/TopNav/TopNavItem.js +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +15 -7
- 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.js +1 -1
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +5 -4
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.js +1 -1
- package/dist/TreeList/TreeListBranches.js +1 -1
- package/dist/TreeList/TreeListItem.d.ts +1 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +4 -3
- 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 +3 -1
- 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 +96 -24
- package/dist/astryx.umd.js +50 -50
- 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/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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +2 -7
- package/dist/theme/defineTheme.d.ts +6 -0
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +4 -1
- package/dist/theme/expandColorScale.d.ts +19 -2
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +38 -10
- package/dist/theme/index.d.ts +6 -4
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +2 -1
- 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/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/rtlStyles.d.ts +21 -0
- package/dist/utils/rtlStyles.d.ts.map +1 -1
- package/dist/utils/rtlStyles.js +26 -1
- package/groups.doc.mjs +2 -2
- package/locales/en.json +40 -0
- package/locales/pseudo.json +30 -0
- package/package.json +4 -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.tsx +2 -20
- 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 +3 -3
- package/src/Avatar/Avatar.tsx +8 -3
- 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 +1 -1
- package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
- 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 +8 -45
- 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 +5 -3
- 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 +6 -23
- 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 +15 -3
- package/src/Calendar/Calendar.tsx +1 -1
- package/src/Calendar/styles.ts +2 -2
- package/src/Card/Card.doc.mjs +3 -3
- package/src/Card/Card.tsx +1 -1
- package/src/Carousel/Carousel.doc.mjs +3 -3
- package/src/Carousel/Carousel.tsx +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 +3 -3
- 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.tsx +1 -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/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 +3 -3
- 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 +2 -2
- package/src/Collapsible/Collapsible.doc.mjs +3 -3
- package/src/Collapsible/Collapsible.tsx +3 -3
- 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.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.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/ContextMenu/ContextMenu.doc.mjs +3 -3
- package/src/ContextMenu/ContextMenu.test.tsx +17 -2
- package/src/ContextMenu/ContextMenu.tsx +27 -6
- package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
- package/src/DateInput/DateInput.doc.mjs +3 -3
- package/src/DateInput/DateInput.tsx +1 -1
- package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
- package/src/DateRangeInput/DateRangeInput.tsx +1 -1
- package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
- package/src/DateTimeInput/DateTimeInput.tsx +1 -1
- package/src/Dialog/Dialog.doc.mjs +9 -5
- package/src/Dialog/Dialog.test.tsx +84 -1
- package/src/Dialog/Dialog.tsx +87 -45
- 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 +20 -5
- package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
- package/src/DropdownMenu/DropdownMenu.tsx +31 -20
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
- 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 +46 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
- package/src/DropdownMenu/menuItemHover.ts +1 -0
- package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
- 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 -3
- package/src/Grid/Grid.tsx +1 -1
- 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 +3 -3
- package/src/Icon/Icon.test.tsx +23 -0
- package/src/Icon/Icon.tsx +4 -2
- package/src/Icon/globalIconRegistry.test.tsx +52 -1
- package/src/Icon/globalIconRegistry.tsx +43 -6
- package/src/Icon/index.ts +7 -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 +58 -12
- 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 +3 -3
- package/src/Lightbox/Lightbox.test.tsx +33 -0
- package/src/Lightbox/Lightbox.tsx +16 -4
- package/src/Link/Link.doc.mjs +3 -3
- package/src/Link/Link.tsx +1 -1
- 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 +1 -1
- package/src/Markdown/Markdown.tsx +3 -3
- package/src/MetadataList/MetadataList.doc.mjs +3 -3
- package/src/MetadataList/MetadataList.test.tsx +24 -0
- package/src/MetadataList/MetadataList.tsx +7 -3
- 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 +1 -1
- package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
- package/src/MoreMenu/MoreMenu.tsx +3 -3
- package/src/MultiSelector/MultiSelector.doc.mjs +3 -3
- package/src/MultiSelector/MultiSelector.test.tsx +110 -0
- package/src/MultiSelector/MultiSelector.tsx +36 -11
- package/src/NavIcon/NavIcon.doc.mjs +3 -3
- package/src/NavIcon/NavIcon.tsx +1 -1
- package/src/NavMenu/NavMenu.doc.mjs +2 -2
- package/src/NumberInput/NumberInput.doc.mjs +3 -3
- package/src/NumberInput/NumberInput.tsx +1 -1
- package/src/Outline/Outline.doc.mjs +3 -3
- package/src/Outline/Outline.tsx +1 -1
- 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 +3 -3
- package/src/Pagination/Pagination.tsx +2 -22
- package/src/Pagination/index.ts +21 -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/ProgressBar/ProgressBar.doc.mjs +3 -3
- package/src/ProgressBar/ProgressBar.tsx +2 -22
- package/src/ProgressBar/index.ts +22 -5
- 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 +3 -2
- package/src/Resizable/ResizeHandle.tsx +8 -12
- 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 +21 -3
- package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
- package/src/SelectableCard/SelectableCard.test.tsx +55 -0
- package/src/SelectableCard/SelectableCard.tsx +19 -3
- package/src/Selector/Selector.doc.mjs +3 -3
- package/src/Selector/Selector.test.tsx +52 -0
- package/src/Selector/Selector.tsx +16 -5
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- package/src/SideNav/SideNav.doc.mjs +3 -3
- package/src/SideNav/SideNav.tsx +1 -1
- package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
- package/src/SideNav/SideNavCollapseButton.tsx +4 -3
- package/src/SideNav/SideNavHeading.doc.mjs +1 -1
- package/src/SideNav/SideNavHeading.tsx +8 -9
- package/src/SideNav/SideNavItem.doc.mjs +1 -1
- package/src/SideNav/SideNavItem.tsx +5 -6
- 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 +3 -3
- package/src/Stack/Stack.tsx +1 -1
- package/src/Stack/StackItem.tsx +1 -1
- package/src/StatusDot/StatusDot.doc.mjs +3 -3
- package/src/StatusDot/StatusDot.tsx +2 -22
- package/src/StatusDot/index.ts +22 -5
- package/src/Switch/Switch.doc.mjs +3 -3
- package/src/Switch/Switch.test.tsx +71 -0
- package/src/Switch/Switch.tsx +53 -4
- package/src/TabList/Tab.doc.mjs +1 -1
- package/src/TabList/Tab.tsx +1 -1
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.tsx +1 -1
- package/src/TabList/TabMenu.doc.mjs +1 -1
- package/src/TabList/TabMenu.tsx +1 -1
- package/src/Table/BaseTable.tsx +1 -1
- package/src/Table/Table.doc.mjs +3 -3
- package/src/Table/Table.tsx +1 -1
- package/src/Table/TableCell.doc.mjs +1 -1
- package/src/Table/TableCell.tsx +1 -1
- package/src/Table/TableHeaderCell.doc.mjs +1 -1
- package/src/Table/TableHeaderCell.tsx +1 -1
- package/src/Table/TableRow.doc.mjs +1 -1
- package/src/Table/TableRow.tsx +1 -1
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
- package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
- 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 +2 -2
- 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 +5 -5
- package/src/TextArea/TextArea.test.tsx +112 -7
- package/src/TextArea/TextArea.tsx +143 -50
- package/src/TextInput/TextInput.doc.mjs +3 -3
- package/src/TextInput/TextInput.tsx +1 -1
- package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
- package/src/Thumbnail/Thumbnail.test.tsx +24 -1
- package/src/Thumbnail/Thumbnail.tsx +28 -35
- package/src/TimeInput/TimeInput.doc.mjs +3 -3
- package/src/TimeInput/TimeInput.tsx +1 -1
- package/src/Timestamp/Timestamp.doc.mjs +3 -3
- package/src/Timestamp/Timestamp.tsx +1 -1
- 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 +75 -61
- package/src/Token/TokenLink.tsx +107 -0
- package/src/Token/index.ts +28 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
- package/src/Tokenizer/Tokenizer.tsx +1 -1
- 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.tsx +1 -1
- package/src/TopNav/TopNavHeading.doc.mjs +1 -1
- package/src/TopNav/TopNavHeading.tsx +7 -8
- package/src/TopNav/TopNavItem.doc.mjs +1 -1
- package/src/TopNav/TopNavItem.tsx +1 -1
- package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenu.tsx +32 -6
- 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 +1 -1
- package/src/TopNav/TopNavMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMenu.tsx +5 -4
- package/src/TreeList/TreeList.doc.mjs +3 -3
- package/src/TreeList/TreeList.tsx +1 -1
- package/src/TreeList/TreeListBranches.tsx +1 -1
- package/src/TreeList/TreeListItem.tsx +4 -3
- 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 +13 -1
- package/src/Typeahead/Typeahead.doc.mjs +3 -3
- package/src/Typeahead/Typeahead.test.tsx +62 -0
- 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/useHotkeys.doc.mjs +2 -2
- package/src/hooks/useImageMode.doc.mjs +2 -2
- 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/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/useTreeFocus.doc.mjs +2 -2
- package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
- package/src/i18n/useTranslator.doc.mjs +2 -2
- package/src/index.ts +14 -10
- 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/defineTheme.ts +11 -1
- package/src/theme/expandColorScale.test.ts +144 -0
- package/src/theme/expandColorScale.ts +53 -15
- package/src/theme/index.ts +11 -9
- package/src/theme/themeRegistry.test.ts +59 -0
- package/src/theme/themeRegistry.ts +53 -0
- 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/rtlStyles.ts +22 -0
- 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/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
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - /packages/core/src/SegmentedControl/SegmentedControl.doc.mjs
|
|
13
13
|
* - /packages/core/src/SegmentedControl/index.ts
|
|
14
14
|
* - /packages/core/src/SegmentedControl/SegmentedControl.test.tsx
|
|
15
|
-
* - /packages/cli/templates/blocks/components/SegmentedControl/ (showcase blocks)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/SegmentedControl/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import React, {type ReactNode} from 'react';
|
|
@@ -103,9 +103,27 @@ const styles = stylex.create({
|
|
|
103
103
|
},
|
|
104
104
|
},
|
|
105
105
|
selected: {
|
|
106
|
-
|
|
106
|
+
// Forced colors (Windows High Contrast) strips the painted surface fill
|
|
107
|
+
// and box shadow, which would leave the selected segment with no state
|
|
108
|
+
// indication beyond font weight. Highlight/HighlightText is the platform
|
|
109
|
+
// convention for a selected item (WCAG 1.4.11).
|
|
110
|
+
//
|
|
111
|
+
// forced-color-adjust must be `none` here: the segment is a <button>, and
|
|
112
|
+
// the UA keeps native form-control colors (ButtonFace surface) for it under
|
|
113
|
+
// forced colors, ignoring the authored Highlight fill — the label kept its
|
|
114
|
+
// HighlightText color, giving white text on a white surface. Opting the
|
|
115
|
+
// selected segment out of UA remapping makes both the Highlight surface and
|
|
116
|
+
// the HighlightText label render as authored, restoring figure-ground.
|
|
117
|
+
forcedColorAdjust: 'none',
|
|
118
|
+
color: {
|
|
119
|
+
default: colorVars['--color-text-primary'],
|
|
120
|
+
'@media (forced-colors: active)': 'HighlightText',
|
|
121
|
+
},
|
|
107
122
|
fontWeight: fontWeightVars['--font-weight-semibold'],
|
|
108
|
-
backgroundColor:
|
|
123
|
+
backgroundColor: {
|
|
124
|
+
default: colorVars['--color-background-surface'],
|
|
125
|
+
'@media (forced-colors: active)': 'Highlight',
|
|
126
|
+
},
|
|
109
127
|
boxShadow: shadowVars['--shadow-low'],
|
|
110
128
|
},
|
|
111
129
|
disabled: {
|
|
@@ -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: 'SelectableCard',
|
|
6
6
|
displayName: 'Selectable Card',
|
|
@@ -12,6 +12,7 @@ export const docs = {
|
|
|
12
12
|
bestPractices: [
|
|
13
13
|
{guidance: true, description: 'Use for plan pickers, filter chips, or option grids.'},
|
|
14
14
|
{guidance: true, description: 'For single-select track one ID; for multi-select use a Set.'},
|
|
15
|
+
{guidance: true, description: 'When focused, toggle selection with Space or Enter.'},
|
|
15
16
|
{guidance: false, description: 'Use for navigation; use ClickableCard for that.'},
|
|
16
17
|
],
|
|
17
18
|
anatomy: [
|
|
@@ -54,7 +55,7 @@ export const docs = {
|
|
|
54
55
|
},
|
|
55
56
|
};
|
|
56
57
|
|
|
57
|
-
/** @type {import('
|
|
58
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
58
59
|
export const docsDense = {
|
|
59
60
|
description: 'Card toggling between selected/unselected states w/ accent border. For navigation use ClickableCard instead.',
|
|
60
61
|
usage: {
|
|
@@ -62,6 +63,7 @@ export const docsDense = {
|
|
|
62
63
|
bestPractices: [
|
|
63
64
|
{guidance: true, description: 'Use for plan pickers, filter chips, option grids.'},
|
|
64
65
|
{guidance: true, description: 'For single-select track one ID; for multi-select use a Set.'},
|
|
66
|
+
{guidance: true, description: 'When focused, toggle selection with Space or Enter.'},
|
|
65
67
|
{guidance: false, description: 'Use for navigation; use ClickableCard instead.'},
|
|
66
68
|
],
|
|
67
69
|
},
|
|
@@ -108,6 +108,61 @@ describe('SelectableCard', () => {
|
|
|
108
108
|
expect(handleChange).not.toHaveBeenCalled();
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
+
it('calls onChange with true when Enter is pressed on the checkbox (unselected)', () => {
|
|
112
|
+
const handleChange = vi.fn();
|
|
113
|
+
render(
|
|
114
|
+
<SelectableCard label="Test" isSelected={false} onChange={handleChange}>
|
|
115
|
+
Content
|
|
116
|
+
</SelectableCard>,
|
|
117
|
+
);
|
|
118
|
+
const checkbox = screen.getByRole('checkbox', {name: 'Test'});
|
|
119
|
+
fireEvent.keyDown(checkbox, {key: 'Enter'});
|
|
120
|
+
expect(handleChange).toHaveBeenCalledWith(true);
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('calls onChange with false when Enter is pressed on the checkbox (selected)', () => {
|
|
124
|
+
const handleChange = vi.fn();
|
|
125
|
+
render(
|
|
126
|
+
<SelectableCard label="Test" isSelected={true} onChange={handleChange}>
|
|
127
|
+
Content
|
|
128
|
+
</SelectableCard>,
|
|
129
|
+
);
|
|
130
|
+
const checkbox = screen.getByRole('checkbox', {name: 'Test'});
|
|
131
|
+
fireEvent.keyDown(checkbox, {key: 'Enter'});
|
|
132
|
+
expect(handleChange).toHaveBeenCalledWith(false);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it('does not toggle on Enter when disabled', () => {
|
|
136
|
+
const handleChange = vi.fn();
|
|
137
|
+
render(
|
|
138
|
+
<SelectableCard
|
|
139
|
+
label="Disabled"
|
|
140
|
+
isSelected={false}
|
|
141
|
+
onChange={handleChange}
|
|
142
|
+
isDisabled>
|
|
143
|
+
Content
|
|
144
|
+
</SelectableCard>,
|
|
145
|
+
);
|
|
146
|
+
const checkbox = screen.getByRole('checkbox', {name: 'Disabled'});
|
|
147
|
+
fireEvent.keyDown(checkbox, {key: 'Enter'});
|
|
148
|
+
expect(handleChange).not.toHaveBeenCalled();
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
it('toggles exactly once on Space (native), not doubled by the Enter handler', () => {
|
|
152
|
+
const handleChange = vi.fn();
|
|
153
|
+
render(
|
|
154
|
+
<SelectableCard label="Test" isSelected={false} onChange={handleChange}>
|
|
155
|
+
Content
|
|
156
|
+
</SelectableCard>,
|
|
157
|
+
);
|
|
158
|
+
const checkbox = screen.getByRole('checkbox', {name: 'Test'});
|
|
159
|
+
// Space activates the native checkbox, firing a single change event.
|
|
160
|
+
fireEvent.click(checkbox);
|
|
161
|
+
fireEvent.keyDown(checkbox, {key: ' '});
|
|
162
|
+
expect(handleChange).toHaveBeenCalledTimes(1);
|
|
163
|
+
expect(handleChange).toHaveBeenCalledWith(true);
|
|
164
|
+
});
|
|
165
|
+
|
|
111
166
|
describe('elevation', () => {
|
|
112
167
|
const noop = () => {};
|
|
113
168
|
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* - /packages/core/src/SelectableCard/SelectableCard.doc.mjs (props table, features)
|
|
13
13
|
* - /packages/core/src/SelectableCard/index.ts (exports if types change)
|
|
14
14
|
* - /apps/storybook/stories/SelectableCard.stories.tsx (storybook stories)
|
|
15
|
-
* - /packages/cli/templates/blocks/components/Card/SelectableCardShowcase.tsx (showcase block)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/Card/SelectableCardMulti.tsx (block)
|
|
17
|
-
* - /packages/cli/templates/blocks/components/Card/SelectableCardElevated.tsx (block)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/Card/SelectableCardShowcase.tsx (showcase block)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/Card/SelectableCardMulti.tsx (block)
|
|
17
|
+
* - /packages/cli/assets/templates/blocks/components/Card/SelectableCardElevated.tsx (block)
|
|
18
18
|
*
|
|
19
19
|
* Composes Card for all visual styling. Adds selection state with
|
|
20
20
|
* an inset box-shadow (zero layout jitter) and useClickableContainer
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* A hidden <input type="checkbox"> inside the card provides the accessible
|
|
24
24
|
* role, label, and checked state — the card surface itself has no role/tabIndex.
|
|
25
|
+
* Space toggles it natively; Enter is wired up as an additional toggle key.
|
|
25
26
|
*
|
|
26
27
|
* For static display, use Card.
|
|
27
28
|
* For navigation or action cards, use ClickableCard.
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
import {
|
|
31
32
|
type ReactNode,
|
|
32
33
|
type MouseEvent,
|
|
34
|
+
type KeyboardEvent,
|
|
33
35
|
useRef,
|
|
34
36
|
useCallback,
|
|
35
37
|
type Ref,
|
|
@@ -311,6 +313,19 @@ export function SelectableCard({
|
|
|
311
313
|
[isDisabled, isSelected, onChange],
|
|
312
314
|
);
|
|
313
315
|
|
|
316
|
+
// The focusable control is a native checkbox, which toggles on Space but
|
|
317
|
+
// ignores Enter. Add Enter as an extra toggle key; Space keeps its native
|
|
318
|
+
// handling, so we deliberately do not toggle on Space here (would double).
|
|
319
|
+
const handleKeyDown = useCallback(
|
|
320
|
+
(event: KeyboardEvent<HTMLInputElement>) => {
|
|
321
|
+
if (!isDisabled && event.key === 'Enter') {
|
|
322
|
+
event.preventDefault();
|
|
323
|
+
onChange(!isSelected);
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
[isDisabled, isSelected, onChange],
|
|
327
|
+
);
|
|
328
|
+
|
|
314
329
|
const {onClick, onMouseUp} = useClickableContainer({
|
|
315
330
|
containerRef,
|
|
316
331
|
interactiveRef,
|
|
@@ -369,6 +384,7 @@ export function SelectableCard({
|
|
|
369
384
|
aria-label={label}
|
|
370
385
|
disabled={isDisabled}
|
|
371
386
|
onChange={() => onChange(!isSelected)}
|
|
387
|
+
onKeyDown={handleKeyDown}
|
|
372
388
|
{...stylex.props(styles.srOnly)}
|
|
373
389
|
/>
|
|
374
390
|
{children}
|
|
@@ -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: 'Selector',
|
|
@@ -252,7 +252,7 @@ export const docs = {
|
|
|
252
252
|
},
|
|
253
253
|
};
|
|
254
254
|
|
|
255
|
-
/** @type {import('
|
|
255
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
256
256
|
export const docsZh = {
|
|
257
257
|
usage: {
|
|
258
258
|
description:
|
|
@@ -344,7 +344,7 @@ export const docsZh = {
|
|
|
344
344
|
},
|
|
345
345
|
};
|
|
346
346
|
|
|
347
|
-
/** @type {import('
|
|
347
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
348
348
|
export const docsDense = {
|
|
349
349
|
usage: {
|
|
350
350
|
description:
|
|
@@ -613,6 +613,28 @@ describe('Selector', () => {
|
|
|
613
613
|
expect(within(listbox).getByText('No results found')).toBeInTheDocument();
|
|
614
614
|
});
|
|
615
615
|
|
|
616
|
+
it('empty-state message is not exposed as a listbox child', async () => {
|
|
617
|
+
const user = userEvent.setup();
|
|
618
|
+
render(
|
|
619
|
+
<Selector
|
|
620
|
+
label="Fruit"
|
|
621
|
+
options={OPTIONS}
|
|
622
|
+
value="Apple"
|
|
623
|
+
onChange={() => {}}
|
|
624
|
+
hasSearch
|
|
625
|
+
/>,
|
|
626
|
+
);
|
|
627
|
+
await user.click(screen.getByRole('button', {name: 'Fruit'}));
|
|
628
|
+
await user.type(screen.getByRole('combobox', h), 'xyz');
|
|
629
|
+
|
|
630
|
+
// role="listbox" only permits option/group children — the visual
|
|
631
|
+
// empty-state message must be presentational (it is announced through
|
|
632
|
+
// the result-count live region instead).
|
|
633
|
+
const listbox = screen.getByRole('listbox', h);
|
|
634
|
+
const empty = within(listbox).getByText('No results found');
|
|
635
|
+
expect(empty).toHaveAttribute('role', 'presentation');
|
|
636
|
+
});
|
|
637
|
+
|
|
616
638
|
it('calls onChange when selecting a filtered option', async () => {
|
|
617
639
|
const user = userEvent.setup();
|
|
618
640
|
const onChange = vi.fn();
|
|
@@ -1219,6 +1241,36 @@ describe('Selector statusVariant forwarding', () => {
|
|
|
1219
1241
|
'detached',
|
|
1220
1242
|
);
|
|
1221
1243
|
});
|
|
1244
|
+
|
|
1245
|
+
it('keeps the on-field status icon for the attached variant', () => {
|
|
1246
|
+
const {container} = render(
|
|
1247
|
+
<Selector
|
|
1248
|
+
label="Fruit"
|
|
1249
|
+
options={['Apple', 'Banana']}
|
|
1250
|
+
status={{type: 'error', message: 'Required'}}
|
|
1251
|
+
/>,
|
|
1252
|
+
);
|
|
1253
|
+
// Attached: the status glyph replaces the chevron indicator on the field.
|
|
1254
|
+
expect(
|
|
1255
|
+
container.querySelector('.astryx-selector-indicator-icon'),
|
|
1256
|
+
).toBeNull();
|
|
1257
|
+
});
|
|
1258
|
+
|
|
1259
|
+
it('suppresses the on-field status icon for the detached variant', () => {
|
|
1260
|
+
const {container} = render(
|
|
1261
|
+
<Selector
|
|
1262
|
+
label="Fruit"
|
|
1263
|
+
options={['Apple', 'Banana']}
|
|
1264
|
+
status={{type: 'error', message: 'Required'}}
|
|
1265
|
+
statusVariant="detached"
|
|
1266
|
+
/>,
|
|
1267
|
+
);
|
|
1268
|
+
// Detached: the message box below carries its own leading icon, so the
|
|
1269
|
+
// field keeps its chevron indicator rather than duplicating the glyph.
|
|
1270
|
+
expect(
|
|
1271
|
+
container.querySelector('.astryx-selector-indicator-icon'),
|
|
1272
|
+
).not.toBeNull();
|
|
1273
|
+
});
|
|
1222
1274
|
});
|
|
1223
1275
|
|
|
1224
1276
|
describe('Selector clear icon theme target', () => {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/Selector/Selector.test.tsx
|
|
14
14
|
* - /packages/core/src/Selector/index.ts
|
|
15
15
|
* - /apps/storybook/stories/InputGroup.stories.tsx
|
|
16
|
-
* - /packages/cli/templates/blocks/components/Selector/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/Selector/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import React, {
|
|
@@ -963,8 +963,15 @@ export function Selector<T extends SelectorOptionType>(
|
|
|
963
963
|
|
|
964
964
|
// Nothing matched across every group/option: show the empty state.
|
|
965
965
|
if (isSearching && filteredItems.length === 0) {
|
|
966
|
+
// role="presentation" keeps the message out of the listbox's
|
|
967
|
+
// accessibility tree (role="listbox" only permits option/group
|
|
968
|
+
// children); the no-results outcome is announced via the
|
|
969
|
+
// result-count live region instead.
|
|
966
970
|
return [
|
|
967
|
-
<div
|
|
971
|
+
<div
|
|
972
|
+
key="empty"
|
|
973
|
+
role="presentation"
|
|
974
|
+
{...stylex.props(styles.emptyState)}>
|
|
968
975
|
No results found
|
|
969
976
|
</div>,
|
|
970
977
|
];
|
|
@@ -1025,6 +1032,10 @@ export function Selector<T extends SelectorOptionType>(
|
|
|
1025
1032
|
return elements;
|
|
1026
1033
|
}, [options, renderItem, hasSearch, searchQuery, filteredItems]);
|
|
1027
1034
|
|
|
1035
|
+
// The detached message box renders its own leading status icon, so the
|
|
1036
|
+
// on-field icon would duplicate it — keep the chevron indicator instead.
|
|
1037
|
+
const showStatusIcon = status != null && statusVariant !== 'detached';
|
|
1038
|
+
|
|
1028
1039
|
const selectorContent = (
|
|
1029
1040
|
<>
|
|
1030
1041
|
<div
|
|
@@ -1125,10 +1136,10 @@ export function Selector<T extends SelectorOptionType>(
|
|
|
1125
1136
|
<span
|
|
1126
1137
|
{...stylex.props(
|
|
1127
1138
|
styles.triggerIcon,
|
|
1128
|
-
!
|
|
1129
|
-
|
|
1139
|
+
!showStatusIcon && popover.isOpen && styles.triggerIconOpen,
|
|
1140
|
+
showStatusIcon && styles.triggerIconStatus,
|
|
1130
1141
|
)}>
|
|
1131
|
-
{
|
|
1142
|
+
{showStatusIcon ? (
|
|
1132
1143
|
<Icon
|
|
1133
1144
|
icon={STATUS_ICON_MAP[status.type]}
|
|
1134
1145
|
size="sm"
|
|
@@ -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: 'SideNav',
|
|
@@ -142,7 +142,7 @@ export const docs = {
|
|
|
142
142
|
},
|
|
143
143
|
};
|
|
144
144
|
|
|
145
|
-
/** @type {import('
|
|
145
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
146
146
|
export const docsZh = {
|
|
147
147
|
usage: {
|
|
148
148
|
description:
|
|
@@ -161,7 +161,7 @@ export const docsZh = {
|
|
|
161
161
|
},
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
/** @type {import('
|
|
164
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
165
165
|
export const docsDense = {
|
|
166
166
|
usage: {
|
|
167
167
|
description:
|
package/src/SideNav/SideNav.tsx
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* - /packages/core/src/SideNav/SideNav.test.tsx
|
|
19
19
|
* - /packages/core/src/SideNav/index.ts
|
|
20
20
|
* - /apps/storybook/stories/SideNav.stories.tsx
|
|
21
|
-
* - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
|
|
21
|
+
* - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
import {
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
* SYNC: When modified, update:
|
|
15
15
|
* - /packages/core/src/SideNav/SideNav.doc.mjs
|
|
16
16
|
* - /packages/core/src/SideNav/index.ts
|
|
17
|
-
* - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
|
|
17
|
+
* - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import React, {type ReactNode} from 'react';
|
|
21
21
|
import * as stylex from '@stylexjs/stylex';
|
|
22
22
|
import {durationVars, easeVars} from '../theme/tokens.stylex';
|
|
23
|
-
import {
|
|
23
|
+
import {useIcon} from '../Icon';
|
|
24
24
|
import {Button} from '../Button';
|
|
25
25
|
import type {BaseProps} from '../BaseProps';
|
|
26
26
|
import {composeEventHandlers, rtlStyles} from '../utils';
|
|
@@ -107,6 +107,7 @@ export function SideNavCollapseButton({
|
|
|
107
107
|
...props
|
|
108
108
|
}: SideNavCollapseButtonProps) {
|
|
109
109
|
const t = useTranslator();
|
|
110
|
+
const chevronLeftIcon = useIcon('chevronLeft');
|
|
110
111
|
const {isCollapsed, toggle, isCollapsible} =
|
|
111
112
|
useSideNavCollapseState(handleRef);
|
|
112
113
|
const {isMobile} = useAppShellMobile();
|
|
@@ -137,7 +138,7 @@ export function SideNavCollapseButton({
|
|
|
137
138
|
styles.chevron,
|
|
138
139
|
isCollapsed && styles.chevronCollapsed,
|
|
139
140
|
)}>
|
|
140
|
-
{
|
|
141
|
+
{chevronLeftIcon}
|
|
141
142
|
</span>
|
|
142
143
|
</span>
|
|
143
144
|
)
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* - /packages/core/src/SideNav/SideNav.test.tsx
|
|
17
17
|
* - /packages/core/src/SideNav/index.ts
|
|
18
18
|
* - /apps/storybook/stories/SideNav.stories.tsx
|
|
19
|
-
* - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
|
|
19
|
+
* - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import {useMemo, useRef, type ReactNode} from 'react';
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
// of lazy loading layer resources.
|
|
34
34
|
import {usePopover} from '../Popover/usePopover';
|
|
35
35
|
import {Link} from '../Link';
|
|
36
|
-
import {
|
|
36
|
+
import {useIcon} from '../Icon';
|
|
37
37
|
import {Tooltip} from '../Tooltip';
|
|
38
38
|
import {navItemStyles} from '../NavItem/navItemStyles.stylex';
|
|
39
39
|
import {useSideNavCollapse} from './SideNavCollapseContext';
|
|
@@ -344,6 +344,7 @@ export function SideNavHeading({
|
|
|
344
344
|
...props
|
|
345
345
|
}: SideNavHeadingProps) {
|
|
346
346
|
const t = useTranslator();
|
|
347
|
+
const chevronDownIcon = useIcon('chevronDown');
|
|
347
348
|
const LinkComponent = useLinkComponent(as);
|
|
348
349
|
const {isCollapsed} = useSideNavCollapse();
|
|
349
350
|
const rootRef = useRef<HTMLDivElement>(null);
|
|
@@ -454,7 +455,7 @@ export function SideNavHeading({
|
|
|
454
455
|
{heading}
|
|
455
456
|
</span>
|
|
456
457
|
<span {...stylex.props(styles.popoverChevron)}>
|
|
457
|
-
{
|
|
458
|
+
{chevronDownIcon}
|
|
458
459
|
</span>
|
|
459
460
|
</span>
|
|
460
461
|
{subheading && (
|
|
@@ -550,7 +551,7 @@ export function SideNavHeading({
|
|
|
550
551
|
);
|
|
551
552
|
|
|
552
553
|
const chevronElement = showChevron && (
|
|
553
|
-
<span {...stylex.props(styles.chevron)}>{
|
|
554
|
+
<span {...stylex.props(styles.chevron)}>{chevronDownIcon}</span>
|
|
554
555
|
);
|
|
555
556
|
|
|
556
557
|
const headerEndContentElement = headerEndContent && (
|
|
@@ -566,9 +567,7 @@ export function SideNavHeading({
|
|
|
566
567
|
onClick={triggerProps.onClick}>
|
|
567
568
|
{icon && <span {...stylex.props(styles.icon)}>{icon}</span>}
|
|
568
569
|
{renderTextContent(
|
|
569
|
-
<span {...stylex.props(styles.popoverChevron)}>
|
|
570
|
-
{getIcon('chevronDown')}
|
|
571
|
-
</span>,
|
|
570
|
+
<span {...stylex.props(styles.popoverChevron)}>{chevronDownIcon}</span>,
|
|
572
571
|
)}
|
|
573
572
|
</button>
|
|
574
573
|
);
|
|
@@ -620,7 +619,7 @@ export function SideNavHeading({
|
|
|
620
619
|
}}
|
|
621
620
|
{...popover.triggerProps}
|
|
622
621
|
{...stylex.props(styles.chevron, styles.interactive)}>
|
|
623
|
-
{
|
|
622
|
+
{chevronDownIcon}
|
|
624
623
|
</button>,
|
|
625
624
|
)}
|
|
626
625
|
{headerEndContentElement}
|
|
@@ -686,7 +685,7 @@ export function SideNavHeading({
|
|
|
686
685
|
}}
|
|
687
686
|
{...popover.triggerProps}
|
|
688
687
|
{...stylex.props(styles.chevron, styles.interactive)}>
|
|
689
|
-
{
|
|
688
|
+
{chevronDownIcon}
|
|
690
689
|
</button>
|
|
691
690
|
) : undefined,
|
|
692
691
|
)}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /packages/core/src/SideNav/SideNav.test.tsx
|
|
16
16
|
* - /packages/core/src/SideNav/index.ts
|
|
17
17
|
* - /apps/storybook/stories/SideNav.stories.tsx
|
|
18
|
-
* - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
|
|
18
|
+
* - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import {
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
borderVars,
|
|
39
39
|
radiusVars,
|
|
40
40
|
} from '../theme/tokens.stylex';
|
|
41
|
-
import {renderIconSlot, type IconType} from '../Icon';
|
|
41
|
+
import {renderIconSlot, useIcon, type IconType} from '../Icon';
|
|
42
42
|
import {useLinkComponent} from '../Link/useLinkComponent';
|
|
43
43
|
import type {LinkComponentType} from '../Link/types';
|
|
44
44
|
import {usePopover} from '../Popover/usePopover';
|
|
@@ -50,7 +50,6 @@ import {
|
|
|
50
50
|
useSideNavCollapse,
|
|
51
51
|
SideNavCollapseContext,
|
|
52
52
|
} from './SideNavCollapseContext';
|
|
53
|
-
import {getIcon} from '../Icon/globalIconRegistry';
|
|
54
53
|
import {useSideNavRenderMode} from './SideNavRenderContext';
|
|
55
54
|
import {useAppShellMobile} from '../AppShell/AppShellMobileContext';
|
|
56
55
|
import {themeProps} from '../utils/themeProps';
|
|
@@ -357,9 +356,9 @@ export function SideNavItem({
|
|
|
357
356
|
'data-testid': testId,
|
|
358
357
|
ref,
|
|
359
358
|
xstyle,
|
|
360
|
-
...rest
|
|
361
359
|
}: SideNavItemProps) {
|
|
362
360
|
const t = useTranslator();
|
|
361
|
+
const chevronDownIcon = useIcon('chevronDown');
|
|
363
362
|
const {isCollapsed} = useSideNavCollapse();
|
|
364
363
|
const renderMode = useSideNavRenderMode();
|
|
365
364
|
const {closeMobileNav} = useAppShellMobile();
|
|
@@ -580,7 +579,7 @@ export function SideNavItem({
|
|
|
580
579
|
styles.expandChevron,
|
|
581
580
|
!isItemCollapsed && styles.expandChevronExpanded,
|
|
582
581
|
)}>
|
|
583
|
-
{
|
|
582
|
+
{chevronDownIcon}
|
|
584
583
|
</span>
|
|
585
584
|
)}
|
|
586
585
|
</>
|
|
@@ -643,7 +642,7 @@ export function SideNavItem({
|
|
|
643
642
|
styles.expandChevron,
|
|
644
643
|
!isItemCollapsed && styles.expandChevronExpanded,
|
|
645
644
|
)}>
|
|
646
|
-
{
|
|
645
|
+
{chevronDownIcon}
|
|
647
646
|
</span>
|
|
648
647
|
</button>
|
|
649
648
|
</div>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /packages/core/src/SideNav/SideNav.test.tsx
|
|
16
16
|
* - /packages/core/src/SideNav/index.ts
|
|
17
17
|
* - /apps/storybook/stories/SideNav.stories.tsx
|
|
18
|
-
* - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
|
|
18
|
+
* - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import React, {useId, 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: 'Skeleton',
|
|
@@ -61,7 +61,7 @@ export const docs = {
|
|
|
61
61
|
},
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
/** @type {import('
|
|
64
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
65
65
|
export const docsZh = {
|
|
66
66
|
name: 'Skeleton',
|
|
67
67
|
displayName: 'Skeleton',
|
|
@@ -110,7 +110,7 @@ export const docsZh = {
|
|
|
110
110
|
},
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
/** @type {import('
|
|
113
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
114
114
|
export const docsDense = {
|
|
115
115
|
usage: {
|
|
116
116
|
description:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import {describe, it, expect} from 'vitest';
|
|
4
4
|
import {render, screen} from '@testing-library/react';
|
|
5
5
|
import {Skeleton} from './Skeleton';
|
|
6
|
+
import {getForcedColorsRules} from '../__tests__/forcedColors';
|
|
6
7
|
|
|
7
8
|
describe('Skeleton', () => {
|
|
8
9
|
it('renders a placeholder element', () => {
|
|
@@ -23,3 +24,18 @@ describe('Skeleton', () => {
|
|
|
23
24
|
expect(screen.getByTestId('sk')).toHaveAttribute('aria-hidden', 'false');
|
|
24
25
|
});
|
|
25
26
|
});
|
|
27
|
+
|
|
28
|
+
// jsdom cannot emulate forced-colors rendering, so these assert that the
|
|
29
|
+
// compiled output includes the forced-colors rules; visual behavior needs
|
|
30
|
+
// manual verification under Windows High Contrast.
|
|
31
|
+
describe('forced colors (WCAG 1.4.11)', () => {
|
|
32
|
+
it('compiles forced-colors overrides so the placeholder stays visible under Windows High Contrast', () => {
|
|
33
|
+
render(<Skeleton width={200} height={20} data-testid="sk" />);
|
|
34
|
+
const css = getForcedColorsRules();
|
|
35
|
+
// The painted fill is stripped to Canvas (invisible); GrayText is a
|
|
36
|
+
// system color, so it survives forcing.
|
|
37
|
+
expect(css).toContain('background-color: graytext;');
|
|
38
|
+
// The resting 0.25 opacity is lifted so the static placeholder reads.
|
|
39
|
+
expect(css).toContain('opacity: 1;');
|
|
40
|
+
});
|
|
41
|
+
});
|