@astryxdesign/core 0.4.7 → 0.5.0-canary.009bcb3
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 +161 -1
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +45 -20
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +3 -2
- package/dist/AspectRatio/AspectRatio.d.ts +24 -0
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +23 -4
- package/dist/Avatar/Avatar.d.ts +25 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +58 -19
- package/dist/Avatar/index.d.ts +2 -2
- package/dist/Avatar/index.d.ts.map +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts +9 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +8 -4
- package/dist/AvatarGroup/AvatarGroupContext.d.ts +2 -1
- package/dist/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +10 -6
- package/dist/Banner/Banner.d.ts +49 -15
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +62 -20
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +17 -4
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +3 -2
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +11 -10
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +11 -6
- package/dist/ButtonGroup/ButtonGroup.d.ts +5 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +26 -7
- package/dist/Calendar/Calendar.d.ts +7 -3
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +21 -23
- package/dist/Calendar/getInitialFocusDate.d.ts +46 -0
- package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -0
- package/dist/Calendar/getInitialFocusDate.js +62 -0
- package/dist/Calendar/styles.d.ts +5 -14
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +15 -15
- package/dist/Card/Card.d.ts +12 -12
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +17 -9
- package/dist/Card/index.d.ts +35 -1
- package/dist/Card/index.d.ts.map +1 -1
- package/dist/Card/index.js +21 -1
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +3 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +2 -3
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +3 -3
- package/dist/Chat/ChatMessageList.d.ts +22 -3
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +6 -3
- package/dist/Chat/ChatTokenizedText.d.ts +2 -0
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +11 -6
- package/dist/Chat/useChatComposerTokens.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +10 -3
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +3 -3
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +15 -4
- package/dist/CodeBlock/highlightRanges.js +1 -1
- package/dist/CodeBlock/highlightStyles.js +13 -13
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +3 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +3 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +1 -3
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +4 -3
- package/dist/DateInput/DateInput.d.ts +43 -0
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +22 -2
- package/dist/DateInput/NativeDateField.d.ts +10 -0
- package/dist/DateInput/NativeDateField.d.ts.map +1 -0
- package/dist/DateInput/NativeDateField.js +494 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +82 -23
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.d.ts.map +1 -1
- package/dist/DateInput/nativeDateSegments.d.ts +22 -0
- package/dist/DateInput/nativeDateSegments.d.ts.map +1 -0
- package/dist/DateInput/nativeDateSegments.js +111 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts +21 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +406 -12
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.d.ts +21 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +110 -58
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +4 -13
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +6 -5
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +9 -1
- package/dist/Field/InputClearButton.d.ts +9 -3
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +14 -3
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +3 -2
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +6 -3
- package/dist/HoverCard/HoverCard.d.ts +6 -0
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +104 -3
- package/dist/HoverCard/useHoverCard.d.ts +19 -2
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +74 -26
- package/dist/Indicator/CheckboxIndicator.d.ts.map +1 -1
- package/dist/Indicator/CheckboxIndicator.js +6 -2
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +4 -2
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +2 -19
- package/dist/Layer/LayerDepthContext.d.ts +52 -0
- package/dist/Layer/LayerDepthContext.d.ts.map +1 -0
- package/dist/Layer/LayerDepthContext.js +66 -0
- package/dist/Layer/gestureCounter.d.ts +8 -0
- package/dist/Layer/gestureCounter.d.ts.map +1 -0
- package/dist/Layer/gestureCounter.js +53 -0
- package/dist/Layer/index.d.ts +3 -0
- package/dist/Layer/index.d.ts.map +1 -1
- package/dist/Layer/index.js +4 -0
- package/dist/Layer/layerStack.d.ts +98 -0
- package/dist/Layer/layerStack.d.ts.map +1 -0
- package/dist/Layer/layerStack.js +306 -0
- package/dist/Layer/useLayer.d.ts +23 -13
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +128 -8
- package/dist/Layer/useLayerDismissal.d.ts +93 -0
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -0
- package/dist/Layer/useLayerDismissal.js +91 -0
- package/dist/Lightbox/Lightbox.d.ts +1 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +103 -81
- package/dist/List/List.d.ts +1 -1
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +15 -4
- package/dist/Markdown/Markdown.d.ts +1 -1
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +20 -7
- package/dist/Markdown/index.d.ts +1 -1
- package/dist/Markdown/index.d.ts.map +1 -1
- package/dist/Markdown/parser.d.ts +38 -1
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +182 -32
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/MetadataList/MetadataListItem.js +4 -1
- package/dist/MobileNav/MobileNav.d.ts +6 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +61 -36
- package/dist/MultiSelector/MultiSelector.d.ts +32 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +73 -15
- package/dist/MultiSelector/hooks.d.ts +7 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +3 -2
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.d.ts.map +1 -1
- package/dist/NavIcon/NavIcon.d.ts.map +1 -1
- package/dist/NavIcon/NavIcon.js +5 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts +1 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +9 -5
- package/dist/NumberInput/NumberInput.d.ts +6 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +54 -104
- package/dist/NumberInput/numberInputCommit.d.ts +34 -0
- package/dist/NumberInput/numberInputCommit.d.ts.map +1 -0
- package/dist/NumberInput/numberInputCommit.js +71 -0
- package/dist/NumberInput/numberParser.d.ts +64 -0
- package/dist/NumberInput/numberParser.d.ts.map +1 -0
- package/dist/NumberInput/numberParser.js +350 -0
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +3 -2
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -2
- package/dist/Overlay/Overlay.d.ts.map +1 -1
- package/dist/Overlay/Overlay.js +3 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +1 -9
- package/dist/Popover/usePopover.d.ts +7 -41
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +40 -21
- package/dist/PowerSearch/PowerSearch.d.ts +8 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +19 -6
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +28 -6
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +110 -27
- package/dist/PowerSearch/types.d.ts +2 -0
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts +6 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.js +14 -5
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +18 -5
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +3 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +3 -2
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +12 -3
- package/dist/Selector/Selector.d.ts +18 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +91 -18
- package/dist/Selector/hooks.d.ts +7 -1
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +3 -2
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +4 -3
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +8 -7
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +4 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +37 -5
- package/dist/Spinner/Spinner.d.ts +3 -3
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +130 -78
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +6 -1
- package/dist/Stepper/Step.d.ts +140 -0
- package/dist/Stepper/Step.d.ts.map +1 -0
- package/dist/Stepper/Step.js +1045 -0
- package/dist/Stepper/StepStatus.d.ts +24 -0
- package/dist/Stepper/StepStatus.d.ts.map +1 -0
- package/dist/Stepper/StepStatus.js +1 -0
- package/dist/Stepper/Stepper.d.ts +93 -0
- package/dist/Stepper/Stepper.d.ts.map +1 -0
- package/dist/Stepper/Stepper.js +184 -0
- package/dist/Stepper/StepperContext.d.ts +41 -0
- package/dist/Stepper/StepperContext.d.ts.map +1 -0
- package/dist/Stepper/StepperContext.js +34 -0
- package/dist/Stepper/index.d.ts +8 -0
- package/dist/Stepper/index.d.ts.map +1 -0
- package/dist/Stepper/index.js +7 -0
- package/dist/Stepper/stepper.stylex.d.ts +15 -0
- package/dist/Stepper/stepper.stylex.d.ts.map +1 -0
- package/dist/Stepper/stepper.stylex.js +20 -0
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +8 -3
- package/dist/TabList/Tab.d.ts +15 -2
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +32 -7
- package/dist/TabList/TabList.d.ts +46 -7
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +353 -23
- package/dist/TabList/TabListContext.d.ts +11 -1
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +11 -2
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +3 -2
- package/dist/TabList/index.d.ts +2 -2
- package/dist/TabList/index.d.ts.map +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +10 -2
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +3 -6
- package/dist/Table/TableRow.d.ts +16 -5
- package/dist/Table/TableRow.d.ts.map +1 -1
- package/dist/Table/TableRow.js +16 -5
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +73 -4
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +26 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +54 -11
- package/dist/Table/plugins/pagination/useTablePagination.d.ts +3 -0
- package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +21 -4
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +7 -2
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -1
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +10 -3
- package/dist/Table/plugins/selection/useTableSelection.d.ts +16 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +43 -5
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +3 -4
- package/dist/Table/types.d.ts +22 -4
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +5 -0
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +6 -3
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +16 -10
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +3 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +3 -2
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +15 -21
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +22 -7
- package/dist/Toast/ToastViewport.d.ts +1 -0
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +71 -18
- package/dist/Token/Token.d.ts +1 -1
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +20 -9
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +7 -4
- package/dist/Tokenizer/Tokenizer.d.ts +14 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +33 -21
- package/dist/Tooltip/Tooltip.d.ts +5 -0
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.d.ts +5 -0
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +39 -24
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +5 -4
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +31 -11
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +22 -7
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +7 -2
- package/dist/Typeahead/BaseTypeahead.d.ts +35 -0
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +119 -37
- package/dist/Typeahead/Typeahead.d.ts +8 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +5 -2
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/Typeahead/TypeaheadItem.js +7 -2
- package/dist/astryx.css +113 -11
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +7 -4
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +60 -95
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -18
- package/dist/hooks/useMergedRefs.d.ts +18 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +25 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +46 -10
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +24 -4
- package/dist/theme/generateThemeRules.d.ts +21 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +26 -0
- package/dist/theme/syntax/tokens.d.ts +1 -1
- package/dist/theme/syntax/tokens.d.ts.map +1 -1
- package/dist/theme/syntax/tokens.js +5 -2
- package/dist/utils/groupItems.d.ts +5 -1
- package/dist/utils/groupItems.d.ts.map +1 -1
- package/dist/utils/groupItems.js +9 -9
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/isApplePlatform.d.ts +18 -0
- package/dist/utils/isApplePlatform.d.ts.map +1 -0
- package/dist/utils/isApplePlatform.js +37 -0
- package/dist/utils/sharedResizeObserver.d.ts.map +1 -1
- package/dist/utils/sharedResizeObserver.js +10 -1
- package/dist/utils/timeParser.d.ts +1 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +26 -12
- package/locales/af-ZA.json +6 -6
- package/locales/ar-SA.json +6 -6
- package/locales/ca-ES.json +5 -5
- package/locales/cs-CZ.json +6 -6
- package/locales/da-DK.json +6 -6
- package/locales/de-DE.json +6 -6
- package/locales/el-GR.json +6 -6
- package/locales/en.json +163 -11
- package/locales/es-ES.json +5 -5
- package/locales/fi-FI.json +6 -6
- package/locales/fr-FR.json +6 -6
- package/locales/he-IL.json +6 -6
- package/locales/hu-HU.json +6 -6
- package/locales/it-IT.json +6 -6
- package/locales/ja-JP.json +6 -6
- package/locales/ko-KR.json +6 -6
- package/locales/nl-NL.json +6 -6
- package/locales/no-NO.json +6 -6
- package/locales/pl-PL.json +6 -6
- package/locales/pseudo.json +114 -0
- package/locales/pt-BR.json +6 -6
- package/locales/pt-PT.json +6 -6
- package/locales/ro-RO.json +6 -6
- package/locales/ru-RU.json +6 -6
- package/locales/sr-SP.json +6 -6
- package/locales/sv-SE.json +6 -6
- package/locales/tr-TR.json +6 -6
- package/locales/uk-UA.json +6 -6
- package/locales/vi-VN.json +6 -6
- package/locales/zh-CN.json +6 -6
- package/locales/zh-TW.json +6 -6
- package/package.json +8 -3
- package/src/AlertDialog/AlertDialog.doc.mjs +114 -30
- package/src/AlertDialog/AlertDialog.test.tsx +211 -2
- package/src/AlertDialog/AlertDialog.tsx +62 -20
- package/src/AppShell/AppShell.tsx +3 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +6 -3
- package/src/AspectRatio/AspectRatio.test.tsx +57 -10
- package/src/AspectRatio/AspectRatio.tsx +40 -1
- package/src/Avatar/Avatar.doc.mjs +14 -3
- package/src/Avatar/Avatar.test.tsx +97 -0
- package/src/Avatar/Avatar.tsx +125 -52
- package/src/Avatar/index.ts +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +8 -2
- package/src/AvatarGroup/AvatarGroup.test.tsx +24 -0
- package/src/AvatarGroup/AvatarGroup.tsx +15 -6
- package/src/AvatarGroup/AvatarGroupContext.ts +5 -3
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +10 -4
- package/src/Banner/Banner.doc.mjs +22 -11
- package/src/Banner/Banner.test.tsx +177 -25
- package/src/Banner/Banner.tsx +93 -27
- package/src/BottomSheet/BottomSheet.test.tsx +123 -0
- package/src/BottomSheet/BottomSheet.tsx +17 -4
- package/src/BottomSheet/BottomSheetSwitcher.tsx +3 -2
- package/src/Breadcrumbs/BreadcrumbItem.tsx +9 -5
- package/src/Button/Button.doc.mjs +24 -1
- package/src/Button/Button.test.tsx +32 -4
- package/src/Button/Button.tsx +12 -5
- package/src/ButtonGroup/ButtonGroup.doc.mjs +10 -1
- package/src/ButtonGroup/ButtonGroup.test.tsx +404 -1
- package/src/ButtonGroup/ButtonGroup.tsx +23 -5
- package/src/Calendar/Calendar.doc.mjs +7 -6
- package/src/Calendar/Calendar.test.tsx +143 -0
- package/src/Calendar/Calendar.tsx +30 -26
- package/src/Calendar/getInitialFocusDate.test.ts +94 -0
- package/src/Calendar/getInitialFocusDate.ts +93 -0
- package/src/Calendar/styles.ts +49 -31
- package/src/Card/Card.doc.mjs +10 -7
- package/src/Card/Card.test.tsx +113 -19
- package/src/Card/Card.tsx +67 -89
- package/src/Card/index.ts +36 -1
- package/src/Carousel/Carousel.tsx +3 -2
- package/src/Chat/ChatComposerInput.tsx +5 -1
- package/src/Chat/ChatLayout.tsx +3 -2
- package/src/Chat/ChatMessageList.doc.mjs +9 -1
- package/src/Chat/ChatMessageList.test.tsx +46 -0
- package/src/Chat/ChatMessageList.tsx +28 -4
- package/src/Chat/ChatTokenizedText.tsx +17 -10
- package/src/Chat/useChatComposerTokens.ts +1 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +2 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +15 -0
- package/src/CheckboxInput/CheckboxInput.tsx +8 -2
- package/src/ClickableCard/ClickableCard.tsx +3 -2
- package/src/CodeBlock/CodeBlock.doc.mjs +16 -4
- package/src/CodeBlock/CodeBlock.test.tsx +37 -0
- package/src/CodeBlock/CodeBlock.tsx +20 -4
- package/src/CodeBlock/highlightRanges.ts +1 -1
- package/src/CodeBlock/highlightStyles.ts +13 -13
- package/src/CommandPalette/CommandPaletteInput.tsx +3 -2
- package/src/CommandPalette/CommandPaletteItem.tsx +3 -2
- package/src/ComplexSelector/ComplexSelector.test.tsx +32 -0
- package/src/ComplexSelector/ComplexSelector.tsx +1 -3
- package/src/ContextMenu/ContextMenu.doc.mjs +5 -0
- package/src/ContextMenu/ContextMenu.tsx +4 -3
- package/src/DateInput/DateInput.doc.mjs +16 -0
- package/src/DateInput/DateInput.tsx +55 -2
- package/src/DateInput/DateInputTouch.test.tsx +146 -32
- package/src/DateInput/NativeDateField.test.tsx +635 -0
- package/src/DateInput/NativeDateField.tsx +641 -0
- package/src/DateInput/TouchDateField.tsx +108 -24
- package/src/DateInput/index.ts +1 -0
- package/src/DateInput/nativeDateSegments.ts +127 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
- package/src/DateRangeInput/DateRangeInput.test.tsx +22 -0
- package/src/DateRangeInput/DateRangeInput.tsx +4 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +18 -0
- package/src/DateTimeInput/DateTimeInput.test.tsx +1088 -0
- package/src/DateTimeInput/DateTimeInput.tsx +556 -24
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.mjs +8 -3
- package/src/Dialog/Dialog.test.tsx +429 -2
- package/src/Dialog/Dialog.tsx +133 -58
- package/src/DropdownMenu/DropdownMenu.doc.mjs +6 -0
- package/src/DropdownMenu/DropdownMenu.test.tsx +44 -10
- package/src/DropdownMenu/DropdownMenu.tsx +4 -13
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +8 -5
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +8 -11
- package/src/Field/Field.doc.mjs +13 -2
- package/src/Field/FieldLabel.test.tsx +29 -0
- package/src/Field/FieldLabel.tsx +7 -0
- package/src/Field/InputClearButton.test.tsx +15 -1
- package/src/Field/InputClearButton.tsx +28 -4
- package/src/FileInput/FileInput.tsx +3 -2
- package/src/Heading/Heading.test.tsx +23 -1
- package/src/Heading/Heading.tsx +6 -3
- package/src/HoverCard/HoverCard.doc.mjs +13 -2
- package/src/HoverCard/HoverCard.test.tsx +154 -4
- package/src/HoverCard/HoverCard.tsx +143 -3
- package/src/HoverCard/useHoverCard.tsx +104 -33
- package/src/Indicator/CheckboxIndicator.tsx +14 -8
- package/src/Indicator/Indicator.doc.mjs +2 -0
- package/src/Item/Item.tsx +5 -4
- package/src/Kbd/Kbd.tsx +2 -19
- package/src/Layer/LayerDepthContext.tsx +62 -0
- package/src/Layer/gestureCounter.ts +57 -0
- package/src/Layer/index.ts +9 -0
- package/src/Layer/layerDismissalFamilies.test.tsx +359 -0
- package/src/Layer/layerDismissalInvariants.test.tsx +417 -0
- package/src/Layer/layerStack.ts +362 -0
- package/src/Layer/useLayer.test.tsx +324 -15
- package/src/Layer/useLayer.tsx +164 -8
- package/src/Layer/useLayerDismissal.test.tsx +469 -0
- package/src/Layer/useLayerDismissal.ts +173 -0
- package/src/Layout/Layout.doc.mjs +2 -2
- package/src/Layout/__tests__/edgeCompensation.test.tsx +1 -1
- package/src/Lightbox/Lightbox.doc.mjs +12 -0
- package/src/Lightbox/Lightbox.tsx +124 -102
- package/src/Link/Link.doc.mjs +39 -0
- package/src/List/List.test.tsx +38 -0
- package/src/List/List.tsx +8 -1
- package/src/Markdown/Markdown.doc.mjs +5 -0
- package/src/Markdown/Markdown.test.tsx +37 -0
- package/src/Markdown/Markdown.tsx +16 -5
- package/src/Markdown/incremental.test.ts +16 -2
- package/src/Markdown/index.ts +1 -0
- package/src/Markdown/parser.perf.test.ts +96 -1
- package/src/Markdown/parser.test.ts +178 -2
- package/src/Markdown/parser.ts +253 -32
- package/src/MetadataList/MetadataList.test.tsx +75 -2
- package/src/MetadataList/MetadataListItem.tsx +5 -2
- package/src/MobileNav/MobileNav.tsx +62 -36
- package/src/MoreMenu/MoreMenu.doc.mjs +7 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +49 -1
- package/src/MultiSelector/MultiSelector.test.tsx +311 -0
- package/src/MultiSelector/MultiSelector.tsx +151 -15
- package/src/MultiSelector/hooks.ts +9 -2
- package/src/MultiSelector/index.ts +1 -0
- package/src/NavIcon/NavIcon.doc.mjs +8 -2
- package/src/NavIcon/NavIcon.test.tsx +9 -0
- package/src/NavIcon/NavIcon.tsx +5 -1
- package/src/NavMenu/NavHeadingMenu.test.tsx +30 -0
- package/src/NavMenu/NavHeadingMenu.tsx +9 -5
- package/src/NumberInput/NumberInput.doc.mjs +31 -7
- package/src/NumberInput/NumberInput.test.tsx +436 -8
- package/src/NumberInput/NumberInput.tsx +62 -114
- package/src/NumberInput/numberInputCommit.test.ts +72 -0
- package/src/NumberInput/numberInputCommit.ts +103 -0
- package/src/NumberInput/numberParser.docblock.test.ts +234 -0
- package/src/NumberInput/numberParser.test.ts +222 -0
- package/src/NumberInput/numberParser.ts +403 -0
- package/src/Outline/Outline.tsx +3 -2
- package/src/OverflowList/OverflowList.tsx +3 -2
- package/src/Overlay/Overlay.tsx +3 -2
- package/src/Pagination/Pagination.test.tsx +3 -2
- package/src/Popover/Popover.test.tsx +14 -0
- package/src/Popover/Popover.tsx +1 -9
- package/src/Popover/usePopover.tsx +57 -32
- package/src/PowerSearch/PowerSearch.doc.mjs +160 -28
- package/src/PowerSearch/PowerSearch.test.tsx +240 -1
- package/src/PowerSearch/PowerSearch.tsx +34 -5
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +288 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +29 -2
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +111 -1
- package/src/PowerSearch/PowerSearchValueEditor.tsx +124 -10
- package/src/PowerSearch/types.ts +2 -0
- package/src/PowerSearch/usePowerSearchSource.test.ts +82 -2
- package/src/PowerSearch/usePowerSearchSource.ts +13 -3
- package/src/ProgressBar/ProgressBar.doc.mjs +42 -6
- package/src/ProgressBar/ProgressBar.test.tsx +24 -0
- package/src/ProgressBar/ProgressBar.tsx +28 -8
- package/src/Resizable/ResizeHandle.tsx +3 -2
- package/src/SegmentedControl/SegmentedControl.tsx +3 -2
- package/src/SelectableCard/SelectableCard.doc.mjs +3 -0
- package/src/SelectableCard/SelectableCard.tsx +19 -2
- package/src/Selector/Selector.doc.mjs +26 -1
- package/src/Selector/Selector.test.tsx +346 -1
- package/src/Selector/Selector.tsx +148 -21
- package/src/Selector/hooks.ts +17 -2
- package/src/SideNav/SideNav.doc.mjs +6 -6
- package/src/SideNav/SideNav.tsx +4 -2
- package/src/SideNav/SideNavHeading.tsx +12 -12
- package/src/SideNav/SideNavItem.tsx +4 -2
- package/src/Slider/Slider.test.tsx +106 -1
- package/src/Slider/Slider.tsx +55 -3
- package/src/Spinner/Spinner.test.tsx +147 -1
- package/src/Spinner/Spinner.tsx +120 -101
- package/src/StatusDot/StatusDot.doc.mjs +8 -2
- package/src/StatusDot/StatusDot.test.tsx +9 -0
- package/src/StatusDot/StatusDot.tsx +7 -1
- package/src/Stepper/Step.doc.mjs +98 -0
- package/src/Stepper/Step.tsx +1638 -0
- package/src/Stepper/StepStatus.ts +26 -0
- package/src/Stepper/Stepper.doc.mjs +370 -0
- package/src/Stepper/Stepper.test.tsx +1024 -0
- package/src/Stepper/Stepper.tsx +258 -0
- package/src/Stepper/StepperContext.ts +71 -0
- package/src/Stepper/index.ts +18 -0
- package/src/Stepper/stepper.stylex.ts +19 -0
- package/src/Switch/Switch.doc.mjs +2 -0
- package/src/Switch/Switch.test.tsx +10 -0
- package/src/Switch/Switch.tsx +6 -2
- package/src/TabList/Tab.doc.mjs +13 -1
- package/src/TabList/Tab.tsx +67 -7
- package/src/TabList/TabList.doc.mjs +22 -6
- package/src/TabList/TabList.test.tsx +559 -0
- package/src/TabList/TabList.tsx +490 -22
- package/src/TabList/TabListContext.ts +13 -2
- package/src/TabList/TabMenu.tsx +3 -2
- package/src/TabList/index.ts +6 -2
- package/src/Table/BaseTable.tsx +12 -4
- package/src/Table/Table.doc.mjs +9 -2
- package/src/Table/Table.test.tsx +132 -14
- package/src/Table/Table.tsx +3 -8
- package/src/Table/TableBody.doc.mjs +40 -0
- package/src/Table/TableFooter.doc.mjs +40 -0
- package/src/Table/TableHeader.doc.mjs +40 -0
- package/src/Table/TableRow.tsx +16 -5
- package/src/Table/plugins/filtering/useTableFiltering.test.tsx +44 -6
- package/src/Table/plugins/filtering/useTableFiltering.tsx +100 -4
- package/src/Table/plugins/groupedRows/useTableGroupedRows-perf.test.tsx +112 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +100 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +67 -12
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +34 -4
- package/src/Table/plugins/pagination/useTablePagination.tsx +35 -3
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +9 -2
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +13 -7
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +12 -3
- package/src/Table/plugins/selection/useTableSelection.test.tsx +138 -0
- package/src/Table/plugins/selection/useTableSelection.tsx +63 -7
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
- package/src/Table/types.ts +22 -4
- package/src/Table/useBaseTablePlugins.ts +5 -0
- package/src/Table/useTableGroupedRows.doc.mjs +5 -4
- package/src/Table/useTablePagination.doc.mjs +7 -0
- package/src/Table/useTableRowStatus.doc.mjs +1 -1
- package/src/Table/useTableSelection.doc.mjs +31 -0
- package/src/Text/Text.test.tsx +67 -1
- package/src/Text/Text.tsx +6 -3
- package/src/TextArea/TextArea.doc.mjs +12 -2
- package/src/TextArea/TextArea.test.tsx +11 -0
- package/src/TextArea/TextArea.tsx +37 -24
- package/src/TextInput/TextInput.doc.mjs +10 -0
- package/src/TextInput/TextInput.tsx +3 -2
- package/src/Thumbnail/Thumbnail.doc.mjs +1 -1
- package/src/TimeInput/TimeInput.tsx +2 -2
- package/src/Timestamp/Timestamp.test.tsx +58 -0
- package/src/Timestamp/Timestamp.tsx +12 -10
- package/src/Toast/Toast.doc.mjs +26 -12
- package/src/Toast/Toast.tsx +28 -4
- package/src/Toast/ToastViewport.test.tsx +536 -8
- package/src/Toast/ToastViewport.tsx +81 -12
- package/src/Token/Token.test.tsx +95 -0
- package/src/Token/Token.tsx +15 -10
- package/src/Token/TokenLink.tsx +14 -5
- package/src/Tokenizer/Tokenizer.doc.mjs +43 -3
- package/src/Tokenizer/Tokenizer.test.tsx +161 -0
- package/src/Tokenizer/Tokenizer.tsx +53 -24
- package/src/Toolbar/Toolbar.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.test.tsx +32 -0
- package/src/Tooltip/Tooltip.tsx +5 -0
- package/src/Tooltip/useTooltip.tsx +47 -24
- package/src/TopNav/TopNavHeading.tsx +5 -4
- package/src/TopNav/TopNavMegaMenu.test.tsx +104 -0
- package/src/TopNav/TopNavMegaMenu.tsx +47 -5
- package/src/TopNav/TopNavMenu.test.tsx +133 -1
- package/src/TopNav/TopNavMenu.tsx +38 -7
- package/src/TreeList/TreeList.test.tsx +49 -0
- package/src/TreeList/TreeList.tsx +7 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +24 -0
- package/src/Typeahead/BaseTypeahead.tsx +181 -39
- package/src/Typeahead/Typeahead.doc.mjs +11 -0
- package/src/Typeahead/Typeahead.test.tsx +203 -0
- package/src/Typeahead/Typeahead.tsx +12 -2
- package/src/Typeahead/TypeaheadItem.test.tsx +43 -0
- package/src/Typeahead/TypeaheadItem.tsx +8 -1
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useAnnounce.doc.mjs +96 -0
- package/src/hooks/useContainerReveal.doc.mjs +2 -2
- package/src/hooks/useDevWarning.doc.mjs +96 -0
- package/src/hooks/useFocusTrap.test.tsx +14 -0
- package/src/hooks/useFocusTrap.ts +62 -111
- package/src/hooks/useFocusTrapEscapeShim.test.tsx +165 -0
- package/src/hooks/useHotkeys.ts +3 -18
- package/src/hooks/useIndicatorFocusRing.doc.mjs +104 -0
- package/src/hooks/useInputStatusIcon.doc.mjs +142 -0
- package/src/hooks/useInteractiveRole.doc.mjs +119 -0
- package/src/hooks/useLongPress.doc.mjs +123 -0
- package/src/hooks/useMergedRefs.doc.mjs +79 -0
- package/src/hooks/useMergedRefs.test.tsx +62 -0
- package/src/hooks/useMergedRefs.ts +36 -0
- package/src/hooks/useTypeahead.doc.mjs +153 -0
- package/src/index.ts +1 -0
- package/src/raw-import.d.ts +14 -0
- package/src/theme/MediaTheme.doc.mjs +5 -5
- package/src/theme/Theme.test.tsx +104 -2
- package/src/theme/Theme.tsx +49 -14
- package/src/theme/defineTheme.test.ts +23 -0
- package/src/theme/derivedVarRegistry.test.ts +26 -3
- package/src/theme/derivedVarRegistry.ts +23 -4
- package/src/theme/generateThemeRules.test.ts +99 -1
- package/src/theme/generateThemeRules.ts +28 -0
- package/src/theme/syntax/tokens.ts +5 -2
- package/src/utils/groupItems.ts +12 -6
- package/src/utils/index.ts +1 -1
- package/src/utils/isApplePlatform.test.ts +61 -0
- package/src/utils/isApplePlatform.ts +37 -0
- package/src/utils/sharedResizeObserver.ts +10 -2
- package/src/utils/timeParser.test.ts +6 -1
- package/src/utils/timeParser.ts +35 -13
- package/src/__tests__/inputWidthContract.test.tsx +0 -69
package/src/Overlay/Overlay.tsx
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
import type {ReactNode, Ref} from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
|
-
import {mergeProps
|
|
20
|
+
import {mergeProps} from '../utils';
|
|
21
21
|
import {useOverlay} from './useOverlay';
|
|
22
22
|
import {useIsomorphicLayoutEffect} from '../hooks/useIsomorphicLayoutEffect';
|
|
23
23
|
import {overlayScope, overlayContainerStyles} from './overlay.markers.stylex';
|
|
@@ -30,6 +30,7 @@ import type {
|
|
|
30
30
|
OverlayShowOn,
|
|
31
31
|
} from './OverlayScrim';
|
|
32
32
|
|
|
33
|
+
import {useMergedRefs} from '../hooks/useMergedRefs';
|
|
33
34
|
export interface OverlayProps extends Pick<
|
|
34
35
|
BaseProps<HTMLDivElement>,
|
|
35
36
|
'xstyle' | 'className' | 'style'
|
|
@@ -113,7 +114,7 @@ export function Overlay({
|
|
|
113
114
|
|
|
114
115
|
return (
|
|
115
116
|
<div
|
|
116
|
-
ref={
|
|
117
|
+
ref={useMergedRefs(ref, overlay.containerRef)}
|
|
117
118
|
{...mergeProps(
|
|
118
119
|
themeProps('overlay'),
|
|
119
120
|
stylex.props(overlayScope, overlayContainerStyles.root, xstyle),
|
|
@@ -613,7 +613,7 @@ describe('Pagination', () => {
|
|
|
613
613
|
expect(box).toHaveAttribute('aria-valuemax', '10');
|
|
614
614
|
});
|
|
615
615
|
|
|
616
|
-
it('commits a typed page on Enter and
|
|
616
|
+
it('commits a typed page on Enter and clamps an over-range entry', async () => {
|
|
617
617
|
const user = userEvent.setup();
|
|
618
618
|
const onChange = vi.fn();
|
|
619
619
|
render(
|
|
@@ -633,9 +633,10 @@ describe('Pagination', () => {
|
|
|
633
633
|
onChange.mockClear();
|
|
634
634
|
await user.clear(box);
|
|
635
635
|
// The box is a NumberInput bounded to [1, totalPages]: an over-max entry
|
|
636
|
-
//
|
|
636
|
+
// lands on the last page rather than navigating past it.
|
|
637
637
|
await user.type(box, '99{Enter}');
|
|
638
638
|
expect(onChange).not.toHaveBeenCalledWith(99);
|
|
639
|
+
expect(onChange).toHaveBeenCalledWith(10);
|
|
639
640
|
});
|
|
640
641
|
|
|
641
642
|
it('commits on blur', async () => {
|
|
@@ -14,6 +14,7 @@ import {describe, it, expect, vi, beforeAll, afterAll} from 'vitest';
|
|
|
14
14
|
import {render, screen, fireEvent} from '@testing-library/react';
|
|
15
15
|
import React, {useRef} from 'react';
|
|
16
16
|
import {Popover} from './Popover';
|
|
17
|
+
import type {UsePopoverReturn} from './usePopover';
|
|
17
18
|
import {Dialog} from '../Dialog';
|
|
18
19
|
import {SegmentedControl, SegmentedControlItem} from '../SegmentedControl';
|
|
19
20
|
|
|
@@ -55,6 +56,19 @@ afterAll(() => {
|
|
|
55
56
|
(HTMLElement.prototype as any).matches = originalMatches;
|
|
56
57
|
});
|
|
57
58
|
|
|
59
|
+
describe('usePopover public return type', () => {
|
|
60
|
+
it('keeps dismissal internals out of the public contract', () => {
|
|
61
|
+
const hasKeepOpenProps: 'keepOpenProps' extends keyof UsePopoverReturn
|
|
62
|
+
? true
|
|
63
|
+
: false = false;
|
|
64
|
+
const hasDismissalGuard: 'wasJustDismissed' extends keyof UsePopoverReturn
|
|
65
|
+
? true
|
|
66
|
+
: false = false;
|
|
67
|
+
expect(hasKeepOpenProps).toBe(false);
|
|
68
|
+
expect(hasDismissalGuard).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
58
72
|
describe('Popover', () => {
|
|
59
73
|
it('renders trigger element', () => {
|
|
60
74
|
render(
|
package/src/Popover/Popover.tsx
CHANGED
|
@@ -322,16 +322,12 @@ export function Popover({
|
|
|
322
322
|
}: PopoverProps): ReactElement {
|
|
323
323
|
const wrapperRef = useRef<HTMLDivElement>(null);
|
|
324
324
|
const isControlled = isOpen !== undefined;
|
|
325
|
-
// Track when the popover was last hidden by light dismiss to prevent
|
|
326
|
-
// the trigger click from immediately re-opening it.
|
|
327
|
-
const lastHideTimeRef = useRef(0);
|
|
328
325
|
|
|
329
326
|
const handlePopoverShow = useCallback(() => {
|
|
330
327
|
onOpenChange?.(true);
|
|
331
328
|
}, [onOpenChange]);
|
|
332
329
|
|
|
333
330
|
const handlePopoverHide = useCallback(() => {
|
|
334
|
-
lastHideTimeRef.current = Date.now();
|
|
335
331
|
onOpenChange?.(false);
|
|
336
332
|
}, [onOpenChange]);
|
|
337
333
|
|
|
@@ -353,11 +349,7 @@ export function Popover({
|
|
|
353
349
|
if (!isEnabled) {
|
|
354
350
|
return;
|
|
355
351
|
}
|
|
356
|
-
//
|
|
357
|
-
// the trigger click fires in the same event — skip re-opening.
|
|
358
|
-
if (Date.now() - lastHideTimeRef.current < 50) {
|
|
359
|
-
return;
|
|
360
|
-
}
|
|
352
|
+
// `toggle` absorbs a click that belongs to its own light dismiss.
|
|
361
353
|
popover.toggle();
|
|
362
354
|
}, [isEnabled, popover]);
|
|
363
355
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file usePopover.tsx
|
|
7
7
|
* @input Uses useLayer, useFocusTrap, React hooks
|
|
8
|
-
* @output Exports usePopover
|
|
8
|
+
* @output Exports usePopover and a package-internal trigger-aware variant.
|
|
9
9
|
* @position Higher-level layer utility; used by DatePicker, Combobox, etc.
|
|
10
10
|
*
|
|
11
11
|
* Combines popover layer behavior with focus trap for dialog-like popovers.
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
|
|
18
18
|
import React, {useCallback, useEffect, useRef, type ReactNode} from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
|
-
import {
|
|
20
|
+
import {useLayerInternal, type ContextRenderProps} from '../Layer/useLayer';
|
|
21
21
|
import {useFocusTrap} from '../hooks/useFocusTrap';
|
|
22
|
+
import {LayerDepthProvider} from '../Layer/LayerDepthContext';
|
|
22
23
|
import type {StyleXStyles} from '@stylexjs/stylex';
|
|
23
24
|
import {
|
|
24
25
|
colorVars,
|
|
@@ -282,6 +283,10 @@ export interface UsePopoverReturn {
|
|
|
282
283
|
};
|
|
283
284
|
}
|
|
284
285
|
|
|
286
|
+
interface InternalUsePopoverReturn extends UsePopoverReturn {
|
|
287
|
+
wasJustDismissed: () => boolean;
|
|
288
|
+
}
|
|
289
|
+
|
|
285
290
|
/**
|
|
286
291
|
* Hook for creating popover dialogs with focus trapping.
|
|
287
292
|
*
|
|
@@ -322,7 +327,9 @@ export interface UsePopoverReturn {
|
|
|
322
327
|
* }
|
|
323
328
|
* ```
|
|
324
329
|
*/
|
|
325
|
-
|
|
330
|
+
function usePopoverImplementation(
|
|
331
|
+
options: UsePopoverOptions = {},
|
|
332
|
+
): InternalUsePopoverReturn {
|
|
326
333
|
const {
|
|
327
334
|
onShow,
|
|
328
335
|
onHide,
|
|
@@ -350,7 +357,7 @@ export function usePopover(options: UsePopoverOptions = {}): UsePopoverReturn {
|
|
|
350
357
|
const skipAutoFocusRef = useRef(false);
|
|
351
358
|
|
|
352
359
|
// Core layer for popover positioning
|
|
353
|
-
const layer =
|
|
360
|
+
const layer = useLayerInternal({
|
|
354
361
|
mode: 'context',
|
|
355
362
|
lightDismiss: hasLightDismiss,
|
|
356
363
|
onShow,
|
|
@@ -399,6 +406,9 @@ export function usePopover(options: UsePopoverOptions = {}): UsePopoverReturn {
|
|
|
399
406
|
|
|
400
407
|
// Toggle function
|
|
401
408
|
const toggle = useCallback(() => {
|
|
409
|
+
if (layer.wasJustDismissed()) {
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
402
412
|
if (layer.isOpen) {
|
|
403
413
|
layer.hide();
|
|
404
414
|
} else {
|
|
@@ -436,34 +446,36 @@ export function usePopover(options: UsePopoverOptions = {}): UsePopoverReturn {
|
|
|
436
446
|
: surfaceProps.className;
|
|
437
447
|
|
|
438
448
|
return layer.render(
|
|
439
|
-
<
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
{...
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
449
|
+
<LayerDepthProvider>
|
|
450
|
+
<div
|
|
451
|
+
ref={contentRef}
|
|
452
|
+
role={role === 'dialog' ? 'dialog' : undefined}
|
|
453
|
+
aria-modal={role === 'dialog' && isModal ? true : undefined}
|
|
454
|
+
aria-label={role === 'dialog' ? dialogLabel : undefined}
|
|
455
|
+
{...mergeProps(
|
|
456
|
+
{...surfaceProps, className: surfaceClassName},
|
|
457
|
+
stylex.props(
|
|
458
|
+
styles.contentWrapper,
|
|
459
|
+
hasSurface && styles.surface,
|
|
460
|
+
xstyle,
|
|
461
|
+
),
|
|
462
|
+
)}>
|
|
463
|
+
{children}
|
|
464
|
+
{hasCloseButton && (
|
|
465
|
+
<div
|
|
466
|
+
{...stylex.props(
|
|
467
|
+
styles.closeButtonWrapper,
|
|
468
|
+
rtlStyles.centerInline('100%'),
|
|
469
|
+
)}>
|
|
470
|
+
<Button
|
|
471
|
+
variant="secondary"
|
|
472
|
+
label={closeButtonLabel}
|
|
473
|
+
onClick={layer.hide}
|
|
474
|
+
/>
|
|
475
|
+
</div>
|
|
476
|
+
)}
|
|
477
|
+
</div>
|
|
478
|
+
</LayerDepthProvider>,
|
|
467
479
|
{...props, xstyle: props?.xstyle},
|
|
468
480
|
);
|
|
469
481
|
},
|
|
@@ -488,9 +500,22 @@ export function usePopover(options: UsePopoverOptions = {}): UsePopoverReturn {
|
|
|
488
500
|
show,
|
|
489
501
|
hide: layer.hide,
|
|
490
502
|
toggle,
|
|
503
|
+
wasJustDismissed: layer.wasJustDismissed,
|
|
491
504
|
isOpen: layer.isOpen,
|
|
492
505
|
id: layer.id,
|
|
493
506
|
render,
|
|
494
507
|
triggerProps,
|
|
495
508
|
};
|
|
496
509
|
}
|
|
510
|
+
|
|
511
|
+
export function usePopover(options: UsePopoverOptions = {}): UsePopoverReturn {
|
|
512
|
+
const {wasJustDismissed: _, ...popover} = usePopoverImplementation(options);
|
|
513
|
+
return popover;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/** @internal Used by trigger components; not exported from package barrels. */
|
|
517
|
+
export function usePopoverInternal(
|
|
518
|
+
options: UsePopoverOptions = {},
|
|
519
|
+
): InternalUsePopoverReturn {
|
|
520
|
+
return usePopoverImplementation(options);
|
|
521
|
+
}
|
|
@@ -6,7 +6,17 @@ export const docs = {
|
|
|
6
6
|
name: 'PowerSearch',
|
|
7
7
|
displayName: 'Power Search',
|
|
8
8
|
category: 'Data Input',
|
|
9
|
-
keywords: [
|
|
9
|
+
keywords: [
|
|
10
|
+
'powersearch',
|
|
11
|
+
'search',
|
|
12
|
+
'searchbar',
|
|
13
|
+
'filter',
|
|
14
|
+
'filterbar',
|
|
15
|
+
'faceted',
|
|
16
|
+
'querybuilder',
|
|
17
|
+
'structured',
|
|
18
|
+
'omnibar',
|
|
19
|
+
],
|
|
10
20
|
props: [
|
|
11
21
|
{
|
|
12
22
|
name: 'config',
|
|
@@ -43,8 +53,7 @@ export const docs = {
|
|
|
43
53
|
{
|
|
44
54
|
name: 'placeholder',
|
|
45
55
|
type: 'string',
|
|
46
|
-
description:
|
|
47
|
-
'Placeholder text shown when no filters are selected.',
|
|
56
|
+
description: 'Placeholder text shown when no filters are selected.',
|
|
48
57
|
default: "'Search...'",
|
|
49
58
|
},
|
|
50
59
|
{
|
|
@@ -80,8 +89,7 @@ export const docs = {
|
|
|
80
89
|
{
|
|
81
90
|
name: 'status',
|
|
82
91
|
type: "{type: 'warning' | 'error' | 'success', message?: string}",
|
|
83
|
-
description:
|
|
84
|
-
'Validation status object with type and optional message.',
|
|
92
|
+
description: 'Validation status object with type and optional message.',
|
|
85
93
|
},
|
|
86
94
|
{
|
|
87
95
|
name: 'startIcon',
|
|
@@ -103,6 +111,26 @@ export const docs = {
|
|
|
103
111
|
description: 'Max character length for filter value display in tokens.',
|
|
104
112
|
default: '40',
|
|
105
113
|
},
|
|
114
|
+
{
|
|
115
|
+
name: 'maxOperatorMenuItems',
|
|
116
|
+
type: 'number',
|
|
117
|
+
description:
|
|
118
|
+
'Maximum suggestions shown in string and entity value typeaheads. Does not affect the main field search menu or enum value menus.',
|
|
119
|
+
default: '10',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'maxSearchResults',
|
|
123
|
+
type: 'number',
|
|
124
|
+
description:
|
|
125
|
+
'Max ranked results for a non-empty query. Does not affect a field value editor. Browsing with an empty query shows up to 1,000 fields.',
|
|
126
|
+
default: '10',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'menuWidth',
|
|
130
|
+
type: 'number',
|
|
131
|
+
description:
|
|
132
|
+
'Width in pixels for the main field/search menu. Does not affect field value editors.',
|
|
133
|
+
},
|
|
106
134
|
{
|
|
107
135
|
name: 'popoverSaveButtonLabel',
|
|
108
136
|
type: 'string',
|
|
@@ -142,6 +170,32 @@ export const docs = {
|
|
|
142
170
|
description: 'Size of the search input and tokens.',
|
|
143
171
|
default: "'md'",
|
|
144
172
|
},
|
|
173
|
+
{
|
|
174
|
+
name: 'menuWidth',
|
|
175
|
+
type: 'number',
|
|
176
|
+
description: 'Maximum width for the operator/value dropdown menu in pixels.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: 'maxOperatorMenuItems',
|
|
180
|
+
type: 'number',
|
|
181
|
+
description: 'Maximum number of items displayed in the operator dropdown.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'tokenOverflowBehavior',
|
|
185
|
+
type: "'none' | 'unfocusedInline' | 'unfocusedLayer'",
|
|
186
|
+
description: 'Controls how tokens overflow when the container is too narrow. Forwarded to Tokenizer.',
|
|
187
|
+
default: "'none'",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'onFocus',
|
|
191
|
+
type: '(e: FocusEvent<HTMLInputElement>) => void',
|
|
192
|
+
description: 'Fires when focus enters the search input.',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'onBlur',
|
|
196
|
+
type: '(e: FocusEvent<HTMLInputElement>) => void',
|
|
197
|
+
description: 'Fires when focus leaves the search input.',
|
|
198
|
+
},
|
|
145
199
|
{
|
|
146
200
|
name: 'xstyle',
|
|
147
201
|
type: 'StyleXStyles',
|
|
@@ -153,16 +207,30 @@ export const docs = {
|
|
|
153
207
|
description:
|
|
154
208
|
'PowerSearch is a structured filter bar where each token represents a field, operator, and value. Use it for complex multi-dimensional filtering when users need to combine multiple search criteria. For simple single-field search, use a text input instead.',
|
|
155
209
|
bestPractices: [
|
|
156
|
-
{
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
210
|
+
{
|
|
211
|
+
guidance: true,
|
|
212
|
+
description:
|
|
213
|
+
'Define clear, descriptive field names and aliases so users can quickly find the filter they need.',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
guidance: true,
|
|
217
|
+
description:
|
|
218
|
+
'Provide a result count to give users feedback on how their filters affect the data set.',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
guidance: false,
|
|
222
|
+
description:
|
|
223
|
+
'Use PowerSearch for simple keyword searches; a standard text input is more appropriate for single-field lookups.',
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
guidance: false,
|
|
227
|
+
description:
|
|
228
|
+
'Wrap a disabled PowerSearch in Tooltip to explain why it is disabled; disabled controls swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
229
|
+
},
|
|
160
230
|
],
|
|
161
231
|
},
|
|
162
232
|
theming: {
|
|
163
|
-
targets: [
|
|
164
|
-
{className: 'astryx-power-search'},
|
|
165
|
-
],
|
|
233
|
+
targets: [{className: 'astryx-power-search'}],
|
|
166
234
|
},
|
|
167
235
|
};
|
|
168
236
|
|
|
@@ -268,6 +336,25 @@ export const docsZh = {
|
|
|
268
336
|
description: '令牌中过滤器值显示的最大字符长度。',
|
|
269
337
|
default: '40',
|
|
270
338
|
},
|
|
339
|
+
{
|
|
340
|
+
name: 'maxOperatorMenuItems',
|
|
341
|
+
type: 'number',
|
|
342
|
+
description:
|
|
343
|
+
'字符串和实体值预输入菜单中显示的最大建议数。不影响主字段搜索菜单或枚举值菜单。',
|
|
344
|
+
default: '10',
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: 'maxSearchResults',
|
|
348
|
+
type: 'number',
|
|
349
|
+
description:
|
|
350
|
+
'非空查询的最大排名结果数。不影响字段值编辑器。使用空查询浏览时最多显示 1,000 个字段。',
|
|
351
|
+
default: '10',
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
name: 'menuWidth',
|
|
355
|
+
type: 'number',
|
|
356
|
+
description: '主字段/搜索菜单的像素宽度。不影响字段值编辑器。',
|
|
357
|
+
},
|
|
271
358
|
{
|
|
272
359
|
name: 'popoverSaveButtonLabel',
|
|
273
360
|
type: 'string',
|
|
@@ -282,7 +369,8 @@ export const docsZh = {
|
|
|
282
369
|
{
|
|
283
370
|
name: 'handleRef',
|
|
284
371
|
type: 'Ref<PowerSearchHandle>',
|
|
285
|
-
description:
|
|
372
|
+
description:
|
|
373
|
+
'提供 focusTypeahead() 和 blurTypeahead() 方法的命令式句柄。',
|
|
286
374
|
},
|
|
287
375
|
{
|
|
288
376
|
name: 'endContent',
|
|
@@ -311,10 +399,26 @@ export const docsZh = {
|
|
|
311
399
|
description:
|
|
312
400
|
'PowerSearch is a structured filter bar where each token represents a field, operator, and value. Use it for complex multi-dimensional filtering when users need to combine multiple search criteria. For simple single-field search, use a text input instead.',
|
|
313
401
|
bestPractices: [
|
|
314
|
-
{
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
402
|
+
{
|
|
403
|
+
guidance: true,
|
|
404
|
+
description:
|
|
405
|
+
'Define clear, descriptive field names and aliases so users can quickly find the filter they need.',
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
guidance: true,
|
|
409
|
+
description:
|
|
410
|
+
'Provide a result count to give users feedback on how their filters affect the data set.',
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
guidance: false,
|
|
414
|
+
description:
|
|
415
|
+
'Use PowerSearch for simple keyword searches; a standard text input is more appropriate for single-field lookups.',
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
guidance: false,
|
|
419
|
+
description:
|
|
420
|
+
'Wrap a disabled PowerSearch in Tooltip to explain why it is disabled; disabled controls swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
421
|
+
},
|
|
318
422
|
],
|
|
319
423
|
},
|
|
320
424
|
};
|
|
@@ -327,16 +431,33 @@ export const docsDense = {
|
|
|
327
431
|
description:
|
|
328
432
|
'PowerSearch is a structured filter bar where each token represents a field, operator, and value. Use it for complex multi-dimensional filtering when users need to combine multiple search criteria. For simple single-field search, use a text input instead.',
|
|
329
433
|
bestPractices: [
|
|
330
|
-
{
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
434
|
+
{
|
|
435
|
+
guidance: true,
|
|
436
|
+
description:
|
|
437
|
+
'Define clear, descriptive field names and aliases so users can quickly find the filter they need.',
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
guidance: true,
|
|
441
|
+
description:
|
|
442
|
+
'Provide a result count to give users feedback on how their filters affect the data set.',
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
guidance: false,
|
|
446
|
+
description:
|
|
447
|
+
'Use PowerSearch for simple keyword searches; a standard text input is more appropriate for single-field lookups.',
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
guidance: false,
|
|
451
|
+
description:
|
|
452
|
+
'Wrap a disabled PowerSearch in Tooltip to explain why it is disabled; disabled controls swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
453
|
+
},
|
|
334
454
|
],
|
|
335
455
|
},
|
|
336
456
|
propDescriptions: {
|
|
337
457
|
config: 'Configuration defining available fields, operators, value types.',
|
|
338
458
|
filters: 'Currently active filters.',
|
|
339
|
-
onChange:
|
|
459
|
+
onChange:
|
|
460
|
+
"Called on filter change. changeType is 'add', 'edit', or 'remove'. index is affected filter position.",
|
|
340
461
|
label: 'Accessible label for search input.',
|
|
341
462
|
isLabelHidden: 'Visually hides label while keeping accessible.',
|
|
342
463
|
placeholder: 'Text shown when no filters selected.',
|
|
@@ -345,15 +466,26 @@ export const docsDense = {
|
|
|
345
466
|
isReadOnly: 'Prevent adding, editing, or removing filters.',
|
|
346
467
|
isDisabled: 'Disables entire component.',
|
|
347
468
|
status: 'Validation status object w/ type + optional message.',
|
|
348
|
-
startIcon:
|
|
349
|
-
|
|
469
|
+
startIcon:
|
|
470
|
+
'Icon at input start, before filter tokens. Forwarded to internal Tokenizer.',
|
|
471
|
+
statusVariant:
|
|
472
|
+
'How status message is placed: attached overlaps below input; detached floats below w/ spacing.',
|
|
350
473
|
maxTokenLength: 'Max char length for filter value display in tokens.',
|
|
474
|
+
maxOperatorMenuItems:
|
|
475
|
+
'Max suggestions in string/entity value typeaheads; excludes main field search + enum menus.',
|
|
476
|
+
maxSearchResults:
|
|
477
|
+
'Max ranked results for a non-empty query; excludes value editors.',
|
|
478
|
+
menuWidth: 'Main field/search menu width in pixels.',
|
|
351
479
|
popoverSaveButtonLabel: 'Label for save button in edit popover.',
|
|
352
480
|
timezoneID: 'Timezone ID for date formatting (e.g. "America/New_York").',
|
|
353
|
-
handleRef:
|
|
354
|
-
|
|
355
|
-
|
|
481
|
+
handleRef:
|
|
482
|
+
'Imperative handle w/ focusTypeahead() + blurTypeahead() methods.',
|
|
483
|
+
endContent:
|
|
484
|
+
'Content at end of input row. Useful for action buttons or controls.',
|
|
485
|
+
resultCount:
|
|
486
|
+
'Result count matching current filters. Number formatted as "N results"; string displayed as-is.',
|
|
356
487
|
size: 'Search input+token size.',
|
|
357
|
-
xstyle:
|
|
488
|
+
xstyle:
|
|
489
|
+
'StyleX styles for layout customization. Must be stylex.create() value.',
|
|
358
490
|
},
|
|
359
491
|
};
|