@astryxdesign/core 0.1.4 → 0.1.5-canary.76e6697
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 +141 -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.d.ts +0 -2
- package/dist/AlertDialog/useImperativeAlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/useImperativeAlertDialog.js +3 -5
- 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.d.ts +48 -10
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +33 -12
- 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 +28 -26
- package/dist/Avatar/AvatarStatusDot.js +6 -6
- package/dist/AvatarGroup/AvatarGroup.js +6 -6
- package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -7
- 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.js +19 -19
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +68 -48
- 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 +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 +24 -21
- 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 +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.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 +25 -23
- 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.js +3 -3
- 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/Collapsible/Collapsible.d.ts +9 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +109 -22
- package/dist/Collapsible/CollapsibleGroup.d.ts +37 -7
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +64 -12
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +24 -0
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +26 -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.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 +7 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +76 -43
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +21 -21
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -2
- 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.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.d.ts +5 -1
- 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 +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.d.ts +29 -2
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +44 -31
- 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.d.ts +0 -1
- package/dist/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/Lightbox/useLightbox.js +3 -4
- package/dist/Link/Link.d.ts +0 -2
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +15 -17
- 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.d.ts +1 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +26 -23
- 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 +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.d.ts +0 -3
- package/dist/Overlay/useOverlay.d.ts.map +1 -1
- package/dist/Overlay/useOverlay.js +3 -6
- 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.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 +24 -21
- 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.js +46 -46
- 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.js +23 -23
- package/dist/Spinner/Spinner.js +9 -9
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +8 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +34 -29
- 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 +50 -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.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 +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/groupedRows/index.d.ts +3 -0
- package/dist/Table/plugins/groupedRows/index.d.ts.map +1 -0
- package/dist/Table/plugins/groupedRows/index.js +3 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +78 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +250 -0
- 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/useTableRowExpansion.d.ts +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +23 -23
- 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.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 +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.d.ts.map +1 -1
- package/dist/Toast/useToast.js +44 -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 +36 -34
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- package/dist/Tooltip/useTooltip.d.ts +5 -1
- 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 +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/VisuallyHidden/VisuallyHidden.d.ts +0 -3
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +0 -3
- package/dist/astryx.css +7 -0
- package/dist/astryx.umd.js +63 -63
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +8 -2
- 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/theme/useTheme.d.ts +3 -2
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +73 -6
- 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 +4 -4
- package/src/AlertDialog/AlertDialog.doc.mjs +4 -0
- package/src/AlertDialog/AlertDialog.tsx +2 -0
- package/src/AlertDialog/useImperativeAlertDialog.tsx +0 -2
- package/src/AppShell/AppShell.tsx +2 -0
- package/src/AspectRatio/AspectRatio.doc.mjs +28 -1
- package/src/AspectRatio/AspectRatio.test.tsx +142 -1
- package/src/AspectRatio/AspectRatio.tsx +70 -10
- package/src/AspectRatio/index.ts +5 -1
- package/src/Avatar/Avatar.doc.mjs +11 -0
- package/src/Avatar/Avatar.test.tsx +32 -1
- package/src/Avatar/Avatar.tsx +14 -22
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +1 -0
- package/src/AvatarGroup/AvatarGroup.tsx +2 -2
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +2 -2
- 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/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +122 -17
- package/src/Calendar/Calendar.tsx +26 -5
- package/src/Calendar/dayCellUtils.ts +3 -1
- 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 +4 -2
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +27 -1
- package/src/Chat/ChatComposerInput.tsx +20 -15
- 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/useTriggerMenu.tsx +1 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +71 -4
- package/src/CheckboxInput/CheckboxInput.tsx +2 -0
- 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/CodeBlock/CodeBlock.doc.mjs +7 -2
- package/src/CodeBlock/CodeBlock.test.tsx +122 -3
- package/src/CodeBlock/CodeBlock.tsx +62 -4
- package/src/Collapsible/Collapsible.doc.mjs +8 -4
- package/src/Collapsible/Collapsible.test.tsx +403 -0
- package/src/Collapsible/Collapsible.tsx +85 -10
- package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
- package/src/Collapsible/CollapsibleGroup.test.tsx +314 -0
- package/src/Collapsible/CollapsibleGroup.tsx +97 -9
- package/src/Collapsible/CollapsibleGroupContext.tsx +34 -2
- package/src/Collapsible/index.ts +1 -0
- package/src/Collapsible/useCollapsible.ts +20 -6
- package/src/CommandPalette/CommandPalette.doc.mjs +5 -0
- package/src/CommandPalette/CommandPalette.tsx +5 -3
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
- 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 +87 -0
- package/src/ContextMenu/ContextMenu.tsx +87 -28
- package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
- package/src/DateInput/DateInput.test.tsx +11 -20
- package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -6
- package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
- package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -2
- package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
- package/src/DateTimeInput/DateTimeInput.tsx +8 -2
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.mjs +4 -0
- package/src/Dialog/DialogHeader.doc.mjs +45 -0
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +22 -2
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/Field/Field.test.tsx +1 -4
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FieldStatus/FieldStatus.test.tsx +282 -0
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
- package/src/Grid/Grid.test.tsx +43 -18
- package/src/Grid/Grid.tsx +26 -9
- package/src/HoverCard/HoverCard.doc.mjs +6 -6
- package/src/HoverCard/useHoverCard.doc.mjs +5 -5
- package/src/HoverCard/useHoverCard.tsx +9 -2
- package/src/Icon/Icon.test.tsx +41 -29
- package/src/Icon/Icon.tsx +6 -2
- package/src/InputGroup/InputGroup.doc.mjs +1 -0
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
- package/src/Item/Item.tsx +1 -1
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layer/useLayer.test.tsx +221 -2
- package/src/Layer/useLayer.tsx +69 -30
- 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/Lightbox/Lightbox.doc.mjs +5 -0
- package/src/Lightbox/Lightbox.test.tsx +123 -2
- package/src/Lightbox/Lightbox.tsx +29 -1
- package/src/Lightbox/useLightbox.tsx +0 -1
- package/src/Link/Link.tsx +0 -2
- package/src/Markdown/Markdown.tsx +9 -7
- package/src/Markdown/parser.perf.test.ts +34 -12
- package/src/MobileNav/MobileNav.test.tsx +56 -0
- package/src/MobileNav/MobileNav.tsx +13 -8
- 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/Outline.doc.mjs +2 -0
- 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/Overlay/useOverlay.tsx +0 -3
- package/src/Pagination/Pagination.test.tsx +162 -0
- package/src/Pagination/Pagination.tsx +80 -26
- package/src/Popover/Popover.doc.mjs +6 -6
- package/src/Popover/Popover.test.tsx +65 -0
- package/src/Popover/usePopover.doc.mjs +1 -1
- package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearch.test.tsx +109 -1
- package/src/PowerSearch/PowerSearch.tsx +37 -16
- package/src/ProgressBar/ProgressBar.doc.mjs +2 -0
- package/src/ProgressBar/ProgressBar.test.tsx +30 -0
- package/src/ProgressBar/ProgressBar.tsx +12 -5
- package/src/RadioList/RadioList.test.tsx +19 -0
- package/src/RadioList/RadioListItem.tsx +9 -4
- package/src/Resizable/ResizeHandle.test.tsx +218 -0
- package/src/Resizable/ResizeHandle.tsx +22 -4
- package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
- 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.test.tsx +27 -1
- 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/Switch/Switch.doc.mjs +7 -7
- package/src/Switch/Switch.test.tsx +102 -3
- package/src/Switch/Switch.tsx +20 -7
- package/src/TabList/TabList.test.tsx +185 -1
- package/src/TabList/TabMenu.tsx +45 -9
- package/src/Table/BaseTable.tsx +13 -2
- package/src/Table/Table.doc.mjs +6 -1
- package/src/Table/Table.test.tsx +87 -0
- package/src/Table/TableBody.tsx +15 -2
- 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/groupedRows/index.ts +7 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +231 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +349 -0
- package/src/Table/plugins/pagination/paginateData.ts +5 -1
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +1 -1
- 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/useTableGroupedRows.doc.mjs +71 -0
- package/src/TextArea/TextArea.test.tsx +3 -3
- 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.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/Toast/useToast.test.tsx +258 -0
- package/src/Toast/useToast.tsx +41 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
- package/src/Tokenizer/Tokenizer.test.tsx +54 -0
- package/src/Tokenizer/Tokenizer.tsx +5 -4
- package/src/Tooltip/Tooltip.doc.mjs +6 -6
- package/src/Tooltip/useTooltip.doc.mjs +5 -5
- package/src/Tooltip/useTooltip.tsx +12 -2
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +23 -7
- 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 +1 -1
- package/src/Typeahead/Typeahead.test.tsx +45 -1
- package/src/VisuallyHidden/VisuallyHidden.tsx +0 -3
- 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 +9 -1
- 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/useStreamingText.test.ts +54 -19
- package/src/hooks/useStreamingText.ts +16 -5
- package/src/hooks/useTreeFocus.test.tsx +1 -3
- package/src/reset.css +29 -0
- 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/themingTargets.test.ts +353 -0
- package/src/theme/tokens.test.ts +182 -9
- package/src/theme/tokens.ts +239 -4
- package/src/theme/useTheme.test.tsx +126 -2
- package/src/theme/useTheme.ts +87 -6
- 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/Carousel/carousel.markers.stylex.d.ts +0 -7
- package/dist/Carousel/carousel.markers.stylex.d.ts.map +0 -1
- package/dist/Carousel/carousel.markers.stylex.js +0 -12
- package/src/Carousel/carousel.markers.stylex.ts +0 -10
package/dist/docs-types.d.ts
CHANGED
|
@@ -387,7 +387,13 @@ export interface PlaygroundConfig {
|
|
|
387
387
|
* interactive preview shows an open-trigger placeholder instead of an
|
|
388
388
|
* empty stage while `isOpen` is false, and lets the real overlay render
|
|
389
389
|
* when opened. Include `isOpen: false` in `defaults` so the preview can
|
|
390
|
-
* bridge `onOpenChange` back into playground state.
|
|
390
|
+
* bridge `onOpenChange` back into playground state.
|
|
391
|
+
*
|
|
392
|
+
* Only for components with no inline containment (MobileNav, Lightbox).
|
|
393
|
+
* Components with an `isInline` docs-preview prop (Dialog, AlertDialog,
|
|
394
|
+
* CommandPalette) intentionally keep contained inline previews instead:
|
|
395
|
+
* the component is visible on load and knobs stay usable, whereas a real
|
|
396
|
+
* top-layer modal makes the rest of the page inert (#3657). */
|
|
391
397
|
overlay?: boolean;
|
|
392
398
|
/** Required parent wrapper for sub-components that depend on a parent
|
|
393
399
|
* context provider (e.g. `Tab` calls `useTabListContext()` and throws
|
|
@@ -765,7 +771,7 @@ export interface ReferenceTranslationDoc {
|
|
|
765
771
|
* Not every value maps to an existing template — unused values are reserved
|
|
766
772
|
* for future templates so authors get autocomplete for the full taxonomy.
|
|
767
773
|
*/
|
|
768
|
-
export type TemplateCategory = 'Dashboard - Analytics' | 'Dashboard - KPI Summary' | 'Dashboard - Monitoring' | 'Dashboard - Executive Summary' | 'Dashboard - Widget Grid' | 'Dashboard - Split' | 'Dashboard - Tabbed' | 'Dashboard - Filterable' | 'Dashboard - Portfolio' | 'Table - Basic' | 'Table - Grouped' | 'Table - Index/Detail' | 'Table - Split Pane' | 'Table - Bulk Actions' | 'Table - Filtering' | 'Table - Tree/Hierarchical List' | 'Table - Frozen Column' | 'Table - Chart' | 'Table - Heatmap' | 'Form - Basic' | 'Form - Page' | 'Form - Checkout' | 'Form - Two-column' | 'Form - Wizard' | 'Form - Modal Overlay' | 'Form - Side Sheet' | 'Form - Inline Edits' | 'Form - Settings' | 'Settings' | 'Settings - Dialog' | 'Settings - Sidebar' | 'Settings - Panels' | 'Settings - Form' | 'Login - Basic' | 'Login - Card' | 'Login - SSO' | 'Login - Split' | 'Tools - File Explorer' | 'Tools - Page Editor' | 'Tools - IDE' | 'Tools - Kanban Board' | 'Tools - Notebook/Report Page' | 'Tools - Diff Compare Viewer' | 'Tools - Search Results Page' | 'Content - Card Grid' | 'Content - Order Detail' | 'Content - Product Detail' | 'Content - Product List' | 'Content - Documentation Catalog' | 'Content - Documentation Design' | 'Content - Documentation Technical' | 'Content - Infinite Scroll Page' | 'Content - Timeline' | 'Content - Profile Page' | 'AI Chat - Conversation' | 'AI Chat - Landing' | 'AI Chat - Artifact Page' | 'Gallery - Hero' | 'Gallery - Basic' | 'Gallery - Mixed' | 'Gallery - Side' | 'Gallery - Product' | 'Shell - Left Sidebar' | 'Shell - Top Nav' | 'Shell - Top Nav + Left Sidebar' | 'Shell - Breadcrumb Driven Layout' | 'Shell - Blank';
|
|
774
|
+
export type TemplateCategory = 'Dashboard - Analytics' | 'Dashboard - KPI Summary' | 'Dashboard - Monitoring' | 'Dashboard - Executive Summary' | 'Dashboard - Widget Grid' | 'Dashboard - Split' | 'Dashboard - Tabbed' | 'Dashboard - Filterable' | 'Dashboard - Portfolio' | 'Table - Basic' | 'Table - Grouped' | 'Table - Index/Detail' | 'Table - Split Pane' | 'Table - Bulk Actions' | 'Table - Filtering' | 'Table - Tree/Hierarchical List' | 'Table - Frozen Column' | 'Table - Chart' | 'Table - Heatmap' | 'Form - Basic' | 'Form - Page' | 'Form - Checkout' | 'Form - Two-column' | 'Form - Wizard' | 'Form - Modal Overlay' | 'Form - Side Sheet' | 'Form - Inline Edits' | 'Form - Settings' | 'Settings' | 'Settings - Dialog' | 'Settings - Sidebar' | 'Settings - Panels' | 'Settings - Form' | 'Login - Basic' | 'Login - Card' | 'Login - SSO' | 'Login - Split' | 'Tools - File Explorer' | 'Tools - Page Editor' | 'Tools - IDE' | 'Tools - Incident Console' | 'Tools - Kanban Board' | 'Tools - Notebook/Report Page' | 'Tools - Diff Compare Viewer' | 'Tools - Search Results Page' | 'Content - Card Grid' | 'Content - Order Detail' | 'Content - Product Detail' | 'Content - Product List' | 'Content - Documentation Catalog' | 'Content - Documentation Design' | 'Content - Documentation Technical' | 'Content - Infinite Scroll Page' | 'Content - Timeline' | 'Content - Profile Page' | 'AI Chat - Conversation' | 'AI Chat - Landing' | 'AI Chat - Artifact Page' | 'Gallery - Hero' | 'Gallery - Basic' | 'Gallery - Mixed' | 'Gallery - Side' | 'Gallery - Product' | 'Shell - Left Sidebar' | 'Shell - Top Nav' | 'Shell - Top Nav + Left Sidebar' | 'Shell - Breadcrumb Driven Layout' | 'Shell - Messaging' | 'Shell - Blank';
|
|
769
775
|
interface BaseTemplateDoc {
|
|
770
776
|
/** Identifier name for the template. For block templates this matches
|
|
771
777
|
* the React component import name (e.g. `"ChatMessageMetadata"`); for
|
package/dist/docs-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-types.d.ts","sourceRoot":"","sources":["../src/docs-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docs-types.d.ts","sourceRoot":"","sources":["../src/docs-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
* This is the canonical focusable selector; prefer importing it here over
|
|
19
19
|
* re-declaring the string so behavior stays consistent across hooks.
|
|
20
20
|
*/
|
|
21
|
-
export declare const FOCUSABLE_SELECTOR = "button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled]), [contenteditable]:not([contenteditable=\"false\"]), audio[controls], video[controls], iframe, details > summary:first-child";
|
|
21
|
+
export declare const FOCUSABLE_SELECTOR = "button:not([disabled]), a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled]), [contenteditable]:not([contenteditable=\"false\"]), audio[controls], video[controls], iframe, details > summary:first-child";
|
|
22
22
|
//# sourceMappingURL=focusableSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusableSelector.d.ts","sourceRoot":"","sources":["../../src/hooks/focusableSelector.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"focusableSelector.d.ts","sourceRoot":"","sources":["../../src/hooks/focusableSelector.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,ySACqQ,CAAC"}
|
|
@@ -21,4 +21,4 @@
|
|
|
21
21
|
* This is the canonical focusable selector; prefer importing it here over
|
|
22
22
|
* re-declaring the string so behavior stays consistent across hooks.
|
|
23
23
|
*/
|
|
24
|
-
export const FOCUSABLE_SELECTOR = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls], iframe, details > summary:first-child';
|
|
24
|
+
export const FOCUSABLE_SELECTOR = 'button:not([disabled]), a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls], iframe, details > summary:first-child';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export { useListFocus } from './useListFocus';
|
|
|
16
16
|
export type { UseListFocusOptions, UseListFocusReturn, ListFocusOrientation, } from './useListFocus';
|
|
17
17
|
export { useTreeFocus } from './useTreeFocus';
|
|
18
18
|
export type { UseTreeFocusOptions, UseTreeFocusReturn } from './useTreeFocus';
|
|
19
|
+
export { useHotkeys } from './useHotkeys';
|
|
20
|
+
export type { Hotkey } from './useHotkeys';
|
|
19
21
|
export { useTypeahead } from './useTypeahead';
|
|
20
22
|
export { useKeyboardHint } from './useKeyboardHint';
|
|
21
23
|
export type { UseKeyboardHintOptions, UseKeyboardHintReturn, KeyboardHintOrientation, } from './useKeyboardHint';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACV,eAAe,EACf,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,YAAY,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACV,eAAe,EACf,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAC,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export { useAnnounce } from "./useAnnounce.js";
|
|
|
15
15
|
export { useGridFocus } from "./useGridFocus.js";
|
|
16
16
|
export { useListFocus } from "./useListFocus.js";
|
|
17
17
|
export { useTreeFocus } from "./useTreeFocus.js";
|
|
18
|
+
export { useHotkeys } from "./useHotkeys.js";
|
|
18
19
|
export { useTypeahead } from "./useTypeahead.js";
|
|
19
20
|
export { useKeyboardHint } from "./useKeyboardHint.js";
|
|
20
21
|
export { useMediaQuery } from "./useMediaQuery.js";
|
|
@@ -49,6 +49,9 @@ export interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {
|
|
|
49
49
|
* - Listens to focus events on the document
|
|
50
50
|
* - Redirects focus back into the container if it escapes
|
|
51
51
|
* - Handles both Tab and Shift+Tab navigation
|
|
52
|
+
* - Restores focus to the element that was focused before activation when the
|
|
53
|
+
* trap deactivates or unmounts, unless focus was already moved elsewhere
|
|
54
|
+
* (so consumers that restore focus themselves are unaffected)
|
|
52
55
|
*
|
|
53
56
|
* @example
|
|
54
57
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAgDA;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAEV;AA0ED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACrE;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC9D,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAAC,CAAC,CAAC,CAiMvB"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file useFocusTrap.ts
|
|
7
7
|
* @input Uses React useCallback, useEffect, useRef
|
|
8
|
-
* @output Exports useFocusTrap hook for trapping focus within a container
|
|
8
|
+
* @output Exports useFocusTrap hook for trapping focus within a container and
|
|
9
|
+
* restoring focus to the previously-focused element on deactivation
|
|
9
10
|
* @position Core hook; used by dialogs, modals, date pickers
|
|
10
11
|
*
|
|
11
12
|
* Based on WAI-ARIA dialog pattern:
|
|
@@ -146,6 +147,9 @@ function focusLastDescendant(container) {
|
|
|
146
147
|
* - Listens to focus events on the document
|
|
147
148
|
* - Redirects focus back into the container if it escapes
|
|
148
149
|
* - Handles both Tab and Shift+Tab navigation
|
|
150
|
+
* - Restores focus to the element that was focused before activation when the
|
|
151
|
+
* trap deactivates or unmounts, unless focus was already moved elsewhere
|
|
152
|
+
* (so consumers that restore focus themselves are unaffected)
|
|
149
153
|
*
|
|
150
154
|
* @example
|
|
151
155
|
* ```
|
|
@@ -185,6 +189,39 @@ export function useFocusTrap(options) {
|
|
|
185
189
|
}
|
|
186
190
|
}, []);
|
|
187
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Capture the element focused before the trap activated, and restore focus to
|
|
194
|
+
* it when the trap deactivates (or the component unmounts). Overlays are
|
|
195
|
+
* opened imperatively (e.g. `showPopover()`), so the browser's declarative
|
|
196
|
+
* popover focus restoration does not apply — without this, closing a Popover
|
|
197
|
+
* via Escape or light dismiss drops keyboard focus to `<body>`.
|
|
198
|
+
*
|
|
199
|
+
* The restore is guarded so it never steals focus a consumer moved on
|
|
200
|
+
* purpose: it only runs when focus would otherwise be lost — i.e. the active
|
|
201
|
+
* element is nothing, the document body/root, or still inside the (possibly
|
|
202
|
+
* now-unmounted) trap container. If focus already moved to some other element
|
|
203
|
+
* outside the trap (the user clicked elsewhere, or a consumer such as
|
|
204
|
+
* DropdownMenu already refocused its trigger), the restore is a no-op.
|
|
205
|
+
*/
|
|
206
|
+
useEffect(() => {
|
|
207
|
+
if (!isActive) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const previouslyFocused = document.activeElement;
|
|
211
|
+
// Snapshot the container now; by cleanup it may be detached or unmounted.
|
|
212
|
+
const container = containerRef.current;
|
|
213
|
+
return () => {
|
|
214
|
+
const active = document.activeElement;
|
|
215
|
+
const focusWasLost = active == null || active === document.body || active === document.documentElement || container != null && container.contains(active);
|
|
216
|
+
if (!focusWasLost) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (previouslyFocused != null && previouslyFocused.isConnected && typeof previouslyFocused.focus === 'function') {
|
|
220
|
+
previouslyFocused.focus();
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
}, [isActive]);
|
|
224
|
+
|
|
188
225
|
/**
|
|
189
226
|
* Handle focus events - redirect focus back into container if it escapes.
|
|
190
227
|
* Only redirects for keyboard navigation, not mouse clicks.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single keyboard shortcut registration.
|
|
3
|
+
*/
|
|
4
|
+
export interface Hotkey {
|
|
5
|
+
/**
|
|
6
|
+
* Key combo, e.g. 'mod+k', 'shift+/', 'c', 'escape'.
|
|
7
|
+
* 'mod' = ⌘ on macOS, Ctrl elsewhere.
|
|
8
|
+
*
|
|
9
|
+
* Format: '+'-separated modifiers (mod, ctrl, meta, shift, alt) followed
|
|
10
|
+
* by a final key compared case-insensitively against event.key.
|
|
11
|
+
* Named keys: 'escape', 'enter', 'space', 'up', 'down', 'left', 'right'
|
|
12
|
+
* (arrow names map to ArrowUp/ArrowDown/ArrowLeft/ArrowRight).
|
|
13
|
+
* Use 'plus' for a literal '+' key.
|
|
14
|
+
*
|
|
15
|
+
* Shift semantics: when 'shift' is not specified, shift state is ignored,
|
|
16
|
+
* so single letters match regardless of shift. When 'shift' is specified,
|
|
17
|
+
* shiftKey must be pressed and the final key is still compared against
|
|
18
|
+
* event.key — for punctuation that shift transforms (e.g. shift+/ produces
|
|
19
|
+
* '?' on US layouts), prefer registering the produced character instead.
|
|
20
|
+
*/
|
|
21
|
+
keys: string;
|
|
22
|
+
/** Called when the combo matches. The event has preventDefault() applied. */
|
|
23
|
+
onPress: (event: KeyboardEvent) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Fire even when focus is in an input/textarea/select/contenteditable.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
allowInInputs?: boolean;
|
|
29
|
+
/** Temporarily disable this hotkey without unregistering it. */
|
|
30
|
+
isDisabled?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Registers global keyboard shortcuts on window.
|
|
34
|
+
*
|
|
35
|
+
* A single keydown listener is attached per hook instance; the hotkey
|
|
36
|
+
* definitions live in a ref, so re-renders update behavior without
|
|
37
|
+
* re-subscribing. First matching hotkey wins per event.
|
|
38
|
+
*
|
|
39
|
+
* @param hotkeys - Shortcut registrations to listen for.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```
|
|
43
|
+
* useHotkeys([
|
|
44
|
+
* { keys: 'mod+k', onPress: () => openCommandPalette() },
|
|
45
|
+
* { keys: 'escape', onPress: () => closePanel(), allowInInputs: true },
|
|
46
|
+
* { keys: 'c', onPress: () => compose(), isDisabled: isModalOpen },
|
|
47
|
+
* ]);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function useHotkeys(hotkeys: Hotkey[]): void;
|
|
51
|
+
//# sourceMappingURL=useHotkeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHotkeys.d.ts","sourceRoot":"","sources":["../../src/hooks/useHotkeys.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA2FD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAkClD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
'use client';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @file useHotkeys.ts
|
|
7
|
+
* @input Uses React useEffect, useRef
|
|
8
|
+
* @output Exports useHotkeys hook and Hotkey interface for global keyboard shortcuts
|
|
9
|
+
* @position Core hook; used by consumers for app-level keyboard shortcuts
|
|
10
|
+
*
|
|
11
|
+
* Registers a single window keydown listener per hook instance. Handlers
|
|
12
|
+
* are kept in a ref so re-renders never re-subscribe (subscribe once on
|
|
13
|
+
* mount, unsubscribe on unmount). SSR-safe — window is only touched
|
|
14
|
+
* inside the effect.
|
|
15
|
+
*
|
|
16
|
+
* Skips events that are already handled (defaultPrevented) and events
|
|
17
|
+
* targeting typing surfaces (input, textarea, select, contenteditable)
|
|
18
|
+
* unless a hotkey opts in via `allowInInputs`.
|
|
19
|
+
*
|
|
20
|
+
* Platform-aware: `mod` maps to metaKey (⌘) on Apple platforms and
|
|
21
|
+
* ctrlKey elsewhere — mirrors the detection used by Kbd.
|
|
22
|
+
*
|
|
23
|
+
* SYNC: When modified, update:
|
|
24
|
+
* - /packages/core/src/hooks/index.ts
|
|
25
|
+
* - /packages/core/src/hooks/useHotkeys.doc.mjs
|
|
26
|
+
*/
|
|
27
|
+
import { useEffect, useRef } from 'react';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* A single keyboard shortcut registration.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/** Aliases for the final key of a combo, normalized to event.key values. */
|
|
34
|
+
const KEY_ALIASES = {
|
|
35
|
+
esc: 'escape',
|
|
36
|
+
space: ' ',
|
|
37
|
+
up: 'arrowup',
|
|
38
|
+
down: 'arrowdown',
|
|
39
|
+
left: 'arrowleft',
|
|
40
|
+
right: 'arrowright',
|
|
41
|
+
return: 'enter',
|
|
42
|
+
plus: '+'
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Detects whether the current platform is macOS/iOS.
|
|
47
|
+
* Prefers the User-Agent Client Hints API when available (modern Chrome/Edge),
|
|
48
|
+
* falls back to navigator.platform (deprecated but universally supported).
|
|
49
|
+
* Mirrors the detection used by Kbd so displayed and handled shortcuts agree.
|
|
50
|
+
*/
|
|
51
|
+
function isApplePlatform() {
|
|
52
|
+
if (typeof navigator === 'undefined') {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const uaData = 'userAgentData' in navigator ? navigator.userAgentData : null;
|
|
56
|
+
if (uaData && typeof uaData === 'object' && 'platform' in uaData) {
|
|
57
|
+
return /mac/i.test(uaData.platform ?? '');
|
|
58
|
+
}
|
|
59
|
+
return /Mac|iPhone|iPad|iPod/.test(navigator.platform ?? '');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Whether the event target is a typing surface where global shortcuts
|
|
64
|
+
* should stay silent by default.
|
|
65
|
+
*/
|
|
66
|
+
function isTypingTarget(target) {
|
|
67
|
+
if (!(target instanceof HTMLElement)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
if (target.isContentEditable) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
const tag = target.tagName;
|
|
74
|
+
return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT';
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Whether a keydown event matches a '+'-separated combo string.
|
|
79
|
+
*/
|
|
80
|
+
function matchesCombo(keys, event, isApple) {
|
|
81
|
+
const parts = keys.toLowerCase().split('+').map(part => part.trim()).filter(Boolean);
|
|
82
|
+
if (parts.length === 0) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
const key = parts[parts.length - 1];
|
|
86
|
+
const mods = new Set(parts.slice(0, -1));
|
|
87
|
+
const wantsMod = mods.has('mod');
|
|
88
|
+
const wantsCtrl = mods.has('ctrl') || wantsMod && !isApple;
|
|
89
|
+
const wantsMeta = mods.has('meta') || wantsMod && isApple;
|
|
90
|
+
const wantsAlt = mods.has('alt');
|
|
91
|
+
const wantsShift = mods.has('shift');
|
|
92
|
+
|
|
93
|
+
// Non-shift modifiers must match exactly so 'k' doesn't fire on 'mod+k'.
|
|
94
|
+
if (event.ctrlKey !== wantsCtrl) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
if (event.metaKey !== wantsMeta) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
if (event.altKey !== wantsAlt) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// Shift is only enforced when specified — see Hotkey.keys docs.
|
|
104
|
+
if (wantsShift && !event.shiftKey) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
const expected = KEY_ALIASES[key] ?? key;
|
|
108
|
+
return event.key.toLowerCase() === expected;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Registers global keyboard shortcuts on window.
|
|
113
|
+
*
|
|
114
|
+
* A single keydown listener is attached per hook instance; the hotkey
|
|
115
|
+
* definitions live in a ref, so re-renders update behavior without
|
|
116
|
+
* re-subscribing. First matching hotkey wins per event.
|
|
117
|
+
*
|
|
118
|
+
* @param hotkeys - Shortcut registrations to listen for.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```
|
|
122
|
+
* useHotkeys([
|
|
123
|
+
* { keys: 'mod+k', onPress: () => openCommandPalette() },
|
|
124
|
+
* { keys: 'escape', onPress: () => closePanel(), allowInInputs: true },
|
|
125
|
+
* { keys: 'c', onPress: () => compose(), isDisabled: isModalOpen },
|
|
126
|
+
* ]);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export function useHotkeys(hotkeys) {
|
|
130
|
+
const hotkeysRef = useRef(hotkeys);
|
|
131
|
+
|
|
132
|
+
// Keep the latest definitions available to the stable listener.
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
hotkeysRef.current = hotkeys;
|
|
135
|
+
});
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
const isApple = isApplePlatform();
|
|
138
|
+
const handleKeyDown = event => {
|
|
139
|
+
if (event.defaultPrevented) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const isTyping = isTypingTarget(event.target);
|
|
143
|
+
for (const hotkey of hotkeysRef.current) {
|
|
144
|
+
if (hotkey.isDisabled) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (isTyping && !hotkey.allowInInputs) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (matchesCombo(hotkey.keys, event, isApple)) {
|
|
151
|
+
event.preventDefault();
|
|
152
|
+
hotkey.onPress(event);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
158
|
+
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
159
|
+
}, []);
|
|
160
|
+
}
|
|
@@ -18,8 +18,12 @@ export interface UseInteractiveRoleOptions {
|
|
|
18
18
|
*/
|
|
19
19
|
onClick?: ((...args: never[]) => unknown) | null;
|
|
20
20
|
/**
|
|
21
|
-
* Whether the component is disabled. When true
|
|
22
|
-
*
|
|
21
|
+
* Whether the component is disabled. When true, an `href` is ignored for
|
|
22
|
+
* role resolution (a disabled link is an a11y anti-pattern), so the role is
|
|
23
|
+
* decided by the remaining inputs: `onClick` → `'button'`, an interactive
|
|
24
|
+
* context → its role, otherwise `'inert'`. In particular a disabled `href`
|
|
25
|
+
* with no `onClick` and no context override resolves to `'inert'`, not a
|
|
26
|
+
* link or a button.
|
|
23
27
|
* @default false
|
|
24
28
|
*/
|
|
25
29
|
isDisabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInteractiveRole.d.ts","sourceRoot":"","sources":["../../src/hooks/useInteractiveRole.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useInteractiveRole.d.ts","sourceRoot":"","sources":["../../src/hooks/useInteractiveRole.ts"],"names":[],"mappings":"AA+BA;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAEjD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,UAAkB,GACnB,EAAE,yBAAyB,GAAG,eAAe,CAqB7C"}
|
|
@@ -11,11 +11,14 @@
|
|
|
11
11
|
* Centralizes the "what element should I render as?" decision for
|
|
12
12
|
* polymorphic components. The priority order:
|
|
13
13
|
*
|
|
14
|
-
* 1. href → 'link' (navigation always wins)
|
|
14
|
+
* 1. href → 'link' (navigation always wins, unless disabled)
|
|
15
15
|
* 2. onClick → 'button' (explicit interactivity)
|
|
16
16
|
* 3. interactive trigger context → 'button' (implicit via parent)
|
|
17
17
|
* 4. else → 'inert' (non-interactive)
|
|
18
18
|
*
|
|
19
|
+
* A disabled `href` is excluded at step 1 and therefore resolves via the
|
|
20
|
+
* remaining steps — 'inert' when no onClick or context applies.
|
|
21
|
+
*
|
|
19
22
|
* This hook is the single place to add new context-based triggers
|
|
20
23
|
* (e.g., Popover, DropdownMenu, Disclosure). Components that consume
|
|
21
24
|
* this hook never need updating when new trigger contexts are added.
|
|
@@ -60,7 +63,8 @@ export function useInteractiveRole({
|
|
|
60
63
|
}) {
|
|
61
64
|
const contextRole = useInteractiveRoleContext();
|
|
62
65
|
|
|
63
|
-
// 1. href → link (unless disabled — disabled
|
|
66
|
+
// 1. href → link (unless disabled — a disabled href is skipped here and
|
|
67
|
+
// resolved by the checks below, landing on 'inert' if nothing else applies)
|
|
64
68
|
if (href != null && !isDisabled) {
|
|
65
69
|
return 'link';
|
|
66
70
|
}
|
|
@@ -25,7 +25,7 @@ import { useLayer } from "../Layer/useLayer.js";
|
|
|
25
25
|
// ---------------------------------------------------------------------------
|
|
26
26
|
// Types
|
|
27
27
|
// ---------------------------------------------------------------------------
|
|
28
|
-
import {
|
|
28
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
29
29
|
// ---------------------------------------------------------------------------
|
|
30
30
|
// Styles
|
|
31
31
|
// ---------------------------------------------------------------------------
|
|
@@ -187,23 +187,23 @@ export function useKeyboardHint(options = {}) {
|
|
|
187
187
|
|
|
188
188
|
// --- Render the hint element ---
|
|
189
189
|
|
|
190
|
-
const arrowContent = /*#__PURE__*/
|
|
190
|
+
const arrowContent = /*#__PURE__*/_jsxDEV("span", {
|
|
191
191
|
...{
|
|
192
192
|
className: "x3nfvp2 x6s0dn4 xzye2dw"
|
|
193
193
|
},
|
|
194
|
-
children: ARROW_HINT_KEYS[orientation].map(key => /*#__PURE__*/
|
|
194
|
+
children: ARROW_HINT_KEYS[orientation].map(key => /*#__PURE__*/_jsxDEV(Kbd, {
|
|
195
195
|
keys: key
|
|
196
|
-
}, key))
|
|
197
|
-
});
|
|
198
|
-
const hintElement = layer.render(/*#__PURE__*/
|
|
196
|
+
}, key, false))
|
|
197
|
+
}, void 0, false);
|
|
198
|
+
const hintElement = layer.render(/*#__PURE__*/_jsxDEV("span", {
|
|
199
199
|
"aria-hidden": "true",
|
|
200
|
-
children: [arrowContent, /*#__PURE__*/
|
|
200
|
+
children: [arrowContent, /*#__PURE__*/_jsxDEV("span", {
|
|
201
201
|
...{
|
|
202
202
|
className: "x11g1kdw"
|
|
203
203
|
},
|
|
204
204
|
children: "to navigate"
|
|
205
|
-
})]
|
|
206
|
-
}), {
|
|
205
|
+
}, void 0, false)]
|
|
206
|
+
}, void 0, true), {
|
|
207
207
|
placement: 'below',
|
|
208
208
|
alignment: 'start',
|
|
209
209
|
xstyle: styles.hint,
|
|
@@ -16,7 +16,9 @@ export interface UseStreamingTextOptions {
|
|
|
16
16
|
* Smooths bursty streamed text into a steady character-by-character reveal.
|
|
17
17
|
*
|
|
18
18
|
* Returns a string that grows steadily toward `targetText`. When `isStreaming`
|
|
19
|
-
* is false, returns the full `targetText` immediately.
|
|
19
|
+
* is false, returns the full `targetText` immediately. When the user prefers
|
|
20
|
+
* reduced motion, the progressive reveal is skipped entirely and the full
|
|
21
|
+
* `targetText` is returned immediately.
|
|
20
22
|
*
|
|
21
23
|
* The hook advances on word and syntax boundaries, avoiding slices inside
|
|
22
24
|
* markdown markers like `**`, backticks, `[]()`, etc. This prevents visual
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStreamingText.d.ts","sourceRoot":"","sources":["../../src/hooks/useStreamingText.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useStreamingText.d.ts","sourceRoot":"","sources":["../../src/hooks/useStreamingText.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AA4BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAiGR"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file useStreamingText.ts
|
|
7
|
-
* @input Uses React useState, useEffect, useRef, useTheme
|
|
7
|
+
* @input Uses React useState, useEffect, useRef, useMediaQuery, useTheme
|
|
8
8
|
* @output Exports useStreamingText hook for smooth text streaming
|
|
9
9
|
* @position Core hook; smooths bursty streamed text into steady character reveal
|
|
10
10
|
*
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* - /packages/core/src/hooks/useStreamingText.test.ts (tests)
|
|
23
23
|
*/
|
|
24
24
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
25
|
+
import { useMediaQuery } from "./useMediaQuery.js";
|
|
25
26
|
import { useTheme } from "../theme/useTheme.js";
|
|
26
27
|
|
|
27
28
|
/**
|
|
@@ -60,7 +61,9 @@ const CHARS_PER_TICK = {
|
|
|
60
61
|
* Smooths bursty streamed text into a steady character-by-character reveal.
|
|
61
62
|
*
|
|
62
63
|
* Returns a string that grows steadily toward `targetText`. When `isStreaming`
|
|
63
|
-
* is false, returns the full `targetText` immediately.
|
|
64
|
+
* is false, returns the full `targetText` immediately. When the user prefers
|
|
65
|
+
* reduced motion, the progressive reveal is skipped entirely and the full
|
|
66
|
+
* `targetText` is returned immediately.
|
|
64
67
|
*
|
|
65
68
|
* The hook advances on word and syntax boundaries, avoiding slices inside
|
|
66
69
|
* markdown markers like `**`, backticks, `[]()`, etc. This prevents visual
|
|
@@ -129,9 +132,15 @@ export function useStreamingText(targetText, isStreaming, options) {
|
|
|
129
132
|
}
|
|
130
133
|
}
|
|
131
134
|
|
|
135
|
+
// Respect the user's reduced-motion preference — skip the progressive
|
|
136
|
+
// reveal and snap straight to the full text. Uses the package's SSR-safe
|
|
137
|
+
// useMediaQuery (useMediaQuery.ts) so the read stays in sync if the
|
|
138
|
+
// preference changes mid-stream.
|
|
139
|
+
const prefersReducedMotion = useMediaQuery('(prefers-reduced-motion: reduce)');
|
|
140
|
+
|
|
132
141
|
// Animation loop
|
|
133
142
|
useEffect(() => {
|
|
134
|
-
if (!isStreaming || speed === 'instant') {
|
|
143
|
+
if (!isStreaming || speed === 'instant' || prefersReducedMotion) {
|
|
135
144
|
return;
|
|
136
145
|
}
|
|
137
146
|
function tick(now) {
|
|
@@ -155,8 +164,8 @@ export function useStreamingText(targetText, isStreaming, options) {
|
|
|
155
164
|
rafRef.current = null;
|
|
156
165
|
}
|
|
157
166
|
};
|
|
158
|
-
}, [isStreaming, charsPerTick, tickMs, speed]);
|
|
159
|
-
if (!isStreaming || speed === 'instant') {
|
|
167
|
+
}, [isStreaming, charsPerTick, tickMs, speed, prefersReducedMotion]);
|
|
168
|
+
if (!isStreaming || speed === 'instant' || prefersReducedMotion) {
|
|
160
169
|
return targetText;
|
|
161
170
|
}
|
|
162
171
|
return targetText.slice(0, displayedLen);
|
package/dist/theme/MediaTheme.js
CHANGED
|
@@ -37,7 +37,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
37
37
|
import "./tokens.stylex.js";
|
|
38
38
|
import { colorVars } from "./tokens.stylex.js";
|
|
39
39
|
import { dataAttr } from "../naming.js";
|
|
40
|
-
import {
|
|
40
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
41
41
|
/**
|
|
42
42
|
* Inverted surface theming context.
|
|
43
43
|
*
|
|
@@ -49,12 +49,12 @@ export function MediaTheme({
|
|
|
49
49
|
mode,
|
|
50
50
|
children
|
|
51
51
|
}) {
|
|
52
|
-
return /*#__PURE__*/
|
|
52
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
53
53
|
[dataAttr('media')]: mode,
|
|
54
54
|
...{
|
|
55
55
|
className: "xjp7ctv x1tgivj0"
|
|
56
56
|
},
|
|
57
57
|
children: children
|
|
58
|
-
});
|
|
58
|
+
}, void 0, false);
|
|
59
59
|
}
|
|
60
60
|
MediaTheme.displayName = 'MediaTheme';
|