@astryxdesign/core 0.2.0 → 0.3.0-canary.0b5a38e
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 +35 -14
- 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 +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/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 -2
- package/dist/Calendar/styles.js +2 -2
- 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.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/ComplexSelector/ComplexSelector.d.ts +108 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
- package/dist/ComplexSelector/ComplexSelector.js +316 -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 +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 +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 +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 +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.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.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 +118 -24
- 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 +18 -6
- 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 +26 -21
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +174 -52
- 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/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 +15 -11
- 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 +14 -4
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +137 -28
- package/dist/Selector/hooks.d.ts +4 -4
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +38 -19
- 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/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.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.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +11 -3
- 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.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 +27 -11
- 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/Table/types.d.ts +0 -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 +109 -40
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +3 -2
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +52 -46
- 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 +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.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 +8 -10
- 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 +27 -16
- 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 +117 -37
- package/dist/astryx.umd.js +51 -55
- 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/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +13 -2
- 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/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/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 +124 -0
- package/locales/pseudo.json +93 -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 +4 -15
- package/src/Avatar/Avatar.test.tsx +33 -8
- package/src/Avatar/Avatar.tsx +58 -25
- 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 +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 +22 -6
- package/src/Calendar/Calendar.tsx +1 -1
- package/src/Calendar/index.ts +1 -6
- package/src/Calendar/styles.ts +2 -2
- 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 +10 -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.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.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 +156 -0
- package/src/ComplexSelector/ComplexSelector.tsx +429 -0
- package/src/ComplexSelector/index.ts +17 -0
- 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 +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 +61 -44
- 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 -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 +7 -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 +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 +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 +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 +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.tsx +3 -3
- package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
- package/src/MultiSelector/MultiSelector.test.tsx +303 -3
- package/src/MultiSelector/MultiSelector.tsx +223 -58
- 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 +62 -3
- package/src/NumberInput/NumberInput.tsx +29 -2
- 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 +55 -8
- package/src/Pagination/Pagination.test.tsx +582 -0
- package/src/Pagination/Pagination.tsx +247 -55
- 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/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 +25 -13
- 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 +29 -8
- package/src/Selector/Selector.test.tsx +447 -9
- package/src/Selector/Selector.tsx +232 -57
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- package/src/Selector/hooks.ts +45 -21
- 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 +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 +1 -1
- 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 +11 -3
- 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 +1 -1
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +30 -11
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
- package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
- package/src/Table/types.ts +0 -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 +131 -7
- package/src/TextArea/TextArea.tsx +148 -51
- package/src/TextInput/TextInput.doc.mjs +5 -5
- package/src/TextInput/TextInput.test.tsx +22 -0
- package/src/TextInput/TextInput.tsx +6 -2
- 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 +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 +75 -61
- 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 +8 -18
- 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 +35 -11
- 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.test.tsx +10 -6
- 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/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/useTreeFocus.doc.mjs +2 -2
- package/src/hooks/useTreeFocus.test.tsx +53 -1
- package/src/hooks/useTreeFocus.ts +13 -2
- 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/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/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
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* @position Horizontal scroll container with fade-edge overflow indication,
|
|
10
10
|
* optional prev/next buttons on the top layer, scroll-snap, a 1px
|
|
11
11
|
* visual bleed allowance for child selection indicators, and Shift + wheel
|
|
12
|
-
* mapping so mouse users can scroll horizontally.
|
|
12
|
+
* mapping so mouse users can scroll horizontally. Supports optional
|
|
13
|
+
* wrap-around looping and an imperative handle (handleRef) for programmatic
|
|
14
|
+
* scroll control. Exposes APG
|
|
13
15
|
* carousel semantics: the root is a labelled region with
|
|
14
16
|
* aria-roledescription="carousel" and each item wrapper is a group with
|
|
15
17
|
* aria-roledescription="slide" named "Slide N of M".
|
|
@@ -17,7 +19,7 @@
|
|
|
17
19
|
* SYNC: When modified, update:
|
|
18
20
|
* - /packages/core/src/Carousel/index.ts (exports)
|
|
19
21
|
* - /apps/storybook/stories/Carousel.stories.tsx
|
|
20
|
-
* - /packages/cli/templates/blocks/components/Carousel/ (showcase blocks)
|
|
22
|
+
* - /packages/cli/assets/templates/blocks/components/Carousel/ (showcase blocks)
|
|
21
23
|
*/
|
|
22
24
|
|
|
23
25
|
import {
|
|
@@ -25,6 +27,7 @@ import {
|
|
|
25
27
|
useRef,
|
|
26
28
|
useCallback,
|
|
27
29
|
useEffect,
|
|
30
|
+
useImperativeHandle,
|
|
28
31
|
Children,
|
|
29
32
|
isValidElement,
|
|
30
33
|
} from 'react';
|
|
@@ -48,8 +51,48 @@ import type {SpacingStep} from '../utils/types';
|
|
|
48
51
|
import {themeProps} from '../utils/themeProps';
|
|
49
52
|
import {useTranslator} from '../i18n';
|
|
50
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Imperative control surface for the Carousel, accessed via the `handleRef`
|
|
56
|
+
* prop. Methods drive the same native-scroll machinery as the built-in
|
|
57
|
+
* buttons, so they respect RTL, reduced-motion, and `hasLoop`.
|
|
58
|
+
*/
|
|
59
|
+
export interface CarouselHandle {
|
|
60
|
+
/**
|
|
61
|
+
* Scroll forward by roughly one viewport. With `hasLoop`, wraps to the
|
|
62
|
+
* start once the end is reached.
|
|
63
|
+
*/
|
|
64
|
+
scrollNext(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Scroll backward by roughly one viewport. With `hasLoop`, wraps to the
|
|
67
|
+
* end once the start is reached.
|
|
68
|
+
*/
|
|
69
|
+
scrollPrev(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Scroll the item at the given 0-based index to the start edge. The index
|
|
72
|
+
* is clamped to the item range, and only the carousel scrolls — the page
|
|
73
|
+
* position is left untouched.
|
|
74
|
+
*/
|
|
75
|
+
scrollTo(index: number): void;
|
|
76
|
+
/**
|
|
77
|
+
* Whether there is scrollable content past the trailing edge. With
|
|
78
|
+
* `hasLoop`, returns true whenever the content overflows, since wrapping
|
|
79
|
+
* is always available. Reads live state — safe to call in an event handler.
|
|
80
|
+
*/
|
|
81
|
+
canScrollNext(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Whether there is scrollable content past the leading edge. With
|
|
84
|
+
* `hasLoop`, returns true whenever the content overflows. Reads live state.
|
|
85
|
+
*/
|
|
86
|
+
canScrollPrev(): boolean;
|
|
87
|
+
}
|
|
88
|
+
|
|
51
89
|
export interface CarouselProps extends BaseProps<HTMLDivElement> {
|
|
52
90
|
ref?: React.Ref<HTMLDivElement>;
|
|
91
|
+
/**
|
|
92
|
+
* Imperative handle for programmatic scroll control. Exposes scrollNext,
|
|
93
|
+
* scrollPrev, scrollTo, and the canScrollNext/canScrollPrev queries.
|
|
94
|
+
*/
|
|
95
|
+
handleRef?: React.Ref<CarouselHandle>;
|
|
53
96
|
/** Carousel items — rendered in a horizontal scroll container. */
|
|
54
97
|
children: ReactNode;
|
|
55
98
|
/**
|
|
@@ -69,6 +112,16 @@ export interface CarouselProps extends BaseProps<HTMLDivElement> {
|
|
|
69
112
|
* @default true
|
|
70
113
|
*/
|
|
71
114
|
hasEdgeFade?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Enable wrap-around scrolling. When the content overflows, pressing Next
|
|
117
|
+
* at the end scrolls back to the start, and Prev at the start scrolls to
|
|
118
|
+
* the end — for both the built-in buttons and the imperative handle. The
|
|
119
|
+
* navigation buttons stay visible at both edges instead of hiding, since a
|
|
120
|
+
* scroll is always available. Has no effect when the content fits without
|
|
121
|
+
* overflowing.
|
|
122
|
+
* @default false
|
|
123
|
+
*/
|
|
124
|
+
hasLoop?: boolean;
|
|
72
125
|
/**
|
|
73
126
|
* Enable scroll-snap on items. Each direct child snaps to the start edge.
|
|
74
127
|
* @default false
|
|
@@ -269,10 +322,12 @@ const paddingStyles = stylex.create({
|
|
|
269
322
|
*/
|
|
270
323
|
export function Carousel({
|
|
271
324
|
ref,
|
|
325
|
+
handleRef,
|
|
272
326
|
children,
|
|
273
327
|
gap = 1,
|
|
274
328
|
hasButtons = true,
|
|
275
329
|
hasEdgeFade = true,
|
|
330
|
+
hasLoop = false,
|
|
276
331
|
hasSnap = false,
|
|
277
332
|
padding,
|
|
278
333
|
'aria-label': ariaLabelFromProps,
|
|
@@ -285,7 +340,8 @@ export function Carousel({
|
|
|
285
340
|
const t = useTranslator();
|
|
286
341
|
const ariaLabel = ariaLabelFromProps ?? t('@astryx.carousel.label');
|
|
287
342
|
const scrollElRef = useRef<HTMLElement | null>(null);
|
|
288
|
-
const {scrollRef, overflowStart, overflowEnd} =
|
|
343
|
+
const {scrollRef, overflowStart, overflowEnd, hasOverflow} =
|
|
344
|
+
useScrollOverflow();
|
|
289
345
|
|
|
290
346
|
// Children.toArray drops null/undefined/boolean children and assigns
|
|
291
347
|
// stable keys, so slide numbering ("Slide N of M") matches what actually
|
|
@@ -338,33 +394,100 @@ export function Carousel({
|
|
|
338
394
|
el.scrollBy({left: event.deltaY, behavior: 'auto'});
|
|
339
395
|
}, []);
|
|
340
396
|
|
|
341
|
-
const scrollBy = useCallback(
|
|
397
|
+
const scrollBy = useCallback(
|
|
398
|
+
(direction: -1 | 1) => {
|
|
399
|
+
const el = scrollElRef.current;
|
|
400
|
+
if (!el) {
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
// Respect the user's reduced-motion preference — mirrors the CSS
|
|
404
|
+
// scroll-behavior override so button-driven scrolling doesn't animate
|
|
405
|
+
// for users who opted out of motion.
|
|
406
|
+
const prefersReducedMotion =
|
|
407
|
+
typeof window !== 'undefined' &&
|
|
408
|
+
typeof window.matchMedia === 'function' &&
|
|
409
|
+
window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
410
|
+
const behavior = prefersReducedMotion ? 'auto' : 'smooth';
|
|
411
|
+
// Under RTL the scroll axis is inverted (start is scrollLeft 0, the end
|
|
412
|
+
// is negative), so flip the physical delta sign.
|
|
413
|
+
const rtlSign = isRtlElement(el) ? -1 : 1;
|
|
414
|
+
|
|
415
|
+
// Wrap-around: when looping over overflowing content, a press that would
|
|
416
|
+
// run past an edge jumps to the opposite edge instead. Overshoot by the
|
|
417
|
+
// full scroll width in the opposite logical direction and let the browser
|
|
418
|
+
// clamp to the far edge — this reuses the same RTL sign convention as a
|
|
419
|
+
// normal scroll, so it stays direction-correct without special-casing.
|
|
420
|
+
if (hasLoop && hasOverflow) {
|
|
421
|
+
const atEnd = direction === 1 && !overflowEnd;
|
|
422
|
+
const atStart = direction === -1 && !overflowStart;
|
|
423
|
+
if (atEnd || atStart) {
|
|
424
|
+
el.scrollBy({left: rtlSign * -direction * el.scrollWidth, behavior});
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
const firstChild = el.firstElementChild as HTMLElement | null;
|
|
430
|
+
const itemWidth = firstChild ? firstChild.offsetWidth : 0;
|
|
431
|
+
const amount = el.clientWidth - itemWidth * 0.5;
|
|
432
|
+
el.scrollBy({
|
|
433
|
+
// `direction` is the logical intent (-1 = toward content start, +1 =
|
|
434
|
+
// toward content end).
|
|
435
|
+
left: rtlSign * direction * Math.max(amount, itemWidth),
|
|
436
|
+
behavior,
|
|
437
|
+
});
|
|
438
|
+
},
|
|
439
|
+
[hasLoop, hasOverflow, overflowStart, overflowEnd],
|
|
440
|
+
);
|
|
441
|
+
|
|
442
|
+
const scrollToIndex = useCallback((index: number) => {
|
|
342
443
|
const el = scrollElRef.current;
|
|
343
|
-
|
|
444
|
+
const items = el?.children;
|
|
445
|
+
if (!el || !items || items.length === 0) {
|
|
344
446
|
return;
|
|
345
447
|
}
|
|
346
|
-
const
|
|
347
|
-
const
|
|
348
|
-
const amount = el.clientWidth - itemWidth * 0.5;
|
|
349
|
-
// Respect the user's reduced-motion preference — mirrors the CSS
|
|
350
|
-
// scroll-behavior override so button-driven scrolling doesn't animate
|
|
351
|
-
// for users who opted out of motion.
|
|
448
|
+
const clamped = Math.max(0, Math.min(index, items.length - 1));
|
|
449
|
+
const target = items[clamped] as HTMLElement;
|
|
352
450
|
const prefersReducedMotion =
|
|
353
451
|
typeof window !== 'undefined' &&
|
|
354
452
|
typeof window.matchMedia === 'function' &&
|
|
355
453
|
window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
454
|
+
// Bring the item to the start edge by scrolling the container by the
|
|
455
|
+
// measured gap between the item and the container edge. Using scrollBy
|
|
456
|
+
// (not scrollIntoView) keeps the scroll contained to the carousel and
|
|
457
|
+
// never moves ancestors or the page. In RTL the start edge is the right
|
|
458
|
+
// edge, so align the trailing edges instead of the leading ones.
|
|
459
|
+
const containerRect = el.getBoundingClientRect();
|
|
460
|
+
const itemRect = target.getBoundingClientRect();
|
|
461
|
+
const delta = isRtlElement(el)
|
|
462
|
+
? itemRect.right - containerRect.right
|
|
463
|
+
: itemRect.left - containerRect.left;
|
|
356
464
|
el.scrollBy({
|
|
357
|
-
|
|
358
|
-
// toward content end). Under RTL the scroll axis is inverted (start is
|
|
359
|
-
// scrollLeft 0, the end is negative), so flip the physical delta sign.
|
|
360
|
-
left:
|
|
361
|
-
(isRtlElement(el) ? -1 : 1) * direction * Math.max(amount, itemWidth),
|
|
465
|
+
left: delta,
|
|
362
466
|
behavior: prefersReducedMotion ? 'auto' : 'smooth',
|
|
363
467
|
});
|
|
364
468
|
}, []);
|
|
365
469
|
|
|
470
|
+
useImperativeHandle(
|
|
471
|
+
handleRef,
|
|
472
|
+
() => ({
|
|
473
|
+
scrollNext: () => scrollBy(1),
|
|
474
|
+
scrollPrev: () => scrollBy(-1),
|
|
475
|
+
scrollTo: (index: number) => scrollToIndex(index),
|
|
476
|
+
// With loop, either direction is reachable whenever the content
|
|
477
|
+
// overflows; otherwise reflect the live per-edge overflow state.
|
|
478
|
+
canScrollNext: () => (hasLoop ? hasOverflow : overflowEnd),
|
|
479
|
+
canScrollPrev: () => (hasLoop ? hasOverflow : overflowStart),
|
|
480
|
+
}),
|
|
481
|
+
[scrollBy, scrollToIndex, hasLoop, hasOverflow, overflowStart, overflowEnd],
|
|
482
|
+
);
|
|
483
|
+
|
|
484
|
+
// With loop, the buttons stay reachable at both edges as long as there's
|
|
485
|
+
// something to scroll; without loop they follow the per-edge overflow state.
|
|
486
|
+
const canScrollStart = hasLoop && hasOverflow ? true : overflowStart;
|
|
487
|
+
const canScrollEnd = hasLoop && hasOverflow ? true : overflowEnd;
|
|
488
|
+
|
|
366
489
|
const fadeStyle = hasEdgeFade
|
|
367
|
-
? overflowStart && overflowEnd
|
|
490
|
+
? (hasLoop && hasOverflow) || (overflowStart && overflowEnd)
|
|
368
491
|
? styles.fadeBoth
|
|
369
492
|
: overflowStart
|
|
370
493
|
? styles.fadeStart
|
|
@@ -433,13 +556,15 @@ export function Carousel({
|
|
|
433
556
|
{...stylex.props(
|
|
434
557
|
styles.buttonPill,
|
|
435
558
|
styles.buttonPillStart,
|
|
436
|
-
!
|
|
559
|
+
!canScrollStart && styles.buttonHidden,
|
|
437
560
|
)}>
|
|
438
561
|
<Button
|
|
439
562
|
icon={
|
|
440
|
-
<
|
|
441
|
-
|
|
442
|
-
|
|
563
|
+
<Icon
|
|
564
|
+
icon="chevronLeft"
|
|
565
|
+
size="xsm"
|
|
566
|
+
xstyle={rtlStyles.mirror}
|
|
567
|
+
/>
|
|
443
568
|
}
|
|
444
569
|
label={t('@astryx.carousel.scrollLeft')}
|
|
445
570
|
variant="ghost"
|
|
@@ -449,7 +574,7 @@ export function Carousel({
|
|
|
449
574
|
// button mounted (stable layout/focus) but removes it from the
|
|
450
575
|
// tab order and a11y tree while it's visually hidden, so
|
|
451
576
|
// keyboard users don't land on an invisible control.
|
|
452
|
-
isDisabled={!
|
|
577
|
+
isDisabled={!canScrollStart}
|
|
453
578
|
onClick={() => scrollBy(-1)}
|
|
454
579
|
xstyle={styles.buttonRadiusOverride}
|
|
455
580
|
/>
|
|
@@ -458,13 +583,15 @@ export function Carousel({
|
|
|
458
583
|
{...stylex.props(
|
|
459
584
|
styles.buttonPill,
|
|
460
585
|
styles.buttonPillEnd,
|
|
461
|
-
!
|
|
586
|
+
!canScrollEnd && styles.buttonHidden,
|
|
462
587
|
)}>
|
|
463
588
|
<Button
|
|
464
589
|
icon={
|
|
465
|
-
<
|
|
466
|
-
|
|
467
|
-
|
|
590
|
+
<Icon
|
|
591
|
+
icon="chevronRight"
|
|
592
|
+
size="xsm"
|
|
593
|
+
xstyle={rtlStyles.mirror}
|
|
594
|
+
/>
|
|
468
595
|
}
|
|
469
596
|
label={t('@astryx.carousel.scrollRight')}
|
|
470
597
|
variant="ghost"
|
|
@@ -472,7 +599,7 @@ export function Carousel({
|
|
|
472
599
|
isIconOnly
|
|
473
600
|
// See "Scroll left" — disabled while visually hidden so the
|
|
474
601
|
// button stays mounted but out of the tab order / a11y tree.
|
|
475
|
-
isDisabled={!
|
|
602
|
+
isDisabled={!canScrollEnd}
|
|
476
603
|
onClick={() => scrollBy(1)}
|
|
477
604
|
xstyle={styles.buttonRadiusOverride}
|
|
478
605
|
/>
|
package/src/Carousel/index.ts
CHANGED
|
@@ -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: 'Center',
|
|
@@ -36,6 +36,24 @@ export const docs = {
|
|
|
36
36
|
type: 'SizeValue',
|
|
37
37
|
description: 'Minimum container height (px or CSS value).',
|
|
38
38
|
},
|
|
39
|
+
{
|
|
40
|
+
name: 'padding',
|
|
41
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
42
|
+
description:
|
|
43
|
+
'Inner padding on all sides, using the spacing scale (0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10). Matches the padding prop on Stack, Card, LayoutContent, and LayoutPanel. Pass as a JSX number expression e.g. padding={3}.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'paddingInline',
|
|
47
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
48
|
+
description:
|
|
49
|
+
'Inline (horizontal) padding, using the spacing scale. Overrides padding on the inline axis when both are set.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'paddingBlock',
|
|
53
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
54
|
+
description:
|
|
55
|
+
'Block (vertical) padding, using the spacing scale. Overrides padding on the block axis when both are set.',
|
|
56
|
+
},
|
|
39
57
|
{
|
|
40
58
|
name: 'isInline',
|
|
41
59
|
type: 'boolean',
|
|
@@ -76,7 +94,7 @@ export const docs = {
|
|
|
76
94
|
},
|
|
77
95
|
};
|
|
78
96
|
|
|
79
|
-
/** @type {import('
|
|
97
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
80
98
|
export const docsZh = {
|
|
81
99
|
name: 'Center',
|
|
82
100
|
displayName: 'Center',
|
|
@@ -95,6 +113,22 @@ export const docsZh = {
|
|
|
95
113
|
{name: 'axis', type: "'both' | 'horizontal' | 'vertical'", description: '居中的方向。', default: "'both'"},
|
|
96
114
|
{name: 'width', type: 'number | string', description: '容器宽度(px 或 CSS 值)。'},
|
|
97
115
|
{name: 'height', type: 'number | string', description: '容器高度(px 或 CSS 值)。'},
|
|
116
|
+
{
|
|
117
|
+
name: 'padding',
|
|
118
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
119
|
+
description:
|
|
120
|
+
'所有方向的内边距,使用间距刻度(0、0.5、1、1.5、2、3、4、5、6、8、10)。与 Stack、Card、LayoutContent 和 LayoutPanel 的 padding 属性一致。在 JSX 中使用数字表达式 e.g. padding={3}。',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'paddingInline',
|
|
124
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
125
|
+
description: '行内(水平)内边距,使用间距刻度。两者同时设置时在行内轴上覆盖 padding。',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'paddingBlock',
|
|
129
|
+
type: '0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 8 | 10',
|
|
130
|
+
description: '块(垂直)内边距,使用间距刻度。两者同时设置时在块轴上覆盖 padding。',
|
|
131
|
+
},
|
|
98
132
|
{name: 'isInline', type: 'boolean', description: '使用 inline-flex(适用于文本/图标)。', default: 'false'},
|
|
99
133
|
{name: 'children', type: 'ReactNode', description: '要居中的内容。'},
|
|
100
134
|
{
|
|
@@ -116,7 +150,7 @@ export const docsZh = {
|
|
|
116
150
|
},
|
|
117
151
|
};
|
|
118
152
|
|
|
119
|
-
/** @type {import('
|
|
153
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
120
154
|
export const docsDense = {
|
|
121
155
|
description: 'centers content horizontally and/or vertically via flexbox',
|
|
122
156
|
usage: {
|
|
@@ -134,6 +168,10 @@ export const docsDense = {
|
|
|
134
168
|
axis: 'centering direction(s)',
|
|
135
169
|
width: 'container width (px or CSS)',
|
|
136
170
|
height: 'container height (px or CSS)',
|
|
171
|
+
padding:
|
|
172
|
+
'inner padding on all sides (spacing step: 0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10)',
|
|
173
|
+
paddingInline: 'inline (horizontal) padding; overrides padding on that axis',
|
|
174
|
+
paddingBlock: 'block (vertical) padding; overrides padding on that axis',
|
|
137
175
|
isInline: 'use inline-flex for text/icons',
|
|
138
176
|
children: 'content to center',
|
|
139
177
|
xstyle: 'StyleX styles for layout (margins, positioning, sizing); must be stylex.create() value',
|
|
@@ -82,6 +82,81 @@ describe('Center', () => {
|
|
|
82
82
|
expect(element).toBeInTheDocument();
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
+
it('applies a class when padding is set', () => {
|
|
86
|
+
const {rerender} = render(
|
|
87
|
+
<Center data-testid="center">
|
|
88
|
+
<div>Content</div>
|
|
89
|
+
</Center>,
|
|
90
|
+
);
|
|
91
|
+
const baseline = screen.getByTestId('center').className;
|
|
92
|
+
rerender(
|
|
93
|
+
<Center padding={3} data-testid="center">
|
|
94
|
+
<div>Content</div>
|
|
95
|
+
</Center>,
|
|
96
|
+
);
|
|
97
|
+
const withPadding = screen.getByTestId('center').className;
|
|
98
|
+
expect(withPadding).not.toBe('');
|
|
99
|
+
expect(withPadding).not.toBe(baseline);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('accepts paddingInline and paddingBlock without error', () => {
|
|
103
|
+
render(
|
|
104
|
+
<Center paddingInline={4} paddingBlock={2} data-testid="center">
|
|
105
|
+
<div>Content</div>
|
|
106
|
+
</Center>,
|
|
107
|
+
);
|
|
108
|
+
expect(screen.getByTestId('center')).toBeInTheDocument();
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it('lets paddingInline/paddingBlock override padding on their axis', () => {
|
|
112
|
+
// padding sets both axes; paddingInline overrides the inline axis. The
|
|
113
|
+
// component should render without conflict and carry a class.
|
|
114
|
+
render(
|
|
115
|
+
<Center padding={2} paddingInline={5} data-testid="center">
|
|
116
|
+
<div>Content</div>
|
|
117
|
+
</Center>,
|
|
118
|
+
);
|
|
119
|
+
expect(screen.getByTestId('center').className).not.toBe('');
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('applies a class for explicit padding={0} (zero is a valid spacing step)', () => {
|
|
123
|
+
const {rerender} = render(
|
|
124
|
+
<Center data-testid="center">
|
|
125
|
+
<div>Content</div>
|
|
126
|
+
</Center>,
|
|
127
|
+
);
|
|
128
|
+
const baseline = screen.getByTestId('center').className;
|
|
129
|
+
rerender(
|
|
130
|
+
<Center padding={0} data-testid="center">
|
|
131
|
+
<div>Content</div>
|
|
132
|
+
</Center>,
|
|
133
|
+
);
|
|
134
|
+
expect(screen.getByTestId('center').className).not.toBe(baseline);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it('leaves the default className unchanged when no padding props are set', () => {
|
|
138
|
+
const {rerender} = render(
|
|
139
|
+
<Center data-testid="center">
|
|
140
|
+
<div>Content</div>
|
|
141
|
+
</Center>,
|
|
142
|
+
);
|
|
143
|
+
const baseline = screen.getByTestId('center').className;
|
|
144
|
+
// Opting in changes the className...
|
|
145
|
+
rerender(
|
|
146
|
+
<Center padding={3} data-testid="center">
|
|
147
|
+
<div>Content</div>
|
|
148
|
+
</Center>,
|
|
149
|
+
);
|
|
150
|
+
expect(screen.getByTestId('center').className).not.toBe(baseline);
|
|
151
|
+
// ...and dropping the prop restores the exact default output.
|
|
152
|
+
rerender(
|
|
153
|
+
<Center data-testid="center">
|
|
154
|
+
<div>Content</div>
|
|
155
|
+
</Center>,
|
|
156
|
+
);
|
|
157
|
+
expect(screen.getByTestId('center').className).toBe(baseline);
|
|
158
|
+
});
|
|
159
|
+
|
|
85
160
|
it('renders as inline-flex when isInline is true', () => {
|
|
86
161
|
render(
|
|
87
162
|
<Center isInline data-testid="center">
|
package/src/Center/Center.tsx
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file Center.tsx
|
|
7
|
-
* @input Uses React, StyleX for centering styles
|
|
7
|
+
* @input Uses React, StyleX for centering styles, Layout padding.stylex for spacing-scale padding
|
|
8
8
|
* @output Exports Center component and CenterProps
|
|
9
9
|
* @position Center component for centering children horizontally/vertically
|
|
10
10
|
*
|
|
@@ -12,13 +12,17 @@
|
|
|
12
12
|
* - /packages/core/src/Center/Center.doc.mjs
|
|
13
13
|
* - /packages/core/src/Center/Center.test.tsx
|
|
14
14
|
* - /apps/storybook/stories/Center.stories.tsx
|
|
15
|
-
* - /packages/cli/templates/blocks/components/Center/ (showcase blocks)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/Center/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import type {ReactNode} from 'react';
|
|
19
19
|
import type {BaseProps} from '../BaseProps';
|
|
20
20
|
import * as stylex from '@stylexjs/stylex';
|
|
21
|
-
import type {SizeValue} from '../utils/types';
|
|
21
|
+
import type {SizeValue, SpacingStep} from '../utils/types';
|
|
22
|
+
import {
|
|
23
|
+
paddingInlineStyles,
|
|
24
|
+
paddingBlockStyles,
|
|
25
|
+
} from '../Layout/padding.stylex';
|
|
22
26
|
import {mergeProps} from '../utils';
|
|
23
27
|
import {themeProps} from '../utils/themeProps';
|
|
24
28
|
|
|
@@ -90,6 +94,26 @@ export interface CenterProps extends BaseProps<HTMLDivElement> {
|
|
|
90
94
|
*/
|
|
91
95
|
minHeight?: SizeValue;
|
|
92
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Inner padding on all sides, using the spacing scale.
|
|
99
|
+
* Accepts numeric spacing steps: 0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10.
|
|
100
|
+
*
|
|
101
|
+
* Matches the `padding` prop on `Stack`, `Card`, `LayoutContent`, and `LayoutPanel`.
|
|
102
|
+
*/
|
|
103
|
+
padding?: SpacingStep;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Inline (horizontal) padding, using the spacing scale.
|
|
107
|
+
* Overrides `padding` on the inline axis when both are set.
|
|
108
|
+
*/
|
|
109
|
+
paddingInline?: SpacingStep;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Block (vertical) padding, using the spacing scale.
|
|
113
|
+
* Overrides `padding` on the block axis when both are set.
|
|
114
|
+
*/
|
|
115
|
+
paddingBlock?: SpacingStep;
|
|
116
|
+
|
|
93
117
|
/**
|
|
94
118
|
* Whether to make the container inline-flex (useful for text/icons).
|
|
95
119
|
* @default false
|
|
@@ -121,6 +145,9 @@ export function Center({
|
|
|
121
145
|
height,
|
|
122
146
|
maxWidth,
|
|
123
147
|
minHeight,
|
|
148
|
+
padding,
|
|
149
|
+
paddingInline,
|
|
150
|
+
paddingBlock,
|
|
124
151
|
isInline = false,
|
|
125
152
|
children,
|
|
126
153
|
xstyle,
|
|
@@ -129,6 +156,11 @@ export function Center({
|
|
|
129
156
|
ref,
|
|
130
157
|
...props
|
|
131
158
|
}: CenterProps) {
|
|
159
|
+
// Resolve padding to per-axis values: `padding` sets both axes; `paddingInline`
|
|
160
|
+
// / `paddingBlock` take precedence on their own axis when provided.
|
|
161
|
+
const resolvedPaddingInline = paddingInline ?? padding;
|
|
162
|
+
const resolvedPaddingBlock = paddingBlock ?? padding;
|
|
163
|
+
|
|
132
164
|
const stylexProps = mergeProps(
|
|
133
165
|
themeProps('center', {axis}),
|
|
134
166
|
stylex.props(
|
|
@@ -141,6 +173,9 @@ export function Center({
|
|
|
141
173
|
maxWidth ?? null,
|
|
142
174
|
minHeight ?? null,
|
|
143
175
|
),
|
|
176
|
+
resolvedPaddingInline != null &&
|
|
177
|
+
paddingInlineStyles[resolvedPaddingInline],
|
|
178
|
+
resolvedPaddingBlock != null && paddingBlockStyles[resolvedPaddingBlock],
|
|
144
179
|
xstyle,
|
|
145
180
|
),
|
|
146
181
|
className,
|
package/src/Chat/Chat.doc.mjs
CHANGED
|
@@ -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: 'Chat',
|
|
@@ -88,7 +88,7 @@ export const docs = {
|
|
|
88
88
|
},
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
-
/** @type {import('
|
|
91
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
92
92
|
export const docsZh = {
|
|
93
93
|
usage: {
|
|
94
94
|
description: 'Chat 是一组用于构建 AI 和人工聊天体验的可组合基础组件。组合 ChatLayout、ChatMessageList、ChatMessage、气泡、系统消息、工具调用、标记文本和 ChatComposer,可构建完整对话,而无需重新实现发送者感知布局、密度、滚动或编写器行为。',
|
|
@@ -117,7 +117,7 @@ export const docsZh = {
|
|
|
117
117
|
},
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
/** @type {import('
|
|
120
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
121
121
|
export const docsDense = {
|
|
122
122
|
description: 'AI chat components. Layout (MessageList>Message>Bubble+SystemMessage) + Composer (shell w/ slots, ContentEditable input w/ trigger menus, tokens, msg history, attachments)',
|
|
123
123
|
usage: {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* SYNC: When modified, update:
|
|
21
21
|
* - /packages/core/src/Chat/Chat.doc.mjs
|
|
22
22
|
* - /apps/storybook/stories/ChatComposer.stories.tsx
|
|
23
|
-
* - /packages/cli/templates/blocks/components/ChatComposer/ (block examples)
|
|
23
|
+
* - /packages/cli/assets/templates/blocks/components/ChatComposer/ (block examples)
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
import React, {
|
|
@@ -230,16 +230,16 @@ const styles = stylex.create({
|
|
|
230
230
|
paddingBlockEnd:
|
|
231
231
|
'calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))',
|
|
232
232
|
marginBlockEnd: 'calc(-1 * var(--_chat-composer-radius))',
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
borderStartStartRadius: 'var(--_chat-composer-radius)',
|
|
234
|
+
borderStartEndRadius: 'var(--_chat-composer-radius)',
|
|
235
235
|
},
|
|
236
236
|
statusBottom: {
|
|
237
237
|
paddingBlockStart:
|
|
238
238
|
'calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))',
|
|
239
239
|
paddingBlockEnd: 'var(--_chat-composer-padding)',
|
|
240
240
|
marginBlockStart: 'calc(-1 * var(--_chat-composer-radius))',
|
|
241
|
-
|
|
242
|
-
|
|
241
|
+
borderEndStartRadius: 'var(--_chat-composer-radius)',
|
|
242
|
+
borderEndEndRadius: 'var(--_chat-composer-radius)',
|
|
243
243
|
},
|
|
244
244
|
statusError: {
|
|
245
245
|
backgroundColor: colorVars['--color-error-muted'],
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SYNC: When modified, update:
|
|
16
16
|
* - /packages/core/src/Chat/index.ts (exports)
|
|
17
|
-
* - /packages/cli/templates/blocks/components/ChatComposerDrawer/ (block examples)
|
|
17
|
+
* - /packages/cli/assets/templates/blocks/components/ChatComposerDrawer/ (block examples)
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import {useId, useState, type ReactNode} from 'react';
|
|
@@ -104,8 +104,8 @@ const styles = stylex.create({
|
|
|
104
104
|
// opaque or translucent.
|
|
105
105
|
backgroundColor: colorVars['--color-background-surface'],
|
|
106
106
|
backgroundImage: `linear-gradient(${colorVars['--color-background-muted']}, ${colorVars['--color-background-muted']})`,
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
borderStartStartRadius: radiusVars['--radius-chat'],
|
|
108
|
+
borderStartEndRadius: radiusVars['--radius-chat'],
|
|
109
109
|
},
|
|
110
110
|
|
|
111
111
|
// Toggle row — both the bar handle and badge+label live in the
|
|
@@ -157,8 +157,8 @@ const styles = stylex.create({
|
|
|
157
157
|
gridColumn: 1,
|
|
158
158
|
justifySelf: 'center',
|
|
159
159
|
alignSelf: 'start',
|
|
160
|
-
width: '
|
|
161
|
-
height: '
|
|
160
|
+
width: spacingVars['--spacing-5'],
|
|
161
|
+
height: spacingVars['--spacing-0-5'],
|
|
162
162
|
borderRadius: radiusVars['--radius-full'],
|
|
163
163
|
backgroundColor: {
|
|
164
164
|
default: colorVars['--color-icon-secondary'],
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* SYNC: When modified, update:
|
|
21
21
|
* - /packages/core/src/Chat/index.ts
|
|
22
22
|
* - /apps/storybook/stories/ChatComposer.stories.tsx
|
|
23
|
-
* - /packages/cli/templates/blocks/components/ChatComposerInput/ (block examples)
|
|
23
|
+
* - /packages/cli/assets/templates/blocks/components/ChatComposerInput/ (block examples)
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
import {
|