@salt-ds/lab 1.0.0-alpha.94 → 1.0.0-alpha.96
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 +157 -0
- package/css/salt-lab.css +76 -49
- package/dist-cjs/index.js +12 -52
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenu.js +8 -14
- package/dist-cjs/mega-menu/MegaMenu.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenuActions.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuActions.css.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuActions.js +33 -0
- package/dist-cjs/mega-menu/MegaMenuActions.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuAside.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuAside.css.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuAside.js +33 -0
- package/dist-cjs/mega-menu/MegaMenuAside.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuContent.css.js +1 -1
- package/dist-cjs/mega-menu/MegaMenuContent.js +2 -10
- package/dist-cjs/mega-menu/MegaMenuContent.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenuContext.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenuGroup.css.js +1 -1
- package/dist-cjs/mega-menu/MegaMenuGroup.js +10 -28
- package/dist-cjs/mega-menu/MegaMenuGroup.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenuGroupContext.js +17 -0
- package/dist-cjs/mega-menu/MegaMenuGroupContext.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.js +39 -0
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuGroups.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuGroups.css.js.map +1 -0
- package/dist-cjs/mega-menu/{MegaMenuSection.js → MegaMenuGroups.js} +8 -8
- package/dist-cjs/mega-menu/MegaMenuGroups.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuList.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuList.css.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuList.js +43 -0
- package/dist-cjs/mega-menu/MegaMenuList.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuListItem.css.js +6 -0
- package/dist-cjs/mega-menu/MegaMenuListItem.css.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuListItem.js +45 -0
- package/dist-cjs/mega-menu/MegaMenuListItem.js.map +1 -0
- package/dist-cjs/mega-menu/MegaMenuPanel.css.js +1 -1
- package/dist-cjs/mega-menu/MegaMenuPanel.js +27 -47
- package/dist-cjs/mega-menu/MegaMenuPanel.js.map +1 -1
- package/dist-cjs/mega-menu/MegaMenuTrigger.js +16 -18
- package/dist-cjs/mega-menu/MegaMenuTrigger.js.map +1 -1
- package/dist-cjs/mega-menu/useMegaMenuNavigation.js +282 -0
- package/dist-cjs/mega-menu/useMegaMenuNavigation.js.map +1 -0
- package/dist-cjs/mega-menu/usePageMargin.js +22 -0
- package/dist-cjs/mega-menu/usePageMargin.js.map +1 -0
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.js +2 -1
- package/dist-cjs/toolbar-next/ToolbarNextOverflow.js.map +1 -1
- package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js +21 -3
- package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -1
- package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js +3 -25
- package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -1
- package/dist-cjs/toolbar-next/useToolbarNextOverflow.js +9 -7
- package/dist-cjs/toolbar-next/useToolbarNextOverflow.js.map +1 -1
- package/dist-es/index.js +6 -9
- package/dist-es/index.js.map +1 -1
- package/dist-es/mega-menu/MegaMenu.js +9 -15
- package/dist-es/mega-menu/MegaMenu.js.map +1 -1
- package/dist-es/mega-menu/MegaMenuActions.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuActions.css.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuActions.js +31 -0
- package/dist-es/mega-menu/MegaMenuActions.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuAside.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuAside.css.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuAside.js +31 -0
- package/dist-es/mega-menu/MegaMenuAside.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuContent.css.js +1 -1
- package/dist-es/mega-menu/MegaMenuContent.js +2 -10
- package/dist-es/mega-menu/MegaMenuContent.js.map +1 -1
- package/dist-es/mega-menu/MegaMenuContext.js.map +1 -1
- package/dist-es/mega-menu/MegaMenuGroup.css.js +1 -1
- package/dist-es/mega-menu/MegaMenuGroup.js +13 -31
- package/dist-es/mega-menu/MegaMenuGroup.js.map +1 -1
- package/dist-es/mega-menu/MegaMenuGroupContext.js +14 -0
- package/dist-es/mega-menu/MegaMenuGroupContext.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuGroupHeading.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuGroupHeading.css.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuGroupHeading.js +37 -0
- package/dist-es/mega-menu/MegaMenuGroupHeading.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuGroups.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuGroups.css.js.map +1 -0
- package/dist-es/mega-menu/{MegaMenuSection.js → MegaMenuGroups.js} +7 -7
- package/dist-es/mega-menu/MegaMenuGroups.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuList.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuList.css.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuList.js +41 -0
- package/dist-es/mega-menu/MegaMenuList.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuListItem.css.js +4 -0
- package/dist-es/mega-menu/MegaMenuListItem.css.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuListItem.js +43 -0
- package/dist-es/mega-menu/MegaMenuListItem.js.map +1 -0
- package/dist-es/mega-menu/MegaMenuPanel.css.js +1 -1
- package/dist-es/mega-menu/MegaMenuPanel.js +30 -50
- package/dist-es/mega-menu/MegaMenuPanel.js.map +1 -1
- package/dist-es/mega-menu/MegaMenuTrigger.js +14 -16
- package/dist-es/mega-menu/MegaMenuTrigger.js.map +1 -1
- package/dist-es/mega-menu/useMegaMenuNavigation.js +278 -0
- package/dist-es/mega-menu/useMegaMenuNavigation.js.map +1 -0
- package/dist-es/mega-menu/usePageMargin.js +20 -0
- package/dist-es/mega-menu/usePageMargin.js.map +1 -0
- package/dist-es/toolbar-next/ToolbarNextOverflow.js +2 -1
- package/dist-es/toolbar-next/ToolbarNextOverflow.js.map +1 -1
- package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js +21 -3
- package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -1
- package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js +4 -26
- package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -1
- package/dist-es/toolbar-next/useToolbarNextOverflow.js +9 -7
- package/dist-es/toolbar-next/useToolbarNextOverflow.js.map +1 -1
- package/dist-types/index.d.ts +0 -4
- package/dist-types/mega-menu/MegaMenu.d.ts +11 -2
- package/dist-types/mega-menu/MegaMenuActions.d.ts +10 -0
- package/dist-types/mega-menu/MegaMenuAside.d.ts +9 -0
- package/dist-types/mega-menu/MegaMenuContent.d.ts +2 -1
- package/dist-types/mega-menu/MegaMenuContext.d.ts +6 -7
- package/dist-types/mega-menu/MegaMenuGroup.d.ts +4 -3
- package/dist-types/mega-menu/MegaMenuGroupContext.d.ts +12 -0
- package/dist-types/mega-menu/MegaMenuGroupHeading.d.ts +13 -0
- package/dist-types/mega-menu/MegaMenuGroups.d.ts +8 -0
- package/dist-types/mega-menu/MegaMenuList.d.ts +16 -0
- package/dist-types/mega-menu/MegaMenuListItem.d.ts +25 -0
- package/dist-types/mega-menu/MegaMenuPanel.d.ts +2 -2
- package/dist-types/mega-menu/MegaMenuTrigger.d.ts +1 -0
- package/dist-types/mega-menu/index.d.ts +6 -4
- package/dist-types/mega-menu/useMegaMenuNavigation.d.ts +16 -0
- package/dist-types/mega-menu/usePageMargin.d.ts +6 -0
- package/dist-types/toolbar-next/useToolbarNextKeyboardNavigation.d.ts +1 -0
- package/package.json +2 -4
- package/dist-cjs/calendar/index.js +0 -61
- package/dist-cjs/calendar/index.js.map +0 -1
- package/dist-cjs/date-input/index.js +0 -23
- package/dist-cjs/date-input/index.js.map +0 -1
- package/dist-cjs/date-picker/index.js +0 -106
- package/dist-cjs/date-picker/index.js.map +0 -1
- package/dist-cjs/localization-provider/index.js +0 -26
- package/dist-cjs/localization-provider/index.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuHeader.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuHeader.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuHeader.js +0 -26
- package/dist-cjs/mega-menu/MegaMenuHeader.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuItem.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuItem.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuItem.js +0 -52
- package/dist-cjs/mega-menu/MegaMenuItem.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuItemContent.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuItemContent.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuItemContent.js +0 -23
- package/dist-cjs/mega-menu/MegaMenuItemContent.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuSection.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuSection.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuSection.js.map +0 -1
- package/dist-cjs/mega-menu/useMegaMenuKeyboard.js +0 -209
- package/dist-cjs/mega-menu/useMegaMenuKeyboard.js.map +0 -1
- package/dist-cjs/utils/deprecatedExport.js +0 -30
- package/dist-cjs/utils/deprecatedExport.js.map +0 -1
- package/dist-es/calendar/index.js +0 -50
- package/dist-es/calendar/index.js.map +0 -1
- package/dist-es/date-input/index.js +0 -20
- package/dist-es/date-input/index.js.map +0 -1
- package/dist-es/date-picker/index.js +0 -85
- package/dist-es/date-picker/index.js.map +0 -1
- package/dist-es/localization-provider/index.js +0 -20
- package/dist-es/localization-provider/index.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuHeader.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuHeader.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuHeader.js +0 -24
- package/dist-es/mega-menu/MegaMenuHeader.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuItem.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuItem.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuItem.js +0 -50
- package/dist-es/mega-menu/MegaMenuItem.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuItemContent.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuItemContent.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuItemContent.js +0 -21
- package/dist-es/mega-menu/MegaMenuItemContent.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuSection.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuSection.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuSection.js.map +0 -1
- package/dist-es/mega-menu/useMegaMenuKeyboard.js +0 -205
- package/dist-es/mega-menu/useMegaMenuKeyboard.js.map +0 -1
- package/dist-es/utils/deprecatedExport.js +0 -27
- package/dist-es/utils/deprecatedExport.js.map +0 -1
- package/dist-types/calendar/index.d.ts +0 -13
- package/dist-types/date-input/index.d.ts +0 -3
- package/dist-types/localization-provider/index.d.ts +0 -9
- package/dist-types/mega-menu/MegaMenuHeader.d.ts +0 -8
- package/dist-types/mega-menu/MegaMenuItem.d.ts +0 -12
- package/dist-types/mega-menu/MegaMenuItemContent.d.ts +0 -8
- package/dist-types/mega-menu/MegaMenuSection.d.ts +0 -8
- package/dist-types/mega-menu/useMegaMenuKeyboard.d.ts +0 -30
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,162 @@
|
|
|
1
1
|
# @salt-ds/lab
|
|
2
2
|
|
|
3
|
+
## 1.0.0-alpha.96
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 248982a: Reworked `MegaMenu` for more semantic, accessible markup and more predictable
|
|
8
|
+
keyboard navigation.
|
|
9
|
+
|
|
10
|
+
- **Renamed `MegaMenuHeader` to `MegaMenuGroupHeading`.** It now renders a real heading (`<h3>` by default; set the level with `as`, e.g. `as="h2"`) instead of a `<div>`, so each group appears in the document outline for assistive technology.
|
|
11
|
+
- **Renamed `MegaMenuItem` to `MegaMenuListItem`.** It renders an `<a>` by default — pass a `render` element such as `react-router`'s `Link` — and accepts a `current` prop that sets `aria-current="page"` for the active page.
|
|
12
|
+
- **Added `MegaMenuList`.** Wrap a group's items in it so they are announced as a list; `MegaMenuListItem` can no longer be placed directly inside `MegaMenuGroup`.
|
|
13
|
+
- **Renamed `MegaMenuSupportingContent` to `MegaMenuAside`.** It now renders an `<aside>` landmark, making the supporting region discoverable to screen-reader users.
|
|
14
|
+
- **Renamed `MegaMenuSupportingActions` to `MegaMenuActions`.**
|
|
15
|
+
- **Added `MegaMenuContent`.** It is the center navigation region holding the groups and an optional `MegaMenuActions` band; `MegaMenuAside` sits beside it, positioned by source order.
|
|
16
|
+
- **Narrowed `MegaMenu`'s `placement` prop** to `"bottom" | "bottom-start" | "bottom-end"` (the new `MegaMenuPlacement` type).
|
|
17
|
+
- **Menu columns now adapt to the available width** instead of overflowing, keeping panels usable on narrower viewports.
|
|
18
|
+
- **Keyboard navigation is more predictable** between the columns, the actions row, and the trigger;
|
|
19
|
+
|
|
20
|
+
```diff
|
|
21
|
+
<MegaMenuPanel aria-label="Solutions menu">
|
|
22
|
+
+ <MegaMenuContent>
|
|
23
|
+
<MegaMenuGroups>
|
|
24
|
+
<MegaMenuGroup>
|
|
25
|
+
- <MegaMenuHeader>Financial services</MegaMenuHeader>
|
|
26
|
+
- <MegaMenuItem render={<Link to="/digital-banking" />}>Digital banking</MegaMenuItem>
|
|
27
|
+
+ <MegaMenuGroupHeading>Financial services</MegaMenuGroupHeading>
|
|
28
|
+
+ <MegaMenuList>
|
|
29
|
+
+ <MegaMenuListItem render={<Link to="/digital-banking" />}>Digital banking</MegaMenuListItem>
|
|
30
|
+
+ </MegaMenuList>
|
|
31
|
+
</MegaMenuGroup>
|
|
32
|
+
</MegaMenuGroups>
|
|
33
|
+
- <MegaMenuSupportingActions>
|
|
34
|
+
+ <MegaMenuActions>
|
|
35
|
+
<Link href="#demo">Book a demo</Link>
|
|
36
|
+
- </MegaMenuSupportingActions>
|
|
37
|
+
+ </MegaMenuActions>
|
|
38
|
+
+ </MegaMenuContent>
|
|
39
|
+
- <MegaMenuSupportingContent>...</MegaMenuSupportingContent>
|
|
40
|
+
+ <MegaMenuAside>...</MegaMenuAside>
|
|
41
|
+
</MegaMenuPanel>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- bab3b6c: Fixed `ToolbarNext` overflow calculations to preserve fractional browser measurements and avoid false overflow caused by subpixel rounding.
|
|
47
|
+
- Updated dependencies [1a48c1a]
|
|
48
|
+
- @salt-ds/core@1.64.1
|
|
49
|
+
|
|
50
|
+
## 1.0.0-alpha.95
|
|
51
|
+
|
|
52
|
+
### Minor Changes
|
|
53
|
+
|
|
54
|
+
- 8043fee: Updated `MegaMenu` with several API improvements:
|
|
55
|
+
|
|
56
|
+
- **Renamed `MegaMenuSection` to `MegaMenuGroups`.** The associated CSS custom property `--saltMegaMenuSection-columnWidth` has been renamed to `--saltMegaMenuGroups-columnWidth`.
|
|
57
|
+
- **Renamed `MegaMenuContent` to `MegaMenuSupportingContent`** to better convey its purpose as a region for supporting content alongside the menu groups.
|
|
58
|
+
- **Removed `MegaMenuItemContent`.** Pass the label directly to `MegaMenuItem`.
|
|
59
|
+
- **Added `MegaMenuSupportingActions`.** Use it to group one or more supporting action links beneath the menu groups in a `MegaMenuPanel`.
|
|
60
|
+
- **Added a `render` prop to `MegaMenuItem`** for integration with custom link or routing components (such as `react-router`'s `Link`).
|
|
61
|
+
|
|
62
|
+
```diff
|
|
63
|
+
- <MegaMenuSection>
|
|
64
|
+
+ <MegaMenuGroups>
|
|
65
|
+
<MegaMenuGroup>
|
|
66
|
+
<MegaMenuHeader>Financial services</MegaMenuHeader>
|
|
67
|
+
- <MegaMenuItem>
|
|
68
|
+
- <Icon aria-hidden />
|
|
69
|
+
- <MegaMenuItemContent>Digital banking</MegaMenuItemContent>
|
|
70
|
+
- </MegaMenuItem>
|
|
71
|
+
+ <MegaMenuItem render={<Link to="/digital-banking" />}>
|
|
72
|
+
+ <Icon aria-hidden />
|
|
73
|
+
+ Digital banking
|
|
74
|
+
+ </MegaMenuItem>
|
|
75
|
+
</MegaMenuGroup>
|
|
76
|
+
- </MegaMenuSection>
|
|
77
|
+
+ </MegaMenuGroups>
|
|
78
|
+
- <MegaMenuContent>...</MegaMenuContent>
|
|
79
|
+
+ <MegaMenuSupportingContent>...</MegaMenuSupportingContent>
|
|
80
|
+
+ <MegaMenuSupportingActions>
|
|
81
|
+
+ <Link href="#demo" IconComponent={ChevronRightIcon}>Book a demo</Link>
|
|
82
|
+
+ </MegaMenuSupportingActions>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- 8687aa7: Date-related components and utilities are no longer re-exported from `@salt-ds/lab`. Update the import source to `@salt-ds/date-components`.
|
|
86
|
+
|
|
87
|
+
The exact set of components depends on the selection variant you're using.
|
|
88
|
+
|
|
89
|
+
**Single-date selection** (`DateInputSingle`, single `DatePicker`, `DatePickerSingleInput`, `DatePickerSingleGridPanel`, single `Calendar`):
|
|
90
|
+
|
|
91
|
+
```diff
|
|
92
|
+
import {
|
|
93
|
+
type DateInputSingleDetails,
|
|
94
|
+
DateInputSingle,
|
|
95
|
+
DatePicker,
|
|
96
|
+
DatePickerOverlay,
|
|
97
|
+
DatePickerSingleGridPanel,
|
|
98
|
+
DatePickerSingleInput,
|
|
99
|
+
DatePickerTrigger,
|
|
100
|
+
type SingleDateSelection,
|
|
101
|
+
Calendar,
|
|
102
|
+
CalendarGrid,
|
|
103
|
+
CalendarNavigation,
|
|
104
|
+
LocalizationProvider,
|
|
105
|
+
useLocalization,
|
|
106
|
+
- } from "@salt-ds/lab";
|
|
107
|
+
+ } from "@salt-ds/date-components";
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Range selection** (`DateInputRange`, range `DatePicker`, `DatePickerRangeInput`, `DatePickerRangePanel`, `DatePickerRangeGridPanel`, range `Calendar`):
|
|
111
|
+
|
|
112
|
+
```diff
|
|
113
|
+
import {
|
|
114
|
+
type DateInputRangeDetails,
|
|
115
|
+
DateInputRange,
|
|
116
|
+
DatePicker,
|
|
117
|
+
DatePickerOverlay,
|
|
118
|
+
DatePickerRangeGridPanel,
|
|
119
|
+
DatePickerRangeInput,
|
|
120
|
+
DatePickerRangePanel,
|
|
121
|
+
DatePickerTrigger,
|
|
122
|
+
type DateRangeSelection,
|
|
123
|
+
Calendar,
|
|
124
|
+
CalendarGrid,
|
|
125
|
+
CalendarNavigation,
|
|
126
|
+
LocalizationProvider,
|
|
127
|
+
useLocalization,
|
|
128
|
+
- } from "@salt-ds/lab";
|
|
129
|
+
+ } from "@salt-ds/date-components";
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Offset selection** (offset `Calendar`; offset `DatePicker` built from the range input + range panel with `selectionVariant="offset"`):
|
|
133
|
+
|
|
134
|
+
```diff
|
|
135
|
+
import {
|
|
136
|
+
type DateRangeSelection,
|
|
137
|
+
Calendar,
|
|
138
|
+
CalendarGrid,
|
|
139
|
+
CalendarNavigation,
|
|
140
|
+
DatePicker,
|
|
141
|
+
DatePickerOverlay,
|
|
142
|
+
DatePickerRangeInput,
|
|
143
|
+
DatePickerRangePanel,
|
|
144
|
+
DatePickerTrigger,
|
|
145
|
+
LocalizationProvider,
|
|
146
|
+
useLocalization,
|
|
147
|
+
- } from "@salt-ds/lab";
|
|
148
|
+
+ } from "@salt-ds/date-components";
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Patch Changes
|
|
152
|
+
|
|
153
|
+
- 4314ca5: Fixed `ToolbarNext` focus handling when composing multiselect `ComboBox` controls, preserving pill keyboard navigation and preventing focus flashes when restoring toolbar focus.
|
|
154
|
+
- Updated dependencies [9729a10]
|
|
155
|
+
- Updated dependencies [52daa64]
|
|
156
|
+
- Updated dependencies [ed2779c]
|
|
157
|
+
- Updated dependencies [07e4d5d]
|
|
158
|
+
- @salt-ds/core@1.64.0
|
|
159
|
+
|
|
3
160
|
## 1.0.0-alpha.94
|
|
4
161
|
|
|
5
162
|
### Minor Changes
|
package/css/salt-lab.css
CHANGED
|
@@ -1893,9 +1893,31 @@
|
|
|
1893
1893
|
border-right: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-separable-primary-borderColor);
|
|
1894
1894
|
}
|
|
1895
1895
|
|
|
1896
|
+
/* src/mega-menu/MegaMenuActions.css */
|
|
1897
|
+
.saltMegaMenuActions {
|
|
1898
|
+
display: flex;
|
|
1899
|
+
flex-wrap: wrap;
|
|
1900
|
+
margin-block-start: auto;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
/* src/mega-menu/MegaMenuAside.css */
|
|
1904
|
+
.saltMegaMenuAside {
|
|
1905
|
+
flex: 0 0 auto;
|
|
1906
|
+
display: flex;
|
|
1907
|
+
flex-direction: column;
|
|
1908
|
+
padding: var(--salt-spacing-300);
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1896
1911
|
/* src/mega-menu/MegaMenuContent.css */
|
|
1897
1912
|
.saltMegaMenuContent {
|
|
1913
|
+
display: flex;
|
|
1914
|
+
flex-direction: column;
|
|
1915
|
+
gap: var(--salt-spacing-300);
|
|
1898
1916
|
padding: var(--salt-spacing-300);
|
|
1917
|
+
min-width: 0;
|
|
1918
|
+
flex: 0 1 auto;
|
|
1919
|
+
max-inline-size: var(--saltMegaMenuPanel-availableWidth);
|
|
1920
|
+
box-sizing: border-box;
|
|
1899
1921
|
}
|
|
1900
1922
|
|
|
1901
1923
|
/* src/mega-menu/MegaMenuGroup.css */
|
|
@@ -1903,37 +1925,49 @@
|
|
|
1903
1925
|
display: flex;
|
|
1904
1926
|
flex-direction: column;
|
|
1905
1927
|
}
|
|
1906
|
-
.saltMegaMenuGroup-list {
|
|
1907
|
-
list-style: none;
|
|
1908
|
-
margin: 0;
|
|
1909
|
-
padding: 0;
|
|
1910
|
-
display: flex;
|
|
1911
|
-
gap: var(--salt-spacing-fixed-100);
|
|
1912
|
-
flex-direction: column;
|
|
1913
|
-
}
|
|
1914
1928
|
|
|
1915
|
-
/* src/mega-menu/
|
|
1916
|
-
.
|
|
1929
|
+
/* src/mega-menu/MegaMenuGroupHeading.css */
|
|
1930
|
+
.saltMegaMenuGroupHeading {
|
|
1917
1931
|
display: flex;
|
|
1918
1932
|
align-items: center;
|
|
1933
|
+
margin: 0 0 var(--salt-spacing-50);
|
|
1919
1934
|
padding: var(--salt-spacing-50) var(--salt-spacing-100);
|
|
1935
|
+
border-bottom: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-separable-tertiary-borderColor);
|
|
1936
|
+
min-height: var(--salt-size-base);
|
|
1920
1937
|
font-family: var(--salt-text-label-fontFamily);
|
|
1921
1938
|
font-size: var(--salt-text-label-fontSize);
|
|
1922
1939
|
font-weight: var(--salt-text-fontWeight-strong);
|
|
1923
1940
|
line-height: var(--salt-text-label-lineHeight);
|
|
1924
|
-
min-height: var(--salt-size-base);
|
|
1925
1941
|
color: var(--salt-content-secondary-foreground);
|
|
1926
1942
|
}
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1943
|
+
|
|
1944
|
+
/* src/mega-menu/MegaMenuGroups.css */
|
|
1945
|
+
.saltMegaMenuGroups {
|
|
1946
|
+
align-self: start;
|
|
1947
|
+
display: grid;
|
|
1948
|
+
grid-template-columns: repeat(auto-fit, minmax(0, var(--saltMegaMenuGroups-columnWidth, 12rem)));
|
|
1949
|
+
gap: var(--salt-spacing-300);
|
|
1950
|
+
min-width: 0;
|
|
1951
|
+
max-inline-size: var(--saltMegaMenuPanel-availableWidth);
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
/* src/mega-menu/MegaMenuList.css */
|
|
1955
|
+
.saltMegaMenuList {
|
|
1956
|
+
list-style: none;
|
|
1957
|
+
margin: 0;
|
|
1958
|
+
padding: 0;
|
|
1959
|
+
display: flex;
|
|
1960
|
+
gap: var(--salt-spacing-fixed-100);
|
|
1961
|
+
flex-direction: column;
|
|
1930
1962
|
}
|
|
1931
1963
|
|
|
1932
|
-
/* src/mega-menu/
|
|
1933
|
-
.
|
|
1964
|
+
/* src/mega-menu/MegaMenuListItem.css */
|
|
1965
|
+
.saltMegaMenuListItem {
|
|
1934
1966
|
list-style: none;
|
|
1967
|
+
display: flex;
|
|
1968
|
+
flex-direction: column;
|
|
1935
1969
|
}
|
|
1936
|
-
.
|
|
1970
|
+
.saltMegaMenuListItem-wrapper {
|
|
1937
1971
|
display: flex;
|
|
1938
1972
|
padding: var(--salt-spacing-50) var(--salt-spacing-100);
|
|
1939
1973
|
align-items: flex-start;
|
|
@@ -1944,26 +1978,37 @@
|
|
|
1944
1978
|
box-sizing: border-box;
|
|
1945
1979
|
gap: var(--salt-spacing-100);
|
|
1946
1980
|
position: relative;
|
|
1947
|
-
border-radius: var(--salt-palette-corner-weak);
|
|
1981
|
+
border-radius: var(--salt-palette-corner-weak, 0);
|
|
1948
1982
|
text-decoration: none;
|
|
1983
|
+
border: none;
|
|
1984
|
+
font: inherit;
|
|
1985
|
+
text-align: start;
|
|
1949
1986
|
}
|
|
1950
|
-
.
|
|
1987
|
+
.saltMegaMenuListItem-wrapper > .saltIcon {
|
|
1951
1988
|
display: flex;
|
|
1952
1989
|
height: var(--salt-size-base);
|
|
1953
1990
|
align-items: center;
|
|
1954
1991
|
}
|
|
1955
|
-
.
|
|
1992
|
+
.saltMegaMenuListItem-content {
|
|
1993
|
+
flex: 1 0;
|
|
1994
|
+
margin: var(--salt-spacing-75) 0;
|
|
1995
|
+
font-family: var(--salt-text-fontFamily);
|
|
1996
|
+
font-size: var(--salt-text-fontSize);
|
|
1997
|
+
font-weight: var(--salt-text-fontWeight);
|
|
1998
|
+
line-height: var(--salt-text-lineHeight);
|
|
1999
|
+
}
|
|
2000
|
+
.saltMegaMenuListItem-wrapper:focus-visible {
|
|
1956
2001
|
outline: var(--salt-focused-outline);
|
|
1957
2002
|
outline-offset: calc(var(--salt-size-fixed-100) * -2);
|
|
1958
2003
|
}
|
|
1959
|
-
.
|
|
2004
|
+
.saltMegaMenuListItem-wrapper:hover:not(:focus-visible) {
|
|
1960
2005
|
outline: none;
|
|
1961
|
-
background: var(--salt-
|
|
2006
|
+
background: var(--salt-overlayable-background-hover);
|
|
1962
2007
|
}
|
|
1963
|
-
.
|
|
2008
|
+
.saltMegaMenuListItem-wrapper:active {
|
|
1964
2009
|
background: var(--salt-navigable-accent-background-active);
|
|
1965
2010
|
}
|
|
1966
|
-
.
|
|
2011
|
+
.saltMegaMenuListItem-wrapper:active::before {
|
|
1967
2012
|
content: "";
|
|
1968
2013
|
position: absolute;
|
|
1969
2014
|
inset: 0;
|
|
@@ -1973,39 +2018,21 @@
|
|
|
1973
2018
|
pointer-events: none;
|
|
1974
2019
|
}
|
|
1975
2020
|
|
|
1976
|
-
/* src/mega-menu/MegaMenuItemContent.css */
|
|
1977
|
-
.saltMegaMenuItemContent {
|
|
1978
|
-
flex: 1 0;
|
|
1979
|
-
margin: var(--salt-spacing-75) 0;
|
|
1980
|
-
font-family: var(--salt-text-fontFamily);
|
|
1981
|
-
font-size: var(--salt-text-fontSize);
|
|
1982
|
-
font-weight: var(--salt-text-fontWeight);
|
|
1983
|
-
line-height: var(--salt-text-lineHeight);
|
|
1984
|
-
}
|
|
1985
|
-
|
|
1986
2021
|
/* src/mega-menu/MegaMenuPanel.css */
|
|
1987
2022
|
.saltMegaMenuPanel {
|
|
2023
|
+
--saltMegaMenuPanel-availableWidth: calc(100vw - var(--salt-spacing-600));
|
|
1988
2024
|
display: flex;
|
|
1989
|
-
|
|
2025
|
+
align-items: stretch;
|
|
1990
2026
|
inline-size: var(--saltMegaMenuPanel-inlineSize, fit-content);
|
|
1991
|
-
max-inline-size: var(--saltMegaMenuPanel-maxInlineSize, var(--saltMegaMenuPanel-availableWidth
|
|
1992
|
-
max-
|
|
2027
|
+
max-inline-size: var(--saltMegaMenuPanel-maxInlineSize, var(--saltMegaMenuPanel-availableWidth));
|
|
2028
|
+
max-block-size: 90vh;
|
|
1993
2029
|
overflow-x: hidden;
|
|
1994
2030
|
overflow-y: auto;
|
|
1995
2031
|
box-sizing: border-box;
|
|
1996
|
-
border-radius: var(--salt-palette-corner);
|
|
2032
|
+
border-radius: var(--salt-palette-corner, 0);
|
|
1997
2033
|
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-container-primary-borderColor);
|
|
1998
2034
|
background: var(--salt-container-primary-background);
|
|
1999
|
-
box-shadow: var(--salt-overlayable-shadow-
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
/* src/mega-menu/MegaMenuSection.css */
|
|
2003
|
-
.saltMegaMenuSection {
|
|
2004
|
-
display: grid;
|
|
2005
|
-
grid-template-columns: repeat(auto-fit, var(--saltMegaMenuSection-columnWidth, 12rem));
|
|
2006
|
-
gap: var(--salt-spacing-300);
|
|
2007
|
-
padding: var(--salt-spacing-300);
|
|
2008
|
-
max-inline-size: var(--saltMegaMenuPanel-availableWidth, calc(100vw - var(--salt-spacing-600)));
|
|
2035
|
+
box-shadow: var(--salt-overlayable-shadow-modal);
|
|
2009
2036
|
}
|
|
2010
2037
|
|
|
2011
2038
|
/* src/menu-button/MenuButton.css */
|
|
@@ -3431,4 +3458,4 @@
|
|
|
3431
3458
|
margin: calc(var(--salt-size-unit) / 2) 0;
|
|
3432
3459
|
}
|
|
3433
3460
|
|
|
3434
|
-
/* src/
|
|
3461
|
+
/* src/e4ab0e63-880d-4ad2-9759-4acceca8a38d.css */
|
package/dist-cjs/index.js
CHANGED
|
@@ -5,7 +5,6 @@ var Breadcrumb = require('./breadcrumbs/Breadcrumb.js');
|
|
|
5
5
|
var Breadcrumbs = require('./breadcrumbs/Breadcrumbs.js');
|
|
6
6
|
var ButtonBar = require('./button-bar/ButtonBar.js');
|
|
7
7
|
var OrderedButton = require('./button-bar/OrderedButton.js');
|
|
8
|
-
var index = require('./calendar/index.js');
|
|
9
8
|
var CascadingMenu = require('./cascading-menu/CascadingMenu.js');
|
|
10
9
|
var Color = require('./color-chooser/Color.js');
|
|
11
10
|
var ColorChooser = require('./color-chooser/ColorChooser.js');
|
|
@@ -30,8 +29,6 @@ var ContactSecondaryInfo = require('./contact-details/ContactSecondaryInfo.js');
|
|
|
30
29
|
var ContactTertiaryInfo = require('./contact-details/ContactTertiaryInfo.js');
|
|
31
30
|
var MailLinkComponent = require('./contact-details/MailLinkComponent.js');
|
|
32
31
|
var ContentStatus = require('./content-status/ContentStatus.js');
|
|
33
|
-
var index$1 = require('./date-input/index.js');
|
|
34
|
-
var index$2 = require('./date-picker/index.js');
|
|
35
32
|
var DeckItem = require('./deck-item/DeckItem.js');
|
|
36
33
|
var DeckLayout = require('./deck-layout/DeckLayout.js');
|
|
37
34
|
var Dropdown = require('./dropdown/Dropdown.js');
|
|
@@ -78,18 +75,19 @@ var useOverflowDetection = require('./utils/useOverflowDetection.js');
|
|
|
78
75
|
var useSlideSelection = require('./utils/useSlideSelection.js');
|
|
79
76
|
var ListItemNext = require('./list-next/ListItemNext.js');
|
|
80
77
|
var ListNext = require('./list-next/ListNext.js');
|
|
81
|
-
var index$3 = require('./localization-provider/index.js');
|
|
82
78
|
var Logo = require('./logo/Logo.js');
|
|
83
79
|
var LogoImage = require('./logo/LogoImage.js');
|
|
84
80
|
var LogoSeparator = require('./logo/LogoSeparator.js');
|
|
85
81
|
var MegaMenu = require('./mega-menu/MegaMenu.js');
|
|
82
|
+
var MegaMenuActions = require('./mega-menu/MegaMenuActions.js');
|
|
83
|
+
var MegaMenuAside = require('./mega-menu/MegaMenuAside.js');
|
|
86
84
|
var MegaMenuContent = require('./mega-menu/MegaMenuContent.js');
|
|
87
85
|
var MegaMenuGroup = require('./mega-menu/MegaMenuGroup.js');
|
|
88
|
-
var
|
|
89
|
-
var
|
|
90
|
-
var
|
|
86
|
+
var MegaMenuGroupHeading = require('./mega-menu/MegaMenuGroupHeading.js');
|
|
87
|
+
var MegaMenuGroups = require('./mega-menu/MegaMenuGroups.js');
|
|
88
|
+
var MegaMenuList = require('./mega-menu/MegaMenuList.js');
|
|
89
|
+
var MegaMenuListItem = require('./mega-menu/MegaMenuListItem.js');
|
|
91
90
|
var MegaMenuPanel = require('./mega-menu/MegaMenuPanel.js');
|
|
92
|
-
var MegaMenuSection = require('./mega-menu/MegaMenuSection.js');
|
|
93
91
|
var MegaMenuTrigger = require('./mega-menu/MegaMenuTrigger.js');
|
|
94
92
|
var MenuButton = require('./menu-button/MenuButton.js');
|
|
95
93
|
var Metric = require('./metric/Metric.js');
|
|
@@ -135,7 +133,6 @@ var ToolbarNext = require('./toolbar-next/ToolbarNext.js');
|
|
|
135
133
|
var TooltrayNext = require('./toolbar-next/TooltrayNext.js');
|
|
136
134
|
var ElectronWindow = require('./window/ElectronWindow.js');
|
|
137
135
|
var WindowContext = require('./window/WindowContext.js');
|
|
138
|
-
var dateComponents = require('@salt-ds/date-components');
|
|
139
136
|
|
|
140
137
|
|
|
141
138
|
|
|
@@ -145,16 +142,6 @@ exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
|
|
|
145
142
|
exports.ButtonBar = ButtonBar.ButtonBar;
|
|
146
143
|
exports.DefaultButtonsOrderByVariant = ButtonBar.DefaultButtonsOrderByVariant;
|
|
147
144
|
exports.OrderedButton = OrderedButton.OrderedButton;
|
|
148
|
-
exports.Calendar = index.Calendar;
|
|
149
|
-
exports.CalendarGrid = index.CalendarGrid;
|
|
150
|
-
exports.CalendarNavigation = index.CalendarNavigation;
|
|
151
|
-
exports.CalendarWeekHeader = index.CalendarWeekHeader;
|
|
152
|
-
exports.isDateRangeSelection = index.isDateRangeSelection;
|
|
153
|
-
exports.useCalendar = index.useCalendar;
|
|
154
|
-
exports.useCalendarDay = index.useCalendarDay;
|
|
155
|
-
exports.useCalendarSelection = index.useCalendarSelection;
|
|
156
|
-
exports.useCalendarSelectionDay = index.useCalendarSelectionDay;
|
|
157
|
-
exports.useDateSelectionAnnouncer = index.useDateSelectionAnnouncer;
|
|
158
145
|
exports.CascadingMenu = CascadingMenu.CascadingMenu;
|
|
159
146
|
exports.Color = Color.Color;
|
|
160
147
|
exports.ColorChooser = ColorChooser.ColorChooser;
|
|
@@ -186,21 +173,6 @@ exports.ContactSecondaryInfo = ContactSecondaryInfo.ContactSecondaryInfo;
|
|
|
186
173
|
exports.ContactTertiaryInfo = ContactTertiaryInfo.ContactTertiaryInfo;
|
|
187
174
|
exports.MailLinkComponent = MailLinkComponent.MailLinkComponent;
|
|
188
175
|
exports.ContentStatus = ContentStatus.ContentStatus;
|
|
189
|
-
exports.DateInputRange = index$1.DateInputRange;
|
|
190
|
-
exports.DateInputSingle = index$1.DateInputSingle;
|
|
191
|
-
exports.DatePicker = index$2.DatePicker;
|
|
192
|
-
exports.DatePickerActions = index$2.DatePickerActions;
|
|
193
|
-
exports.DatePickerHelperText = index$2.DatePickerHelperText;
|
|
194
|
-
exports.DatePickerOverlay = index$2.DatePickerOverlay;
|
|
195
|
-
exports.DatePickerOverlayProvider = index$2.DatePickerOverlayProvider;
|
|
196
|
-
exports.DatePickerRangeGridPanel = index$2.DatePickerRangeGridPanel;
|
|
197
|
-
exports.DatePickerRangeInput = index$2.DatePickerRangeInput;
|
|
198
|
-
exports.DatePickerRangePanel = index$2.DatePickerRangePanel;
|
|
199
|
-
exports.DatePickerSingleGridPanel = index$2.DatePickerSingleGridPanel;
|
|
200
|
-
exports.DatePickerSingleInput = index$2.DatePickerSingleInput;
|
|
201
|
-
exports.DatePickerTrigger = index$2.DatePickerTrigger;
|
|
202
|
-
exports.useDatePickerContext = index$2.useDatePickerContext;
|
|
203
|
-
exports.useDatePickerOverlay = index$2.useDatePickerOverlay;
|
|
204
176
|
exports.DeckItem = DeckItem.DeckItem;
|
|
205
177
|
exports.DeckLayout = DeckLayout.DeckLayout;
|
|
206
178
|
exports.Dropdown = Dropdown.Dropdown;
|
|
@@ -242,19 +214,19 @@ exports.useOverflowDetection = useOverflowDetection.useOverflowDetection;
|
|
|
242
214
|
exports.useSlideSelection = useSlideSelection.useSlideSelection;
|
|
243
215
|
exports.ListItemNext = ListItemNext.ListItemNext;
|
|
244
216
|
exports.ListNext = ListNext.ListNext;
|
|
245
|
-
exports.LocalizationProvider = index$3.LocalizationProvider;
|
|
246
|
-
exports.useLocalization = index$3.useLocalization;
|
|
247
217
|
exports.Logo = Logo.Logo;
|
|
248
218
|
exports.LogoImage = LogoImage.LogoImage;
|
|
249
219
|
exports.LogoSeparator = LogoSeparator.LogoSeparator;
|
|
250
220
|
exports.MegaMenu = MegaMenu.MegaMenu;
|
|
221
|
+
exports.MegaMenuActions = MegaMenuActions.MegaMenuActions;
|
|
222
|
+
exports.MegaMenuAside = MegaMenuAside.MegaMenuAside;
|
|
251
223
|
exports.MegaMenuContent = MegaMenuContent.MegaMenuContent;
|
|
252
224
|
exports.MegaMenuGroup = MegaMenuGroup.MegaMenuGroup;
|
|
253
|
-
exports.
|
|
254
|
-
exports.
|
|
255
|
-
exports.
|
|
225
|
+
exports.MegaMenuGroupHeading = MegaMenuGroupHeading.MegaMenuGroupHeading;
|
|
226
|
+
exports.MegaMenuGroups = MegaMenuGroups.MegaMenuGroups;
|
|
227
|
+
exports.MegaMenuList = MegaMenuList.MegaMenuList;
|
|
228
|
+
exports.MegaMenuListItem = MegaMenuListItem.MegaMenuListItem;
|
|
256
229
|
exports.MegaMenuPanel = MegaMenuPanel.MegaMenuPanel;
|
|
257
|
-
exports.MegaMenuSection = MegaMenuSection.MegaMenuSection;
|
|
258
230
|
exports.MegaMenuTrigger = MegaMenuTrigger.MegaMenuTrigger;
|
|
259
231
|
exports.MenuButton = MenuButton.MenuButton;
|
|
260
232
|
exports.Metric = Metric.Metric;
|
|
@@ -328,16 +300,4 @@ exports.Window = WindowContext.Window;
|
|
|
328
300
|
exports.WindowContext = WindowContext.WindowContext;
|
|
329
301
|
exports.isDesktop = WindowContext.isDesktop;
|
|
330
302
|
exports.useWindow = WindowContext.useWindow;
|
|
331
|
-
Object.defineProperty(exports, "DateRangeSelectionContext", {
|
|
332
|
-
enumerable: true,
|
|
333
|
-
get: function () { return dateComponents.DateRangeSelectionContext; }
|
|
334
|
-
});
|
|
335
|
-
Object.defineProperty(exports, "LocalizationProviderContext", {
|
|
336
|
-
enumerable: true,
|
|
337
|
-
get: function () { return dateComponents.LocalizationProviderContext; }
|
|
338
|
-
});
|
|
339
|
-
Object.defineProperty(exports, "SingleDateSelectionContext", {
|
|
340
|
-
enumerable: true,
|
|
341
|
-
get: function () { return dateComponents.SingleDateSelectionContext; }
|
|
342
|
-
});
|
|
343
303
|
//# sourceMappingURL=index.js.map
|
package/dist-cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ var react$1 = require('@floating-ui/react');
|
|
|
5
5
|
var core = require('@salt-ds/core');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var MegaMenuContext = require('./MegaMenuContext.js');
|
|
8
|
-
var
|
|
8
|
+
var useMegaMenuNavigation = require('./useMegaMenuNavigation.js');
|
|
9
9
|
|
|
10
10
|
function MegaMenu({
|
|
11
11
|
children,
|
|
@@ -22,12 +22,12 @@ function MegaMenu({
|
|
|
22
22
|
});
|
|
23
23
|
const [reference, setReference] = react.useState(null);
|
|
24
24
|
const [floating, setFloating] = react.useState(null);
|
|
25
|
-
const
|
|
26
|
-
const [panelId, setPanelId] = react.useState(
|
|
25
|
+
const focusFirstItemOnOpenRef = react.useRef(false);
|
|
26
|
+
const [panelId, setPanelId] = react.useState();
|
|
27
27
|
const setOpen = react.useCallback(
|
|
28
28
|
(newOpen) => {
|
|
29
29
|
if (!newOpen) {
|
|
30
|
-
|
|
30
|
+
focusFirstItemOnOpenRef.current = false;
|
|
31
31
|
}
|
|
32
32
|
setOpenState(newOpen);
|
|
33
33
|
onOpenChange == null ? void 0 : onOpenChange(newOpen);
|
|
@@ -39,11 +39,11 @@ function MegaMenu({
|
|
|
39
39
|
onOpenChange: setOpen,
|
|
40
40
|
elements: { reference, floating }
|
|
41
41
|
});
|
|
42
|
-
const
|
|
42
|
+
const megaMenuNavigation = useMegaMenuNavigation.useMegaMenuNavigation(floatingRootContext);
|
|
43
43
|
const { getReferenceProps, getFloatingProps } = react$1.useInteractions([
|
|
44
44
|
react$1.useClick(floatingRootContext),
|
|
45
45
|
react$1.useDismiss(floatingRootContext),
|
|
46
|
-
|
|
46
|
+
megaMenuNavigation
|
|
47
47
|
]);
|
|
48
48
|
const contextValue = react.useMemo(
|
|
49
49
|
() => ({
|
|
@@ -55,8 +55,7 @@ function MegaMenu({
|
|
|
55
55
|
setFloating,
|
|
56
56
|
setReference,
|
|
57
57
|
setOpen,
|
|
58
|
-
|
|
59
|
-
setFocusFirstItemOnOpen,
|
|
58
|
+
focusFirstItemOnOpenRef,
|
|
60
59
|
panelId,
|
|
61
60
|
setPanelId
|
|
62
61
|
}),
|
|
@@ -66,13 +65,8 @@ function MegaMenu({
|
|
|
66
65
|
placement,
|
|
67
66
|
getFloatingProps,
|
|
68
67
|
getReferenceProps,
|
|
69
|
-
setFloating,
|
|
70
|
-
setReference,
|
|
71
68
|
setOpen,
|
|
72
|
-
|
|
73
|
-
setFocusFirstItemOnOpen,
|
|
74
|
-
panelId,
|
|
75
|
-
setPanelId
|
|
69
|
+
panelId
|
|
76
70
|
]
|
|
77
71
|
);
|
|
78
72
|
return /* @__PURE__ */ jsxRuntime.jsx(MegaMenuContext.MegaMenuContext.Provider, { value: contextValue, children });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenu.js","sources":["../src/mega-menu/MegaMenu.tsx"],"sourcesContent":["import {\n
|
|
1
|
+
{"version":3,"file":"MegaMenu.js","sources":["../src/mega-menu/MegaMenu.tsx"],"sourcesContent":["import {\n useClick,\n useDismiss,\n useFloatingRootContext,\n useInteractions,\n} from \"@floating-ui/react\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { type ReactNode, useCallback, useMemo, useRef, useState } from \"react\";\nimport { MegaMenuContext } from \"./MegaMenuContext\";\nimport { useMegaMenuNavigation } from \"./useMegaMenuNavigation\";\n\n/**\n * Supported placements for the mega menu panel.\n */\nexport type MegaMenuPlacement = \"bottom\" | \"bottom-start\" | \"bottom-end\";\n\nexport interface MegaMenuProps {\n /**\n * The content of the mega menu, typically `MegaMenuTrigger` and `MegaMenuPanel`.\n */\n children?: ReactNode;\n /**\n * Whether the mega menu is open. Use for controlled mode.\n */\n open?: boolean;\n /**\n * Whether the mega menu is initially open. Use for uncontrolled mode.\n * @default false\n */\n defaultOpen?: boolean;\n /**\n * Callback fired when the open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The placement of the mega menu panel relative to the trigger.\n * @default \"bottom\"\n */\n placement?: MegaMenuPlacement;\n}\n\n/**\n * Root of a mega menu, coordinating its trigger and panel.\n *\n * Not intended to be nested inside another floating overlay (e.g. a dialog or\n * popover): the mega menu does not participate in floating-ui's `FloatingTree`\n */\nexport function MegaMenu({\n children,\n open,\n defaultOpen = false,\n onOpenChange,\n placement = \"bottom\",\n}: MegaMenuProps) {\n const [openState, setOpenState] = useControlled({\n controlled: open,\n default: defaultOpen,\n name: \"MegaMenu\",\n state: \"open\",\n });\n\n const [reference, setReference] = useState<HTMLElement | null>(null);\n const [floating, setFloating] = useState<HTMLElement | null>(null);\n const focusFirstItemOnOpenRef = useRef(false);\n const [panelId, setPanelId] = useState<string>();\n\n const setOpen = useCallback(\n (newOpen: boolean) => {\n if (!newOpen) {\n focusFirstItemOnOpenRef.current = false;\n }\n setOpenState(newOpen);\n onOpenChange?.(newOpen);\n },\n [onOpenChange],\n );\n\n const floatingRootContext = useFloatingRootContext({\n open: openState,\n onOpenChange: setOpen,\n elements: { reference, floating },\n });\n\n const megaMenuNavigation = useMegaMenuNavigation(floatingRootContext);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useClick(floatingRootContext),\n useDismiss(floatingRootContext),\n megaMenuNavigation,\n ]);\n\n const contextValue = useMemo(\n () => ({\n openState,\n floatingRootContext,\n placement,\n getFloatingProps,\n getReferenceProps,\n setFloating,\n setReference,\n setOpen,\n focusFirstItemOnOpenRef,\n panelId,\n setPanelId,\n }),\n [\n openState,\n floatingRootContext,\n placement,\n getFloatingProps,\n getReferenceProps,\n setOpen,\n panelId,\n ],\n );\n\n return (\n <MegaMenuContext.Provider value={contextValue}>\n {children}\n </MegaMenuContext.Provider>\n );\n}\n"],"names":["useControlled","useState","useRef","useCallback","useFloatingRootContext","useMegaMenuNavigation","useInteractions","useClick","useDismiss","useMemo","MegaMenuContext"],"mappings":";;;;;;;;;AA+CO,SAAS,QAAA,CAAS;AAAA,EACvB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA,GAAc,KAAA;AAAA,EACd,YAAA;AAAA,EACA,SAAA,GAAY;AACd,CAAA,EAAkB;AAChB,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,kBAAA,CAAc;AAAA,IAC9C,UAAA,EAAY,IAAA;AAAA,IACZ,OAAA,EAAS,WAAA;AAAA,IACT,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACR,CAAA;AAED,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIC,eAA6B,IAAI,CAAA;AACnE,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,eAA6B,IAAI,CAAA;AACjE,EAAA,MAAM,uBAAA,GAA0BC,aAAO,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAID,cAAA,EAAiB;AAE/C,EAAA,MAAM,OAAA,GAAUE,iBAAA;AAAA,IACd,CAAC,OAAA,KAAqB;AACpB,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,uBAAA,CAAwB,OAAA,GAAU,KAAA;AAAA,MACpC;AACA,MAAA,YAAA,CAAa,OAAO,CAAA;AACpB,MAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAe,OAAA,CAAA;AAAA,IACjB,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,sBAAsBC,8BAAA,CAAuB;AAAA,IACjD,IAAA,EAAM,SAAA;AAAA,IACN,YAAA,EAAc,OAAA;AAAA,IACd,QAAA,EAAU,EAAE,SAAA,EAAW,QAAA;AAAS,GACjC,CAAA;AAED,EAAA,MAAM,kBAAA,GAAqBC,4CAAsB,mBAAmB,CAAA;AAEpE,EAAA,MAAM,EAAE,iBAAA,EAAmB,gBAAA,EAAiB,GAAIC,uBAAA,CAAgB;AAAA,IAC9DC,iBAAS,mBAAmB,CAAA;AAAA,IAC5BC,mBAAW,mBAAmB,CAAA;AAAA,IAC9B;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO;AAAA,MACL,SAAA;AAAA,MACA,mBAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,MACA,uBAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA;AAAA,MACE,SAAA;AAAA,MACA,mBAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,sCACGC,+BAAA,CAAgB,QAAA,EAAhB,EAAyB,KAAA,EAAO,cAC9B,QAAA,EACH,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MegaMenuActions.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var MegaMenuActions$1 = require('./MegaMenuActions.css.js');
|
|
10
|
+
|
|
11
|
+
const withBaseName = core.makePrefixer("saltMegaMenuActions");
|
|
12
|
+
const MegaMenuActions = react.forwardRef(
|
|
13
|
+
function MegaMenuActions2({ className, ...rest }, ref) {
|
|
14
|
+
const targetWindow = window.useWindow();
|
|
15
|
+
styles.useComponentCssInjection({
|
|
16
|
+
testId: "salt-mega-menu-actions",
|
|
17
|
+
css: MegaMenuActions$1,
|
|
18
|
+
window: targetWindow
|
|
19
|
+
});
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
"data-mega-menu-actions": "",
|
|
24
|
+
className: clsx.clsx(withBaseName(), className),
|
|
25
|
+
ref,
|
|
26
|
+
...rest
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
exports.MegaMenuActions = MegaMenuActions;
|
|
33
|
+
//# sourceMappingURL=MegaMenuActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MegaMenuActions.js","sources":["../src/mega-menu/MegaMenuActions.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactNode,\n} from \"react\";\nimport megaMenuActionsCss from \"./MegaMenuActions.css\";\n\nconst withBaseName = makePrefixer(\"saltMegaMenuActions\");\n\nexport interface MegaMenuActionsProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content of the actions. Place `MegaMenuActions` inside\n * `MegaMenuContent`, after `MegaMenuGroups`; it renders as a band beneath the\n * groups, spanning their width.\n */\n children?: ReactNode;\n}\n\nexport const MegaMenuActions = forwardRef<HTMLDivElement, MegaMenuActionsProps>(\n function MegaMenuActions({ className, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-mega-menu-actions\",\n css: megaMenuActionsCss,\n window: targetWindow,\n });\n\n return (\n <div\n data-mega-menu-actions=\"\"\n className={clsx(withBaseName(), className)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","MegaMenuActions","useWindow","useComponentCssInjection","megaMenuActionsCss","jsx","clsx"],"mappings":";;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA;AAWhD,MAAM,eAAA,GAAkBC,gBAAA;AAAA,EAC7B,SAASC,gBAAAA,CAAgB,EAAE,WAAW,GAAG,IAAA,IAAQ,GAAA,EAAK;AACpD,IAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,IAAAC,+BAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,wBAAA;AAAA,MACR,GAAA,EAAKC,iBAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,wBAAA,EAAuB,EAAA;AAAA,QACvB,SAAA,EAAWC,SAAA,CAAK,YAAA,EAAa,EAAG,SAAS,CAAA;AAAA,QACzC,GAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MegaMenuAside.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|