@astryxdesign/core 0.3.0-canary.e9fc2bb → 0.3.0-canary.ee705d8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlertDialog/AlertDialog.d.ts +10 -2
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +22 -3
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +2 -10
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +2 -3
- 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/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 +1 -1
- 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 +59 -55
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +2 -3
- 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 +12 -8
- package/dist/ContextMenu/ContextMenu.js +1 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +4 -4
- package/dist/DropdownMenu/DropdownMenu.d.ts +5 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +46 -7
- 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/DropdownMenuRadioItem.d.ts +5 -5
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +24 -67
- package/dist/EmptyState/EmptyState.js +1 -1
- package/dist/Indicator/CheckIndicator.d.ts +26 -0
- package/dist/Indicator/CheckIndicator.d.ts.map +1 -0
- package/dist/Indicator/CheckIndicator.js +156 -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 +160 -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 +2 -6
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +4 -5
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +20 -9
- package/dist/NumberInput/NumberInput.d.ts +10 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +7 -5
- 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 +30 -26
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +7 -0
- 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.map +1 -1
- package/dist/Selector/Selector.js +85 -28
- package/dist/Selector/hooks.d.ts +14 -2
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +19 -21
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +1 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +1 -1
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +1 -0
- 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 +27 -11
- 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.js +1 -1
- 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 +88 -333
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +23 -4
- 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 +12 -4
- package/dist/TextInput/TextInput.d.ts +10 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +6 -4
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +32 -26
- 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/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 +94 -28
- 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 +43 -11
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +12 -10
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +14 -2
- package/dist/astryx.css +19 -27
- package/dist/astryx.umd.js +55 -55
- package/dist/astryx.umd.js.map +4 -4
- 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/useIndicatorFocusRing.d.ts +29 -0
- package/dist/hooks/useIndicatorFocusRing.d.ts.map +1 -0
- package/dist/hooks/useIndicatorFocusRing.js +97 -0
- 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/expandTypeScale.d.ts.map +1 -1
- package/dist/theme/expandTypeScale.js +17 -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/themeProps.d.ts +20 -1
- package/dist/utils/themeProps.d.ts.map +1 -1
- package/dist/utils/themeProps.js +8 -2
- 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/Avatar/Avatar.tsx +2 -28
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +2 -9
- package/src/Button/Button.tsx +21 -41
- package/src/Calendar/Calendar.tsx +2 -1
- package/src/Calendar/styles.ts +0 -8
- 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 +12 -0
- 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 +1 -0
- package/src/CodeBlock/CodeBlock.test.tsx +24 -0
- package/src/CodeBlock/CodeBlock.tsx +32 -70
- package/src/Collapsible/Collapsible.tsx +2 -9
- 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.test.tsx +25 -0
- package/src/ComplexSelector/ComplexSelector.tsx +17 -9
- package/src/ContextMenu/ContextMenu.tsx +1 -1
- package/src/DateInput/DateInput.doc.mjs +1 -1
- package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
- package/src/DateTimeInput/DateTimeInput.doc.mjs +1 -1
- package/src/Dialog/Dialog.tsx +2 -9
- package/src/DropdownMenu/DropdownMenu.doc.mjs +0 -5
- package/src/DropdownMenu/DropdownMenu.test.tsx +214 -4
- package/src/DropdownMenu/DropdownMenu.tsx +74 -30
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +27 -30
- 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/EmptyState/EmptyState.tsx +2 -2
- package/src/Indicator/CheckIndicator.tsx +175 -0
- package/src/Indicator/CheckboxIndicator.tsx +257 -0
- package/src/Indicator/Indicator.doc.mjs +287 -0
- package/src/Indicator/Indicator.test.tsx +369 -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 +179 -0
- package/src/Indicator/useIndicator.ts +39 -0
- package/src/Item/Item.tsx +2 -12
- package/src/Link/Link.tsx +4 -11
- package/src/MoreMenu/MoreMenu.test.tsx +28 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +6 -0
- package/src/MultiSelector/MultiSelector.test.tsx +172 -0
- package/src/MultiSelector/MultiSelector.tsx +67 -54
- package/src/NumberInput/NumberInput.doc.mjs +18 -2
- package/src/NumberInput/NumberInput.test.tsx +112 -0
- package/src/NumberInput/NumberInput.tsx +15 -4
- package/src/Outline/Outline.tsx +2 -5
- package/src/Pagination/Pagination.tsx +2 -9
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +42 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +7 -0
- package/src/ProgressBar/ProgressBar.doc.mjs +1 -1
- 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 +4 -3
- package/src/Selector/Selector.test.tsx +650 -4
- package/src/Selector/Selector.tsx +140 -68
- package/src/Selector/hooks.ts +32 -29
- package/src/SideNav/SideNav.test.tsx +46 -0
- package/src/SideNav/SideNav.tsx +1 -0
- package/src/SideNav/SideNavHeading.tsx +5 -1
- package/src/Switch/Switch.test.tsx +32 -0
- package/src/Switch/Switch.tsx +1 -0
- package/src/TabList/Tab.tsx +2 -9
- package/src/TabList/TabMenu.tsx +3 -14
- package/src/Table/BaseTable.tsx +11 -0
- package/src/Table/index.ts +1 -4
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
- 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 +112 -474
- package/src/Table/plugins/sortable/useTableSortable.tsx +2 -6
- 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 +18 -2
- package/src/TextArea/TextArea.test.tsx +145 -0
- package/src/TextArea/TextArea.tsx +20 -4
- package/src/TextInput/TextInput.doc.mjs +18 -2
- package/src/TextInput/TextInput.test.tsx +112 -0
- package/src/TextInput/TextInput.tsx +14 -3
- package/src/Thumbnail/Thumbnail.tsx +2 -9
- package/src/Timestamp/TimestampHoverCard.tsx +13 -35
- package/src/Token/Token.tsx +5 -28
- package/src/TopNav/TopNavItem.tsx +3 -21
- package/src/TopNav/TopNavMegaMenu.test.tsx +433 -33
- package/src/TopNav/TopNavMegaMenu.tsx +88 -33
- package/src/TopNav/TopNavMegaMenuItem.tsx +2 -9
- package/src/TopNav/TopNavMenu.tsx +6 -18
- package/src/TreeList/TreeList.test.tsx +7 -7
- package/src/TreeList/TreeListItem.tsx +18 -33
- package/src/Typeahead/BaseTypeahead.tsx +17 -1
- package/src/Typeahead/Typeahead.doc.mjs +1 -0
- package/src/Typeahead/Typeahead.test.tsx +76 -3
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useClipboard.doc.mjs +86 -0
- package/src/hooks/useClipboard.test.tsx +151 -0
- package/src/hooks/useClipboard.ts +135 -0
- package/src/hooks/useIndicatorFocusRing.tsx +121 -0
- 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/expandTypeScale.test.ts +43 -0
- package/src/theme/expandTypeScale.ts +17 -0
- package/src/theme/index.ts +13 -0
- package/src/utils/focusOutline.stylex.ts +163 -0
- 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/src/CheckboxInput/checkbox.markers.stylex.ts +0 -12
- package/src/RadioList/radio.markers.stylex.ts +0 -10
|
@@ -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,qBAsNhB;yBA9Oe,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,18 @@ 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
|
+
},
|
|
83
97
|
collapseChevronIcon: {
|
|
84
98
|
k1ekBW: "x11xpdln",
|
|
85
99
|
kIyJzY: "xuedmi6",
|
|
@@ -90,6 +104,11 @@ const styles = {
|
|
|
90
104
|
k3aq6I: "x1iffjtl",
|
|
91
105
|
$$css: true
|
|
92
106
|
},
|
|
107
|
+
headerCollapsible: {
|
|
108
|
+
kkrTdU: "x1ypdohk",
|
|
109
|
+
kfSwDN: "x87ps6o",
|
|
110
|
+
$$css: true
|
|
111
|
+
},
|
|
93
112
|
code: {
|
|
94
113
|
k1xSpc: "x1lliihq",
|
|
95
114
|
kUk6DE: "x98rzlu",
|
|
@@ -130,6 +149,16 @@ const styles = {
|
|
|
130
149
|
sizeMd: {
|
|
131
150
|
kGuDYH: "xp03k98",
|
|
132
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
|
|
133
162
|
}
|
|
134
163
|
};
|
|
135
164
|
|
|
@@ -419,18 +448,15 @@ export function CodeBlock({
|
|
|
419
448
|
...props
|
|
420
449
|
}) {
|
|
421
450
|
const t = useTranslator();
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}
|
|
432
|
-
};
|
|
433
|
-
}, []);
|
|
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
|
+
});
|
|
434
460
|
const useSpans = highlightMode === 'spans' || highlightMode === 'auto' && !hasHighlightAPI() || highlightMode === 'auto' && isSafari();
|
|
435
461
|
const lines = useMemo(() => {
|
|
436
462
|
const l = code.split('\n');
|
|
@@ -442,26 +468,11 @@ export function CodeBlock({
|
|
|
442
468
|
const tokenLines = useTokenLines(code, language, customTokenizer);
|
|
443
469
|
const highlightSet = useMemo(() => highlightLines ? new Set(highlightLines) : null, [highlightLines]);
|
|
444
470
|
const handleCopy = useCallback(async () => {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
setCopied(true);
|
|
448
|
-
// Swapping the button's aria-label alone isn't reliably announced by
|
|
449
|
-
// screen readers, so confirm the copy via a polite live region.
|
|
450
|
-
announce(t('@astryx.codeBlock.copied'));
|
|
471
|
+
const didCopy = await copy(code);
|
|
472
|
+
if (didCopy) {
|
|
451
473
|
onCopy?.();
|
|
452
|
-
// Restart the reset timer on every copy — otherwise a rapid re-copy
|
|
453
|
-
// is reverted early by the previous click's timer.
|
|
454
|
-
if (copyResetTimerRef.current != null) {
|
|
455
|
-
clearTimeout(copyResetTimerRef.current);
|
|
456
|
-
}
|
|
457
|
-
copyResetTimerRef.current = setTimeout(() => {
|
|
458
|
-
copyResetTimerRef.current = null;
|
|
459
|
-
setCopied(false);
|
|
460
|
-
}, 2000);
|
|
461
|
-
} catch {
|
|
462
|
-
// Clipboard failures leave the copied state unchanged.
|
|
463
474
|
}
|
|
464
|
-
}, [code,
|
|
475
|
+
}, [code, copy, onCopy]);
|
|
465
476
|
const sizeStyle = size === 'sm' ? styles.sizeSm : styles.sizeMd;
|
|
466
477
|
// Digits in the largest line number — sizes the gutter column width.
|
|
467
478
|
const maxLineDigits = String(lines.length).length;
|
|
@@ -478,28 +489,28 @@ export function CodeBlock({
|
|
|
478
489
|
const scrollStyle = maxHeight ? {
|
|
479
490
|
maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight
|
|
480
491
|
} : undefined;
|
|
481
|
-
const
|
|
482
|
-
|
|
492
|
+
const copyButtonEl = hasCopyButton ? /*#__PURE__*/_jsx(IconButton, {
|
|
493
|
+
variant: "ghost",
|
|
483
494
|
size: "sm",
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
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'),
|
|
488
507
|
onClick: e => {
|
|
489
508
|
// Stop propagation so copying does not toggle the collapsible header.
|
|
490
509
|
e.stopPropagation();
|
|
491
510
|
void handleCopy();
|
|
492
511
|
},
|
|
493
|
-
|
|
494
|
-
...
|
|
495
|
-
0: {
|
|
496
|
-
className: "x3nfvp2 x6s0dn4 xl56j7k x9epnlk x3kzqx6 xx3sua9 xjbqb8w xe9uy6x x1mjzq1q x1ypdohk x14ju556"
|
|
497
|
-
},
|
|
498
|
-
1: {
|
|
499
|
-
className: "x3nfvp2 x6s0dn4 xl56j7k x9epnlk x3kzqx6 xx3sua9 xjbqb8w xe9uy6x x1mjzq1q x1ypdohk x14ju556 x10l6tqk xctzyg x72tfeb"
|
|
500
|
-
}
|
|
501
|
-
}[!!!showHeader << 0],
|
|
502
|
-
children: copyIcon
|
|
512
|
+
xstyle: [styles.copyButton, !showHeader && styles.copyButtonAbsolute],
|
|
513
|
+
...themeProps('codeblock-copy-button')
|
|
503
514
|
}) : null;
|
|
504
515
|
const headerEl = showHeader ? /*#__PURE__*/_jsxs("div", {
|
|
505
516
|
...{
|
|
@@ -522,14 +533,7 @@ export function CodeBlock({
|
|
|
522
533
|
setIsCollapsed(prev => !prev);
|
|
523
534
|
}
|
|
524
535
|
} : undefined,
|
|
525
|
-
...
|
|
526
|
-
0: {
|
|
527
|
-
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h"
|
|
528
|
-
},
|
|
529
|
-
1: {
|
|
530
|
-
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h x1ypdohk x87ps6o x17nn4n9 x1wfwxd8 x7s97pk"
|
|
531
|
-
}
|
|
532
|
-
}[!!canCollapse << 0],
|
|
536
|
+
...focusOutlineProps.focusVisible(styles.header, canCollapse && styles.headerCollapsible),
|
|
533
537
|
children: /*#__PURE__*/_jsxs("span", {
|
|
534
538
|
...{
|
|
535
539
|
className: "x78zum5 x6s0dn4 x141an7d x9m5x89 x1e4wzip x1mjzq1q x1ghz6dp x1ltkj2j"
|
|
@@ -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;
|
|
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"}
|
|
@@ -35,6 +35,7 @@ import { CollapsibleGroupPresentationContext } from "./CollapsibleGroupContext.j
|
|
|
35
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: {
|
|
@@ -249,7 +248,7 @@ export function Collapsible({
|
|
|
249
248
|
tabIndex: isDisabled ? -1 : undefined,
|
|
250
249
|
...mergeProps(themeProps('collapsible-trigger', {
|
|
251
250
|
density: density ?? undefined
|
|
252
|
-
}),
|
|
251
|
+
}), focusOutlineProps.focusVisible(styles.trigger, density != null && triggerDensity[density], isDisabled && styles.triggerDisabled)),
|
|
253
252
|
children: [/*#__PURE__*/_jsx("span", {
|
|
254
253
|
...{
|
|
255
254
|
className: "x1b2iylo xwgcxoh"
|
|
@@ -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
|
}
|
|
@@ -66,11 +66,11 @@ export function CommandPaletteList({
|
|
|
66
66
|
const ctx = useCommandPaletteContext();
|
|
67
67
|
return /*#__PURE__*/_jsx("div", {
|
|
68
68
|
ref: ref,
|
|
69
|
+
...props,
|
|
69
70
|
id: ctx?.listId,
|
|
70
71
|
role: "listbox",
|
|
71
72
|
"aria-label": label,
|
|
72
73
|
...mergeProps(themeProps('command-palette-list'), stylex.props(styles.list, xstyle), className, style),
|
|
73
|
-
...props,
|
|
74
74
|
children: children
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -101,7 +101,7 @@ export interface ComplexSelectorProps<Value> extends Omit<BaseProps<HTMLDivEleme
|
|
|
101
101
|
* </ComplexSelector>
|
|
102
102
|
* ```
|
|
103
103
|
*/
|
|
104
|
-
export declare function ComplexSelector<Value>({ label, value, onChange, changeAction, children, triggerLabel, placeholder: placeholderFromProps, isLabelHidden, description, isOptional, isRequired, isDisabled, isLoading, status, statusVariant, labelTooltip, size, width, placement, contentXstyle, xstyle, className, style, 'data-testid': testId, ...props }: ComplexSelectorProps<Value>): React.JSX.Element;
|
|
104
|
+
export declare function ComplexSelector<Value>({ label, value, onChange, changeAction, children, triggerLabel, placeholder: placeholderFromProps, isLabelHidden, description, isOptional, isRequired, isDisabled, isLoading, status, statusVariant, labelTooltip, size, width, placement, contentXstyle, xstyle, className, style, 'data-testid': testId, onClick: onClickProp, ...props }: ComplexSelectorProps<Value>): React.JSX.Element;
|
|
105
105
|
export declare namespace ComplexSelector {
|
|
106
106
|
var displayName: string;
|
|
107
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA4B,KAAK,kBAAkB,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ import { usePopover } from "../Popover/usePopover.js";
|
|
|
25
25
|
import "../theme/tokens.stylex.js";
|
|
26
26
|
import { colorVars, durationVars, easeVars, radiusVars, sizeVars, spacingVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
27
27
|
import { mergeProps } from "../utils/index.js";
|
|
28
|
+
import { composeEventHandlers } from "../utils/composeEventHandlers.js";
|
|
29
|
+
import { focusOutlineStyles } from "../utils/focusOutline.stylex.js";
|
|
28
30
|
import { themeProps } from "../utils/themeProps.js";
|
|
29
31
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
30
32
|
const styles = {
|
|
@@ -98,6 +100,7 @@ const styles = {
|
|
|
98
100
|
popover: {
|
|
99
101
|
k7Eaqz: "xrzjruh",
|
|
100
102
|
keoZOQ: "xcsaf9d",
|
|
103
|
+
k1K539: "x14cgwvg",
|
|
101
104
|
$$css: true
|
|
102
105
|
},
|
|
103
106
|
content: {
|
|
@@ -122,11 +125,6 @@ const styles = {
|
|
|
122
125
|
disabled: {
|
|
123
126
|
kkrTdU: "x1h6gzvc",
|
|
124
127
|
$$css: true
|
|
125
|
-
},
|
|
126
|
-
focusRing: {
|
|
127
|
-
k8PahR: "x1oqel4m",
|
|
128
|
-
kfQpEX: "x1fanpfn",
|
|
129
|
-
$$css: true
|
|
130
128
|
}
|
|
131
129
|
};
|
|
132
130
|
/**
|
|
@@ -181,6 +179,7 @@ export function ComplexSelector({
|
|
|
181
179
|
className,
|
|
182
180
|
style,
|
|
183
181
|
'data-testid': testId,
|
|
182
|
+
onClick: onClickProp,
|
|
184
183
|
...props
|
|
185
184
|
}) {
|
|
186
185
|
const t = useTranslator();
|
|
@@ -227,15 +226,20 @@ export function ComplexSelector({
|
|
|
227
226
|
ref: popover.triggerRef,
|
|
228
227
|
"data-testid": testId,
|
|
229
228
|
...props,
|
|
230
|
-
onClick: () => {
|
|
229
|
+
onClick: composeEventHandlers(onClickProp, () => {
|
|
231
230
|
if (!isDisabled) {
|
|
232
231
|
popover.toggle();
|
|
233
232
|
}
|
|
234
|
-
},
|
|
233
|
+
}),
|
|
235
234
|
...mergeProps(themeProps('complex-selector', {
|
|
236
235
|
size,
|
|
237
236
|
status: status?.type ?? null
|
|
238
|
-
}), stylex.props(inputWrapperStyles.base, styles.triggerContainer, styles[size],
|
|
237
|
+
}), stylex.props(inputWrapperStyles.base, styles.triggerContainer, styles[size],
|
|
238
|
+
// The ring belongs to the wrapper (the focusable `<button>` sits
|
|
239
|
+
// inside it), but it must still be a KEYBOARD ring: `:focus-within`
|
|
240
|
+
// matched a mouse click on the trigger and drew the outline for
|
|
241
|
+
// pointer users too. `focusWithin` here is `:has(:focus-visible)`.
|
|
242
|
+
focusOutlineStyles.focusWithin, isDisabled && inputWrapperStyles.disabled, isDisabled && styles.disabled, triggerLabel == null && styles.placeholder, xstyle), className, style),
|
|
239
243
|
children: [/*#__PURE__*/_jsx("button", {
|
|
240
244
|
id: triggerId,
|
|
241
245
|
type: "button",
|