@salt-ds/lab 1.0.0-alpha.97 → 1.0.0-alpha.99
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 +29 -0
- package/css/salt-lab.css +147 -143
- package/dist-cjs/breadcrumbs-next/BreadcrumbNext.css.js +6 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNext.css.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNext.js +99 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNext.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNextLabel.js +21 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNextLabel.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNextTrigger.js +55 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbNextTrigger.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.css.js +6 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.css.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.js +146 -0
- package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/internal/BreadcrumbNextContext.js +12 -0
- package/dist-cjs/breadcrumbs-next/internal/BreadcrumbNextContext.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js +236 -0
- package/dist-cjs/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js.map +1 -0
- package/dist-cjs/breadcrumbs-next/internal/breadcrumbItems.js +21 -0
- package/dist-cjs/breadcrumbs-next/internal/breadcrumbItems.js.map +1 -0
- package/dist-cjs/index.js +8 -22
- package/dist-cjs/index.js.map +1 -1
- package/dist-es/breadcrumbs-next/BreadcrumbNext.css.js +4 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNext.css.js.map +1 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNext.js +97 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNext.js.map +1 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNextLabel.js +19 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNextLabel.js.map +1 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNextTrigger.js +53 -0
- package/dist-es/breadcrumbs-next/BreadcrumbNextTrigger.js.map +1 -0
- package/dist-es/breadcrumbs-next/BreadcrumbsNext.css.js +4 -0
- package/dist-es/breadcrumbs-next/BreadcrumbsNext.css.js.map +1 -0
- package/dist-es/breadcrumbs-next/BreadcrumbsNext.js +144 -0
- package/dist-es/breadcrumbs-next/BreadcrumbsNext.js.map +1 -0
- package/dist-es/breadcrumbs-next/internal/BreadcrumbNextContext.js +9 -0
- package/dist-es/breadcrumbs-next/internal/BreadcrumbNextContext.js.map +1 -0
- package/dist-es/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js +234 -0
- package/dist-es/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js.map +1 -0
- package/dist-es/breadcrumbs-next/internal/breadcrumbItems.js +19 -0
- package/dist-es/breadcrumbs-next/internal/breadcrumbItems.js.map +1 -0
- package/dist-es/index.js +4 -11
- package/dist-es/index.js.map +1 -1
- package/dist-types/breadcrumbs-next/BreadcrumbNext.d.ts +23 -0
- package/dist-types/breadcrumbs-next/BreadcrumbNextLabel.d.ts +4 -0
- package/dist-types/breadcrumbs-next/BreadcrumbNextTrigger.d.ts +8 -0
- package/dist-types/breadcrumbs-next/BreadcrumbsNext.d.ts +32 -0
- package/dist-types/breadcrumbs-next/index.d.ts +4 -0
- package/dist-types/breadcrumbs-next/internal/BreadcrumbNextContext.d.ts +14 -0
- package/dist-types/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.d.ts +9 -0
- package/dist-types/breadcrumbs-next/internal/breadcrumbItems.d.ts +9 -0
- package/dist-types/index.d.ts +1 -1
- package/package.json +3 -3
- package/dist-cjs/mega-menu/MegaMenu.js +0 -76
- package/dist-cjs/mega-menu/MegaMenu.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuActions.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuActions.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuActions.js +0 -33
- package/dist-cjs/mega-menu/MegaMenuActions.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuAside.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuAside.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuAside.js +0 -33
- package/dist-cjs/mega-menu/MegaMenuAside.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuContent.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuContent.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuContent.js +0 -25
- package/dist-cjs/mega-menu/MegaMenuContent.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuContext.js +0 -11
- package/dist-cjs/mega-menu/MegaMenuContext.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroup.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuGroup.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroup.js +0 -40
- package/dist-cjs/mega-menu/MegaMenuGroup.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroupContext.js +0 -17
- package/dist-cjs/mega-menu/MegaMenuGroupContext.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.js +0 -39
- package/dist-cjs/mega-menu/MegaMenuGroupHeading.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroups.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuGroups.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuGroups.js +0 -25
- package/dist-cjs/mega-menu/MegaMenuGroups.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuList.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuList.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuList.js +0 -43
- package/dist-cjs/mega-menu/MegaMenuList.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuListItem.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuListItem.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuListItem.js +0 -45
- package/dist-cjs/mega-menu/MegaMenuListItem.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuPanel.css.js +0 -6
- package/dist-cjs/mega-menu/MegaMenuPanel.css.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuPanel.js +0 -88
- package/dist-cjs/mega-menu/MegaMenuPanel.js.map +0 -1
- package/dist-cjs/mega-menu/MegaMenuTrigger.js +0 -90
- package/dist-cjs/mega-menu/MegaMenuTrigger.js.map +0 -1
- package/dist-cjs/mega-menu/useMegaMenu.js +0 -15
- package/dist-cjs/mega-menu/useMegaMenu.js.map +0 -1
- package/dist-cjs/mega-menu/useMegaMenuNavigation.js +0 -282
- package/dist-cjs/mega-menu/useMegaMenuNavigation.js.map +0 -1
- package/dist-cjs/mega-menu/usePageMargin.js +0 -22
- package/dist-cjs/mega-menu/usePageMargin.js.map +0 -1
- package/dist-es/mega-menu/MegaMenu.js +0 -74
- package/dist-es/mega-menu/MegaMenu.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuActions.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuActions.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuActions.js +0 -31
- package/dist-es/mega-menu/MegaMenuActions.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuAside.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuAside.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuAside.js +0 -31
- package/dist-es/mega-menu/MegaMenuAside.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuContent.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuContent.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuContent.js +0 -23
- package/dist-es/mega-menu/MegaMenuContent.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuContext.js +0 -9
- package/dist-es/mega-menu/MegaMenuContext.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroup.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuGroup.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroup.js +0 -38
- package/dist-es/mega-menu/MegaMenuGroup.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroupContext.js +0 -14
- package/dist-es/mega-menu/MegaMenuGroupContext.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroupHeading.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuGroupHeading.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroupHeading.js +0 -37
- package/dist-es/mega-menu/MegaMenuGroupHeading.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroups.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuGroups.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuGroups.js +0 -23
- package/dist-es/mega-menu/MegaMenuGroups.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuList.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuList.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuList.js +0 -41
- package/dist-es/mega-menu/MegaMenuList.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuListItem.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuListItem.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuListItem.js +0 -43
- package/dist-es/mega-menu/MegaMenuListItem.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuPanel.css.js +0 -4
- package/dist-es/mega-menu/MegaMenuPanel.css.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuPanel.js +0 -86
- package/dist-es/mega-menu/MegaMenuPanel.js.map +0 -1
- package/dist-es/mega-menu/MegaMenuTrigger.js +0 -88
- package/dist-es/mega-menu/MegaMenuTrigger.js.map +0 -1
- package/dist-es/mega-menu/useMegaMenu.js +0 -13
- package/dist-es/mega-menu/useMegaMenu.js.map +0 -1
- package/dist-es/mega-menu/useMegaMenuNavigation.js +0 -278
- package/dist-es/mega-menu/useMegaMenuNavigation.js.map +0 -1
- package/dist-es/mega-menu/usePageMargin.js +0 -20
- package/dist-es/mega-menu/usePageMargin.js.map +0 -1
- package/dist-types/mega-menu/MegaMenu.d.ts +0 -36
- package/dist-types/mega-menu/MegaMenuActions.d.ts +0 -10
- package/dist-types/mega-menu/MegaMenuAside.d.ts +0 -9
- package/dist-types/mega-menu/MegaMenuContent.d.ts +0 -9
- package/dist-types/mega-menu/MegaMenuContext.d.ts +0 -28
- package/dist-types/mega-menu/MegaMenuGroup.d.ts +0 -9
- package/dist-types/mega-menu/MegaMenuGroupContext.d.ts +0 -12
- package/dist-types/mega-menu/MegaMenuGroupHeading.d.ts +0 -13
- package/dist-types/mega-menu/MegaMenuGroups.d.ts +0 -8
- package/dist-types/mega-menu/MegaMenuList.d.ts +0 -16
- package/dist-types/mega-menu/MegaMenuListItem.d.ts +0 -25
- package/dist-types/mega-menu/MegaMenuPanel.d.ts +0 -8
- package/dist-types/mega-menu/MegaMenuTrigger.d.ts +0 -9
- package/dist-types/mega-menu/index.d.ts +0 -11
- package/dist-types/mega-menu/useMegaMenu.d.ts +0 -6
- package/dist-types/mega-menu/useMegaMenuNavigation.d.ts +0 -16
- package/dist-types/mega-menu/usePageMargin.d.ts +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @salt-ds/lab
|
|
2
2
|
|
|
3
|
+
## 1.0.0-alpha.99
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9c9b83e: Added `BreadcrumbsNext`, `BreadcrumbNext`, `BreadcrumbNextTrigger`, and `BreadcrumbNextLabel` for accessible breadcrumb navigation. Supports wrapping, disclosure collapse, and routing integration via `render` props.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- d37a311: Updated Floating UI from `0.26.28` to `0.27.19`.
|
|
12
|
+
- Updated dependencies [747cb08]
|
|
13
|
+
- Updated dependencies [d84df88]
|
|
14
|
+
- Updated dependencies [56855cb]
|
|
15
|
+
- Updated dependencies [e226b17]
|
|
16
|
+
- Updated dependencies [9c9b83e]
|
|
17
|
+
- Updated dependencies [747cb08]
|
|
18
|
+
- Updated dependencies [d37a311]
|
|
19
|
+
- @salt-ds/core@1.67.0
|
|
20
|
+
|
|
21
|
+
## 1.0.0-alpha.98
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- f9f9b8e: Removed `MegaMenu` and its related components (`MegaMenuActions`, `MegaMenuAside`, `MegaMenuContent`, `MegaMenuGroup`, `MegaMenuGroupHeading`, `MegaMenuGroups`, `MegaMenuList`, `MegaMenuListItem`, `MegaMenuPanel`, and `MegaMenuTrigger`) from lab and promoted to core.
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- Updated dependencies [f9f9b8e]
|
|
30
|
+
- @salt-ds/core@1.66.0
|
|
31
|
+
|
|
3
32
|
## 1.0.0-alpha.97
|
|
4
33
|
|
|
5
34
|
### Minor Changes
|
package/css/salt-lab.css
CHANGED
|
@@ -174,6 +174,152 @@
|
|
|
174
174
|
margin-bottom: var(--breadcrumbs-ol-wrap-li-marginBottom);
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
+
/* src/breadcrumbs-next/BreadcrumbNext.css */
|
|
178
|
+
.saltBreadcrumbNext {
|
|
179
|
+
align-items: center;
|
|
180
|
+
display: inline-flex;
|
|
181
|
+
flex: 0 1 auto;
|
|
182
|
+
gap: var(--salt-spacing-100);
|
|
183
|
+
list-style: none;
|
|
184
|
+
min-width: 0;
|
|
185
|
+
}
|
|
186
|
+
.saltBreadcrumbNext-current,
|
|
187
|
+
.saltBreadcrumbNext-label,
|
|
188
|
+
.saltBreadcrumbNext-link,
|
|
189
|
+
.saltBreadcrumbNext-trigger {
|
|
190
|
+
min-width: 0;
|
|
191
|
+
}
|
|
192
|
+
.saltBreadcrumbNext-trigger {
|
|
193
|
+
align-items: center;
|
|
194
|
+
display: inline-flex;
|
|
195
|
+
gap: var(--salt-spacing-50);
|
|
196
|
+
max-width: 100%;
|
|
197
|
+
}
|
|
198
|
+
.saltBreadcrumbNext-link.saltLink {
|
|
199
|
+
--link-color-visited: var(--link-color);
|
|
200
|
+
--link-textDecoration-visited: var(--link-textDecoration);
|
|
201
|
+
}
|
|
202
|
+
.saltBreadcrumbNext-current.saltLink {
|
|
203
|
+
cursor: var(--salt-cursor-text);
|
|
204
|
+
}
|
|
205
|
+
.saltBreadcrumbNext-separator {
|
|
206
|
+
--saltIcon-color: var(--salt-content-secondary-foreground);
|
|
207
|
+
--saltIcon-size: var(--salt-size-icon);
|
|
208
|
+
flex: 0 0 auto;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/* src/breadcrumbs-next/BreadcrumbsNext.css */
|
|
212
|
+
.saltBreadcrumbsNext {
|
|
213
|
+
display: block;
|
|
214
|
+
margin-block: var(--salt-spacing-25);
|
|
215
|
+
}
|
|
216
|
+
.saltBreadcrumbsNext-ol {
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
flex-wrap: nowrap;
|
|
220
|
+
gap: var(--salt-spacing-100);
|
|
221
|
+
justify-content: flex-start;
|
|
222
|
+
list-style: none;
|
|
223
|
+
margin: 0;
|
|
224
|
+
padding: 0;
|
|
225
|
+
}
|
|
226
|
+
.saltBreadcrumbsNext-ol-wrap {
|
|
227
|
+
flex-wrap: wrap;
|
|
228
|
+
}
|
|
229
|
+
.saltBreadcrumbsNext-collapseItem {
|
|
230
|
+
align-items: center;
|
|
231
|
+
display: inline-flex;
|
|
232
|
+
flex: 0 1 auto;
|
|
233
|
+
gap: var(--salt-spacing-100);
|
|
234
|
+
list-style: none;
|
|
235
|
+
min-width: 0;
|
|
236
|
+
}
|
|
237
|
+
.saltBreadcrumbsNext-collapseButton[aria-expanded=true] {
|
|
238
|
+
background: var(--saltButton-background-active, var(--button-background-active));
|
|
239
|
+
border-color: var(--saltButton-borderColor-active, var(--button-borderColor-active));
|
|
240
|
+
color: var(--saltButton-text-color-active, var(--button-text-color-active));
|
|
241
|
+
cursor: var(--salt-cursor-active);
|
|
242
|
+
}
|
|
243
|
+
.saltBreadcrumbsNext-disclosure {
|
|
244
|
+
background: var(--salt-container-primary-background);
|
|
245
|
+
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor-selected);
|
|
246
|
+
overflow: hidden;
|
|
247
|
+
overflow-y: auto;
|
|
248
|
+
min-width: 10em;
|
|
249
|
+
position: relative;
|
|
250
|
+
z-index: var(--salt-zIndex-flyover);
|
|
251
|
+
box-shadow: var(--salt-overlayable-shadow-popout);
|
|
252
|
+
box-sizing: border-box;
|
|
253
|
+
border-radius: var(--salt-palette-corner, 0);
|
|
254
|
+
}
|
|
255
|
+
.saltBreadcrumbsNext-disclosureList {
|
|
256
|
+
list-style: none;
|
|
257
|
+
margin: 0;
|
|
258
|
+
padding: 0;
|
|
259
|
+
}
|
|
260
|
+
.saltBreadcrumbsNext-disclosureListItem {
|
|
261
|
+
list-style: none;
|
|
262
|
+
margin: 0;
|
|
263
|
+
padding: 0;
|
|
264
|
+
}
|
|
265
|
+
.saltBreadcrumbsNext-disclosureItem {
|
|
266
|
+
color: var(--salt-content-primary-foreground);
|
|
267
|
+
background: var(--salt-selectable-background);
|
|
268
|
+
font-size: var(--salt-text-fontSize);
|
|
269
|
+
font-weight: var(--salt-text-fontWeight);
|
|
270
|
+
font-family: var(--salt-text-fontFamily);
|
|
271
|
+
line-height: var(--salt-text-lineHeight);
|
|
272
|
+
letter-spacing: var(--salt-text-letterSpacing);
|
|
273
|
+
min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));
|
|
274
|
+
padding: calc(var(--salt-spacing-100) + var(--salt-spacing-25)) var(--salt-spacing-100);
|
|
275
|
+
display: flex;
|
|
276
|
+
gap: var(--salt-spacing-100);
|
|
277
|
+
position: relative;
|
|
278
|
+
cursor: var(--salt-cursor-hover);
|
|
279
|
+
box-sizing: border-box;
|
|
280
|
+
flex-shrink: 0;
|
|
281
|
+
text-decoration: none;
|
|
282
|
+
width: 100%;
|
|
283
|
+
}
|
|
284
|
+
.saltBreadcrumbsNext-disclosureItem.saltLink {
|
|
285
|
+
--link-color: var(--salt-content-primary-foreground);
|
|
286
|
+
--link-color-hover: var(--salt-content-primary-foreground);
|
|
287
|
+
--link-color-active: var(--salt-content-primary-foreground);
|
|
288
|
+
--link-color-focus: var(--salt-content-primary-foreground);
|
|
289
|
+
--link-color-visited: var(--salt-content-primary-foreground);
|
|
290
|
+
--link-textDecoration: var(--salt-typography-textDecoration-none);
|
|
291
|
+
--link-textDecoration-hover: var(--salt-typography-textDecoration-none);
|
|
292
|
+
--link-textDecoration-active: var(--salt-typography-textDecoration-none);
|
|
293
|
+
--link-textDecoration-focus: var(--salt-typography-textDecoration-none);
|
|
294
|
+
--link-textDecoration-visited: var(--salt-typography-textDecoration-none);
|
|
295
|
+
}
|
|
296
|
+
.saltBreadcrumbsNext-disclosureItem.saltLink:focus:not(:focus-visible) {
|
|
297
|
+
outline: none;
|
|
298
|
+
}
|
|
299
|
+
.saltBreadcrumbsNext-disclosureItem:focus-visible,
|
|
300
|
+
.saltBreadcrumbsNext-disclosureItem.saltLink:focus-visible {
|
|
301
|
+
outline: var(--salt-focused-outline);
|
|
302
|
+
outline-offset: calc(var(--salt-size-fixed-100) * -2);
|
|
303
|
+
}
|
|
304
|
+
.saltBreadcrumbsNext-disclosureItem:hover {
|
|
305
|
+
outline: none;
|
|
306
|
+
}
|
|
307
|
+
.saltBreadcrumbsNext-disclosureItem:hover,
|
|
308
|
+
.saltBreadcrumbsNext-disclosureItem:focus-visible {
|
|
309
|
+
background: var(--salt-selectable-background-hover);
|
|
310
|
+
}
|
|
311
|
+
.saltBreadcrumbsNext-disclosureItem:active {
|
|
312
|
+
background: var(--salt-selectable-background-selected);
|
|
313
|
+
box-shadow: 0 calc(var(--salt-size-fixed-100) * -1) 0 0 var(--salt-selectable-borderColor-selected), 0 var(--salt-size-fixed-100) 0 0 var(--salt-selectable-borderColor-selected);
|
|
314
|
+
}
|
|
315
|
+
.saltBreadcrumbsNext-disclosureItem[aria-disabled=true],
|
|
316
|
+
.saltBreadcrumbsNext-disclosureItem[aria-disabled=true]:active {
|
|
317
|
+
background: var(--salt-selectable-background-disabled);
|
|
318
|
+
color: var(--salt-content-primary-foreground-disabled);
|
|
319
|
+
cursor: var(--salt-cursor-disabled);
|
|
320
|
+
box-shadow: none;
|
|
321
|
+
}
|
|
322
|
+
|
|
177
323
|
/* src/button-bar/ButtonBar.css */
|
|
178
324
|
.saltButtonBar {
|
|
179
325
|
width: 100%;
|
|
@@ -1893,148 +2039,6 @@
|
|
|
1893
2039
|
border-right: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-separable-primary-borderColor);
|
|
1894
2040
|
}
|
|
1895
2041
|
|
|
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
|
-
|
|
1911
|
-
/* src/mega-menu/MegaMenuContent.css */
|
|
1912
|
-
.saltMegaMenuContent {
|
|
1913
|
-
display: flex;
|
|
1914
|
-
flex-direction: column;
|
|
1915
|
-
gap: var(--salt-spacing-300);
|
|
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;
|
|
1921
|
-
}
|
|
1922
|
-
|
|
1923
|
-
/* src/mega-menu/MegaMenuGroup.css */
|
|
1924
|
-
.saltMegaMenuGroup {
|
|
1925
|
-
display: flex;
|
|
1926
|
-
flex-direction: column;
|
|
1927
|
-
}
|
|
1928
|
-
|
|
1929
|
-
/* src/mega-menu/MegaMenuGroupHeading.css */
|
|
1930
|
-
.saltMegaMenuGroupHeading {
|
|
1931
|
-
display: flex;
|
|
1932
|
-
align-items: center;
|
|
1933
|
-
margin: 0 0 var(--salt-spacing-50);
|
|
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);
|
|
1937
|
-
font-family: var(--salt-text-label-fontFamily);
|
|
1938
|
-
font-size: var(--salt-text-label-fontSize);
|
|
1939
|
-
font-weight: var(--salt-text-fontWeight-strong);
|
|
1940
|
-
line-height: var(--salt-text-label-lineHeight);
|
|
1941
|
-
color: var(--salt-content-secondary-foreground);
|
|
1942
|
-
}
|
|
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;
|
|
1962
|
-
}
|
|
1963
|
-
|
|
1964
|
-
/* src/mega-menu/MegaMenuListItem.css */
|
|
1965
|
-
.saltMegaMenuListItem {
|
|
1966
|
-
list-style: none;
|
|
1967
|
-
display: flex;
|
|
1968
|
-
flex-direction: column;
|
|
1969
|
-
}
|
|
1970
|
-
.saltMegaMenuListItem-wrapper {
|
|
1971
|
-
display: flex;
|
|
1972
|
-
padding: var(--salt-spacing-50) var(--salt-spacing-100);
|
|
1973
|
-
align-items: flex-start;
|
|
1974
|
-
color: var(--salt-content-primary-foreground);
|
|
1975
|
-
background: var(--salt-selectable-background);
|
|
1976
|
-
cursor: var(--salt-cursor-hover);
|
|
1977
|
-
min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));
|
|
1978
|
-
box-sizing: border-box;
|
|
1979
|
-
gap: var(--salt-spacing-100);
|
|
1980
|
-
position: relative;
|
|
1981
|
-
border-radius: var(--salt-palette-corner-weak, 0);
|
|
1982
|
-
text-decoration: none;
|
|
1983
|
-
border: none;
|
|
1984
|
-
font: inherit;
|
|
1985
|
-
text-align: start;
|
|
1986
|
-
}
|
|
1987
|
-
.saltMegaMenuListItem-wrapper > .saltIcon {
|
|
1988
|
-
display: flex;
|
|
1989
|
-
height: var(--salt-size-base);
|
|
1990
|
-
align-items: center;
|
|
1991
|
-
}
|
|
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 {
|
|
2001
|
-
outline: var(--salt-focused-outline);
|
|
2002
|
-
outline-offset: calc(var(--salt-size-fixed-100) * -2);
|
|
2003
|
-
}
|
|
2004
|
-
.saltMegaMenuListItem-wrapper:hover:not(:focus-visible) {
|
|
2005
|
-
outline: none;
|
|
2006
|
-
background: var(--salt-overlayable-background-hover);
|
|
2007
|
-
}
|
|
2008
|
-
.saltMegaMenuListItem-wrapper:active {
|
|
2009
|
-
background: var(--salt-navigable-accent-background-active);
|
|
2010
|
-
}
|
|
2011
|
-
.saltMegaMenuListItem-wrapper:active::before {
|
|
2012
|
-
content: "";
|
|
2013
|
-
position: absolute;
|
|
2014
|
-
inset: 0;
|
|
2015
|
-
box-sizing: border-box;
|
|
2016
|
-
border-radius: inherit;
|
|
2017
|
-
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-navigable-accent-borderColor-active);
|
|
2018
|
-
pointer-events: none;
|
|
2019
|
-
}
|
|
2020
|
-
|
|
2021
|
-
/* src/mega-menu/MegaMenuPanel.css */
|
|
2022
|
-
.saltMegaMenuPanel {
|
|
2023
|
-
--saltMegaMenuPanel-availableWidth: calc(100vw - var(--salt-spacing-600));
|
|
2024
|
-
display: flex;
|
|
2025
|
-
align-items: stretch;
|
|
2026
|
-
inline-size: var(--saltMegaMenuPanel-inlineSize, fit-content);
|
|
2027
|
-
max-inline-size: var(--saltMegaMenuPanel-maxInlineSize, var(--saltMegaMenuPanel-availableWidth));
|
|
2028
|
-
max-block-size: 90vh;
|
|
2029
|
-
overflow-x: hidden;
|
|
2030
|
-
overflow-y: auto;
|
|
2031
|
-
box-sizing: border-box;
|
|
2032
|
-
border-radius: var(--salt-palette-corner, 0);
|
|
2033
|
-
border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-container-primary-borderColor);
|
|
2034
|
-
background: var(--salt-container-primary-background);
|
|
2035
|
-
box-shadow: var(--salt-overlayable-shadow-modal);
|
|
2036
|
-
}
|
|
2037
|
-
|
|
2038
2042
|
/* src/menu-button/MenuButton.css */
|
|
2039
2043
|
|
|
2040
2044
|
/* src/menu-button/MenuButtonTrigger.css */
|
|
@@ -3258,4 +3262,4 @@
|
|
|
3258
3262
|
margin: calc(var(--salt-size-unit) / 2) 0;
|
|
3259
3263
|
}
|
|
3260
3264
|
|
|
3261
|
-
/* src/
|
|
3265
|
+
/* src/a1e4b79c-9deb-4780-be8e-e16a36fe360d.css */
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltBreadcrumbNext {\n align-items: center;\n display: inline-flex;\n flex: 0 1 auto;\n gap: var(--salt-spacing-100);\n list-style: none;\n min-width: 0;\n}\n\n.saltBreadcrumbNext-current,\n.saltBreadcrumbNext-label,\n.saltBreadcrumbNext-link,\n.saltBreadcrumbNext-trigger {\n min-width: 0;\n}\n\n.saltBreadcrumbNext-trigger {\n align-items: center;\n display: inline-flex;\n gap: var(--salt-spacing-50);\n max-width: 100%;\n}\n\n.saltBreadcrumbNext-link.saltLink {\n --link-color-visited: var(--link-color);\n --link-textDecoration-visited: var(--link-textDecoration);\n}\n\n.saltBreadcrumbNext-current.saltLink {\n cursor: var(--salt-cursor-text);\n}\n\n.saltBreadcrumbNext-separator {\n --saltIcon-color: var(--salt-content-secondary-foreground);\n --saltIcon-size: var(--salt-size-icon);\n\n flex: 0 0 auto;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=BreadcrumbNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
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 BreadcrumbNext$1 = require('./BreadcrumbNext.css.js');
|
|
10
|
+
var BreadcrumbNextLabel = require('./BreadcrumbNextLabel.js');
|
|
11
|
+
var BreadcrumbNextTrigger = require('./BreadcrumbNextTrigger.js');
|
|
12
|
+
var BreadcrumbNextContext = require('./internal/BreadcrumbNextContext.js');
|
|
13
|
+
|
|
14
|
+
const withBaseName = core.makePrefixer("saltBreadcrumbNext");
|
|
15
|
+
const withBreadcrumbsBaseName = core.makePrefixer("saltBreadcrumbsNext");
|
|
16
|
+
function isPrimitiveBreadcrumbLabel(children) {
|
|
17
|
+
return typeof children === "string" && children.trim() !== "" || typeof children === "number";
|
|
18
|
+
}
|
|
19
|
+
function isMissingBreadcrumbContent(children) {
|
|
20
|
+
const childArray = react.Children.toArray(children);
|
|
21
|
+
return childArray.length === 0 || childArray.every(
|
|
22
|
+
(child) => typeof child === "string" && child.trim() === ""
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
let missingBreadcrumbContentWarningShown = false;
|
|
26
|
+
function warnIfMissingBreadcrumbContent() {
|
|
27
|
+
if (process.env.NODE_ENV === "production" || missingBreadcrumbContentWarningShown) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
missingBreadcrumbContentWarningShown = true;
|
|
31
|
+
console.warn(
|
|
32
|
+
"BreadcrumbNext requires children to render a named breadcrumb item. Use text children for simple items or BreadcrumbNextTrigger with BreadcrumbNextLabel for composed items."
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
const BreadcrumbNext = react.forwardRef(
|
|
36
|
+
function BreadcrumbNext2(props, ref) {
|
|
37
|
+
const {
|
|
38
|
+
children,
|
|
39
|
+
className,
|
|
40
|
+
current: currentProp,
|
|
41
|
+
href,
|
|
42
|
+
render,
|
|
43
|
+
...rest
|
|
44
|
+
} = props;
|
|
45
|
+
const targetWindow = window.useWindow();
|
|
46
|
+
styles.useComponentCssInjection({
|
|
47
|
+
testId: "salt-breadcrumb-next",
|
|
48
|
+
css: BreadcrumbNext$1,
|
|
49
|
+
window: targetWindow
|
|
50
|
+
});
|
|
51
|
+
const parentContext = BreadcrumbNextContext.useBreadcrumbNextContext();
|
|
52
|
+
const current = (parentContext == null ? void 0 : parentContext.current) ?? Boolean(currentProp);
|
|
53
|
+
const onNavigate = parentContext == null ? void 0 : parentContext.onNavigate;
|
|
54
|
+
const placement = (parentContext == null ? void 0 : parentContext.placement) ?? "trail";
|
|
55
|
+
const showSeparator = (parentContext == null ? void 0 : parentContext.showSeparator) ?? false;
|
|
56
|
+
const triggerRef = parentContext == null ? void 0 : parentContext.triggerRef;
|
|
57
|
+
const resolvedRender = render ?? (parentContext == null ? void 0 : parentContext.render);
|
|
58
|
+
const { LevelSeparatorIcon } = core.useIcon();
|
|
59
|
+
const missingContent = isMissingBreadcrumbContent(children);
|
|
60
|
+
if (missingContent) {
|
|
61
|
+
warnIfMissingBreadcrumbContent();
|
|
62
|
+
}
|
|
63
|
+
const primitiveChildren = isPrimitiveBreadcrumbLabel(children) ? children : void 0;
|
|
64
|
+
const content = missingContent ? null : primitiveChildren !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbNextTrigger.BreadcrumbNextTrigger, { children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbNextLabel.BreadcrumbNextLabel, { children: primitiveChildren }) }) : children;
|
|
65
|
+
const context = {
|
|
66
|
+
current,
|
|
67
|
+
href,
|
|
68
|
+
onNavigate,
|
|
69
|
+
placement,
|
|
70
|
+
render: resolvedRender,
|
|
71
|
+
showSeparator,
|
|
72
|
+
triggerRef
|
|
73
|
+
};
|
|
74
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
75
|
+
"li",
|
|
76
|
+
{
|
|
77
|
+
ref,
|
|
78
|
+
className: clsx.clsx(
|
|
79
|
+
placement === "disclosure" ? withBreadcrumbsBaseName("disclosureListItem") : withBaseName(),
|
|
80
|
+
className
|
|
81
|
+
),
|
|
82
|
+
...rest,
|
|
83
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(BreadcrumbNextContext.BreadcrumbNextContext.Provider, { value: context, children: [
|
|
84
|
+
content,
|
|
85
|
+
placement === "trail" && showSeparator ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
LevelSeparatorIcon,
|
|
87
|
+
{
|
|
88
|
+
"aria-hidden": true,
|
|
89
|
+
className: withBaseName("separator")
|
|
90
|
+
}
|
|
91
|
+
) : null
|
|
92
|
+
] })
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
exports.BreadcrumbNext = BreadcrumbNext;
|
|
99
|
+
//# sourceMappingURL=BreadcrumbNext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbNext.js","sources":["../src/breadcrumbs-next/BreadcrumbNext.tsx"],"sourcesContent":["import { makePrefixer, type RenderPropsType, useIcon } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactNode,\n} from \"react\";\nimport breadcrumbNextCss from \"./BreadcrumbNext.css\";\nimport { BreadcrumbNextLabel } from \"./BreadcrumbNextLabel\";\nimport { BreadcrumbNextTrigger } from \"./BreadcrumbNextTrigger\";\nimport {\n BreadcrumbNextContext,\n useBreadcrumbNextContext,\n} from \"./internal/BreadcrumbNextContext\";\n\nconst withBaseName = makePrefixer(\"saltBreadcrumbNext\");\nconst withBreadcrumbsBaseName = makePrefixer(\"saltBreadcrumbsNext\");\n\nfunction isPrimitiveBreadcrumbLabel(children: ReactNode) {\n return (\n (typeof children === \"string\" && children.trim() !== \"\") ||\n typeof children === \"number\"\n );\n}\n\nfunction isMissingBreadcrumbContent(children: ReactNode) {\n const childArray = Children.toArray(children);\n\n return (\n childArray.length === 0 ||\n childArray.every(\n (child) => typeof child === \"string\" && child.trim() === \"\",\n )\n );\n}\n\nlet missingBreadcrumbContentWarningShown = false;\n\nfunction warnIfMissingBreadcrumbContent() {\n if (\n process.env.NODE_ENV === \"production\" ||\n missingBreadcrumbContentWarningShown\n ) {\n return;\n }\n\n missingBreadcrumbContentWarningShown = true;\n console.warn(\n \"BreadcrumbNext requires children to render a named breadcrumb item. Use text children for simple items or BreadcrumbNextTrigger with BreadcrumbNextLabel for composed items.\",\n );\n}\n\nexport interface BreadcrumbNextProps\n extends Omit<ComponentPropsWithoutRef<\"li\">, \"children\"> {\n /**\n * Custom breadcrumb content. Use this for advanced composition with\n * `BreadcrumbNextTrigger` and `BreadcrumbNextLabel`.\n */\n children?: ReactNode;\n /**\n * If `true`, the breadcrumb represents the current page.\n */\n current?: boolean;\n /**\n * The URL for the breadcrumb. Provide this for the current breadcrumb so it\n * renders as a focusable link with `aria-current=\"page\"`.\n */\n href?: string;\n /**\n * Render prop to enable customization of the underlying link element.\n */\n render?: RenderPropsType[\"render\"];\n}\n\nexport const BreadcrumbNext = forwardRef<HTMLLIElement, BreadcrumbNextProps>(\n function BreadcrumbNext(props, ref) {\n const {\n children,\n className,\n current: currentProp,\n href,\n render,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-breadcrumb-next\",\n css: breadcrumbNextCss,\n window: targetWindow,\n });\n\n const parentContext = useBreadcrumbNextContext();\n const current = parentContext?.current ?? Boolean(currentProp);\n const onNavigate = parentContext?.onNavigate;\n const placement = parentContext?.placement ?? \"trail\";\n const showSeparator = parentContext?.showSeparator ?? false;\n const triggerRef = parentContext?.triggerRef;\n const resolvedRender = render ?? parentContext?.render;\n const { LevelSeparatorIcon } = useIcon();\n const missingContent = isMissingBreadcrumbContent(children);\n\n if (missingContent) {\n warnIfMissingBreadcrumbContent();\n }\n\n const primitiveChildren = isPrimitiveBreadcrumbLabel(children)\n ? children\n : undefined;\n const content = missingContent ? null : primitiveChildren !== undefined ? (\n <BreadcrumbNextTrigger>\n <BreadcrumbNextLabel>{primitiveChildren}</BreadcrumbNextLabel>\n </BreadcrumbNextTrigger>\n ) : (\n children\n );\n const context = {\n current,\n href,\n onNavigate,\n placement,\n render: resolvedRender,\n showSeparator,\n triggerRef,\n };\n\n return (\n <li\n ref={ref}\n className={clsx(\n placement === \"disclosure\"\n ? withBreadcrumbsBaseName(\"disclosureListItem\")\n : withBaseName(),\n className,\n )}\n {...rest}\n >\n <BreadcrumbNextContext.Provider value={context}>\n {content}\n {placement === \"trail\" && showSeparator ? (\n <LevelSeparatorIcon\n aria-hidden\n className={withBaseName(\"separator\")}\n />\n ) : null}\n </BreadcrumbNextContext.Provider>\n </li>\n );\n },\n);\n"],"names":["makePrefixer","Children","forwardRef","BreadcrumbNext","useWindow","useComponentCssInjection","breadcrumbNextCss","useBreadcrumbNextContext","useIcon","jsx","BreadcrumbNextTrigger","BreadcrumbNextLabel","clsx","jsxs","BreadcrumbNextContext"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
|
|
8
|
+
const withBaseName = core.makePrefixer("saltBreadcrumbNext");
|
|
9
|
+
const BreadcrumbNextLabel = react.forwardRef(function BreadcrumbNextLabel2({ className, ...rest }, ref) {
|
|
10
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11
|
+
"span",
|
|
12
|
+
{
|
|
13
|
+
ref,
|
|
14
|
+
className: clsx.clsx(withBaseName("label"), className),
|
|
15
|
+
...rest
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
exports.BreadcrumbNextLabel = BreadcrumbNextLabel;
|
|
21
|
+
//# sourceMappingURL=BreadcrumbNextLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbNextLabel.js","sources":["../src/breadcrumbs-next/BreadcrumbNextLabel.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\n\nconst withBaseName = makePrefixer(\"saltBreadcrumbNext\");\n\nexport interface BreadcrumbNextLabelProps\n extends ComponentPropsWithoutRef<\"span\"> {}\n\nexport const BreadcrumbNextLabel = forwardRef<\n HTMLSpanElement,\n BreadcrumbNextLabelProps\n>(function BreadcrumbNextLabel({ className, ...rest }, ref) {\n return (\n <span\n ref={ref}\n className={clsx(withBaseName(\"label\"), className)}\n {...rest}\n />\n );\n});\n"],"names":["makePrefixer","forwardRef","BreadcrumbNextLabel","jsx","clsx"],"mappings":";;;;;;;AAIA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA;AAK/C,MAAM,mBAAA,GAAsBC,iBAGjC,SAASC,oBAAAA,CAAoB,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,EAAG,GAAA,EAAK;AAC1D,EAAA,uBACEC,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWC,SAAA,CAAK,YAAA,CAAa,OAAO,GAAG,SAAS,CAAA;AAAA,MAC/C,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var BreadcrumbNextContext = require('./internal/BreadcrumbNextContext.js');
|
|
8
|
+
|
|
9
|
+
const withBaseName = core.makePrefixer("saltBreadcrumbNext");
|
|
10
|
+
const withBreadcrumbsBaseName = core.makePrefixer("saltBreadcrumbsNext");
|
|
11
|
+
const BreadcrumbNextTrigger = react.forwardRef(function BreadcrumbNextTrigger2(props, ref) {
|
|
12
|
+
const { children, className, onClick, ...rest } = props;
|
|
13
|
+
const context = BreadcrumbNextContext.useBreadcrumbNextContext();
|
|
14
|
+
if (!context) {
|
|
15
|
+
throw new Error(
|
|
16
|
+
"BreadcrumbNextTrigger must be rendered inside BreadcrumbNext"
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
const { current, href, onNavigate, placement, render, triggerRef } = context;
|
|
20
|
+
const handleRef = core.useForkRef(ref, triggerRef);
|
|
21
|
+
const isDisclosure = placement === "disclosure";
|
|
22
|
+
const triggerClassName = clsx.clsx(
|
|
23
|
+
isDisclosure ? withBreadcrumbsBaseName("disclosureItem") : withBaseName("trigger"),
|
|
24
|
+
className
|
|
25
|
+
);
|
|
26
|
+
const isNavigable = href !== void 0;
|
|
27
|
+
const handleClick = (event) => {
|
|
28
|
+
onClick == null ? void 0 : onClick(event);
|
|
29
|
+
if (isDisclosure || !event.defaultPrevented) {
|
|
30
|
+
onNavigate == null ? void 0 : onNavigate();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
core.Link,
|
|
35
|
+
{
|
|
36
|
+
"aria-current": current ? "page" : void 0,
|
|
37
|
+
className: clsx.clsx(triggerClassName, {
|
|
38
|
+
[withBaseName("link")]: isNavigable,
|
|
39
|
+
[withBaseName("current")]: current
|
|
40
|
+
}),
|
|
41
|
+
color: isDisclosure ? "inherit" : void 0,
|
|
42
|
+
href,
|
|
43
|
+
onClick: isNavigable ? handleClick : onClick,
|
|
44
|
+
ref: handleRef,
|
|
45
|
+
render: isNavigable ? render : void 0,
|
|
46
|
+
styleAs: "label",
|
|
47
|
+
underline: current || !isNavigable || isDisclosure ? "never" : void 0,
|
|
48
|
+
...rest,
|
|
49
|
+
children
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
exports.BreadcrumbNextTrigger = BreadcrumbNextTrigger;
|
|
55
|
+
//# sourceMappingURL=BreadcrumbNextTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbNextTrigger.js","sources":["../src/breadcrumbs-next/BreadcrumbNextTrigger.tsx"],"sourcesContent":["import { Link, makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport { useBreadcrumbNextContext } from \"./internal/BreadcrumbNextContext\";\n\nconst withBaseName = makePrefixer(\"saltBreadcrumbNext\");\nconst withBreadcrumbsBaseName = makePrefixer(\"saltBreadcrumbsNext\");\n\nexport interface BreadcrumbNextTriggerProps\n extends Omit<ComponentPropsWithoutRef<\"a\">, \"children\" | \"color\" | \"href\"> {\n /**\n * Breadcrumb trigger content.\n */\n children?: ReactNode;\n}\n\nexport const BreadcrumbNextTrigger = forwardRef<\n HTMLAnchorElement,\n BreadcrumbNextTriggerProps\n>(function BreadcrumbNextTrigger(props, ref) {\n const { children, className, onClick, ...rest } = props;\n const context = useBreadcrumbNextContext();\n\n if (!context) {\n throw new Error(\n \"BreadcrumbNextTrigger must be rendered inside BreadcrumbNext\",\n );\n }\n\n const { current, href, onNavigate, placement, render, triggerRef } = context;\n const handleRef = useForkRef(ref, triggerRef);\n const isDisclosure = placement === \"disclosure\";\n const triggerClassName = clsx(\n isDisclosure\n ? withBreadcrumbsBaseName(\"disclosureItem\")\n : withBaseName(\"trigger\"),\n className,\n );\n const isNavigable = href !== undefined;\n const handleClick: MouseEventHandler<HTMLAnchorElement> = (event) => {\n onClick?.(event);\n\n if (isDisclosure || !event.defaultPrevented) {\n onNavigate?.();\n }\n };\n\n return (\n <Link\n aria-current={current ? \"page\" : undefined}\n className={clsx(triggerClassName, {\n [withBaseName(\"link\")]: isNavigable,\n [withBaseName(\"current\")]: current,\n })}\n color={isDisclosure ? \"inherit\" : undefined}\n href={href}\n onClick={isNavigable ? handleClick : onClick}\n ref={handleRef}\n render={isNavigable ? render : undefined}\n styleAs=\"label\"\n underline={current || !isNavigable || isDisclosure ? \"never\" : undefined}\n {...rest}\n >\n {children}\n </Link>\n );\n});\n"],"names":["makePrefixer","forwardRef","BreadcrumbNextTrigger","useBreadcrumbNextContext","useForkRef","clsx","jsx","Link"],"mappings":";;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA;AACtD,MAAM,uBAAA,GAA0BA,kBAAa,qBAAqB,CAAA;AAU3D,MAAM,qBAAA,GAAwBC,gBAAA,CAGnC,SAASC,sBAAAA,CAAsB,OAAO,GAAA,EAAK;AAC3C,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,OAAA,EAAS,GAAG,MAAK,GAAI,KAAA;AAClD,EAAA,MAAM,UAAUC,8CAAA,EAAyB;AAEzC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,YAAY,SAAA,EAAW,MAAA,EAAQ,YAAW,GAAI,OAAA;AACrE,EAAA,MAAM,SAAA,GAAYC,eAAA,CAAW,GAAA,EAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,eAAe,SAAA,KAAc,YAAA;AACnC,EAAA,MAAM,gBAAA,GAAmBC,SAAA;AAAA,IACvB,YAAA,GACI,uBAAA,CAAwB,gBAAgB,CAAA,GACxC,aAAa,SAAS,CAAA;AAAA,IAC1B;AAAA,GACF;AACA,EAAA,MAAM,cAAc,IAAA,KAAS,MAAA;AAC7B,EAAA,MAAM,WAAA,GAAoD,CAAC,KAAA,KAAU;AACnE,IAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAU,KAAA,CAAA;AAEV,IAAA,IAAI,YAAA,IAAgB,CAAC,KAAA,CAAM,gBAAA,EAAkB;AAC3C,MAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,EAAA;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,uBACEC,cAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAc,UAAU,MAAA,GAAS,MAAA;AAAA,MACjC,SAAA,EAAWF,UAAK,gBAAA,EAAkB;AAAA,QAChC,CAAC,YAAA,CAAa,MAAM,CAAC,GAAG,WAAA;AAAA,QACxB,CAAC,YAAA,CAAa,SAAS,CAAC,GAAG;AAAA,OAC5B,CAAA;AAAA,MACD,KAAA,EAAO,eAAe,SAAA,GAAY,MAAA;AAAA,MAClC,IAAA;AAAA,MACA,OAAA,EAAS,cAAc,WAAA,GAAc,OAAA;AAAA,MACrC,GAAA,EAAK,SAAA;AAAA,MACL,MAAA,EAAQ,cAAc,MAAA,GAAS,MAAA;AAAA,MAC/B,OAAA,EAAQ,OAAA;AAAA,MACR,SAAA,EAAW,OAAA,IAAW,CAAC,WAAA,IAAe,eAAe,OAAA,GAAU,MAAA;AAAA,MAC9D,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltBreadcrumbsNext {\n display: block;\n margin-block: var(--salt-spacing-25);\n}\n\n.saltBreadcrumbsNext-ol {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--salt-spacing-100);\n justify-content: flex-start;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.saltBreadcrumbsNext-ol-wrap {\n flex-wrap: wrap;\n}\n\n.saltBreadcrumbsNext-collapseItem {\n align-items: center;\n display: inline-flex;\n flex: 0 1 auto;\n gap: var(--salt-spacing-100);\n list-style: none;\n min-width: 0;\n}\n\n.saltBreadcrumbsNext-collapseButton[aria-expanded=\"true\"] {\n background: var(--saltButton-background-active, var(--button-background-active));\n border-color: var(--saltButton-borderColor-active, var(--button-borderColor-active));\n color: var(--saltButton-text-color-active, var(--button-text-color-active));\n cursor: var(--salt-cursor-active);\n}\n\n.saltBreadcrumbsNext-disclosure {\n background: var(--salt-container-primary-background);\n border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor-selected);\n overflow: hidden;\n overflow-y: auto;\n min-width: 10em;\n position: relative;\n z-index: var(--salt-zIndex-flyover);\n box-shadow: var(--salt-overlayable-shadow-popout);\n box-sizing: border-box;\n border-radius: var(--salt-palette-corner, 0);\n}\n\n.saltBreadcrumbsNext-disclosureList {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.saltBreadcrumbsNext-disclosureListItem {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.saltBreadcrumbsNext-disclosureItem {\n color: var(--salt-content-primary-foreground);\n background: var(--salt-selectable-background);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n font-family: var(--salt-text-fontFamily);\n line-height: var(--salt-text-lineHeight);\n letter-spacing: var(--salt-text-letterSpacing);\n min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding: calc(var(--salt-spacing-100) + var(--salt-spacing-25)) var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-spacing-100);\n position: relative;\n cursor: var(--salt-cursor-hover);\n box-sizing: border-box;\n flex-shrink: 0;\n text-decoration: none;\n width: 100%;\n}\n\n.saltBreadcrumbsNext-disclosureItem.saltLink {\n --link-color: var(--salt-content-primary-foreground);\n --link-color-hover: var(--salt-content-primary-foreground);\n --link-color-active: var(--salt-content-primary-foreground);\n --link-color-focus: var(--salt-content-primary-foreground);\n --link-color-visited: var(--salt-content-primary-foreground);\n --link-textDecoration: var(--salt-typography-textDecoration-none);\n --link-textDecoration-hover: var(--salt-typography-textDecoration-none);\n --link-textDecoration-active: var(--salt-typography-textDecoration-none);\n --link-textDecoration-focus: var(--salt-typography-textDecoration-none);\n --link-textDecoration-visited: var(--salt-typography-textDecoration-none);\n}\n\n.saltBreadcrumbsNext-disclosureItem.saltLink:focus:not(:focus-visible) {\n outline: none;\n}\n\n.saltBreadcrumbsNext-disclosureItem:focus-visible,\n.saltBreadcrumbsNext-disclosureItem.saltLink:focus-visible {\n outline: var(--salt-focused-outline);\n outline-offset: calc(var(--salt-size-fixed-100) * -2);\n}\n\n.saltBreadcrumbsNext-disclosureItem:hover {\n outline: none;\n}\n\n.saltBreadcrumbsNext-disclosureItem:hover,\n.saltBreadcrumbsNext-disclosureItem:focus-visible {\n background: var(--salt-selectable-background-hover);\n}\n\n.saltBreadcrumbsNext-disclosureItem:active {\n background: var(--salt-selectable-background-selected);\n box-shadow:\n 0 calc(var(--salt-size-fixed-100) * -1) 0 0 var(--salt-selectable-borderColor-selected),\n 0 var(--salt-size-fixed-100) 0 0 var(--salt-selectable-borderColor-selected);\n}\n\n.saltBreadcrumbsNext-disclosureItem[aria-disabled=\"true\"],\n.saltBreadcrumbsNext-disclosureItem[aria-disabled=\"true\"]:active {\n background: var(--salt-selectable-background-disabled);\n color: var(--salt-content-primary-foreground-disabled);\n cursor: var(--salt-cursor-disabled);\n box-shadow: none;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=BreadcrumbsNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbsNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|