@navikt/ds-react 7.2.0 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/accordion/AccordionHeader.js +1 -1
- package/cjs/accordion/AccordionHeader.js.map +1 -1
- package/cjs/alert/Alert.d.ts +0 -3
- package/cjs/alert/Alert.js +11 -17
- package/cjs/alert/Alert.js.map +1 -1
- package/cjs/chips/Removable.d.ts +5 -5
- package/cjs/chips/Removable.js +4 -2
- package/cjs/chips/Removable.js.map +1 -1
- package/cjs/collapsible/Collapsible.context.d.ts +1 -1
- package/cjs/date/datepicker/DatePicker.d.ts +2 -2
- package/cjs/date/monthpicker/MonthPicker.d.ts +2 -2
- package/cjs/dropdown/Menu/index.js +1 -1
- package/cjs/dropdown/Menu/index.js.map +1 -1
- package/cjs/form/checkbox/useCheckbox.js +3 -2
- package/cjs/form/checkbox/useCheckbox.js.map +1 -1
- package/cjs/form/combobox/ComboboxProvider.js +4 -1
- package/cjs/form/combobox/ComboboxProvider.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +1 -1
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.d.ts +3 -0
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js +33 -10
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +23 -10
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/form/file-upload/FileUpload.context.d.ts +1 -1
- package/cjs/form/radio/useRadio.js +3 -2
- package/cjs/form/radio/useRadio.js.map +1 -1
- package/cjs/form/search/Search.js +1 -1
- package/cjs/form/search/Search.js.map +1 -1
- package/cjs/form/switch/Switch.js +2 -1
- package/cjs/form/switch/Switch.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +4 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/base/BasePrimitive.d.ts +3 -0
- package/cjs/layout/base/BasePrimitive.js.map +1 -1
- package/cjs/layout/box/Box.d.ts +2 -2
- package/cjs/layout/box/Box.js.map +1 -1
- package/cjs/layout/grid/HGrid.d.ts +2 -2
- package/cjs/layout/grid/HGrid.js.map +1 -1
- package/cjs/layout/stack/Stack.d.ts +2 -2
- package/cjs/layout/stack/Stack.js.map +1 -1
- package/cjs/modal/ModalHeader.js +6 -1
- package/cjs/modal/ModalHeader.js.map +1 -1
- package/cjs/modal/dialog-polyfill.js +2 -2
- package/cjs/modal/dialog-polyfill.js.map +1 -1
- package/cjs/overlays/action-menu/ActionMenu.d.ts +310 -0
- package/cjs/overlays/action-menu/ActionMenu.js +227 -0
- package/cjs/overlays/action-menu/ActionMenu.js.map +1 -0
- package/cjs/overlays/action-menu/index.d.ts +1 -0
- package/cjs/overlays/action-menu/index.js +19 -0
- package/cjs/overlays/action-menu/index.js.map +1 -0
- package/cjs/overlays/floating/Floating.js +9 -10
- package/cjs/overlays/floating/Floating.js.map +1 -1
- package/cjs/overlays/floating/Floating.utils.d.ts +3 -5
- package/cjs/overlays/floating/Floating.utils.js +0 -2
- package/cjs/overlays/floating/Floating.utils.js.map +1 -1
- package/cjs/overlays/floating-menu/Menu.d.ts +15 -21
- package/cjs/overlays/floating-menu/Menu.js +119 -230
- package/cjs/overlays/floating-menu/Menu.js.map +1 -1
- package/cjs/overlays/floating-menu/parts/RovingFocus.d.ts +1 -1
- package/cjs/overlays/floating-menu/parts/RovingFocus.js +4 -4
- package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
- package/cjs/pagination/Pagination.d.ts +1 -6
- package/cjs/pagination/Pagination.js.map +1 -1
- package/cjs/provider/i18n/LanguageProvider.d.ts +3 -3
- package/cjs/stepper/context.d.ts +1 -1
- package/cjs/table/Body.d.ts +2 -4
- package/cjs/table/Body.js.map +1 -1
- package/cjs/table/ColumnHeader.d.ts +1 -2
- package/cjs/table/ColumnHeader.js.map +1 -1
- package/cjs/table/ExpandableRow.d.ts +1 -2
- package/cjs/table/ExpandableRow.js.map +1 -1
- package/cjs/table/Header.d.ts +2 -4
- package/cjs/table/Header.js.map +1 -1
- package/cjs/table/HeaderCell.d.ts +1 -2
- package/cjs/table/HeaderCell.js.map +1 -1
- package/cjs/table/Row.d.ts +1 -2
- package/cjs/table/Row.js.map +1 -1
- package/cjs/tabs/Tabs.context.d.ts +1 -1
- package/cjs/tabs/parts/tablist/useScrollButtons.js +1 -1
- package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
- package/cjs/tabs/parts/tablist/useTabList.js +4 -4
- package/cjs/tabs/parts/tablist/useTabList.js.map +1 -1
- package/cjs/timeline/TimelineRow.js +9 -10
- package/cjs/timeline/TimelineRow.js.map +1 -1
- package/cjs/toggle-group/ToggleGroup.context.d.ts +1 -1
- package/cjs/toggle-group/parts/useToggleItem.js +4 -4
- package/cjs/toggle-group/parts/useToggleItem.js.map +1 -1
- package/cjs/util/TextareaAutoSize.js +2 -2
- package/cjs/util/TextareaAutoSize.js.map +1 -1
- package/cjs/util/hooks/descendants/descendant.js +1 -1
- package/cjs/util/hooks/descendants/descendant.js.map +1 -1
- package/cjs/util/hooks/descendants/useDescendant.js +1 -1
- package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
- package/cjs/util/i18n/get.d.ts +2 -2
- package/cjs/util/i18n/get.js.map +1 -1
- package/cjs/util/i18n/i18n.context.d.ts +2 -3
- package/cjs/util/i18n/i18n.context.js.map +1 -1
- package/cjs/util/i18n/i18n.types.d.ts +5 -9
- package/cjs/util/i18n/locales/en.d.ts +39 -0
- package/cjs/util/i18n/locales/en.js +41 -0
- package/cjs/util/i18n/locales/en.js.map +1 -0
- package/cjs/util/i18n/locales/nb.d.ts +14 -0
- package/cjs/util/i18n/locales/nb.js +14 -0
- package/cjs/util/i18n/locales/nb.js.map +1 -1
- package/cjs/util/i18n/locales/nn.d.ts +39 -0
- package/cjs/util/i18n/locales/nn.js +41 -0
- package/cjs/util/i18n/locales/nn.js.map +1 -0
- package/cjs/util/requireReactElement.d.ts +2 -0
- package/cjs/util/requireReactElement.js +22 -0
- package/cjs/util/requireReactElement.js.map +1 -0
- package/cjs/util/virtualfocus/Context.d.ts +1 -1
- package/cjs/util/virtualfocus/parts/VirtualFocusContent.d.ts +1 -2
- package/cjs/util/virtualfocus/parts/VirtualFocusContent.js.map +1 -1
- package/esm/accordion/AccordionHeader.js +1 -1
- package/esm/accordion/AccordionHeader.js.map +1 -1
- package/esm/alert/Alert.d.ts +0 -3
- package/esm/alert/Alert.js +11 -17
- package/esm/alert/Alert.js.map +1 -1
- package/esm/chips/Removable.d.ts +5 -5
- package/esm/chips/Removable.js +4 -2
- package/esm/chips/Removable.js.map +1 -1
- package/esm/collapsible/Collapsible.context.d.ts +1 -1
- package/esm/date/datepicker/DatePicker.d.ts +2 -2
- package/esm/date/monthpicker/MonthPicker.d.ts +2 -2
- package/esm/dropdown/Menu/index.js +1 -1
- package/esm/dropdown/Menu/index.js.map +1 -1
- package/esm/form/checkbox/useCheckbox.js +3 -2
- package/esm/form/checkbox/useCheckbox.js.map +1 -1
- package/esm/form/combobox/ComboboxProvider.js +4 -1
- package/esm/form/combobox/ComboboxProvider.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +1 -1
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.d.ts +3 -0
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js +34 -11
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +23 -10
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/form/file-upload/FileUpload.context.d.ts +1 -1
- package/esm/form/radio/useRadio.js +3 -2
- package/esm/form/radio/useRadio.js.map +1 -1
- package/esm/form/search/Search.js +1 -1
- package/esm/form/search/Search.js.map +1 -1
- package/esm/form/switch/Switch.js +2 -1
- package/esm/form/switch/Switch.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/layout/base/BasePrimitive.d.ts +3 -0
- package/esm/layout/base/BasePrimitive.js.map +1 -1
- package/esm/layout/box/Box.d.ts +2 -2
- package/esm/layout/box/Box.js.map +1 -1
- package/esm/layout/grid/HGrid.d.ts +2 -2
- package/esm/layout/grid/HGrid.js.map +1 -1
- package/esm/layout/stack/Stack.d.ts +2 -2
- package/esm/layout/stack/Stack.js.map +1 -1
- package/esm/modal/ModalHeader.js +6 -1
- package/esm/modal/ModalHeader.js.map +1 -1
- package/esm/modal/dialog-polyfill.js +2 -2
- package/esm/modal/dialog-polyfill.js.map +1 -1
- package/esm/overlays/action-menu/ActionMenu.d.ts +310 -0
- package/esm/overlays/action-menu/ActionMenu.js +197 -0
- package/esm/overlays/action-menu/ActionMenu.js.map +1 -0
- package/esm/overlays/action-menu/index.d.ts +1 -0
- package/esm/overlays/action-menu/index.js +3 -0
- package/esm/overlays/action-menu/index.js.map +1 -0
- package/esm/overlays/floating/Floating.js +9 -10
- package/esm/overlays/floating/Floating.js.map +1 -1
- package/esm/overlays/floating/Floating.utils.d.ts +3 -5
- package/esm/overlays/floating/Floating.utils.js +0 -2
- package/esm/overlays/floating/Floating.utils.js.map +1 -1
- package/esm/overlays/floating-menu/Menu.d.ts +15 -21
- package/esm/overlays/floating-menu/Menu.js +119 -230
- package/esm/overlays/floating-menu/Menu.js.map +1 -1
- package/esm/overlays/floating-menu/parts/RovingFocus.d.ts +1 -1
- package/esm/overlays/floating-menu/parts/RovingFocus.js +4 -4
- package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
- package/esm/pagination/Pagination.d.ts +1 -6
- package/esm/pagination/Pagination.js.map +1 -1
- package/esm/provider/i18n/LanguageProvider.d.ts +3 -3
- package/esm/stepper/context.d.ts +1 -1
- package/esm/table/Body.d.ts +2 -4
- package/esm/table/Body.js.map +1 -1
- package/esm/table/ColumnHeader.d.ts +1 -2
- package/esm/table/ColumnHeader.js.map +1 -1
- package/esm/table/ExpandableRow.d.ts +1 -2
- package/esm/table/ExpandableRow.js.map +1 -1
- package/esm/table/Header.d.ts +2 -4
- package/esm/table/Header.js.map +1 -1
- package/esm/table/HeaderCell.d.ts +1 -2
- package/esm/table/HeaderCell.js.map +1 -1
- package/esm/table/Row.d.ts +1 -2
- package/esm/table/Row.js.map +1 -1
- package/esm/tabs/Tabs.context.d.ts +1 -1
- package/esm/tabs/parts/tablist/useScrollButtons.js +1 -1
- package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -1
- package/esm/tabs/parts/tablist/useTabList.js +4 -4
- package/esm/tabs/parts/tablist/useTabList.js.map +1 -1
- package/esm/timeline/TimelineRow.js +9 -10
- package/esm/timeline/TimelineRow.js.map +1 -1
- package/esm/toggle-group/ToggleGroup.context.d.ts +1 -1
- package/esm/toggle-group/parts/useToggleItem.js +4 -4
- package/esm/toggle-group/parts/useToggleItem.js.map +1 -1
- package/esm/util/TextareaAutoSize.js +2 -2
- package/esm/util/TextareaAutoSize.js.map +1 -1
- package/esm/util/hooks/descendants/descendant.js +1 -1
- package/esm/util/hooks/descendants/descendant.js.map +1 -1
- package/esm/util/hooks/descendants/useDescendant.js +1 -1
- package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
- package/esm/util/i18n/get.d.ts +2 -2
- package/esm/util/i18n/get.js.map +1 -1
- package/esm/util/i18n/i18n.context.d.ts +2 -3
- package/esm/util/i18n/i18n.context.js.map +1 -1
- package/esm/util/i18n/i18n.types.d.ts +5 -9
- package/esm/util/i18n/locales/en.d.ts +39 -0
- package/esm/util/i18n/locales/en.js +39 -0
- package/esm/util/i18n/locales/en.js.map +1 -0
- package/esm/util/i18n/locales/nb.d.ts +14 -0
- package/esm/util/i18n/locales/nb.js +14 -0
- package/esm/util/i18n/locales/nb.js.map +1 -1
- package/esm/util/i18n/locales/nn.d.ts +39 -0
- package/esm/util/i18n/locales/nn.js +39 -0
- package/esm/util/i18n/locales/nn.js.map +1 -0
- package/esm/util/requireReactElement.d.ts +2 -0
- package/esm/util/requireReactElement.js +15 -0
- package/esm/util/requireReactElement.js.map +1 -0
- package/esm/util/virtualfocus/Context.d.ts +1 -1
- package/esm/util/virtualfocus/parts/VirtualFocusContent.d.ts +1 -2
- package/esm/util/virtualfocus/parts/VirtualFocusContent.js.map +1 -1
- package/package.json +15 -7
- package/src/accordion/AccordionHeader.tsx +0 -1
- package/src/alert/Alert.tsx +11 -20
- package/src/chips/Removable.tsx +13 -9
- package/src/date/datepicker/DatePicker.tsx +2 -2
- package/src/date/monthpicker/MonthPicker.tsx +2 -2
- package/src/dropdown/Menu/index.tsx +1 -1
- package/src/form/checkbox/Checkbox.test.tsx +2 -3
- package/src/form/checkbox/useCheckbox.ts +2 -2
- package/src/form/combobox/ComboboxProvider.tsx +9 -1
- package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +1 -1
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +42 -11
- package/src/form/combobox/Input/Input.tsx +19 -10
- package/src/form/combobox/__tests__/combobox.test.tsx +36 -0
- package/src/form/confirmation-panel/ConfirmationPanel.test.tsx +1 -2
- package/src/form/radio/Radio.test.tsx +4 -5
- package/src/form/radio/useRadio.ts +2 -2
- package/src/form/search/Search.tsx +1 -1
- package/src/form/switch/Switch.tsx +1 -1
- package/src/index.ts +1 -0
- package/src/layout/base/BasePrimitive.tsx +3 -0
- package/src/layout/box/Box.tsx +35 -36
- package/src/layout/grid/HGrid.tsx +26 -27
- package/src/layout/stack/Stack.tsx +53 -54
- package/src/modal/ModalHeader.tsx +6 -0
- package/src/modal/dialog-polyfill.ts +2 -2
- package/src/overlays/action-menu/ActionMenu.tsx +971 -0
- package/src/overlays/action-menu/index.ts +29 -0
- package/src/overlays/floating/Floating.tsx +6 -12
- package/src/overlays/floating/Floating.utils.ts +2 -5
- package/src/overlays/floating-menu/Menu.tsx +183 -332
- package/src/overlays/floating-menu/parts/RovingFocus.tsx +7 -7
- package/src/pagination/Pagination.tsx +4 -1
- package/src/pagination/steps.test.ts +15 -16
- package/src/provider/i18n/LanguageProvider.tsx +3 -3
- package/src/table/Body.tsx +4 -6
- package/src/table/ColumnHeader.tsx +3 -4
- package/src/table/ExpandableRow.tsx +3 -4
- package/src/table/Header.tsx +4 -6
- package/src/table/HeaderCell.tsx +3 -4
- package/src/table/Row.tsx +3 -4
- package/src/tabs/parts/tablist/useScrollButtons.ts +1 -1
- package/src/tabs/parts/tablist/useTabList.ts +4 -4
- package/src/timeline/TimelineRow.tsx +20 -21
- package/src/toggle-group/parts/useToggleItem.ts +4 -4
- package/src/util/TextareaAutoSize.tsx +2 -2
- package/src/util/hooks/descendants/descendant.ts +1 -1
- package/src/util/hooks/descendants/useDescendant.tsx +1 -1
- package/src/util/i18n/get.ts +3 -3
- package/src/util/i18n/i18n.context.ts +2 -3
- package/src/util/i18n/i18n.types.ts +7 -11
- package/src/util/i18n/locales/en.ts +40 -0
- package/src/util/i18n/locales/nb.ts +23 -1
- package/src/util/i18n/locales/nn.ts +40 -0
- package/src/util/i18n/locales.test.tsx +23 -0
- package/src/util/requireReactElement.ts +25 -0
- package/src/util/virtualfocus/parts/VirtualFocusContent.tsx +4 -2
- package/cjs/util/i18n/merge.d.ts +0 -2
- package/cjs/util/i18n/merge.js +0 -28
- package/cjs/util/i18n/merge.js.map +0 -1
- package/esm/util/i18n/merge.d.ts +0 -2
- package/esm/util/i18n/merge.js +0 -25
- package/esm/util/i18n/merge.js.map +0 -1
- package/src/util/i18n/merge.ts +0 -35
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { OverridableComponent } from "../../util/index.js";
|
|
3
|
+
import { Menu, MenuPortalProps } from "../floating-menu/Menu.js";
|
|
4
|
+
type ActionMenuProps = {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Whether the menu is open or not.
|
|
8
|
+
* Only needed if you want manually control state.
|
|
9
|
+
*/
|
|
10
|
+
open?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Callback for when the menu is opened or closed.
|
|
13
|
+
*/
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
} & Pick<MenuPortalProps, "rootElement">;
|
|
16
|
+
interface ActionMenuComponent extends React.FC<ActionMenuProps> {
|
|
17
|
+
/**
|
|
18
|
+
* Acts as a trigger and anchor for the menu.
|
|
19
|
+
* Must be wrapped around a button. If you use your own component, make sure to forward ref and props.
|
|
20
|
+
* @example
|
|
21
|
+
* ```jsx
|
|
22
|
+
* <ActionMenu.Trigger>
|
|
23
|
+
* <button>Open Menu</button>
|
|
24
|
+
* </ActionMenu.Trigger>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
Trigger: typeof ActionMenuTrigger;
|
|
28
|
+
/**
|
|
29
|
+
* The menu content, containing all the items.
|
|
30
|
+
* @example
|
|
31
|
+
* ```jsx
|
|
32
|
+
* <ActionMenu.Content>
|
|
33
|
+
* <ActionMenu.Item>
|
|
34
|
+
* Item 1
|
|
35
|
+
* </ActionMenu.Item>
|
|
36
|
+
* <ActionMenu.Item>
|
|
37
|
+
* Item 2
|
|
38
|
+
* </ActionMenu.Item>
|
|
39
|
+
* </ActionMenu.Content>
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
Content: typeof ActionMenuContent;
|
|
43
|
+
/**
|
|
44
|
+
* Semantically and visually groups items together with a label.
|
|
45
|
+
* This is the prefered way to group items, as it provides better accessibility
|
|
46
|
+
* rather than using a standalone `ActionMenu.Label`.
|
|
47
|
+
*
|
|
48
|
+
* It is required to use either `label` or `aria-label` to provide an accessible name for the group.
|
|
49
|
+
* @example
|
|
50
|
+
* ```jsx
|
|
51
|
+
* <ActionMenu.Content>
|
|
52
|
+
* <ActionMenu.Group label="Group 1">
|
|
53
|
+
* <ActionMenu.Item>
|
|
54
|
+
* Item 1
|
|
55
|
+
* </ActionMenu.Item>
|
|
56
|
+
* <ActionMenu.Item>
|
|
57
|
+
* Item 2
|
|
58
|
+
* </ActionMenu.Item>
|
|
59
|
+
* </ActionMenu.Group>
|
|
60
|
+
* <ActionMenu.Group label="Group 2">
|
|
61
|
+
* <ActionMenu.Item>
|
|
62
|
+
* Item 3
|
|
63
|
+
* </ActionMenu.Item>
|
|
64
|
+
* <ActionMenu.Item>
|
|
65
|
+
* Item 4
|
|
66
|
+
* </ActionMenu.Item>
|
|
67
|
+
* </ActionMenu.Group>
|
|
68
|
+
* </ActionMenu.Content>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
Group: typeof ActionMenuGroup;
|
|
72
|
+
/**
|
|
73
|
+
* Separate labeling option for the menu.
|
|
74
|
+
* This is not for grouping items, but rather for adding a label to the menu at the top. For grouping items, use `ActionMenu.Group`.
|
|
75
|
+
* @example
|
|
76
|
+
* ```jsx
|
|
77
|
+
* <ActionMenu.Content>
|
|
78
|
+
* <ActionMenu.Label>
|
|
79
|
+
* Label
|
|
80
|
+
* </ActionMenu.Label>
|
|
81
|
+
* <ActionMenu.Divider />
|
|
82
|
+
* </ActionMenu.Content
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
Label: typeof ActionMenuLabel;
|
|
86
|
+
/**
|
|
87
|
+
* A single item in the menu. Can be used standalone or grouped with other items.
|
|
88
|
+
* Use `onSelect` to handle the action when the item is selected, like navigating to a new page or performing an action.
|
|
89
|
+
* @example
|
|
90
|
+
* ```jsx
|
|
91
|
+
* <ActionMenu.Content>
|
|
92
|
+
* // Grouped
|
|
93
|
+
* <ActionMenu.Group label="Group 1">
|
|
94
|
+
* <ActionMenu.Item onSelect={navigate}>
|
|
95
|
+
* Item 1
|
|
96
|
+
* </ActionMenu.Item>
|
|
97
|
+
* <ActionMenu.Item onSelect={navigate}>
|
|
98
|
+
* Item 2
|
|
99
|
+
* </ActionMenu.Item>
|
|
100
|
+
* </ActionMenu.Group>
|
|
101
|
+
* <ActionMenu.Divider />
|
|
102
|
+
* // Standalone
|
|
103
|
+
* <ActionMenu.Item onSelect={updateState}>
|
|
104
|
+
* Item 3
|
|
105
|
+
* </ActionMenu.Item>
|
|
106
|
+
* </ActionMenu.Content>
|
|
107
|
+
* ```
|
|
108
|
+
* @example As link
|
|
109
|
+
* ```jsx
|
|
110
|
+
* <ActionMenu.Item as="a" href="#">
|
|
111
|
+
* Item
|
|
112
|
+
* </ActionMenu.Item>
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
Item: typeof ActionMenuItem;
|
|
116
|
+
/**
|
|
117
|
+
* A checkbox item in the menu. Can be used standalone or grouped with other items.
|
|
118
|
+
* @example
|
|
119
|
+
* ```jsx
|
|
120
|
+
* <ActionMenu.CheckboxItem
|
|
121
|
+
* checked={isChecked}
|
|
122
|
+
* onCheckedChange={handleChange}
|
|
123
|
+
* >
|
|
124
|
+
* Checkbox 1
|
|
125
|
+
* </ActionMenu.CheckboxItem>
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
CheckboxItem: typeof ActionMenuCheckboxItem;
|
|
129
|
+
/**
|
|
130
|
+
* A radio group in the menu.
|
|
131
|
+
*
|
|
132
|
+
* It is required to use either `label` or `aria-label` to provide an accessible name for the group.
|
|
133
|
+
* @example
|
|
134
|
+
* ```jsx
|
|
135
|
+
* <ActionMenu.RadioGroup
|
|
136
|
+
* onValueChange={handleValueChange}
|
|
137
|
+
* value={radioValue}
|
|
138
|
+
* label="Radio group"
|
|
139
|
+
* >
|
|
140
|
+
* <ActionMenu.RadioItem value="1">Radio 1</ActionMenu.RadioItem>
|
|
141
|
+
* <ActionMenu.RadioItem value="2">Radio 2</ActionMenu.RadioItem>
|
|
142
|
+
* </ActionMenu.RadioGroup>
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
RadioGroup: typeof ActionMenuRadioGroup;
|
|
146
|
+
/**
|
|
147
|
+
* A radio item in the menu. Should always be grouped with an `ActionMenu.RadioGroup`.
|
|
148
|
+
* @example
|
|
149
|
+
* ```jsx
|
|
150
|
+
* <ActionMenu.RadioGroup
|
|
151
|
+
* onValueChange={handleValueChange}
|
|
152
|
+
* value={radioValue}
|
|
153
|
+
* label="Radio group"
|
|
154
|
+
* >
|
|
155
|
+
* <ActionMenu.RadioItem value="1">Radio 1</ActionMenu.RadioItem>
|
|
156
|
+
* <ActionMenu.RadioItem value="2">Radio 2</ActionMenu.RadioItem>
|
|
157
|
+
* </ActionMenu.RadioGroup>
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
RadioItem: typeof ActionMenuRadioItem;
|
|
161
|
+
/**
|
|
162
|
+
* A simple divider to separate items in the menu.
|
|
163
|
+
*/
|
|
164
|
+
Divider: typeof ActionMenuDivider;
|
|
165
|
+
/**
|
|
166
|
+
* A sub-menu that can be nested inside the menu.
|
|
167
|
+
* The sub-menu can be nested inside other sub-menus allowing for multiple levels of nesting.
|
|
168
|
+
* @example
|
|
169
|
+
* ```jsx
|
|
170
|
+
* <ActionMenu.Sub>
|
|
171
|
+
* <ActionMenu.SubTrigger>Submenu 1</ActionMenu.SubTrigger>
|
|
172
|
+
* <ActionMenu.SubContent>
|
|
173
|
+
* <ActionMenu.Item>
|
|
174
|
+
* Subitem 1
|
|
175
|
+
* </ActionMenu.Item>
|
|
176
|
+
* <ActionMenu.Item>
|
|
177
|
+
* Subitem 2
|
|
178
|
+
* </ActionMenu.Item>
|
|
179
|
+
* </ActionMenu.SubContent>
|
|
180
|
+
* </ActionMenu.Sub>
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
Sub: typeof ActionMenuSub;
|
|
184
|
+
/**
|
|
185
|
+
* Acts as a trigger for a sub-menu.
|
|
186
|
+
* In contrast to `ActionMenu.Trigger`, this trigger is a standalone component and should not be wrapped around a React.ReactNode.
|
|
187
|
+
* @example
|
|
188
|
+
* ```jsx
|
|
189
|
+
* <ActionMenu.Sub>
|
|
190
|
+
* <ActionMenu.SubTrigger>Submenu 1</ActionMenu.SubTrigger>
|
|
191
|
+
* </ActionMenu.Sub>
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
SubTrigger: typeof ActionMenuSubTrigger;
|
|
195
|
+
/**
|
|
196
|
+
* The content of a sub-menu.
|
|
197
|
+
* @example
|
|
198
|
+
* ```jsx
|
|
199
|
+
* <ActionMenu.Sub>
|
|
200
|
+
* <ActionMenu.SubContent>
|
|
201
|
+
* <ActionMenu.Item>
|
|
202
|
+
* Subitem 1
|
|
203
|
+
* </ActionMenu.Item>
|
|
204
|
+
* <ActionMenu.Item>
|
|
205
|
+
* Subitem 2
|
|
206
|
+
* </ActionMenu.Item>
|
|
207
|
+
* </ActionMenu.SubContent>
|
|
208
|
+
* </ActionMenu.Sub>
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
SubContent: typeof ActionMenuSubContent;
|
|
212
|
+
}
|
|
213
|
+
export declare const ActionMenu: ActionMenuComponent;
|
|
214
|
+
interface ActionMenuTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
215
|
+
children: React.ReactElement;
|
|
216
|
+
}
|
|
217
|
+
export declare const ActionMenuTrigger: React.ForwardRefExoticComponent<ActionMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
218
|
+
interface ActionMenuContentProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "id"> {
|
|
219
|
+
children?: React.ReactNode;
|
|
220
|
+
}
|
|
221
|
+
export declare const ActionMenuContent: React.ForwardRefExoticComponent<ActionMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
222
|
+
interface ActionMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
223
|
+
children: React.ReactNode;
|
|
224
|
+
}
|
|
225
|
+
export declare const ActionMenuLabel: React.ForwardRefExoticComponent<ActionMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
|
|
226
|
+
type MenuGroupProps = React.ComponentPropsWithoutRef<typeof Menu.Group>;
|
|
227
|
+
type ActionMenuGroupLabelingProps = {
|
|
228
|
+
/**
|
|
229
|
+
* Adds a visual and accessible label to the group.
|
|
230
|
+
*/
|
|
231
|
+
label: string;
|
|
232
|
+
/**
|
|
233
|
+
* Adds an aria-label to the group.
|
|
234
|
+
*/
|
|
235
|
+
"aria-label"?: never;
|
|
236
|
+
} | {
|
|
237
|
+
/**
|
|
238
|
+
* Adds an aria-label to the group.
|
|
239
|
+
*/
|
|
240
|
+
"aria-label": string;
|
|
241
|
+
/**
|
|
242
|
+
* Adds a visual and accessible label to the group.
|
|
243
|
+
*/
|
|
244
|
+
label?: never;
|
|
245
|
+
};
|
|
246
|
+
type ActionMenuGroupProps = Omit<MenuGroupProps, "asChild"> & ActionMenuGroupLabelingProps;
|
|
247
|
+
export declare const ActionMenuGroup: React.ForwardRefExoticComponent<ActionMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
248
|
+
type ActionMenuItemElement = React.ElementRef<typeof Menu.Item>;
|
|
249
|
+
type MenuItemProps = React.ComponentPropsWithoutRef<typeof Menu.Item>;
|
|
250
|
+
interface ActionMenuItemProps extends Omit<MenuItemProps, "asChild"> {
|
|
251
|
+
/**
|
|
252
|
+
* Shows connected shortcut-keys for the item.
|
|
253
|
+
* This is only a visual representation, you will have to implement the actual shortcut yourself.
|
|
254
|
+
*/
|
|
255
|
+
shortcut?: string;
|
|
256
|
+
/**
|
|
257
|
+
* Styles the item as a destructive action.
|
|
258
|
+
*/
|
|
259
|
+
variant?: "danger";
|
|
260
|
+
/**
|
|
261
|
+
* Adds an icon on the left side. The icon will always have aria-hidden.
|
|
262
|
+
*/
|
|
263
|
+
icon?: React.ReactNode;
|
|
264
|
+
}
|
|
265
|
+
export declare const ActionMenuItem: OverridableComponent<ActionMenuItemProps, ActionMenuItemElement>;
|
|
266
|
+
type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof Menu.CheckboxItem>;
|
|
267
|
+
interface ActionMenuCheckboxItemProps extends Omit<MenuCheckboxItemProps, "asChild"> {
|
|
268
|
+
children: React.ReactNode;
|
|
269
|
+
/**
|
|
270
|
+
* Shows connected shortcut-keys for the item.
|
|
271
|
+
* This is only a visual representation, you will have to implement the actual shortcut yourself.
|
|
272
|
+
*/
|
|
273
|
+
shortcut?: string;
|
|
274
|
+
}
|
|
275
|
+
export declare const ActionMenuCheckboxItem: React.ForwardRefExoticComponent<ActionMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
276
|
+
type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof Menu.RadioGroup>;
|
|
277
|
+
type ActionMenuRadioGroupProps = ActionMenuGroupLabelingProps & Omit<MenuRadioGroupProps, "asChild"> & {
|
|
278
|
+
children: React.ReactNode;
|
|
279
|
+
};
|
|
280
|
+
export declare const ActionMenuRadioGroup: React.ForwardRefExoticComponent<ActionMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
281
|
+
type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof Menu.RadioItem>;
|
|
282
|
+
interface ActionMenuRadioItemProps extends Omit<MenuRadioItemProps, "asChild"> {
|
|
283
|
+
children: React.ReactNode;
|
|
284
|
+
}
|
|
285
|
+
export declare const ActionMenuRadioItem: React.ForwardRefExoticComponent<ActionMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
286
|
+
type MenuDividerProps = React.ComponentPropsWithoutRef<typeof Menu.Divider>;
|
|
287
|
+
type ActionMenuDividerProps = Omit<MenuDividerProps, "asChild">;
|
|
288
|
+
export declare const ActionMenuDivider: React.ForwardRefExoticComponent<ActionMenuDividerProps & React.RefAttributes<HTMLDivElement>>;
|
|
289
|
+
interface ActionMenuSubProps {
|
|
290
|
+
children?: React.ReactNode;
|
|
291
|
+
/**
|
|
292
|
+
* Whether the sub-menu is open or not. Only needed if you want to manually control state.
|
|
293
|
+
*/
|
|
294
|
+
open?: boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Callback for when the sub-menu is opened or closed.
|
|
297
|
+
*/
|
|
298
|
+
onOpenChange?: (open: boolean) => void;
|
|
299
|
+
}
|
|
300
|
+
export declare const ActionMenuSub: (props: ActionMenuSubProps) => React.JSX.Element;
|
|
301
|
+
type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof Menu.SubTrigger>;
|
|
302
|
+
interface ActionMenuSubTriggerProps extends Omit<MenuSubTriggerProps, "asChild"> {
|
|
303
|
+
icon?: React.ReactNode;
|
|
304
|
+
}
|
|
305
|
+
export declare const ActionMenuSubTrigger: React.ForwardRefExoticComponent<ActionMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
|
|
306
|
+
interface ActionMenuSubContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
307
|
+
children: React.ReactNode;
|
|
308
|
+
}
|
|
309
|
+
export declare const ActionMenuSubContent: React.ForwardRefExoticComponent<ActionMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
310
|
+
export type { ActionMenuItemProps, ActionMenuCheckboxItemProps, ActionMenuContentProps, ActionMenuDividerProps, ActionMenuGroupProps, ActionMenuLabelProps, ActionMenuProps, ActionMenuRadioGroupProps, ActionMenuRadioItemProps, ActionMenuSubContentProps, ActionMenuSubProps, ActionMenuSubTriggerProps, ActionMenuTriggerProps, };
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import cl from "clsx";
|
|
13
|
+
import React, { forwardRef, useRef } from "react";
|
|
14
|
+
import { ChevronRightIcon } from "@navikt/aksel-icons";
|
|
15
|
+
import { useModalContext } from "../../modal/Modal.context.js";
|
|
16
|
+
import { Slot } from "../../slot/Slot.js";
|
|
17
|
+
import { useId } from "../../util/index.js";
|
|
18
|
+
import { composeEventHandlers } from "../../util/composeEventHandlers.js";
|
|
19
|
+
import { createContext } from "../../util/create-context.js";
|
|
20
|
+
import { useMergeRefs } from "../../util/hooks/index.js";
|
|
21
|
+
import { useControllableState } from "../../util/hooks/useControllableState.js";
|
|
22
|
+
import { requireReactElement } from "../../util/requireReactElement.js";
|
|
23
|
+
import { Menu } from "../floating-menu/Menu.js";
|
|
24
|
+
const [ActionMenuProvider, useActionMenuContext] = createContext({
|
|
25
|
+
name: "ActionMenuContext",
|
|
26
|
+
errorMessage: "ActionMenu sub-components cannot be rendered outside the ActionMenu component.",
|
|
27
|
+
});
|
|
28
|
+
const ActionMenuRoot = ({ children, open: openProp, onOpenChange, rootElement: rootElementProp, }) => {
|
|
29
|
+
const triggerRef = useRef(null);
|
|
30
|
+
const modalContext = useModalContext(false);
|
|
31
|
+
const rootElement = modalContext ? modalContext.ref.current : rootElementProp;
|
|
32
|
+
const [open = false, setOpen] = useControllableState({
|
|
33
|
+
value: openProp,
|
|
34
|
+
defaultValue: false,
|
|
35
|
+
onChange: onOpenChange,
|
|
36
|
+
});
|
|
37
|
+
return (React.createElement(ActionMenuProvider, { triggerId: useId(), triggerRef: triggerRef, contentId: useId(), open: open, onOpenChange: setOpen, onOpenToggle: () => setOpen((prevOpen) => !prevOpen), rootElement: rootElement },
|
|
38
|
+
React.createElement(Menu, { open: open, onOpenChange: setOpen, modal: true }, children)));
|
|
39
|
+
};
|
|
40
|
+
export const ActionMenu = ActionMenuRoot;
|
|
41
|
+
export const ActionMenuTrigger = forwardRef((_a, ref) => {
|
|
42
|
+
var { children, onKeyDown, style, onClick } = _a, rest = __rest(_a, ["children", "onKeyDown", "style", "onClick"]);
|
|
43
|
+
const context = useActionMenuContext();
|
|
44
|
+
const mergedRefs = useMergeRefs(ref, context.triggerRef);
|
|
45
|
+
return (React.createElement(Menu.Anchor, { asChild: true },
|
|
46
|
+
React.createElement(Slot, Object.assign({ type: "button", id: context.triggerId, "aria-haspopup": "menu", "aria-expanded": context.open, "aria-controls": context.open ? context.contentId : undefined, "data-state": context.open ? "open" : "closed", ref: mergedRefs }, rest, { style: Object.assign(Object.assign({}, style), { pointerEvents: context.open ? "auto" : undefined }), onClick: composeEventHandlers(onClick, context.onOpenToggle), onKeyDown: composeEventHandlers(onKeyDown, (event) => {
|
|
47
|
+
if (event.key === "ArrowDown") {
|
|
48
|
+
context.onOpenChange(true);
|
|
49
|
+
/* Stop keydown from scrolling window */
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
}
|
|
52
|
+
}) }), requireReactElement(children))));
|
|
53
|
+
});
|
|
54
|
+
export const ActionMenuContent = forwardRef((_a, ref) => {
|
|
55
|
+
var { children, className, style } = _a, rest = __rest(_a, ["children", "className", "style"]);
|
|
56
|
+
const context = useActionMenuContext();
|
|
57
|
+
return (React.createElement(Menu.Portal, { rootElement: context.rootElement, asChild: true },
|
|
58
|
+
React.createElement(Menu.Content, Object.assign({ ref: ref, id: context.contentId, "aria-labelledby": context.triggerId, className: cl("navds-action-menu__content", className) }, rest, { align: "start", sideOffset: 4, collisionPadding: 10, onCloseAutoFocus: () => {
|
|
59
|
+
var _a;
|
|
60
|
+
(_a = context.triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
61
|
+
}, safeZone: { anchor: context.triggerRef.current }, style: Object.assign(Object.assign({}, style), {
|
|
62
|
+
"--__ac-action-menu-content-transform-origin": "var(--ac-floating-transform-origin)",
|
|
63
|
+
"--__ac-action-menu-content-available-height": "var(--ac-floating-available-height)",
|
|
64
|
+
}) }),
|
|
65
|
+
React.createElement("div", { className: "navds-action-menu__content-inner" }, children))));
|
|
66
|
+
});
|
|
67
|
+
export const ActionMenuLabel = forwardRef((_a, ref) => {
|
|
68
|
+
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
69
|
+
return (React.createElement("div", Object.assign({ ref: ref }, rest, { className: cl("navds-action-menu__label", className) }), children));
|
|
70
|
+
});
|
|
71
|
+
export const ActionMenuGroup = forwardRef((_a, ref) => {
|
|
72
|
+
var { children, className, label } = _a, rest = __rest(_a, ["children", "className", "label"]);
|
|
73
|
+
const labelId = useId();
|
|
74
|
+
return (React.createElement(Menu.Group, Object.assign({ ref: ref }, rest, { className: cl("navds-action-menu__group", className), asChild: false, "aria-labelledby": label ? labelId : undefined }),
|
|
75
|
+
label && (React.createElement(ActionMenu.Label, { id: labelId, "aria-hidden": true }, label)),
|
|
76
|
+
children));
|
|
77
|
+
});
|
|
78
|
+
const Marker = ({ children, className, placement }) => {
|
|
79
|
+
return (React.createElement("div", { "aria-hidden": true, className: cl(className, "navds-action-menu__marker", `navds-action-menu__marker--${placement}`) }, children));
|
|
80
|
+
};
|
|
81
|
+
const Shortcut = ({ children }) => {
|
|
82
|
+
/**
|
|
83
|
+
* Assumes the user will input either a single keyboard key
|
|
84
|
+
* or keys separated by "+"
|
|
85
|
+
*/
|
|
86
|
+
const parsed = children.split("+").filter((str) => str !== "");
|
|
87
|
+
return (React.createElement(Marker, { placement: "right" }, parsed.map((char, index) => (React.createElement("span", { key: char + index, className: "navds-action-menu__shortcut" }, char)))));
|
|
88
|
+
};
|
|
89
|
+
export const ActionMenuItem = forwardRef((_a, ref) => {
|
|
90
|
+
var { children, as: Component = "div", className, icon, shortcut, variant } = _a, rest = __rest(_a, ["children", "as", "className", "icon", "shortcut", "variant"]);
|
|
91
|
+
return (React.createElement(Menu.Item, Object.assign({}, rest, { className: cl("navds-action-menu__item", className, {
|
|
92
|
+
"navds-action-menu__item--danger": variant === "danger",
|
|
93
|
+
"navds-action-menu__item--has-icon": icon,
|
|
94
|
+
}), "aria-keyshortcuts": shortcut !== null && shortcut !== void 0 ? shortcut : undefined, asChild: true }),
|
|
95
|
+
React.createElement(Component, { ref: ref },
|
|
96
|
+
children,
|
|
97
|
+
icon && (React.createElement(Marker, { placement: "left", className: "navds-action-menu__marker-icon" }, icon)),
|
|
98
|
+
shortcut && React.createElement(Shortcut, null, shortcut))));
|
|
99
|
+
});
|
|
100
|
+
export const ActionMenuCheckboxItem = forwardRef((_a, ref) => {
|
|
101
|
+
var { children, className, shortcut, onSelect } = _a, rest = __rest(_a, ["children", "className", "shortcut", "onSelect"]);
|
|
102
|
+
return (React.createElement(Menu.CheckboxItem, Object.assign({ ref: ref }, rest, { onSelect: composeEventHandlers(onSelect, (event) => {
|
|
103
|
+
/**
|
|
104
|
+
* Prevent default to avoid the menu from closing when clicking the checkbox
|
|
105
|
+
*/
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
}), asChild: false, className: cl("navds-action-menu__item navds-action-menu__item--has-icon", className), "aria-keyshortcuts": shortcut }),
|
|
108
|
+
children,
|
|
109
|
+
React.createElement(Marker, { placement: "left" },
|
|
110
|
+
React.createElement(Menu.ItemIndicator, { className: "navds-action-menu__indicator" },
|
|
111
|
+
React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "navds-action-menu__indicator-icon", "aria-hidden": true },
|
|
112
|
+
React.createElement("g", { className: "navds-action-menu__indicator-icon--unchecked" },
|
|
113
|
+
React.createElement("rect", { width: "24", height: "24", rx: "4", fill: "var(--a-border-default)" }),
|
|
114
|
+
React.createElement("rect", { x: "1", y: "1", width: "22", height: "22", rx: "3", fill: "var(--a-surface-default)", strokeWidth: "2" })),
|
|
115
|
+
React.createElement("g", { className: "navds-action-menu__indicator-icon--indeterminate" },
|
|
116
|
+
React.createElement("rect", { width: "24", height: "24", rx: "4", fill: "var(--a-surface-action-selected)" }),
|
|
117
|
+
React.createElement("rect", { x: "6", y: "10", width: "12", height: "4", rx: "1", fill: "var(--a-surface-default)" })),
|
|
118
|
+
React.createElement("g", { className: "navds-action-menu__indicator-icon--checked" },
|
|
119
|
+
React.createElement("rect", { width: "24", height: "24", rx: "4", fill: "var(--a-surface-action-selected)" }),
|
|
120
|
+
React.createElement("path", { d: "M10.0352 13.4148L16.4752 7.40467C17.0792 6.83965 18.029 6.86933 18.5955 7.47478C19.162 8.08027 19.1296 9.03007 18.5245 9.59621L11.0211 16.5993C10.741 16.859 10.3756 17 10.0002 17C9.60651 17 9.22717 16.8462 8.93914 16.5611L6.43914 14.0611C5.85362 13.4756 5.85362 12.5254 6.43914 11.9399C7.02467 11.3544 7.97483 11.3544 8.56036 11.9399L10.0352 13.4148Z", fill: "var(--a-surface-default)" }))))),
|
|
121
|
+
shortcut && React.createElement(Shortcut, null, shortcut)));
|
|
122
|
+
});
|
|
123
|
+
export const ActionMenuRadioGroup = forwardRef((_a, ref) => {
|
|
124
|
+
var { children, label } = _a, rest = __rest(_a, ["children", "label"]);
|
|
125
|
+
const labelId = useId();
|
|
126
|
+
return (React.createElement(Menu.RadioGroup, Object.assign({ ref: ref }, rest, { asChild: false, "aria-labelledby": label ? labelId : undefined }),
|
|
127
|
+
label && (React.createElement(ActionMenu.Label, { id: labelId, "aria-hidden": true }, label)),
|
|
128
|
+
children));
|
|
129
|
+
});
|
|
130
|
+
export const ActionMenuRadioItem = forwardRef((_a, ref) => {
|
|
131
|
+
var { children, className, onSelect } = _a, rest = __rest(_a, ["children", "className", "onSelect"]);
|
|
132
|
+
return (React.createElement(Menu.RadioItem, Object.assign({ ref: ref }, rest, { onSelect: composeEventHandlers(onSelect, (event) => {
|
|
133
|
+
/**
|
|
134
|
+
* Prevent default to avoid the menu from closing when clicking the radio
|
|
135
|
+
*/
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
}), asChild: false, className: cl("navds-action-menu__item navds-action-menu__item--has-icon", className) }),
|
|
138
|
+
children,
|
|
139
|
+
React.createElement(Marker, { placement: "left" },
|
|
140
|
+
React.createElement(Menu.ItemIndicator, { className: "navds-action-menu__indicator" },
|
|
141
|
+
React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "navds-action-menu__indicator-icon", "aria-hidden": true },
|
|
142
|
+
React.createElement("g", { className: "navds-action-menu__indicator-icon--unchecked" },
|
|
143
|
+
React.createElement("rect", { width: "24", height: "24", rx: "12", fill: "var(--a-border-default)" }),
|
|
144
|
+
React.createElement("rect", { x: "1", y: "1", width: "22", height: "22", rx: "11", strokeWidth: "2", fill: "var(--a-surface-default)" })),
|
|
145
|
+
React.createElement("g", { className: "navds-action-menu__indicator-icon--checked" },
|
|
146
|
+
React.createElement("rect", { x: "1", y: "1", width: "22", height: "22", rx: "11", fill: "var(--a-surface-default)" }),
|
|
147
|
+
React.createElement("rect", { x: "1", y: "1", width: "22", height: "22", rx: "11", stroke: "var(--a-surface-action-selected)", strokeWidth: "2" }),
|
|
148
|
+
React.createElement("path", { d: "M20 12C20 16.4178 16.4178 20 12 20C7.58222 20 4 16.4178 4 12C4 7.58222 7.58222 4 12 4C16.4178 4 20 7.58222 20 12Z", fill: "var(--a-surface-action-selected)" })))))));
|
|
149
|
+
});
|
|
150
|
+
export const ActionMenuDivider = forwardRef((_a, ref) => {
|
|
151
|
+
var { className } = _a, rest = __rest(_a, ["className"]);
|
|
152
|
+
return (React.createElement(Menu.Divider, Object.assign({ ref: ref, asChild: false }, rest, { className: cl("navds-action-menu__divider", className) })));
|
|
153
|
+
});
|
|
154
|
+
export const ActionMenuSub = (props) => {
|
|
155
|
+
const { children, open: openProp, onOpenChange } = props;
|
|
156
|
+
const [open = false, setOpen] = useControllableState({
|
|
157
|
+
value: openProp,
|
|
158
|
+
defaultValue: false,
|
|
159
|
+
onChange: onOpenChange,
|
|
160
|
+
});
|
|
161
|
+
return (React.createElement(Menu.Sub, { open: open, onOpenChange: setOpen }, children));
|
|
162
|
+
};
|
|
163
|
+
export const ActionMenuSubTrigger = forwardRef((_a, ref) => {
|
|
164
|
+
var { children, className, icon } = _a, rest = __rest(_a, ["children", "className", "icon"]);
|
|
165
|
+
return (React.createElement(Menu.SubTrigger, Object.assign({ ref: ref }, rest, { asChild: false, className: cl("navds-action-menu__item navds-action-menu__sub-trigger", className, { "navds-action-menu__item--has-icon": icon }) }),
|
|
166
|
+
children,
|
|
167
|
+
icon && (React.createElement(Marker, { placement: "left", className: "navds-action-menu__marker-icon" }, icon)),
|
|
168
|
+
React.createElement(Marker, { placement: "right", className: "navds-action-menu__marker-icon" },
|
|
169
|
+
React.createElement(ChevronRightIcon, { "aria-hidden": true }))));
|
|
170
|
+
});
|
|
171
|
+
export const ActionMenuSubContent = forwardRef((_a, ref) => {
|
|
172
|
+
var { children, className, style } = _a, rest = __rest(_a, ["children", "className", "style"]);
|
|
173
|
+
const context = useActionMenuContext();
|
|
174
|
+
return (React.createElement(Menu.Portal, { rootElement: context.rootElement },
|
|
175
|
+
React.createElement(Menu.SubContent, Object.assign({ ref: ref, alignOffset: -4, sideOffset: 1, collisionPadding: 10 }, rest, { className: cl("navds-action-menu__content navds-action-menu__sub-content", className), style: Object.assign(Object.assign({}, style), {
|
|
176
|
+
"--ac-action-menu-content-transform-origin": "var(--ac-floating-transform-origin)",
|
|
177
|
+
"--ac-action-menu-content-available-width": "var(--ac-floating-available-width)",
|
|
178
|
+
"--ac-action-menu-content-available-height": "var(--ac-floating-available-height)",
|
|
179
|
+
"--ac-action-menu-trigger-width": "var(--ac-floating-anchor-width)",
|
|
180
|
+
"--ac-action-menu-trigger-height": "var(--ac-floating-anchor-height)",
|
|
181
|
+
}) }),
|
|
182
|
+
React.createElement("div", { className: "navds-action-menu__content-inner" }, children))));
|
|
183
|
+
});
|
|
184
|
+
/* -------------------------------------------------------------------------- */
|
|
185
|
+
ActionMenu.Trigger = ActionMenuTrigger;
|
|
186
|
+
ActionMenu.Content = ActionMenuContent;
|
|
187
|
+
ActionMenu.Group = ActionMenuGroup;
|
|
188
|
+
ActionMenu.Label = ActionMenuLabel;
|
|
189
|
+
ActionMenu.Item = ActionMenuItem;
|
|
190
|
+
ActionMenu.CheckboxItem = ActionMenuCheckboxItem;
|
|
191
|
+
ActionMenu.RadioGroup = ActionMenuRadioGroup;
|
|
192
|
+
ActionMenu.RadioItem = ActionMenuRadioItem;
|
|
193
|
+
ActionMenu.Divider = ActionMenuDivider;
|
|
194
|
+
ActionMenu.Sub = ActionMenuSub;
|
|
195
|
+
ActionMenu.SubTrigger = ActionMenuSubTrigger;
|
|
196
|
+
ActionMenu.SubContent = ActionMenuSubContent;
|
|
197
|
+
//# sourceMappingURL=ActionMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenu.js","sourceRoot":"","sources":["../../../src/overlays/action-menu/ActionMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAwB,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAmB,MAAM,uBAAuB,CAAC;AAe9D,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,GAC9C,aAAa,CAAyB;IACpC,IAAI,EAAE,mBAAmB;IACzB,YAAY,EACV,gFAAgF;CACnF,CAAC,CAAC;AAqNL,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,WAAW,EAAE,eAAe,GACZ,EAAE,EAAE;IACpB,MAAM,UAAU,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAE9E,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QACnD,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,kBAAkB,IACjB,SAAS,EAAE,KAAK,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,KAAK,EAAE,EAClB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EACpD,WAAW,EAAE,WAAW;QAExB,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,UAC3C,QAAQ,CACJ,CACY,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,cAAqC,CAAC;AAUhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAIzC,CACE,EAAwE,EACxE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,OAAmC,EAA9B,IAAI,cAA9C,6CAAgD,CAAF;IAG9C,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,OAAO;QAClB,oBAAC,IAAI,kBACH,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,CAAC,SAAS,mBACP,MAAM,mBACL,OAAO,CAAC,IAAI,mBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAC5C,GAAG,EAAE,UAAU,IACX,IAAI,IACR,KAAK,kCAAO,KAAK,KAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACnE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC5D,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;oBAC9B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC3B,wCAAwC;oBACxC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,KAED,mBAAmB,CAAC,QAAQ,CAAC,CACzB,CACK,CACf,CAAC;AACJ,CAAC,CACF,CAAC;AAUF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAA+D,EAAE,GAAG,EAAE,EAAE;QAAxE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAmC,EAA9B,IAAI,cAArC,kCAAuC,CAAF;IACtC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO;QACpD,oBAAC,IAAI,CAAC,OAAO,kBACX,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,CAAC,SAAS,qBACJ,OAAO,CAAC,SAAS,EAClC,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,IAClD,IAAI,IACR,KAAK,EAAC,OAAO,EACb,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,EACpB,gBAAgB,EAAE,GAAG,EAAE;;gBACrB,MAAA,OAAO,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YACtC,CAAC,EACD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAChD,KAAK,kCACA,KAAK,GACL;gBACD,6CAA6C,EAC3C,qCAAqC;gBACvC,6CAA6C,EAC3C,qCAAqC;aACxC;YAGH,6BAAK,SAAS,EAAC,kCAAkC,IAAE,QAAQ,CAAO,CACrD,CACH,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CACvC,CAAC,EAAsD,EAAE,GAAG,EAAE,EAAE;QAA/D,EAAE,QAAQ,EAAE,SAAS,OAAiC,EAA5B,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAEnD,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAiCF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAGvC,CAAC,EAA6D,EAAE,GAAG,EAAE,EAAE;QAAtE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAiC,EAA5B,IAAI,cAArC,kCAAuC,CAAF;IACtC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,OAAO,CACL,oBAAC,IAAI,CAAC,KAAK,kBACT,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EACpD,OAAO,EAAE,KAAK,qBACG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAE3C,KAAK,IAAI,CACR,oBAAC,UAAU,CAAC,KAAK,IAAC,EAAE,EAAE,OAAO,yBAC1B,KAAK,CACW,CACpB;QACA,QAAQ,CACE,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAe,EAAE,EAAE;IACjE,OAAO,CACL,kDAEE,SAAS,EAAE,EAAE,CACX,SAAS,EACT,2BAA2B,EAC3B,8BAA8B,SAAS,EAAE,CAC1C,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IAC/C;;;OAGG;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAE/D,OAAO,CACL,oBAAC,MAAM,IAAC,SAAS,EAAC,OAAO,IACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3B,8BAAM,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,EAAC,6BAA6B,IAC7D,IAAI,CACA,CACR,CAAC,CACK,CACV,CAAC;AACJ,CAAC,CAAC;AAwBF,MAAM,CAAC,MAAM,cAAc,GAGvB,UAAU,CACZ,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,QAAQ,EACR,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,OAAO,OAER,EADI,IAAI,cAPT,8DAQC,CADQ;IAIT,OAAO,CACL,oBAAC,IAAI,CAAC,IAAI,oBACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,EAAE;YAClD,iCAAiC,EAAE,OAAO,KAAK,QAAQ;YACvD,mCAAmC,EAAE,IAAI;SAC1C,CAAC,uBACiB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS,EACxC,OAAO;QAEP,oBAAC,SAAS,IAAC,GAAG,EAAE,GAAG;YAChB,QAAQ;YACR,IAAI,IAAI,CACP,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,gCAAgC,IAChE,IAAI,CACE,CACV;YACA,QAAQ,IAAI,oBAAC,QAAQ,QAAE,QAAQ,CAAY,CAClC,CACF,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAoBF,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAI9C,CACE,EAM8B,EAC9B,GAAG,EACH,EAAE;QARF,EACE,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,OAEoB,EADzB,IAAI,cALT,iDAMC,CADQ;IAIT,OAAO,CACL,oBAAC,IAAI,CAAC,YAAY,kBAChB,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD;;eAEG;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,EACF,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV,uBACkB,QAAQ;QAE1B,QAAQ;QACT,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM;YACtB,oBAAC,IAAI,CAAC,aAAa,IAAC,SAAS,EAAC,8BAA8B;gBAC1D,6BACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,mCAAmC;oBAG7C,2BAAG,SAAS,EAAC,8CAA8C;wBACzD,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,yBAAyB,GAC9B;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,0BAA0B,EAC/B,WAAW,EAAC,GAAG,GACf,CACA;oBACJ,2BAAG,SAAS,EAAC,kDAAkD;wBAC7D,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,kCAAkC,GACvC;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,IAAI,EACN,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,GAAG,EACV,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,0BAA0B,GAC/B,CACA;oBACJ,2BAAG,SAAS,EAAC,4CAA4C;wBACvD,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,kCAAkC,GACvC;wBACF,8BACE,CAAC,EAAC,gWAAgW,EAClW,IAAI,EAAC,0BAA0B,GAC/B,CACA,CACA,CACa,CACd;QAER,QAAQ,IAAI,oBAAC,QAAQ,QAAE,QAAQ,CAAY,CAC1B,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAuD,EAAE,GAAG,EAAE,EAAE;QAAhE,EAAE,QAAQ,EAAE,KAAK,OAAsC,EAAjC,IAAI,cAA1B,qBAA4B,CAAF;IAC3B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,OAAO,CACL,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,OAAO,EAAE,KAAK,qBACG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAE3C,KAAK,IAAI,CACR,oBAAC,UAAU,CAAC,KAAK,IAAC,EAAE,EAAE,OAAO,yBAC1B,KAAK,CACW,CACpB;QACA,QAAQ,CACO,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAI3C,CACE,EAAoE,EACpE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,OAAqC,EAAhC,IAAI,cAAxC,qCAA0C,CAAF;IAGxC,OAAO,CACL,oBAAC,IAAI,CAAC,SAAS,kBACb,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD;;eAEG;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,EACF,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV;QAEA,QAAQ;QACT,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM;YACtB,oBAAC,IAAI,CAAC,aAAa,IAAC,SAAS,EAAC,8BAA8B;gBAC1D,6BACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,mCAAmC;oBAG7C,2BAAG,SAAS,EAAC,8CAA8C;wBACzD,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,IAAI,EAAC,yBAAyB,GAC9B;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,0BAA0B,GAC/B,CACA;oBACJ,2BAAG,SAAS,EAAC,4CAA4C;wBACvD,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,IAAI,EAAC,0BAA0B,GAC/B;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,MAAM,EAAC,kCAAkC,EACzC,WAAW,EAAC,GAAG,GACf;wBACF,8BACE,CAAC,EAAC,mHAAmH,EACrH,IAAI,EAAC,kCAAkC,GACvC,CACA,CACA,CACa,CACd,CACM,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AASF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAA8C,EAAE,GAAG,EAAE,EAAE;QAAvD,EAAE,SAAS,OAAmC,EAA9B,IAAI,cAApB,aAAsB,CAAF;IACrB,OAAO,CACL,oBAAC,IAAI,CAAC,OAAO,kBACX,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,KAAK,IACV,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,IACtD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAiBH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEzD,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QACnD,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,IAAI,CAAC,GAAG,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,IACxC,QAAQ,CACA,CACZ,CAAC;AACJ,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAiE,EAAE,GAAG,EAAE,EAAE;QAA1E,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,OAAsC,EAAjC,IAAI,cAApC,iCAAsC,CAAF;IACrC,OAAO,CACL,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,SAAS,EACT,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAC9C;QAEA,QAAQ;QACR,IAAI,IAAI,CACP,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,gCAAgC,IAChE,IAAI,CACE,CACV;QACD,oBAAC,MAAM,IAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,gCAAgC;YAClE,oBAAC,gBAAgB,0BAAe,CACzB,CACO,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAkE,EAAE,GAAG,EAAE,EAAE;QAA3E,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAsC,EAAjC,IAAI,cAArC,kCAAuC,CAAF;IACtC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW;QAC3C,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,CAAC,CAAC,EACf,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,IAChB,IAAI,IACR,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV,EACD,KAAK,kCACA,KAAK,GACL;gBACD,2CAA2C,EACzC,qCAAqC;gBACvC,0CAA0C,EACxC,oCAAoC;gBACtC,2CAA2C,EACzC,qCAAqC;gBACvC,gCAAgC,EAAE,iCAAiC;gBACnE,iCAAiC,EAC/B,kCAAkC;aACrC;YAGH,6BAAK,SAAS,EAAC,kCAAkC,IAAE,QAAQ,CAAO,CAClD,CACN,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;AACnC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;AACnC,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC;AACjC,UAAU,CAAC,YAAY,GAAG,sBAAsB,CAAC;AACjD,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC;AAC7C,UAAU,CAAC,SAAS,GAAG,mBAAmB,CAAC;AAC3C,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC;AAC/B,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC;AAC7C,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ActionMenu, ActionMenuCheckboxItem, ActionMenuContent, ActionMenuGroup, ActionMenuItem, ActionMenuLabel, ActionMenuRadioGroup, ActionMenuRadioItem, ActionMenuDivider, ActionMenuSub, ActionMenuSubContent, ActionMenuSubTrigger, ActionMenuTrigger, type ActionMenuItemProps, type ActionMenuCheckboxItemProps, type ActionMenuContentProps, type ActionMenuGroupProps, type ActionMenuLabelProps, type ActionMenuProps, type ActionMenuRadioGroupProps, type ActionMenuRadioItemProps, type ActionMenuDividerProps, type ActionMenuSubContentProps, type ActionMenuSubProps, type ActionMenuSubTriggerProps, type ActionMenuTriggerProps, } from "./ActionMenu.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export { ActionMenu, ActionMenuCheckboxItem, ActionMenuContent, ActionMenuGroup, ActionMenuItem, ActionMenuLabel, ActionMenuRadioGroup, ActionMenuRadioItem, ActionMenuDivider, ActionMenuSub, ActionMenuSubContent, ActionMenuSubTrigger, ActionMenuTrigger, } from "./ActionMenu.js";
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overlays/action-menu/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GAclB,MAAM,cAAc,CAAC"}
|
|
@@ -84,8 +84,6 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
|
|
|
84
84
|
var _b, _c, _d, _e, _f, _g;
|
|
85
85
|
var { children, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, arrow: _arrow } = _a, contentProps = __rest(_a, ["children", "side", "sideOffset", "align", "alignOffset", "avoidCollisions", "collisionBoundary", "collisionPadding", "hideWhenDetached", "updatePositionStrategy", "onPlaced", "arrow"]);
|
|
86
86
|
const context = useFloatingContext();
|
|
87
|
-
const [content, setContent] = useState(null);
|
|
88
|
-
const mergeRefs = useMergeRefs(forwardedRef, setContent);
|
|
89
87
|
const arrowDefaults = Object.assign({ padding: 5, width: 0, height: 0 }, _arrow);
|
|
90
88
|
const [arrow, setArrow] = useState(null);
|
|
91
89
|
const arrowWidth = arrowDefaults.width;
|
|
@@ -110,6 +108,8 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
|
|
|
110
108
|
boundary: boundary.filter(isNotNull),
|
|
111
109
|
// with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
|
|
112
110
|
altBoundary: hasExplicitBoundaries,
|
|
111
|
+
/* https://floating-ui.com/docs/flip#fallbackaxissidedirection */
|
|
112
|
+
fallbackAxisSideDirection: "end",
|
|
113
113
|
};
|
|
114
114
|
const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
|
|
115
115
|
// default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
|
|
@@ -130,7 +130,11 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
|
|
|
130
130
|
alignmentAxis: alignOffset,
|
|
131
131
|
}),
|
|
132
132
|
avoidCollisions &&
|
|
133
|
-
shift(
|
|
133
|
+
shift({
|
|
134
|
+
mainAxis: true,
|
|
135
|
+
crossAxis: false,
|
|
136
|
+
limiter: limitShift(),
|
|
137
|
+
}),
|
|
134
138
|
avoidCollisions && flip(Object.assign({}, detectOverflowOptions)),
|
|
135
139
|
size(Object.assign(Object.assign({}, detectOverflowOptions), { apply: ({ elements, rects, availableWidth, availableHeight }) => {
|
|
136
140
|
const { width: anchorWidth, height: anchorHeight } = rects.reference;
|
|
@@ -158,14 +162,9 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
|
|
|
158
162
|
const arrowX = (_b = middlewareData.arrow) === null || _b === void 0 ? void 0 : _b.x;
|
|
159
163
|
const arrowY = (_c = middlewareData.arrow) === null || _c === void 0 ? void 0 : _c.y;
|
|
160
164
|
const cannotCenterArrow = ((_d = middlewareData.arrow) === null || _d === void 0 ? void 0 : _d.centerOffset) !== 0;
|
|
161
|
-
const [contentZIndex, setContentZIndex] = useState();
|
|
162
|
-
useClientLayoutEffect(() => {
|
|
163
|
-
if (content)
|
|
164
|
-
setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
165
|
-
}, [content]);
|
|
166
165
|
return (React.createElement("div", { ref: refs.setFloating, "data-aksel-floating-content-wrapper": "", style: Object.assign(Object.assign({}, floatingStyles), { transform: isPositioned
|
|
167
166
|
? floatingStyles.transform
|
|
168
|
-
: "translate(0, -200%)", minWidth: "max-content", zIndex:
|
|
167
|
+
: "translate(0, -200%)", minWidth: "max-content", zIndex: "9999999", ["--ac-floating-transform-origin"]: [
|
|
169
168
|
(_e = middlewareData.transformOrigin) === null || _e === void 0 ? void 0 : _e.x,
|
|
170
169
|
(_f = middlewareData.transformOrigin) === null || _f === void 0 ? void 0 : _f.y,
|
|
171
170
|
].join(" ") }),
|
|
@@ -173,7 +172,7 @@ const FloatingContent = forwardRef((_a, forwardedRef) => {
|
|
|
173
172
|
// This attribute is necessary for both portalled and inline calculations.
|
|
174
173
|
dir: "ltr" },
|
|
175
174
|
React.createElement(FloatingContentProvider, { placedSide: placedSide, onArrowChange: setArrow, arrowX: arrowX, arrowY: arrowY, hideArrow: cannotCenterArrow },
|
|
176
|
-
React.createElement("div", Object.assign({ ref:
|
|
175
|
+
React.createElement("div", Object.assign({ ref: forwardedRef, "data-side": placedSide, "data-align": placedAlign }, contentProps, { style: Object.assign(Object.assign({}, contentProps.style), {
|
|
177
176
|
// if the FloatingContent hasn't been placed yet (not all measurements done)
|
|
178
177
|
// we prevent animations so that users's animation don't kick in too early referring wrong sides
|
|
179
178
|
animation: !isPositioned ? "none" : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":"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"}
|