@astryxdesign/core 0.1.3 → 0.1.4-canary.01e5b29
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 +51 -0
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +20 -18
- 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 +55 -53
- package/dist/AspectRatio/AspectRatio.js +5 -5
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +27 -25
- 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 +32 -25
- 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.d.ts.map +1 -1
- package/dist/Button/Button.js +47 -26
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +108 -64
- package/dist/Calendar/dayCellUtils.d.ts +67 -5
- package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
- package/dist/Calendar/dayCellUtils.js +139 -18
- 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 +4 -2
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +18 -10
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +20 -19
- 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.map +1 -1
- package/dist/Chat/ChatComposerInput.js +27 -15
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +13 -11
- 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 +12 -10
- 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 +14 -12
- 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 +24 -15
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +81 -74
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -15
- package/dist/CheckboxInput/CheckboxInput.d.ts +6 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +32 -24
- 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 +8 -6
- package/dist/Citation/Citation.js +10 -10
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +32 -9
- package/dist/Code/Code.d.ts +15 -1
- package/dist/Code/Code.d.ts.map +1 -1
- package/dist/Code/Code.js +35 -5
- package/dist/Code/index.d.ts +1 -1
- package/dist/Code/index.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +88 -52
- package/dist/CodeBlock/index.d.ts +1 -1
- package/dist/CodeBlock/index.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.d.ts +9 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +110 -22
- package/dist/Collapsible/CollapsibleGroup.d.ts +39 -7
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +73 -12
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +31 -0
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +33 -3
- package/dist/Collapsible/index.d.ts +1 -0
- package/dist/Collapsible/index.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.d.ts +4 -1
- package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.js +20 -6
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +36 -34
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +27 -7
- 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 +9 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +16 -11
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +23 -23
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -7
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +30 -26
- 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.d.ts +0 -22
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +7 -7
- package/dist/DropdownMenu/DropdownMenu.js +10 -10
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -17
- 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 +4 -3
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +29 -12
- 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.js +3 -3
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +16 -12
- 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.js +5 -5
- 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 +55 -31
- 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/Markdown/parser.d.ts +7 -0
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +300 -6
- 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.d.ts +7 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +64 -55
- 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 +48 -32
- 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 +125 -72
- 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 +110 -92
- 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 +25 -18
- package/dist/RadioList/RadioList.d.ts +7 -1
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +10 -8
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +30 -22
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +28 -10
- 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 +32 -10
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +18 -12
- package/dist/SelectableCard/SelectableCard.js +5 -5
- package/dist/Selector/Selector.d.ts +6 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +54 -45
- package/dist/Selector/SelectorOption.js +3 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +38 -34
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +8 -6
- 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 +18 -16
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.d.ts +6 -0
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +31 -22
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +10 -10
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +13 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +41 -30
- 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 +57 -30
- package/dist/TabList/tab.markers.stylex.d.ts +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +51 -39
- 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 +9 -5
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +76 -7
- package/dist/Table/TableFooter.d.ts +1 -1
- package/dist/Table/TableFooter.d.ts.map +1 -1
- package/dist/Table/TableFooter.js +9 -5
- package/dist/Table/TableHeader.d.ts +1 -1
- package/dist/Table/TableHeader.d.ts.map +1 -1
- package/dist/Table/TableHeader.js +9 -5
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/TableRow.js +5 -5
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +14 -11
- 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 +5 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
- package/dist/Table/plugins/rowExpansion/index.d.ts +3 -0
- package/dist/Table/plugins/rowExpansion/index.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/index.js +3 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +90 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +398 -0
- 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 +11 -1
- 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 +8 -4
- package/dist/Table/tableContextMenu.d.ts +5 -1
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +19 -12
- package/dist/Text/Text.d.ts +1 -1
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +14 -13
- package/dist/Text/text.stylex.d.ts +35 -0
- package/dist/Text/text.stylex.d.ts.map +1 -1
- package/dist/Text/text.stylex.js +52 -1
- package/dist/TextArea/TextArea.js +14 -14
- package/dist/TextInput/TextInput.js +15 -15
- package/dist/Thumbnail/Thumbnail.d.ts +3 -2
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +30 -29
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +26 -21
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +37 -26
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -17
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +23 -11
- 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 +6 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +38 -29
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- 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 +25 -14
- 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 +23 -20
- 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 +23 -0
- package/dist/astryx.umd.js +60 -58
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +13 -1
- 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 +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +3 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +38 -1
- package/dist/hooks/useHotkeys.d.ts +51 -0
- package/dist/hooks/useHotkeys.d.ts.map +1 -0
- package/dist/hooks/useHotkeys.js +160 -0
- package/dist/hooks/useInteractiveRole.d.ts +6 -2
- package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
- package/dist/hooks/useInteractiveRole.js +6 -2
- package/dist/hooks/useKeyboardHint.js +9 -9
- package/dist/hooks/useStreamingText.d.ts +3 -1
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +14 -5
- 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 +10 -3
- package/dist/theme/hct.d.ts +0 -15
- 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 +10 -2
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +220 -4
- package/dist/utils/color.d.ts +42 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.js +150 -0
- package/dist/utils/composeEventHandlers.d.ts +30 -0
- package/dist/utils/composeEventHandlers.d.ts.map +1 -0
- package/dist/utils/composeEventHandlers.js +40 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +8 -5
- package/package.json +3 -3
- package/src/AlertDialog/AlertDialog.tsx +2 -0
- package/src/AppShell/AppShell.tsx +2 -0
- package/src/AspectRatio/AspectRatio.doc.mjs +1 -1
- package/src/Avatar/Avatar.doc.mjs +13 -2
- package/src/Avatar/Avatar.test.tsx +32 -1
- package/src/Avatar/Avatar.tsx +12 -20
- package/src/Banner/Banner.doc.mjs +8 -0
- package/src/Banner/Banner.test.tsx +38 -0
- package/src/Banner/Banner.tsx +8 -1
- package/src/Button/Button.tsx +39 -6
- package/src/ButtonGroup/ButtonGroup.doc.mjs +1 -1
- package/src/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +201 -17
- package/src/Calendar/Calendar.tsx +79 -26
- package/src/Calendar/dayCellUtils.test.ts +306 -1
- package/src/Calendar/dayCellUtils.ts +206 -13
- package/src/Calendar/styles.ts +12 -2
- package/src/Card/Card.doc.mjs +1 -1
- package/src/Card/Card.tsx +16 -6
- package/src/Carousel/Carousel.doc.mjs +12 -12
- package/src/Carousel/Carousel.test.tsx +13 -0
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +24 -0
- package/src/Chat/ChatComposerInput.tsx +17 -1
- package/src/Chat/ChatDictationButton.test.tsx +43 -0
- package/src/Chat/ChatDictationButton.tsx +4 -4
- package/src/Chat/ChatLayoutScrollButton.test.tsx +33 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +3 -1
- package/src/Chat/ChatMessageMetadata.test.tsx +32 -0
- package/src/Chat/ChatMessageMetadata.tsx +4 -6
- package/src/Chat/ChatSystemMessage.test.tsx +26 -11
- package/src/Chat/ChatSystemMessage.tsx +7 -7
- package/src/Chat/ChatTokenizedText.test.tsx +29 -16
- package/src/Chat/ChatTokenizedText.tsx +15 -8
- package/src/Chat/ChatToolCalls.test.tsx +55 -0
- package/src/Chat/ChatToolCalls.tsx +10 -12
- package/src/Chat/index.ts +1 -4
- package/src/Chat/useChatNewMessages.test.tsx +4 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +12 -4
- package/src/CheckboxInput/CheckboxInput.test.tsx +103 -0
- package/src/CheckboxInput/CheckboxInput.tsx +13 -0
- package/src/CheckboxList/CheckboxList.doc.mjs +1 -1
- package/src/CheckboxList/CheckboxList.test.tsx +19 -0
- package/src/CheckboxList/CheckboxListItem.tsx +11 -2
- package/src/Citation/Citation.doc.mjs +5 -0
- package/src/ClickableCard/ClickableCard.tsx +45 -2
- package/src/Code/Code.test.tsx +54 -0
- package/src/Code/Code.tsx +48 -4
- package/src/Code/index.ts +1 -1
- package/src/CodeBlock/CodeBlock.doc.mjs +7 -2
- package/src/CodeBlock/CodeBlock.test.tsx +122 -3
- package/src/CodeBlock/CodeBlock.tsx +62 -4
- package/src/CodeBlock/index.ts +1 -1
- package/src/Collapsible/Collapsible.doc.mjs +8 -4
- package/src/Collapsible/Collapsible.test.tsx +405 -0
- package/src/Collapsible/Collapsible.tsx +86 -10
- package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
- package/src/Collapsible/CollapsibleGroup.test.tsx +318 -0
- package/src/Collapsible/CollapsibleGroup.tsx +107 -9
- package/src/Collapsible/CollapsibleGroupContext.tsx +42 -2
- package/src/Collapsible/index.ts +4 -0
- package/src/Collapsible/useCollapsible.ts +20 -6
- package/src/CommandPalette/CommandPalette.tsx +5 -3
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
- package/src/CommandPalette/CommandPaletteEmpty.tsx +15 -1
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +10 -0
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteList.doc.mjs +9 -0
- package/src/ContextMenu/ContextMenu.doc.mjs +15 -0
- package/src/ContextMenu/ContextMenu.test.tsx +15 -0
- package/src/ContextMenu/ContextMenu.tsx +19 -1
- package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
- package/src/DateInput/DateInput.doc.mjs +6 -1
- package/src/DateInput/DateInput.test.tsx +11 -20
- package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
- package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
- package/src/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +4 -3
- package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
- package/src/DateTimeInput/DateTimeInput.tsx +9 -8
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/DialogHeader.doc.mjs +45 -0
- package/src/Divider/Divider.tsx +1 -23
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +5 -3
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/Field/Field.doc.mjs +1 -1
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FieldStatus/FieldStatus.test.tsx +282 -0
- package/src/FileInput/FileInput.doc.mjs +1 -1
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
- package/src/Grid/Grid.doc.mjs +3 -3
- package/src/Grid/Grid.test.tsx +43 -18
- package/src/Grid/Grid.tsx +26 -9
- package/src/Icon/Icon.test.tsx +41 -29
- package/src/Icon/Icon.tsx +6 -2
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
- package/src/Item/Item.tsx +1 -1
- package/src/Layout/Layout.test.tsx +285 -0
- package/src/Layout/LayoutContent.doc.mjs +12 -0
- package/src/Layout/LayoutPanel.doc.mjs +40 -0
- package/src/Layout/LayoutSlots.test.tsx +364 -0
- package/src/Layout/__tests__/edgeCompensation.test.tsx +72 -0
- package/src/Lightbox/Lightbox.doc.mjs +5 -0
- package/src/Lightbox/Lightbox.test.tsx +123 -2
- package/src/Lightbox/Lightbox.tsx +29 -1
- package/src/Markdown/Markdown.test.tsx +23 -0
- package/src/Markdown/Markdown.tsx +9 -7
- package/src/Markdown/incremental.test.ts +36 -0
- package/src/Markdown/parser.perf.test.ts +34 -12
- package/src/Markdown/parser.test.ts +210 -0
- package/src/Markdown/parser.ts +301 -6
- package/src/MobileNav/MobileNav.doc.mjs +20 -0
- package/src/MultiSelector/MultiSelector.doc.mjs +14 -1
- package/src/MultiSelector/MultiSelector.test.tsx +33 -0
- package/src/MultiSelector/MultiSelector.tsx +20 -0
- package/src/NavMenu/NavMenu.doc.mjs +15 -0
- package/src/NumberInput/NumberInput.test.tsx +48 -3
- package/src/NumberInput/NumberInput.tsx +32 -15
- package/src/Outline/parseOutlineFromMarkdown.test.ts +80 -0
- package/src/OverflowList/OverflowList.test.tsx +416 -0
- package/src/Overlay/Overlay.doc.mjs +6 -0
- package/src/Overlay/Overlay.test.tsx +356 -0
- package/src/Pagination/Pagination.test.tsx +162 -0
- package/src/Pagination/Pagination.tsx +80 -26
- package/src/Popover/Popover.test.tsx +65 -0
- package/src/PowerSearch/PowerSearch.doc.mjs +4 -4
- package/src/PowerSearch/PowerSearch.test.tsx +109 -1
- package/src/PowerSearch/PowerSearch.tsx +37 -16
- package/src/ProgressBar/ProgressBar.test.tsx +30 -0
- package/src/ProgressBar/ProgressBar.tsx +12 -5
- package/src/RadioList/RadioList.doc.mjs +7 -1
- package/src/RadioList/RadioList.test.tsx +65 -0
- package/src/RadioList/RadioList.tsx +10 -1
- package/src/RadioList/RadioListItem.tsx +13 -4
- package/src/Resizable/ResizeHandle.test.tsx +218 -0
- package/src/Resizable/ResizeHandle.tsx +22 -4
- package/src/Section/Section.test.tsx +4 -10
- package/src/SegmentedControl/SegmentedControl.doc.mjs +2 -2
- package/src/SegmentedControl/SegmentedControl.test.tsx +192 -0
- package/src/SegmentedControl/SegmentedControl.tsx +27 -5
- package/src/SegmentedControl/SegmentedControlItem.tsx +9 -4
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +12 -1
- package/src/Selector/Selector.test.tsx +30 -0
- package/src/Selector/Selector.tsx +18 -0
- package/src/SideNav/SideNav.doc.mjs +7 -1
- package/src/SideNav/SideNav.test.tsx +66 -0
- package/src/SideNav/SideNav.tsx +6 -2
- package/src/SideNav/SideNavCollapseButton.tsx +4 -3
- package/src/SideNav/SideNavSection.tsx +6 -4
- package/src/SizeContext/SizeContext.test.tsx +226 -0
- package/src/Slider/Slider.doc.mjs +14 -2
- package/src/Slider/Slider.test.tsx +30 -0
- package/src/Slider/Slider.tsx +20 -0
- package/src/Spinner/Spinner.tsx +1 -0
- package/src/Switch/Switch.doc.mjs +21 -9
- package/src/Switch/Switch.test.tsx +137 -0
- package/src/Switch/Switch.tsx +32 -7
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +185 -1
- package/src/TabList/TabMenu.tsx +45 -9
- package/src/Table/BaseTable.tsx +16 -3
- package/src/Table/Table.test.tsx +87 -0
- package/src/Table/TableBody.tsx +15 -2
- package/src/Table/TableCell.tsx +87 -8
- package/src/Table/TableFooter.tsx +15 -2
- package/src/Table/TableHeader.tsx +15 -2
- package/src/Table/index.ts +5 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +13 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +3 -1
- package/src/Table/plugins/pagination/paginateData.ts +5 -1
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
- package/src/Table/plugins/rowExpansion/index.ts +7 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +155 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +590 -0
- package/src/Table/plugins/selection/useTableSelectionState.test.tsx +23 -0
- package/src/Table/plugins/selection/useTableSelectionState.tsx +11 -6
- package/src/Table/plugins/sortable/useTableSortableState.test.tsx +35 -1
- package/src/Table/plugins/sortable/useTableSortableState.tsx +8 -4
- package/src/Table/tableContextMenu.test.tsx +27 -3
- package/src/Table/tableContextMenu.tsx +20 -2
- package/src/Table/useTablePagination.doc.mjs +4 -1
- package/src/Table/useTableRowExpansion.doc.mjs +80 -0
- package/src/Table/useTableSortable.doc.mjs +4 -1
- package/src/Text/Text.doc.mjs +2 -2
- package/src/Text/Text.test.tsx +11 -0
- package/src/Text/Text.tsx +4 -2
- package/src/Text/text.stylex.ts +41 -0
- package/src/TextArea/TextArea.doc.mjs +1 -1
- package/src/TextArea/TextArea.test.tsx +3 -3
- package/src/TextInput/TextInput.doc.mjs +1 -1
- package/src/TextInput/TextInput.test.tsx +3 -3
- package/src/Thumbnail/Thumbnail.test.tsx +36 -2
- package/src/Thumbnail/Thumbnail.tsx +4 -2
- package/src/TimeInput/TimeInput.doc.mjs +11 -6
- package/src/TimeInput/TimeInput.test.tsx +37 -0
- package/src/TimeInput/TimeInput.tsx +11 -1
- package/src/Timestamp/Timestamp.doc.mjs +1 -1
- package/src/Timestamp/Timestamp.test.tsx +52 -0
- package/src/Timestamp/Timestamp.tsx +30 -16
- package/src/Toast/Toast.tsx +11 -3
- package/src/Toast/ToastViewport.test.tsx +64 -0
- package/src/Toast/ToastViewport.tsx +12 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -4
- package/src/Tokenizer/Tokenizer.test.tsx +33 -0
- package/src/Tokenizer/Tokenizer.tsx +19 -0
- package/src/Toolbar/Toolbar.test.tsx +1 -1
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +18 -0
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
- package/src/TreeList/TreeList.doc.mjs +2 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +19 -0
- package/src/Typeahead/BaseTypeahead.tsx +5 -2
- package/src/Typeahead/Typeahead.doc.mjs +7 -2
- package/src/Typeahead/Typeahead.test.tsx +45 -1
- package/src/__tests__/TestIcon.tsx +26 -0
- package/src/__tests__/fastRoleQueries.ts +66 -0
- package/src/docPropReferences.test.ts +178 -0
- package/src/docs-types.ts +14 -0
- package/src/hooks/focusableSelector.ts +1 -1
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useFocusTrap.doc.mjs +4 -2
- package/src/hooks/useFocusTrap.test.tsx +149 -1
- package/src/hooks/useFocusTrap.ts +50 -1
- package/src/hooks/useHotkeys.doc.mjs +52 -0
- package/src/hooks/useHotkeys.test.ts +245 -0
- package/src/hooks/useHotkeys.ts +203 -0
- package/src/hooks/useInteractiveRole.ts +12 -4
- package/src/hooks/useKeyboardHint.doc.mjs +6 -6
- package/src/hooks/useStreamingText.test.ts +54 -19
- package/src/hooks/useStreamingText.ts +16 -5
- package/src/theme/SyntaxTheme.doc.mjs +4 -4
- package/src/theme/defineTheme.ts +4 -13
- package/src/theme/derivedVarRegistry.test.ts +2 -2
- package/src/theme/expandColorScale.test.ts +29 -0
- package/src/theme/expandColorScale.ts +11 -6
- package/src/theme/hct.ts +9 -17
- package/src/theme/tokens.test.ts +182 -9
- package/src/theme/tokens.ts +239 -4
- package/src/theme/useTheme.test.tsx +20 -0
- package/src/utils/color.test.ts +133 -0
- package/src/utils/color.ts +148 -0
- package/src/utils/composeEventHandlers.test.ts +71 -0
- package/src/utils/composeEventHandlers.ts +44 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/mergeProps.test.ts +166 -0
- package/src/utils/sharedResizeObserver.test.ts +2 -2
- package/src/utils/timeParser.test.ts +13 -0
- package/src/utils/timeParser.ts +8 -5
package/dist/Switch/Switch.d.ts
CHANGED
|
@@ -17,7 +17,9 @@ import type { InputStatus } from '../Field/types';
|
|
|
17
17
|
import type { BaseProps } from '../BaseProps';
|
|
18
18
|
import type { SizeValue } from '../utils/types';
|
|
19
19
|
export type SwitchLabelPosition = 'start' | 'end';
|
|
20
|
-
export type SwitchLabelSpacing = '
|
|
20
|
+
export type SwitchLabelSpacing = 'hug' | 'spread'
|
|
21
|
+
/** @deprecated Use `'hug'` instead. */
|
|
22
|
+
| 'default';
|
|
21
23
|
export interface SwitchProps extends Omit<BaseProps, 'onChange'> {
|
|
22
24
|
/** Ref forwarded to the root element */
|
|
23
25
|
ref?: React.Ref<HTMLInputElement>;
|
|
@@ -56,6 +58,11 @@ export interface SwitchProps extends Omit<BaseProps, 'onChange'> {
|
|
|
56
58
|
* @default false
|
|
57
59
|
*/
|
|
58
60
|
isDisabled?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The HTML name attribute for the underlying checkbox input.
|
|
63
|
+
* Useful for form submissions.
|
|
64
|
+
*/
|
|
65
|
+
htmlName?: string;
|
|
59
66
|
/**
|
|
60
67
|
* Explains why the switch is disabled. When set together with `isDisabled`,
|
|
61
68
|
* the switch shows a tooltip with this text on hover and keyboard focus, and
|
|
@@ -118,9 +125,11 @@ export interface SwitchProps extends Omit<BaseProps, 'onChange'> {
|
|
|
118
125
|
labelPosition?: SwitchLabelPosition;
|
|
119
126
|
/**
|
|
120
127
|
* Spacing behavior between label and switch.
|
|
121
|
-
* - '
|
|
128
|
+
* - 'hug': Label and switch are positioned next to each other
|
|
122
129
|
* - 'spread': Label and switch are pushed to opposite ends
|
|
123
|
-
*
|
|
130
|
+
*
|
|
131
|
+
* 'default' is a deprecated alias for 'hug'.
|
|
132
|
+
* @default 'hug'
|
|
124
133
|
*/
|
|
125
134
|
labelSpacing?: SwitchLabelSpacing;
|
|
126
135
|
/**
|
|
@@ -147,7 +156,7 @@ export interface SwitchProps extends Omit<BaseProps, 'onChange'> {
|
|
|
147
156
|
* />
|
|
148
157
|
* ```
|
|
149
158
|
*/
|
|
150
|
-
export declare function Switch({ label, isLabelHidden, description, onChange, changeAction, isLoading, value, isDisabled, disabledMessage, isOptional, isRequired, onFocus, onBlur, labelIcon, labelTooltip, labelPosition, labelSpacing, status, width, xstyle, className, style, ref, }: SwitchProps): import("react").JSX.Element;
|
|
159
|
+
export declare function Switch({ label, isLabelHidden, description, onChange, changeAction, isLoading, value, isDisabled, htmlName, disabledMessage, isOptional, isRequired, onFocus, onBlur, labelIcon, labelTooltip, labelPosition, labelSpacing, status, width, xstyle, className, style, ref, ...rest }: SwitchProps): import("react").JSX.Element;
|
|
151
160
|
export declare namespace Switch {
|
|
152
161
|
var displayName: string;
|
|
153
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AA4I9C,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAC;AAElD,MAAM,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AA4I9C,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,QAAQ;AACV,uCAAuC;GACrC,SAAS,CAAC;AAEd,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAqB,EACrB,YAAoB,EACpB,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+BAwLb;yBAlNe,MAAM"}
|
package/dist/Switch/Switch.js
CHANGED
|
@@ -30,7 +30,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
30
30
|
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
31
31
|
|
|
32
32
|
// Fixed dimensions: 40px width, 24px height, 16px thumb (off), 20px thumb (on)
|
|
33
|
-
import {
|
|
33
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
|
|
34
34
|
const SWITCH_WIDTH = 40;
|
|
35
35
|
const SWITCH_HEIGHT = 24;
|
|
36
36
|
const THUMB_SIZE_OFF = 16;
|
|
@@ -90,6 +90,7 @@ export function Switch({
|
|
|
90
90
|
isLoading = false,
|
|
91
91
|
value,
|
|
92
92
|
isDisabled = false,
|
|
93
|
+
htmlName,
|
|
93
94
|
disabledMessage,
|
|
94
95
|
isOptional = false,
|
|
95
96
|
isRequired = false,
|
|
@@ -98,13 +99,14 @@ export function Switch({
|
|
|
98
99
|
labelIcon,
|
|
99
100
|
labelTooltip,
|
|
100
101
|
labelPosition = 'end',
|
|
101
|
-
labelSpacing = '
|
|
102
|
+
labelSpacing = 'hug',
|
|
102
103
|
status,
|
|
103
104
|
width,
|
|
104
105
|
xstyle,
|
|
105
106
|
className,
|
|
106
107
|
style,
|
|
107
|
-
ref
|
|
108
|
+
ref,
|
|
109
|
+
...rest
|
|
108
110
|
}) {
|
|
109
111
|
const id = useId();
|
|
110
112
|
const descriptionID = useId();
|
|
@@ -114,6 +116,9 @@ export function Switch({
|
|
|
114
116
|
const isBusy = isLoading || optimisticValue !== value;
|
|
115
117
|
const isOn = optimisticValue === true;
|
|
116
118
|
|
|
119
|
+
// 'default' is a deprecated alias for 'hug' (#2889).
|
|
120
|
+
const resolvedLabelSpacing = labelSpacing === 'default' ? 'hug' : labelSpacing;
|
|
121
|
+
|
|
117
122
|
// Disabled-reason tooltip. Disabled controls swallow pointer events, so the
|
|
118
123
|
// tooltip listeners attach to the switch row (which already exists) and the
|
|
119
124
|
// native checkbox stays perceivable via aria-disabled instead of the disabled
|
|
@@ -140,15 +145,20 @@ export function Switch({
|
|
|
140
145
|
describedByParts.push(disabledMessageTooltip.describedBy);
|
|
141
146
|
}
|
|
142
147
|
const ariaDescribedBy = describedByParts.length > 0 ? describedByParts.join(' ') : undefined;
|
|
143
|
-
const switchElement = /*#__PURE__*/
|
|
148
|
+
const switchElement = /*#__PURE__*/_jsxDEV("div", {
|
|
144
149
|
...{
|
|
145
150
|
className: "x1n2onr6 x78zum5 x6s0dn4 x2lah0s x100vrsf xxk0z11 xc8icb0"
|
|
146
151
|
},
|
|
147
|
-
children: [/*#__PURE__*/
|
|
152
|
+
children: [/*#__PURE__*/_jsxDEV("input", {
|
|
148
153
|
ref: mergeRefs(ref, disabledMessageTooltip.positionRef),
|
|
149
154
|
id: id,
|
|
150
155
|
type: "checkbox",
|
|
151
|
-
role: "switch"
|
|
156
|
+
role: "switch"
|
|
157
|
+
// Withhold the name while disabled: with a disabledMessage the
|
|
158
|
+
// input stays focusable (not natively disabled), and a disabled
|
|
159
|
+
// control must not submit.
|
|
160
|
+
,
|
|
161
|
+
name: isDisabled ? undefined : htmlName,
|
|
152
162
|
checked: isOn
|
|
153
163
|
// With a disabledMessage the switch keeps focusability via aria-disabled
|
|
154
164
|
// so the reason is focus-discoverable; toggling is still blocked by the
|
|
@@ -189,7 +199,7 @@ export function Switch({
|
|
|
189
199
|
className: "x10l6tqk x1ghz6dp x1717udv xg01cxk x1vjfegm x100vrsf xxk0z11 x1h6gzvc x47corl"
|
|
190
200
|
}
|
|
191
201
|
}[!!isDisabled << 1 | !!isBusy << 0]
|
|
192
|
-
}), /*#__PURE__*/
|
|
202
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("div", {
|
|
193
203
|
"aria-hidden": "true",
|
|
194
204
|
...mergeProps(themeProps('switch', {
|
|
195
205
|
checked: isOn ? 'checked' : null,
|
|
@@ -244,7 +254,7 @@ export function Switch({
|
|
|
244
254
|
className: "x78zum5 x6s0dn4 x100vrsf xxk0z11 xfawy5m xjspbzw x15406qy xuedmi6 x12w9bfk xlr8y92 x9f619 x1a2a7pz x1gj1ihy x1edzap1 xbyyjgo xspzpui"
|
|
245
255
|
}
|
|
246
256
|
}[!!isOn << 3 | !!!isDisabled << 2 | !!isDisabled << 1 | !!(isDisabled && !isOn) << 0]),
|
|
247
|
-
children: /*#__PURE__*/
|
|
257
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
248
258
|
...mergeProps(themeProps('switch-thumb', {
|
|
249
259
|
checked: isOn ? 'checked' : null
|
|
250
260
|
}), {
|
|
@@ -255,20 +265,20 @@ export function Switch({
|
|
|
255
265
|
className: "x78zum5 x6s0dn4 xl56j7k xjspbzw x10xzikg xh3q6i0 xuedmi6 x12w9bfk xlr8y92 xw4jnvo x1qx5ct2 x15481yp"
|
|
256
266
|
}
|
|
257
267
|
}[!!isOn << 0]),
|
|
258
|
-
children: isBusy && /*#__PURE__*/
|
|
268
|
+
children: isBusy && /*#__PURE__*/_jsxDEV(Spinner, {
|
|
259
269
|
size: "sm"
|
|
260
|
-
})
|
|
261
|
-
})
|
|
262
|
-
}), isBusy && /*#__PURE__*/
|
|
270
|
+
}, void 0, false)
|
|
271
|
+
}, void 0, false)
|
|
272
|
+
}, void 0, false), isBusy && /*#__PURE__*/_jsxDEV(VisuallyHidden, {
|
|
263
273
|
role: "status",
|
|
264
274
|
children: "Loading"
|
|
265
|
-
})]
|
|
266
|
-
});
|
|
267
|
-
const labelElement = /*#__PURE__*/
|
|
275
|
+
}, void 0, false)]
|
|
276
|
+
}, void 0, true);
|
|
277
|
+
const labelElement = /*#__PURE__*/_jsxDEV("div", {
|
|
268
278
|
...{
|
|
269
279
|
className: "x78zum5 xdt5ytf x1lsbc85 xl56j7k xjwf9q1"
|
|
270
280
|
},
|
|
271
|
-
children: /*#__PURE__*/
|
|
281
|
+
children: /*#__PURE__*/_jsxDEV(FieldLabel, {
|
|
272
282
|
label: label,
|
|
273
283
|
inputID: id,
|
|
274
284
|
isLabelHidden: isLabelHidden,
|
|
@@ -279,14 +289,15 @@ export function Switch({
|
|
|
279
289
|
labelTooltip: labelTooltip,
|
|
280
290
|
description: description,
|
|
281
291
|
descriptionID: descriptionID
|
|
282
|
-
})
|
|
283
|
-
});
|
|
284
|
-
return /*#__PURE__*/
|
|
292
|
+
}, void 0, false)
|
|
293
|
+
}, void 0, false);
|
|
294
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
285
295
|
...mergeProps(themeProps('switch-field', {
|
|
286
296
|
labelPosition: labelPosition !== 'end' ? labelPosition : undefined,
|
|
287
|
-
labelSpacing:
|
|
297
|
+
labelSpacing: resolvedLabelSpacing !== 'hug' ? resolvedLabelSpacing : undefined
|
|
288
298
|
}), stylex.props(width != null && dynamicWidthStyles.width(width), xstyle), className, style),
|
|
289
|
-
|
|
299
|
+
...rest,
|
|
300
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
290
301
|
ref: el => {
|
|
291
302
|
// Interaction (hover/focus) listeners for the disabled-message
|
|
292
303
|
// tooltip attach to the whole row for a larger trigger target;
|
|
@@ -296,23 +307,23 @@ export function Switch({
|
|
|
296
307
|
// unconditionally is safe.
|
|
297
308
|
disabledMessageTooltip.interactionRef(el);
|
|
298
309
|
},
|
|
299
|
-
...stylex.props(styles.container,
|
|
300
|
-
children: [' ', labelPosition === 'start' ? /*#__PURE__*/
|
|
310
|
+
...stylex.props(styles.container, resolvedLabelSpacing === 'spread' && styles.containerSpread, !isDisabled && switchScope),
|
|
311
|
+
children: [' ', labelPosition === 'start' ? /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
301
312
|
children: [labelElement, switchElement]
|
|
302
|
-
}) : /*#__PURE__*/
|
|
313
|
+
}, void 0, true) : /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
303
314
|
children: [switchElement, labelElement]
|
|
304
|
-
})]
|
|
305
|
-
}), status?.message && /*#__PURE__*/
|
|
315
|
+
}, void 0, true)]
|
|
316
|
+
}, void 0, true), status?.message && /*#__PURE__*/_jsxDEV("div", {
|
|
306
317
|
...{
|
|
307
318
|
className: "xtbrsbv"
|
|
308
319
|
},
|
|
309
|
-
children: /*#__PURE__*/
|
|
320
|
+
children: /*#__PURE__*/_jsxDEV(FieldStatus, {
|
|
310
321
|
type: status.type,
|
|
311
322
|
message: status.message,
|
|
312
323
|
id: statusMessageID,
|
|
313
324
|
variant: "detached"
|
|
314
|
-
})
|
|
315
|
-
}), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
316
|
-
});
|
|
325
|
+
}, void 0, false)
|
|
326
|
+
}, void 0, false), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
327
|
+
}, void 0, true);
|
|
317
328
|
}
|
|
318
329
|
Switch.displayName = 'Switch';
|
package/dist/TabList/Tab.js
CHANGED
|
@@ -26,7 +26,7 @@ import { useLinkComponent } from "../Link/useLinkComponent.js";
|
|
|
26
26
|
import { mergeProps } from "../utils/index.js";
|
|
27
27
|
import { EDGE_COMP_ATTR } from "../Layout/edgeCompensation.stylex.js";
|
|
28
28
|
import { themeProps } from "../utils/themeProps.js";
|
|
29
|
-
import {
|
|
29
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
30
30
|
// =============================================================================
|
|
31
31
|
// Styles
|
|
32
32
|
// =============================================================================
|
|
@@ -176,10 +176,10 @@ export function Tab({
|
|
|
176
176
|
const handleSelect = useCallback(() => {
|
|
177
177
|
tabListCtx.onChange(value);
|
|
178
178
|
}, [tabListCtx, value]);
|
|
179
|
-
const iconElement = displayIcon ? /*#__PURE__*/
|
|
179
|
+
const iconElement = displayIcon ? /*#__PURE__*/_jsxDEV("span", {
|
|
180
180
|
...stylex.props(styles.icon, iconSizeStyles[size]),
|
|
181
181
|
children: displayIcon
|
|
182
|
-
}) : null;
|
|
182
|
+
}, void 0, false) : null;
|
|
183
183
|
const sharedProps = {
|
|
184
184
|
...restProps,
|
|
185
185
|
...(isLabelHidden ? {
|
|
@@ -197,11 +197,11 @@ export function Tab({
|
|
|
197
197
|
selected: isSelected ? 'selected' : null
|
|
198
198
|
}), stylex.props(styles.base, sizeStyles[size], isSelected && styles.selected, isFill && layoutStyles.fill, tabScope, xstyle), className, style)
|
|
199
199
|
};
|
|
200
|
-
const hoverBgElement = /*#__PURE__*/
|
|
200
|
+
const hoverBgElement = /*#__PURE__*/_jsxDEV("span", {
|
|
201
201
|
"aria-hidden": "true",
|
|
202
202
|
...stylex.props(styles.hoverBg, hoverSizeStyles[size])
|
|
203
|
-
});
|
|
204
|
-
const indicatorElement = /*#__PURE__*/
|
|
203
|
+
}, void 0, false);
|
|
204
|
+
const indicatorElement = /*#__PURE__*/_jsxDEV("span", {
|
|
205
205
|
...mergeProps(themeProps('tab-indicator', {
|
|
206
206
|
selected: isSelected ? 'selected' : null
|
|
207
207
|
}), {
|
|
@@ -212,45 +212,45 @@ export function Tab({
|
|
|
212
212
|
className: "x10l6tqk xqmqy1e xnp31yv xmz3bnw x36qwtl xjspbzw x47corl xnpjden xuedmi6 xlr8y92 x1ewilqj x1hc1fzr"
|
|
213
213
|
}
|
|
214
214
|
}[!!isSelected << 0])
|
|
215
|
-
});
|
|
216
|
-
const labelElement = hasVisibleLabel ? /*#__PURE__*/
|
|
215
|
+
}, void 0, false);
|
|
216
|
+
const labelElement = hasVisibleLabel ? /*#__PURE__*/_jsxDEV("span", {
|
|
217
217
|
...{
|
|
218
218
|
className: "xwz0xwf"
|
|
219
219
|
},
|
|
220
|
-
children: [/*#__PURE__*/
|
|
220
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
221
221
|
...{
|
|
222
222
|
className: "x1agbcgv xcrlgei"
|
|
223
223
|
},
|
|
224
224
|
children: label
|
|
225
|
-
}), /*#__PURE__*/
|
|
225
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("span", {
|
|
226
226
|
"aria-hidden": "true",
|
|
227
227
|
...{
|
|
228
228
|
className: "x1agbcgv xcrlgei xlshs6z x47corl x2mo6ok"
|
|
229
229
|
},
|
|
230
230
|
children: label
|
|
231
|
-
})]
|
|
232
|
-
}) : null;
|
|
233
|
-
const endContentElement = endContent ? /*#__PURE__*/
|
|
231
|
+
}, void 0, false)]
|
|
232
|
+
}, void 0, true) : null;
|
|
233
|
+
const endContentElement = endContent ? /*#__PURE__*/_jsxDEV("span", {
|
|
234
234
|
...{
|
|
235
235
|
className: "x3nfvp2 x6s0dn4 x2lah0s"
|
|
236
236
|
},
|
|
237
237
|
children: endContent
|
|
238
|
-
}) : null;
|
|
238
|
+
}, void 0, false) : null;
|
|
239
239
|
if (href != null) {
|
|
240
|
-
return /*#__PURE__*/
|
|
240
|
+
return /*#__PURE__*/_jsxDEV(LinkComponent, {
|
|
241
241
|
ref: ref,
|
|
242
242
|
href: href,
|
|
243
243
|
onClick: handleSelect,
|
|
244
244
|
...sharedProps,
|
|
245
245
|
children: [hoverBgElement, iconElement, labelElement, endContentElement, indicatorElement]
|
|
246
|
-
});
|
|
246
|
+
}, void 0, true);
|
|
247
247
|
}
|
|
248
|
-
return /*#__PURE__*/
|
|
248
|
+
return /*#__PURE__*/_jsxDEV("button", {
|
|
249
249
|
ref: ref,
|
|
250
250
|
type: "button",
|
|
251
251
|
onClick: handleSelect,
|
|
252
252
|
...sharedProps,
|
|
253
253
|
children: [hoverBgElement, iconElement, labelElement, endContentElement, indicatorElement]
|
|
254
|
-
});
|
|
254
|
+
}, void 0, true);
|
|
255
255
|
}
|
|
256
256
|
Tab.displayName = 'Tab';
|
package/dist/TabList/TabList.js
CHANGED
|
@@ -33,7 +33,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
33
33
|
* (`[data-tab-value]`) and every TabMenu trigger (`[data-tab-menu]`),
|
|
34
34
|
* in DOM order. Disabled stops are filtered out by the handler.
|
|
35
35
|
*/
|
|
36
|
-
import {
|
|
36
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
37
37
|
const TAB_STOP_SELECTOR = '[data-tab-value],[data-tab-menu]';
|
|
38
38
|
const styles = {
|
|
39
39
|
nav: {
|
|
@@ -155,9 +155,9 @@ export function TabList({
|
|
|
155
155
|
}
|
|
156
156
|
onHintBlur(e);
|
|
157
157
|
}, [onBlurProp, onHintBlur]);
|
|
158
|
-
return /*#__PURE__*/
|
|
158
|
+
return /*#__PURE__*/_jsxDEV(TabListContext, {
|
|
159
159
|
value: contextValue,
|
|
160
|
-
children: /*#__PURE__*/
|
|
160
|
+
children: /*#__PURE__*/_jsxDEV("nav", {
|
|
161
161
|
ref: mergeRefs(ref, listRef),
|
|
162
162
|
...restProps,
|
|
163
163
|
"aria-label": ariaLabel,
|
|
@@ -169,7 +169,7 @@ export function TabList({
|
|
|
169
169
|
size
|
|
170
170
|
}), stylex.props(styles.nav, layout === 'fill' && styles.fill, hasDivider && styles.divider, xstyle), className, style),
|
|
171
171
|
children: [children, hintElement]
|
|
172
|
-
})
|
|
173
|
-
});
|
|
172
|
+
}, void 0, true)
|
|
173
|
+
}, void 0, false);
|
|
174
174
|
}
|
|
175
175
|
TabList.displayName = 'TabList';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabMenu.d.ts","sourceRoot":"","sources":["../../src/TabList/TabMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TabMenu.d.ts","sourceRoot":"","sources":["../../src/TabList/TabMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAA6B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAiBtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,SAAS,CAAC,iBAAiB,CAAC,EAC5B,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AA8KD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,YAAY,qBAqLd;yBA5Le,OAAO"}
|
package/dist/TabList/TabMenu.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /packages/core/src/TabList/TabList.test.tsx
|
|
16
16
|
* - /packages/cli/templates/blocks/components/TabList/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useId } from 'react';
|
|
18
|
+
import React, { useCallback, useId, useRef } from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import { Icon } from "../Icon/index.js";
|
|
21
21
|
import { renderIconSlot } from "../Icon/index.js";
|
|
@@ -28,7 +28,7 @@ import "./tab.markers.stylex.js";
|
|
|
28
28
|
import { tabScope } from "./tab.markers.stylex.js";
|
|
29
29
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
30
30
|
import { themeProps } from "../utils/themeProps.js";
|
|
31
|
-
import {
|
|
31
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
|
|
32
32
|
// =============================================================================
|
|
33
33
|
// Styles
|
|
34
34
|
// =============================================================================
|
|
@@ -135,18 +135,31 @@ export function TabMenu({
|
|
|
135
135
|
}) {
|
|
136
136
|
const tabListCtx = useTabListContext();
|
|
137
137
|
const menuId = useId();
|
|
138
|
+
const buttonRef = useRef(null);
|
|
138
139
|
const popover = usePopover({
|
|
139
140
|
hasLightDismiss: true,
|
|
140
141
|
hasCloseButton: false,
|
|
141
142
|
hasAutoFocus: false,
|
|
142
143
|
// The popup's own role="menu" is the exposed semantics; a modal dialog
|
|
143
144
|
// wrapper would announce an unnamed dialog around the menu.
|
|
144
|
-
role: 'none'
|
|
145
|
+
role: 'none',
|
|
146
|
+
// Return focus to the trigger when the menu closes (Escape, Tab, select,
|
|
147
|
+
// or light dismiss) so keyboard focus is never dropped to <body>.
|
|
148
|
+
onHide: useCallback(() => {
|
|
149
|
+
buttonRef.current?.focus();
|
|
150
|
+
}, [])
|
|
145
151
|
});
|
|
152
|
+
|
|
153
|
+
// The overflow menu is a composite widget: a single roving tab stop with
|
|
154
|
+
// arrow-key navigation between items, per the APG menu pattern. The hook owns
|
|
155
|
+
// item tabindex — items render tabIndex={-1} and exactly one is promoted to 0.
|
|
146
156
|
const {
|
|
147
157
|
listRef,
|
|
148
|
-
handleKeyDown: handleListKeyDown
|
|
158
|
+
handleKeyDown: handleListKeyDown,
|
|
159
|
+
handleFocus,
|
|
160
|
+
focusFirst
|
|
149
161
|
} = useListFocus({
|
|
162
|
+
hasRovingTabIndex: true,
|
|
150
163
|
onEscape: () => popover.hide()
|
|
151
164
|
});
|
|
152
165
|
const handleToggle = useCallback(() => {
|
|
@@ -154,8 +167,21 @@ export function TabMenu({
|
|
|
154
167
|
popover.hide();
|
|
155
168
|
} else {
|
|
156
169
|
popover.show();
|
|
170
|
+
// Move focus into the menu on open so arrow navigation works and the
|
|
171
|
+
// roving tab stop lands on a real item (APG menu-button focus-on-open).
|
|
172
|
+
requestAnimationFrame(() => focusFirst());
|
|
173
|
+
}
|
|
174
|
+
}, [popover, focusFirst]);
|
|
175
|
+
const handleMenuKeyDown = useCallback(e => {
|
|
176
|
+
// APG menu-button: Tab leaves the menu rather than walking its items.
|
|
177
|
+
// Close and let onHide return focus to the trigger, from which the
|
|
178
|
+
// browser's default Tab continues to the next element.
|
|
179
|
+
if (e.key === 'Tab') {
|
|
180
|
+
popover.hide();
|
|
181
|
+
return;
|
|
157
182
|
}
|
|
158
|
-
|
|
183
|
+
handleListKeyDown(e);
|
|
184
|
+
}, [handleListKeyDown, popover]);
|
|
159
185
|
const selectedOption = options.find(o => o.value === tabListCtx.value);
|
|
160
186
|
const triggerLabel = selectedOption?.label ?? label;
|
|
161
187
|
const hasSelectedOption = selectedOption != null;
|
|
@@ -164,9 +190,9 @@ export function TabMenu({
|
|
|
164
190
|
tabListCtx.onChange(value);
|
|
165
191
|
popover.hide();
|
|
166
192
|
}, [tabListCtx, popover]);
|
|
167
|
-
const setButtonRef = mergeRefs(popover.triggerRef, ref);
|
|
168
|
-
return /*#__PURE__*/
|
|
169
|
-
children: [/*#__PURE__*/
|
|
193
|
+
const setButtonRef = mergeRefs(popover.triggerRef, buttonRef, ref);
|
|
194
|
+
return /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
195
|
+
children: [/*#__PURE__*/_jsxDEV("button", {
|
|
170
196
|
ref: setButtonRef,
|
|
171
197
|
type: "button",
|
|
172
198
|
"aria-haspopup": "menu",
|
|
@@ -176,26 +202,26 @@ export function TabMenu({
|
|
|
176
202
|
tabIndex: hasSelectedOption ? 0 : -1,
|
|
177
203
|
onClick: handleToggle,
|
|
178
204
|
...mergeProps(themeProps('tab-menu'), stylex.props(styles.trigger, sizeStyles[size], hasSelectedOption && styles.triggerSelected, tabScope, xstyle), className, style),
|
|
179
|
-
children: [/*#__PURE__*/
|
|
205
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
180
206
|
"aria-hidden": "true",
|
|
181
207
|
...stylex.props(styles.hoverBg, hoverSizeStyles[size])
|
|
182
|
-
}), /*#__PURE__*/
|
|
208
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("span", {
|
|
183
209
|
...{
|
|
184
210
|
className: "x1n2onr6 xwz0xwf x6s0dn4 xkh2ocl"
|
|
185
211
|
},
|
|
186
|
-
children: [/*#__PURE__*/
|
|
212
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
187
213
|
...{
|
|
188
214
|
className: "x1agbcgv xcrlgei"
|
|
189
215
|
},
|
|
190
216
|
children: triggerLabel
|
|
191
|
-
}), /*#__PURE__*/
|
|
217
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("span", {
|
|
192
218
|
"aria-hidden": "true",
|
|
193
219
|
...{
|
|
194
220
|
className: "x1agbcgv xcrlgei xlshs6z x47corl x2mo6ok"
|
|
195
221
|
},
|
|
196
222
|
children: triggerLabel
|
|
197
|
-
})]
|
|
198
|
-
}), /*#__PURE__*/
|
|
223
|
+
}, void 0, false)]
|
|
224
|
+
}, void 0, true), /*#__PURE__*/_jsxDEV("span", {
|
|
199
225
|
"aria-hidden": "true",
|
|
200
226
|
...{
|
|
201
227
|
0: {
|
|
@@ -205,38 +231,39 @@ export function TabMenu({
|
|
|
205
231
|
className: "x12xnipv x6b6gus x2lah0s x11xpdln xuedmi6 xlr8y92 x19jd1h0"
|
|
206
232
|
}
|
|
207
233
|
}[!!popover.isOpen << 0],
|
|
208
|
-
children: /*#__PURE__*/
|
|
234
|
+
children: /*#__PURE__*/_jsxDEV(Icon, {
|
|
209
235
|
icon: "chevronDown",
|
|
210
236
|
size: "sm",
|
|
211
237
|
color: "inherit"
|
|
212
|
-
})
|
|
213
|
-
}), hasSelectedOption && /*#__PURE__*/
|
|
238
|
+
}, void 0, false)
|
|
239
|
+
}, void 0, false), hasSelectedOption && /*#__PURE__*/_jsxDEV("span", {
|
|
214
240
|
...mergeProps(themeProps('tab-indicator', {
|
|
215
241
|
selected: 'selected'
|
|
216
242
|
}), {
|
|
217
243
|
className: "x10l6tqk xqmqy1e xnp31yv xmz3bnw x36qwtl xjspbzw x47corl xnpjden xuedmi6 xlr8y92 xowkcby x1hc1fzr"
|
|
218
244
|
})
|
|
219
|
-
})]
|
|
220
|
-
}), popover.render(/*#__PURE__*/
|
|
245
|
+
}, void 0, false)]
|
|
246
|
+
}, void 0, true), popover.render(/*#__PURE__*/_jsxDEV("div", {
|
|
221
247
|
ref: listRef,
|
|
222
248
|
id: menuId,
|
|
223
249
|
role: "menu",
|
|
224
250
|
"aria-label": label,
|
|
225
|
-
onKeyDown:
|
|
251
|
+
onKeyDown: handleMenuKeyDown,
|
|
252
|
+
onFocus: handleFocus,
|
|
226
253
|
...mergeProps(themeProps('tab-menu-dropdown'), {
|
|
227
254
|
className: "x78zum5 xdt5ytf x1lsbc85 xu0wf1k x7a5moj"
|
|
228
255
|
}),
|
|
229
|
-
children: [/*#__PURE__*/
|
|
256
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
230
257
|
role: "presentation",
|
|
231
258
|
...{
|
|
232
259
|
className: "x141an7d x1ltkj2j x2mo6ok xv1l7n4 xu0wf1k xrrkdod"
|
|
233
260
|
},
|
|
234
261
|
children: label
|
|
235
|
-
}), options.map(option => {
|
|
262
|
+
}, void 0, false), options.map(option => {
|
|
236
263
|
const isSelected = tabListCtx.value === option.value;
|
|
237
|
-
return /*#__PURE__*/
|
|
264
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
238
265
|
role: "menuitem",
|
|
239
|
-
tabIndex:
|
|
266
|
+
tabIndex: -1,
|
|
240
267
|
"aria-current": isSelected ? 'true' : undefined,
|
|
241
268
|
onClick: () => handleSelect(option.value),
|
|
242
269
|
onKeyDown: e => {
|
|
@@ -253,7 +280,7 @@ export function TabMenu({
|
|
|
253
280
|
className: "x78zum5 x6s0dn4 x1qughib x1txdalj xce4md1 xrrkdod xh6dtrn xjb2p0i xcr08ib x1kq96og x1tgivj0 x1ypdohk x15406qy xuedmi6 xlr8y92 xjbqb8w xe9uy6x x17nn4n9 x1e4wzip"
|
|
254
281
|
}
|
|
255
282
|
}[!!isSelected << 0]),
|
|
256
|
-
children: [/*#__PURE__*/
|
|
283
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
257
284
|
...{
|
|
258
285
|
className: "x78zum5 x6s0dn4 x1txdalj"
|
|
259
286
|
},
|
|
@@ -261,17 +288,17 @@ export function TabMenu({
|
|
|
261
288
|
size: 'sm',
|
|
262
289
|
color: 'secondary'
|
|
263
290
|
}), option.label]
|
|
264
|
-
}), isSelected && /*#__PURE__*/
|
|
291
|
+
}, void 0, true), isSelected && /*#__PURE__*/_jsxDEV(Icon, {
|
|
265
292
|
icon: "check",
|
|
266
293
|
size: "sm",
|
|
267
294
|
color: "accent"
|
|
268
|
-
})]
|
|
269
|
-
}, option.value);
|
|
295
|
+
}, void 0, false)]
|
|
296
|
+
}, option.value, true);
|
|
270
297
|
})]
|
|
271
|
-
}), {
|
|
298
|
+
}, void 0, true), {
|
|
272
299
|
placement: 'below',
|
|
273
300
|
alignment: 'start'
|
|
274
301
|
})]
|
|
275
|
-
});
|
|
302
|
+
}, void 0, true);
|
|
276
303
|
}
|
|
277
304
|
TabMenu.displayName = 'TabMenu';
|
|
@@ -5,6 +5,6 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
5
5
|
* and ensure they don't leak from parent containers.
|
|
6
6
|
*/
|
|
7
7
|
export declare const tabScope: Readonly<{
|
|
8
|
-
readonly marker: stylex.StyleXClassNameFor<"marker",
|
|
8
|
+
readonly marker: stylex.StyleXClassNameFor<"marker", symbol>;
|
|
9
9
|
}>;
|
|
10
10
|
//# sourceMappingURL=tab.markers.stylex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;AA0iBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,EAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACrD,YAAY,CAAC"}
|