@astryxdesign/core 0.2.0 → 0.3.0-canary.1b8b3f2
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 +4 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +4 -2
- package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +4 -2
- 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 +16 -5
- 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 +12 -3
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +114 -21
- 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 +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.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.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.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 +116 -37
- package/dist/astryx.umd.js +50 -54
- 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.map +1 -1
- package/dist/theme/derivedVarRegistry.js +0 -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 +0 -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 +17 -3
- package/src/DateInput/DateInput.test.tsx +62 -3
- package/src/DateInput/DateInput.tsx +18 -2
- package/src/DateRangeInput/DateRangeInput.doc.mjs +10 -2
- package/src/DateRangeInput/DateRangeInput.test.tsx +73 -2
- package/src/DateRangeInput/DateRangeInput.tsx +18 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +17 -3
- package/src/DateTimeInput/DateTimeInput.test.tsx +62 -2
- package/src/DateTimeInput/DateTimeInput.tsx +18 -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 +3 -6
- package/src/NumberInput/NumberInput.test.tsx +38 -3
- package/src/NumberInput/NumberInput.tsx +24 -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 +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 +299 -3
- package/src/Selector/Selector.tsx +213 -53
- 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 +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 +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 +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 +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.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 +0 -1
- package/src/theme/derivedVarRegistry.ts +0 -6
- package/src/theme/expandColorScale.test.ts +401 -1
- package/src/theme/expandColorScale.ts +143 -19
- package/src/theme/generateThemeRules.test.ts +20 -20
- package/src/theme/generateThemeRules.ts +0 -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
package/src/Field/Field.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: 'Field',
|
|
@@ -30,6 +30,10 @@ export const docs = {
|
|
|
30
30
|
{className: 'astryx-field', visualProps: ['layout']},
|
|
31
31
|
{className: 'astryx-field-label'},
|
|
32
32
|
{className: 'astryx-field-status', visualProps: ['type', 'variant']},
|
|
33
|
+
{
|
|
34
|
+
className: 'astryx-input-status-icon',
|
|
35
|
+
visualProps: ['size', 'status'],
|
|
36
|
+
},
|
|
33
37
|
],
|
|
34
38
|
vars: [
|
|
35
39
|
{name: '--_field-radius', description: 'Border radius of input fields', default: 'var(--radius-element)', private: true},
|
|
@@ -192,7 +196,7 @@ function CustomSliderField() {
|
|
|
192
196
|
],
|
|
193
197
|
};
|
|
194
198
|
|
|
195
|
-
/** @type {import('
|
|
199
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
196
200
|
export const docsZh = {
|
|
197
201
|
usage: {
|
|
198
202
|
description: 'Field is a low-level wrapper for custom, native, or third-party controls that do not already provide field label, description, and status UI. Use it when you need the Field shell around a control you own; use styled Astryx inputs like TextInput, Typeahead, and Select directly when they already expose label, description, and validation props.',
|
|
@@ -208,7 +212,7 @@ export const docsZh = {
|
|
|
208
212
|
},
|
|
209
213
|
};
|
|
210
214
|
|
|
211
|
-
/** @type {import('
|
|
215
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
212
216
|
export const docsDense = {
|
|
213
217
|
description:
|
|
214
218
|
'Low-level field shell for custom controls needing label/description/status.',
|
package/src/Field/Field.tsx
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/Field/Field.test.tsx (tests for new/changed behavior)
|
|
14
14
|
* - /packages/core/src/Field/index.ts (exports if types change)
|
|
15
15
|
* - /apps/storybook/stories/Field.stories.tsx (storybook stories)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/Field/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/Field/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import {type ReactNode, use} from 'react';
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
import {describe, it, expect, vi} from 'vitest';
|
|
13
13
|
import {render, screen} from '@testing-library/react';
|
|
14
|
+
import userEvent from '@testing-library/user-event';
|
|
14
15
|
import {TestIcon} from '../__tests__/TestIcon';
|
|
16
|
+
import {InternationalizationProvider} from '../i18n';
|
|
15
17
|
import {FieldLabel} from './FieldLabel';
|
|
16
18
|
|
|
17
19
|
describe('FieldLabel', () => {
|
|
@@ -36,6 +38,30 @@ describe('FieldLabel', () => {
|
|
|
36
38
|
expect(screen.getByText(/Required/)).toBeInTheDocument();
|
|
37
39
|
});
|
|
38
40
|
|
|
41
|
+
it('localizes the required indicator via the i18n provider', () => {
|
|
42
|
+
render(
|
|
43
|
+
<InternationalizationProvider
|
|
44
|
+
locale="fr"
|
|
45
|
+
overrides={{fr: {'@astryx.field.required': 'Obligatoire'}}}>
|
|
46
|
+
<FieldLabel label="Nom" inputID="name-input" isRequired />
|
|
47
|
+
</InternationalizationProvider>,
|
|
48
|
+
);
|
|
49
|
+
expect(screen.getByText(/Obligatoire/)).toBeInTheDocument();
|
|
50
|
+
expect(screen.queryByText(/Required/)).not.toBeInTheDocument();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('localizes the optional indicator via the i18n provider', () => {
|
|
54
|
+
render(
|
|
55
|
+
<InternationalizationProvider
|
|
56
|
+
locale="fr"
|
|
57
|
+
overrides={{fr: {'@astryx.field.optional': 'Facultatif'}}}>
|
|
58
|
+
<FieldLabel label="Nom" inputID="name-input" isOptional />
|
|
59
|
+
</InternationalizationProvider>,
|
|
60
|
+
);
|
|
61
|
+
expect(screen.getByText(/Facultatif/)).toBeInTheDocument();
|
|
62
|
+
expect(screen.queryByText(/Optional/)).not.toBeInTheDocument();
|
|
63
|
+
});
|
|
64
|
+
|
|
39
65
|
it('shows Optional when both isOptional and isRequired are true', () => {
|
|
40
66
|
render(
|
|
41
67
|
<FieldLabel label="Name" inputID="name-input" isOptional isRequired />,
|
|
@@ -94,4 +120,81 @@ describe('FieldLabel', () => {
|
|
|
94
120
|
// Info icon should be present
|
|
95
121
|
expect(document.querySelector('svg')).toBeInTheDocument();
|
|
96
122
|
});
|
|
123
|
+
|
|
124
|
+
describe('description click forwarding', () => {
|
|
125
|
+
// Renders a real control with the target id so click-forwarding has
|
|
126
|
+
// something to hit, alongside the label whose description forwards clicks.
|
|
127
|
+
function renderWithControl(props: {
|
|
128
|
+
isGroupLabel?: boolean;
|
|
129
|
+
controlType?: string;
|
|
130
|
+
description?: React.ReactNode;
|
|
131
|
+
}) {
|
|
132
|
+
const {isGroupLabel, controlType = 'checkbox', description} = props;
|
|
133
|
+
const onClick = vi.fn();
|
|
134
|
+
render(
|
|
135
|
+
<>
|
|
136
|
+
<input id="ctrl" type={controlType} onClick={onClick} />
|
|
137
|
+
<FieldLabel
|
|
138
|
+
label="Notify"
|
|
139
|
+
inputID="ctrl"
|
|
140
|
+
description={description ?? "We'll email you"}
|
|
141
|
+
descriptionID="ctrl-desc"
|
|
142
|
+
isGroupLabel={isGroupLabel}
|
|
143
|
+
/>
|
|
144
|
+
</>,
|
|
145
|
+
);
|
|
146
|
+
return onClick;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
it('forwards a description click to a click-activatable control (checkbox)', async () => {
|
|
150
|
+
const user = userEvent.setup();
|
|
151
|
+
const onClick = renderWithControl({controlType: 'checkbox'});
|
|
152
|
+
await user.click(screen.getByText("We'll email you"));
|
|
153
|
+
expect(onClick).toHaveBeenCalledTimes(1);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it('focuses (does not click) a text input on description click', async () => {
|
|
157
|
+
const user = userEvent.setup();
|
|
158
|
+
const onClick = renderWithControl({controlType: 'text'});
|
|
159
|
+
await user.click(screen.getByText("We'll email you"));
|
|
160
|
+
// Text inputs focus rather than click — matching native label behavior,
|
|
161
|
+
// so no synthetic click fires but the control receives focus.
|
|
162
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
163
|
+
expect(document.getElementById('ctrl')).toHaveFocus();
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it('does NOT forward description clicks for a group label', async () => {
|
|
167
|
+
const user = userEvent.setup();
|
|
168
|
+
const onClick = renderWithControl({isGroupLabel: true});
|
|
169
|
+
await user.click(screen.getByText("We'll email you"));
|
|
170
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it('does NOT hijack clicks on interactive content inside the description', async () => {
|
|
174
|
+
const user = userEvent.setup();
|
|
175
|
+
const linkClick = vi.fn();
|
|
176
|
+
const onClick = renderWithControl({
|
|
177
|
+
description: (
|
|
178
|
+
<>
|
|
179
|
+
See our{' '}
|
|
180
|
+
<a href="#terms" onClick={linkClick}>
|
|
181
|
+
terms
|
|
182
|
+
</a>
|
|
183
|
+
</>
|
|
184
|
+
),
|
|
185
|
+
});
|
|
186
|
+
await user.click(screen.getByRole('link', {name: 'terms'}));
|
|
187
|
+
// The nested link handles its own click; the control is not toggled.
|
|
188
|
+
expect(linkClick).toHaveBeenCalledTimes(1);
|
|
189
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
it('keeps the description a sibling of the label (not nested inside it)', () => {
|
|
193
|
+
renderWithControl({});
|
|
194
|
+
const description = screen.getByText("We'll email you");
|
|
195
|
+
// The description must not live inside the <label> — nesting it there
|
|
196
|
+
// would fold it into the control's accessible name.
|
|
197
|
+
expect(description.closest('label')).toBeNull();
|
|
198
|
+
});
|
|
199
|
+
});
|
|
97
200
|
});
|
package/src/Field/FieldLabel.tsx
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
|
+
'use client';
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* @file FieldLabel.tsx
|
|
5
|
-
* @input Uses React, Icon, IconType
|
|
7
|
+
* @input Uses React, Icon, IconType, useTranslator
|
|
6
8
|
* @output Exports FieldLabel component, FieldLabelProps
|
|
7
9
|
* @position Core label implementation; used by Field, CheckboxInput, Switch
|
|
8
10
|
*
|
|
9
11
|
* SYNC: When modified, update these files to stay in sync:
|
|
10
12
|
* - /packages/core/src/Field/Field.doc.mjs (props table, features, implementation notes)
|
|
11
13
|
* - /packages/core/src/Field/index.ts (exports if types change)
|
|
12
|
-
* - /packages/cli/templates/blocks/components/Field/ (showcase blocks)
|
|
14
|
+
* - /packages/cli/assets/templates/blocks/components/Field/ (showcase blocks)
|
|
15
|
+
* - /packages/core/locales/en.json (@astryx.field.required / @astryx.field.optional)
|
|
13
16
|
*/
|
|
14
17
|
|
|
15
|
-
import type
|
|
18
|
+
import {useMemo, useRef, type ReactNode, type RefObject} from 'react';
|
|
16
19
|
import * as stylex from '@stylexjs/stylex';
|
|
17
20
|
import type {BaseProps} from '../BaseProps';
|
|
18
21
|
import {mergeProps} from '../utils';
|
|
@@ -26,7 +29,9 @@ import {
|
|
|
26
29
|
} from '../theme/tokens.stylex';
|
|
27
30
|
import {Icon, renderIconSlot, type IconType} from '../Icon';
|
|
28
31
|
import {Tooltip} from '../Tooltip';
|
|
32
|
+
import {useTranslator} from '../i18n';
|
|
29
33
|
import {themeProps} from '../utils/themeProps';
|
|
34
|
+
import {useInputContainer} from '../hooks';
|
|
30
35
|
|
|
31
36
|
const styles = stylex.create({
|
|
32
37
|
label: {
|
|
@@ -72,6 +77,11 @@ const styles = stylex.create({
|
|
|
72
77
|
fontWeight: fontWeightVars['--font-weight-normal'],
|
|
73
78
|
color: colorVars['--color-text-secondary'],
|
|
74
79
|
},
|
|
80
|
+
// When the description forwards clicks to a click-activatable control
|
|
81
|
+
// (checkbox/switch), it reads as part of the same hit target as the label.
|
|
82
|
+
descriptionClickable: {
|
|
83
|
+
cursor: 'pointer',
|
|
84
|
+
},
|
|
75
85
|
});
|
|
76
86
|
|
|
77
87
|
export interface FieldLabelProps extends BaseProps<HTMLLabelElement> {
|
|
@@ -177,7 +187,12 @@ export function FieldLabel({
|
|
|
177
187
|
ref,
|
|
178
188
|
...rest
|
|
179
189
|
}: FieldLabelProps) {
|
|
180
|
-
const
|
|
190
|
+
const t = useTranslator();
|
|
191
|
+
const statusText = isOptional
|
|
192
|
+
? t('@astryx.field.optional')
|
|
193
|
+
: isRequired
|
|
194
|
+
? t('@astryx.field.required')
|
|
195
|
+
: null;
|
|
181
196
|
|
|
182
197
|
// A group label (e.g. for a radiogroup) must not be a literal `<label>`
|
|
183
198
|
// element: a `<label>` semantically names a single form control and can't be
|
|
@@ -185,6 +200,41 @@ export function FieldLabel({
|
|
|
185
200
|
// label styling and slots. The group references it via `aria-labelledby`.
|
|
186
201
|
const LabelElement = isGroupLabel ? 'span' : 'label';
|
|
187
202
|
|
|
203
|
+
// Clicking the description forwards to the associated control, so the whole
|
|
204
|
+
// label area (label text + description) is one hit target — mirroring native
|
|
205
|
+
// `<label>` click behavior, which the description can't get from `htmlFor`
|
|
206
|
+
// because it stays a sibling `<span>` (nesting it in the `<label>` would fold
|
|
207
|
+
// it into the control's accessible name and double-announce it alongside
|
|
208
|
+
// `aria-describedby`). A group label names a group, not one control, so it
|
|
209
|
+
// has nothing to forward to.
|
|
210
|
+
const forwardsDescriptionClick = !isGroupLabel && inputID != null;
|
|
211
|
+
|
|
212
|
+
// Reuse `useInputContainer` — the same hook input wrappers use to forward
|
|
213
|
+
// clicks on non-interactive chrome to their control. It skips nested
|
|
214
|
+
// interactive content (a link/button inside a ReactNode description) and
|
|
215
|
+
// guards against forwarding during text selection, so the description needs
|
|
216
|
+
// no bespoke click logic. The "input" is resolved from `inputID` lazily via
|
|
217
|
+
// a ref-shaped object, since FieldLabel points at the control by id rather
|
|
218
|
+
// than holding a ref to it.
|
|
219
|
+
const descriptionRef = useRef<HTMLSpanElement>(null);
|
|
220
|
+
const controlRef = useMemo<RefObject<HTMLElement | null>>(
|
|
221
|
+
() => ({
|
|
222
|
+
get current() {
|
|
223
|
+
return inputID == null
|
|
224
|
+
? null
|
|
225
|
+
: (descriptionRef.current?.ownerDocument.getElementById(inputID) ??
|
|
226
|
+
null);
|
|
227
|
+
},
|
|
228
|
+
set current(_value) {},
|
|
229
|
+
}),
|
|
230
|
+
[inputID],
|
|
231
|
+
);
|
|
232
|
+
const descriptionClickProps = useInputContainer({
|
|
233
|
+
containerRef: descriptionRef,
|
|
234
|
+
inputRef: controlRef,
|
|
235
|
+
disabled: !forwardsDescriptionClick,
|
|
236
|
+
});
|
|
237
|
+
|
|
188
238
|
const labelContent = (
|
|
189
239
|
<>
|
|
190
240
|
{labelIcon && renderIconSlot(labelIcon, {size: 'sm', color: 'inherit'})}
|
|
@@ -227,8 +277,14 @@ export function FieldLabel({
|
|
|
227
277
|
</LabelElement>
|
|
228
278
|
{description && (
|
|
229
279
|
<span
|
|
280
|
+
ref={forwardsDescriptionClick ? descriptionRef : undefined}
|
|
230
281
|
id={descriptionID}
|
|
231
|
-
{...
|
|
282
|
+
{...(forwardsDescriptionClick ? descriptionClickProps : undefined)}
|
|
283
|
+
{...stylex.props(
|
|
284
|
+
styles.description,
|
|
285
|
+
forwardsDescriptionClick && styles.descriptionClickable,
|
|
286
|
+
isLabelHidden && styles.srOnly,
|
|
287
|
+
)}>
|
|
232
288
|
{description}
|
|
233
289
|
</span>
|
|
234
290
|
)}
|
|
@@ -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: 'FieldStatus',
|
|
6
6
|
displayName: 'Field Status',
|
|
@@ -12,6 +12,7 @@ export const docs = {
|
|
|
12
12
|
theming: {
|
|
13
13
|
targets: [
|
|
14
14
|
{className: 'astryx-field-status', visualProps: ['type', 'variant']},
|
|
15
|
+
{className: 'astryx-field-status-icon', visualProps: ['type']},
|
|
15
16
|
],
|
|
16
17
|
},
|
|
17
18
|
props: [
|
|
@@ -63,7 +64,7 @@ export const docs = {
|
|
|
63
64
|
},
|
|
64
65
|
};
|
|
65
66
|
|
|
66
|
-
/** @type {import('
|
|
67
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
67
68
|
export const docsDense = {
|
|
68
69
|
description:
|
|
69
70
|
'Validation feedback message for fields/custom controls. Supports error, warning, success and attached/detached variants. Announced via persistent live regions (assertive for errors, polite otherwise).',
|
|
@@ -372,6 +372,67 @@ describe('FieldStatus', () => {
|
|
|
372
372
|
});
|
|
373
373
|
});
|
|
374
374
|
|
|
375
|
+
describe('field-status-icon theme target', () => {
|
|
376
|
+
// The stable theme target lands on the detached message box's leading glyph
|
|
377
|
+
// itself, so a theme can restyle (e.g. resize) just this icon via
|
|
378
|
+
// `defineTheme`. It reflects the status type as a data attribute so themes
|
|
379
|
+
// can target per status, mirroring the parent astryx-field-status.
|
|
380
|
+
const getStatusIcon = (root: HTMLElement): HTMLElement => {
|
|
381
|
+
const icon = root.querySelector('.astryx-field-status-icon');
|
|
382
|
+
if (icon == null) {
|
|
383
|
+
throw new Error('status icon not found');
|
|
384
|
+
}
|
|
385
|
+
return icon as HTMLElement;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
it('renders the target on the detached leading icon', () => {
|
|
389
|
+
render(
|
|
390
|
+
<FieldStatus
|
|
391
|
+
type="error"
|
|
392
|
+
message="msg"
|
|
393
|
+
variant="detached"
|
|
394
|
+
data-testid="fs"
|
|
395
|
+
/>,
|
|
396
|
+
);
|
|
397
|
+
const icon = getStatusIcon(screen.getByTestId('fs'));
|
|
398
|
+
expect(icon).toHaveClass('astryx-field-status-icon');
|
|
399
|
+
expect(icon).toHaveClass('astryx-icon');
|
|
400
|
+
expect(icon).toHaveAttribute('data-type', 'error');
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
it('reflects the status type per status', () => {
|
|
404
|
+
for (const type of ['error', 'warning', 'success'] as const) {
|
|
405
|
+
const {unmount} = render(
|
|
406
|
+
<FieldStatus
|
|
407
|
+
type={type}
|
|
408
|
+
message="msg"
|
|
409
|
+
variant="detached"
|
|
410
|
+
data-testid="fs"
|
|
411
|
+
/>,
|
|
412
|
+
);
|
|
413
|
+
expect(getStatusIcon(screen.getByTestId('fs'))).toHaveAttribute(
|
|
414
|
+
'data-type',
|
|
415
|
+
type,
|
|
416
|
+
);
|
|
417
|
+
unmount();
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
it('does not render the target for the attached variant', () => {
|
|
422
|
+
render(
|
|
423
|
+
<FieldStatus
|
|
424
|
+
type="error"
|
|
425
|
+
message="msg"
|
|
426
|
+
variant="attached"
|
|
427
|
+
data-testid="fs"
|
|
428
|
+
/>,
|
|
429
|
+
);
|
|
430
|
+
expect(
|
|
431
|
+
screen.getByTestId('fs').querySelector('.astryx-field-status-icon'),
|
|
432
|
+
).toBeNull();
|
|
433
|
+
});
|
|
434
|
+
});
|
|
435
|
+
|
|
375
436
|
describe('edge cases', () => {
|
|
376
437
|
it('renders an empty message without crashing', () => {
|
|
377
438
|
render(<FieldStatus type="error" message="" data-testid="fs" />);
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - /packages/core/src/Field/Field.doc.mjs (compat docs when public API changes)
|
|
12
12
|
* - /packages/core/src/FieldStatus/index.ts (exports if types change)
|
|
13
13
|
* - /packages/core/src/Field/index.ts (compat re-export if public API changes)
|
|
14
|
-
* - /packages/cli/templates/blocks/components/FieldStatus/ (showcase blocks)
|
|
14
|
+
* - /packages/cli/assets/templates/blocks/components/FieldStatus/ (showcase blocks)
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
'use client';
|
|
@@ -33,6 +33,7 @@ import {useEntryAnimation} from '../hooks/useEntryAnimation';
|
|
|
33
33
|
import {themeProps} from '../utils/themeProps';
|
|
34
34
|
import {Icon} from '../Icon';
|
|
35
35
|
import type {IconName} from '../Icon';
|
|
36
|
+
import type {FieldStatusVariantMap} from './index';
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
39
|
* Maps each status type to its status glyph. Mirrors the mapping the input
|
|
@@ -56,8 +57,8 @@ const styles = stylex.create({
|
|
|
56
57
|
paddingBlockStart: `calc(${spacingVars['--spacing-1-5']} + ${spacingVars['--spacing-2']})`,
|
|
57
58
|
paddingBlockEnd: spacingVars['--spacing-2'],
|
|
58
59
|
paddingInline: spacingVars['--spacing-2'],
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
borderEndStartRadius: radiusVars['--radius-element'],
|
|
61
|
+
borderEndEndRadius: radiusVars['--radius-element'],
|
|
61
62
|
},
|
|
62
63
|
detached: {
|
|
63
64
|
marginTop: spacingVars['--spacing-1'],
|
|
@@ -96,25 +97,6 @@ const colorStyles = stylex.create({
|
|
|
96
97
|
},
|
|
97
98
|
});
|
|
98
99
|
|
|
99
|
-
/**
|
|
100
|
-
* Extensible variant map for FieldStatus.
|
|
101
|
-
*
|
|
102
|
-
* Theme packages can add custom variants via TypeScript module augmentation:
|
|
103
|
-
* @example
|
|
104
|
-
* ```
|
|
105
|
-
* declare module '@astryxdesign/core/FieldStatus' {
|
|
106
|
-
* interface FieldStatusVariantMap {
|
|
107
|
-
* 'inline': true;
|
|
108
|
-
* }
|
|
109
|
-
* }
|
|
110
|
-
* ```
|
|
111
|
-
*/
|
|
112
|
-
export interface FieldStatusVariantMap {
|
|
113
|
-
attached: true;
|
|
114
|
-
detached: true;
|
|
115
|
-
tooltip: true;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
100
|
/**
|
|
119
101
|
* FieldStatus variant type. Extensible via module augmentation of FieldStatusVariantMap.
|
|
120
102
|
*/
|
|
@@ -216,7 +198,18 @@ export function FieldStatus({
|
|
|
216
198
|
{variant === 'detached' ? (
|
|
217
199
|
<span {...stylex.props(styles.detachedContent)}>
|
|
218
200
|
<span {...stylex.props(styles.detachedIcon)}>
|
|
219
|
-
<Icon
|
|
201
|
+
<Icon
|
|
202
|
+
icon={statusIconMap[type]}
|
|
203
|
+
size="sm"
|
|
204
|
+
color="inherit"
|
|
205
|
+
// Stable theme target on the detached message box's leading glyph
|
|
206
|
+
// itself, so a theme can restyle just this icon (color, size) —
|
|
207
|
+
// and each status — via `defineTheme`. Same-element rules in
|
|
208
|
+
// @layer astryx-theme win over the icon's own base
|
|
209
|
+
// width/height/fontSize, which a field-level target could not
|
|
210
|
+
// reach.
|
|
211
|
+
{...themeProps('field-status-icon', {type})}
|
|
212
|
+
/>
|
|
220
213
|
</span>
|
|
221
214
|
<span>{message}</span>
|
|
222
215
|
</span>
|
package/src/FieldStatus/index.ts
CHANGED
|
@@ -9,9 +9,24 @@
|
|
|
9
9
|
* @position Entry point for @astryxdesign/core/FieldStatus subpath export
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Extensible variant map for FieldStatus.
|
|
14
|
+
*
|
|
15
|
+
* Theme packages can add custom variants via TypeScript module augmentation:
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* declare module '@astryxdesign/core/FieldStatus' {
|
|
19
|
+
* interface FieldStatusVariantMap {
|
|
20
|
+
* 'inline': true;
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export interface FieldStatusVariantMap {
|
|
26
|
+
attached: true;
|
|
27
|
+
detached: true;
|
|
28
|
+
tooltip: true;
|
|
29
|
+
}
|
|
30
|
+
|
|
12
31
|
export {FieldStatus} from './FieldStatus';
|
|
13
|
-
export type {
|
|
14
|
-
FieldStatusProps,
|
|
15
|
-
FieldStatusVariant,
|
|
16
|
-
FieldStatusVariantMap,
|
|
17
|
-
} from './FieldStatus';
|
|
32
|
+
export type {FieldStatusProps, FieldStatusVariant} from './FieldStatus';
|
|
@@ -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: 'FileInput',
|
|
@@ -170,7 +170,7 @@ export const docs = {
|
|
|
170
170
|
},
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
-
/** @type {import('
|
|
173
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
174
174
|
export const docsZh = {
|
|
175
175
|
name: 'FileInput',
|
|
176
176
|
displayName: 'File Input',
|
|
@@ -293,7 +293,7 @@ export const docsZh = {
|
|
|
293
293
|
},
|
|
294
294
|
};
|
|
295
295
|
|
|
296
|
-
/** @type {import('
|
|
296
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
297
297
|
export const docsDense = {
|
|
298
298
|
description: 'File input w/ input/dropzone modes, validation, label, description, status.',
|
|
299
299
|
usage: {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/FileInput/FileInput.test.tsx (tests for new/changed behavior)
|
|
14
14
|
* - /packages/core/src/FileInput/index.ts (exports if types change)
|
|
15
15
|
* - /apps/storybook/stories/FileInput.stories.tsx (storybook stories)
|
|
16
|
-
* - /packages/cli/templates/blocks/components/FileInput/ (showcase blocks)
|
|
16
|
+
* - /packages/cli/assets/templates/blocks/components/FileInput/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import {
|
|
@@ -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: 'FormLayout',
|
|
@@ -52,7 +52,7 @@ export const docs = {
|
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
/** @type {import('
|
|
55
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
|
|
56
56
|
export const docsZh = {
|
|
57
57
|
name: 'FormLayout',
|
|
58
58
|
displayName: 'Form Layout',
|
|
@@ -100,7 +100,7 @@ export const docsZh = {
|
|
|
100
100
|
},
|
|
101
101
|
};
|
|
102
102
|
|
|
103
|
-
/** @type {import('
|
|
103
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
104
104
|
export const docsDense = {
|
|
105
105
|
description:
|
|
106
106
|
'Layout container for form fields w/ consistent spacing + direction.',
|
|
@@ -12,17 +12,14 @@
|
|
|
12
12
|
* - /packages/core/src/FormLayout/FormLayout.test.tsx (tests for new/changed behavior)
|
|
13
13
|
* - /packages/core/src/FormLayout/index.ts (exports if types change)
|
|
14
14
|
* - /apps/storybook/stories/FormLayout.stories.tsx (storybook stories)
|
|
15
|
-
* - /packages/cli/templates/blocks/components/FormLayout/ (showcase blocks)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/FormLayout/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import {useMemo, type ReactNode} from 'react';
|
|
19
19
|
import type {BaseProps} from '../BaseProps';
|
|
20
20
|
import * as stylex from '@stylexjs/stylex';
|
|
21
21
|
import {spacingVars} from '../theme/tokens.stylex';
|
|
22
|
-
import {
|
|
23
|
-
FormLayoutContext,
|
|
24
|
-
type FormLayoutDirection,
|
|
25
|
-
} from './FormLayoutContext';
|
|
22
|
+
import {FormLayoutContext, type FormLayoutDirection} from './FormLayoutContext';
|
|
26
23
|
import {mergeProps} from '../utils';
|
|
27
24
|
import {themeProps} from '../utils/themeProps';
|
|
28
25
|
|
package/src/Grid/Grid.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: 'Grid',
|
|
@@ -33,11 +33,6 @@ export const docs = {
|
|
|
33
33
|
type: "number | {minWidth: number, max?: number, repeat?: 'fill' | 'fit'}",
|
|
34
34
|
description: 'Column configuration. Use a number for fixed columns (e.g. `columns={3}`). Use an object for responsive columns: `minWidth` sets the minimum column width in px, `repeat` controls track behavior (`"fill"` preserves empty tracks for consistent widths, `"fit"` collapses empty tracks so items stretch; defaults to `"fill"`), and `max` caps the maximum number of columns.',
|
|
35
35
|
},
|
|
36
|
-
{
|
|
37
|
-
name: 'minChildWidth',
|
|
38
|
-
type: 'number',
|
|
39
|
-
description: 'Deprecated: use `columns={{minWidth: 280}}` instead. Minimum item width in px; enables responsive auto-fit.',
|
|
40
|
-
},
|
|
41
36
|
{
|
|
42
37
|
name: 'width',
|
|
43
38
|
type: 'SizeValue',
|
|
@@ -101,7 +96,7 @@ export const docs = {
|
|
|
101
96
|
],
|
|
102
97
|
};
|
|
103
98
|
|
|
104
|
-
/** @type {import('
|
|
99
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
105
100
|
export const docsZh = {
|
|
106
101
|
usage: {
|
|
107
102
|
description:
|
|
@@ -117,7 +112,7 @@ export const docsZh = {
|
|
|
117
112
|
},
|
|
118
113
|
};
|
|
119
114
|
|
|
120
|
-
/** @type {import('
|
|
115
|
+
/** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
|
|
121
116
|
export const docsDense = {
|
|
122
117
|
description: 'CSS Grid-based layout w/ responsive column support.',
|
|
123
118
|
usage: {
|
package/src/Grid/Grid.tsx
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - /packages/core/src/Grid/Grid.doc.mjs
|
|
13
13
|
* - /packages/core/src/Grid/Grid.test.tsx
|
|
14
14
|
* - /apps/storybook/stories/Grid.stories.tsx
|
|
15
|
-
* - /packages/cli/templates/blocks/components/Grid/ (showcase blocks)
|
|
15
|
+
* - /packages/cli/assets/templates/blocks/components/Grid/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import type {ReactNode} from 'react';
|
|
@@ -63,15 +63,6 @@ export interface GridProps extends BaseProps<HTMLDivElement> {
|
|
|
63
63
|
*/
|
|
64
64
|
columns?: GridColumns;
|
|
65
65
|
|
|
66
|
-
/**
|
|
67
|
-
* Minimum width of each grid item in pixels.
|
|
68
|
-
* Enables responsive auto-fit behavior.
|
|
69
|
-
*
|
|
70
|
-
* @deprecated Use `columns={{minWidth: 280}}` instead.
|
|
71
|
-
* @default 0 (disabled)
|
|
72
|
-
*/
|
|
73
|
-
minChildWidth?: number;
|
|
74
|
-
|
|
75
66
|
/**
|
|
76
67
|
* Width of the grid container.
|
|
77
68
|
* Numbers are treated as pixels, strings are used as-is (e.g., '100%').
|
|
@@ -384,7 +375,6 @@ function buildCappedTemplate(
|
|
|
384
375
|
*/
|
|
385
376
|
export function Grid({
|
|
386
377
|
columns,
|
|
387
|
-
minChildWidth = 0,
|
|
388
378
|
rowHeight,
|
|
389
379
|
width,
|
|
390
380
|
height,
|
|
@@ -421,20 +411,6 @@ export function Grid({
|
|
|
421
411
|
} else {
|
|
422
412
|
gridTemplateColumns = `repeat(${repeatMode}, minmax(${columns.minWidth}px, 1fr))`;
|
|
423
413
|
}
|
|
424
|
-
} else if (minChildWidth > 0) {
|
|
425
|
-
// Deprecated path: minChildWidth uses auto-fit for backward compat
|
|
426
|
-
const numColumns = typeof columns === 'number' ? columns : 0;
|
|
427
|
-
if (numColumns > 0) {
|
|
428
|
-
gridTemplateColumns = buildCappedTemplate(
|
|
429
|
-
minChildWidth,
|
|
430
|
-
numColumns,
|
|
431
|
-
'auto-fit',
|
|
432
|
-
gap,
|
|
433
|
-
columnGap,
|
|
434
|
-
);
|
|
435
|
-
} else {
|
|
436
|
-
gridTemplateColumns = `repeat(auto-fit, minmax(${minChildWidth}px, 1fr))`;
|
|
437
|
-
}
|
|
438
414
|
} else if (typeof columns === 'number' && columns > 0) {
|
|
439
415
|
// Fixed columns mode
|
|
440
416
|
gridTemplateColumns = `repeat(${columns}, 1fr)`;
|