@astryxdesign/core 0.1.4-canary.fd7ab46 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +18 -20
- package/dist/AlertDialog/useImperativeAlertDialog.js +3 -3
- package/dist/AppShell/AppShell.d.ts +1 -1
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +53 -55
- package/dist/AspectRatio/AspectRatio.d.ts +10 -48
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +12 -33
- package/dist/AspectRatio/index.d.ts +1 -1
- package/dist/AspectRatio/index.d.ts.map +1 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +25 -27
- package/dist/Avatar/AvatarStatusDot.js +5 -5
- package/dist/AvatarGroup/AvatarGroup.js +5 -5
- package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
- package/dist/Badge/Badge.js +3 -3
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +25 -32
- package/dist/Blockquote/Blockquote.js +7 -7
- package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
- package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
- package/dist/Button/Button.js +19 -19
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +48 -68
- package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
- package/dist/Calendar/styles.d.ts +2 -2
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +2 -2
- package/dist/Card/Card.d.ts +2 -4
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +10 -18
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +21 -24
- package/dist/Carousel/carousel.markers.stylex.d.ts +7 -0
- package/dist/Carousel/carousel.markers.stylex.d.ts.map +1 -0
- package/dist/Carousel/carousel.markers.stylex.js +12 -0
- package/dist/Center/Center.js +3 -3
- package/dist/Chat/ChatComposer.js +23 -23
- package/dist/Chat/ChatComposerDrawer.js +14 -14
- package/dist/Chat/ChatComposerInput.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +15 -27
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +11 -13
- package/dist/Chat/ChatLayout.js +17 -17
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +10 -12
- package/dist/Chat/ChatMessage.js +12 -12
- package/dist/Chat/ChatMessageBubble.js +7 -7
- package/dist/Chat/ChatMessageList.js +14 -14
- package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatMessageMetadata.js +12 -14
- package/dist/Chat/ChatPastedTextToken.js +13 -13
- package/dist/Chat/ChatSendButton.js +3 -3
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
- package/dist/Chat/ChatSystemMessage.js +17 -17
- package/dist/Chat/ChatTokenizedText.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +15 -24
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +74 -81
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -15
- package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +23 -25
- package/dist/CheckboxList/CheckboxList.js +9 -9
- package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +6 -8
- package/dist/Citation/Citation.js +10 -10
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +9 -32
- package/dist/Code/Code.js +3 -3
- package/dist/CodeBlock/CodeBlock.d.ts +1 -10
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +52 -88
- package/dist/Collapsible/Collapsible.d.ts +3 -9
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +22 -110
- package/dist/Collapsible/CollapsibleGroup.d.ts +7 -39
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +12 -73
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +0 -31
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +3 -33
- package/dist/Collapsible/index.d.ts +0 -1
- package/dist/Collapsible/index.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.d.ts +1 -4
- package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.js +6 -20
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +34 -36
- package/dist/CommandPalette/CommandPaletteEmpty.js +3 -3
- package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
- package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
- package/dist/CommandPalette/CommandPaletteInput.js +13 -13
- package/dist/CommandPalette/CommandPaletteItem.js +3 -3
- package/dist/CommandPalette/CommandPaletteList.js +3 -3
- package/dist/ContextMenu/ContextMenu.d.ts +2 -7
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +43 -76
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +21 -21
- package/dist/DateTimeInput/DateTimeInput.d.ts +2 -5
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +26 -30
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -9
- package/dist/Dialog/DialogHeader.js +16 -16
- package/dist/Dialog/useImperativeDialog.js +3 -3
- package/dist/Divider/Divider.js +7 -7
- package/dist/DropdownMenu/DropdownMenu.js +10 -10
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +17 -2
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
- package/dist/DropdownMenu/renderDropdownItems.js +10 -10
- package/dist/EmptyState/EmptyState.js +9 -9
- package/dist/Field/Field.js +17 -17
- package/dist/Field/FieldLabel.js +15 -15
- package/dist/Field/InputClearButton.js +5 -5
- package/dist/FieldStatus/FieldStatus.js +3 -3
- package/dist/FileInput/FileInput.js +29 -29
- package/dist/FormLayout/FormLayout.js +5 -5
- package/dist/Grid/Grid.d.ts +3 -4
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +12 -29
- package/dist/Grid/GridSpan.js +3 -3
- package/dist/HStack/HStack.js +3 -3
- package/dist/Heading/Heading.js +10 -10
- package/dist/HoverCard/HoverCard.js +9 -9
- package/dist/HoverCard/useHoverCard.d.ts +1 -5
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +3 -3
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +12 -16
- package/dist/Icon/defaultIcons.js +116 -116
- package/dist/IconButton/IconButton.js +3 -3
- package/dist/InputGroup/InputGroup.js +11 -11
- package/dist/InputGroup/InputGroupText.js +3 -3
- package/dist/Item/Item.js +18 -18
- package/dist/Kbd/Kbd.js +5 -5
- package/dist/Layer/LayerProvider.js +7 -7
- package/dist/Layer/useLayer.d.ts +2 -29
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +31 -44
- package/dist/Layout/Layout.js +21 -21
- package/dist/Layout/LayoutContent.js +3 -3
- package/dist/Layout/LayoutFooter.js +5 -5
- package/dist/Layout/LayoutHeader.js +5 -5
- package/dist/Layout/LayoutPanel.js +3 -3
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +31 -55
- package/dist/Lightbox/useLightbox.js +3 -3
- package/dist/Link/Link.js +15 -15
- package/dist/Link/LinkProvider.js +3 -3
- package/dist/Link/useLinkify.js +3 -3
- package/dist/List/List.js +11 -11
- package/dist/List/ListItem.js +11 -11
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +102 -102
- package/dist/MetadataList/MetadataList.js +10 -10
- package/dist/MetadataList/MetadataListItem.js +15 -15
- package/dist/MobileNav/MobileNav.js +15 -15
- package/dist/MobileNav/MobileNavToggle.js +5 -5
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.js +56 -56
- package/dist/NavIcon/NavIcon.js +3 -3
- package/dist/NavMenu/NavHeadingMenu.js +5 -5
- package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +32 -48
- package/dist/Outline/Outline.js +15 -15
- package/dist/OverflowList/OverflowList.js +8 -8
- package/dist/Overlay/Overlay.js +3 -3
- package/dist/Overlay/OverlayScrim.js +5 -5
- package/dist/Overlay/useOverlay.js +3 -3
- package/dist/Pagination/Pagination.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +72 -125
- package/dist/Popover/Popover.js +16 -16
- package/dist/Popover/usePopover.js +7 -7
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +92 -110
- package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
- package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
- package/dist/PowerSearch/PowerSearchToken.js +5 -5
- package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +18 -25
- package/dist/RadioList/RadioList.js +7 -7
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +21 -24
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +10 -28
- package/dist/Section/Section.js +5 -5
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +10 -32
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +12 -18
- package/dist/SelectableCard/SelectableCard.js +5 -5
- package/dist/Selector/Selector.js +46 -46
- package/dist/Selector/SelectorOption.js +3 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +34 -38
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +6 -8
- package/dist/SideNav/SideNavHeading.js +87 -87
- package/dist/SideNav/SideNavItem.js +42 -42
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/SideNav/SideNavSection.js +16 -18
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.js +23 -23
- package/dist/Spinner/Spinner.js +9 -9
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +4 -8
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +29 -34
- package/dist/TabList/Tab.js +18 -18
- package/dist/TabList/TabList.js +5 -5
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +30 -57
- package/dist/TabList/tab.markers.stylex.d.ts +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +39 -50
- package/dist/Table/Table.js +7 -7
- package/dist/Table/TableBody.d.ts +1 -1
- package/dist/Table/TableBody.d.ts.map +1 -1
- package/dist/Table/TableBody.js +5 -9
- package/dist/Table/TableCell.js +3 -3
- package/dist/Table/TableFooter.d.ts +1 -1
- package/dist/Table/TableFooter.d.ts.map +1 -1
- package/dist/Table/TableFooter.js +5 -9
- package/dist/Table/TableHeader.d.ts +1 -1
- package/dist/Table/TableHeader.d.ts.map +1 -1
- package/dist/Table/TableHeader.js +5 -9
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/TableRow.js +5 -5
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -14
- package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
- package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/paginateData.js +1 -5
- package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -22
- package/dist/Table/plugins/selection/useTableSelection.js +18 -18
- package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelectionState.js +1 -11
- package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
- package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortableState.js +4 -8
- package/dist/Table/tableContextMenu.js +9 -9
- package/dist/Text/Text.js +10 -10
- package/dist/TextArea/TextArea.js +14 -14
- package/dist/TextInput/TextInput.js +15 -15
- package/dist/Thumbnail/Thumbnail.d.ts +2 -3
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +29 -30
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +21 -26
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +26 -37
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +17 -25
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +11 -23
- package/dist/Toast/useToast.js +4 -4
- package/dist/ToggleButton/ToggleButton.js +12 -12
- package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
- package/dist/Token/Token.js +21 -21
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +34 -36
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- package/dist/Tooltip/useTooltip.d.ts +1 -5
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +3 -3
- package/dist/TopNav/TopNav.js +32 -32
- package/dist/TopNav/TopNavHeading.js +67 -67
- package/dist/TopNav/TopNavItem.js +5 -5
- package/dist/TopNav/TopNavMegaMenu.js +30 -30
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +14 -25
- package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
- package/dist/TopNav/TopNavMenu.js +32 -32
- package/dist/TreeList/TreeList.js +8 -8
- package/dist/TreeList/TreeListBranches.js +11 -11
- package/dist/TreeList/TreeListItem.js +30 -30
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +20 -23
- package/dist/Typeahead/Typeahead.js +12 -12
- package/dist/Typeahead/TypeaheadItem.js +10 -10
- package/dist/VStack/VStack.js +3 -3
- package/dist/astryx.css +0 -7
- package/dist/astryx.umd.js +60 -60
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +2 -8
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.d.ts +1 -1
- package/dist/hooks/focusableSelector.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.js +1 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/useFocusTrap.d.ts +0 -3
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +1 -38
- package/dist/hooks/useInteractiveRole.d.ts +2 -6
- package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
- package/dist/hooks/useInteractiveRole.js +2 -6
- package/dist/hooks/useKeyboardHint.js +9 -9
- package/dist/hooks/useStreamingText.d.ts +1 -3
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +5 -14
- package/dist/theme/MediaTheme.js +3 -3
- package/dist/theme/Theme.js +7 -7
- package/dist/theme/defineTheme.d.ts +1 -1
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +3 -10
- package/dist/theme/hct.d.ts +15 -0
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +9 -9
- package/dist/theme/syntax/SyntaxTheme.js +5 -5
- package/dist/theme/tokens.d.ts +2 -10
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +4 -220
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -3
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +5 -8
- package/package.json +3 -3
- package/src/AlertDialog/AlertDialog.doc.mjs +0 -4
- package/src/AlertDialog/AlertDialog.tsx +0 -2
- package/src/AppShell/AppShell.tsx +0 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +1 -28
- package/src/AspectRatio/AspectRatio.test.tsx +1 -142
- package/src/AspectRatio/AspectRatio.tsx +10 -70
- package/src/AspectRatio/index.ts +1 -5
- package/src/Avatar/Avatar.doc.mjs +0 -11
- package/src/Avatar/Avatar.test.tsx +1 -32
- package/src/Avatar/Avatar.tsx +20 -12
- package/src/Banner/Banner.doc.mjs +0 -8
- package/src/Banner/Banner.test.tsx +0 -38
- package/src/Banner/Banner.tsx +1 -8
- package/src/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +17 -122
- package/src/Calendar/Calendar.tsx +5 -26
- package/src/Calendar/dayCellUtils.ts +1 -3
- package/src/Calendar/styles.ts +2 -12
- package/src/Card/Card.tsx +6 -16
- package/src/Carousel/Carousel.doc.mjs +12 -12
- package/src/Carousel/Carousel.test.tsx +0 -13
- package/src/Carousel/Carousel.tsx +2 -4
- package/src/Carousel/carousel.markers.stylex.ts +10 -0
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +1 -27
- package/src/Chat/ChatComposerInput.tsx +15 -20
- package/src/Chat/ChatDictationButton.tsx +4 -4
- package/src/Chat/ChatLayoutScrollButton.tsx +1 -3
- package/src/Chat/ChatMessageMetadata.tsx +6 -4
- package/src/Chat/ChatSystemMessage.test.tsx +11 -26
- package/src/Chat/ChatSystemMessage.tsx +7 -7
- package/src/Chat/ChatTokenizedText.test.tsx +16 -29
- package/src/Chat/ChatTokenizedText.tsx +8 -15
- package/src/Chat/ChatToolCalls.test.tsx +0 -55
- package/src/Chat/ChatToolCalls.tsx +12 -10
- package/src/Chat/index.ts +4 -1
- package/src/Chat/useTriggerMenu.tsx +4 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +4 -71
- package/src/CheckboxInput/CheckboxInput.tsx +0 -2
- package/src/CheckboxList/CheckboxList.test.tsx +0 -19
- package/src/CheckboxList/CheckboxListItem.tsx +2 -11
- package/src/Citation/Citation.doc.mjs +0 -5
- package/src/ClickableCard/ClickableCard.tsx +2 -45
- package/src/CodeBlock/CodeBlock.doc.mjs +2 -7
- package/src/CodeBlock/CodeBlock.test.tsx +3 -122
- package/src/CodeBlock/CodeBlock.tsx +4 -62
- package/src/Collapsible/Collapsible.doc.mjs +4 -8
- package/src/Collapsible/Collapsible.tsx +10 -86
- package/src/Collapsible/CollapsibleGroup.doc.mjs +3 -27
- package/src/Collapsible/CollapsibleGroup.test.tsx +0 -318
- package/src/Collapsible/CollapsibleGroup.tsx +9 -107
- package/src/Collapsible/CollapsibleGroupContext.tsx +2 -42
- package/src/Collapsible/index.ts +0 -4
- package/src/Collapsible/useCollapsible.ts +6 -20
- package/src/CommandPalette/CommandPalette.doc.mjs +0 -4
- package/src/CommandPalette/CommandPalette.tsx +3 -5
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +0 -5
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +0 -10
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +0 -6
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +0 -6
- package/src/CommandPalette/CommandPaletteList.doc.mjs +0 -9
- package/src/ContextMenu/ContextMenu.doc.mjs +0 -15
- package/src/ContextMenu/ContextMenu.test.tsx +0 -87
- package/src/ContextMenu/ContextMenu.tsx +28 -87
- package/src/ContextMenu/ContextMenuItem.doc.mjs +0 -6
- package/src/DateInput/DateInput.test.tsx +20 -11
- package/src/DateRangeInput/DateRangeInput.test.tsx +44 -31
- package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -3
- package/src/DateTimeInput/DateTimeInput.test.tsx +16 -118
- package/src/DateTimeInput/DateTimeInput.tsx +2 -8
- package/src/DateTimeInput/index.ts +0 -1
- package/src/Dialog/Dialog.doc.mjs +0 -4
- package/src/Dialog/DialogHeader.doc.mjs +0 -45
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +2 -22
- package/src/DropdownMenu/DropdownMenuItem.tsx +17 -5
- package/src/Field/Field.test.tsx +4 -1
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +3 -0
- package/src/Grid/Grid.test.tsx +18 -43
- package/src/Grid/Grid.tsx +9 -26
- package/src/HoverCard/HoverCard.doc.mjs +6 -6
- package/src/HoverCard/useHoverCard.doc.mjs +5 -5
- package/src/HoverCard/useHoverCard.tsx +2 -9
- package/src/Icon/Icon.test.tsx +29 -41
- package/src/Icon/Icon.tsx +2 -6
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/Item/Item.tsx +1 -1
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layer/useLayer.test.tsx +2 -221
- package/src/Layer/useLayer.tsx +30 -69
- package/src/Layout/LayoutContent.doc.mjs +0 -12
- package/src/Layout/LayoutPanel.doc.mjs +0 -40
- package/src/Lightbox/Lightbox.doc.mjs +0 -5
- package/src/Lightbox/Lightbox.test.tsx +2 -123
- package/src/Lightbox/Lightbox.tsx +1 -29
- package/src/Markdown/Markdown.tsx +7 -9
- package/src/Markdown/parser.perf.test.ts +12 -34
- package/src/NavMenu/NavMenu.doc.mjs +0 -15
- package/src/NumberInput/NumberInput.test.tsx +3 -48
- package/src/NumberInput/NumberInput.tsx +15 -32
- package/src/Overlay/Overlay.doc.mjs +0 -6
- package/src/Pagination/Pagination.test.tsx +0 -162
- package/src/Pagination/Pagination.tsx +26 -80
- package/src/Popover/Popover.doc.mjs +6 -6
- package/src/Popover/Popover.test.tsx +0 -65
- package/src/Popover/usePopover.doc.mjs +1 -1
- package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearch.test.tsx +1 -109
- package/src/PowerSearch/PowerSearch.tsx +16 -37
- package/src/ProgressBar/ProgressBar.test.tsx +0 -30
- package/src/ProgressBar/ProgressBar.tsx +5 -12
- package/src/RadioList/RadioList.test.tsx +0 -19
- package/src/RadioList/RadioListItem.tsx +4 -9
- package/src/Resizable/ResizeHandle.tsx +4 -22
- package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
- package/src/SegmentedControl/SegmentedControl.test.tsx +0 -192
- package/src/SegmentedControl/SegmentedControl.tsx +5 -27
- package/src/SegmentedControl/SegmentedControlItem.tsx +4 -9
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.test.tsx +1 -27
- package/src/SideNav/SideNav.doc.mjs +1 -7
- package/src/SideNav/SideNav.test.tsx +0 -66
- package/src/SideNav/SideNav.tsx +2 -6
- package/src/SideNav/SideNavCollapseButton.tsx +3 -4
- package/src/SideNav/SideNavSection.tsx +4 -6
- package/src/Switch/Switch.doc.mjs +7 -7
- package/src/Switch/Switch.test.tsx +3 -102
- package/src/Switch/Switch.tsx +7 -20
- package/src/TabList/TabList.test.tsx +1 -185
- package/src/TabList/TabMenu.tsx +9 -45
- package/src/Table/BaseTable.tsx +2 -13
- package/src/Table/Table.test.tsx +0 -87
- package/src/Table/TableBody.tsx +2 -15
- package/src/Table/TableFooter.tsx +2 -15
- package/src/Table/TableHeader.tsx +2 -15
- package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +0 -13
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +1 -3
- package/src/Table/plugins/pagination/paginateData.ts +1 -5
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +0 -13
- package/src/Table/plugins/selection/useTableSelectionState.test.tsx +0 -23
- package/src/Table/plugins/selection/useTableSelectionState.tsx +6 -11
- package/src/Table/plugins/sortable/useTableSortableState.test.tsx +1 -35
- package/src/Table/plugins/sortable/useTableSortableState.tsx +4 -8
- package/src/TextArea/TextArea.test.tsx +3 -3
- package/src/TextInput/TextInput.test.tsx +3 -3
- package/src/Thumbnail/Thumbnail.test.tsx +2 -36
- package/src/Thumbnail/Thumbnail.tsx +2 -4
- package/src/TimeInput/TimeInput.test.tsx +0 -37
- package/src/TimeInput/TimeInput.tsx +1 -11
- package/src/Timestamp/Timestamp.doc.mjs +1 -1
- package/src/Timestamp/Timestamp.test.tsx +0 -52
- package/src/Timestamp/Timestamp.tsx +16 -30
- package/src/Toast/Toast.tsx +3 -11
- package/src/Toast/ToastViewport.test.tsx +0 -64
- package/src/Toast/ToastViewport.tsx +0 -12
- package/src/ToggleButton/ToggleButton.doc.mjs +0 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
- package/src/Tokenizer/Tokenizer.test.tsx +0 -54
- package/src/Tokenizer/Tokenizer.tsx +4 -5
- package/src/Tooltip/Tooltip.doc.mjs +6 -6
- package/src/Tooltip/useTooltip.doc.mjs +5 -5
- package/src/Tooltip/useTooltip.tsx +2 -12
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +7 -23
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +2 -9
- package/src/TreeList/TreeList.doc.mjs +2 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +0 -19
- package/src/Typeahead/BaseTypeahead.tsx +2 -5
- package/src/Typeahead/Typeahead.doc.mjs +1 -1
- package/src/Typeahead/Typeahead.test.tsx +1 -45
- package/src/docs-types.ts +1 -9
- package/src/hooks/focusableSelector.ts +1 -1
- package/src/hooks/index.ts +0 -3
- package/src/hooks/useFocusTrap.doc.mjs +2 -4
- package/src/hooks/useFocusTrap.test.tsx +1 -149
- package/src/hooks/useFocusTrap.ts +1 -50
- package/src/hooks/useInteractiveRole.ts +4 -12
- package/src/hooks/useStreamingText.test.ts +19 -54
- package/src/hooks/useStreamingText.ts +5 -16
- package/src/hooks/useTreeFocus.test.tsx +3 -1
- package/src/reset.css +0 -29
- package/src/theme/SyntaxTheme.doc.mjs +4 -4
- package/src/theme/defineTheme.ts +13 -4
- package/src/theme/derivedVarRegistry.test.ts +2 -2
- package/src/theme/expandColorScale.test.ts +0 -29
- package/src/theme/expandColorScale.ts +6 -11
- package/src/theme/hct.ts +17 -9
- package/src/theme/tokens.test.ts +9 -182
- package/src/theme/tokens.ts +4 -239
- package/src/theme/useTheme.test.tsx +0 -20
- package/src/utils/index.ts +0 -4
- package/src/utils/sharedResizeObserver.test.ts +2 -2
- package/src/utils/timeParser.test.ts +0 -13
- package/src/utils/timeParser.ts +5 -8
- package/dist/hooks/useHotkeys.d.ts +0 -51
- package/dist/hooks/useHotkeys.d.ts.map +0 -1
- package/dist/hooks/useHotkeys.js +0 -160
- package/dist/utils/color.d.ts +0 -42
- package/dist/utils/color.d.ts.map +0 -1
- package/dist/utils/color.js +0 -150
- package/dist/utils/composeEventHandlers.d.ts +0 -30
- package/dist/utils/composeEventHandlers.d.ts.map +0 -1
- package/dist/utils/composeEventHandlers.js +0 -40
- package/src/Chat/ChatDictationButton.test.tsx +0 -43
- package/src/Chat/ChatLayoutScrollButton.test.tsx +0 -33
- package/src/Chat/ChatMessageMetadata.test.tsx +0 -32
- package/src/Collapsible/Collapsible.test.tsx +0 -405
- package/src/FieldStatus/FieldStatus.test.tsx +0 -282
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +0 -185
- package/src/Layout/Layout.test.tsx +0 -285
- package/src/Layout/LayoutSlots.test.tsx +0 -364
- package/src/Outline/parseOutlineFromMarkdown.test.ts +0 -80
- package/src/OverflowList/OverflowList.test.tsx +0 -416
- package/src/Overlay/Overlay.test.tsx +0 -356
- package/src/Resizable/ResizeHandle.test.tsx +0 -218
- package/src/SizeContext/SizeContext.test.tsx +0 -226
- package/src/__tests__/TestIcon.tsx +0 -26
- package/src/__tests__/fastRoleQueries.ts +0 -66
- package/src/docPropReferences.test.ts +0 -178
- package/src/hooks/useHotkeys.doc.mjs +0 -52
- package/src/hooks/useHotkeys.test.ts +0 -245
- package/src/hooks/useHotkeys.ts +0 -203
- package/src/utils/color.test.ts +0 -133
- package/src/utils/color.ts +0 -148
- package/src/utils/composeEventHandlers.test.ts +0 -71
- package/src/utils/composeEventHandlers.ts +0 -44
- package/src/utils/mergeProps.test.ts +0 -166
|
@@ -24,7 +24,7 @@ import "../theme/tokens.stylex.js";
|
|
|
24
24
|
import { colorVars, durationVars, easeVars, radiusVars, spacingVars } from "../theme/tokens.stylex.js";
|
|
25
25
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
26
26
|
import { themeProps } from "../utils/themeProps.js";
|
|
27
|
-
import {
|
|
27
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
28
|
const KEYBOARD_STEP = 10;
|
|
29
29
|
const KEYBOARD_LARGE_STEP = 50;
|
|
30
30
|
function resolveEffectiveSide(pillPlacement, isReversed, isCollapsed) {
|
|
@@ -251,9 +251,6 @@ export function ResizeHandle({
|
|
|
251
251
|
...props
|
|
252
252
|
}) {
|
|
253
253
|
const handleRef = useRef(null);
|
|
254
|
-
// Removes the in-flight drag's window listeners (and resets body styles).
|
|
255
|
-
// Held in a ref so unmount can tear down a drag that never got a pointerup.
|
|
256
|
-
const dragCleanupRef = useRef(null);
|
|
257
254
|
const [isDragging, setIsDragging] = useState(false);
|
|
258
255
|
const [isHovered, setIsHovered] = useState(false);
|
|
259
256
|
const [isFocused, setIsFocused] = useState(false);
|
|
@@ -305,12 +302,10 @@ export function ResizeHandle({
|
|
|
305
302
|
window.removeEventListener('pointermove', onMove);
|
|
306
303
|
window.removeEventListener('pointerup', onUp);
|
|
307
304
|
window.removeEventListener('pointercancel', onCancel);
|
|
308
|
-
dragCleanupRef.current = null;
|
|
309
305
|
}
|
|
310
306
|
window.addEventListener('pointermove', onMove);
|
|
311
307
|
window.addEventListener('pointerup', onUp);
|
|
312
308
|
window.addEventListener('pointercancel', onCancel);
|
|
313
|
-
dragCleanupRef.current = cleanup;
|
|
314
309
|
}, [isDisabled, resizable, isHorizontal, getRTLMultiplier, sign]);
|
|
315
310
|
|
|
316
311
|
// --- Keyboard ---
|
|
@@ -381,25 +376,20 @@ export function ResizeHandle({
|
|
|
381
376
|
}, [isDisabled, resizable]);
|
|
382
377
|
|
|
383
378
|
// --- Cleanup on unmount ---
|
|
384
|
-
// A drag in flight when the handle unmounts never gets its pointerup, so
|
|
385
|
-
// tear down the window listeners here too — otherwise every pointermove
|
|
386
|
-
// keeps driving the (still-mounted) region's resize state after the handle
|
|
387
|
-
// is gone, and the body cursor/user-select overrides stick.
|
|
388
379
|
useEffect(() => {
|
|
389
380
|
return () => {
|
|
390
|
-
if (
|
|
391
|
-
dragCleanupRef.current();
|
|
381
|
+
if (isDragging) {
|
|
392
382
|
document.body.style.cursor = '';
|
|
393
383
|
document.body.style.userSelect = '';
|
|
394
384
|
}
|
|
395
385
|
};
|
|
396
|
-
}, []);
|
|
386
|
+
}, [isDragging]);
|
|
397
387
|
|
|
398
388
|
// --- ARIA ---
|
|
399
389
|
const ariaValueNow = resizable ? resizable._size : undefined;
|
|
400
390
|
const ariaValueMin = resizable ? resizable._minSizePx : undefined;
|
|
401
391
|
const ariaValueMax = resizable && resizable._maxSizePx !== Infinity ? resizable._maxSizePx : undefined;
|
|
402
|
-
return /*#__PURE__*/
|
|
392
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
403
393
|
ref: mergeRefs(ref, handleRef),
|
|
404
394
|
role: "separator",
|
|
405
395
|
"aria-orientation": isHorizontal ? 'vertical' : 'horizontal',
|
|
@@ -415,16 +405,7 @@ export function ResizeHandle({
|
|
|
415
405
|
"data-resizing": isDragging || undefined,
|
|
416
406
|
...mergeProps(themeProps('resize-handle'), stylex.props(styles.handle, isOverlay && styles.overlay, isOverlay && (isHorizontal ? styles.overlayHorizontal : styles.overlayVertical), !isOverlay && (isHorizontal ? styles.horizontal : styles.vertical), !isOverlay && !hasDivider && (isHorizontal ? styles.noDividerHorizontal : styles.noDividerVertical), !isOverlay && hasDivider && isInteracting && !isDragging && styles.handleHover, !isOverlay && hasDivider && isDragging && styles.handleActive, isDisabled && styles.disabled, xstyle), className),
|
|
417
407
|
...props,
|
|
418
|
-
|
|
419
|
-
// keydown fires on the focused element and bubbles up, so a handler on a
|
|
420
|
-
// descendant never runs (per the WAI-ARIA window-splitter pattern).
|
|
421
|
-
// Placed after {...props} and composed with any consumer onKeyDown so
|
|
422
|
-
// this accessibility-critical handler can't be clobbered by a passed prop.
|
|
423
|
-
onKeyDown: e => {
|
|
424
|
-
props.onKeyDown?.(e);
|
|
425
|
-
handleKeyDown(e);
|
|
426
|
-
},
|
|
427
|
-
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
408
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
428
409
|
...stylex.props(styles.hitArea, isHorizontal ? styles.hitAreaHorizontal : styles.hitAreaVertical, isHorizontal ? dynamicStyles.hitAreaBiasX(hitAreaBias(effectiveSide)) : dynamicStyles.hitAreaBiasY(hitAreaBias(effectiveSide)), isDisabled && styles.disabled),
|
|
429
410
|
onPointerDown: handlePointerDown,
|
|
430
411
|
onPointerEnter: () => setIsHovered(true),
|
|
@@ -432,10 +413,11 @@ export function ResizeHandle({
|
|
|
432
413
|
if (!isDragging) {
|
|
433
414
|
setIsHovered(false);
|
|
434
415
|
}
|
|
435
|
-
}
|
|
436
|
-
|
|
416
|
+
},
|
|
417
|
+
onKeyDown: handleKeyDown
|
|
418
|
+
}), children ?? /*#__PURE__*/_jsx("div", {
|
|
437
419
|
...mergeProps(themeProps('resize-handle-pill'), stylex.props(styles.pill, isHorizontal ? styles.pillHorizontal : styles.pillVertical, effectiveSide !== 'center' && (isHorizontal ? dynamicStyles.pillOffsetX(effectiveSide === 'start' ? -1 : 1) : dynamicStyles.pillOffsetY(effectiveSide === 'start' ? -1 : 1)), isAlwaysVisible ? styles.pillVisible : styles.pillHidden, isInteracting && !isDragging && styles.pillHover, isDragging && styles.pillActive))
|
|
438
|
-
}
|
|
439
|
-
}
|
|
420
|
+
})]
|
|
421
|
+
});
|
|
440
422
|
}
|
|
441
423
|
ResizeHandle.displayName = 'ResizeHandle';
|
package/dist/Section/Section.js
CHANGED
|
@@ -40,7 +40,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
40
40
|
* Visual variant for the section.
|
|
41
41
|
* Extensible via module augmentation of SectionVariantMap.
|
|
42
42
|
*/
|
|
43
|
-
import {
|
|
43
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
44
44
|
const variantStyles = {
|
|
45
45
|
section: {
|
|
46
46
|
kWkggS: "x10xzikg",
|
|
@@ -157,7 +157,7 @@ export function Section({
|
|
|
157
157
|
const effectivePadding = padding ?? 4;
|
|
158
158
|
const paddingToken = spacingStepToToken[effectivePadding];
|
|
159
159
|
const outerStylex = stylex.props(nestedStyles.outer, dynamicStyles.sizing(width ?? null, height ?? null, maxWidth ?? null, minHeight ?? null), xstyle);
|
|
160
|
-
return /*#__PURE__*/
|
|
160
|
+
return /*#__PURE__*/_jsx("div", {
|
|
161
161
|
ref: ref,
|
|
162
162
|
className: [outerStylex.className, className].filter(Boolean).join(' ') || undefined,
|
|
163
163
|
style: style && outerStylex.style ? {
|
|
@@ -165,7 +165,7 @@ export function Section({
|
|
|
165
165
|
...style
|
|
166
166
|
} : style || outerStylex.style,
|
|
167
167
|
...props,
|
|
168
|
-
children: /*#__PURE__*/
|
|
168
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
169
169
|
...mergeProps(themeProps('section', {
|
|
170
170
|
variant
|
|
171
171
|
}), stylex.props(nestedStyles.inner, ...container(useThemeDefault ? {
|
|
@@ -177,7 +177,7 @@ export function Section({
|
|
|
177
177
|
paddingOuterY: paddingToken
|
|
178
178
|
}), !useThemeDefault && effectivePadding !== 4 && paddingStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingInlineVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockStartVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockEndVarStyles[effectivePadding], !useThemeDefault && sectionPaddingPropagationStyles[effectivePadding], paddingBlock != null && paddingBlockStyles[paddingBlock], paddingBlock != null && containerPaddingBlockStartVarStyles[paddingBlock], paddingBlock != null && containerPaddingBlockEndVarStyles[paddingBlock], variantStyles[variant], dividers?.includes('top') && dividerStyles.top, dividers?.includes('bottom') && dividerStyles.bottom, dividers?.includes('start') && dividerStyles.start, dividers?.includes('end') && dividerStyles.end)),
|
|
179
179
|
children: children
|
|
180
|
-
}
|
|
181
|
-
}
|
|
180
|
+
})
|
|
181
|
+
});
|
|
182
182
|
}
|
|
183
183
|
Section.displayName = 'Section';
|
|
@@ -73,7 +73,7 @@ export interface SegmentedControlProps extends Omit<BaseProps<HTMLDivElement>, '
|
|
|
73
73
|
* </SegmentedControl>
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
|
-
export declare function SegmentedControl({ ref, value, onChange, label, size: sizeProp, layout, isDisabled, disabledMessage, children, xstyle, className, style,
|
|
76
|
+
export declare function SegmentedControl({ ref, value, onChange, label, size: sizeProp, layout, isDisabled, disabledMessage, children, xstyle, className, style, }: SegmentedControlProps): React.JSX.Element;
|
|
77
77
|
export declare namespace SegmentedControl {
|
|
78
78
|
var displayName: string;
|
|
79
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAOlE,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAOlE,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,qBAqHvB;yBAlIe,gBAAgB"}
|
|
@@ -22,10 +22,10 @@ import { SegmentedControlContext } from "./SegmentedControlContext.js";
|
|
|
22
22
|
import { useListFocus } from "../hooks/useListFocus.js";
|
|
23
23
|
import { useKeyboardHint } from "../hooks/useKeyboardHint.js";
|
|
24
24
|
import { useTooltip } from "../Tooltip/index.js";
|
|
25
|
-
import { mergeProps, mergeRefs
|
|
25
|
+
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
26
26
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
27
27
|
import { themeProps } from "../utils/themeProps.js";
|
|
28
|
-
import {
|
|
28
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
29
|
// =============================================================================
|
|
30
30
|
// Styles
|
|
31
31
|
// =============================================================================
|
|
@@ -98,11 +98,7 @@ export function SegmentedControl({
|
|
|
98
98
|
children,
|
|
99
99
|
xstyle,
|
|
100
100
|
className,
|
|
101
|
-
style
|
|
102
|
-
onKeyDown: onKeyDownProp,
|
|
103
|
-
onFocus: onFocusProp,
|
|
104
|
-
onBlur: onBlurProp,
|
|
105
|
-
...rest
|
|
101
|
+
style
|
|
106
102
|
}) {
|
|
107
103
|
const size = useSize(sizeProp, 'md');
|
|
108
104
|
|
|
@@ -140,13 +136,9 @@ export function SegmentedControl({
|
|
|
140
136
|
isEnabled: !isDisabled
|
|
141
137
|
});
|
|
142
138
|
const handleContainerKeyDown = useCallback(e => {
|
|
143
|
-
onKeyDownProp?.(e);
|
|
144
|
-
if (e.defaultPrevented) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
139
|
hint.onKeyDown(e);
|
|
148
140
|
handleKeyDown(e);
|
|
149
|
-
}, [
|
|
141
|
+
}, [hint, handleKeyDown]);
|
|
150
142
|
|
|
151
143
|
// Selection-follows-focus (APG radiogroup): useListFocus only *moves* focus,
|
|
152
144
|
// so whenever it lands focus on a new radio (arrow/Home/End, or a click) we
|
|
@@ -156,24 +148,11 @@ export function SegmentedControl({
|
|
|
156
148
|
// and the already-selected value is skipped so an initial Tab-in (or a click
|
|
157
149
|
// on the current segment) is a no-op, matching click behavior.
|
|
158
150
|
const handleContainerFocus = useCallback(e => {
|
|
159
|
-
onFocusProp?.(e);
|
|
160
|
-
if (e.defaultPrevented) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
151
|
hint.onFocus(e);
|
|
164
152
|
handleFocus(e);
|
|
165
153
|
if (isDisabled) {
|
|
166
154
|
return;
|
|
167
155
|
}
|
|
168
|
-
// Only select when focus moved WITHIN the group (arrow/Home/End — APG
|
|
169
|
-
// selection-follows-focus). When focus is entering from outside, Tab
|
|
170
|
-
// must stay a pure focus move: with an unmatched or disabled-selected
|
|
171
|
-
// value the roving tab stop falls back to the first enabled radio, and
|
|
172
|
-
// selecting it here would rewrite the form value on mere traversal.
|
|
173
|
-
// Clicks are unaffected: the item's own handleClick selects.
|
|
174
|
-
if (!e.currentTarget.contains(e.relatedTarget)) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
156
|
const focused = e.target?.closest('[role="radio"][data-value]');
|
|
178
157
|
if (!focused || focused.getAttribute('aria-disabled') === 'true') {
|
|
179
158
|
return;
|
|
@@ -182,7 +161,7 @@ export function SegmentedControl({
|
|
|
182
161
|
if (nextValue != null && nextValue !== value) {
|
|
183
162
|
onChange(nextValue);
|
|
184
163
|
}
|
|
185
|
-
}, [
|
|
164
|
+
}, [hint, handleFocus, isDisabled, onChange, value]);
|
|
186
165
|
const contextValue = useMemo(() => ({
|
|
187
166
|
value,
|
|
188
167
|
onChange,
|
|
@@ -191,23 +170,22 @@ export function SegmentedControl({
|
|
|
191
170
|
isDisabled,
|
|
192
171
|
hasDisabledMessage: showsDisabledMessage
|
|
193
172
|
}), [value, onChange, size, layout, isDisabled, showsDisabledMessage]);
|
|
194
|
-
return /*#__PURE__*/
|
|
173
|
+
return /*#__PURE__*/_jsxs(SegmentedControlContext, {
|
|
195
174
|
value: contextValue,
|
|
196
|
-
children: [/*#__PURE__*/
|
|
175
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
197
176
|
ref: mergeRefs(ref, listRef, disabledMessageTooltip.ref),
|
|
198
|
-
...rest,
|
|
199
177
|
role: "radiogroup",
|
|
200
178
|
"aria-label": label,
|
|
201
179
|
"aria-disabled": isDisabled || undefined,
|
|
202
180
|
"aria-describedby": showsDisabledMessage ? disabledMessageTooltip.describedBy : undefined,
|
|
203
181
|
onKeyDown: handleContainerKeyDown,
|
|
204
182
|
onFocus: handleContainerFocus,
|
|
205
|
-
onBlur:
|
|
183
|
+
onBlur: hint.onBlur,
|
|
206
184
|
...mergeProps(themeProps('segmented-control', {
|
|
207
185
|
size
|
|
208
186
|
}), stylex.props(styles.container, sizeStyles[size], layout === 'fill' && styles.fill, isDisabled && (showsDisabledMessage ? styles.disabledWithMessage : styles.disabled), xstyle), className, style),
|
|
209
187
|
children: [children, hint.hintElement]
|
|
210
|
-
}
|
|
211
|
-
}
|
|
188
|
+
}), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
189
|
+
});
|
|
212
190
|
}
|
|
213
191
|
SegmentedControl.displayName = 'SegmentedControl';
|
|
@@ -48,7 +48,7 @@ export interface SegmentedControlItemProps extends BaseProps<HTMLButtonElement>
|
|
|
48
48
|
* <SegmentedControlItem value="grid" label="Grid" icon={<GridIcon />} />
|
|
49
49
|
* ```
|
|
50
50
|
*/
|
|
51
|
-
export declare function SegmentedControlItem({ ref, value, label, isLabelHidden, icon, isDisabled,
|
|
51
|
+
export declare function SegmentedControlItem({ ref, value, label, isLabelHidden, icon, isDisabled, }: SegmentedControlItemProps): React.JSX.Element;
|
|
52
52
|
export declare namespace SegmentedControlItem {
|
|
53
53
|
var displayName: string;
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControlItem.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControlItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SegmentedControlItem.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControlItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAc,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAezD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,yBAA0B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC7E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6FD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAqB,EACrB,IAAI,EACJ,UAAkB,GACnB,EAAE,yBAAyB,qBA6D3B;yBApEe,oBAAoB"}
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
* - /packages/core/src/SegmentedControl/SegmentedControl.test.tsx
|
|
15
15
|
* - /packages/cli/templates/blocks/components/SegmentedControl/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
|
-
import React from 'react';
|
|
17
|
+
import React, { useCallback } from 'react';
|
|
18
18
|
import * as stylex from '@stylexjs/stylex';
|
|
19
19
|
import "../theme/tokens.stylex.js";
|
|
20
20
|
import { colorVars, spacingVars, sizeVars, durationVars, easeVars, fontWeightVars, shadowVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
21
21
|
import { useSegmentedControlContext } from "./SegmentedControlContext.js";
|
|
22
|
-
import { mergeProps
|
|
22
|
+
import { mergeProps } from "../utils/index.js";
|
|
23
23
|
import { themeProps } from "../utils/themeProps.js";
|
|
24
|
-
import {
|
|
24
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
25
|
// =============================================================================
|
|
26
26
|
// Styles
|
|
27
27
|
// =============================================================================
|
|
@@ -134,9 +134,7 @@ export function SegmentedControlItem({
|
|
|
134
134
|
label,
|
|
135
135
|
isLabelHidden = false,
|
|
136
136
|
icon,
|
|
137
|
-
isDisabled = false
|
|
138
|
-
onClick: onClickProp,
|
|
139
|
-
...rest
|
|
137
|
+
isDisabled = false
|
|
140
138
|
}) {
|
|
141
139
|
const ctx = useSegmentedControlContext();
|
|
142
140
|
const isSelected = ctx.value === value;
|
|
@@ -148,21 +146,17 @@ export function SegmentedControlItem({
|
|
|
148
146
|
const keepsSelectedFocusable = isSelected && (ctx.hasDisabledMessage ?? false) && !isDisabled;
|
|
149
147
|
const size = ctx.size;
|
|
150
148
|
const isFill = ctx.layout === 'fill';
|
|
151
|
-
|
|
152
|
-
// Consumer-first: a consumer onClick can call preventDefault() to opt out of
|
|
153
|
-
// selection; otherwise selection proceeds when enabled and not selected.
|
|
154
|
-
const handleClick = composeEventHandlers(onClickProp, () => {
|
|
149
|
+
const handleClick = useCallback(() => {
|
|
155
150
|
if (!isItemDisabled && !isSelected) {
|
|
156
151
|
ctx.onChange(value);
|
|
157
152
|
}
|
|
158
|
-
});
|
|
159
|
-
const iconElement = icon ? /*#__PURE__*/
|
|
153
|
+
}, [ctx, value, isItemDisabled, isSelected]);
|
|
154
|
+
const iconElement = icon ? /*#__PURE__*/_jsx("span", {
|
|
160
155
|
...stylex.props(styles.icon, iconSizeStyles[size]),
|
|
161
156
|
children: icon
|
|
162
|
-
}
|
|
163
|
-
return /*#__PURE__*/
|
|
157
|
+
}) : null;
|
|
158
|
+
return /*#__PURE__*/_jsxs("button", {
|
|
164
159
|
ref: ref,
|
|
165
|
-
...rest,
|
|
166
160
|
type: "button",
|
|
167
161
|
role: "radio",
|
|
168
162
|
"aria-checked": isSelected,
|
|
@@ -182,9 +176,9 @@ export function SegmentedControlItem({
|
|
|
182
176
|
selected: isSelected ? 'selected' : null,
|
|
183
177
|
disabled: isItemDisabled ? 'disabled' : null
|
|
184
178
|
}), stylex.props(styles.base, sizeStyles[size], isFill && styles.fill, isSelected && styles.selected, !isSelected && !isItemDisabled && styles.hover, isItemDisabled && styles.disabled)),
|
|
185
|
-
children: [iconElement, !isLabelHidden && /*#__PURE__*/
|
|
179
|
+
children: [iconElement, !isLabelHidden && /*#__PURE__*/_jsx("span", {
|
|
186
180
|
children: label
|
|
187
|
-
}
|
|
188
|
-
}
|
|
181
|
+
})]
|
|
182
|
+
});
|
|
189
183
|
}
|
|
190
184
|
SegmentedControlItem.displayName = 'SegmentedControlItem';
|
|
@@ -37,7 +37,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
37
37
|
// =============================================================================
|
|
38
38
|
// Styles — selection + interaction; Card handles the rest
|
|
39
39
|
// =============================================================================
|
|
40
|
-
import {
|
|
40
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
41
41
|
const styles = {
|
|
42
42
|
interactive: {
|
|
43
43
|
kVAEAm: "x1n2onr6",
|
|
@@ -237,7 +237,7 @@ export function SelectableCard({
|
|
|
237
237
|
onMouseUp(e);
|
|
238
238
|
onMouseUpProp(e);
|
|
239
239
|
} : onMouseUp;
|
|
240
|
-
return /*#__PURE__*/
|
|
240
|
+
return /*#__PURE__*/_jsxs(Card, {
|
|
241
241
|
ref: mergeRefs(ref, containerRef),
|
|
242
242
|
width: width,
|
|
243
243
|
height: height,
|
|
@@ -255,7 +255,7 @@ export function SelectableCard({
|
|
|
255
255
|
onClick: !isDisabled ? composedOnClick : undefined,
|
|
256
256
|
onMouseUp: !isDisabled ? composedOnMouseUp : undefined,
|
|
257
257
|
...props,
|
|
258
|
-
children: [/*#__PURE__*/
|
|
258
|
+
children: [/*#__PURE__*/_jsx("input", {
|
|
259
259
|
ref: interactiveRef,
|
|
260
260
|
type: "checkbox",
|
|
261
261
|
checked: isSelected,
|
|
@@ -265,7 +265,7 @@ export function SelectableCard({
|
|
|
265
265
|
...{
|
|
266
266
|
className: "x10l6tqk x1i1rx1s xjm9jq1 x1717udv xkdpibf xb3r6kr xzpqnlu xuxw1ft xc342km"
|
|
267
267
|
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
268
|
+
}), children]
|
|
269
|
+
});
|
|
270
270
|
}
|
|
271
271
|
SelectableCard.displayName = 'SelectableCard';
|
|
@@ -35,7 +35,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
35
35
|
import { groupStyles } from "../InputGroup/groupStyles.js";
|
|
36
36
|
import { useInputGroup } from "../InputGroup/InputGroupContext.js";
|
|
37
37
|
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
38
|
-
import {
|
|
38
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
39
39
|
const styles = {
|
|
40
40
|
triggerContainer: {
|
|
41
41
|
kVAEAm: "x1n2onr6",
|
|
@@ -158,10 +158,10 @@ const STATUS_ICON_COLOR_MAP = {
|
|
|
158
158
|
function DefaultOption({
|
|
159
159
|
option
|
|
160
160
|
}) {
|
|
161
|
-
return /*#__PURE__*/
|
|
161
|
+
return /*#__PURE__*/_jsx(SelectorOption, {
|
|
162
162
|
icon: option.icon,
|
|
163
163
|
label: option.label ?? option.value
|
|
164
|
-
}
|
|
164
|
+
});
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/**
|
|
@@ -388,11 +388,11 @@ export function Selector(props) {
|
|
|
388
388
|
if (!hasSearch) {
|
|
389
389
|
return null;
|
|
390
390
|
}
|
|
391
|
-
return /*#__PURE__*/
|
|
391
|
+
return /*#__PURE__*/_jsx("div", {
|
|
392
392
|
...{
|
|
393
393
|
className: "xf314gf xu0wf1k"
|
|
394
394
|
},
|
|
395
|
-
children: /*#__PURE__*/
|
|
395
|
+
children: /*#__PURE__*/_jsx("input", {
|
|
396
396
|
ref: searchRef,
|
|
397
397
|
id: searchId
|
|
398
398
|
// When hasSearch is set, focus moves into this input on open, so it —
|
|
@@ -420,15 +420,15 @@ export function Selector(props) {
|
|
|
420
420
|
...{
|
|
421
421
|
className: "x9f619 xh8yej3 xu0wf1k xf314gf x1litavf x1y0btm7 xvy26l8 xh6dtrn x10xzikg x9ynric xcr08ib xdk3u5w x1tgivj0 x1a2a7pz xzeu18z x1wfwxd8"
|
|
422
422
|
}
|
|
423
|
-
}
|
|
424
|
-
}
|
|
423
|
+
})
|
|
424
|
+
});
|
|
425
425
|
}, [hasSearch, searchId, listboxId, searchQuery, searchPlaceholder, onKeyDown, popover.isOpen, highlightedIndex, getItemId]);
|
|
426
426
|
|
|
427
427
|
// Render an individual item
|
|
428
428
|
const renderItem = useCallback((item, flatIndex) => {
|
|
429
429
|
const isHighlighted = flatIndex === highlightedIndex;
|
|
430
430
|
const isSelected = item.value === normalizedValue;
|
|
431
|
-
return /*#__PURE__*/
|
|
431
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
432
432
|
id: getItemId(flatIndex),
|
|
433
433
|
role: "option",
|
|
434
434
|
"aria-selected": isSelected,
|
|
@@ -436,19 +436,19 @@ export function Selector(props) {
|
|
|
436
436
|
onClick: () => onItemSelect(item),
|
|
437
437
|
onMouseEnter: () => onItemMouseEnter(item, flatIndex),
|
|
438
438
|
...stylex.props(styles.item, itemSizeStyles[size], isHighlighted && styles.itemHighlighted, isSelected && styles.itemSelected, item.disabled && styles.itemDisabled),
|
|
439
|
-
children: [/*#__PURE__*/
|
|
439
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
440
440
|
...{
|
|
441
441
|
className: "x78zum5 x6s0dn4 x1txdalj x98rzlu xeuugli"
|
|
442
442
|
},
|
|
443
|
-
children: renderOption ? renderOption(item) : /*#__PURE__*/
|
|
443
|
+
children: renderOption ? renderOption(item) : /*#__PURE__*/_jsx(DefaultOption, {
|
|
444
444
|
option: item
|
|
445
|
-
}
|
|
446
|
-
}
|
|
445
|
+
})
|
|
446
|
+
}), isSelected && /*#__PURE__*/_jsx(Icon, {
|
|
447
447
|
icon: "check",
|
|
448
448
|
size: "sm",
|
|
449
449
|
color: "accent"
|
|
450
|
-
}
|
|
451
|
-
}, item.value
|
|
450
|
+
})]
|
|
451
|
+
}, item.value);
|
|
452
452
|
}, [renderOption, highlightedIndex, size, normalizedValue, getItemId, onItemSelect, onItemMouseEnter]);
|
|
453
453
|
|
|
454
454
|
// Render all options (handling sections/dividers)
|
|
@@ -456,12 +456,12 @@ export function Selector(props) {
|
|
|
456
456
|
// When search is active, render filtered items flat (no sections/dividers)
|
|
457
457
|
if (hasSearch && searchQuery) {
|
|
458
458
|
if (filteredItems.length === 0) {
|
|
459
|
-
return [/*#__PURE__*/
|
|
459
|
+
return [/*#__PURE__*/_jsx("div", {
|
|
460
460
|
...{
|
|
461
461
|
className: "x1b2ylru x2b8uid xv1l7n4 x9ynric xcr08ib"
|
|
462
462
|
},
|
|
463
463
|
children: "No results found"
|
|
464
|
-
}, "empty"
|
|
464
|
+
}, "empty")];
|
|
465
465
|
}
|
|
466
466
|
return filteredItems.map((item, index) => renderItem(item, index));
|
|
467
467
|
}
|
|
@@ -470,9 +470,9 @@ export function Selector(props) {
|
|
|
470
470
|
for (let i = 0; i < options.length; i++) {
|
|
471
471
|
const option = options[i];
|
|
472
472
|
if (isDivider(option)) {
|
|
473
|
-
elements.push(/*#__PURE__*/
|
|
473
|
+
elements.push(/*#__PURE__*/_jsx(Divider, {
|
|
474
474
|
xstyle: styles.divider
|
|
475
|
-
}, `divider-${i}
|
|
475
|
+
}, `divider-${i}`));
|
|
476
476
|
} else if (isSection(option)) {
|
|
477
477
|
const sectionItems = [];
|
|
478
478
|
for (const opt of option.options) {
|
|
@@ -480,16 +480,16 @@ export function Selector(props) {
|
|
|
480
480
|
flatIndex++;
|
|
481
481
|
}
|
|
482
482
|
if (option.title) {
|
|
483
|
-
elements.push(/*#__PURE__*/
|
|
483
|
+
elements.push(/*#__PURE__*/_jsx(Divider, {
|
|
484
484
|
label: option.title,
|
|
485
485
|
xstyle: styles.sectionDivider
|
|
486
|
-
}, `section-divider-${i}
|
|
486
|
+
}, `section-divider-${i}`));
|
|
487
487
|
}
|
|
488
|
-
elements.push(/*#__PURE__*/
|
|
488
|
+
elements.push(/*#__PURE__*/_jsx("div", {
|
|
489
489
|
role: "group",
|
|
490
490
|
"aria-label": option.title,
|
|
491
491
|
children: sectionItems
|
|
492
|
-
}, `section-${i}
|
|
492
|
+
}, `section-${i}`));
|
|
493
493
|
} else if (isOptionData(option)) {
|
|
494
494
|
elements.push(renderItem(normalizeOption(option), flatIndex));
|
|
495
495
|
flatIndex++;
|
|
@@ -497,8 +497,8 @@ export function Selector(props) {
|
|
|
497
497
|
}
|
|
498
498
|
return elements;
|
|
499
499
|
}, [options, renderItem, hasSearch, searchQuery, filteredItems]);
|
|
500
|
-
const selectorContent = /*#__PURE__*/
|
|
501
|
-
children: [/*#__PURE__*/
|
|
500
|
+
const selectorContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
501
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
502
502
|
ref: el => {
|
|
503
503
|
popover.triggerRef(el);
|
|
504
504
|
// Anchor + hover/focus listeners for the disabled-message tooltip.
|
|
@@ -515,10 +515,10 @@ export function Selector(props) {
|
|
|
515
515
|
children: [startIcon && renderIconSlot(startIcon, {
|
|
516
516
|
size: 'sm',
|
|
517
517
|
color: 'secondary'
|
|
518
|
-
}), inputGroup && /*#__PURE__*/
|
|
518
|
+
}), inputGroup && /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
519
519
|
id: inputLabelId,
|
|
520
520
|
children: label
|
|
521
|
-
}
|
|
521
|
+
}), /*#__PURE__*/_jsx("button", {
|
|
522
522
|
ref: triggerRef,
|
|
523
523
|
id: triggerId,
|
|
524
524
|
type: "button"
|
|
@@ -548,13 +548,13 @@ export function Selector(props) {
|
|
|
548
548
|
...{
|
|
549
549
|
className: "x78zum5 x6s0dn4 x1qughib x1txdalj x1iyjqo2 xs83m0k x1r8uery xeuugli x1717udv x1ghz6dp xc342km xng3xce xjbqb8w xjb2p0i x1qlqyl8 x15bjb6t x1heor9g x1ypdohk x1a2a7pz"
|
|
550
550
|
},
|
|
551
|
-
children: /*#__PURE__*/
|
|
551
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
552
552
|
...{
|
|
553
553
|
className: "x1iyjqo2 xeuugli xb3r6kr xlyipyv xuxw1ft x1yc453h"
|
|
554
554
|
},
|
|
555
555
|
children: selectedItem?.label ?? placeholder
|
|
556
|
-
}
|
|
557
|
-
}
|
|
556
|
+
})
|
|
557
|
+
}), htmlName != null && /*#__PURE__*/_jsx("input", {
|
|
558
558
|
type: "hidden",
|
|
559
559
|
name: htmlName,
|
|
560
560
|
value: value ?? ''
|
|
@@ -562,21 +562,21 @@ export function Selector(props) {
|
|
|
562
562
|
// mirror that for the hidden carrier.
|
|
563
563
|
,
|
|
564
564
|
disabled: isDisabled
|
|
565
|
-
}
|
|
565
|
+
}), isBusy && /*#__PURE__*/_jsx(Spinner, {
|
|
566
566
|
size: "sm"
|
|
567
|
-
}
|
|
567
|
+
}), hasClear && value != null && !isDisabled && /*#__PURE__*/_jsx("button", {
|
|
568
568
|
type: "button",
|
|
569
569
|
onClick: handleClear,
|
|
570
570
|
"aria-label": `Clear ${label}`,
|
|
571
571
|
...{
|
|
572
572
|
className: "x78zum5 x6s0dn4 xl56j7k x1717udv x1ghz6dp xc342km xng3xce xjbqb8w x1ypdohk xh6dtrn x1a2a7pz x1p25gnr x1y3gkto"
|
|
573
573
|
},
|
|
574
|
-
children: /*#__PURE__*/
|
|
574
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
575
575
|
icon: "close",
|
|
576
576
|
size: "sm",
|
|
577
577
|
color: "secondary"
|
|
578
|
-
}
|
|
579
|
-
}
|
|
578
|
+
})
|
|
579
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
580
580
|
...{
|
|
581
581
|
0: {
|
|
582
582
|
className: "x2lah0s x78zum5 x6s0dn4 xl56j7k x1kky2od xlup9mm x11xpdln xuedmi6 xlr8y92 x1g0ag68 xv9yike"
|
|
@@ -591,18 +591,18 @@ export function Selector(props) {
|
|
|
591
591
|
className: "x2lah0s x78zum5 x6s0dn4 xl56j7k x1kky2od xlup9mm x11xpdln xuedmi6 xlr8y92 x1g0ag68 xv9yike x19jd1h0 xq2gx43"
|
|
592
592
|
}
|
|
593
593
|
}[!!(!status && popover.isOpen) << 1 | !!status << 0],
|
|
594
|
-
children: status ? /*#__PURE__*/
|
|
594
|
+
children: status ? /*#__PURE__*/_jsx(Icon, {
|
|
595
595
|
icon: STATUS_ICON_MAP[status.type],
|
|
596
596
|
size: "sm",
|
|
597
597
|
color: STATUS_ICON_COLOR_MAP[status.type]
|
|
598
|
-
}
|
|
598
|
+
}) : /*#__PURE__*/_jsx(Icon, {
|
|
599
599
|
icon: "chevronDown",
|
|
600
600
|
size: "sm",
|
|
601
601
|
color: "inherit"
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
children: [renderSearch(), /*#__PURE__*/
|
|
602
|
+
})
|
|
603
|
+
})]
|
|
604
|
+
}), popover.render(hasSearch ? /*#__PURE__*/_jsxs("div", {
|
|
605
|
+
children: [renderSearch(), /*#__PURE__*/_jsx("div", {
|
|
606
606
|
ref: listboxRef,
|
|
607
607
|
id: listboxId,
|
|
608
608
|
role: "listbox",
|
|
@@ -611,8 +611,8 @@ export function Selector(props) {
|
|
|
611
611
|
className: "x9f619 xuyqlj2 x1odjw0f x9epnlk x1hc1fzr x1ey1afo"
|
|
612
612
|
},
|
|
613
613
|
children: renderOptions()
|
|
614
|
-
}
|
|
615
|
-
}
|
|
614
|
+
})]
|
|
615
|
+
}) : /*#__PURE__*/_jsx("div", {
|
|
616
616
|
ref: listboxRef,
|
|
617
617
|
id: listboxId,
|
|
618
618
|
role: "listbox",
|
|
@@ -626,17 +626,17 @@ export function Selector(props) {
|
|
|
626
626
|
}
|
|
627
627
|
}[!!!isPositioned << 0],
|
|
628
628
|
children: renderOptions()
|
|
629
|
-
}
|
|
629
|
+
}), {
|
|
630
630
|
placement: popoverPlacement,
|
|
631
631
|
alignment: 'start',
|
|
632
632
|
xstyle: [styles.popover, layerAnimations[popoverPlacement]],
|
|
633
633
|
style: popoverOffsetStyle
|
|
634
634
|
}), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
635
|
-
}
|
|
635
|
+
});
|
|
636
636
|
if (inputGroup) {
|
|
637
637
|
return selectorContent;
|
|
638
638
|
}
|
|
639
|
-
return /*#__PURE__*/
|
|
639
|
+
return /*#__PURE__*/_jsx(Field, {
|
|
640
640
|
label: label,
|
|
641
641
|
isLabelHidden: isLabelHidden,
|
|
642
642
|
description: description,
|
|
@@ -653,6 +653,6 @@ export function Selector(props) {
|
|
|
653
653
|
labelTooltip: labelTooltip,
|
|
654
654
|
width: width,
|
|
655
655
|
children: selectorContent
|
|
656
|
-
}
|
|
656
|
+
});
|
|
657
657
|
}
|
|
658
658
|
Selector.displayName = 'Selector';
|