@astryxdesign/core 0.1.8 → 0.1.9-canary.02ef052
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 +100 -0
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +6 -2
- package/dist/AppShell/AppShellMobileContext.d.ts +8 -0
- package/dist/AppShell/AppShellMobileContext.d.ts.map +1 -1
- package/dist/Avatar/Avatar.d.ts +58 -3
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +240 -53
- package/dist/Avatar/AvatarStatusDot.d.ts +35 -5
- package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/Avatar/AvatarStatusDot.js +144 -19
- package/dist/AvatarGroup/AvatarGroup.d.ts +7 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +58 -6
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -0
- package/dist/Banner/Banner.d.ts +9 -1
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +33 -4
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +31 -2
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +215 -6
- package/dist/Breadcrumbs/index.d.ts +6 -0
- package/dist/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/index.js +10 -1
- package/dist/Button/Button.d.ts +8 -2
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +33 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts +9 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +30 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +80 -11
- package/dist/Calendar/dayCellUtils.d.ts +4 -4
- package/dist/Calendar/dayCellUtils.js +3 -3
- package/dist/Calendar/styles.d.ts +30 -31
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +30 -31
- package/dist/Card/Card.d.ts +8 -2
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +28 -2
- package/dist/Carousel/Carousel.d.ts +4 -1
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +46 -16
- package/dist/Chat/ChatComposer.d.ts +8 -0
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +46 -7
- package/dist/Chat/ChatComposerDrawer.d.ts +2 -0
- package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
- package/dist/Chat/ChatComposerDrawer.js +11 -1
- package/dist/Chat/ChatComposerInput.d.ts +20 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +36 -4
- package/dist/Chat/ChatContext.d.ts +33 -0
- package/dist/Chat/ChatContext.d.ts.map +1 -1
- package/dist/Chat/ChatContext.js +16 -2
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +4 -2
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +4 -4
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +4 -4
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +7 -1
- package/dist/Chat/ChatToolCalls.d.ts +5 -1
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +27 -11
- package/dist/Chat/index.d.ts +2 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/index.js +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts +2 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +22 -8
- package/dist/Chat/useSpeechRecognition.d.ts +0 -1
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +1 -1
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +2 -2
- package/dist/CheckboxInput/CheckboxInput.js +5 -5
- package/dist/CheckboxList/CheckboxListItem.d.ts +20 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +11 -1
- package/dist/Citation/Citation.d.ts +22 -1
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +20 -6
- package/dist/ClickableCard/ClickableCard.d.ts +9 -2
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +5 -2
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +22 -9
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +3 -1
- package/dist/CommandPalette/CommandPalette.d.ts +2 -2
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +45 -4
- package/dist/CommandPalette/CommandPaletteGroup.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteGroup.js +9 -2
- package/dist/CommandPalette/CommandPaletteInput.d.ts +7 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +6 -1
- package/dist/CommandPalette/CommandPaletteItem.js +1 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +14 -5
- package/dist/ContextMenu/index.d.ts +1 -0
- package/dist/ContextMenu/index.d.ts.map +1 -1
- package/dist/ContextMenu/index.js +3 -1
- package/dist/DateInput/DateInput.d.ts +56 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +59 -21
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts +10 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +23 -20
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +33 -19
- package/dist/Dialog/Dialog.d.ts +3 -0
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +57 -6
- package/dist/Dialog/DialogContext.d.ts +7 -0
- package/dist/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/Dialog/DialogContext.js +2 -2
- package/dist/Dialog/DialogHeader.d.ts +5 -2
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +6 -1
- package/dist/Divider/Divider.js +1 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts +6 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +22 -5
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +1 -2
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +5 -3
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +5 -2
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +1 -2
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -2
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +4 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +104 -0
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -0
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +427 -0
- package/dist/DropdownMenu/index.d.ts +10 -0
- package/dist/DropdownMenu/index.d.ts.map +1 -1
- package/dist/DropdownMenu/index.js +13 -0
- package/dist/DropdownMenu/menuItemHover.d.ts +23 -0
- package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -0
- package/dist/DropdownMenu/menuItemHover.js +33 -0
- package/dist/DropdownMenu/menuItemRoles.d.ts +8 -0
- package/dist/DropdownMenu/menuItemRoles.d.ts.map +1 -1
- package/dist/DropdownMenu/menuItemRoles.js +10 -1
- package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
- package/dist/DropdownMenu/renderDropdownItems.js +21 -6
- package/dist/Field/Field.d.ts +3 -1
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +6 -4
- package/dist/Field/FieldLabel.d.ts +1 -1
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +43 -16
- package/dist/Field/inputStyles.stylex.d.ts +1 -0
- package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
- package/dist/Field/inputStyles.stylex.js +1 -0
- package/dist/FieldStatus/FieldStatus.d.ts +18 -0
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +60 -6
- package/dist/FileInput/FileInput.d.ts +10 -2
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +54 -35
- package/dist/HoverCard/HoverCard.d.ts +9 -1
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +2 -0
- package/dist/HoverCard/useHoverCard.d.ts +8 -0
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +17 -6
- package/dist/Icon/Icon.d.ts +22 -3
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +19 -3
- package/dist/Item/Item.d.ts +6 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +22 -1
- package/dist/Layer/useLayer.d.ts +6 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +2 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +19 -13
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +7 -0
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +6 -1
- package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
- package/dist/MobileNav/MobileNavToggle.js +4 -0
- package/dist/MultiSelector/MultiSelector.d.ts +9 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +104 -50
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +16 -0
- package/dist/NavMenu/NavHeadingMenuItem.js +1 -1
- package/dist/NumberInput/NumberInput.d.ts +10 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +22 -17
- package/dist/Outline/Outline.d.ts +0 -1
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +0 -1
- package/dist/OverflowList/OverflowList.d.ts +20 -3
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +29 -4
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +11 -3
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +3 -2
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +3 -9
- package/dist/PowerSearch/PowerSearch.d.ts +9 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +2 -0
- package/dist/PowerSearch/PowerSearchEditPopover.js +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/RadioList/RadioList.d.ts +2 -2
- package/dist/RadioList/RadioListItem.js +4 -4
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +2 -1
- package/dist/SelectableCard/SelectableCard.d.ts +9 -2
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +16 -13
- package/dist/Selector/Selector.d.ts +8 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +65 -19
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +16 -0
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +5 -5
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +13 -10
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +21 -8
- package/dist/SideNav/SideNavItem.d.ts +1 -1
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +12 -10
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +106 -36
- package/dist/Stack/stack.stylex.d.ts +9 -9
- package/dist/Switch/Switch.d.ts +8 -1
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +160 -91
- package/dist/TabList/Tab.js +2 -2
- package/dist/TabList/TabMenu.js +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +33 -6
- package/dist/Table/TableCell.js +3 -3
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +15 -11
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +36 -26
- package/dist/Table/plugins/rowStatus/index.d.ts +3 -0
- package/dist/Table/plugins/rowStatus/index.d.ts.map +1 -0
- package/dist/Table/plugins/rowStatus/index.js +3 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts +60 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +145 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts +13 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +7 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +16 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +105 -12
- package/dist/Table/plugins/tree/useTableTreeState.d.ts +6 -0
- package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeState.js +22 -1
- package/dist/Table/types.d.ts +32 -0
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +5 -3
- package/dist/TextArea/TextArea.d.ts +10 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +18 -19
- package/dist/TextInput/TextInput.d.ts +10 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +20 -17
- package/dist/Thumbnail/Thumbnail.d.ts +26 -5
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +97 -54
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +9 -0
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +1 -0
- package/dist/Thumbnail/thumbnail.markers.stylex.js +14 -0
- package/dist/TimeInput/TimeInput.d.ts +10 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +32 -21
- package/dist/Timestamp/Timestamp.d.ts +3 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +8 -6
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +2 -5
- package/dist/ToggleButton/ToggleButtonGroup.d.ts +0 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
- package/dist/Token/Token.d.ts +30 -3
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +17 -2
- package/dist/Token/index.d.ts +1 -1
- package/dist/Token/index.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.d.ts +10 -3
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +20 -6
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +17 -1
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +18 -8
- package/dist/TopNav/TopNavMegaMenu.js +10 -4
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +9 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +8 -1
- package/dist/TopNav/TopNavMenu.d.ts +2 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +68 -6
- package/dist/TreeList/TreeList.d.ts +12 -3
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +3 -0
- package/dist/TreeList/TreeListBranches.d.ts +5 -0
- package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
- package/dist/TreeList/TreeListBranches.js +18 -10
- package/dist/TreeList/TreeListItem.d.ts +8 -2
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +59 -21
- package/dist/TreeList/TreeListTypes.d.ts +25 -1
- package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
- package/dist/TreeList/index.d.ts +2 -2
- package/dist/TreeList/index.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +20 -11
- package/dist/Typeahead/Typeahead.d.ts +9 -2
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +3 -1
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/Typeahead/TypeaheadItem.js +20 -10
- package/dist/astryx.css +61 -39
- package/dist/astryx.umd.js +53 -53
- package/dist/astryx.umd.js.map +4 -4
- package/dist/authoring/doc.d.ts.map +1 -1
- package/dist/docs-types.d.ts +8 -0
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/hooks/computeOverflow.d.ts +47 -0
- package/dist/hooks/computeOverflow.d.ts.map +1 -0
- package/dist/hooks/computeOverflow.js +213 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/isRtlElement.d.ts +18 -0
- package/dist/hooks/isRtlElement.d.ts.map +1 -0
- package/dist/hooks/isRtlElement.js +27 -0
- package/dist/hooks/useDevWarning.d.ts +18 -0
- package/dist/hooks/useDevWarning.d.ts.map +1 -0
- package/dist/hooks/useDevWarning.js +49 -0
- package/dist/hooks/useGridFocus.d.ts +6 -1
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +12 -9
- package/dist/hooks/useInputStatusIcon.d.ts +38 -0
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -0
- package/dist/hooks/useInputStatusIcon.js +158 -0
- package/dist/hooks/useListFocus.d.ts +39 -1
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +54 -9
- package/dist/hooks/useOverflow.d.ts +19 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +36 -25
- package/dist/i18n/InternationalizationContext.d.ts +1 -0
- package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
- package/dist/i18n/InternationalizationContext.js +3 -0
- package/dist/i18n/InternationalizationProvider.d.ts +8 -1
- package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.js +5 -1
- package/dist/i18n/getLocaleDirection.d.ts +18 -0
- package/dist/i18n/getLocaleDirection.d.ts.map +1 -0
- package/dist/i18n/getLocaleDirection.js +29 -0
- package/dist/i18n/index.d.ts +6 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +7 -1
- package/dist/i18n/resolve.d.ts.map +1 -1
- package/dist/i18n/resolve.js +7 -18
- package/dist/i18n/useDirection.d.ts +2 -0
- package/dist/i18n/useDirection.d.ts.map +1 -0
- package/dist/i18n/useDirection.js +27 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +2 -7
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +13 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +51 -0
- package/dist/theme/hct.d.ts +0 -1
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.d.ts.map +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.js +2 -1
- package/dist/utils/devWarning.d.ts +42 -0
- package/dist/utils/devWarning.d.ts.map +1 -0
- package/dist/utils/devWarning.js +88 -0
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -2
- package/dist/utils/plainDate.d.ts +30 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +65 -3
- package/dist/utils/rtlStyles.d.ts +24 -0
- package/dist/utils/rtlStyles.d.ts.map +1 -0
- package/dist/utils/rtlStyles.js +27 -0
- package/dist/utils/types.d.ts +13 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/locales/en.json +104 -0
- package/locales/fr-FR.json +14 -0
- package/locales/pseudo.json +78 -0
- package/package.json +6 -1
- package/src/AppShell/AppShell.tsx +6 -0
- package/src/AppShell/AppShellMobileContext.tsx +8 -0
- package/src/AppShell/useAppShellMobile.doc.mjs +8 -0
- package/src/Avatar/Avatar.doc.mjs +64 -5
- package/src/Avatar/Avatar.test.tsx +374 -1
- package/src/Avatar/Avatar.tsx +367 -69
- package/src/Avatar/AvatarStatusDot.doc.mjs +23 -12
- package/src/Avatar/AvatarStatusDot.test.tsx +284 -0
- package/src/Avatar/AvatarStatusDot.tsx +180 -21
- package/src/AvatarGroup/AvatarGroup.doc.mjs +2 -0
- package/src/AvatarGroup/AvatarGroup.test.tsx +141 -1
- package/src/AvatarGroup/AvatarGroup.tsx +58 -3
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +1 -0
- package/src/Banner/Banner.doc.mjs +9 -0
- package/src/Banner/Banner.test.tsx +30 -0
- package/src/Banner/Banner.tsx +53 -9
- package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +26 -0
- package/src/Breadcrumbs/BreadcrumbItem.tsx +333 -14
- package/src/Breadcrumbs/Breadcrumbs.doc.mjs +2 -0
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +335 -2
- package/src/Breadcrumbs/index.ts +31 -0
- package/src/Button/Button.doc.mjs +9 -4
- package/src/Button/Button.test.tsx +49 -0
- package/src/Button/Button.tsx +27 -3
- package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -0
- package/src/ButtonGroup/ButtonGroup.test.tsx +37 -0
- package/src/ButtonGroup/ButtonGroup.tsx +32 -0
- package/src/Calendar/Calendar.doc.mjs +12 -1
- package/src/Calendar/Calendar.test.tsx +362 -19
- package/src/Calendar/Calendar.tsx +111 -32
- package/src/Calendar/dayCellUtils.test.ts +23 -18
- package/src/Calendar/dayCellUtils.ts +3 -3
- package/src/Calendar/styles.ts +33 -39
- package/src/Card/Card.doc.mjs +9 -0
- package/src/Card/Card.test.tsx +21 -3
- package/src/Card/Card.tsx +35 -2
- package/src/Carousel/Carousel.doc.mjs +1 -0
- package/src/Carousel/Carousel.test.tsx +53 -0
- package/src/Carousel/Carousel.tsx +59 -10
- package/src/Chat/ChatComposer.doc.mjs +12 -3
- package/src/Chat/ChatComposer.test.tsx +115 -0
- package/src/Chat/ChatComposer.tsx +73 -9
- package/src/Chat/ChatComposerDrawer.test.tsx +61 -0
- package/src/Chat/ChatComposerDrawer.tsx +11 -1
- package/src/Chat/ChatComposerInput.doc.mjs +7 -0
- package/src/Chat/ChatComposerInput.test.tsx +103 -0
- package/src/Chat/ChatComposerInput.tsx +51 -5
- package/src/Chat/ChatContext.tsx +37 -10
- package/src/Chat/ChatDictationButton.tsx +11 -2
- package/src/Chat/ChatLayout.tsx +7 -5
- package/src/Chat/ChatLayoutScrollButton.tsx +7 -2
- package/src/Chat/ChatMessageMetadata.tsx +1 -2
- package/src/Chat/ChatSendButton.tsx +11 -1
- package/src/Chat/ChatToolCalls.test.tsx +64 -0
- package/src/Chat/ChatToolCalls.tsx +33 -5
- package/src/Chat/index.ts +5 -1
- package/src/Chat/useChatStreamScroll.test.tsx +49 -0
- package/src/Chat/useChatStreamScroll.ts +27 -10
- package/src/Chat/useSpeechRecognition.ts +1 -1
- package/src/Chat/useTriggerMenu.tsx +4 -2
- package/src/CheckboxInput/CheckboxInput.doc.mjs +6 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +32 -1
- package/src/CheckboxInput/CheckboxInput.tsx +5 -5
- package/src/CheckboxList/CheckboxList.doc.mjs +6 -0
- package/src/CheckboxList/CheckboxList.test.tsx +81 -3
- package/src/CheckboxList/CheckboxListItem.doc.mjs +33 -5
- package/src/CheckboxList/CheckboxListItem.tsx +41 -5
- package/src/Citation/Citation.doc.mjs +4 -3
- package/src/Citation/Citation.test.tsx +97 -0
- package/src/Citation/Citation.tsx +43 -11
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -0
- package/src/ClickableCard/ClickableCard.test.tsx +34 -0
- package/src/ClickableCard/ClickableCard.tsx +13 -3
- package/src/CodeBlock/CodeBlock.test.tsx +56 -0
- package/src/CodeBlock/CodeBlock.tsx +45 -10
- package/src/Collapsible/Collapsible.doc.mjs +1 -0
- package/src/Collapsible/Collapsible.test.tsx +7 -0
- package/src/Collapsible/Collapsible.tsx +16 -6
- package/src/CommandPalette/CommandPalette.doc.mjs +1 -0
- package/src/CommandPalette/CommandPalette.test.tsx +95 -1
- package/src/CommandPalette/CommandPalette.tsx +44 -3
- package/src/CommandPalette/CommandPaletteGroup.test.tsx +71 -0
- package/src/CommandPalette/CommandPaletteGroup.tsx +12 -1
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +26 -9
- package/src/CommandPalette/CommandPaletteInput.test.tsx +34 -0
- package/src/CommandPalette/CommandPaletteInput.tsx +11 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
- package/src/ContextMenu/ContextMenu.test.tsx +235 -0
- package/src/ContextMenu/ContextMenu.tsx +13 -11
- package/src/ContextMenu/index.ts +5 -0
- package/src/DateInput/DateInput.doc.mjs +41 -0
- package/src/DateInput/DateInput.test.tsx +338 -0
- package/src/DateInput/DateInput.tsx +119 -32
- package/src/DateInput/index.ts +1 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +16 -0
- package/src/DateRangeInput/DateRangeInput.test.tsx +140 -0
- package/src/DateRangeInput/DateRangeInput.tsx +42 -30
- package/src/DateTimeInput/DateTimeInput.doc.mjs +22 -1
- package/src/DateTimeInput/DateTimeInput.test.tsx +147 -0
- package/src/DateTimeInput/DateTimeInput.tsx +58 -41
- package/src/Dialog/Dialog.doc.mjs +2 -2
- package/src/Dialog/Dialog.test.tsx +77 -4
- package/src/Dialog/Dialog.tsx +89 -5
- package/src/Dialog/DialogContext.ts +9 -2
- package/src/Dialog/DialogHeader.doc.mjs +2 -2
- package/src/Dialog/DialogHeader.tsx +9 -2
- package/src/Divider/Divider.tsx +2 -2
- package/src/DropdownMenu/DropdownMenu.test.tsx +229 -0
- package/src/DropdownMenu/DropdownMenu.tsx +31 -12
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +9 -4
- package/src/DropdownMenu/DropdownMenuItem.tsx +9 -3
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +1 -2
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +8 -2
- package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +88 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +635 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +553 -0
- package/src/DropdownMenu/index.ts +16 -0
- package/src/DropdownMenu/menuItemHover.ts +39 -0
- package/src/DropdownMenu/menuItemRoles.ts +9 -0
- package/src/DropdownMenu/renderDropdownItems.tsx +29 -15
- package/src/Field/Field.test.tsx +57 -12
- package/src/Field/Field.tsx +20 -14
- package/src/Field/FieldLabel.tsx +9 -1
- package/src/Field/inputStyles.stylex.ts +2 -0
- package/src/FieldStatus/FieldStatus.doc.mjs +17 -5
- package/src/FieldStatus/FieldStatus.test.tsx +150 -40
- package/src/FieldStatus/FieldStatus.tsx +69 -5
- package/src/FileInput/FileInput.doc.mjs +23 -2
- package/src/FileInput/FileInput.test.tsx +135 -12
- package/src/FileInput/FileInput.tsx +65 -51
- package/src/HoverCard/HoverCard.doc.mjs +13 -0
- package/src/HoverCard/HoverCard.test.tsx +21 -2
- package/src/HoverCard/HoverCard.tsx +11 -0
- package/src/HoverCard/useHoverCard.doc.mjs +2 -0
- package/src/HoverCard/useHoverCard.tsx +39 -5
- package/src/Icon/Icon.doc.mjs +16 -2
- package/src/Icon/Icon.test.tsx +89 -0
- package/src/Icon/Icon.tsx +58 -5
- package/src/IconButton/IconButton.doc.mjs +8 -0
- package/src/IconButton/IconButton.test.tsx +15 -18
- package/src/Item/Item.test.tsx +40 -18
- package/src/Item/Item.tsx +38 -2
- package/src/Layer/useLayer.tsx +8 -0
- package/src/Lightbox/Lightbox.tsx +15 -7
- package/src/List/List.test.tsx +9 -8
- package/src/Markdown/Markdown.test.tsx +21 -0
- package/src/Markdown/Markdown.tsx +4 -0
- package/src/MobileNav/MobileNav.tsx +12 -1
- package/src/MobileNav/MobileNavToggle.test.tsx +116 -0
- package/src/MobileNav/MobileNavToggle.tsx +9 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +24 -2
- package/src/MultiSelector/MultiSelector.test.tsx +498 -3
- package/src/MultiSelector/MultiSelector.tsx +149 -65
- package/src/MultiSelector/hooks.ts +17 -0
- package/src/NavMenu/NavHeadingMenuItem.tsx +1 -1
- package/src/NumberInput/NumberInput.doc.mjs +21 -0
- package/src/NumberInput/NumberInput.test.tsx +82 -7
- package/src/NumberInput/NumberInput.tsx +36 -28
- package/src/Outline/Outline.tsx +0 -1
- package/src/OverflowList/OverflowList.doc.mjs +39 -6
- package/src/OverflowList/OverflowList.test.tsx +111 -0
- package/src/OverflowList/OverflowList.tsx +48 -8
- package/src/Pagination/Pagination.tsx +11 -3
- package/src/Popover/Popover.tsx +7 -4
- package/src/Popover/usePopover.tsx +9 -13
- package/src/PowerSearch/PowerSearch.doc.mjs +29 -0
- package/src/PowerSearch/PowerSearch.test.tsx +43 -0
- package/src/PowerSearch/PowerSearch.tsx +10 -1
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +67 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +1 -1
- package/src/PowerSearch/usePowerSearchSource.ts +1 -2
- package/src/RadioList/RadioList.doc.mjs +6 -0
- package/src/RadioList/RadioList.tsx +2 -2
- package/src/RadioList/RadioListItem.tsx +4 -4
- package/src/SegmentedControl/SegmentedControlItem.tsx +2 -0
- package/src/SelectableCard/SelectableCard.doc.mjs +2 -0
- package/src/SelectableCard/SelectableCard.test.tsx +46 -4
- package/src/SelectableCard/SelectableCard.tsx +29 -16
- package/src/Selector/Selector.doc.mjs +15 -0
- package/src/Selector/Selector.test.tsx +417 -0
- package/src/Selector/Selector.tsx +86 -21
- package/src/Selector/hooks.ts +17 -0
- package/src/SideNav/SideNav.test.tsx +119 -3
- package/src/SideNav/SideNav.tsx +1 -8
- package/src/SideNav/SideNavCollapseButton.tsx +15 -8
- package/src/SideNav/SideNavHeading.tsx +24 -8
- package/src/SideNav/SideNavItem.tsx +10 -4
- package/src/Slider/Slider.doc.mjs +6 -0
- package/src/Slider/Slider.test.tsx +314 -13
- package/src/Slider/Slider.tsx +117 -28
- package/src/Switch/Switch.doc.mjs +142 -42
- package/src/Switch/Switch.test.tsx +54 -1
- package/src/Switch/Switch.tsx +90 -33
- package/src/TabList/Tab.tsx +2 -2
- package/src/TabList/TabMenu.tsx +2 -2
- package/src/Table/BaseTable.tsx +37 -7
- package/src/Table/Table.doc.mjs +11 -0
- package/src/Table/Table.test.tsx +85 -0
- package/src/Table/TableCell.tsx +3 -3
- package/src/Table/TableHeaderCell.tsx +3 -3
- package/src/Table/index.ts +5 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +15 -8
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -17
- package/src/Table/plugins/rowStatus/index.ts +7 -0
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +138 -0
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +189 -0
- package/src/Table/plugins/selection/useTableSelection.test.tsx +77 -3
- package/src/Table/plugins/selection/useTableSelection.tsx +22 -1
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -1
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +135 -3
- package/src/Table/plugins/tree/useTableTreeData.tsx +139 -8
- package/src/Table/plugins/tree/useTableTreeState.test.tsx +104 -0
- package/src/Table/plugins/tree/useTableTreeState.tsx +46 -2
- package/src/Table/types.ts +33 -0
- package/src/Table/useBaseTablePlugins.ts +10 -6
- package/src/Table/useTableRowStatus.doc.mjs +30 -0
- package/src/Table/useTableSelection.doc.mjs +65 -14
- package/src/Table/useTableTreeData.doc.mjs +29 -0
- package/src/Table/useTableTreeState.doc.mjs +2 -2
- package/src/TextArea/TextArea.doc.mjs +21 -0
- package/src/TextArea/TextArea.test.tsx +32 -1
- package/src/TextArea/TextArea.tsx +27 -26
- package/src/TextInput/TextInput.doc.mjs +21 -0
- package/src/TextInput/TextInput.test.tsx +150 -0
- package/src/TextInput/TextInput.tsx +28 -25
- package/src/Thumbnail/Thumbnail.doc.mjs +19 -10
- package/src/Thumbnail/Thumbnail.test.tsx +98 -7
- package/src/Thumbnail/Thumbnail.tsx +142 -42
- package/src/Thumbnail/thumbnail.markers.stylex.ts +12 -0
- package/src/TimeInput/TimeInput.doc.mjs +21 -0
- package/src/TimeInput/TimeInput.test.tsx +99 -1
- package/src/TimeInput/TimeInput.tsx +43 -31
- package/src/Timestamp/Timestamp.doc.mjs +4 -4
- package/src/Timestamp/Timestamp.test.tsx +32 -0
- package/src/Timestamp/Timestamp.tsx +28 -8
- package/src/Toast/useToast.tsx +7 -8
- package/src/ToggleButton/ToggleButtonGroup.tsx +1 -1
- package/src/Token/Token.test.tsx +21 -15
- package/src/Token/Token.tsx +31 -14
- package/src/Token/index.ts +1 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +38 -2
- package/src/Tokenizer/Tokenizer.test.tsx +206 -2
- package/src/Tokenizer/Tokenizer.tsx +30 -6
- package/src/Tooltip/Tooltip.test.tsx +46 -0
- package/src/Tooltip/useTooltip.tsx +20 -0
- package/src/TopNav/TopNav.test.tsx +125 -1
- package/src/TopNav/TopNavHeading.tsx +24 -8
- package/src/TopNav/TopNavMegaMenu.test.tsx +149 -1
- package/src/TopNav/TopNavMegaMenu.tsx +10 -4
- package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +3 -3
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +19 -2
- package/src/TopNav/TopNavMenu.test.tsx +118 -4
- package/src/TopNav/TopNavMenu.tsx +83 -5
- package/src/TreeList/TreeList.doc.mjs +28 -0
- package/src/TreeList/TreeList.test.tsx +272 -0
- package/src/TreeList/TreeList.tsx +23 -2
- package/src/TreeList/TreeListBranches.tsx +24 -8
- package/src/TreeList/TreeListItem.tsx +84 -22
- package/src/TreeList/TreeListTypes.ts +27 -1
- package/src/TreeList/index.ts +2 -2
- package/src/Typeahead/BaseTypeahead.tsx +30 -15
- package/src/Typeahead/Typeahead.doc.mjs +13 -0
- package/src/Typeahead/Typeahead.test.tsx +50 -0
- package/src/Typeahead/Typeahead.tsx +11 -1
- package/src/Typeahead/TypeaheadItem.tsx +2 -1
- package/src/__tests__/inputWidthContract.test.tsx +62 -0
- package/src/authoring/doc.ts +1 -3
- package/src/doc-mjs.d.ts +19 -0
- package/src/docs-types.ts +5 -0
- package/src/hooks/computeOverflow.test.ts +422 -0
- package/src/hooks/computeOverflow.ts +290 -0
- package/src/hooks/index.ts +8 -0
- package/src/hooks/isRtlElement.ts +27 -0
- package/src/hooks/useDevWarning.test.tsx +45 -0
- package/src/hooks/useDevWarning.ts +54 -0
- package/src/hooks/useGridFocus.doc.mjs +3 -3
- package/src/hooks/useGridFocus.test.tsx +41 -0
- package/src/hooks/useGridFocus.ts +21 -10
- package/src/hooks/useInputStatusIcon.test.tsx +162 -0
- package/src/hooks/useInputStatusIcon.tsx +224 -0
- package/src/hooks/useListFocus.doc.mjs +25 -3
- package/src/hooks/useListFocus.test.tsx +153 -1
- package/src/hooks/useListFocus.ts +102 -9
- package/src/hooks/useOverflow.test.ts +96 -4
- package/src/hooks/useOverflow.ts +74 -33
- package/src/i18n/InternationalizationContext.ts +4 -0
- package/src/i18n/InternationalizationProvider.doc.mjs +99 -2
- package/src/i18n/InternationalizationProvider.tsx +12 -2
- package/src/i18n/__tests__/getLocaleDirection.test.ts +40 -0
- package/src/i18n/__tests__/useDirection.test.tsx +66 -0
- package/src/i18n/getLocaleDirection.ts +29 -0
- package/src/i18n/index.ts +6 -0
- package/src/i18n/resolve.ts +9 -21
- package/src/i18n/useDirection.ts +29 -0
- package/src/reset.css +0 -26
- package/src/reset.test.ts +60 -0
- package/src/theme/Theme.tsx +11 -14
- package/src/theme/derivedVarRegistry.test.ts +1 -0
- package/src/theme/derivedVarRegistry.ts +6 -0
- package/src/theme/generateThemeRules.test.ts +107 -0
- package/src/theme/generateThemeRules.ts +56 -0
- package/src/theme/hct.ts +1 -1
- package/src/theme/syntax/defineSyntaxTheme.ts +5 -6
- package/src/utils/devWarning.test.ts +56 -0
- package/src/utils/devWarning.ts +102 -0
- package/src/utils/index.ts +8 -0
- package/src/utils/plainDate.test.ts +46 -6
- package/src/utils/plainDate.ts +69 -3
- package/src/utils/rtlStyles.ts +27 -0
- package/src/utils/types.ts +14 -0
package/src/ContextMenu/index.ts
CHANGED
|
@@ -35,3 +35,8 @@ export {
|
|
|
35
35
|
DropdownMenuRadioItem as ContextMenuRadioItem,
|
|
36
36
|
type DropdownMenuRadioItemProps as ContextMenuRadioItemProps,
|
|
37
37
|
} from '../DropdownMenu/DropdownMenuRadioItem';
|
|
38
|
+
// Submenus work inside a ContextMenu too (nested flyout of items).
|
|
39
|
+
export {
|
|
40
|
+
DropdownMenuSubMenu as ContextMenuSubMenu,
|
|
41
|
+
type DropdownMenuSubMenuProps as ContextMenuSubMenuProps,
|
|
42
|
+
} from '../DropdownMenu/DropdownMenuSubMenu';
|
|
@@ -115,6 +115,13 @@ export const docs = {
|
|
|
115
115
|
description:
|
|
116
116
|
'Status indicator object for error, warning, or success states with a message.',
|
|
117
117
|
},
|
|
118
|
+
{
|
|
119
|
+
name: 'statusVariant',
|
|
120
|
+
type: "'attached' | 'detached' | 'tooltip'",
|
|
121
|
+
description:
|
|
122
|
+
'How the status message is placed relative to the input. attached overlaps directly below the input (bordered treatment); detached floats below as a separate element with spacing; tooltip hides the message box and surfaces it in a tooltip on the status icon.',
|
|
123
|
+
default: "'attached'",
|
|
124
|
+
},
|
|
118
125
|
{
|
|
119
126
|
name: 'labelTooltip',
|
|
120
127
|
type: 'string',
|
|
@@ -135,6 +142,19 @@ export const docs = {
|
|
|
135
142
|
'Number of months displayed simultaneously in the calendar popover.',
|
|
136
143
|
default: '1',
|
|
137
144
|
},
|
|
145
|
+
{
|
|
146
|
+
name: 'format',
|
|
147
|
+
type: "'date' | 'date_long' | 'date_weekday' | 'system_date' | ((value: ISODateString) => string)",
|
|
148
|
+
description:
|
|
149
|
+
"How the committed date value is displayed. Named values are reused from Timestamp's format vocabulary: 'date' shows 'Mar 21, 2026', 'date_long' shows 'March 21, 2026', 'date_weekday' shows 'Wed, Mar 21, 2026', 'system_date' shows '2026-03-21'. A function receives the ISO value and returns a custom string. Applies only to the committed value, never to text being typed.",
|
|
150
|
+
default: "'date_long'",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'width',
|
|
154
|
+
type: 'SizeValue',
|
|
155
|
+
description:
|
|
156
|
+
'Width of the field (number = pixels, string used as-is, e.g. "100%"). Sizes the whole field (label, control, and status) so they stay aligned.',
|
|
157
|
+
},
|
|
138
158
|
{
|
|
139
159
|
name: 'xstyle',
|
|
140
160
|
type: 'StyleXStyles',
|
|
@@ -145,6 +165,8 @@ export const docs = {
|
|
|
145
165
|
theming: {
|
|
146
166
|
targets: [
|
|
147
167
|
{className: 'astryx-date-input', visualProps: ['size', 'status']},
|
|
168
|
+
{className: 'astryx-date-input-toggle-icon', states: ['state']},
|
|
169
|
+
{className: 'astryx-date-input-clear-icon'},
|
|
148
170
|
],
|
|
149
171
|
},
|
|
150
172
|
usage: {
|
|
@@ -377,6 +399,13 @@ export const docsZh = {
|
|
|
377
399
|
type: "{type: 'warning' | 'error' | 'success', message?: string}",
|
|
378
400
|
description: '错误、警告或成功状态的状态指示对象,附带消息。',
|
|
379
401
|
},
|
|
402
|
+
{
|
|
403
|
+
name: 'statusVariant',
|
|
404
|
+
type: "'attached' | 'detached' | 'tooltip'",
|
|
405
|
+
description:
|
|
406
|
+
'状态消息相对于输入框的放置方式。attached 直接叠加在输入框下方(带边框处理);detached 作为独立元素浮于下方并留有间距;tooltip 隐藏消息框,并在状态图标上以提示气泡形式显示。',
|
|
407
|
+
default: "'attached'",
|
|
408
|
+
},
|
|
380
409
|
{
|
|
381
410
|
name: 'labelTooltip',
|
|
382
411
|
type: 'string',
|
|
@@ -388,6 +417,13 @@ export const docsZh = {
|
|
|
388
417
|
description: '日历弹出层中同时显示的月份数量。',
|
|
389
418
|
default: '1',
|
|
390
419
|
},
|
|
420
|
+
{
|
|
421
|
+
name: 'format',
|
|
422
|
+
type: "'date' | 'date_long' | 'date_weekday' | 'system_date' | ((value: ISODateString) => string)",
|
|
423
|
+
description:
|
|
424
|
+
"已选日期的显示格式。命名值复用 Timestamp 的格式词汇:'date' 显示 'Mar 21, 2026','date_long' 显示 'March 21, 2026','date_weekday' 显示 'Wed, Mar 21, 2026','system_date' 显示 '2026-03-21'。函数接收 ISO 值并返回自定义字符串。仅作用于已提交的值,不影响正在输入的文本。",
|
|
425
|
+
default: "'date_long'",
|
|
426
|
+
},
|
|
391
427
|
{
|
|
392
428
|
name: 'xstyle',
|
|
393
429
|
type: 'StyleXStyles',
|
|
@@ -401,6 +437,8 @@ export const docsZh = {
|
|
|
401
437
|
className: 'astryx-date-input',
|
|
402
438
|
visualProps: ['size', 'status'],
|
|
403
439
|
},
|
|
440
|
+
{className: 'astryx-date-input-toggle-icon', states: ['state']},
|
|
441
|
+
{className: 'astryx-date-input-clear-icon'},
|
|
404
442
|
],
|
|
405
443
|
},
|
|
406
444
|
};
|
|
@@ -478,9 +516,12 @@ export const docsDense = {
|
|
|
478
516
|
placeholder: 'placeholder text in input',
|
|
479
517
|
size: 'input control size',
|
|
480
518
|
status: 'error/warning/success status w/ message',
|
|
519
|
+
statusVariant: 'How status message is placed: attached overlaps below input; detached floats below w/ spacing; tooltip hides the box and shows it on the status icon.',
|
|
481
520
|
labelTooltip: 'tooltip text via info icon at label end',
|
|
482
521
|
hasClear: 'Shows clear button when date is set. Clears value on click.',
|
|
483
522
|
numberOfMonths: 'months shown simultaneously in calendar popover',
|
|
523
|
+
format:
|
|
524
|
+
"committed-value display: 'date_long' (default, March 21, 2026), 'date' (Mar 21, 2026), 'date_weekday' (Wed, Mar 21, 2026), 'system_date' (2026-03-21), or (iso)=>string; reuses Timestamp vocabulary. Committed value only, not while typing.",
|
|
484
525
|
xstyle: 'StyleX styles for layout; must be stylex.create() value',
|
|
485
526
|
},
|
|
486
527
|
};
|
|
@@ -20,8 +20,11 @@ import {
|
|
|
20
20
|
import userEvent from '@testing-library/user-event';
|
|
21
21
|
import {getButton, queryButton} from '../__tests__/fastRoleQueries';
|
|
22
22
|
import {DateInput} from './DateInput';
|
|
23
|
+
import {Icon} from '../Icon';
|
|
23
24
|
import {InputGroup} from '../InputGroup';
|
|
24
25
|
import {InputGroupText} from '../InputGroup/InputGroupText';
|
|
26
|
+
import {defineTheme} from '../theme/defineTheme';
|
|
27
|
+
import {generateThemeCSSFlat} from '../theme/generateThemeRules';
|
|
25
28
|
|
|
26
29
|
describe('DateInput', () => {
|
|
27
30
|
it('renders with label', () => {
|
|
@@ -834,4 +837,339 @@ describe('DateInput', () => {
|
|
|
834
837
|
expect(input).not.toHaveAttribute('aria-disabled');
|
|
835
838
|
});
|
|
836
839
|
});
|
|
840
|
+
|
|
841
|
+
describe('format', () => {
|
|
842
|
+
it('defaults to the long-month date_long shape', () => {
|
|
843
|
+
// Non-breaking default: byte-identical to the historical hardcoded
|
|
844
|
+
// DATE_FORMAT_LONG rendering. `format` now defaults to 'date_long'.
|
|
845
|
+
render(<DateInput label="Date" value="2026-01-25" onChange={() => {}} />);
|
|
846
|
+
expect(screen.getByDisplayValue('January 25, 2026')).toBeInTheDocument();
|
|
847
|
+
});
|
|
848
|
+
|
|
849
|
+
it('renders the long-month shape for explicit format="date_long"', () => {
|
|
850
|
+
// Explicit date_long is identical to the unset default above and to the
|
|
851
|
+
// old hardcoded long-month output — real named parity with Timestamp.
|
|
852
|
+
render(
|
|
853
|
+
<DateInput
|
|
854
|
+
label="Date"
|
|
855
|
+
value="2026-01-25"
|
|
856
|
+
onChange={() => {}}
|
|
857
|
+
format="date_long"
|
|
858
|
+
/>,
|
|
859
|
+
);
|
|
860
|
+
expect(screen.getByDisplayValue('January 25, 2026')).toBeInTheDocument();
|
|
861
|
+
});
|
|
862
|
+
|
|
863
|
+
it('renders the short-month shape for format="date"', () => {
|
|
864
|
+
// Same literal + same shape as <Timestamp format="date" />.
|
|
865
|
+
render(
|
|
866
|
+
<DateInput
|
|
867
|
+
label="Date"
|
|
868
|
+
value="2026-01-25"
|
|
869
|
+
onChange={() => {}}
|
|
870
|
+
format="date"
|
|
871
|
+
/>,
|
|
872
|
+
);
|
|
873
|
+
expect(screen.getByDisplayValue('Jan 25, 2026')).toBeInTheDocument();
|
|
874
|
+
});
|
|
875
|
+
|
|
876
|
+
it('renders the ISO shape for format="system_date"', () => {
|
|
877
|
+
render(
|
|
878
|
+
<DateInput
|
|
879
|
+
label="Date"
|
|
880
|
+
value="2026-01-25"
|
|
881
|
+
onChange={() => {}}
|
|
882
|
+
format="system_date"
|
|
883
|
+
/>,
|
|
884
|
+
);
|
|
885
|
+
expect(screen.getByDisplayValue('2026-01-25')).toBeInTheDocument();
|
|
886
|
+
});
|
|
887
|
+
|
|
888
|
+
it('renders a weekday prefix for format="date_weekday"', () => {
|
|
889
|
+
render(
|
|
890
|
+
<DateInput
|
|
891
|
+
label="Date"
|
|
892
|
+
value="2026-01-25"
|
|
893
|
+
onChange={() => {}}
|
|
894
|
+
format="date_weekday"
|
|
895
|
+
/>,
|
|
896
|
+
);
|
|
897
|
+
// 2026-01-25 is a Sunday; assert the weekday-prefixed shape without
|
|
898
|
+
// over-fitting locale punctuation.
|
|
899
|
+
const input = screen.getByRole('combobox');
|
|
900
|
+
expect(input).toHaveValue('Sun, Jan 25, 2026');
|
|
901
|
+
});
|
|
902
|
+
|
|
903
|
+
it('supports a custom function format', () => {
|
|
904
|
+
render(
|
|
905
|
+
<DateInput
|
|
906
|
+
label="Date"
|
|
907
|
+
value="2026-01-25"
|
|
908
|
+
onChange={() => {}}
|
|
909
|
+
format={iso => `custom:${iso}`}
|
|
910
|
+
/>,
|
|
911
|
+
);
|
|
912
|
+
expect(screen.getByDisplayValue('custom:2026-01-25')).toBeInTheDocument();
|
|
913
|
+
});
|
|
914
|
+
|
|
915
|
+
it('does not apply format to in-progress typed input', async () => {
|
|
916
|
+
const user = userEvent.setup();
|
|
917
|
+
render(
|
|
918
|
+
<DateInput label="Date" onChange={() => {}} format="system_date" />,
|
|
919
|
+
);
|
|
920
|
+
const input = screen.getByRole('combobox');
|
|
921
|
+
await user.click(input);
|
|
922
|
+
await user.type(input, 'January 25');
|
|
923
|
+
// While typing, the raw text is shown verbatim — not reformatted.
|
|
924
|
+
expect(input).toHaveValue('January 25');
|
|
925
|
+
});
|
|
926
|
+
|
|
927
|
+
it('recomputes the display in format on external value change', () => {
|
|
928
|
+
const {rerender} = render(
|
|
929
|
+
<DateInput
|
|
930
|
+
label="Date"
|
|
931
|
+
value="2026-01-25"
|
|
932
|
+
onChange={() => {}}
|
|
933
|
+
format="date"
|
|
934
|
+
/>,
|
|
935
|
+
);
|
|
936
|
+
expect(screen.getByDisplayValue('Jan 25, 2026')).toBeInTheDocument();
|
|
937
|
+
rerender(
|
|
938
|
+
<DateInput
|
|
939
|
+
label="Date"
|
|
940
|
+
value="2026-03-10"
|
|
941
|
+
onChange={() => {}}
|
|
942
|
+
format="date"
|
|
943
|
+
/>,
|
|
944
|
+
);
|
|
945
|
+
expect(screen.getByDisplayValue('Mar 10, 2026')).toBeInTheDocument();
|
|
946
|
+
});
|
|
947
|
+
});
|
|
948
|
+
});
|
|
949
|
+
|
|
950
|
+
describe('DateInput statusVariant forwarding', () => {
|
|
951
|
+
it('defaults to attached (status renders with data-variant="attached")', () => {
|
|
952
|
+
const {container} = render(
|
|
953
|
+
<DateInput
|
|
954
|
+
label="Date"
|
|
955
|
+
onChange={() => {}}
|
|
956
|
+
status={{type: 'error', message: 'Bad date'}}
|
|
957
|
+
/>,
|
|
958
|
+
);
|
|
959
|
+
expect(container.querySelector('.astryx-field-status')).toHaveAttribute(
|
|
960
|
+
'data-variant',
|
|
961
|
+
'attached',
|
|
962
|
+
);
|
|
963
|
+
});
|
|
964
|
+
|
|
965
|
+
it('forwards statusVariant="detached" to the underlying Field status', () => {
|
|
966
|
+
const {container} = render(
|
|
967
|
+
<DateInput
|
|
968
|
+
label="Date"
|
|
969
|
+
onChange={() => {}}
|
|
970
|
+
status={{type: 'error', message: 'Bad date'}}
|
|
971
|
+
statusVariant="detached"
|
|
972
|
+
/>,
|
|
973
|
+
);
|
|
974
|
+
expect(container.querySelector('.astryx-field-status')).toHaveAttribute(
|
|
975
|
+
'data-variant',
|
|
976
|
+
'detached',
|
|
977
|
+
);
|
|
978
|
+
});
|
|
979
|
+
});
|
|
980
|
+
|
|
981
|
+
describe('DateInput clear icon theme target', () => {
|
|
982
|
+
// Resolve the clear glyph span (the astryx-icon element inside the clear
|
|
983
|
+
// button), independent of the theme target class.
|
|
984
|
+
const getClearIcon = (): HTMLElement => {
|
|
985
|
+
const button = getButton('Clear Date');
|
|
986
|
+
const icon = button.querySelector('.astryx-icon');
|
|
987
|
+
if (icon == null) {
|
|
988
|
+
throw new Error('clear icon not found');
|
|
989
|
+
}
|
|
990
|
+
return icon as HTMLElement;
|
|
991
|
+
};
|
|
992
|
+
|
|
993
|
+
it('renders the astryx-date-input-clear-icon target on the clear glyph', () => {
|
|
994
|
+
render(
|
|
995
|
+
<DateInput
|
|
996
|
+
label="Date"
|
|
997
|
+
value="2026-01-15"
|
|
998
|
+
onChange={() => {}}
|
|
999
|
+
hasClear
|
|
1000
|
+
/>,
|
|
1001
|
+
);
|
|
1002
|
+
// The stable theme target lands on the icon element itself (not the
|
|
1003
|
+
// button), so a theme can restyle just this glyph (color, size, hover)
|
|
1004
|
+
// via `defineTheme` — a button-level target could not reach the icon's
|
|
1005
|
+
// own color/size.
|
|
1006
|
+
const icon = getClearIcon();
|
|
1007
|
+
expect(icon).toHaveClass('astryx-date-input-clear-icon');
|
|
1008
|
+
expect(icon).toHaveClass('astryx-icon');
|
|
1009
|
+
});
|
|
1010
|
+
|
|
1011
|
+
it('keeps the clear button functional alongside the target', () => {
|
|
1012
|
+
const onChange = vi.fn();
|
|
1013
|
+
render(
|
|
1014
|
+
<DateInput
|
|
1015
|
+
label="Date"
|
|
1016
|
+
value="2026-01-15"
|
|
1017
|
+
onChange={onChange}
|
|
1018
|
+
hasClear
|
|
1019
|
+
/>,
|
|
1020
|
+
);
|
|
1021
|
+
const clear = getButton('Clear Date');
|
|
1022
|
+
expect(clear.tagName).toBe('BUTTON');
|
|
1023
|
+
fireEvent.click(clear);
|
|
1024
|
+
expect(onChange).toHaveBeenCalledWith(undefined);
|
|
1025
|
+
});
|
|
1026
|
+
|
|
1027
|
+
it('renders the default icon (secondary color, sm size) byte-identically', () => {
|
|
1028
|
+
// Pixel-identical default guard: the clear glyph must carry the exact same
|
|
1029
|
+
// StyleX color/size classes as a standalone secondary/sm icon. The added
|
|
1030
|
+
// target class is purely additive — it changes nothing until a theme
|
|
1031
|
+
// targets it.
|
|
1032
|
+
render(
|
|
1033
|
+
<DateInput
|
|
1034
|
+
label="Date"
|
|
1035
|
+
value="2026-01-15"
|
|
1036
|
+
onChange={() => {}}
|
|
1037
|
+
hasClear
|
|
1038
|
+
/>,
|
|
1039
|
+
);
|
|
1040
|
+
const icon = getClearIcon();
|
|
1041
|
+
|
|
1042
|
+
const {container: refContainer} = render(
|
|
1043
|
+
<Icon icon="close" size="sm" color="secondary" />,
|
|
1044
|
+
);
|
|
1045
|
+
const refIcon = refContainer.querySelector('.astryx-icon') as HTMLElement;
|
|
1046
|
+
|
|
1047
|
+
const styleClasses = (el: HTMLElement) =>
|
|
1048
|
+
el.className
|
|
1049
|
+
.split(' ')
|
|
1050
|
+
.filter(c => c !== 'astryx-date-input-clear-icon')
|
|
1051
|
+
.sort();
|
|
1052
|
+
|
|
1053
|
+
expect(styleClasses(icon)).toEqual(styleClasses(refIcon));
|
|
1054
|
+
});
|
|
1055
|
+
|
|
1056
|
+
it('exposes date-input-clear-icon so a theme reaches the icon color, size, and hover', () => {
|
|
1057
|
+
// jsdom cannot resolve the @layer cascade, so the DOM-class assertion above
|
|
1058
|
+
// (target lands on the icon element) plus this generation assertion (the
|
|
1059
|
+
// theme emits same-element icon rules in @layer astryx-theme) together
|
|
1060
|
+
// prove the seam: a same-element theme rule wins over the icon's own
|
|
1061
|
+
// base-layer color/size.
|
|
1062
|
+
const theme = defineTheme({
|
|
1063
|
+
name: 'date-input-clear-icon-test',
|
|
1064
|
+
components: {
|
|
1065
|
+
'date-input-clear-icon': {
|
|
1066
|
+
base: {
|
|
1067
|
+
width: '12px',
|
|
1068
|
+
height: '12px',
|
|
1069
|
+
fontSize: '12px',
|
|
1070
|
+
color: 'var(--color-icon-secondary)',
|
|
1071
|
+
':hover': {color: 'var(--color-icon-primary)'},
|
|
1072
|
+
},
|
|
1073
|
+
},
|
|
1074
|
+
},
|
|
1075
|
+
});
|
|
1076
|
+
const css = generateThemeCSSFlat(theme);
|
|
1077
|
+
expect(css).toContain('.astryx-date-input-clear-icon {');
|
|
1078
|
+
expect(css).toContain('width: 12px');
|
|
1079
|
+
expect(css).toContain('height: 12px');
|
|
1080
|
+
expect(css).toContain('.astryx-date-input-clear-icon:hover {');
|
|
1081
|
+
expect(css).toContain('color: var(--color-icon-primary)');
|
|
1082
|
+
});
|
|
1083
|
+
});
|
|
1084
|
+
|
|
1085
|
+
describe('DateInput calendar-toggle icon theme target', () => {
|
|
1086
|
+
const iconIn = (button: HTMLElement): HTMLElement => {
|
|
1087
|
+
const icon = button.querySelector('.astryx-icon');
|
|
1088
|
+
if (icon == null) {
|
|
1089
|
+
throw new Error('toggle icon not found');
|
|
1090
|
+
}
|
|
1091
|
+
return icon as HTMLElement;
|
|
1092
|
+
};
|
|
1093
|
+
|
|
1094
|
+
it('renders the astryx-date-input-toggle-icon target on the toggle glyph', () => {
|
|
1095
|
+
render(<DateInput label="Date" onChange={() => {}} />);
|
|
1096
|
+
const icon = iconIn(getButton('Open calendar'));
|
|
1097
|
+
// The stable theme target lands on the icon element itself (not the
|
|
1098
|
+
// button), so a theme can restyle just this glyph (color, size, hover) —
|
|
1099
|
+
// and each open/closed state — via `defineTheme`. A button-level target
|
|
1100
|
+
// could not reach the icon's own color/size.
|
|
1101
|
+
expect(icon).toHaveClass('astryx-date-input-toggle-icon');
|
|
1102
|
+
expect(icon).toHaveClass('astryx-icon');
|
|
1103
|
+
// Open/closed state is reflected so a theme can target each state alone.
|
|
1104
|
+
expect(icon).toHaveAttribute('data-state', 'collapsed');
|
|
1105
|
+
});
|
|
1106
|
+
|
|
1107
|
+
it('reflects the expanded state on the toggle icon when the popover is open', async () => {
|
|
1108
|
+
render(<DateInput label="Date" onChange={() => {}} />);
|
|
1109
|
+
// Capture the toggle before opening — its aria-label changes to the close
|
|
1110
|
+
// label once open, but the element reference (and its icon) is stable.
|
|
1111
|
+
const toggle = getButton('Open calendar');
|
|
1112
|
+
fireEvent.click(toggle);
|
|
1113
|
+
await waitFor(() => {
|
|
1114
|
+
expect(iconIn(toggle)).toHaveAttribute('data-state', 'expanded');
|
|
1115
|
+
});
|
|
1116
|
+
});
|
|
1117
|
+
|
|
1118
|
+
it('keeps the calendar-toggle button functional alongside the target', () => {
|
|
1119
|
+
render(<DateInput label="Date" onChange={() => {}} />);
|
|
1120
|
+
const toggle = getButton('Open calendar');
|
|
1121
|
+
expect(toggle.tagName).toBe('BUTTON');
|
|
1122
|
+
});
|
|
1123
|
+
|
|
1124
|
+
it('renders the default icon (secondary color, sm size) byte-identically', () => {
|
|
1125
|
+
// Pixel-identical default guard: the toggle glyph must carry the exact same
|
|
1126
|
+
// StyleX color/size classes as a standalone secondary/sm icon. The added
|
|
1127
|
+
// target class + data-state are purely additive — they change nothing until
|
|
1128
|
+
// a theme targets them.
|
|
1129
|
+
render(<DateInput label="Date" onChange={() => {}} />);
|
|
1130
|
+
const icon = iconIn(getButton('Open calendar'));
|
|
1131
|
+
|
|
1132
|
+
const {container: refContainer} = render(
|
|
1133
|
+
<Icon icon="calendar" size="sm" color="secondary" />,
|
|
1134
|
+
);
|
|
1135
|
+
const refIcon = refContainer.querySelector('.astryx-icon') as HTMLElement;
|
|
1136
|
+
|
|
1137
|
+
// Exclude the additive theme-target classes (the stable target + its
|
|
1138
|
+
// reflected state class) so only the StyleX color/size classes remain.
|
|
1139
|
+
const themeTargetClasses = new Set([
|
|
1140
|
+
'astryx-date-input-toggle-icon',
|
|
1141
|
+
'collapsed',
|
|
1142
|
+
'expanded',
|
|
1143
|
+
]);
|
|
1144
|
+
const styleClasses = (el: HTMLElement) =>
|
|
1145
|
+
el.className
|
|
1146
|
+
.split(' ')
|
|
1147
|
+
.filter(c => !themeTargetClasses.has(c))
|
|
1148
|
+
.sort();
|
|
1149
|
+
|
|
1150
|
+
expect(styleClasses(icon)).toEqual(styleClasses(refIcon));
|
|
1151
|
+
});
|
|
1152
|
+
|
|
1153
|
+
it('exposes date-input-toggle-icon so a theme reaches the icon size and per-state color', () => {
|
|
1154
|
+
// jsdom cannot resolve the @layer cascade, so the DOM-class assertions
|
|
1155
|
+
// above (target lands on the icon element) plus this generation assertion
|
|
1156
|
+
// (the theme emits same-element icon rules in @layer astryx-theme) together
|
|
1157
|
+
// prove the seam: a same-element theme rule wins over the icon's own
|
|
1158
|
+
// base-layer color/size.
|
|
1159
|
+
const theme = defineTheme({
|
|
1160
|
+
name: 'date-input-toggle-icon-test',
|
|
1161
|
+
components: {
|
|
1162
|
+
'date-input-toggle-icon': {
|
|
1163
|
+
base: {width: '14px', height: '14px', fontSize: '14px'},
|
|
1164
|
+
'state:expanded': {color: 'var(--color-icon-primary)'},
|
|
1165
|
+
},
|
|
1166
|
+
},
|
|
1167
|
+
});
|
|
1168
|
+
const css = generateThemeCSSFlat(theme);
|
|
1169
|
+
expect(css).toContain('.astryx-date-input-toggle-icon {');
|
|
1170
|
+
expect(css).toContain('width: 14px');
|
|
1171
|
+
expect(css).toContain('height: 14px');
|
|
1172
|
+
expect(css).toContain('.astryx-date-input-toggle-icon.expanded');
|
|
1173
|
+
expect(css).toContain('color: var(--color-icon-primary)');
|
|
1174
|
+
});
|
|
837
1175
|
});
|