@astryxdesign/core 0.2.0-canary.85f5022 → 0.2.0-canary.8dfd7cf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.js +1 -1
- package/dist/AppShell/AppShell.d.ts +2 -20
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +1 -14
- package/dist/AppShell/index.d.ts +20 -1
- package/dist/AppShell/index.d.ts.map +1 -1
- package/dist/AppShell/index.js +14 -0
- package/dist/AspectRatio/AspectRatio.d.ts +1 -1
- package/dist/AspectRatio/AspectRatio.js +1 -1
- package/dist/Avatar/Avatar.d.ts +1 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +4 -4
- package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
- package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/Avatar/AvatarStatusDot.js +1 -22
- package/dist/Avatar/index.d.ts +26 -1
- package/dist/Avatar/index.d.ts.map +1 -1
- package/dist/Avatar/index.js +21 -0
- package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
- package/dist/Badge/Badge.d.ts +2 -30
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +2 -17
- package/dist/Badge/index.d.ts +31 -2
- package/dist/Badge/index.d.ts.map +1 -1
- package/dist/Badge/index.js +15 -1
- package/dist/Banner/Banner.d.ts +2 -37
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +6 -34
- package/dist/Banner/index.d.ts +37 -1
- package/dist/Banner/index.d.ts.map +1 -1
- package/dist/Banner/index.js +27 -0
- package/dist/Blockquote/Blockquote.d.ts +1 -1
- package/dist/Blockquote/Blockquote.js +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
- package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
- package/dist/Breadcrumbs/index.d.ts +18 -1
- package/dist/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/index.js +14 -0
- package/dist/Button/Button.d.ts +3 -21
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +6 -19
- package/dist/Button/index.d.ts +21 -3
- package/dist/Button/index.d.ts.map +1 -1
- package/dist/Button/index.js +15 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/Calendar/Calendar.js +1 -1
- package/dist/Calendar/styles.d.ts +2 -2
- package/dist/Calendar/styles.js +2 -2
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/Card.js +1 -1
- package/dist/Carousel/Carousel.d.ts +1 -1
- package/dist/Carousel/Carousel.js +1 -1
- package/dist/Center/Center.d.ts +21 -4
- package/dist/Center/Center.d.ts.map +1 -1
- package/dist/Center/Center.js +11 -3
- package/dist/Chat/ChatComposer.d.ts +1 -1
- package/dist/Chat/ChatComposer.js +9 -9
- package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
- package/dist/Chat/ChatComposerDrawer.js +3 -3
- package/dist/Chat/ChatComposerInput.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.js +1 -1
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.js +1 -1
- package/dist/Chat/ChatLayout.d.ts +8 -1
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +15 -4
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +1 -1
- package/dist/Chat/ChatMessage.d.ts +1 -1
- package/dist/Chat/ChatMessage.js +1 -1
- package/dist/Chat/ChatMessageBubble.d.ts +1 -1
- package/dist/Chat/ChatMessageBubble.js +1 -1
- package/dist/Chat/ChatMessageList.d.ts +1 -1
- package/dist/Chat/ChatMessageList.js +1 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +4 -2
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.js +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +3 -3
- package/dist/CheckboxList/CheckboxList.d.ts +1 -1
- package/dist/CheckboxList/CheckboxList.js +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +20 -5
- package/dist/Citation/Citation.d.ts +1 -1
- package/dist/Citation/Citation.js +1 -1
- package/dist/ClickableCard/ClickableCard.d.ts +3 -3
- package/dist/ClickableCard/ClickableCard.js +3 -3
- package/dist/Code/Code.d.ts +2 -2
- package/dist/Code/Code.js +2 -2
- package/dist/CodeBlock/CodeBlock.js +2 -2
- package/dist/Collapsible/Collapsible.d.ts +1 -1
- package/dist/Collapsible/Collapsible.js +3 -3
- package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
- package/dist/CommandPalette/CommandPalette.d.ts +1 -1
- package/dist/CommandPalette/CommandPalette.js +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
- package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
- package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +4 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +1 -1
- package/dist/CommandPalette/CommandPaletteList.js +1 -1
- package/dist/ContextMenu/ContextMenu.d.ts +2 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +24 -6
- package/dist/DateInput/DateInput.js +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +1 -1
- package/dist/Dialog/Dialog.d.ts +46 -23
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +59 -31
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/DialogHeader.js +1 -1
- package/dist/Dialog/index.d.ts +18 -1
- package/dist/Dialog/index.d.ts.map +1 -1
- package/dist/Dialog/index.js +14 -0
- package/dist/Divider/Divider.d.ts +2 -18
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +1 -15
- package/dist/Divider/index.d.ts +18 -1
- package/dist/Divider/index.d.ts.map +1 -1
- package/dist/Divider/index.js +14 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +23 -19
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
- package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
- package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
- package/dist/DropdownMenu/menuItemHover.js +1 -0
- package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
- package/dist/DropdownMenu/renderDropdownItems.js +6 -4
- package/dist/EmptyState/EmptyState.d.ts +1 -1
- package/dist/EmptyState/EmptyState.js +1 -1
- package/dist/Field/Field.d.ts +1 -1
- package/dist/Field/Field.js +1 -1
- package/dist/Field/FieldLabel.d.ts +4 -3
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +48 -5
- package/dist/FieldStatus/FieldStatus.d.ts +1 -18
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +13 -17
- package/dist/FieldStatus/index.d.ts +19 -1
- package/dist/FieldStatus/index.d.ts.map +1 -1
- package/dist/FieldStatus/index.js +14 -0
- package/dist/FileInput/FileInput.js +1 -1
- package/dist/FormLayout/FormLayout.d.ts +1 -1
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/FormLayout/FormLayout.js +1 -1
- package/dist/Grid/Grid.d.ts +1 -1
- package/dist/Grid/Grid.js +1 -1
- package/dist/Grid/GridSpan.d.ts +1 -1
- package/dist/Grid/GridSpan.js +1 -1
- package/dist/HStack/HStack.d.ts +1 -1
- package/dist/HStack/HStack.js +1 -1
- package/dist/Heading/Heading.d.ts +2 -2
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +5 -4
- package/dist/HoverCard/HoverCard.d.ts +1 -1
- package/dist/HoverCard/HoverCard.js +1 -1
- package/dist/Icon/Icon.d.ts +1 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +4 -2
- package/dist/Icon/globalIconRegistry.d.ts +6 -4
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Icon/globalIconRegistry.js +25 -6
- package/dist/Icon/index.d.ts +3 -2
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/Icon/index.js +1 -0
- package/dist/Icon/useIcon.d.ts +14 -0
- package/dist/Icon/useIcon.d.ts.map +1 -0
- package/dist/Icon/useIcon.js +21 -0
- package/dist/IconButton/IconButton.d.ts +1 -1
- package/dist/IconButton/IconButton.js +1 -1
- package/dist/InputGroup/InputGroup.d.ts +1 -1
- package/dist/InputGroup/InputGroup.js +1 -1
- package/dist/InputGroup/InputGroupText.d.ts +1 -1
- package/dist/InputGroup/InputGroupText.js +1 -1
- package/dist/Item/Item.d.ts +17 -4
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +32 -7
- package/dist/Kbd/Kbd.d.ts +1 -1
- package/dist/Kbd/Kbd.js +1 -1
- package/dist/Layout/Layout.d.ts +1 -1
- package/dist/Layout/Layout.js +1 -1
- package/dist/Layout/LayoutContent.d.ts +1 -1
- package/dist/Layout/LayoutContent.js +1 -1
- package/dist/Layout/LayoutFooter.d.ts +1 -1
- package/dist/Layout/LayoutFooter.js +1 -1
- package/dist/Layout/LayoutHeader.d.ts +1 -1
- package/dist/Layout/LayoutHeader.js +1 -1
- package/dist/Layout/LayoutPanel.d.ts +1 -1
- package/dist/Layout/LayoutPanel.js +1 -1
- package/dist/Lightbox/Lightbox.d.ts +1 -1
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +16 -3
- package/dist/Link/Link.d.ts +1 -1
- package/dist/Link/Link.js +1 -1
- package/dist/Link/LinkProvider.d.ts +2 -2
- package/dist/Link/LinkProvider.js +2 -2
- package/dist/List/List.d.ts +1 -1
- package/dist/List/List.js +1 -1
- package/dist/List/ListItem.d.ts +12 -2
- package/dist/List/ListItem.d.ts.map +1 -1
- package/dist/List/ListItem.js +3 -1
- package/dist/Markdown/Markdown.js +4 -4
- package/dist/MetadataList/MetadataList.d.ts +2 -2
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +5 -3
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/MetadataListItem.js +1 -1
- package/dist/MobileNav/MobileNav.d.ts +1 -1
- package/dist/MobileNav/MobileNav.js +1 -1
- package/dist/MoreMenu/MoreMenu.d.ts +1 -1
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.d.ts +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +21 -6
- package/dist/NavIcon/NavIcon.d.ts +1 -1
- package/dist/NavIcon/NavIcon.js +1 -1
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.js +1 -1
- package/dist/Outline/Outline.js +1 -1
- package/dist/OverflowList/OverflowList.d.ts +1 -1
- package/dist/OverflowList/OverflowList.js +1 -1
- package/dist/Pagination/Pagination.d.ts +1 -20
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +1 -15
- package/dist/Pagination/index.d.ts +21 -1
- package/dist/Pagination/index.d.ts.map +1 -1
- package/dist/Pagination/index.js +14 -0
- package/dist/Popover/Popover.d.ts +20 -3
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +5 -1
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +14 -3
- package/dist/PowerSearch/PowerSearch.d.ts +1 -1
- package/dist/PowerSearch/PowerSearch.js +1 -1
- package/dist/ProgressBar/ProgressBar.d.ts +1 -20
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +1 -15
- package/dist/ProgressBar/index.d.ts +21 -1
- package/dist/ProgressBar/index.d.ts.map +1 -1
- package/dist/ProgressBar/index.js +14 -0
- package/dist/RadioList/RadioList.d.ts +1 -1
- package/dist/RadioList/RadioList.js +1 -1
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +2 -2
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +3 -10
- package/dist/Section/Section.d.ts +2 -19
- package/dist/Section/Section.d.ts.map +1 -1
- package/dist/Section/Section.js +1 -15
- package/dist/Section/index.d.ts +19 -1
- package/dist/Section/index.d.ts.map +1 -1
- package/dist/Section/index.js +14 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
- package/dist/SelectableCard/SelectableCard.d.ts +4 -3
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +15 -3
- package/dist/Selector/Selector.d.ts +1 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +12 -3
- package/dist/SideNav/SideNav.d.ts +1 -1
- package/dist/SideNav/SideNav.js +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +4 -3
- package/dist/SideNav/SideNavHeading.d.ts +1 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +8 -7
- package/dist/SideNav/SideNavItem.d.ts +2 -2
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +6 -7
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/SideNavSection.js +1 -1
- package/dist/Skeleton/Skeleton.d.ts +1 -1
- package/dist/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +78 -68
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.js +1 -1
- package/dist/Stack/Stack.d.ts +1 -1
- package/dist/Stack/Stack.js +1 -1
- package/dist/Stack/StackItem.d.ts +1 -1
- package/dist/Stack/StackItem.js +1 -1
- package/dist/StatusDot/StatusDot.d.ts +1 -20
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +2 -17
- package/dist/StatusDot/index.d.ts +21 -1
- package/dist/StatusDot/index.d.ts.map +1 -1
- package/dist/StatusDot/index.js +14 -0
- package/dist/Switch/Switch.d.ts +1 -1
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +16 -5
- package/dist/TabList/Tab.d.ts +1 -1
- package/dist/TabList/Tab.js +1 -1
- package/dist/TabList/TabList.d.ts +1 -1
- package/dist/TabList/TabList.js +1 -1
- package/dist/TabList/TabMenu.d.ts +1 -1
- package/dist/TabList/TabMenu.js +1 -1
- package/dist/Table/BaseTable.d.ts +1 -1
- package/dist/Table/BaseTable.js +1 -1
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Table/TableCell.d.ts +1 -1
- package/dist/Table/TableCell.js +1 -1
- package/dist/Table/TableHeaderCell.d.ts +1 -1
- package/dist/Table/TableHeaderCell.js +1 -1
- package/dist/Table/TableRow.d.ts +1 -1
- package/dist/Table/TableRow.js +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
- package/dist/Text/Text.d.ts +11 -2
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +26 -3
- package/dist/Text/index.d.ts +31 -1
- package/dist/Text/index.d.ts.map +1 -1
- package/dist/Text/index.js +23 -0
- package/dist/TextArea/TextArea.d.ts +1 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +107 -39
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.js +1 -1
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +52 -46
- package/dist/TimeInput/TimeInput.js +1 -1
- package/dist/Timestamp/Timestamp.js +2 -2
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +61 -9
- package/dist/ToggleButton/ToggleButton.d.ts +1 -1
- package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +4 -2
- package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
- package/dist/Token/Token.d.ts +6 -28
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +69 -58
- package/dist/Token/TokenLink.d.ts +62 -0
- package/dist/Token/TokenLink.d.ts.map +1 -0
- package/dist/Token/TokenLink.js +76 -0
- package/dist/Token/index.d.ts +27 -1
- package/dist/Token/index.d.ts.map +1 -1
- package/dist/Token/index.js +14 -0
- package/dist/Tokenizer/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer/Tokenizer.js +1 -1
- package/dist/Toolbar/Toolbar.d.ts +1 -1
- package/dist/Toolbar/Toolbar.js +1 -1
- package/dist/Tooltip/Tooltip.d.ts +1 -1
- package/dist/Tooltip/Tooltip.js +1 -1
- package/dist/TopNav/TopNav.d.ts +1 -1
- package/dist/TopNav/TopNav.js +1 -1
- package/dist/TopNav/TopNavHeading.d.ts +1 -1
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +7 -6
- package/dist/TopNav/TopNavItem.d.ts +1 -1
- package/dist/TopNav/TopNavItem.js +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +15 -7
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +5 -4
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.js +1 -1
- package/dist/TreeList/TreeListBranches.js +1 -1
- package/dist/TreeList/TreeListItem.d.ts +1 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +4 -3
- package/dist/TreeList/TreeListTypes.d.ts +1 -17
- package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
- package/dist/TreeList/index.d.ts +18 -1
- package/dist/TreeList/index.d.ts.map +1 -1
- package/dist/TreeList/index.js +14 -0
- package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +3 -1
- package/dist/Typeahead/Typeahead.d.ts +1 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +9 -2
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.js +1 -1
- package/dist/VStack/VStack.d.ts +1 -1
- package/dist/VStack/VStack.js +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/astryx.css +96 -24
- package/dist/astryx.umd.js +50 -50
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
- package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
- package/dist/hooks/containerReveal.pool.stylex.js +292 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/useContainerReveal.d.ts +83 -0
- package/dist/hooks/useContainerReveal.d.ts.map +1 -0
- package/dist/hooks/useContainerReveal.js +123 -0
- package/dist/hooks/useInputContainer.d.ts.map +1 -1
- package/dist/hooks/useInputContainer.js +29 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +11 -0
- package/dist/hooks/useKeyboardHint.d.ts +2 -2
- package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +5 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +2 -7
- package/dist/theme/defineTheme.d.ts +6 -0
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +4 -1
- package/dist/theme/expandColorScale.d.ts +19 -2
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +38 -10
- package/dist/theme/index.d.ts +6 -4
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +2 -1
- package/dist/theme/themeRegistry.d.ts +32 -0
- package/dist/theme/themeRegistry.d.ts.map +1 -0
- package/dist/theme/themeRegistry.js +49 -0
- package/dist/theme/types.d.ts +10 -2
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/useTheme.d.ts +9 -0
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +82 -27
- package/dist/utils/rtlStyles.d.ts +21 -0
- package/dist/utils/rtlStyles.d.ts.map +1 -1
- package/dist/utils/rtlStyles.js +26 -1
- package/groups.doc.mjs +2 -2
- package/locales/en.json +40 -0
- package/locales/pseudo.json +30 -0
- package/package.json +4 -13
- package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
- package/src/AlertDialog/AlertDialog.tsx +1 -1
- package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
- package/src/AppShell/AppShell.doc.mjs +3 -3
- package/src/AppShell/AppShell.tsx +2 -20
- package/src/AppShell/index.ts +20 -1
- package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
- package/src/AspectRatio/AspectRatio.tsx +1 -1
- package/src/Avatar/Avatar.doc.mjs +3 -3
- package/src/Avatar/Avatar.tsx +8 -3
- package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
- package/src/Avatar/AvatarStatusDot.tsx +2 -27
- package/src/Avatar/index.ts +26 -1
- package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
- package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
- package/src/AvatarGroup/AvatarGroup.tsx +1 -1
- package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
- package/src/Badge/Badge.doc.mjs +3 -3
- package/src/Badge/Badge.tsx +2 -31
- package/src/Badge/index.ts +32 -6
- package/src/Banner/Banner.doc.mjs +3 -3
- package/src/Banner/Banner.tsx +8 -45
- package/src/Banner/index.ts +39 -7
- package/src/Blockquote/Blockquote.doc.mjs +3 -3
- package/src/Blockquote/Blockquote.tsx +1 -1
- package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
- package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
- package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
- package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
- package/src/Breadcrumbs/index.ts +19 -5
- package/src/Button/Button.doc.mjs +3 -3
- package/src/Button/Button.test.tsx +16 -0
- package/src/Button/Button.tsx +6 -23
- package/src/Button/index.ts +22 -7
- package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
- package/src/ButtonGroup/ButtonGroup.tsx +1 -1
- package/src/Calendar/Calendar.doc.mjs +3 -3
- package/src/Calendar/Calendar.test.tsx +15 -3
- package/src/Calendar/Calendar.tsx +1 -1
- package/src/Calendar/styles.ts +2 -2
- package/src/Card/Card.doc.mjs +3 -3
- package/src/Card/Card.tsx +1 -1
- package/src/Carousel/Carousel.doc.mjs +3 -3
- package/src/Carousel/Carousel.tsx +1 -1
- package/src/Center/Center.doc.mjs +41 -3
- package/src/Center/Center.test.tsx +75 -0
- package/src/Center/Center.tsx +38 -3
- package/src/Chat/Chat.doc.mjs +3 -3
- package/src/Chat/ChatComposer.doc.mjs +1 -1
- package/src/Chat/ChatComposer.tsx +5 -5
- package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
- package/src/Chat/ChatComposerDrawer.tsx +3 -3
- package/src/Chat/ChatComposerInput.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.tsx +1 -1
- package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
- package/src/Chat/ChatDictationButton.doc.mjs +3 -3
- package/src/Chat/ChatDictationButton.tsx +1 -1
- package/src/Chat/ChatLayout.doc.mjs +1 -1
- package/src/Chat/ChatLayout.test.tsx +57 -0
- package/src/Chat/ChatLayout.tsx +23 -2
- package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
- package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
- package/src/Chat/ChatMessage.doc.mjs +1 -1
- package/src/Chat/ChatMessage.tsx +1 -1
- package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
- package/src/Chat/ChatMessageBubble.tsx +1 -1
- package/src/Chat/ChatMessageList.doc.mjs +1 -1
- package/src/Chat/ChatMessageList.tsx +1 -1
- package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
- package/src/Chat/ChatSendButton.doc.mjs +1 -1
- package/src/Chat/ChatSendButton.tsx +5 -3
- package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
- package/src/Chat/ChatSystemMessage.tsx +1 -1
- package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
- package/src/Chat/ChatTokenizedText.tsx +1 -1
- package/src/Chat/ChatToolCalls.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
- package/src/CheckboxInput/CheckboxInput.tsx +18 -3
- package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
- package/src/CheckboxList/CheckboxList.test.tsx +94 -3
- package/src/CheckboxList/CheckboxList.tsx +1 -1
- package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
- package/src/CheckboxList/CheckboxListItem.tsx +18 -11
- package/src/Citation/Citation.doc.mjs +2 -2
- package/src/Citation/Citation.tsx +1 -1
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
- package/src/ClickableCard/ClickableCard.tsx +3 -3
- package/src/Code/Code.tsx +2 -2
- package/src/CodeBlock/Code.doc.mjs +1 -1
- package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
- package/src/CodeBlock/CodeBlock.test.tsx +17 -0
- package/src/CodeBlock/CodeBlock.tsx +2 -2
- package/src/Collapsible/Collapsible.doc.mjs +3 -3
- package/src/Collapsible/Collapsible.tsx +3 -3
- package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
- package/src/Collapsible/CollapsibleGroup.tsx +1 -1
- package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
- package/src/Collapsible/useCollapsible.doc.mjs +2 -2
- package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
- package/src/CommandPalette/CommandPalette.tsx +1 -1
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
- package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
- package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
- package/src/CommandPalette/CommandPaletteList.tsx +1 -1
- package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
- package/src/ContextMenu/ContextMenu.test.tsx +17 -2
- package/src/ContextMenu/ContextMenu.tsx +27 -6
- package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
- package/src/DateInput/DateInput.doc.mjs +3 -3
- package/src/DateInput/DateInput.tsx +1 -1
- package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
- package/src/DateRangeInput/DateRangeInput.tsx +1 -1
- package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
- package/src/DateTimeInput/DateTimeInput.tsx +1 -1
- package/src/Dialog/Dialog.doc.mjs +9 -5
- package/src/Dialog/Dialog.test.tsx +84 -1
- package/src/Dialog/Dialog.tsx +87 -45
- package/src/Dialog/DialogHeader.doc.mjs +1 -1
- package/src/Dialog/DialogHeader.tsx +1 -1
- package/src/Dialog/index.ts +18 -1
- package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
- package/src/Divider/Divider.doc.mjs +3 -3
- package/src/Divider/Divider.tsx +2 -19
- package/src/Divider/index.ts +19 -5
- package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
- package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
- package/src/DropdownMenu/DropdownMenu.tsx +31 -20
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
- package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
- package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
- package/src/DropdownMenu/menuItemHover.ts +1 -0
- package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
- package/src/EmptyState/EmptyState.doc.mjs +3 -3
- package/src/EmptyState/EmptyState.tsx +1 -1
- package/src/Field/Field.doc.mjs +7 -3
- package/src/Field/Field.tsx +1 -1
- package/src/Field/FieldLabel.doc.mjs +1 -1
- package/src/Field/FieldLabel.test.tsx +103 -0
- package/src/Field/FieldLabel.tsx +61 -5
- package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
- package/src/FieldStatus/FieldStatus.test.tsx +61 -0
- package/src/FieldStatus/FieldStatus.tsx +16 -23
- package/src/FieldStatus/index.ts +20 -5
- package/src/FileInput/FileInput.doc.mjs +3 -3
- package/src/FileInput/FileInput.tsx +1 -1
- package/src/FormLayout/FormLayout.doc.mjs +3 -3
- package/src/FormLayout/FormLayout.tsx +2 -5
- package/src/Grid/Grid.doc.mjs +3 -3
- package/src/Grid/Grid.tsx +1 -1
- package/src/Grid/GridSpan.doc.mjs +1 -1
- package/src/Grid/GridSpan.tsx +1 -1
- package/src/HStack/HStack.tsx +1 -1
- package/src/Heading/Heading.tsx +4 -3
- package/src/HoverCard/HoverCard.doc.mjs +3 -3
- package/src/HoverCard/HoverCard.tsx +1 -1
- package/src/HoverCard/useHoverCard.doc.mjs +2 -2
- package/src/Icon/Icon.doc.mjs +3 -3
- package/src/Icon/Icon.test.tsx +23 -0
- package/src/Icon/Icon.tsx +4 -2
- package/src/Icon/globalIconRegistry.test.tsx +52 -1
- package/src/Icon/globalIconRegistry.tsx +43 -6
- package/src/Icon/index.ts +7 -7
- package/src/Icon/useIcon.ts +23 -0
- package/src/IconButton/IconButton.doc.mjs +2 -2
- package/src/IconButton/IconButton.tsx +1 -1
- package/src/InputGroup/InputGroup.doc.mjs +2 -2
- package/src/InputGroup/InputGroup.tsx +1 -1
- package/src/InputGroup/InputGroupText.doc.mjs +1 -1
- package/src/InputGroup/InputGroupText.tsx +1 -1
- package/src/Item/Item.doc.mjs +8 -3
- package/src/Item/Item.test.tsx +88 -0
- package/src/Item/Item.tsx +58 -12
- package/src/Kbd/Kbd.doc.mjs +3 -3
- package/src/Kbd/Kbd.tsx +1 -1
- package/src/Layer/Layer.doc.mjs +2 -2
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layout/Layout.doc.mjs +3 -3
- package/src/Layout/Layout.tsx +1 -1
- package/src/Layout/LayoutContent.doc.mjs +1 -1
- package/src/Layout/LayoutContent.tsx +1 -1
- package/src/Layout/LayoutFooter.doc.mjs +1 -1
- package/src/Layout/LayoutFooter.tsx +1 -1
- package/src/Layout/LayoutHeader.doc.mjs +1 -1
- package/src/Layout/LayoutHeader.tsx +1 -1
- package/src/Layout/LayoutPanel.doc.mjs +1 -1
- package/src/Layout/LayoutPanel.tsx +1 -1
- package/src/Lightbox/Lightbox.doc.mjs +3 -3
- package/src/Lightbox/Lightbox.test.tsx +33 -0
- package/src/Lightbox/Lightbox.tsx +16 -4
- package/src/Link/Link.doc.mjs +3 -3
- package/src/Link/Link.tsx +1 -1
- package/src/Link/LinkProvider.doc.mjs +2 -2
- package/src/Link/LinkProvider.tsx +2 -2
- package/src/List/List.doc.mjs +3 -3
- package/src/List/List.tsx +1 -1
- package/src/List/ListItem.doc.mjs +13 -1
- package/src/List/ListItem.tsx +14 -1
- package/src/Markdown/Markdown.doc.mjs +1 -1
- package/src/Markdown/Markdown.tsx +3 -3
- package/src/MetadataList/MetadataList.doc.mjs +3 -3
- package/src/MetadataList/MetadataList.test.tsx +24 -0
- package/src/MetadataList/MetadataList.tsx +7 -3
- package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
- package/src/MetadataList/MetadataListItem.tsx +1 -1
- package/src/MobileNav/MobileNav.doc.mjs +3 -3
- package/src/MobileNav/MobileNav.tsx +1 -1
- package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
- package/src/MoreMenu/MoreMenu.tsx +3 -3
- package/src/MultiSelector/MultiSelector.doc.mjs +3 -3
- package/src/MultiSelector/MultiSelector.test.tsx +110 -0
- package/src/MultiSelector/MultiSelector.tsx +36 -11
- package/src/NavIcon/NavIcon.doc.mjs +3 -3
- package/src/NavIcon/NavIcon.tsx +1 -1
- package/src/NavMenu/NavMenu.doc.mjs +2 -2
- package/src/NumberInput/NumberInput.doc.mjs +3 -3
- package/src/NumberInput/NumberInput.tsx +1 -1
- package/src/Outline/Outline.doc.mjs +3 -3
- package/src/Outline/Outline.tsx +1 -1
- package/src/OverflowList/OverflowList.doc.mjs +3 -3
- package/src/OverflowList/OverflowList.tsx +1 -1
- package/src/Overlay/Overlay.doc.mjs +2 -2
- package/src/Pagination/Pagination.doc.mjs +3 -3
- package/src/Pagination/Pagination.tsx +2 -22
- package/src/Pagination/index.ts +21 -1
- package/src/Popover/Popover.doc.mjs +31 -3
- package/src/Popover/Popover.test.tsx +41 -0
- package/src/Popover/Popover.tsx +25 -2
- package/src/Popover/usePopover.doc.mjs +2 -2
- package/src/Popover/usePopover.tsx +10 -4
- package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
- package/src/PowerSearch/PowerSearch.tsx +1 -1
- package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
- package/src/ProgressBar/ProgressBar.tsx +2 -22
- package/src/ProgressBar/index.ts +22 -5
- package/src/RadioList/RadioList.doc.mjs +3 -3
- package/src/RadioList/RadioList.test.tsx +26 -4
- package/src/RadioList/RadioList.tsx +1 -1
- package/src/RadioList/RadioListItem.doc.mjs +1 -1
- package/src/RadioList/RadioListItem.tsx +9 -2
- package/src/Resizable/Resizable.doc.mjs +2 -2
- package/src/Resizable/ResizeHandle.test.tsx +3 -2
- package/src/Resizable/ResizeHandle.tsx +8 -12
- package/src/Resizable/useResizable.doc.mjs +2 -2
- package/src/Section/Section.doc.mjs +3 -3
- package/src/Section/Section.tsx +2 -20
- package/src/Section/index.ts +20 -5
- package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
- package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
- package/src/SegmentedControl/SegmentedControl.tsx +1 -1
- package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
- package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
- package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
- package/src/SelectableCard/SelectableCard.test.tsx +55 -0
- package/src/SelectableCard/SelectableCard.tsx +19 -3
- package/src/Selector/Selector.doc.mjs +3 -3
- package/src/Selector/Selector.test.tsx +52 -0
- package/src/Selector/Selector.tsx +16 -5
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- package/src/SideNav/SideNav.doc.mjs +3 -3
- package/src/SideNav/SideNav.tsx +1 -1
- package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
- package/src/SideNav/SideNavCollapseButton.tsx +4 -3
- package/src/SideNav/SideNavHeading.doc.mjs +1 -1
- package/src/SideNav/SideNavHeading.tsx +8 -9
- package/src/SideNav/SideNavItem.doc.mjs +1 -1
- package/src/SideNav/SideNavItem.tsx +5 -6
- package/src/SideNav/SideNavSection.doc.mjs +1 -1
- package/src/SideNav/SideNavSection.tsx +1 -1
- package/src/Skeleton/Skeleton.doc.mjs +3 -3
- package/src/Skeleton/Skeleton.test.tsx +16 -0
- package/src/Skeleton/Skeleton.tsx +14 -2
- package/src/Slider/Slider.doc.mjs +3 -3
- package/src/Slider/Slider.tsx +9 -13
- package/src/Spinner/Spinner.doc.mjs +3 -3
- package/src/Spinner/Spinner.tsx +1 -1
- package/src/Stack/Stack.doc.mjs +3 -3
- package/src/Stack/Stack.tsx +1 -1
- package/src/Stack/StackItem.tsx +1 -1
- package/src/StatusDot/StatusDot.doc.mjs +3 -3
- package/src/StatusDot/StatusDot.tsx +2 -22
- package/src/StatusDot/index.ts +22 -5
- package/src/Switch/Switch.doc.mjs +3 -3
- package/src/Switch/Switch.test.tsx +71 -0
- package/src/Switch/Switch.tsx +53 -4
- package/src/TabList/Tab.doc.mjs +1 -1
- package/src/TabList/Tab.tsx +1 -1
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.tsx +1 -1
- package/src/TabList/TabMenu.doc.mjs +1 -1
- package/src/TabList/TabMenu.tsx +1 -1
- package/src/Table/BaseTable.tsx +1 -1
- package/src/Table/Table.doc.mjs +3 -3
- package/src/Table/Table.tsx +1 -1
- package/src/Table/TableCell.doc.mjs +1 -1
- package/src/Table/TableCell.tsx +1 -1
- package/src/Table/TableHeaderCell.doc.mjs +1 -1
- package/src/Table/TableHeaderCell.tsx +1 -1
- package/src/Table/TableRow.doc.mjs +1 -1
- package/src/Table/TableRow.tsx +1 -1
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
- package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
- package/src/Table/useTableColumnResize.doc.mjs +1 -1
- package/src/Table/useTableColumnSettings.doc.mjs +1 -1
- package/src/Table/useTableFilterState.doc.mjs +1 -1
- package/src/Table/useTableFiltering.doc.mjs +1 -1
- package/src/Table/useTableGroupedRows.doc.mjs +2 -2
- package/src/Table/useTablePagination.doc.mjs +1 -1
- package/src/Table/useTableRowExpansion.doc.mjs +57 -4
- package/src/Table/useTableRowIndex.doc.mjs +2 -2
- package/src/Table/useTableRowStatus.doc.mjs +2 -2
- package/src/Table/useTableSelection.doc.mjs +1 -1
- package/src/Table/useTableSelectionState.doc.mjs +1 -1
- package/src/Table/useTableSortable.doc.mjs +1 -1
- package/src/Table/useTableStickyColumns.doc.mjs +1 -1
- package/src/Table/useTableTreeData.doc.mjs +10 -1
- package/src/Table/useTableTreeState.doc.mjs +1 -1
- package/src/Text/Heading.doc.mjs +4 -4
- package/src/Text/Text.doc.mjs +4 -4
- package/src/Text/Text.test.tsx +42 -0
- package/src/Text/Text.tsx +26 -2
- package/src/Text/index.ts +32 -6
- package/src/TextArea/TextArea.doc.mjs +5 -5
- package/src/TextArea/TextArea.test.tsx +112 -7
- package/src/TextArea/TextArea.tsx +143 -50
- package/src/TextInput/TextInput.doc.mjs +3 -3
- package/src/TextInput/TextInput.tsx +1 -1
- package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
- package/src/Thumbnail/Thumbnail.test.tsx +24 -1
- package/src/Thumbnail/Thumbnail.tsx +28 -35
- package/src/TimeInput/TimeInput.doc.mjs +3 -3
- package/src/TimeInput/TimeInput.tsx +1 -1
- package/src/Timestamp/Timestamp.doc.mjs +3 -3
- package/src/Timestamp/Timestamp.tsx +1 -1
- package/src/Toast/Toast.doc.mjs +3 -3
- package/src/Toast/ToastViewport.test.tsx +218 -8
- package/src/Toast/ToastViewport.tsx +71 -12
- package/src/Toast/useToast.doc.mjs +2 -2
- package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
- package/src/ToggleButton/ToggleButton.test.tsx +24 -0
- package/src/ToggleButton/ToggleButton.tsx +20 -2
- package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
- package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
- package/src/Token/Token.doc.mjs +3 -3
- package/src/Token/Token.test.tsx +145 -0
- package/src/Token/Token.tsx +75 -61
- package/src/Token/TokenLink.tsx +107 -0
- package/src/Token/index.ts +28 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
- package/src/Tokenizer/Tokenizer.tsx +1 -1
- package/src/Toolbar/Toolbar.doc.mjs +3 -3
- package/src/Toolbar/Toolbar.tsx +1 -1
- package/src/Tooltip/Tooltip.doc.mjs +3 -3
- package/src/Tooltip/Tooltip.tsx +1 -1
- package/src/Tooltip/useTooltip.doc.mjs +2 -2
- package/src/TopNav/TopNav.doc.mjs +3 -3
- package/src/TopNav/TopNav.tsx +1 -1
- package/src/TopNav/TopNavHeading.doc.mjs +1 -1
- package/src/TopNav/TopNavHeading.tsx +7 -8
- package/src/TopNav/TopNavItem.doc.mjs +1 -1
- package/src/TopNav/TopNavItem.tsx +1 -1
- package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenu.tsx +32 -6
- package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
- package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
- package/src/TopNav/TopNavMenu.doc.mjs +1 -1
- package/src/TopNav/TopNavMenu.tsx +5 -4
- package/src/TreeList/TreeList.doc.mjs +3 -3
- package/src/TreeList/TreeList.tsx +1 -1
- package/src/TreeList/TreeListBranches.tsx +1 -1
- package/src/TreeList/TreeListItem.tsx +4 -3
- package/src/TreeList/TreeListTypes.ts +1 -18
- package/src/TreeList/index.ts +19 -1
- package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
- package/src/Typeahead/BaseTypeahead.tsx +13 -1
- package/src/Typeahead/Typeahead.doc.mjs +3 -3
- package/src/Typeahead/Typeahead.test.tsx +62 -0
- package/src/Typeahead/Typeahead.tsx +7 -1
- package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
- package/src/Typeahead/TypeaheadItem.tsx +1 -1
- package/src/VStack/VStack.tsx +1 -1
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
- package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
- package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
- package/src/__tests__/forcedColors.ts +60 -0
- package/src/__tests__/inputWidthContract.test.tsx +8 -1
- package/src/doc-mjs.d.ts +5 -2
- package/src/docPropLiterals.test.ts +1 -1
- package/src/docPropReferences.test.ts +1 -1
- package/src/hooks/containerReveal.pool.stylex.ts +571 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/useClickableContainer.doc.mjs +2 -2
- package/src/hooks/useContainerReveal.doc.mjs +75 -0
- package/src/hooks/useContainerReveal.test.tsx +116 -0
- package/src/hooks/useContainerReveal.ts +181 -0
- package/src/hooks/useEntryAnimation.doc.mjs +2 -2
- package/src/hooks/useFocusTrap.doc.mjs +2 -2
- package/src/hooks/useGridFocus.doc.mjs +2 -2
- package/src/hooks/useHotkeys.doc.mjs +2 -2
- package/src/hooks/useImageMode.doc.mjs +2 -2
- package/src/hooks/useInputContainer.doc.mjs +2 -2
- package/src/hooks/useInputContainer.test.tsx +180 -0
- package/src/hooks/useInputContainer.ts +36 -1
- package/src/hooks/useInputStatusIcon.test.tsx +59 -0
- package/src/hooks/useInputStatusIcon.tsx +12 -1
- package/src/hooks/useKeyboardHint.doc.mjs +2 -2
- package/src/hooks/useKeyboardHint.test.tsx +22 -0
- package/src/hooks/useKeyboardHint.tsx +7 -3
- package/src/hooks/useListFocus.doc.mjs +2 -2
- package/src/hooks/useMediaQuery.doc.mjs +2 -2
- package/src/hooks/useOverflow.doc.mjs +2 -2
- package/src/hooks/useScrollLock.doc.mjs +2 -2
- package/src/hooks/useScrollOverflow.doc.mjs +2 -2
- package/src/hooks/useStreamingText.doc.mjs +2 -2
- package/src/hooks/useTreeFocus.doc.mjs +2 -2
- package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
- package/src/i18n/useTranslator.doc.mjs +2 -2
- package/src/index.ts +14 -10
- package/src/theme/MediaTheme.doc.mjs +2 -2
- package/src/theme/SyntaxTheme.doc.mjs +2 -2
- package/src/theme/Theme.doc.mjs +2 -2
- package/src/theme/Theme.tsx +3 -7
- package/src/theme/defineTheme.ts +11 -1
- package/src/theme/expandColorScale.test.ts +144 -0
- package/src/theme/expandColorScale.ts +53 -15
- package/src/theme/index.ts +11 -9
- package/src/theme/themeRegistry.test.ts +59 -0
- package/src/theme/themeRegistry.ts +53 -0
- package/src/theme/types.ts +14 -13
- package/src/theme/useTheme.doc.mjs +2 -2
- package/src/theme/useTheme.test.tsx +48 -3
- package/src/theme/useTheme.ts +100 -29
- package/src/utils/rtlStyles.ts +22 -0
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
- package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
- package/dist/authoring/doc.d.ts +0 -145
- package/dist/authoring/doc.d.ts.map +0 -1
- package/dist/authoring/doc.js +0 -100
- package/dist/authoring/index.d.ts +0 -29
- package/dist/authoring/index.d.ts.map +0 -1
- package/dist/authoring/index.js +0 -28
- package/dist/authoring/integration.d.ts +0 -35
- package/dist/authoring/integration.d.ts.map +0 -1
- package/dist/authoring/integration.js +0 -30
- package/dist/authoring/template.d.ts +0 -66
- package/dist/authoring/template.d.ts.map +0 -1
- package/dist/authoring/template.js +0 -55
- package/dist/config.d.ts +0 -80
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -40
- package/dist/docs-types.d.ts +0 -969
- package/dist/docs-types.d.ts.map +0 -1
- package/dist/docs-types.js +0 -1
- package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
- package/src/authoring/doc.ts +0 -164
- package/src/authoring/index.test.ts +0 -52
- package/src/authoring/index.ts +0 -50
- package/src/authoring/integration.ts +0 -42
- package/src/authoring/template.ts +0 -74
- package/src/config.test.ts +0 -16
- package/src/config.ts +0 -92
- package/src/docs-types.ts +0 -1108
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @file expandColorScale.ts
|
|
5
|
-
* @input Color scale configuration { accent
|
|
5
|
+
* @input Color scale configuration { accent?, neutralStyle?, contrast? }
|
|
6
6
|
* @output Token overrides for derivable color tokens
|
|
7
7
|
* @position Theme utility; consumed by defineTheme.ts
|
|
8
8
|
*
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
* derive from the accent — status colors, categorical hues, and fixed
|
|
12
12
|
* tokens (on-dark/on-light) fall through to colorDefaults.
|
|
13
13
|
*
|
|
14
|
+
* `accent` is optional: a neutral-only config still gets the full neutral
|
|
15
|
+
* ramp (seeded from the default accent's hue) while the accent tokens
|
|
16
|
+
* themselves fall through to colorDefaults, same as the tokens above.
|
|
17
|
+
*
|
|
14
18
|
* SYNC: When modified, update:
|
|
15
19
|
* - /packages/core/src/theme/defineTheme.ts
|
|
16
20
|
*/
|
|
@@ -31,6 +35,9 @@ import { hexToHct, tonalPalette, hexWithAlpha } from "./hct.js";
|
|
|
31
35
|
*
|
|
32
36
|
* // With customization
|
|
33
37
|
* { accent: '#B7410E', neutralStyle: 'warm', contrast: 'high' }
|
|
38
|
+
*
|
|
39
|
+
* // Neutral-only — keeps the default accent, themes the neutrals
|
|
40
|
+
* { neutralStyle: 'warm' }
|
|
34
41
|
* ```
|
|
35
42
|
*/
|
|
36
43
|
|
|
@@ -49,6 +56,14 @@ const NEUTRAL_VARIANT_CHROMA = {
|
|
|
49
56
|
neutral: 6
|
|
50
57
|
};
|
|
51
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Hue source for accent-less configs — the light half of
|
|
61
|
+
* colorDefaults['--color-accent'] (a test guards the two against drift).
|
|
62
|
+
* Only its hue reaches the output: the accent tokens stay ungenerated, so
|
|
63
|
+
* they keep their colorDefaults values rather than this seed's derivation.
|
|
64
|
+
*/
|
|
65
|
+
const DEFAULT_ACCENT_SEED = '#0064E0';
|
|
66
|
+
|
|
52
67
|
// =============================================================================
|
|
53
68
|
// Computation
|
|
54
69
|
// =============================================================================
|
|
@@ -68,10 +83,17 @@ function accentWithAlpha(alpha) {
|
|
|
68
83
|
* --color-on-dark/on-light) are NOT generated — they fall through
|
|
69
84
|
* to colorDefaults.
|
|
70
85
|
*
|
|
86
|
+
* Without an `accent`, the accent tokens join that fall-through set: the
|
|
87
|
+
* neutrals are seeded from the default accent's hue, and --color-accent,
|
|
88
|
+
* --color-accent-muted and --color-on-accent keep their colorDefaults values.
|
|
89
|
+
*
|
|
71
90
|
* @example
|
|
72
91
|
* ```
|
|
73
92
|
* const tokens = expandColorScale({ accent: '#0064E0' });
|
|
74
93
|
* // tokens['--color-accent'] === 'light-dark(#..., #...)'
|
|
94
|
+
*
|
|
95
|
+
* const neutralOnly = expandColorScale({ neutralStyle: 'warm' });
|
|
96
|
+
* // neutralOnly['--color-accent'] === undefined
|
|
75
97
|
* ```
|
|
76
98
|
*/
|
|
77
99
|
export function expandColorScale(config) {
|
|
@@ -80,7 +102,7 @@ export function expandColorScale(config) {
|
|
|
80
102
|
neutralStyle = 'cool',
|
|
81
103
|
contrast = 'standard'
|
|
82
104
|
} = config;
|
|
83
|
-
const seed = hexToHct(accent);
|
|
105
|
+
const seed = hexToHct(accent ?? DEFAULT_ACCENT_SEED);
|
|
84
106
|
const seedHue = seed.hue;
|
|
85
107
|
const primaryChroma = Math.max(seed.chroma, 48);
|
|
86
108
|
const neutralChroma = NEUTRAL_CHROMA[neutralStyle] ?? 5;
|
|
@@ -94,14 +116,20 @@ export function expandColorScale(config) {
|
|
|
94
116
|
const textSecondaryLightTone = isHigh ? 20 : 30;
|
|
95
117
|
const textSecondaryDarkTone = isHigh ? 80 : 70;
|
|
96
118
|
return {
|
|
97
|
-
// Core semantic
|
|
98
|
-
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
119
|
+
// Core semantic — only with a seed accent. Without one these fall through
|
|
120
|
+
// to colorDefaults, whose --color-accent is NOT what the default seed
|
|
121
|
+
// derives: defaulting the seed instead of omitting the tokens would
|
|
122
|
+
// recolor every neutral-only theme. Nullish and not truthy, matching the
|
|
123
|
+
// seed above, so a supplied-but-malformed accent keeps its old behavior.
|
|
124
|
+
...(accent != null ? {
|
|
125
|
+
'--color-accent': ld(P[40], P[80]),
|
|
126
|
+
// Derived accent tokens reference --color-accent instead of baking its
|
|
127
|
+
// resolved hex, so a scoped override of the base token re-accents the
|
|
128
|
+
// whole subtree at runtime. --color-on-accent stays baked: it is a
|
|
129
|
+
// contrast computation against the accent, which CSS cannot express.
|
|
130
|
+
'--color-accent-muted': ld(accentWithAlpha(0.2), accentWithAlpha(0.25)),
|
|
131
|
+
'--color-on-accent': ld(P[100], P[20])
|
|
132
|
+
} : null),
|
|
105
133
|
'--color-neutral': ld(hexWithAlpha(N[10], 0.1), hexWithAlpha(N[90], 0.2)),
|
|
106
134
|
'--color-background-surface': ld(N[99], N[10]),
|
|
107
135
|
'--color-background-body': ld(N[95], N[5]),
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { Theme } from './Theme';
|
|
|
14
14
|
export { MediaTheme } from './MediaTheme';
|
|
15
15
|
export type { MediaThemeProps } from './MediaTheme';
|
|
16
16
|
export { defineTheme, generateThemeCSS, generateThemeCSSFlat, generateOnMediaCSS, generateThemeRules, generateThemeRulesSplit, type ThemeCSSOutput, type ThemeRulesSplit, isDefinedTheme, tokenDefaults, } from './defineTheme';
|
|
17
|
+
export { registerTheme, getRegisteredTheme, getRegisteredThemes, resetThemes, } from './themeRegistry';
|
|
17
18
|
export type { DefineThemeInput, DefinedTheme, CoreTokenName, TokenName, TokenValue, ComponentStyleMap, StyleOverrides, } from './defineTheme';
|
|
18
19
|
export type { SyntaxTokenName, DomainTokenName, DataTokenName, } from './domainTokens';
|
|
19
20
|
export { syntaxTokenDefaults, domainTokenDefaults, dataTokenDefaults, } from './domainTokens';
|
|
@@ -24,16 +25,17 @@ export type { UseSyntaxThemeReturn } from './syntax';
|
|
|
24
25
|
export { expandTypeScale, generateTypeScaleComponents } from './expandTypeScale';
|
|
25
26
|
export type { TypeScaleConfig, TypeScaleTokens } from './expandTypeScale';
|
|
26
27
|
export { expandRadiusScale } from './expandRadiusScale';
|
|
27
|
-
export type { RadiusScaleConfig, RadiusScaleTokens
|
|
28
|
+
export type { RadiusScaleConfig, RadiusScaleTokens } from './expandRadiusScale';
|
|
28
29
|
export { expandColorScale } from './expandColorScale';
|
|
29
30
|
export type { ColorScaleConfig, ColorScaleTokens } from './expandColorScale';
|
|
30
31
|
export { expandMotionScale } from './expandMotionScale';
|
|
31
|
-
export type { MotionScaleConfig, MotionScaleTokens
|
|
32
|
+
export type { MotionScaleConfig, MotionScaleTokens } from './expandMotionScale';
|
|
32
33
|
export { colorDefaults, spacingDefaults, sizeDefaults, borderDefaults, radiusDefaults, shadowDefaults, durationDefaults, easeDefaults, transitionDefaults, typographyDefaults, textSizeDefaults, fontWeightDefaults, typeScaleDefaults, colorVars, spacingVars, sizeVars, borderVars, radiusVars, shadowVars, durationVars, easeVars, transitionVars, typographyVars, textSizeVars, fontWeightVars, typeScaleVars, } from './tokens.stylex';
|
|
33
34
|
export type { ColorVarName, SpacingVarName, SizeVarName, BorderVarName, RadiusVarName, ShadowVarName, DurationVarName, EaseVarName, TransitionVarName, TypographyVarName, TextSizeVarName, FontWeightVarName, TypeScaleVarName, } from './tokens.stylex';
|
|
34
|
-
export { useTheme, ThemeContext } from './useTheme';
|
|
35
|
+
export { useTheme, useThemeName, ThemeContext } from './useTheme';
|
|
35
36
|
export type { UseThemeReturn, ThemeContextValue } from './useTheme';
|
|
36
37
|
export { resolveThemeToken, resolveThemeTokens, tokenVar, tokenVars, } from './tokens';
|
|
37
38
|
export type { ResolveThemeTokenOptions, ResolveThemeTokensOptions, ResolvedThemeMode, } from './tokens';
|
|
38
|
-
export type {
|
|
39
|
+
export type { TextColorMap } from '../Text';
|
|
40
|
+
export type { ThemeMode, HeadingTag, TextType, BuiltinTextType, CustomTextTypes, TextSize, TextWeight, TextColor, BuiltinTextColor, TypographyConfig, TypographyRole, FontWeight, } from './types';
|
|
39
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,YAAY,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAC3C,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AACrD,YAAY,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/index.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
export { Theme } from "./Theme.js";
|
|
18
18
|
export { MediaTheme } from "./MediaTheme.js";
|
|
19
19
|
export { defineTheme, generateThemeCSS, generateThemeCSSFlat, generateOnMediaCSS, generateThemeRules, generateThemeRulesSplit, isDefinedTheme, tokenDefaults } from "./defineTheme.js";
|
|
20
|
+
export { registerTheme, getRegisteredTheme, getRegisteredThemes, resetThemes } from "./themeRegistry.js";
|
|
20
21
|
export { syntaxTokenDefaults, domainTokenDefaults, dataTokenDefaults } from "./domainTokens/index.js";
|
|
21
22
|
|
|
22
23
|
// Syntax theme API
|
|
@@ -32,5 +33,5 @@ export { colorDefaults, spacingDefaults, sizeDefaults, borderDefaults, radiusDef
|
|
|
32
33
|
|
|
33
34
|
// Export token key types for theme authoring
|
|
34
35
|
|
|
35
|
-
export { useTheme, ThemeContext } from "./useTheme.js";
|
|
36
|
+
export { useTheme, useThemeName, ThemeContext } from "./useTheme.js";
|
|
36
37
|
export { resolveThemeToken, resolveThemeTokens, tokenVar, tokenVars } from "./tokens.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file themeRegistry.ts
|
|
3
|
+
* @input DefinedTheme objects from defineTheme() or built theme packages
|
|
4
|
+
* @output Exports registerTheme, getRegisteredTheme, getRegisteredThemes, resetThemes
|
|
5
|
+
* @position Server-safe theme registry for theme-name-based SSR resolution
|
|
6
|
+
*
|
|
7
|
+
* This module has NO 'use client' directive. It is importable from SSR/RSC and
|
|
8
|
+
* lets code resolve theme data by stable theme name without React context.
|
|
9
|
+
*/
|
|
10
|
+
import type { DefinedTheme } from './defineTheme';
|
|
11
|
+
/**
|
|
12
|
+
* Register a defined theme under its `name`.
|
|
13
|
+
*
|
|
14
|
+
* Registration is idempotent and replaces any previous theme with the same
|
|
15
|
+
* name. Call from app initialization, theme packages, or <Theme> to make the
|
|
16
|
+
* theme available to SSR-safe resolvers by name.
|
|
17
|
+
*/
|
|
18
|
+
export declare function registerTheme(theme: DefinedTheme): void;
|
|
19
|
+
/**
|
|
20
|
+
* Return a previously registered theme by name.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRegisteredTheme(name: string | null | undefined): DefinedTheme | null;
|
|
23
|
+
/**
|
|
24
|
+
* Return all registered themes keyed by theme name.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getRegisteredThemes(): ReadonlyMap<string, DefinedTheme>;
|
|
27
|
+
/**
|
|
28
|
+
* Reset the theme registry. For testing only.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function resetThemes(): void;
|
|
32
|
+
//# sourceMappingURL=themeRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeRegistry.d.ts","sourceRoot":"","sources":["../../src/theme/themeRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIhD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,YAAY,GAAG,IAAI,CAKrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAEvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file themeRegistry.ts
|
|
5
|
+
* @input DefinedTheme objects from defineTheme() or built theme packages
|
|
6
|
+
* @output Exports registerTheme, getRegisteredTheme, getRegisteredThemes, resetThemes
|
|
7
|
+
* @position Server-safe theme registry for theme-name-based SSR resolution
|
|
8
|
+
*
|
|
9
|
+
* This module has NO 'use client' directive. It is importable from SSR/RSC and
|
|
10
|
+
* lets code resolve theme data by stable theme name without React context.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const themeRegistry = new Map();
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Register a defined theme under its `name`.
|
|
17
|
+
*
|
|
18
|
+
* Registration is idempotent and replaces any previous theme with the same
|
|
19
|
+
* name. Call from app initialization, theme packages, or <Theme> to make the
|
|
20
|
+
* theme available to SSR-safe resolvers by name.
|
|
21
|
+
*/
|
|
22
|
+
export function registerTheme(theme) {
|
|
23
|
+
themeRegistry.set(theme.name, theme);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Return a previously registered theme by name.
|
|
28
|
+
*/
|
|
29
|
+
export function getRegisteredTheme(name) {
|
|
30
|
+
if (name == null || name === '') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return themeRegistry.get(name) ?? null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Return all registered themes keyed by theme name.
|
|
38
|
+
*/
|
|
39
|
+
export function getRegisteredThemes() {
|
|
40
|
+
return new Map(themeRegistry);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Reset the theme registry. For testing only.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export function resetThemes() {
|
|
48
|
+
themeRegistry.clear();
|
|
49
|
+
}
|
package/dist/theme/types.d.ts
CHANGED
|
@@ -112,11 +112,19 @@ export type TextSize = '4xs' | '3xs' | '2xs' | 'xsm' | 'sm' | 'base' | 'lg' | 'x
|
|
|
112
112
|
/**
|
|
113
113
|
* Font weight variants for Text/Heading
|
|
114
114
|
*/
|
|
115
|
+
import type { TextColorMap } from '../Text';
|
|
115
116
|
export type TextWeight = 'normal' | 'medium' | 'semibold' | 'bold';
|
|
116
117
|
/**
|
|
117
|
-
*
|
|
118
|
+
* Built-in text color variants for Text/Heading. The concrete keys that ship
|
|
119
|
+
* with the design system, independent of theme augmentation — used where a
|
|
120
|
+
* value must be one of the real StyleX color styles (see `resolveStyleColor`).
|
|
118
121
|
*/
|
|
119
|
-
export type
|
|
122
|
+
export type BuiltinTextColor = 'primary' | 'secondary' | 'disabled' | 'placeholder' | 'accent' | 'inherit';
|
|
123
|
+
/**
|
|
124
|
+
* Text color variants for Text/Heading. Extensible via module augmentation of
|
|
125
|
+
* `TextColorMap`.
|
|
126
|
+
*/
|
|
127
|
+
export type TextColor = keyof TextColorMap;
|
|
120
128
|
/**
|
|
121
129
|
* Display mode for Text/Heading
|
|
122
130
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAMH;;;GAGG;AACH,MAAM,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/useTheme.d.ts
CHANGED
|
@@ -49,6 +49,15 @@ export interface UseThemeReturn {
|
|
|
49
49
|
*/
|
|
50
50
|
tokens: Record<string, string>;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Return the nearest active Astryx theme name.
|
|
54
|
+
*
|
|
55
|
+
* Uses ThemeContext when present and otherwise follows the root Theme's
|
|
56
|
+
* <html data-astryx-theme> attribute. This is intentionally lighter than
|
|
57
|
+
* useTheme() for consumers that only need theme identity, such as semantic
|
|
58
|
+
* icon resolution.
|
|
59
|
+
*/
|
|
60
|
+
export declare function useThemeName(): string | null;
|
|
52
61
|
/**
|
|
53
62
|
* Access the current Astryx theme's token values, resolved for the active color mode.
|
|
54
63
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAUhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,0CAA0C;IAC1C,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAO1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AA+HD;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAM5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAmCzC"}
|
package/dist/theme/useTheme.js
CHANGED
|
@@ -5,23 +5,25 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file useTheme.ts
|
|
7
7
|
* @input ThemeContext provided by Theme
|
|
8
|
-
* @output Exports useTheme
|
|
8
|
+
* @output Exports useTheme and useThemeName hooks for programmatic theme access
|
|
9
9
|
* @position Theme hook; used by data viz, canvas, and non-CSS consumers
|
|
10
10
|
*
|
|
11
11
|
* Provides synchronous access to theme token values resolved for the
|
|
12
12
|
* current color mode — no DOM reads on the provider path, no double render.
|
|
13
|
-
* Without a reachable ThemeContext it consults `<html data-theme>`
|
|
14
|
-
* sync by Theme) via
|
|
15
|
-
* assuming OS preference
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
13
|
+
* Without a reachable ThemeContext it consults `<html data-theme>` and
|
|
14
|
+
* `<html data-astryx-theme>` (kept in sync by Theme) via shared, refcounted
|
|
15
|
+
* MutationObservers before assuming OS preference/default tokens. Provider-path
|
|
16
|
+
* consumers subscribe to no-op stores instead, so mounting under a Theme never
|
|
17
|
+
* creates an observer. Token resolution is shared with the server-safe helpers
|
|
18
|
+
* in ./tokens.ts.
|
|
19
19
|
*
|
|
20
20
|
* SYNC: When modified, update:
|
|
21
21
|
* - /packages/core/src/theme/index.ts
|
|
22
22
|
*/
|
|
23
23
|
import { createContext, use, useMemo, useSyncExternalStore } from 'react';
|
|
24
24
|
import { resolveThemeTokens } from "./tokens.js";
|
|
25
|
+
import { getRegisteredTheme } from "./themeRegistry.js";
|
|
26
|
+
import { dataAttr } from "../naming.js";
|
|
25
27
|
import { useMediaQuery } from "../hooks/useMediaQuery.js";
|
|
26
28
|
|
|
27
29
|
// =============================================================================
|
|
@@ -53,44 +55,77 @@ ThemeContext.displayName = 'ThemeContext';
|
|
|
53
55
|
// Hook
|
|
54
56
|
// =============================================================================
|
|
55
57
|
|
|
56
|
-
function
|
|
58
|
+
function getRootModeAttrSnapshot() {
|
|
57
59
|
if (typeof document === 'undefined') {
|
|
58
60
|
return null;
|
|
59
61
|
}
|
|
60
62
|
const attr = document.documentElement.getAttribute('data-theme');
|
|
61
63
|
return attr === 'light' || attr === 'dark' ? attr : null;
|
|
62
64
|
}
|
|
63
|
-
function
|
|
65
|
+
function getRootModeAttrServerSnapshot() {
|
|
64
66
|
return null;
|
|
65
67
|
}
|
|
66
|
-
function
|
|
68
|
+
function getRootNameAttrSnapshot() {
|
|
69
|
+
if (typeof document === 'undefined') {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return document.documentElement.getAttribute(dataAttr('theme'));
|
|
73
|
+
}
|
|
74
|
+
function getRootNameAttrServerSnapshot() {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
function getNullThemeSnapshot() {
|
|
67
78
|
return null;
|
|
68
79
|
}
|
|
69
80
|
|
|
70
81
|
// Every no-context consumer wants the same <html data-theme> attribute, so
|
|
71
82
|
// one MutationObserver — refcounted via this listener set — serves all of
|
|
72
83
|
// them instead of one per consumer.
|
|
73
|
-
const
|
|
74
|
-
let
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
const rootModeAttrListeners = new Set();
|
|
85
|
+
let rootModeAttrObserver = null;
|
|
86
|
+
const rootNameAttrListeners = new Set();
|
|
87
|
+
let rootNameAttrObserver = null;
|
|
88
|
+
function notifyRootModeAttrListeners() {
|
|
89
|
+
for (const listener of rootModeAttrListeners) {
|
|
77
90
|
listener();
|
|
78
91
|
}
|
|
79
92
|
}
|
|
80
|
-
function
|
|
81
|
-
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
function subscribeRootModeAttr(onStoreChange) {
|
|
94
|
+
rootModeAttrListeners.add(onStoreChange);
|
|
95
|
+
if (rootModeAttrListeners.size === 1 && typeof MutationObserver !== 'undefined') {
|
|
96
|
+
rootModeAttrObserver = new MutationObserver(notifyRootModeAttrListeners);
|
|
97
|
+
rootModeAttrObserver.observe(document.documentElement, {
|
|
85
98
|
attributes: true,
|
|
86
99
|
attributeFilter: ['data-theme']
|
|
87
100
|
});
|
|
88
101
|
}
|
|
89
102
|
return () => {
|
|
90
|
-
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
rootModeAttrListeners.delete(onStoreChange);
|
|
104
|
+
if (rootModeAttrListeners.size === 0 && rootModeAttrObserver) {
|
|
105
|
+
rootModeAttrObserver.disconnect();
|
|
106
|
+
rootModeAttrObserver = null;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function notifyRootNameAttrListeners() {
|
|
111
|
+
for (const listener of rootNameAttrListeners) {
|
|
112
|
+
listener();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function subscribeRootNameAttr(onStoreChange) {
|
|
116
|
+
rootNameAttrListeners.add(onStoreChange);
|
|
117
|
+
if (rootNameAttrListeners.size === 1 && typeof MutationObserver !== 'undefined') {
|
|
118
|
+
rootNameAttrObserver = new MutationObserver(notifyRootNameAttrListeners);
|
|
119
|
+
rootNameAttrObserver.observe(document.documentElement, {
|
|
120
|
+
attributes: true,
|
|
121
|
+
attributeFilter: [dataAttr('theme')]
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return () => {
|
|
125
|
+
rootNameAttrListeners.delete(onStoreChange);
|
|
126
|
+
if (rootNameAttrListeners.size === 0 && rootNameAttrObserver) {
|
|
127
|
+
rootNameAttrObserver.disconnect();
|
|
128
|
+
rootNameAttrObserver = null;
|
|
94
129
|
}
|
|
95
130
|
};
|
|
96
131
|
}
|
|
@@ -105,8 +140,26 @@ function subscribeNoop() {
|
|
|
105
140
|
* a no-op store when a ThemeContext exists — instead of skipping the hook
|
|
106
141
|
* call, so provider-path consumers never touch the DOM or the observer.
|
|
107
142
|
*/
|
|
108
|
-
function
|
|
109
|
-
return useSyncExternalStore(hasCtx ? subscribeNoop :
|
|
143
|
+
function useRootModeAttr(hasCtx) {
|
|
144
|
+
return useSyncExternalStore(hasCtx ? subscribeNoop : subscribeRootModeAttr, hasCtx ? getNullThemeSnapshot : getRootModeAttrSnapshot, getRootModeAttrServerSnapshot);
|
|
145
|
+
}
|
|
146
|
+
function useRootThemeNameAttr(hasCtx) {
|
|
147
|
+
return useSyncExternalStore(hasCtx ? subscribeNoop : subscribeRootNameAttr, hasCtx ? getNullThemeSnapshot : getRootNameAttrSnapshot, getRootNameAttrServerSnapshot);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Return the nearest active Astryx theme name.
|
|
152
|
+
*
|
|
153
|
+
* Uses ThemeContext when present and otherwise follows the root Theme's
|
|
154
|
+
* <html data-astryx-theme> attribute. This is intentionally lighter than
|
|
155
|
+
* useTheme() for consumers that only need theme identity, such as semantic
|
|
156
|
+
* icon resolution.
|
|
157
|
+
*/
|
|
158
|
+
export function useThemeName() {
|
|
159
|
+
const ctx = use(ThemeContext);
|
|
160
|
+
const hasCtx = ctx != null;
|
|
161
|
+
const rootThemeName = useRootThemeNameAttr(hasCtx);
|
|
162
|
+
return ctx?.theme.name ?? rootThemeName;
|
|
110
163
|
}
|
|
111
164
|
|
|
112
165
|
/**
|
|
@@ -140,12 +193,14 @@ export function useTheme() {
|
|
|
140
193
|
// Falls back to the root Theme's mode via <html data-theme> when there's
|
|
141
194
|
// no ThemeContext ancestor (e.g. useToast's detached fallback viewport).
|
|
142
195
|
// Resolves to null when `ctx` is present, so it has no effect there.
|
|
143
|
-
const
|
|
196
|
+
const hasCtx = ctx != null;
|
|
197
|
+
const rootAttrMode = useRootModeAttr(hasCtx);
|
|
198
|
+
const rootThemeName = useRootThemeNameAttr(hasCtx);
|
|
144
199
|
|
|
145
200
|
// Resolve 'system' to 'light' | 'dark' using the OS preference
|
|
146
201
|
const prefersDark = useMediaQuery('(prefers-color-scheme: dark)');
|
|
147
202
|
const mode = ctx?.mode ?? rootAttrMode ?? 'system';
|
|
148
|
-
const theme = ctx?.theme ??
|
|
203
|
+
const theme = ctx?.theme ?? getRegisteredTheme(rootThemeName);
|
|
149
204
|
const effectiveMode = mode === 'system' ? prefersDark ? 'dark' : 'light' : mode;
|
|
150
205
|
|
|
151
206
|
// Build the full resolved map, memoized on theme + effective mode
|
|
@@ -12,6 +12,23 @@
|
|
|
12
12
|
* down when expanded under RTL. The `:is([dir="rtl"] *)` selector matches the
|
|
13
13
|
* MobileNav drawer convention; a bare `direction: rtl` alone won't trigger it.
|
|
14
14
|
*
|
|
15
|
+
* `centerInline(blockOffset?)` horizontally centers an absolutely-positioned,
|
|
16
|
+
* auto-width element on the inline axis, correctly in BOTH LTR and RTL, with an
|
|
17
|
+
* optional block-axis (Y) offset composed into the same transform. It
|
|
18
|
+
* intentionally uses PHYSICAL `left: 50%` + `translateX(-50%)`: both reference
|
|
19
|
+
* the same physical edge, so the pair is direction-symmetric and centers
|
|
20
|
+
* identically regardless of `dir`. A logical `insetInlineStart: 50%` would flip
|
|
21
|
+
* the anchor edge in RTL while the physical translate does not, leaving the
|
|
22
|
+
* element off-center by its own width (centered in LTR, broken in RTL). This is
|
|
23
|
+
* the one case where physical `left` is the correct choice, so the
|
|
24
|
+
* `no-physical-properties` suppression lives here ONCE rather than at each call
|
|
25
|
+
* site. The `@astryx/no-physical-properties` lint recognises this exact pattern
|
|
26
|
+
* and points offenders here.
|
|
27
|
+
*
|
|
28
|
+
* `blockOffset` is any CSS length/percentage for translateY (pass `'0px'` for
|
|
29
|
+
* none): e.g. `centerInline('100%')` sits the element one full height below its
|
|
30
|
+
* anchor, `centerInline('-50%')` centers it on both axes.
|
|
31
|
+
*
|
|
15
32
|
* SYNC: When modified, update:
|
|
16
33
|
* - /packages/core/src/utils/index.ts
|
|
17
34
|
*/
|
|
@@ -20,5 +37,9 @@ export declare const rtlStyles: Readonly<{
|
|
|
20
37
|
readonly mirror: Readonly<{
|
|
21
38
|
readonly transform: stylex.StyleXClassNameFor<"transform", "scaleX(-1)" | null>;
|
|
22
39
|
}>;
|
|
40
|
+
readonly centerInline: (blockOffset: string) => readonly [Readonly<{
|
|
41
|
+
left: stylex.StyleXClassNameFor<"left", string>;
|
|
42
|
+
transform: stylex.StyleXClassNameFor<"transform", string>;
|
|
43
|
+
}>, stylex.InlineStyles];
|
|
23
44
|
}>;
|
|
24
45
|
//# sourceMappingURL=rtlStyles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtlStyles.d.ts","sourceRoot":"","sources":["../../src/utils/rtlStyles.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"rtlStyles.d.ts","sourceRoot":"","sources":["../../src/utils/rtlStyles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAE3C,eAAO,MAAM,SAAS;;;;;;;;EASpB,CAAC"}
|
package/dist/utils/rtlStyles.js
CHANGED
|
@@ -14,14 +14,39 @@
|
|
|
14
14
|
* down when expanded under RTL. The `:is([dir="rtl"] *)` selector matches the
|
|
15
15
|
* MobileNav drawer convention; a bare `direction: rtl` alone won't trigger it.
|
|
16
16
|
*
|
|
17
|
+
* `centerInline(blockOffset?)` horizontally centers an absolutely-positioned,
|
|
18
|
+
* auto-width element on the inline axis, correctly in BOTH LTR and RTL, with an
|
|
19
|
+
* optional block-axis (Y) offset composed into the same transform. It
|
|
20
|
+
* intentionally uses PHYSICAL `left: 50%` + `translateX(-50%)`: both reference
|
|
21
|
+
* the same physical edge, so the pair is direction-symmetric and centers
|
|
22
|
+
* identically regardless of `dir`. A logical `insetInlineStart: 50%` would flip
|
|
23
|
+
* the anchor edge in RTL while the physical translate does not, leaving the
|
|
24
|
+
* element off-center by its own width (centered in LTR, broken in RTL). This is
|
|
25
|
+
* the one case where physical `left` is the correct choice, so the
|
|
26
|
+
* `no-physical-properties` suppression lives here ONCE rather than at each call
|
|
27
|
+
* site. The `@astryx/no-physical-properties` lint recognises this exact pattern
|
|
28
|
+
* and points offenders here.
|
|
29
|
+
*
|
|
30
|
+
* `blockOffset` is any CSS length/percentage for translateY (pass `'0px'` for
|
|
31
|
+
* none): e.g. `centerInline('100%')` sits the element one full height below its
|
|
32
|
+
* anchor, `centerInline('-50%')` centers it on both axes.
|
|
33
|
+
*
|
|
17
34
|
* SYNC: When modified, update:
|
|
18
35
|
* - /packages/core/src/utils/index.ts
|
|
19
36
|
*/
|
|
20
37
|
|
|
21
38
|
import * as stylex from '@stylexjs/stylex';
|
|
39
|
+
const _temp = {
|
|
40
|
+
kbCHJM: "x1nrll8i",
|
|
41
|
+
k3aq6I: "xsqj5wx",
|
|
42
|
+
"$$css": true
|
|
43
|
+
};
|
|
22
44
|
export const rtlStyles = {
|
|
23
45
|
mirror: {
|
|
24
46
|
k3aq6I: "xgtlewx",
|
|
25
47
|
$$css: true
|
|
26
|
-
}
|
|
48
|
+
},
|
|
49
|
+
centerInline: blockOffset => [_temp, {
|
|
50
|
+
"--x-transform": `translate(-50%, ${blockOffset})` != null ? `translate(-50%, ${blockOffset})` : undefined
|
|
51
|
+
}]
|
|
27
52
|
};
|
package/groups.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').ComponentGroupDoc} */
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file Group metadata for component categories that are not themselves components.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* Or dynamically: `const {GROUP_DOCS} = await import('@astryxdesign/core/groups.doc.mjs')`
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/** @type {Record<string, import('
|
|
19
|
+
/** @type {Record<string, import('@astryxdesign/cli/authoring').ComponentGroupDoc>} */
|
|
20
20
|
export const GROUP_DOCS = {
|
|
21
21
|
Chat: {
|
|
22
22
|
name: 'Chat',
|