@astryxdesign/core 0.3.0 → 0.4.0
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 +156 -0
- package/dist/AlertDialog/AlertDialog.d.ts +10 -2
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +22 -3
- package/dist/AppShell/AppShell.d.ts +2 -2
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +40 -9
- package/dist/AspectRatio/AspectRatio.d.ts +13 -0
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +9 -0
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +33 -20
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +2 -3
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +15 -14
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +21 -8
- package/dist/Breadcrumbs/index.d.ts +2 -1
- package/dist/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/index.js +1 -0
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +11 -15
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +2 -1
- package/dist/Calendar/styles.d.ts +0 -2
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +0 -2
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +8 -12
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +2 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +3 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +4 -3
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +17 -17
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +2 -6
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +36 -125
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +3 -11
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +84 -67
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +35 -15
- package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +6 -3
- package/dist/CommandPalette/CommandPaletteList.js +1 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts +1 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +35 -33
- package/dist/ContextMenu/ContextMenu.d.ts +2 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +1 -1
- package/dist/ContextMenu/index.d.ts +2 -1
- package/dist/ContextMenu/index.d.ts.map +1 -1
- package/dist/ContextMenu/index.js +1 -0
- package/dist/DateInput/DateInput.d.ts +9 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +24 -23
- package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +11 -16
- package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +22 -17
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +4 -4
- package/dist/DropdownMenu/DropdownMenu.d.ts +33 -8
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +62 -20
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +8 -11
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +32 -31
- package/dist/DropdownMenu/DropdownMenuDivider.d.ts +25 -0
- package/dist/DropdownMenu/DropdownMenuDivider.d.ts.map +1 -0
- package/dist/DropdownMenu/DropdownMenuDivider.js +66 -0
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +15 -2
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +20 -8
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +5 -5
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +24 -67
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +2 -8
- package/dist/DropdownMenu/index.d.ts +2 -1
- package/dist/DropdownMenu/index.d.ts.map +1 -1
- package/dist/DropdownMenu/index.js +4 -0
- package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
- package/dist/DropdownMenu/renderDropdownItems.js +35 -27
- package/dist/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/EmptyState/EmptyState.js +9 -5
- package/dist/Field/InputClearButton.d.ts +16 -3
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +15 -4
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +3 -19
- package/dist/Indicator/CheckIndicator.d.ts +25 -0
- package/dist/Indicator/CheckIndicator.d.ts.map +1 -0
- package/dist/Indicator/CheckIndicator.js +155 -0
- package/dist/Indicator/CheckboxIndicator.d.ts +22 -0
- package/dist/Indicator/CheckboxIndicator.d.ts.map +1 -0
- package/dist/Indicator/CheckboxIndicator.js +173 -0
- package/dist/Indicator/RadioIndicator.d.ts +23 -0
- package/dist/Indicator/RadioIndicator.d.ts.map +1 -0
- package/dist/Indicator/RadioIndicator.js +137 -0
- package/dist/Indicator/index.d.ts +24 -0
- package/dist/Indicator/index.d.ts.map +1 -0
- package/dist/Indicator/index.js +26 -0
- package/dist/Indicator/indicator.markers.stylex.d.ts +16 -0
- package/dist/Indicator/indicator.markers.stylex.d.ts.map +1 -0
- package/dist/Indicator/indicator.markers.stylex.js +21 -0
- package/dist/Indicator/indicatorRegistry.d.ts +71 -0
- package/dist/Indicator/indicatorRegistry.d.ts.map +1 -0
- package/dist/Indicator/indicatorRegistry.js +93 -0
- package/dist/Indicator/types.d.ts +167 -0
- package/dist/Indicator/types.d.ts.map +1 -0
- package/dist/Indicator/types.js +1 -0
- package/dist/Indicator/useIndicator.d.ts +18 -0
- package/dist/Indicator/useIndicator.d.ts.map +1 -0
- package/dist/Indicator/useIndicator.js +30 -0
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +4 -8
- package/dist/Layer/useLayer.d.ts +14 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +25 -2
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +56 -53
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +4 -5
- package/dist/MobileNav/MobileNav.js +8 -8
- package/dist/MoreMenu/MoreMenu.d.ts +14 -1
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MoreMenu/MoreMenu.js +4 -0
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +78 -75
- package/dist/NumberInput/NumberInput.d.ts +27 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +230 -42
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +2 -3
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +61 -63
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +6 -8
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +7 -0
- package/dist/ProgressBar/ProgressBar.d.ts +11 -4
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +96 -6
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +29 -84
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +2 -3
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +2 -3
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +3 -11
- package/dist/Selector/Selector.d.ts +2 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +164 -94
- package/dist/Selector/hooks.d.ts +18 -6
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +57 -40
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +29 -14
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +56 -20
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +28 -22
- package/dist/Stack/stack.stylex.d.ts +3 -3
- package/dist/Switch/Switch.js +11 -10
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +2 -3
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +41 -19
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +8 -0
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +22 -18
- package/dist/Table/plugins/rowExpansion/index.d.ts +1 -1
- package/dist/Table/plugins/rowExpansion/index.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/index.js +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +41 -76
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +94 -345
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +23 -4
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +29 -33
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +2 -1
- package/dist/Table/types.d.ts +11 -0
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/TextArea/TextArea.d.ts +10 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +16 -6
- package/dist/TextInput/TextInput.d.ts +10 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +13 -19
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +32 -26
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +7 -15
- package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -1
- package/dist/Timestamp/TimestampHoverCard.js +16 -34
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +20 -11
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +4 -2
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +3 -19
- package/dist/TopNav/TopNav.d.ts.map +1 -1
- package/dist/TopNav/TopNav.js +6 -5
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +54 -16
- package/dist/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavItem.js +3 -9
- package/dist/TopNav/TopNavMegaMenu.d.ts +7 -0
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +146 -60
- package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +22 -3
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +83 -38
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +13 -0
- package/dist/TreeList/TreeListBranches.d.ts +1 -1
- package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
- package/dist/TreeList/TreeListBranches.js +14 -4
- package/dist/TreeList/TreeListItem.d.ts +11 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +57 -30
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +16 -8
- package/dist/astryx.css +74 -85
- package/dist/astryx.umd.js +56 -56
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/containerReveal.stylex.d.ts +61 -0
- package/dist/hooks/containerReveal.stylex.d.ts.map +1 -0
- package/dist/hooks/containerReveal.stylex.js +63 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/useClipboard.d.ts +59 -0
- package/dist/hooks/useClipboard.d.ts.map +1 -0
- package/dist/hooks/useClipboard.js +106 -0
- package/dist/hooks/useContainerReveal.d.ts +14 -8
- package/dist/hooks/useContainerReveal.d.ts.map +1 -1
- package/dist/hooks/useContainerReveal.js +28 -69
- package/dist/hooks/useIndicatorFocusRing.d.ts +28 -0
- package/dist/hooks/useIndicatorFocusRing.d.ts.map +1 -0
- package/dist/hooks/useIndicatorFocusRing.js +96 -0
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +12 -2
- package/dist/hooks/useScrollLock.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.js +33 -18
- package/dist/hooks/useStreamingText.d.ts +18 -3
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +47 -7
- package/dist/hooks/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +9 -3
- package/dist/hooks/useTypeahead.d.ts +3 -2
- package/dist/hooks/useTypeahead.d.ts.map +1 -1
- package/dist/hooks/useTypeahead.js +19 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/theme/defineTheme.d.ts +16 -0
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +8 -0
- package/dist/theme/derivedVarRegistry.d.ts +8 -0
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +14 -13
- package/dist/theme/expandColorScale.d.ts +3 -1
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +17 -7
- package/dist/theme/expandTypeScale.d.ts.map +1 -1
- package/dist/theme/expandTypeScale.js +17 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +11 -0
- package/dist/theme/index.d.ts +1 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/utils/focusOutline.stylex.d.ts +107 -0
- package/dist/utils/focusOutline.stylex.d.ts.map +1 -0
- package/dist/utils/focusOutline.stylex.js +130 -0
- package/dist/utils/focusReturn.d.ts +24 -0
- package/dist/utils/focusReturn.d.ts.map +1 -0
- package/dist/utils/focusReturn.js +29 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/mergeRefs.d.ts.map +1 -1
- package/dist/utils/mergeRefs.js +7 -5
- package/dist/utils/rtlStyles.d.ts +2 -2
- package/dist/utils/rtlStyles.js +2 -2
- package/dist/utils/themeProps.d.ts +20 -1
- package/dist/utils/themeProps.d.ts.map +1 -1
- package/dist/utils/themeProps.js +8 -2
- package/locales/en.json +12 -0
- package/locales/pseudo.json +9 -0
- package/package.json +7 -2
- package/src/AlertDialog/AlertDialog.doc.mjs +16 -3
- package/src/AlertDialog/AlertDialog.test.tsx +208 -1
- package/src/AlertDialog/AlertDialog.tsx +21 -3
- package/src/AppShell/AppShell.doc.mjs +11 -0
- package/src/AppShell/AppShell.test.tsx +139 -0
- package/src/AppShell/AppShell.tsx +32 -22
- package/src/AspectRatio/AspectRatio.doc.mjs +27 -3
- package/src/AspectRatio/AspectRatio.test.tsx +30 -0
- package/src/AspectRatio/AspectRatio.tsx +13 -0
- package/src/Avatar/Avatar.doc.mjs +2 -13
- package/src/Avatar/Avatar.test.tsx +33 -8
- package/src/Avatar/Avatar.tsx +52 -50
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +2 -9
- package/src/Banner/Banner.tsx +9 -6
- package/src/Breadcrumbs/BreadcrumbItem.tsx +16 -6
- package/src/Breadcrumbs/index.ts +5 -1
- package/src/Button/Button.tsx +21 -41
- package/src/Calendar/Calendar.tsx +2 -1
- package/src/Calendar/styles.ts +0 -8
- package/src/Carousel/Carousel.doc.mjs +3 -0
- package/src/Carousel/Carousel.tsx +10 -6
- package/src/Chat/Chat.doc.mjs +2 -0
- package/src/Chat/ChatDictationButton.tsx +7 -1
- package/src/Chat/ChatLayoutScrollButton.test.tsx +22 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +8 -1
- package/src/Chat/ChatSendButton.tsx +2 -3
- package/src/Chat/ChatToolCalls.test.tsx +35 -0
- package/src/Chat/ChatToolCalls.tsx +36 -16
- package/src/Chat/useTriggerMenu.tsx +2 -5
- package/src/CheckboxInput/CheckboxInput.doc.mjs +4 -2
- package/src/CheckboxInput/CheckboxInput.test.tsx +115 -0
- package/src/CheckboxInput/CheckboxInput.tsx +45 -202
- package/src/ClickableCard/ClickableCard.tsx +6 -11
- package/src/CodeBlock/CodeBlock.doc.mjs +3 -0
- package/src/CodeBlock/CodeBlock.test.tsx +91 -0
- package/src/CodeBlock/CodeBlock.tsx +57 -80
- package/src/Collapsible/Collapsible.tsx +22 -18
- package/src/CommandPalette/CommandPalette.test.tsx +29 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +7 -4
- package/src/CommandPalette/CommandPaletteList.tsx +2 -2
- package/src/ComplexSelector/ComplexSelector.doc.mjs +42 -0
- package/src/ComplexSelector/ComplexSelector.test.tsx +64 -0
- package/src/ComplexSelector/ComplexSelector.tsx +46 -29
- package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
- package/src/ContextMenu/ContextMenu.test.tsx +41 -0
- package/src/ContextMenu/ContextMenu.tsx +3 -3
- package/src/ContextMenu/index.ts +5 -1
- package/src/DateInput/DateInput.doc.mjs +18 -3
- package/src/DateInput/DateInput.test.tsx +93 -11
- package/src/DateInput/DateInput.tsx +41 -19
- package/src/DateRangeInput/DateRangeInput.doc.mjs +10 -2
- package/src/DateRangeInput/DateRangeInput.test.tsx +110 -14
- package/src/DateRangeInput/DateRangeInput.tsx +24 -12
- package/src/DateTimeInput/DateTimeInput.doc.mjs +16 -2
- package/src/DateTimeInput/DateTimeInput.test.tsx +75 -0
- package/src/DateTimeInput/DateTimeInput.tsx +35 -8
- package/src/Dialog/Dialog.tsx +2 -9
- package/src/DropdownMenu/DropdownMenu.doc.mjs +5 -9
- package/src/DropdownMenu/DropdownMenu.test.tsx +534 -4
- package/src/DropdownMenu/DropdownMenu.tsx +113 -52
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +27 -30
- package/src/DropdownMenu/DropdownMenuDivider.doc.mjs +34 -0
- package/src/DropdownMenu/DropdownMenuDivider.tsx +81 -0
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +39 -4
- package/src/DropdownMenu/DropdownMenuItem.tsx +48 -10
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +30 -76
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +25 -19
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +44 -14
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +1 -5
- package/src/DropdownMenu/index.ts +8 -1
- package/src/DropdownMenu/renderDropdownItems.tsx +33 -34
- package/src/EmptyState/EmptyState.doc.mjs +4 -0
- package/src/EmptyState/EmptyState.test.tsx +62 -0
- package/src/EmptyState/EmptyState.tsx +16 -6
- package/src/Field/Field.doc.mjs +1 -0
- package/src/Field/InputClearButton.test.tsx +117 -0
- package/src/Field/InputClearButton.tsx +30 -3
- package/src/HoverCard/useHoverCard.tsx +2 -23
- package/src/Icon/Icon.doc.mjs +2 -1
- package/src/Indicator/CheckIndicator.tsx +174 -0
- package/src/Indicator/CheckboxIndicator.tsx +257 -0
- package/src/Indicator/Indicator.doc.mjs +344 -0
- package/src/Indicator/Indicator.test.tsx +393 -0
- package/src/Indicator/RadioIndicator.tsx +206 -0
- package/src/Indicator/index.ts +45 -0
- package/src/Indicator/indicator.markers.stylex.ts +19 -0
- package/src/Indicator/indicatorRegistry.test.tsx +106 -0
- package/src/Indicator/indicatorRegistry.ts +120 -0
- package/src/Indicator/types.ts +186 -0
- package/src/Indicator/useIndicator.ts +39 -0
- package/src/Item/Item.doc.mjs +1 -1
- package/src/Item/Item.tsx +7 -14
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layer/useLayer.test.tsx +85 -0
- package/src/Layer/useLayer.tsx +39 -1
- package/src/Lightbox/Lightbox.doc.mjs +1 -1
- package/src/Lightbox/Lightbox.tsx +43 -38
- package/src/Link/Link.tsx +4 -11
- package/src/MobileNav/MobileNav.tsx +3 -3
- package/src/MoreMenu/MoreMenu.doc.mjs +31 -0
- package/src/MoreMenu/MoreMenu.test.tsx +68 -1
- package/src/MoreMenu/MoreMenu.tsx +19 -0
- package/src/MultiSelector/MultiSelector.doc.mjs +9 -1
- package/src/MultiSelector/MultiSelector.test.tsx +255 -16
- package/src/MultiSelector/MultiSelector.tsx +103 -99
- package/src/NumberInput/NumberInput.doc.mjs +265 -50
- package/src/NumberInput/NumberInput.test.tsx +726 -21
- package/src/NumberInput/NumberInput.tsx +353 -59
- package/src/Outline/Outline.tsx +2 -5
- package/src/Pagination/Pagination.doc.mjs +1 -1
- package/src/Pagination/Pagination.test.tsx +22 -7
- package/src/Pagination/Pagination.tsx +38 -35
- package/src/Popover/Popover.tsx +6 -7
- package/src/PowerSearch/PowerSearch.tsx +1 -1
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +42 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +7 -0
- package/src/ProgressBar/ProgressBar.doc.mjs +27 -5
- package/src/ProgressBar/ProgressBar.test.tsx +224 -1
- package/src/ProgressBar/ProgressBar.tsx +124 -22
- package/src/RadioList/RadioList.doc.mjs +4 -2
- package/src/RadioList/RadioListItem.tsx +31 -130
- package/src/Resizable/ResizeHandle.tsx +2 -9
- package/src/SegmentedControl/SegmentedControlItem.tsx +2 -9
- package/src/SelectableCard/SelectableCard.tsx +4 -9
- package/src/Selector/Selector.doc.mjs +7 -4
- package/src/Selector/Selector.test.tsx +935 -25
- package/src/Selector/Selector.tsx +189 -106
- package/src/Selector/hooks.ts +77 -50
- package/src/SideNav/SideNav.test.tsx +46 -0
- package/src/SideNav/SideNav.tsx +1 -0
- package/src/SideNav/SideNavCollapseButton.tsx +15 -10
- package/src/SideNav/SideNavHeading.tsx +48 -10
- package/src/SideNav/SideNavItem.tsx +20 -12
- package/src/Stack/Stack.doc.mjs +110 -0
- package/src/StatusDot/StatusDot.doc.mjs +12 -3
- package/src/Switch/Switch.test.tsx +32 -0
- package/src/Switch/Switch.tsx +8 -8
- package/src/TabList/Tab.tsx +2 -9
- package/src/TabList/TabMenu.tsx +14 -21
- package/src/Table/BaseTable.tsx +11 -0
- package/src/Table/index.ts +1 -4
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +30 -14
- package/src/Table/plugins/rowExpansion/index.ts +1 -4
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +125 -175
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +115 -458
- package/src/Table/plugins/sortable/useTableSortable.tsx +2 -6
- package/src/Table/plugins/tree/useTableTreeData.tsx +43 -24
- package/src/Table/tableContextMenu.test.tsx +27 -0
- package/src/Table/tableContextMenu.tsx +1 -0
- package/src/Table/types.ts +11 -0
- package/src/Table/useTableGroupedRows.doc.mjs +1 -1
- package/src/Table/useTableRowExpansion.doc.mjs +43 -66
- package/src/TextArea/TextArea.doc.mjs +42 -2
- package/src/TextArea/TextArea.test.tsx +219 -0
- package/src/TextArea/TextArea.tsx +34 -7
- package/src/TextInput/TextInput.doc.mjs +18 -2
- package/src/TextInput/TextInput.test.tsx +189 -0
- package/src/TextInput/TextInput.tsx +25 -31
- package/src/Thumbnail/Thumbnail.tsx +2 -9
- package/src/TimeInput/TimeInput.doc.mjs +2 -2
- package/src/TimeInput/TimeInput.test.tsx +30 -3
- package/src/TimeInput/TimeInput.tsx +9 -26
- package/src/Timestamp/Timestamp.doc.mjs +4 -3
- package/src/Timestamp/TimestampHoverCard.tsx +13 -35
- package/src/Token/Token.tsx +5 -28
- package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
- package/src/Tokenizer/Tokenizer.test.tsx +45 -3
- package/src/Tokenizer/Tokenizer.tsx +10 -2
- package/src/Tooltip/useTooltip.tsx +2 -23
- package/src/TopNav/TopNav.tsx +1 -3
- package/src/TopNav/TopNavHeading.tsx +42 -13
- package/src/TopNav/TopNavItem.tsx +3 -21
- package/src/TopNav/TopNavMegaMenu.test.tsx +433 -33
- package/src/TopNav/TopNavMegaMenu.tsx +118 -53
- package/src/TopNav/TopNavMegaMenuItem.tsx +2 -9
- package/src/TopNav/TopNavMenu.tsx +34 -37
- package/src/TreeList/TreeList.doc.mjs +5 -0
- package/src/TreeList/TreeList.test.tsx +206 -7
- package/src/TreeList/TreeList.tsx +22 -0
- package/src/TreeList/TreeListBranches.tsx +25 -2
- package/src/TreeList/TreeListItem.tsx +89 -52
- package/src/Typeahead/BaseTypeahead.tsx +19 -6
- package/src/Typeahead/Typeahead.doc.mjs +1 -0
- package/src/Typeahead/Typeahead.test.tsx +76 -3
- package/src/hooks/containerReveal.stylex.ts +102 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useClipboard.doc.mjs +87 -0
- package/src/hooks/useClipboard.test.tsx +151 -0
- package/src/hooks/useClipboard.ts +135 -0
- package/src/hooks/useContainerReveal.doc.mjs +7 -7
- package/src/hooks/useContainerReveal.test.tsx +42 -62
- package/src/hooks/useContainerReveal.ts +36 -91
- package/src/hooks/useImageMode.test.ts +1 -1
- package/src/hooks/useIndicatorFocusRing.tsx +120 -0
- package/src/hooks/useLongPress.test.tsx +18 -0
- package/src/hooks/useLongPress.ts +12 -2
- package/src/hooks/useScrollLock.test.ts +72 -0
- package/src/hooks/useScrollLock.ts +51 -19
- package/src/hooks/useStreamingText.test.ts +46 -1
- package/src/hooks/useStreamingText.ts +49 -7
- package/src/hooks/useTreeFocus.test.tsx +50 -0
- package/src/hooks/useTreeFocus.ts +14 -3
- package/src/hooks/useTypeahead.test.tsx +150 -0
- package/src/hooks/useTypeahead.ts +24 -9
- package/src/i18n/InternationalizationProvider.doc.mjs +7 -2
- package/src/index.ts +1 -0
- package/src/theme/defineTheme.ts +24 -0
- package/src/theme/derivedVarRegistry.test.ts +21 -1
- package/src/theme/derivedVarRegistry.ts +19 -6
- package/src/theme/expandColorScale.test.ts +14 -0
- package/src/theme/expandColorScale.ts +24 -9
- package/src/theme/expandTypeScale.test.ts +43 -0
- package/src/theme/expandTypeScale.ts +17 -0
- package/src/theme/generateThemeRules.test.ts +61 -20
- package/src/theme/generateThemeRules.ts +11 -0
- package/src/theme/index.ts +13 -0
- package/src/utils/focusOutline.stylex.ts +163 -0
- package/src/utils/focusReturn.test.ts +42 -0
- package/src/utils/focusReturn.ts +31 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/mergeRefs.test.ts +48 -0
- package/src/utils/mergeRefs.ts +12 -6
- package/src/utils/rtlStyles.ts +2 -2
- package/src/utils/themeProps.ts +26 -4
- package/dist/CheckboxInput/checkbox.markers.stylex.d.ts +0 -9
- package/dist/CheckboxInput/checkbox.markers.stylex.d.ts.map +0 -1
- package/dist/CheckboxInput/checkbox.markers.stylex.js +0 -14
- package/dist/RadioList/radio.markers.stylex.d.ts +0 -7
- package/dist/RadioList/radio.markers.stylex.d.ts.map +0 -1
- package/dist/RadioList/radio.markers.stylex.js +0 -12
- package/dist/hooks/containerReveal.pool.stylex.d.ts +0 -303
- package/dist/hooks/containerReveal.pool.stylex.d.ts.map +0 -1
- package/dist/hooks/containerReveal.pool.stylex.js +0 -292
- package/src/CheckboxInput/checkbox.markers.stylex.ts +0 -12
- package/src/RadioList/radio.markers.stylex.ts +0 -10
- package/src/hooks/containerReveal.pool.stylex.ts +0 -571
|
@@ -15,20 +15,21 @@
|
|
|
15
15
|
* - /apps/storybook/stories/CheckboxInput.stories.tsx (storybook stories)
|
|
16
16
|
* - /packages/cli/assets/templates/blocks/components/CheckboxInput/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
|
-
import { useId, useCallback, use, useOptimistic, useTransition } from 'react';
|
|
18
|
+
import { useId, useCallback, use, useOptimistic, useRef, useTransition } from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import "../theme/tokens.stylex.js";
|
|
21
|
-
import { colorVars, spacingVars,
|
|
21
|
+
import { colorVars, spacingVars, typographyVars, typeScaleVars, fontWeightVars } from "../theme/tokens.stylex.js";
|
|
22
22
|
import { FieldLabel } from "../Field/FieldLabel.js";
|
|
23
23
|
import { FieldStatus } from "../FieldStatus/FieldStatus.js";
|
|
24
24
|
import { Spinner } from "../Spinner/index.js";
|
|
25
25
|
import { useTooltip } from "../Tooltip/index.js";
|
|
26
26
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
27
|
-
import "
|
|
28
|
-
import {
|
|
27
|
+
import { indicatorScope } from "../Indicator/indicator.markers.stylex.js";
|
|
28
|
+
import { useIndicatorFocusRing } from "../hooks/useIndicatorFocusRing.js";
|
|
29
|
+
import { useIndicator } from "../Indicator/index.js";
|
|
29
30
|
import { themeProps } from "../utils/themeProps.js";
|
|
30
31
|
import { CheckboxListContext } from "../CheckboxList/CheckboxListContext.js";
|
|
31
|
-
import { jsx as _jsx,
|
|
32
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
32
33
|
const styles = {
|
|
33
34
|
container: {
|
|
34
35
|
k1xSpc: "x78zum5",
|
|
@@ -61,63 +62,6 @@ const styles = {
|
|
|
61
62
|
inputDisabled: {
|
|
62
63
|
kkrTdU: "x1h6gzvc",
|
|
63
64
|
$$css: true
|
|
64
|
-
},
|
|
65
|
-
checkbox: {
|
|
66
|
-
k1xSpc: "x78zum5",
|
|
67
|
-
kGNEyG: "x6s0dn4",
|
|
68
|
-
kjj79g: "xl56j7k",
|
|
69
|
-
kMzoRj: "x1litavf",
|
|
70
|
-
ksu8eU: "x1y0btm7",
|
|
71
|
-
kaIpWk: "xx3sua9",
|
|
72
|
-
k1ekBW: "xts7igz",
|
|
73
|
-
kIyJzY: "xuedmi6 x12w9bfk",
|
|
74
|
-
kAMwcw: "xlr8y92",
|
|
75
|
-
$$css: true
|
|
76
|
-
},
|
|
77
|
-
checkboxFocus: {
|
|
78
|
-
kI3sdo: "x1a2a7pz xkri23q",
|
|
79
|
-
kInvED: "x81n7kt",
|
|
80
|
-
$$css: true
|
|
81
|
-
},
|
|
82
|
-
checkboxUnchecked: {
|
|
83
|
-
kMwMTN: "xqwr325",
|
|
84
|
-
kVAM5u: "xvy26l8 x1jtjlen",
|
|
85
|
-
kWkggS: "x10xzikg xrsv7h",
|
|
86
|
-
$$css: true
|
|
87
|
-
},
|
|
88
|
-
checkboxChecked: {
|
|
89
|
-
kMwMTN: "x17wrial",
|
|
90
|
-
kVAM5u: "xad5do x1od6ugu",
|
|
91
|
-
kWkggS: "x1ewilqj x6aeo4j",
|
|
92
|
-
$$css: true
|
|
93
|
-
},
|
|
94
|
-
checkboxDisabled: {
|
|
95
|
-
kSiTet: "xbyyjgo",
|
|
96
|
-
kVAM5u: "x14i3s5s xmt8yqp",
|
|
97
|
-
$$css: true
|
|
98
|
-
},
|
|
99
|
-
checkboxDisabledUnchecked: {
|
|
100
|
-
kWkggS: "xwmxj5m x1cjfj8k",
|
|
101
|
-
$$css: true
|
|
102
|
-
},
|
|
103
|
-
checkmark: {
|
|
104
|
-
k1xSpc: "x1s85apg",
|
|
105
|
-
kMwMTN: "x17wrial xs5hli",
|
|
106
|
-
$$css: true
|
|
107
|
-
},
|
|
108
|
-
checkmarkVisible: {
|
|
109
|
-
k1xSpc: "x1lliihq",
|
|
110
|
-
$$css: true
|
|
111
|
-
},
|
|
112
|
-
indeterminateMark: {
|
|
113
|
-
k1xSpc: "x1s85apg",
|
|
114
|
-
kWkggS: "x1azo05 xwvh9j7",
|
|
115
|
-
kaIpWk: "xjspbzw",
|
|
116
|
-
$$css: true
|
|
117
|
-
},
|
|
118
|
-
indeterminateMarkVisible: {
|
|
119
|
-
k1xSpc: "x1lliihq",
|
|
120
|
-
$$css: true
|
|
121
65
|
}
|
|
122
66
|
};
|
|
123
67
|
const wrapperSizeStyles = {
|
|
@@ -132,42 +76,6 @@ const wrapperSizeStyles = {
|
|
|
132
76
|
$$css: true
|
|
133
77
|
}
|
|
134
78
|
};
|
|
135
|
-
const checkboxSizeStyles = {
|
|
136
|
-
sm: {
|
|
137
|
-
kzqmXN: "xw4jnvo",
|
|
138
|
-
kZKoxP: "x1qx5ct2",
|
|
139
|
-
$$css: true
|
|
140
|
-
},
|
|
141
|
-
md: {
|
|
142
|
-
kzqmXN: "xvy4d1p",
|
|
143
|
-
kZKoxP: "xxk0z11",
|
|
144
|
-
$$css: true
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
const checkmarkSizeStyles = {
|
|
148
|
-
sm: {
|
|
149
|
-
kzqmXN: "xsmyaan",
|
|
150
|
-
kZKoxP: "x1kpxq89",
|
|
151
|
-
$$css: true
|
|
152
|
-
},
|
|
153
|
-
md: {
|
|
154
|
-
kzqmXN: "x6jxa94",
|
|
155
|
-
kZKoxP: "x1v9usgg",
|
|
156
|
-
$$css: true
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
const indeterminateSizeStyles = {
|
|
160
|
-
sm: {
|
|
161
|
-
kzqmXN: "x1fsd2vl",
|
|
162
|
-
kZKoxP: "x36qwtl",
|
|
163
|
-
$$css: true
|
|
164
|
-
},
|
|
165
|
-
md: {
|
|
166
|
-
kzqmXN: "xsmyaan",
|
|
167
|
-
kZKoxP: "x36qwtl",
|
|
168
|
-
$$css: true
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
79
|
// Dynamic field width (number -> px, string used as-is).
|
|
172
80
|
const dynamicWidthStyles = {
|
|
173
81
|
width: width => [{
|
|
@@ -248,9 +156,19 @@ export function CheckboxInput({
|
|
|
248
156
|
focusTrigger: 'always',
|
|
249
157
|
isEnabled: showsDisabledMessage
|
|
250
158
|
});
|
|
159
|
+
|
|
160
|
+
// The checkbox visual is an indicator: a theme can restyle it through the
|
|
161
|
+
// `checkbox` target or replace the component outright.
|
|
162
|
+
const CheckboxControl = useIndicator('checkbox');
|
|
163
|
+
// The ring is drawn on the indicator itself: the native input is
|
|
164
|
+
// `opacity: 0`, and only the indicator's own element can shape the outline
|
|
165
|
+
// to match it. See useIndicatorFocusRing.
|
|
166
|
+
const indicatorRef = useRef(null);
|
|
167
|
+
const {
|
|
168
|
+
focusProps
|
|
169
|
+
} = useIndicatorFocusRing(indicatorRef, isDisabled);
|
|
251
170
|
const isIndeterminate = optimisticValue === 'indeterminate';
|
|
252
171
|
const isChecked = optimisticValue === true;
|
|
253
|
-
const isCheckedOrIndeterminate = isChecked || isIndeterminate;
|
|
254
172
|
|
|
255
173
|
// Sync the native indeterminate DOM property (can't be set via JSX
|
|
256
174
|
// attribute). On a native checkbox this is the authoritative way to expose
|
|
@@ -291,9 +209,13 @@ export function CheckboxInput({
|
|
|
291
209
|
// unconditionally is safe.
|
|
292
210
|
disabledMessageTooltip.interactionRef(el);
|
|
293
211
|
},
|
|
294
|
-
...stylex.props(styles.container, isLabelHidden && styles.containerLabelHidden,
|
|
212
|
+
...stylex.props(styles.container, isLabelHidden && styles.containerLabelHidden,
|
|
213
|
+
// Hover and focus reach the checkbox visual through this ancestor
|
|
214
|
+
// marker rather than props, so the whole row drives it.
|
|
215
|
+
!isDisabled && indicatorScope),
|
|
295
216
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
296
217
|
...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size]),
|
|
218
|
+
...focusProps,
|
|
297
219
|
children: [/*#__PURE__*/_jsx("input", {
|
|
298
220
|
...rest,
|
|
299
221
|
ref: mergeRefs(ref, indeterminateRef, disabledMessageTooltip.positionRef),
|
|
@@ -311,6 +233,7 @@ export function CheckboxInput({
|
|
|
311
233
|
,
|
|
312
234
|
disabled: isDisabled && !isFocusableDisabled,
|
|
313
235
|
"aria-disabled": isFocusableDisabled ? 'true' : undefined,
|
|
236
|
+
form: isFocusableDisabled ? '' : undefined,
|
|
314
237
|
readOnly: isReadOnly,
|
|
315
238
|
required: isRequired,
|
|
316
239
|
onChange: e => {
|
|
@@ -333,31 +256,19 @@ export function CheckboxInput({
|
|
|
333
256
|
"aria-invalid": status?.type === 'error' ? true : undefined,
|
|
334
257
|
"aria-busy": isBusy || undefined,
|
|
335
258
|
...stylex.props(styles.input, wrapperSizeStyles[size], isDisabled && styles.inputDisabled)
|
|
336
|
-
}), /*#__PURE__*/_jsx("
|
|
337
|
-
|
|
338
|
-
...
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
...stylex.props(styles.checkmark, checkmarkSizeStyles[size], isChecked && styles.checkmarkVisible),
|
|
350
|
-
children: /*#__PURE__*/_jsx("path", {
|
|
351
|
-
d: "M8.5 2.5L4 7.5L1.5 5",
|
|
352
|
-
stroke: "currentColor",
|
|
353
|
-
strokeWidth: "1.5",
|
|
354
|
-
fill: "none",
|
|
355
|
-
strokeLinecap: "round",
|
|
356
|
-
strokeLinejoin: "round"
|
|
357
|
-
})
|
|
358
|
-
}), /*#__PURE__*/_jsx("div", {
|
|
359
|
-
...stylex.props(styles.indeterminateMark, indeterminateSizeStyles[size], isIndeterminate && styles.indeterminateMarkVisible)
|
|
360
|
-
})]
|
|
259
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
260
|
+
ref: indicatorRef,
|
|
261
|
+
...{
|
|
262
|
+
className: "xjp7ctv"
|
|
263
|
+
},
|
|
264
|
+
children: /*#__PURE__*/_jsx(CheckboxControl, {
|
|
265
|
+
state: isIndeterminate ? 'indeterminate' : isChecked ? 'checked' : 'unchecked',
|
|
266
|
+
size: size,
|
|
267
|
+
isDisabled: isDisabled,
|
|
268
|
+
children: isBusy ? /*#__PURE__*/_jsx(Spinner, {
|
|
269
|
+
size: "sm",
|
|
270
|
+
shade: "inherit"
|
|
271
|
+
}) : null
|
|
361
272
|
})
|
|
362
273
|
})]
|
|
363
274
|
}), /*#__PURE__*/_jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickableCard.d.ts","sourceRoot":"","sources":["../../src/ClickableCard/ClickableCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAE,KAAK,UAAU,EAAU,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AASxE,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ClickableCard.d.ts","sourceRoot":"","sources":["../../src/ClickableCard/ClickableCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAE,KAAK,UAAU,EAAU,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AASxE,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6F5C,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAE1B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEnD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,yBAAyB;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,IAAI,EACJ,MAAM,EACN,UAAkB,EAClB,QAAQ,EACR,OAAO,EACP,OAAmB,EACnB,SAAkB,EAClB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAgFpB;yBAnGe,aAAa"}
|
|
@@ -37,6 +37,7 @@ import { Card } from "../Card/Card.js";
|
|
|
37
37
|
import { useClickableContainer } from "../hooks/useClickableContainer.js";
|
|
38
38
|
import { useLinkComponent } from "../Link/useLinkComponent.js";
|
|
39
39
|
import { themeProps } from "../utils/themeProps.js";
|
|
40
|
+
import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
|
|
40
41
|
|
|
41
42
|
// =============================================================================
|
|
42
43
|
// Styles — only the interactive layer, Card handles everything else
|
|
@@ -48,12 +49,6 @@ const styles = {
|
|
|
48
49
|
kkrTdU: "x1ypdohk",
|
|
49
50
|
kybGjl: "x1hl2dhg",
|
|
50
51
|
kMwMTN: "x1heor9g",
|
|
51
|
-
kInvED: "x1hl8ikr",
|
|
52
|
-
$$css: true
|
|
53
|
-
},
|
|
54
|
-
focusWithin: {
|
|
55
|
-
kRYL1X: "x1irc7jg",
|
|
56
|
-
koJ47v: "xdjuwb3",
|
|
57
52
|
$$css: true
|
|
58
53
|
},
|
|
59
54
|
overlay: {
|
|
@@ -192,11 +187,8 @@ export function ClickableCard({
|
|
|
192
187
|
elevation: elevation,
|
|
193
188
|
...mergeProps(themeProps('clickable-card', {
|
|
194
189
|
variant
|
|
195
|
-
}),
|
|
196
|
-
|
|
197
|
-
style
|
|
198
|
-
}),
|
|
199
|
-
xstyle: [styles.interactive, styles.focusWithin, hasBorder ? styles.bordered : styles.borderless, !isDisabled && styles.overlay, !isDisabled && styles.hoverOnPointer, !isDisabled && hasBorder && styles.borderedHoverOnPointer, isDisabled && styles.disabled, xstyleProp],
|
|
190
|
+
}), focusOutlineProps.focusWithin(), classNameProp, style),
|
|
191
|
+
xstyle: [styles.interactive, hasBorder ? styles.bordered : styles.borderless, !isDisabled && styles.overlay, !isDisabled && styles.hoverOnPointer, !isDisabled && hasBorder && styles.borderedHoverOnPointer, isDisabled && styles.disabled, xstyleProp],
|
|
200
192
|
onClick: !isDisabled ? onClick : undefined,
|
|
201
193
|
onMouseUp: !isDisabled ? handleMouseUp : undefined,
|
|
202
194
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6B5C,OAAO,EAAc,KAAK,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAwWxE,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAqPD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,aAAoB,EACpB,MAAM,EACN,SAAiB,EACjB,SAAS,EACT,aAAqB,EACrB,oBAAyB,EACzB,IAAW,EACX,KAAK,EAAE,SAAyB,EAChC,SAAkB,EAClB,SAAS,EAAE,eAAe,EAC1B,aAAsB,EACtB,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,qBA6NhB;yBArPe,SAAS"}
|
|
@@ -14,12 +14,14 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
14
14
|
import "../theme/tokens.stylex.js";
|
|
15
15
|
import { colorVars, spacingVars, radiusVars, typographyVars, fontWeightVars, typeScaleVars, borderVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
16
16
|
import { mergeProps } from "../utils/index.js";
|
|
17
|
-
import {
|
|
17
|
+
import { useClipboard } from "../hooks/useClipboard.js";
|
|
18
18
|
import { Icon } from "../Icon/index.js";
|
|
19
|
+
import { IconButton } from "../IconButton/index.js";
|
|
19
20
|
import { tokenize, tokenizeAsync, flatTokensToLines, SYNC_TOKENIZE_THRESHOLD } from "./tokenizer.js";
|
|
20
21
|
import { ensureHighlightStyles } from "./highlightStyles.js";
|
|
21
22
|
import { applyHighlightRangesChunked } from "./highlightRanges.js";
|
|
22
23
|
import { themeProps } from "../utils/themeProps.js";
|
|
24
|
+
import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
|
|
23
25
|
import { useTranslator } from "../i18n/index.js";
|
|
24
26
|
import { SyntaxTheme } from "../theme/syntax/index.js";
|
|
25
27
|
|
|
@@ -80,6 +82,33 @@ const styles = {
|
|
|
80
82
|
kVQacm: "xb3r6kr",
|
|
81
83
|
$$css: true
|
|
82
84
|
},
|
|
85
|
+
header: {
|
|
86
|
+
k1xSpc: "x78zum5",
|
|
87
|
+
kGNEyG: "x6s0dn4",
|
|
88
|
+
kUk6DE: "x98rzlu",
|
|
89
|
+
k7Eaqz: "xeuugli",
|
|
90
|
+
kmVPX3: "x1717udv",
|
|
91
|
+
kWkggS: "xjbqb8w",
|
|
92
|
+
kMwMTN: "x1heor9g",
|
|
93
|
+
kVVagm: "xln7xf2",
|
|
94
|
+
k9WMMc: "x1yc453h",
|
|
95
|
+
$$css: true
|
|
96
|
+
},
|
|
97
|
+
collapseChevronIcon: {
|
|
98
|
+
k1ekBW: "x11xpdln",
|
|
99
|
+
kIyJzY: "xuedmi6",
|
|
100
|
+
kAMwcw: "xlr8y92",
|
|
101
|
+
$$css: true
|
|
102
|
+
},
|
|
103
|
+
collapseChevronExpanded: {
|
|
104
|
+
k3aq6I: "x1iffjtl",
|
|
105
|
+
$$css: true
|
|
106
|
+
},
|
|
107
|
+
headerCollapsible: {
|
|
108
|
+
kkrTdU: "x1ypdohk",
|
|
109
|
+
kfSwDN: "x87ps6o",
|
|
110
|
+
$$css: true
|
|
111
|
+
},
|
|
83
112
|
code: {
|
|
84
113
|
k1xSpc: "x1lliihq",
|
|
85
114
|
kUk6DE: "x98rzlu",
|
|
@@ -120,6 +149,16 @@ const styles = {
|
|
|
120
149
|
sizeMd: {
|
|
121
150
|
kGuDYH: "xp03k98",
|
|
122
151
|
$$css: true
|
|
152
|
+
},
|
|
153
|
+
copyButton: {
|
|
154
|
+
kMwMTN: "x1mjzq1q",
|
|
155
|
+
$$css: true
|
|
156
|
+
},
|
|
157
|
+
copyButtonAbsolute: {
|
|
158
|
+
kVAEAm: "x10l6tqk",
|
|
159
|
+
k87sOh: "xctzyg",
|
|
160
|
+
kt4wiu: "x72tfeb",
|
|
161
|
+
$$css: true
|
|
123
162
|
}
|
|
124
163
|
};
|
|
125
164
|
|
|
@@ -409,18 +448,15 @@ export function CodeBlock({
|
|
|
409
448
|
...props
|
|
410
449
|
}) {
|
|
411
450
|
const t = useTranslator();
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
}, []);
|
|
451
|
+
// Owns the clipboard write, the transient copied flag, its reset timer, and
|
|
452
|
+
// the polite copy announcement (a swapped aria-label alone is not reliably
|
|
453
|
+
// announced) — shared with Timestamp via the same hook.
|
|
454
|
+
const {
|
|
455
|
+
copy,
|
|
456
|
+
isCopied: copied
|
|
457
|
+
} = useClipboard({
|
|
458
|
+
announce: t('@astryx.codeBlock.copied')
|
|
459
|
+
});
|
|
424
460
|
const useSpans = highlightMode === 'spans' || highlightMode === 'auto' && !hasHighlightAPI() || highlightMode === 'auto' && isSafari();
|
|
425
461
|
const lines = useMemo(() => {
|
|
426
462
|
const l = code.split('\n');
|
|
@@ -432,26 +468,11 @@ export function CodeBlock({
|
|
|
432
468
|
const tokenLines = useTokenLines(code, language, customTokenizer);
|
|
433
469
|
const highlightSet = useMemo(() => highlightLines ? new Set(highlightLines) : null, [highlightLines]);
|
|
434
470
|
const handleCopy = useCallback(async () => {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
setCopied(true);
|
|
438
|
-
// Swapping the button's aria-label alone isn't reliably announced by
|
|
439
|
-
// screen readers, so confirm the copy via a polite live region.
|
|
440
|
-
announce(t('@astryx.codeBlock.copied'));
|
|
471
|
+
const didCopy = await copy(code);
|
|
472
|
+
if (didCopy) {
|
|
441
473
|
onCopy?.();
|
|
442
|
-
// Restart the reset timer on every copy — otherwise a rapid re-copy
|
|
443
|
-
// is reverted early by the previous click's timer.
|
|
444
|
-
if (copyResetTimerRef.current != null) {
|
|
445
|
-
clearTimeout(copyResetTimerRef.current);
|
|
446
|
-
}
|
|
447
|
-
copyResetTimerRef.current = setTimeout(() => {
|
|
448
|
-
copyResetTimerRef.current = null;
|
|
449
|
-
setCopied(false);
|
|
450
|
-
}, 2000);
|
|
451
|
-
} catch {
|
|
452
|
-
// Clipboard failures leave the copied state unchanged.
|
|
453
474
|
}
|
|
454
|
-
}, [code,
|
|
475
|
+
}, [code, copy, onCopy]);
|
|
455
476
|
const sizeStyle = size === 'sm' ? styles.sizeSm : styles.sizeMd;
|
|
456
477
|
// Digits in the largest line number — sizes the gutter column width.
|
|
457
478
|
const maxLineDigits = String(lines.length).length;
|
|
@@ -468,38 +489,42 @@ export function CodeBlock({
|
|
|
468
489
|
const scrollStyle = maxHeight ? {
|
|
469
490
|
maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight
|
|
470
491
|
} : undefined;
|
|
471
|
-
const
|
|
472
|
-
|
|
492
|
+
const copyButtonEl = hasCopyButton ? /*#__PURE__*/_jsx(IconButton, {
|
|
493
|
+
variant: "ghost",
|
|
473
494
|
size: "sm",
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
495
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
|
496
|
+
icon: copied ? 'check' : 'copy',
|
|
497
|
+
size: "sm",
|
|
498
|
+
color: "inherit"
|
|
499
|
+
})
|
|
500
|
+
// A visible "Copy" hover/focus hint via Button's built-in tooltip. It
|
|
501
|
+
// stays "Copy" after copying — the copy → check icon flip is the
|
|
502
|
+
// confirmation, not a tooltip change. The aria-label still swaps to the
|
|
503
|
+
// localized "Copied" for assistive tech, backed by the announcement.
|
|
504
|
+
,
|
|
505
|
+
tooltip: t('@astryx.codeBlock.copyCode'),
|
|
506
|
+
label: copied ? t('@astryx.codeBlock.copied') : t('@astryx.codeBlock.copyCode'),
|
|
478
507
|
onClick: e => {
|
|
479
508
|
// Stop propagation so copying does not toggle the collapsible header.
|
|
480
509
|
e.stopPropagation();
|
|
481
510
|
void handleCopy();
|
|
482
511
|
},
|
|
483
|
-
|
|
484
|
-
...
|
|
485
|
-
0: {
|
|
486
|
-
className: "x3nfvp2 x6s0dn4 xl56j7k x9epnlk x3kzqx6 xx3sua9 xjbqb8w xe9uy6x x1mjzq1q x1ypdohk x14ju556"
|
|
487
|
-
},
|
|
488
|
-
1: {
|
|
489
|
-
className: "x3nfvp2 x6s0dn4 xl56j7k x9epnlk x3kzqx6 xx3sua9 xjbqb8w xe9uy6x x1mjzq1q x1ypdohk x14ju556 x10l6tqk xctzyg x72tfeb"
|
|
490
|
-
}
|
|
491
|
-
}[!!!showHeader << 0],
|
|
492
|
-
children: copyIcon
|
|
512
|
+
xstyle: [styles.copyButton, !showHeader && styles.copyButtonAbsolute],
|
|
513
|
+
...themeProps('codeblock-copy-button')
|
|
493
514
|
}) : null;
|
|
494
515
|
const headerEl = showHeader ? /*#__PURE__*/_jsxs("div", {
|
|
495
|
-
...{
|
|
516
|
+
...mergeProps(themeProps('codeblock-header', {
|
|
517
|
+
size,
|
|
518
|
+
language,
|
|
519
|
+
container
|
|
520
|
+
}), {
|
|
496
521
|
0: {
|
|
497
522
|
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1"
|
|
498
523
|
},
|
|
499
524
|
1: {
|
|
500
525
|
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1 x92x3c3 x1q0q8m5 xw8gpjh"
|
|
501
526
|
}
|
|
502
|
-
}[!!hasLineNumbers << 0],
|
|
527
|
+
}[!!hasLineNumbers << 0]),
|
|
503
528
|
children: [/*#__PURE__*/_jsx("div", {
|
|
504
529
|
role: canCollapse ? 'button' : undefined,
|
|
505
530
|
tabIndex: canCollapse ? 0 : undefined,
|
|
@@ -512,31 +537,23 @@ export function CodeBlock({
|
|
|
512
537
|
setIsCollapsed(prev => !prev);
|
|
513
538
|
}
|
|
514
539
|
} : undefined,
|
|
515
|
-
...
|
|
516
|
-
0: {
|
|
517
|
-
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h"
|
|
518
|
-
},
|
|
519
|
-
1: {
|
|
520
|
-
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h x1ypdohk x87ps6o x17nn4n9 x1wfwxd8 x7s97pk"
|
|
521
|
-
}
|
|
522
|
-
}[!!canCollapse << 0],
|
|
540
|
+
...focusOutlineProps.focusVisible(styles.header, canCollapse && styles.headerCollapsible),
|
|
523
541
|
children: /*#__PURE__*/_jsxs("span", {
|
|
524
|
-
...{
|
|
542
|
+
...mergeProps(themeProps('codeblock-title', {
|
|
543
|
+
size,
|
|
544
|
+
language
|
|
545
|
+
}), {
|
|
525
546
|
className: "x78zum5 x6s0dn4 x141an7d x9m5x89 x1e4wzip x1mjzq1q x1ghz6dp x1ltkj2j"
|
|
526
|
-
},
|
|
547
|
+
}),
|
|
527
548
|
children: [canCollapse && /*#__PURE__*/_jsx("span", {
|
|
528
549
|
...{
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
},
|
|
532
|
-
1: {
|
|
533
|
-
className: "x3nfvp2 x6s0dn4 xl56j7k x2lah0s x6jxa94 x1v9usgg xnur1sd xb3r6kr x1mjzq1q x1gbn2au x1aquc0h x12wqnr7 x128ha8g x11xpdln xuedmi6 xlr8y92 x1iffjtl"
|
|
534
|
-
}
|
|
535
|
-
}[!!!isCollapsed << 0],
|
|
550
|
+
className: "x3nfvp2 x6s0dn4 xl56j7k x2lah0s x6jxa94 x1v9usgg xnur1sd xb3r6kr x1mjzq1q x1gbn2au x1aquc0h x12wqnr7 x128ha8g"
|
|
551
|
+
},
|
|
536
552
|
children: /*#__PURE__*/_jsx(Icon, {
|
|
537
553
|
icon: "chevronRight",
|
|
538
554
|
size: "xsm",
|
|
539
|
-
color: "inherit"
|
|
555
|
+
color: "inherit",
|
|
556
|
+
xstyle: [styles.collapseChevronIcon, !isCollapsed && styles.collapseChevronExpanded]
|
|
540
557
|
})
|
|
541
558
|
}), title, title && languageLabel ? ' — ' : '', languageLabel]
|
|
542
559
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAiBjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAuH5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,gBAAgB,EACxB,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAiBjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAuH5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,gBAAgB,EACxB,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAsGlB;yBAnHe,WAAW"}
|
|
@@ -32,9 +32,10 @@ import "../theme/tokens.stylex.js";
|
|
|
32
32
|
import { borderVars, colorVars, typographyVars, fontWeightVars, spacingVars, typeScaleVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
33
33
|
import { useCollapsible } from "./useCollapsible.js";
|
|
34
34
|
import { CollapsibleGroupPresentationContext } from "./CollapsibleGroupContext.js";
|
|
35
|
-
import {
|
|
35
|
+
import { Icon } from "../Icon/index.js";
|
|
36
36
|
import { mergeProps } from "../utils/index.js";
|
|
37
37
|
import { themeProps } from "../utils/themeProps.js";
|
|
38
|
+
import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
|
|
38
39
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
39
40
|
const styles = {
|
|
40
41
|
root: {
|
|
@@ -54,8 +55,6 @@ const styles = {
|
|
|
54
55
|
kMwMTN: "x1tgivj0",
|
|
55
56
|
k9WMMc: "x1yc453h",
|
|
56
57
|
k8WAf4: "xt970qd",
|
|
57
|
-
kI3sdo: "x17nn4n9",
|
|
58
|
-
kInvED: "x1wfwxd8 x7s97pk",
|
|
59
58
|
$$css: true
|
|
60
59
|
},
|
|
61
60
|
triggerDisabled: {
|
|
@@ -63,6 +62,27 @@ const styles = {
|
|
|
63
62
|
kSiTet: "xbyyjgo",
|
|
64
63
|
$$css: true
|
|
65
64
|
},
|
|
65
|
+
chevron: {
|
|
66
|
+
k1xSpc: "x3nfvp2",
|
|
67
|
+
kGNEyG: "x6s0dn4",
|
|
68
|
+
kjj79g: "xl56j7k",
|
|
69
|
+
kmuXW: "x2lah0s",
|
|
70
|
+
kzqmXN: "xta46cu",
|
|
71
|
+
kZKoxP: "x1seg80s",
|
|
72
|
+
kGuDYH: "x18juvz8",
|
|
73
|
+
k1ekBW: "x11xpdln",
|
|
74
|
+
kIyJzY: "xuedmi6",
|
|
75
|
+
kAMwcw: "xlr8y92",
|
|
76
|
+
$$css: true
|
|
77
|
+
},
|
|
78
|
+
chevronOpen: {
|
|
79
|
+
k3aq6I: "x19jd1h0",
|
|
80
|
+
$$css: true
|
|
81
|
+
},
|
|
82
|
+
chevronClosed: {
|
|
83
|
+
k3aq6I: "x7p49u4",
|
|
84
|
+
$$css: true
|
|
85
|
+
},
|
|
66
86
|
contentHidden: {
|
|
67
87
|
k1xSpc: "x1s85apg",
|
|
68
88
|
$$css: true
|
|
@@ -203,7 +223,6 @@ export function Collapsible({
|
|
|
203
223
|
const presentation = use(CollapsibleGroupPresentationContext);
|
|
204
224
|
const isDivided = presentation?.hasDividers ?? false;
|
|
205
225
|
const density = presentation?.density ?? null;
|
|
206
|
-
const chevronIcon = useIcon('chevronDown');
|
|
207
226
|
|
|
208
227
|
// Links the trigger to the region it shows/hides so assistive tech can move
|
|
209
228
|
// from the button to its controlled content (disclosure pattern).
|
|
@@ -229,22 +248,23 @@ export function Collapsible({
|
|
|
229
248
|
tabIndex: isDisabled ? -1 : undefined,
|
|
230
249
|
...mergeProps(themeProps('collapsible-trigger', {
|
|
231
250
|
density: density ?? undefined
|
|
232
|
-
}),
|
|
251
|
+
}), focusOutlineProps.focusVisible(styles.trigger, density != null && triggerDensity[density], isDisabled && styles.triggerDisabled)),
|
|
233
252
|
children: [/*#__PURE__*/_jsx("span", {
|
|
234
253
|
...{
|
|
235
254
|
className: "x1b2iylo xwgcxoh"
|
|
236
255
|
},
|
|
237
256
|
children: trigger
|
|
238
|
-
}), /*#__PURE__*/_jsx(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
257
|
+
}), /*#__PURE__*/_jsx(Icon, {
|
|
258
|
+
icon: "chevronDown"
|
|
259
|
+
// Nearest size to the trigger's 17px type step; `chevron` re-pins the
|
|
260
|
+
// exact box (see the style) so the glyph does not resize.
|
|
261
|
+
,
|
|
262
|
+
size: "sm"
|
|
263
|
+
// Was `--color-icon-secondary` on the old wrapper span; `secondary`
|
|
264
|
+
// is the same token, expressed as an Icon color.
|
|
265
|
+
,
|
|
266
|
+
color: "secondary",
|
|
267
|
+
xstyle: [styles.chevron, isOpen ? styles.chevronOpen : styles.chevronClosed]
|
|
248
268
|
})]
|
|
249
269
|
}), /*#__PURE__*/_jsx("div", {
|
|
250
270
|
id: contentId,
|
|
@@ -52,7 +52,7 @@ export interface CommandPaletteItemProps extends Omit<BaseProps<HTMLDivElement>,
|
|
|
52
52
|
* </CommandPaletteItem>
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
export declare function CommandPaletteItem({ value, onSelect, isHighlighted: controlledHighlighted, isSelected: controlledSelected, isDisabled, children, ref, xstyle, className, style, ...props }: CommandPaletteItemProps): import("react").JSX.Element;
|
|
55
|
+
export declare function CommandPaletteItem({ value, onSelect, isHighlighted: controlledHighlighted, isSelected: controlledSelected, isDisabled, children, ref, xstyle, className, style, onClick: onClickProp, onMouseEnter: onMouseEnterProp, ...props }: CommandPaletteItemProps): import("react").JSX.Element;
|
|
56
56
|
export declare namespace CommandPaletteItem {
|
|
57
57
|
var displayName: string;
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAA0C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAA0C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAyD5C,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,kBAAkB,EAC9B,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,gBAAgB,EAC9B,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAkFzB;yBAhGe,kBAAkB"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
15
15
|
import * as stylex from '@stylexjs/stylex';
|
|
16
16
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
17
|
+
import { composeEventHandlers } from "../utils/composeEventHandlers.js";
|
|
17
18
|
import "../theme/tokens.stylex.js";
|
|
18
19
|
import { colorVars, spacingVars, radiusVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
19
20
|
import { useCommandPaletteContext } from "./CommandPaletteContext.js";
|
|
@@ -87,6 +88,8 @@ export function CommandPaletteItem({
|
|
|
87
88
|
xstyle,
|
|
88
89
|
className,
|
|
89
90
|
style,
|
|
91
|
+
onClick: onClickProp,
|
|
92
|
+
onMouseEnter: onMouseEnterProp,
|
|
90
93
|
...props
|
|
91
94
|
}) {
|
|
92
95
|
const ctx = useCommandPaletteContext();
|
|
@@ -135,15 +138,15 @@ export function CommandPaletteItem({
|
|
|
135
138
|
}, [isDisabled, itemIndex, ctx]);
|
|
136
139
|
return /*#__PURE__*/_jsx("div", {
|
|
137
140
|
ref: mergeRefs(ref, itemRef),
|
|
141
|
+
...props,
|
|
138
142
|
id: ctx && itemIndex >= 0 ? ctx.getItemId(itemIndex) : undefined,
|
|
139
143
|
role: "option",
|
|
140
144
|
"aria-selected": isSelected,
|
|
141
145
|
"aria-disabled": isDisabled || undefined,
|
|
142
146
|
"data-value": value,
|
|
143
|
-
onClick: handleClick,
|
|
144
|
-
onMouseEnter: handleMouseEnter,
|
|
147
|
+
onClick: composeEventHandlers(onClickProp, handleClick),
|
|
148
|
+
onMouseEnter: composeEventHandlers(onMouseEnterProp, handleMouseEnter),
|
|
145
149
|
...mergeProps(themeProps('command-palette-item'), stylex.props(styles.item, !isDisabled && styles.itemHover, isHighlighted && styles.itemHighlighted, isSelected && styles.itemSelected, isDisabled && styles.itemDisabled, xstyle), className, style),
|
|
146
|
-
...props,
|
|
147
150
|
children: children
|
|
148
151
|
});
|
|
149
152
|
}
|