@astryxdesign/core 0.7.1-canary.ff40b78 → 0.7.1
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 +116 -0
- package/dist/Button/Button.d.ts +1 -1
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +5 -2
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +191 -32
- package/dist/Chat/ChatComposerInput.d.ts +9 -0
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +5 -0
- package/dist/Chat/ChatMessage.d.ts +11 -0
- package/dist/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/Chat/ChatMessage.js +18 -9
- package/dist/Chat/useTriggerMenu.d.ts +9 -2
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +222 -50
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +158 -38
- package/dist/CodeBlock/tokenizer.d.ts +39 -0
- package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
- package/dist/CodeBlock/tokenizer.js +108 -0
- package/dist/CommandPalette/CommandPalette.d.ts +9 -5
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +38 -20
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts +4 -3
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +4 -3
- package/dist/CommandPalette/CommandPaletteInput.d.ts +5 -4
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +35 -18
- package/dist/CommandPalette/CommandPaletteItem.d.ts +11 -6
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +8 -9
- package/dist/CommandPalette/CommandPaletteList.d.ts +4 -2
- package/dist/CommandPalette/CommandPaletteList.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteList.js +10 -5
- package/dist/ComplexSelector/ComplexSelector.d.ts +8 -5
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +12 -3
- package/dist/ContextMenu/ContextMenu.d.ts +3 -3
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +62 -48
- package/dist/DateInput/DateInput.js +1 -1
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +12 -4
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +12 -2
- package/dist/Dialog/Dialog.d.ts +1 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +16 -5
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +7 -7
- package/dist/Divider/Divider.d.ts +1 -0
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +5 -4
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +161 -65
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +7 -5
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +12 -5
- package/dist/Field/InputClearButton.d.ts +8 -4
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +23 -7
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/FormLayout/FormLayout.js +1 -0
- package/dist/Grid/Grid.d.ts +13 -4
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +7 -1
- package/dist/HoverCard/useHoverCard.d.ts +1 -1
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +67 -49
- package/dist/InputGroup/InputGroup.d.ts +2 -4
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +2 -4
- package/dist/InputGroup/groupStyles.d.ts +10 -2
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +19 -2
- package/dist/Layer/useLayerDismissal.d.ts +9 -9
- package/dist/Layer/useLayerDismissal.js +9 -9
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +25 -4
- package/dist/MobileNav/MobileNav.d.ts +7 -0
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +45 -2
- package/dist/MultiSelector/MultiSelector.d.ts +7 -4
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +24 -3
- package/dist/NumberInput/NumberInput.js +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +6 -0
- package/dist/Resizable/ResizeHandle.d.ts +1 -1
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +83 -15
- package/dist/Resizable/useResizable.d.ts +23 -0
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +78 -0
- package/dist/Selector/Selector.d.ts +6 -3
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +28 -6
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +10 -2
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +18 -7
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +16 -4
- package/dist/Toolbar/Toolbar.d.ts +2 -1
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.js +3 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +6 -3
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +7 -1
- package/dist/astryx.css +22 -0
- package/dist/hooks/useScrollOverflow.d.ts.map +1 -1
- package/dist/hooks/useScrollOverflow.js +55 -12
- package/dist/hooks/useTreeFocus.d.ts +21 -0
- package/dist/hooks/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +40 -2
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +3 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +3 -0
- package/dist/reset.a11y.chromium.spec.js +6 -1
- package/dist/reset.until-found.a11y.browser.spec.d.ts +2 -0
- package/dist/reset.until-found.a11y.browser.spec.d.ts.map +1 -0
- package/dist/reset.until-found.a11y.browser.spec.js +71 -0
- package/dist/theme/syntax/SyntaxTheme.d.ts.map +1 -1
- package/dist/theme/syntax/SyntaxTheme.js +43 -2
- package/dist/theme/syntax/defineSyntaxTheme.d.ts +18 -5
- package/dist/theme/syntax/defineSyntaxTheme.d.ts.map +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.js +38 -9
- package/dist/theme/syntax/index.d.ts +1 -1
- package/dist/theme/syntax/index.d.ts.map +1 -1
- package/dist/theme/syntax/tokens.d.ts +12 -2
- package/dist/theme/syntax/tokens.d.ts.map +1 -1
- package/dist/theme/syntax/tokens.js +25 -4
- package/dist/utils/plainDate.d.ts +12 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +63 -10
- package/locales/en.json +13 -1
- package/locales/pseudo.json +9 -0
- package/package.json +4 -4
- package/src/AlertDialog/AlertDialog.doc.mjs +6 -0
- package/src/AlertDialog/AlertDialog.spec.md +205 -0
- package/src/AlertDialog/AlertDialog.test.tsx +3 -14
- package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +115 -0
- package/src/AlertDialog/__tests__/AlertDialog.a11y.renders.tsx +52 -0
- package/src/AlertDialog/__tests__/AlertDialog.a11y.states.ts +68 -0
- package/src/AlertDialog/__tests__/AlertDialog.a11y.test.tsx +144 -0
- package/src/Button/Button.test.tsx +37 -0
- package/src/Button/Button.tsx +5 -1
- package/src/Calendar/Calendar.doc.mjs +234 -60
- package/src/Calendar/Calendar.spec.md +209 -0
- package/src/Calendar/Calendar.test.tsx +559 -20
- package/src/Calendar/Calendar.tsx +258 -41
- package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +126 -0
- package/src/Calendar/__tests__/Calendar.a11y.known-failures.ts +12 -0
- package/src/Calendar/__tests__/Calendar.a11y.renders.tsx +57 -0
- package/src/Calendar/__tests__/Calendar.a11y.states.ts +139 -0
- package/src/Calendar/__tests__/Calendar.a11y.test.tsx +137 -0
- package/src/Carousel/Carousel.test.tsx +54 -71
- package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +192 -0
- package/src/Carousel/__tests__/Carousel.a11y.known-failures.ts +27 -0
- package/src/Carousel/__tests__/Carousel.a11y.renders.tsx +39 -0
- package/src/Carousel/__tests__/Carousel.a11y.states.ts +139 -0
- package/src/Carousel/__tests__/Carousel.a11y.test.tsx +127 -0
- package/src/Chat/ChatComposerInput.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.spec.md +94 -55
- package/src/Chat/ChatComposerInput.test.tsx +202 -1
- package/src/Chat/ChatComposerInput.tsx +13 -0
- package/src/Chat/ChatMessage.doc.mjs +31 -16
- package/src/Chat/ChatMessage.spec.md +265 -0
- package/src/Chat/ChatMessage.test.tsx +246 -0
- package/src/Chat/ChatMessage.tsx +30 -7
- package/src/Chat/ChatSystemMessage.spec.md +36 -37
- package/src/Chat/ChatSystemMessage.test.tsx +4 -4
- package/src/Chat/useTriggerMenu.test.tsx +994 -0
- package/src/Chat/useTriggerMenu.tsx +278 -46
- package/src/CodeBlock/CodeBlock.doc.mjs +7 -0
- package/src/CodeBlock/CodeBlock.spec.md +40 -41
- package/src/CodeBlock/CodeBlock.test.tsx +89 -9
- package/src/CodeBlock/CodeBlock.tsx +205 -25
- package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +125 -0
- package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +93 -0
- package/src/CodeBlock/tokenizer.test.ts +112 -0
- package/src/CodeBlock/tokenizer.ts +106 -0
- package/src/Collapsible/CollapsibleGroup.spec.md +17 -8
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.renders.tsx +45 -0
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.states.ts +139 -0
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.test.tsx +135 -0
- package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +128 -0
- package/src/CommandPalette/CommandPalette.doc.mjs +126 -23
- package/src/CommandPalette/CommandPalette.spec.md +100 -49
- package/src/CommandPalette/CommandPalette.test.tsx +241 -2
- package/src/CommandPalette/CommandPalette.tsx +47 -21
- package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -3
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +61 -4
- package/src/CommandPalette/CommandPaletteInput.spec.md +215 -0
- package/src/CommandPalette/CommandPaletteInput.test.tsx +375 -51
- package/src/CommandPalette/CommandPaletteInput.tsx +74 -21
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +73 -22
- package/src/CommandPalette/CommandPaletteItem.spec.md +223 -0
- package/src/CommandPalette/CommandPaletteItem.test.tsx +200 -5
- package/src/CommandPalette/CommandPaletteItem.tsx +16 -11
- package/src/CommandPalette/CommandPaletteList.doc.mjs +3 -3
- package/src/CommandPalette/CommandPaletteList.spec.md +41 -36
- package/src/CommandPalette/CommandPaletteList.test.tsx +80 -0
- package/src/CommandPalette/CommandPaletteList.tsx +10 -5
- package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +599 -0
- package/src/ComplexSelector/ComplexSelector.doc.mjs +10 -8
- package/src/ComplexSelector/ComplexSelector.spec.md +14 -9
- package/src/ComplexSelector/ComplexSelector.test.tsx +64 -16
- package/src/ComplexSelector/ComplexSelector.tsx +37 -8
- package/src/ContextMenu/ContextMenu.doc.mjs +6 -0
- package/src/ContextMenu/ContextMenu.spec.md +51 -53
- package/src/ContextMenu/ContextMenu.test.tsx +132 -1
- package/src/ContextMenu/ContextMenu.tsx +78 -48
- package/src/DateInput/DateInput.doc.mjs +52 -0
- package/src/DateInput/DateInput.spec.md +27 -15
- package/src/DateInput/DateInput.test.tsx +38 -0
- package/src/DateInput/DateInput.tsx +1 -1
- package/src/DateInput/DateInputTouch.test.tsx +22 -0
- package/src/DateInput/MonthScroller.tsx +12 -4
- package/src/DateRangeInput/DateRangeInput.test.tsx +49 -0
- package/src/DateRangeInput/DateRangeInput.tsx +20 -2
- package/src/Dialog/Dialog.test.tsx +27 -1
- package/src/Dialog/Dialog.tsx +16 -5
- package/src/Dialog/DialogHeader.test.tsx +27 -2
- package/src/Dialog/DialogHeader.tsx +7 -8
- package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +21 -14
- package/src/Divider/Divider.doc.mjs +5 -3
- package/src/Divider/Divider.spec.md +140 -54
- package/src/Divider/Divider.test.tsx +15 -0
- package/src/Divider/Divider.tsx +6 -4
- package/src/DropdownMenu/DropdownMenu.doc.mjs +2 -2
- package/src/DropdownMenu/DropdownMenu.spec.md +121 -45
- package/src/DropdownMenu/DropdownMenu.test.tsx +288 -23
- package/src/DropdownMenu/DropdownMenu.tsx +212 -81
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +38 -2
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +32 -18
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +146 -1
- package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +136 -0
- package/src/DropdownMenu/__tests__/MenuButton.a11y.known-failures.ts +12 -0
- package/src/DropdownMenu/__tests__/MenuButton.a11y.renders.tsx +67 -0
- package/src/DropdownMenu/__tests__/MenuButton.a11y.states.ts +141 -0
- package/src/DropdownMenu/__tests__/MenuButton.a11y.test.tsx +138 -0
- package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +40 -5
- package/src/Field/InputClearButton.test.tsx +29 -4
- package/src/Field/InputClearButton.tsx +26 -8
- package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +21 -14
- package/src/FormLayout/FormLayout.tsx +1 -0
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +1 -1
- package/src/Grid/Grid.doc.mjs +14 -11
- package/src/Grid/Grid.spec.md +50 -32
- package/src/Grid/Grid.tsx +13 -4
- package/src/HoverCard/HoverCard.test.tsx +46 -1
- package/src/HoverCard/useHoverCard.tsx +68 -48
- package/src/InputGroup/InputGroup.doc.mjs +11 -1
- package/src/InputGroup/InputGroup.tsx +2 -4
- package/src/InputGroup/groupStyles.ts +40 -2
- package/src/Layer/useLayerDismissal.ts +9 -9
- package/src/Link/__tests__/Link.a11y.chromium.spec.ts +142 -0
- package/src/Link/__tests__/Link.a11y.renders.tsx +97 -0
- package/src/Link/__tests__/Link.a11y.states.ts +104 -0
- package/src/Link/__tests__/Link.a11y.test.tsx +127 -0
- package/src/Markdown/Markdown.doc.mjs +1 -1
- package/src/Markdown/Markdown.fr23.perf.test.ts +161 -40
- package/src/Markdown/Markdown.spec.md +45 -23
- package/src/Markdown/Markdown.test.tsx +38 -0
- package/src/Markdown/Markdown.tsx +24 -2
- package/src/Markdown/plugins/semanticFence.test.tsx +3 -2
- package/src/MobileNav/MobileNav.tsx +50 -2
- package/src/MobileNav/MobileNavFocus.test.tsx +553 -0
- package/src/MoreMenu/MoreMenu.spec.md +18 -7
- package/src/MoreMenu/MoreMenu.test.tsx +38 -0
- package/src/MultiSelector/MultiSelector.doc.mjs +8 -8
- package/src/MultiSelector/MultiSelector.spec.md +1 -1
- package/src/MultiSelector/MultiSelector.test.tsx +188 -21
- package/src/MultiSelector/MultiSelector.tsx +50 -11
- package/src/NumberInput/NumberInput.test.tsx +24 -0
- package/src/NumberInput/NumberInput.tsx +1 -1
- package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +22 -15
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +78 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +6 -0
- package/src/Resizable/Resizable.spec.md +41 -9
- package/src/Resizable/ResizeHandle.test.tsx +565 -2
- package/src/Resizable/ResizeHandle.tsx +126 -21
- package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +119 -0
- package/src/Resizable/__tests__/ResizeHandle.a11y.known-failures.ts +39 -0
- package/src/Resizable/__tests__/ResizeHandle.a11y.renders.tsx +80 -0
- package/src/Resizable/__tests__/ResizeHandle.a11y.states.ts +197 -0
- package/src/Resizable/__tests__/ResizeHandle.a11y.test.tsx +123 -0
- package/src/Resizable/useResizable.ts +95 -0
- package/src/Selector/Selector.doc.mjs +7 -6
- package/src/Selector/Selector.spec.md +37 -24
- package/src/Selector/Selector.test.tsx +176 -10
- package/src/Selector/Selector.tsx +59 -14
- package/src/Selector/__tests__/Combobox.a11y.known-failures.ts +27 -0
- package/src/Selector/__tests__/Combobox.a11y.states.ts +145 -0
- package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +108 -0
- package/src/Selector/__tests__/Selector.combobox.a11y.test.tsx +126 -0
- package/src/SideNav/SideNav.test.tsx +35 -0
- package/src/SideNav/SideNav.tsx +16 -2
- package/src/Slider/Slider.spec.md +43 -17
- package/src/Slider/Slider.test.tsx +134 -0
- package/src/Slider/Slider.tsx +29 -6
- package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +112 -0
- package/src/Slider/__tests__/Slider.a11y.known-failures.ts +12 -0
- package/src/Slider/__tests__/Slider.a11y.renders.tsx +42 -0
- package/src/Slider/__tests__/Slider.a11y.states.ts +106 -0
- package/src/Slider/__tests__/Slider.a11y.test.tsx +105 -0
- package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +25 -18
- package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +19 -12
- package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +21 -14
- package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +18 -11
- package/src/Tokenizer/Tokenizer.test.tsx +87 -0
- package/src/Tokenizer/Tokenizer.tsx +31 -3
- package/src/Toolbar/Toolbar.test.tsx +131 -4
- package/src/Toolbar/Toolbar.tsx +3 -1
- package/src/TreeList/TreeList.spec.md +33 -8
- package/src/TreeList/TreeList.test.tsx +72 -0
- package/src/TreeList/TreeList.tsx +10 -6
- package/src/TreeList/TreeListItem.tsx +5 -0
- package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +125 -0
- package/src/TreeList/__tests__/TreeList.a11y.renders.tsx +44 -0
- package/src/TreeList/__tests__/TreeList.a11y.states.ts +164 -0
- package/src/TreeList/__tests__/TreeList.a11y.test.tsx +138 -0
- package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +82 -0
- package/src/hooks/useScrollOverflow.test.tsx +222 -0
- package/src/hooks/useScrollOverflow.ts +55 -13
- package/src/hooks/useTreeFocus.test.tsx +37 -0
- package/src/hooks/useTreeFocus.ts +55 -2
- package/src/i18n/generated-locales/en.generated.ts +3 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +3 -0
- package/src/reset.a11y.chromium.spec.ts +9 -1
- package/src/reset.css +8 -3
- package/src/reset.until-found.a11y.browser.spec.ts +75 -0
- package/src/reset.until-found.test.ts +32 -0
- package/src/stylexValidation.source-build.test.mjs +42 -0
- package/src/theme/syntax/SyntaxTheme.tsx +46 -5
- package/src/theme/syntax/defineSyntaxTheme.diff.test.ts +91 -0
- package/src/theme/syntax/defineSyntaxTheme.ts +75 -15
- package/src/theme/syntax/index.ts +5 -1
- package/src/theme/syntax/tokens.ts +32 -2
- package/src/theme/syntax/useSyntaxTheme.diff.test.tsx +40 -0
- package/src/utils/plainDate.test.ts +147 -0
- package/src/utils/plainDate.ts +75 -10
|
@@ -83,6 +83,40 @@ const MENU_TRIGGER_OPEN_BACKGROUND = `linear-gradient(${colorVars['--color-overl
|
|
|
83
83
|
* aria-hidden subtrees) are not reachable, judged by the popover focus trap's
|
|
84
84
|
* own test so the two never disagree about where Tab can go.
|
|
85
85
|
*/
|
|
86
|
+
/**
|
|
87
|
+
* Collapse each named radio group to the one Tab stop a browser gives it: the
|
|
88
|
+
* focused radio, else the checked one, else the first radio moving forward or
|
|
89
|
+
* the last moving backward. The stop takes the group's first position.
|
|
90
|
+
*/
|
|
91
|
+
function collapseRadioGroups(elements, active, isBackward) {
|
|
92
|
+
const groups = new Map();
|
|
93
|
+
const groupKey = el => el instanceof HTMLInputElement && el.getAttribute('type') === 'radio' && el.name !== '' ? `${el.form?.id ?? ''}\u0000${el.name}` : null;
|
|
94
|
+
for (const el of elements) {
|
|
95
|
+
const key = groupKey(el);
|
|
96
|
+
if (key != null) {
|
|
97
|
+
const members = groups.get(key) ?? [];
|
|
98
|
+
members.push(el);
|
|
99
|
+
groups.set(key, members);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const placed = new Set();
|
|
103
|
+
const result = [];
|
|
104
|
+
for (const el of elements) {
|
|
105
|
+
const key = groupKey(el);
|
|
106
|
+
if (key == null) {
|
|
107
|
+
result.push(el);
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (placed.has(key)) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
placed.add(key);
|
|
114
|
+
const members = groups.get(key) ?? [];
|
|
115
|
+
const stop = members.find(radio => radio === active) ?? members.find(radio => radio.checked) ?? (isBackward ? members[members.length - 1] : members[0]);
|
|
116
|
+
result.push(stop);
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
86
120
|
function tabbablesIn(region) {
|
|
87
121
|
if (region == null) {
|
|
88
122
|
return [];
|
|
@@ -108,8 +142,9 @@ function isInsideHiddenWrapper(element, region) {
|
|
|
108
142
|
}
|
|
109
143
|
|
|
110
144
|
/**
|
|
111
|
-
* Move focus to a
|
|
112
|
-
* caller can
|
|
145
|
+
* Move focus to a Tab stop in the dialog. Reports whether focus actually
|
|
146
|
+
* arrived, so a caller can fall back to the menu instead of stranding focus on
|
|
147
|
+
* the page.
|
|
113
148
|
*/
|
|
114
149
|
function focusRegionControl(element) {
|
|
115
150
|
element.focus();
|
|
@@ -320,6 +355,16 @@ function visibleText(element) {
|
|
|
320
355
|
for (const hidden of copy.querySelectorAll('[aria-hidden="true"]')) {
|
|
321
356
|
hidden.remove();
|
|
322
357
|
}
|
|
358
|
+
// An icon-only control is named by its image's alt, an inner aria-label, or
|
|
359
|
+
// an svg title rather than by text, so those count as its contents too.
|
|
360
|
+
for (const named of copy.querySelectorAll('img[alt], [aria-label]')) {
|
|
361
|
+
const name = named.getAttribute(named.tagName === 'IMG' ? 'alt' : 'aria-label') ?? '';
|
|
362
|
+
named.replaceWith(copy.ownerDocument.createTextNode(` ${name} `));
|
|
363
|
+
}
|
|
364
|
+
for (const svg of copy.querySelectorAll('svg')) {
|
|
365
|
+
const title = svg.querySelector('title')?.textContent ?? '';
|
|
366
|
+
svg.replaceWith(copy.ownerDocument.createTextNode(` ${title} `));
|
|
367
|
+
}
|
|
323
368
|
return (copy.textContent ?? '').replace(/\s+/g, ' ').trim();
|
|
324
369
|
}
|
|
325
370
|
|
|
@@ -343,6 +388,18 @@ function readAccessibleName(element) {
|
|
|
343
388
|
if (label) {
|
|
344
389
|
return label;
|
|
345
390
|
}
|
|
391
|
+
// A form control is named by its own <label>s; an input button by its value.
|
|
392
|
+
const labels = 'labels' in element ? Array.from(element.labels ?? []) : [];
|
|
393
|
+
const labelText = labels.map(visibleText).join(' ').trim();
|
|
394
|
+
if (labelText !== '') {
|
|
395
|
+
return labelText;
|
|
396
|
+
}
|
|
397
|
+
if (element instanceof HTMLInputElement && ['button', 'submit', 'reset'].includes(element.getAttribute('type') ?? '')) {
|
|
398
|
+
const value = element.value.trim();
|
|
399
|
+
if (value !== '') {
|
|
400
|
+
return value;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
346
403
|
const text = visibleText(element);
|
|
347
404
|
if (text !== '') {
|
|
348
405
|
return text;
|
|
@@ -465,7 +522,15 @@ function DropdownMenuBottomSheet({
|
|
|
465
522
|
openModalityRef.current = 'keyboard';
|
|
466
523
|
}
|
|
467
524
|
};
|
|
468
|
-
const handleSheetTriggerClick =
|
|
525
|
+
const handleSheetTriggerClick = event => {
|
|
526
|
+
// A caller-rendered trigger that is natively or aria-disabled must not
|
|
527
|
+
// open the sheet; the default Button already refuses its own click.
|
|
528
|
+
// The DOM check covers the built-in Button too (it renders aria-disabled
|
|
529
|
+
// when focusable-disabled); a caller's own enabled control wins over a
|
|
530
|
+
// `button.isDisabled` left on the props.
|
|
531
|
+
if (event.currentTarget.matches(':disabled, [aria-disabled="true"]')) {
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
469
534
|
onClick?.();
|
|
470
535
|
setOpen(!isOpen);
|
|
471
536
|
};
|
|
@@ -677,6 +742,16 @@ function DropdownMenuPopover({
|
|
|
677
742
|
const openModalityRef = useRef('keyboard');
|
|
678
743
|
// ArrowUp opens with the LAST enabled row highlighted.
|
|
679
744
|
const focusLastOnOpenRef = useRef(false);
|
|
745
|
+
|
|
746
|
+
// Synchronizes the dialog's name from the custom trigger's DOM, an external
|
|
747
|
+
// system React does not own: the rendered control's accessible name is only
|
|
748
|
+
// readable once it mounts. With a header or footer the dialog is named like
|
|
749
|
+
// the menu, so that name is needed before the first open, not only at it.
|
|
750
|
+
useIsomorphicLayoutEffect(() => {
|
|
751
|
+
if (renderTrigger != null && hasRegions && triggerName == null) {
|
|
752
|
+
setTriggerName(readAccessibleName(buttonRef.current));
|
|
753
|
+
}
|
|
754
|
+
}, [renderTrigger, hasRegions, triggerName]);
|
|
680
755
|
const handleLayerShow = useCallback(() => {
|
|
681
756
|
acceptedOpenRef.current = true;
|
|
682
757
|
resetFocusReturn();
|
|
@@ -692,15 +767,29 @@ function DropdownMenuPopover({
|
|
|
692
767
|
setInternalIsOpen(true);
|
|
693
768
|
}
|
|
694
769
|
}, [isControlled, onClick, onOpenChange, renderTrigger, resetFocusReturn]);
|
|
770
|
+
|
|
771
|
+
// The menu's name: the dialog around it with a header or footer, and the
|
|
772
|
+
// Back row of a drilled-in view ("Back to <this>"), both read it.
|
|
773
|
+
// The design system's button names the menu by its label. A custom trigger
|
|
774
|
+
// names it by reference (or the caller's `aria-label` does), so that name
|
|
775
|
+
// is read off the control as the menu opens.
|
|
776
|
+
const callerMenuLabel = rest['aria-label'];
|
|
777
|
+
const menuLabel = renderTrigger != null ? typeof callerMenuLabel === 'string' && callerMenuLabel.trim() !== '' ? callerMenuLabel : triggerName : typeof button.label === 'string' ? button.label : undefined;
|
|
695
778
|
const popover = usePopover({
|
|
696
779
|
onHide: handleLayerHide,
|
|
697
780
|
onShow: handleLayerShow,
|
|
698
781
|
hasLightDismiss: true,
|
|
699
782
|
hasCloseButton: false,
|
|
700
783
|
hasAutoFocus: false,
|
|
701
|
-
//
|
|
702
|
-
//
|
|
703
|
-
|
|
784
|
+
// Without a header or footer the popup's own role="menu" is the exposed
|
|
785
|
+
// semantics; a dialog around it would announce an extra container. With
|
|
786
|
+
// either, the popover holds controls that are not menu items, so it is a
|
|
787
|
+
// modal dialog named like the menu, with the menu inside it. A custom
|
|
788
|
+
// trigger's name is read off the control once it mounts; until then, or
|
|
789
|
+
// when the control exposes no readable name, the dialog takes the default
|
|
790
|
+
// menu label, so it is never unnamed and never loses its role.
|
|
791
|
+
role: hasRegions ? 'dialog' : 'none',
|
|
792
|
+
dialogLabel: hasRegions ? menuLabel ?? t(DEFAULT_BUTTON_I18N_KEY) : undefined
|
|
704
793
|
});
|
|
705
794
|
const closeMenu = useCallback(() => {
|
|
706
795
|
popover.hide();
|
|
@@ -793,6 +882,42 @@ function DropdownMenuPopover({
|
|
|
793
882
|
});
|
|
794
883
|
}, [popover.isOpen, focusFirst, focusLast, listRef]);
|
|
795
884
|
|
|
885
|
+
// With a header or footer the popover is a modal dialog: Tab and Shift+Tab
|
|
886
|
+
// walk the header's controls, the menu as one stop, then the footer's
|
|
887
|
+
// controls, and wrap at either end. The key is handled here in full, so the
|
|
888
|
+
// popover's own focus trap, which listens on the document, never reads it a
|
|
889
|
+
// second time.
|
|
890
|
+
const moveDialogTab = useCallback((e, isFromFlyout = false) => {
|
|
891
|
+
const menu = listRef.current;
|
|
892
|
+
if (menu == null) {
|
|
893
|
+
return;
|
|
894
|
+
}
|
|
895
|
+
e.preventDefault();
|
|
896
|
+
e.stopPropagation();
|
|
897
|
+
// A named radio group is one stop, as the browser's own Tab order has it.
|
|
898
|
+
const cycle = collapseRadioGroups([...tabbablesIn(headerRef.current), menu, ...tabbablesIn(footerRef.current)], document.activeElement, e.shiftKey);
|
|
899
|
+
if (cycle.length === 1) {
|
|
900
|
+
// Nothing else to reach: focus stays in the menu. From a flyout that
|
|
901
|
+
// has just closed itself, that is the menu's own stop.
|
|
902
|
+
if (isFromFlyout) {
|
|
903
|
+
menu.focus();
|
|
904
|
+
}
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
const active = document.activeElement;
|
|
908
|
+
const menuIndex = cycle.indexOf(menu);
|
|
909
|
+
// A row, or a row of an open flyout, counts as the menu's stop.
|
|
910
|
+
let index = menu.contains(active) ? menuIndex : cycle.findIndex(el => el === active || el.contains(active));
|
|
911
|
+
if (index < 0) {
|
|
912
|
+
index = menuIndex;
|
|
913
|
+
}
|
|
914
|
+
const step = e.shiftKey ? -1 : 1;
|
|
915
|
+
const next = cycle[(index + step + cycle.length) % cycle.length];
|
|
916
|
+
if (!focusRegionControl(next)) {
|
|
917
|
+
menu.focus();
|
|
918
|
+
}
|
|
919
|
+
}, [listRef]);
|
|
920
|
+
|
|
796
921
|
// Extend useListFocus with Enter/Space activation + typeahead
|
|
797
922
|
const listKeyDown = useCallback(e => {
|
|
798
923
|
// A submenu flyout renders inline inside this menu; its key events bubble
|
|
@@ -802,16 +927,7 @@ function DropdownMenuPopover({
|
|
|
802
927
|
// itself as the key bubbled up, and the root moves focus on as Tab
|
|
803
928
|
// from one of its own rows would.
|
|
804
929
|
if (e.key === 'Tab' && hasRegions) {
|
|
805
|
-
|
|
806
|
-
const tabbables = tabbablesIn(region);
|
|
807
|
-
e.stopPropagation();
|
|
808
|
-
const target = e.shiftKey ? tabbables[tabbables.length - 1] : tabbables[0];
|
|
809
|
-
if (target != null) {
|
|
810
|
-
e.preventDefault();
|
|
811
|
-
}
|
|
812
|
-
if (target == null || !focusRegionControl(target)) {
|
|
813
|
-
closeMenu();
|
|
814
|
-
}
|
|
930
|
+
moveDialogTab(e, true);
|
|
815
931
|
}
|
|
816
932
|
return;
|
|
817
933
|
}
|
|
@@ -830,30 +946,15 @@ function DropdownMenuPopover({
|
|
|
830
946
|
}
|
|
831
947
|
return;
|
|
832
948
|
}
|
|
833
|
-
//
|
|
834
|
-
//
|
|
835
|
-
//
|
|
836
|
-
//
|
|
837
|
-
//
|
|
838
|
-
//
|
|
839
|
-
// takes the Tab instead, and the menu stays open.
|
|
949
|
+
// With a header or footer the popover is a dialog and Tab wraps inside
|
|
950
|
+
// it. Without either, the APG menu-button pattern: Tab closes the menu.
|
|
951
|
+
// Menu items are tabIndex={-1} so the focus trap has nothing trappable
|
|
952
|
+
// and Tab would otherwise leak into the page while the menu stayed open
|
|
953
|
+
// (menus-5). Do NOT preventDefault — closing restores focus to the
|
|
954
|
+
// trigger, and the browser's default Tab then continues from there.
|
|
840
955
|
if (e.key === 'Tab') {
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
if (tabbables.length > 0) {
|
|
844
|
-
// From a row, the browser's Shift+Tab would stop on the menu element
|
|
845
|
-
// itself — the row's ancestor and a Tab stop — before reaching the
|
|
846
|
-
// header. The menu is one stop, so go straight to the header.
|
|
847
|
-
if (e.shiftKey && e.target !== listRef.current) {
|
|
848
|
-
e.preventDefault();
|
|
849
|
-
// The popover's focus trap listens on the document and would read
|
|
850
|
-
// this same Shift+Tab against the field just focused — the trap's
|
|
851
|
-
// first element — and wrap to the footer. This key is handled.
|
|
852
|
-
e.stopPropagation();
|
|
853
|
-
if (!focusRegionControl(tabbables[tabbables.length - 1])) {
|
|
854
|
-
closeMenu();
|
|
855
|
-
}
|
|
856
|
-
}
|
|
956
|
+
if (hasRegions) {
|
|
957
|
+
moveDialogTab(e);
|
|
857
958
|
return;
|
|
858
959
|
}
|
|
859
960
|
closeMenu();
|
|
@@ -865,25 +966,22 @@ function DropdownMenuPopover({
|
|
|
865
966
|
return;
|
|
866
967
|
}
|
|
867
968
|
listNavKeyDown(e);
|
|
868
|
-
}, [listNavKeyDown, closeMenu, typeahead, ownsEvent,
|
|
969
|
+
}, [listNavKeyDown, closeMenu, typeahead, ownsEvent, hasRegions, moveDialogTab]);
|
|
869
970
|
|
|
870
|
-
// Tab
|
|
871
|
-
// control of the header, leaves the menu as Tab from its rows does: the
|
|
872
|
-
// menu closes, focus returns to the trigger, and the browser's own Tab
|
|
873
|
-
// continues from there. Between the regions, Tab moves through the menu
|
|
874
|
-
// as one stop.
|
|
971
|
+
// Tab from a header or footer control moves through the same dialog cycle.
|
|
875
972
|
const handleRegionKeyDown = useCallback(e => {
|
|
876
|
-
if (e.key
|
|
877
|
-
|
|
878
|
-
}
|
|
879
|
-
const tabbables = tabbablesIn(e.currentTarget);
|
|
880
|
-
const isHeader = e.currentTarget === headerRef.current;
|
|
881
|
-
const exit = isHeader ? e.shiftKey ? tabbables[0] : undefined : e.shiftKey ? undefined : tabbables[tabbables.length - 1];
|
|
882
|
-
if (exit != null && exit === document.activeElement) {
|
|
883
|
-
closeMenu();
|
|
973
|
+
if (e.key === 'Tab') {
|
|
974
|
+
moveDialogTab(e);
|
|
884
975
|
}
|
|
885
|
-
}, [
|
|
976
|
+
}, [moveDialogTab]);
|
|
886
977
|
const openAndFocus = useCallback((modality = 'keyboard', notifyClick = false) => {
|
|
978
|
+
// An unavailable trigger never opens the menu. Button keeps an
|
|
979
|
+
// aria-disabled trigger focusable for its tooltip and swallows only
|
|
980
|
+
// Enter and Space, so the arrow keys, a press and a click would still
|
|
981
|
+
// arrive here; a custom trigger may be natively disabled instead.
|
|
982
|
+
if (buttonRef.current?.matches(':disabled, [aria-disabled="true"]') === true) {
|
|
983
|
+
return false;
|
|
984
|
+
}
|
|
887
985
|
acceptedOpenRef.current = false;
|
|
888
986
|
notifyClickOnShowRef.current = notifyClick;
|
|
889
987
|
pendingControlledOpenRef.current = isControlled;
|
|
@@ -993,7 +1091,11 @@ function DropdownMenuPopover({
|
|
|
993
1091
|
return;
|
|
994
1092
|
}
|
|
995
1093
|
focusLastOnOpenRef.current = e.key === 'ArrowUp';
|
|
996
|
-
openAndFocus()
|
|
1094
|
+
if (!openAndFocus()) {
|
|
1095
|
+
// A refused open (disabled trigger) must not leave ArrowUp's
|
|
1096
|
+
// "land on the last row" armed for a later open.
|
|
1097
|
+
focusLastOnOpenRef.current = false;
|
|
1098
|
+
}
|
|
997
1099
|
}
|
|
998
1100
|
return;
|
|
999
1101
|
}
|
|
@@ -1028,12 +1130,6 @@ function DropdownMenuPopover({
|
|
|
1028
1130
|
drillIn,
|
|
1029
1131
|
wrapContent
|
|
1030
1132
|
} = useMenuDrillIn(isOpen);
|
|
1031
|
-
// The name a drilled-in view's Back row returns to: the menu's own name.
|
|
1032
|
-
// The design system's button names the menu by its label. A custom trigger
|
|
1033
|
-
// names it by reference (or the caller's `aria-label` does), so that name
|
|
1034
|
-
// is read off the control as the menu opens.
|
|
1035
|
-
const callerMenuLabel = rest['aria-label'];
|
|
1036
|
-
const menuLabel = renderTrigger != null ? typeof callerMenuLabel === 'string' && callerMenuLabel.trim() !== '' ? callerMenuLabel : triggerName : typeof button.label === 'string' ? button.label : undefined;
|
|
1037
1133
|
const resolvedMaxHeight = menuMaxHeight == null ? null : `${menuMaxHeight}px`;
|
|
1038
1134
|
// Context for compound items
|
|
1039
1135
|
const contextValue = useMemo(() => ({
|
|
@@ -1082,9 +1178,9 @@ function DropdownMenuPopover({
|
|
|
1082
1178
|
// keeps the browser from drawing one after pointer input (see
|
|
1083
1179
|
// handleLayerHide), so its focus needs no bookkeeping here.
|
|
1084
1180
|
onFocus: () => {},
|
|
1085
|
-
'aria-haspopup': 'menu',
|
|
1181
|
+
'aria-haspopup': hasRegions ? 'dialog' : 'menu',
|
|
1086
1182
|
'aria-expanded': isOpen,
|
|
1087
|
-
'aria-controls': menuId
|
|
1183
|
+
'aria-controls': hasRegions ? popover.id : menuId
|
|
1088
1184
|
};
|
|
1089
1185
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
1090
1186
|
children: [renderTrigger != null ? renderTrigger(triggerProps) : /*#__PURE__*/_jsx(Button, {
|
|
@@ -1122,9 +1218,9 @@ function DropdownMenuPopover({
|
|
|
1122
1218
|
button.onFocus?.(event);
|
|
1123
1219
|
onFocusReturnTargetFocus();
|
|
1124
1220
|
},
|
|
1125
|
-
"aria-haspopup":
|
|
1221
|
+
"aria-haspopup": hasRegions ? 'dialog' : 'menu',
|
|
1126
1222
|
"aria-expanded": isOpen,
|
|
1127
|
-
"aria-controls": menuId,
|
|
1223
|
+
"aria-controls": hasRegions ? popover.id : menuId,
|
|
1128
1224
|
"data-testid": testId
|
|
1129
1225
|
}), popover.render(renderWithRegions(/*#__PURE__*/_jsx("div", {
|
|
1130
1226
|
...rest,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file DropdownMenuCheckboxItem.tsx
|
|
3
|
-
* @input React, stylex, Item +
|
|
3
|
+
* @input React, stylex, Item + Indicator registry + DropdownMenu context + tokens from core
|
|
4
4
|
* @output DropdownMenuCheckboxItem — a standalone checkable menu item.
|
|
5
5
|
* @position Sub-component; used inside DropdownMenu.
|
|
6
6
|
*
|
|
@@ -47,9 +47,8 @@ export interface DropdownMenuCheckboxItemProps extends Omit<BaseProps, 'onChange
|
|
|
47
47
|
*/
|
|
48
48
|
onChange?: (checked: boolean) => void;
|
|
49
49
|
/**
|
|
50
|
-
* Whether the item is disabled. Disabled items
|
|
51
|
-
*
|
|
52
|
-
* technology, but activation is blocked.
|
|
50
|
+
* Whether the item is disabled. Disabled items expose `aria-disabled`, block
|
|
51
|
+
* activation, and are currently skipped by DropdownMenu arrow-key navigation.
|
|
53
52
|
* @default false
|
|
54
53
|
*/
|
|
55
54
|
isDisabled?: boolean;
|
|
@@ -73,6 +72,9 @@ export interface DropdownMenuCheckboxItemProps extends Omit<BaseProps, 'onChange
|
|
|
73
72
|
*
|
|
74
73
|
* Must be used inside a DropdownMenu. Toggles an independent boolean; for a
|
|
75
74
|
* one-of-N choice use DropdownMenuRadioGroup + DropdownMenuRadioItem instead.
|
|
75
|
+
* Consumer click and pointer-move handlers compose after the row's own
|
|
76
|
+
* activation and hover-focus behavior; disabled activation stops before the
|
|
77
|
+
* consumer click handler.
|
|
76
78
|
*
|
|
77
79
|
* @example
|
|
78
80
|
* ```
|
|
@@ -86,7 +88,7 @@ export interface DropdownMenuCheckboxItemProps extends Omit<BaseProps, 'onChange
|
|
|
86
88
|
* </DropdownMenu>
|
|
87
89
|
* ```
|
|
88
90
|
*/
|
|
89
|
-
export declare function DropdownMenuCheckboxItem({ label, description, icon, value, onChange, isDisabled, hasCloseOnSelect, endContent, xstyle, className, style, ...rest }: DropdownMenuCheckboxItemProps): import("react").JSX.Element;
|
|
91
|
+
export declare function DropdownMenuCheckboxItem({ label, description, icon, value, onChange, isDisabled, hasCloseOnSelect, endContent, xstyle, className, style, onClick, onPointerMove, ...rest }: DropdownMenuCheckboxItemProps): import("react").JSX.Element;
|
|
90
92
|
export declare namespace DropdownMenuCheckboxItem {
|
|
91
93
|
var displayName: string;
|
|
92
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenuCheckboxItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuCheckboxItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"DropdownMenuCheckboxItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuCheckboxItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAOtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4C5C,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,SAAS,EACT,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CAClD;IACC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAkB,EAClB,gBAAwB,EACxB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,aAAa,EACb,GAAG,IAAI,EACR,EAAE,6BAA6B,+BA+D/B;yBA9Ee,wBAAwB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file DropdownMenuCheckboxItem.tsx
|
|
7
|
-
* @input React, stylex, Item +
|
|
7
|
+
* @input React, stylex, Item + Indicator registry + DropdownMenu context + tokens from core
|
|
8
8
|
* @output DropdownMenuCheckboxItem — a standalone checkable menu item.
|
|
9
9
|
* @position Sub-component; used inside DropdownMenu.
|
|
10
10
|
*
|
|
@@ -34,7 +34,7 @@ import { useDropdownMenuContext } from "./DropdownMenuContext.js";
|
|
|
34
34
|
import { focusMenuItemOnHover } from "./menuItemHover.js";
|
|
35
35
|
import "../theme/tokens.stylex.js";
|
|
36
36
|
import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
|
|
37
|
-
import { mergeProps, themeProps } from "../utils/index.js";
|
|
37
|
+
import { composeEventHandlers, mergeProps, themeProps } from "../utils/index.js";
|
|
38
38
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
39
39
|
const styles = {
|
|
40
40
|
root: {
|
|
@@ -67,6 +67,9 @@ const styles = {
|
|
|
67
67
|
*
|
|
68
68
|
* Must be used inside a DropdownMenu. Toggles an independent boolean; for a
|
|
69
69
|
* one-of-N choice use DropdownMenuRadioGroup + DropdownMenuRadioItem instead.
|
|
70
|
+
* Consumer click and pointer-move handlers compose after the row's own
|
|
71
|
+
* activation and hover-focus behavior; disabled activation stops before the
|
|
72
|
+
* consumer click handler.
|
|
70
73
|
*
|
|
71
74
|
* @example
|
|
72
75
|
* ```
|
|
@@ -92,28 +95,32 @@ export function DropdownMenuCheckboxItem({
|
|
|
92
95
|
xstyle,
|
|
93
96
|
className,
|
|
94
97
|
style,
|
|
98
|
+
onClick,
|
|
99
|
+
onPointerMove,
|
|
95
100
|
...rest
|
|
96
101
|
}) {
|
|
97
102
|
const ctx = useDropdownMenuContext();
|
|
98
103
|
const menuSize = ctx?.menuSize ?? 'md';
|
|
99
104
|
const controlSize = menuSize === 'sm' ? 'sm' : 'md';
|
|
100
105
|
const CheckboxControl = useIndicator('checkbox');
|
|
101
|
-
const handleClick = useCallback(
|
|
106
|
+
const handleClick = useCallback(event => {
|
|
102
107
|
if (isDisabled) {
|
|
108
|
+
event.preventDefault();
|
|
103
109
|
return;
|
|
104
110
|
}
|
|
105
111
|
onChange?.(!value);
|
|
106
112
|
if (hasCloseOnSelect) {
|
|
107
113
|
ctx?.closeMenu();
|
|
108
114
|
}
|
|
109
|
-
|
|
115
|
+
onClick?.(event);
|
|
116
|
+
}, [isDisabled, onChange, value, hasCloseOnSelect, ctx, onClick]);
|
|
110
117
|
const handlePointerMove = useCallback(e => focusMenuItemOnHover(e, isDisabled), [isDisabled]);
|
|
111
118
|
return /*#__PURE__*/_jsx(Item, {
|
|
112
119
|
...rest,
|
|
113
120
|
role: "menuitemcheckbox",
|
|
114
121
|
"aria-checked": value,
|
|
115
122
|
tabIndex: isDisabled ? undefined : -1,
|
|
116
|
-
onPointerMove: handlePointerMove,
|
|
123
|
+
onPointerMove: composeEventHandlers(handlePointerMove, onPointerMove),
|
|
117
124
|
marker:
|
|
118
125
|
/*#__PURE__*/
|
|
119
126
|
// No wrapper, and no menu-specific theme target: the shared
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file InputClearButton.tsx
|
|
3
|
-
* @input Uses React, Button, and
|
|
4
|
-
* @output Exports the public InputClearButton and an internal popup-aware variant
|
|
5
|
-
*
|
|
3
|
+
* @input Uses React, Button, Icon, and the i18n translator
|
|
4
|
+
* @output Exports the public InputClearButton and an internal popup-aware variant.
|
|
5
|
+
* Both show the localized generic "Clear" tooltip and keep the caller's
|
|
6
|
+
* contextual label as the accessible name.
|
|
6
7
|
* @position Shared primitive. Every input that renders a clear affordance —
|
|
7
8
|
* TextInput, NumberInput, TimeInput, DateInput, DateTimeInput,
|
|
8
9
|
* DateRangeInput, Selector, MultiSelector, Typeahead, Tokenizer, FileInput —
|
|
@@ -13,7 +14,10 @@
|
|
|
13
14
|
import type { ReactNode } from 'react';
|
|
14
15
|
import * as stylex from '@stylexjs/stylex';
|
|
15
16
|
export interface InputClearButtonProps {
|
|
16
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Contextual accessible name for the button, such as "Clear Search". The
|
|
19
|
+
* visible tooltip is always the localized generic "Clear".
|
|
20
|
+
*/
|
|
17
21
|
label: string;
|
|
18
22
|
onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
19
23
|
xstyle?: stylex.StyleXStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputClearButton.d.ts","sourceRoot":"","sources":["../../src/Field/InputClearButton.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"InputClearButton.d.ts","sourceRoot":"","sources":["../../src/Field/InputClearButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAmD3C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,6BAA8B,SAAQ,qBAAqB;IACnE,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CACtD;AAsDD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAMxE;yBANe,gBAAgB;;;AAQhC,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,6BAA6B,GACnC,SAAS,CAMX"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file InputClearButton.tsx
|
|
7
|
-
* @input Uses React, Button, and
|
|
8
|
-
* @output Exports the public InputClearButton and an internal popup-aware variant
|
|
9
|
-
*
|
|
7
|
+
* @input Uses React, Button, Icon, and the i18n translator
|
|
8
|
+
* @output Exports the public InputClearButton and an internal popup-aware variant.
|
|
9
|
+
* Both show the localized generic "Clear" tooltip and keep the caller's
|
|
10
|
+
* contextual label as the accessible name.
|
|
10
11
|
* @position Shared primitive. Every input that renders a clear affordance —
|
|
11
12
|
* TextInput, NumberInput, TimeInput, DateInput, DateTimeInput,
|
|
12
13
|
* DateRangeInput, Selector, MultiSelector, Typeahead, Tokenizer, FileInput —
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
import * as stylex from '@stylexjs/stylex';
|
|
18
19
|
import { Button } from "../Button/index.js";
|
|
19
20
|
import { Icon } from "../Icon/index.js";
|
|
21
|
+
import { useTranslator } from "../i18n/index.js";
|
|
20
22
|
import { themeProps } from "../utils/themeProps.js";
|
|
21
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
24
|
const styles = {
|
|
@@ -34,6 +36,7 @@ const styles = {
|
|
|
34
36
|
};
|
|
35
37
|
function renderInputClearButton({
|
|
36
38
|
label,
|
|
39
|
+
tooltip,
|
|
37
40
|
onClick,
|
|
38
41
|
onPointerDown,
|
|
39
42
|
onClickCapture,
|
|
@@ -49,8 +52,13 @@ function renderInputClearButton({
|
|
|
49
52
|
return /*#__PURE__*/_jsx(Button, {
|
|
50
53
|
variant: "ghost",
|
|
51
54
|
size: "sm",
|
|
52
|
-
label: label
|
|
53
|
-
|
|
55
|
+
label: label
|
|
56
|
+
// The field's label already sits beside the glyph, so the tooltip names
|
|
57
|
+
// only the action; repeating a long label reads as awkward copy. The
|
|
58
|
+
// contextual label stays the accessible name, which still contains
|
|
59
|
+
// the visible word (WCAG 2.5.3, label in name).
|
|
60
|
+
,
|
|
61
|
+
tooltip: tooltip,
|
|
54
62
|
className: buttonTargetClassName,
|
|
55
63
|
icon: /*#__PURE__*/_jsx(Icon, {
|
|
56
64
|
icon: "close",
|
|
@@ -70,11 +78,19 @@ function renderInputClearButton({
|
|
|
70
78
|
});
|
|
71
79
|
}
|
|
72
80
|
export function InputClearButton(props) {
|
|
73
|
-
|
|
81
|
+
const t = useTranslator();
|
|
82
|
+
return renderInputClearButton({
|
|
83
|
+
...props,
|
|
84
|
+
tooltip: t('@astryx.inputClearButton.tooltip')
|
|
85
|
+
});
|
|
74
86
|
}
|
|
75
87
|
|
|
76
88
|
/** Internal variant used while popup-aware clear behavior is rolled out. */
|
|
77
89
|
export function InternalInputClearButton(props) {
|
|
78
|
-
|
|
90
|
+
const t = useTranslator();
|
|
91
|
+
return renderInputClearButton({
|
|
92
|
+
...props,
|
|
93
|
+
tooltip: t('@astryx.inputClearButton.tooltip')
|
|
94
|
+
});
|
|
79
95
|
}
|
|
80
96
|
InputClearButton.displayName = 'InputClearButton';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.d.ts","sourceRoot":"","sources":["../../src/FormLayout/FormLayout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"FormLayout.d.ts","sourceRoot":"","sources":["../../src/FormLayout/FormLayout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AA2C7B,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,EAAE,eAAe,CAAC;CACtC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAsB,EACtB,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BA0BjB;yBAnCe,UAAU"}
|
package/dist/Grid/Grid.d.ts
CHANGED
|
@@ -21,7 +21,13 @@ export type GridAlignment = 'start' | 'center' | 'end' | 'stretch';
|
|
|
21
21
|
/**
|
|
22
22
|
* Column configuration for Grid.
|
|
23
23
|
*
|
|
24
|
-
*
|
|
24
|
+
* A number means exactly N equal columns at every width; it never reflows, so
|
|
25
|
+
* `columns={4}` on a phone renders four narrow tracks. For columns that reflow
|
|
26
|
+
* on small screens, use the object form: `{minWidth: 240, max: 4}` renders at
|
|
27
|
+
* most four columns, each at least 240px, and fewer when the container is
|
|
28
|
+
* narrower.
|
|
29
|
+
*
|
|
30
|
+
* - `number` — exactly N equal-width columns (e.g. `columns={3}`); never reflows
|
|
25
31
|
* - `object` — responsive columns based on minimum child width:
|
|
26
32
|
* - `minWidth` — minimum width (px) for each column track
|
|
27
33
|
* - `repeat` — `'fill'` (default) preserves empty tracks for consistent widths;
|
|
@@ -40,9 +46,12 @@ export interface GridProps extends BaseProps<HTMLDivElement> {
|
|
|
40
46
|
/** Ref forwarded to the root element */
|
|
41
47
|
ref?: React.Ref<HTMLDivElement>;
|
|
42
48
|
/**
|
|
43
|
-
* Column configuration.
|
|
44
|
-
*
|
|
45
|
-
*
|
|
49
|
+
* Column configuration. A number is exactly N equal columns and never
|
|
50
|
+
* reflows; for columns that reflow on small screens, use
|
|
51
|
+
* `{minWidth, max}`.
|
|
52
|
+
* - `number` — exactly N equal-width columns at every width
|
|
53
|
+
* - `{minWidth, max?, repeat?}` — responsive columns with a px floor and an
|
|
54
|
+
* optional cap
|
|
46
55
|
*
|
|
47
56
|
* @see GridColumns
|
|
48
57
|
*/
|
package/dist/Grid/Grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/Grid/Grid.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/Grid/Grid.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC1D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2ND;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,EACnB,OAAO,EACP,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,+BA6EX;yBA/Fe,IAAI"}
|
package/dist/Grid/Grid.js
CHANGED
|
@@ -26,7 +26,13 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
26
26
|
/**
|
|
27
27
|
* Column configuration for Grid.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* A number means exactly N equal columns at every width; it never reflows, so
|
|
30
|
+
* `columns={4}` on a phone renders four narrow tracks. For columns that reflow
|
|
31
|
+
* on small screens, use the object form: `{minWidth: 240, max: 4}` renders at
|
|
32
|
+
* most four columns, each at least 240px, and fewer when the container is
|
|
33
|
+
* narrower.
|
|
34
|
+
*
|
|
35
|
+
* - `number` — exactly N equal-width columns (e.g. `columns={3}`); never reflows
|
|
30
36
|
* - `object` — responsive columns based on minimum child width:
|
|
31
37
|
* - `minWidth` — minimum width (px) for each column track
|
|
32
38
|
* - `repeat` — `'fill'` (default) preserves empty tracks for consistent widths;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file useHoverCard.ts
|
|
3
3
|
* @input Uses useLayer, useTouchTrigger, React hooks
|
|
4
|
-
* @output Exports useHoverCard hook for hover/focus/tap
|
|
4
|
+
* @output Exports useHoverCard hook with stable trigger refs for hover/focus/tap layers
|
|
5
5
|
* @position Layer hook; builds on useLayer for hover card behavior
|
|
6
6
|
*
|
|
7
7
|
* SYNC: When modified, update:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AA6BlC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;;OAOG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,SAAS,EACnB,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAC5C,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AA6BlC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;;OAOG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,SAAS,EACnB,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAC5C,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAic5E"}
|