@nldd/design-system 0.8.41 → 0.8.42
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/README.md +18 -1
- package/dist/assets/styles/tokens.d.ts +25 -0
- package/dist/assets/styles/tokens.d.ts.map +1 -0
- package/dist/assets/styles/tokens.js +25 -0
- package/dist/assets/styles/tokens.js.map +1 -0
- package/dist/components/actions/button/button.d.ts +5 -0
- package/dist/components/actions/button/button.d.ts.map +1 -1
- package/dist/components/actions/button/button.js +7 -0
- package/dist/components/actions/button/button.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.d.ts +5 -0
- package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.js +7 -0
- package/dist/components/actions/icon-button/icon-button.js.map +1 -1
- package/dist/components/actions/link/link.d.ts +17 -6
- package/dist/components/actions/link/link.d.ts.map +1 -1
- package/dist/components/actions/link/link.js +15 -5
- package/dist/components/actions/link/link.js.map +1 -1
- package/dist/components/actions/link/link.styles.d.ts.map +1 -1
- package/dist/components/actions/link/link.styles.js +44 -6
- package/dist/components/actions/link/link.styles.js.map +1 -1
- package/dist/components/actions/link/link.template.d.ts.map +1 -1
- package/dist/components/actions/link/link.template.js +7 -9
- package/dist/components/actions/link/link.template.js.map +1 -1
- package/dist/components/components.js +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +6 -1
- package/dist/components/content/icon/icon-aliases.js.map +1 -1
- package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
- package/dist/components/content/icon/icon-registry.js +11 -7
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/forms/form-field/form-field.styles.js +1 -1
- package/dist/components/{index-DMYkp2tq.js → index-CJ3mdHHo.js} +1573 -403
- package/dist/components/inputs/combo-box/combo-box.d.ts +27 -3
- package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.js +78 -21
- package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.template.js +2 -2
- package/dist/components/inputs/combo-box/combo-box.template.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.template.js +1 -1
- package/dist/components/inputs/number-field/number-field.d.ts +5 -0
- package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.js +7 -0
- package/dist/components/inputs/number-field/number-field.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.d.ts +5 -0
- package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.js +7 -0
- package/dist/components/inputs/search-field/search-field.js.map +1 -1
- package/dist/components/inputs/switch/switch.d.ts +5 -0
- package/dist/components/inputs/switch/switch.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.js +7 -0
- package/dist/components/inputs/switch/switch.js.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.d.ts +6 -0
- package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.js +8 -0
- package/dist/components/inputs/switch-field/switch-field.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.d.ts +5 -1
- package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.js +7 -3
- package/dist/components/inputs/text-field/text-field.js.map +1 -1
- package/dist/components/layout/spacer/spacer.d.ts +28 -3
- package/dist/components/layout/spacer/spacer.d.ts.map +1 -1
- package/dist/components/layout/spacer/spacer.js +33 -2
- package/dist/components/layout/spacer/spacer.js.map +1 -1
- package/dist/components/layout/spacer/spacer.styles.d.ts.map +1 -1
- package/dist/components/layout/spacer/spacer.styles.js +157 -110
- package/dist/components/layout/spacer/spacer.styles.js.map +1 -1
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.d.ts +2 -2
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.js +1 -1
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.styles.js +50 -14
- package/dist/components/lists-and-menus/cells/icon-cell/icon-cell.styles.js.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.d.ts +28 -5
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.js +58 -5
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.js.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.js +29 -5
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.js.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.template.js +33 -3
- package/dist/components/lists-and-menus/cells/text-cell/text-cell.template.js.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.d.ts +28 -5
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.js +58 -5
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.js.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.js +48 -5
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.js.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.template.js +36 -7
- package/dist/components/lists-and-menus/cells/title-cell/title-cell.template.js.map +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.d.ts +5 -0
- package/dist/components/lists-and-menus/list-item/list-item.d.ts.map +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.js +7 -0
- package/dist/components/lists-and-menus/list-item/list-item.js.map +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.styles.js +1 -1
- package/dist/components/lists-and-menus/menu/menu.d.ts +254 -0
- package/dist/components/lists-and-menus/menu/menu.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.i18n.d.ts +1 -0
- package/dist/components/lists-and-menus/menu/menu.i18n.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.i18n.js +1 -0
- package/dist/components/lists-and-menus/menu/menu.i18n.js.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.js +906 -15
- package/dist/components/lists-and-menus/menu/menu.js.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.d.ts +1 -0
- package/dist/components/lists-and-menus/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.js +141 -2
- package/dist/components/lists-and-menus/menu/menu.styles.js.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.template.d.ts +2 -1
- package/dist/components/lists-and-menus/menu/menu.template.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.template.js +60 -0
- package/dist/components/lists-and-menus/menu/menu.template.js.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -1
- package/dist/components/navigation/pagination/pagination.template.js +1 -1
- package/dist/components/{prism-typescript-9LDqHHRS.js → prism-typescript-Cdpexfvg.js} +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js +1 -0
- package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts +7 -4
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts.map +1 -1
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +10 -3
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js.map +1 -1
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js +12 -2
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js.map +1 -1
- package/dist/css/settings.css +30 -17
- package/dist/fonts/JetBrainsMono-Italic[wght].woff2 +0 -0
- package/dist/fonts/JetBrainsMono[wght].woff2 +0 -0
- package/dist/fonts/RijksSansWeb-Italic.woff2 +0 -0
- package/dist/fonts/RijksSansWeb-Regular.woff2 +0 -0
- package/package.json +7 -3
- package/dist/fonts/IBMPlexMono-Bold.woff2 +0 -0
- package/dist/fonts/IBMPlexMono-Regular.woff2 +0 -0
- package/dist/fonts/RijksSansVF-Italic.ttf +0 -0
- package/dist/fonts/RijksSansVF-Regular.ttf +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _a;
|
|
1
|
+
var _a, _b, _c;
|
|
2
2
|
import { css, nothing, html, LitElement, unsafeCSS, svg } from "lit";
|
|
3
3
|
import { property, state, customElement, query } from "lit/decorators.js";
|
|
4
4
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
@@ -433,7 +433,6 @@ const aliases = {
|
|
|
433
433
|
// arrow-u-turn-forward
|
|
434
434
|
"redo": "arrow-u-turn-forward",
|
|
435
435
|
// brackets-ellipsis
|
|
436
|
-
"code": "brackets-ellipsis",
|
|
437
436
|
"embed": "brackets-ellipsis",
|
|
438
437
|
// business-suitcase
|
|
439
438
|
"work": "business-suitcase",
|
|
@@ -462,6 +461,8 @@ const aliases = {
|
|
|
462
461
|
"checked-small": "check-mark-small",
|
|
463
462
|
// chevron-left
|
|
464
463
|
"back": "chevron-left",
|
|
464
|
+
// chevron-left-forward-slash-chevron-right
|
|
465
|
+
"code": "chevron-left-forward-slash-chevron-right",
|
|
465
466
|
// chevron-right
|
|
466
467
|
"forward": "chevron-right",
|
|
467
468
|
// circle-dashed
|
|
@@ -562,6 +563,8 @@ const aliases = {
|
|
|
562
563
|
"attach": "paperclip",
|
|
563
564
|
// pencil
|
|
564
565
|
"write": "pencil",
|
|
566
|
+
// photo
|
|
567
|
+
"image": "photo",
|
|
565
568
|
// pencil-on-square
|
|
566
569
|
"edit": "pencil-on-square",
|
|
567
570
|
// person
|
|
@@ -615,6 +618,8 @@ const aliases = {
|
|
|
615
618
|
// terminal
|
|
616
619
|
"cli": "terminal",
|
|
617
620
|
"console": "terminal",
|
|
621
|
+
// text-quote
|
|
622
|
+
"blockquote": "text-quote",
|
|
618
623
|
// timer
|
|
619
624
|
"countdown": "timer",
|
|
620
625
|
// trash
|
|
@@ -631,7 +636,7 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
631
636
|
["arrow-u-turn-forward", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M14.6 5.4 18.18 9H7a5 5 0 0 0 0 10h2v-2H7a3 3 0 1 1 0-6h11.18l-3.58 3.6L16 16l6-6-6-6z"/>\n</svg>'],
|
|
632
637
|
["arrow-up", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m4 12 8-8 8 8-1.42 1.41L13 7.828V21h-2V7.828L5.42 13.41z"/>\n</svg>'],
|
|
633
638
|
["arrow-up-arrow-down", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m7 3.586 5.707 5.707-1.414 1.414L8 7.414V20H6V7.414l-3.293 3.293-1.414-1.414zM18 4v12.586l3.293-3.293 1.414 1.414L17 20.414l-5.707-5.707 1.414-1.414L16 16.586V4z"/>\n</svg>'],
|
|
634
|
-
["bold", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="
|
|
639
|
+
["bold", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 2a6 6 0 0 1 4.9 9.45A5.98 5.98 0 0 1 13 22H5V2zM9 18h4a2 2 0 1 0 0-4H9zm0-8h3a2 2 0 1 0 0-4H9z"/>\n</svg>'],
|
|
635
640
|
["brackets-ellipsis", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M7 6H4v12h3v2H2V4h5zM22 20h-5v-2h3V6h-3V4h5z"/>\n <path fill="currentColor" d="M7.5 13a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M12 13a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M16.5 13a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3"/>\n</svg>'],
|
|
636
641
|
["bullet-list", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M4.5 16.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M22 19H9v-2h13zM4.5 10.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M22 13H9v-2h13zM4.5 4.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M22 7H9V5h13z"/>\n</svg>'],
|
|
637
642
|
["business-suitcase", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M14 2c1.66 0 3 1.34 3 3v1h2a3 3 0 0 1 3 3v9c0 1.66-1.34 3-3 3H5c-1.66 0-3-1.34-3-3V9a3 3 0 0 1 3-3h2V5a3 3 0 0 1 3-3zM5 8a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1zm5-4a1 1 0 0 0-1 1v1h6V5a1 1 0 0 0-1-1z"/>\n</svg>'],
|
|
@@ -665,13 +670,15 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
665
670
|
["chevron-down-extra-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 13.172 7.4 8.6 6 10l6 6 6-6-1.4-1.4z"/>\n</svg>'],
|
|
666
671
|
["chevron-down-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 14.172 5.4 7.6 4 9l8 8 8-8-1.4-1.4z"/>\n</svg>'],
|
|
667
672
|
["chevron-left", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m8.828 11.7 8.572 8.6-1.4 1.4-10-10 10-10 1.4 1.4z"/>\n</svg>'],
|
|
673
|
+
["chevron-left-chevron-right", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M18.17 12 13.6 7.4 15 6l6 6-6 6-1.4-1.4zM5.83 12l4.57-4.6L9 6l-6 6 6 6 1.4-1.4z"/>\n</svg>'],
|
|
668
674
|
["chevron-left-extra-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m10.828 12 4.572 4.6L14 18l-6-6 6-6 1.4 1.4z"/>\n</svg>'],
|
|
675
|
+
["chevron-left-forward-slash-chevron-right", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M15.04 4.53 10.9 20l-1.94-.52L13.1 4zM8.4 7.4 3.83 12l4.57 4.6L7 18l-6-6 6-6zM23 12l-6 6-1.4-1.4 4.57-4.6-4.57-4.6L17 6z"/>\n</svg>'],
|
|
669
676
|
["chevron-left-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m9.828 12 6.572 6.6L15 20l-8-8 8-8 1.4 1.4z"/>\n</svg>'],
|
|
670
677
|
["chevron-right", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M15.172 11.7 6.6 3.1 8 1.7l10 10-10 10-1.4-1.4z"/>\n</svg>'],
|
|
671
678
|
["chevron-right-extra-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M13.172 12 8.6 7.4 10 6l6 6-6 6-1.4-1.4z"/>\n</svg>'],
|
|
672
679
|
["chevron-right-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M14.172 12 7.6 5.4 9 4l8 8-8 8-1.4-1.4z"/>\n</svg>'],
|
|
673
680
|
["chevron-up", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 8.828 3.4 17.4 2 16 12 6l10 10-1.4 1.4z"/>\n</svg>'],
|
|
674
|
-
["chevron-up-down", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 5.828 7.4 10.4 6 9l6-6 6 6-1.4 1.4zm0 12.344L7.4 13.6 6 15l6 6 6-6-1.4-1.4z"/>\n</svg>'],
|
|
681
|
+
["chevron-up-chevron-down", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 5.828 7.4 10.4 6 9l6-6 6 6-1.4 1.4zm0 12.344L7.4 13.6 6 15l6 6 6-6-1.4-1.4z"/>\n</svg>'],
|
|
675
682
|
["chevron-up-extra-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 10.828 7.4 15.4 6 14l6-6 6 6-1.4 1.4z"/>\n</svg>'],
|
|
676
683
|
["chevron-up-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 9.828 5.4 16.4 4 15l8-8 8 8-1.4 1.4z"/>\n</svg>'],
|
|
677
684
|
["circle-dashed", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path\n fill="currentColor"\n d="M14.59 21.66a10.05 10.05 0 0 1-5.18 0l.52-1.93a8.05 8.05 0 0 0 4.14 0zM5.07 16A8.05 8.05 0 0 0 8 18.93l-1 1.73A10.05 10.05 0 0 1 3.34 17zm15.59 1A10.04 10.04 0 0 1 17 20.66l-1-1.73A8.05 8.05 0 0 0 18.93 16zM4.27 9.93A8 8 0 0 0 4 12a8 8 0 0 0 .27 2.07l-1.93.52a10 10 0 0 1 0-5.18zm17.39-.52a10 10 0 0 1 0 5.18l-.96-.26-.97-.26a8.06 8.06 0 0 0 0-4.14zM8 5.07A8.05 8.05 0 0 0 5.07 8L3.34 7A10.05 10.05 0 0 1 7 3.34zm9-1.73A10.05 10.05 0 0 1 20.66 7l-1.73 1A8.05 8.05 0 0 0 16 5.07zM12 2c.9 0 1.76.12 2.59.34l-.26.96-.26.97A8 8 0 0 0 12 4a8 8 0 0 0-2.07.27L9.4 2.34C10.24 2.12 11.11 2 12 2"\n />\n</svg>'],
|
|
@@ -691,7 +698,7 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
691
698
|
["dismiss-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m17.3 5.3 1.4 1.4-5.29 5.3 5.3 5.3-1.42 1.4L12 13.42l-5.3 5.3-1.4-1.42L10.58 12l-5.3-5.3 1.42-1.4L12 10.58z"/>\n</svg>'],
|
|
692
699
|
["ellipsis", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M5 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4"/>\n</svg>'],
|
|
693
700
|
["envelope", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M19 4a3 3 0 0 1 3 3v10c0 1.66-1.34 3-3 3H5c-1.66 0-3-1.34-3-3V7a3 3 0 0 1 3-3zm-5.5 9.562a3 3 0 0 1-3 0L4 9.81V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9.81zM5 6a1 1 0 0 0-1 1v.5l7.5 4.33a1 1 0 0 0 1 0L20 7.5V7a1 1 0 0 0-1-1z"/>\n</svg>'],
|
|
694
|
-
["euro", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="
|
|
701
|
+
["euro-sign", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M10.25 2.76a7.3 7.3 0 0 1 4.9-.57 8.2 8.2 0 0 1 4.36 2.74L18.1 6.59a6.3 6.3 0 0 0-3.32-2.09 5.6 5.6 0 0 0-3.76.44l-.22.11a7 7 0 0 0-2.7 2.7L7.98 8A8 8 0 0 0 7.52 9H14v2H7.06a9 9 0 0 0 0 2H14v2H7.52q.24.65.58 1.25A7 7 0 0 0 11 19.06a5.6 5.6 0 0 0 3.52.49l.24-.05a6.3 6.3 0 0 0 3.32-2.1l1.42 1.67-.23.26a8 8 0 0 1-4.12 2.48 7.3 7.3 0 0 1-4.62-.44l-.3-.13a9 9 0 0 1-3.63-3.38l-.18-.3Q5.75 16.36 5.4 15H3v-2h2.04a12 12 0 0 1 0-2H3V9h2.4q.31-1.18.86-2.24l.17-.32a9 9 0 0 1 3.82-3.68"/>\n</svg>'],
|
|
695
702
|
["exclamation-circle", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 15a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m1-1.5h-2v-7h2z"/>\n <path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16"/>\n</svg>'],
|
|
696
703
|
["exclamation-triangle", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 14a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m1-1.5h-2v-5h2z"/>\n <path fill="currentColor" d="M11.99 1.968a3 3 0 0 1 2.62 1.538l7.095 12.242q.035.06.062.126a3 3 0 0 1-2.76 4.125H5a3.02 3.02 0 0 1-2.538-1.387 3 3 0 0 1-.248-2.739 1 1 0 0 1 .06-.125L9.37 3.506a3 3 0 0 1 2.62-1.538m0 2c-.373 0-.705.21-.884.533L4.046 16.68c-.097.286-.06.602.104.86a.99.99 0 0 0 .85.459h13.996a1 1 0 0 0 .938-1.32L12.875 4.502a1.02 1.02 0 0 0-.885-.533"/>\n</svg>'],
|
|
697
704
|
["exclamation-triangle-filled", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M11.99 1.968a3 3 0 0 1 2.62 1.538l7.095 12.242q.035.06.062.126a3 3 0 0 1-2.76 4.125H5a3.02 3.02 0 0 1-2.538-1.387 3 3 0 0 1-.248-2.739 1 1 0 0 1 .06-.125L9.37 3.506a3 3 0 0 1 2.62-1.538M12 14a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5m-1-7v5h2V7z"/>\n</svg>'],
|
|
@@ -722,8 +729,8 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
722
729
|
["minus-extra-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M6 11h12v2H6z"/>\n</svg>'],
|
|
723
730
|
["minus-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M4 11h16v2H4z"/>\n</svg>'],
|
|
724
731
|
["moon", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M10.47 2.12a8.99 8.99 0 0 0 11.41 11.4 10 10 0 1 1-11.4-11.4M8 5.07A8 8 0 1 0 18.93 16 11 11 0 0 1 8 5.07"/>\n</svg>'],
|
|
725
|
-
["numbered-list", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M5.
|
|
726
|
-
["paper-plane", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M19.
|
|
732
|
+
["numbered-list", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M5.43 14a2 2 0 0 1 1.3 3.4l-1.1 1.1H7.5V20h-4v-1.5l2.16-2.16a.5.5 0 0 0 .14-.4.5.5 0 0 0-.47-.44.5.5 0 0 0-.51.37l-1.45-.39A2 2 0 0 1 5.43 14M22 19H10v-2h12zM22 13H10v-2h12zM6.5 10H5V5.5H3.5V4h3zM22 7H10V5h12z"/>\n</svg>'],
|
|
733
|
+
["paper-plane", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M19.7 2.74c.96-.31 1.87.6 1.56 1.57l-5.73 17.94c-.4.98-1.8 1.03-2.27.07L10.2 14.5a1.3 1.3 0 0 0-.7-.7l-7.72-3.03c-1.1-.42-1.04-2 .08-2.35zm-7.77 10.75q.08.15.13.29l2.25 5.74 3.94-12.36zm-7.45-3.8 5.74 2.25.3.13 6.32-6.32z"/>\n</svg>'],
|
|
727
734
|
["paperclip", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M8.04 15.21a.75.75 0 1 0 1.06 1.06l8-8a2.5 2.5 0 0 0-3.53-3.54l-8 8a4.25 4.25 0 1 0 6 6.02l8.01-8 1.42 1.4-8 8.01a6.2 6.2 0 0 1-8.85 0 6.2 6.2 0 0 1 0-8.84l8-8a4.5 4.5 0 1 1 6.37 6.36l-8 8a2.75 2.75 0 1 1-3.9-3.88l8.01-8 1.42 1.4z"/>\n</svg>'],
|
|
728
735
|
["pencil", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M21.418 4a2 2 0 0 1 0 2.828L7.246 21H3.003v-4.243L17.175 2.586a2 2 0 0 1 2.828 0zM15.76 6.828 5.003 17.586V19h1.414L17.175 8.243zm1.414-1.414 1.414 1.414 1.414-1.414L18.59 4z"/>\n</svg>'],
|
|
729
736
|
["pencil-on-square", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M10.932 6H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5.927l2-2V19c0 1.66-1.34 3-3 3H5c-1.66 0-3-1.34-3-3V7a3 3 0 0 1 3-3h7.93z"/>\n <path fill="currentColor" d="M17.175 2.586a2 2 0 0 1 2.829 0L21.418 4a2 2 0 0 1 0 2.828L11.246 17H7.003v-4.242zm-8.172 11V15h1.414l6.758-6.758-1.414-1.414zm8.172-8.172 1.414 1.414 1.415-1.414L18.589 4z"/>\n</svg>'],
|
|
@@ -731,11 +738,12 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
731
738
|
["person-2", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M10 14c2.2 0 4 1.8 4 4v3h-2v-3a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3H2v-3c0-2.2 1.8-4 4-4zM22 17v3h-2v-3a2 2 0 0 0-2-2h-3.93a5 5 0 0 0-1.92-1.55A4 4 0 0 1 14 13h4c2.2 0 4 1.8 4 4"/>\n <path fill="currentColor" d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8m0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4M16 3a4 4 0 1 1-3.2 6.4 5 5 0 0 0-.5-3.94A4 4 0 0 1 16 3m0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4"/>\n</svg>'],
|
|
732
739
|
["person-badge-gear", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M18.75 13q.23.02.25.25v.68q.01.19.19.25.35.11.67.28c.1.05.23.04.3-.04l.5-.49c.09-.1.25-.1.34 0L22.07 15c.1.1.1.25 0 .35l-.49.48q-.12.14-.04.3.16.33.28.68.06.18.25.19h.68q.23.02.25.25v1.5q-.02.23-.25.25h-.68a.3.3 0 0 0-.25.19q-.11.35-.28.67c-.05.1-.04.23.04.3l.49.5c.1.09.1.25 0 .34L21 22.07c-.1.1-.25.1-.35 0l-.48-.49a.3.3 0 0 0-.3-.04q-.33.16-.68.28a.3.3 0 0 0-.19.25v.68q-.02.23-.25.25h-1.5a.25.25 0 0 1-.25-.25v-.68a.3.3 0 0 0-.19-.25 4 4 0 0 1-.67-.28.3.3 0 0 0-.3.04l-.5.49c-.09.1-.25.1-.34 0L13.93 21a.25.25 0 0 1 0-.35l.49-.48q.13-.13.04-.3-.16-.33-.28-.68a.3.3 0 0 0-.25-.19h-.68a.25.25 0 0 1-.25-.25v-1.5q.02-.23.25-.25h.68q.2-.01.25-.19.11-.35.28-.67a.3.3 0 0 0-.04-.3l-.49-.5a.25.25 0 0 1 0-.34L15 13.93c.1-.1.25-.1.35 0l.48.49q.14.13.3.04.33-.16.68-.28.18-.06.19-.25v-.68q.02-.23.25-.25zM18 16.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3"/>\n <path fill="currentColor" d="M13.53 14a6 6 0 0 0-1.19 2H9a3 3 0 0 0-3 3v3H4v-3a5 5 0 0 1 5-5z"/>\n <path fill="currentColor" d="M12 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6"/>\n</svg>'],
|
|
733
740
|
["person-circle", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 6a3.25 3.25 0 1 1 0 6.5A3.25 3.25 0 0 1 12 6"/>\n <path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 2a8 8 0 0 0-5.5 13.807V17a3 3 0 0 1 3-3h5a3 3 0 0 1 3 3v.807A8 8 0 0 0 12 4"/>\n</svg>'],
|
|
741
|
+
["photo", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M9 8a2 2 0 1 1 0 4 2 2 0 0 1 0-4"/>\n <path fill="currentColor" d="M19 4a3 3 0 0 1 3 3v10c0 1.666-1.33 3-3 3H5c-1.66 0-3-1.334-3-3V7a3 3 0 0 1 3-3zM5 6a1 1 0 0 0-1 1v9l1.94-1.94a1.5 1.5 0 0 1 2.12 0l1.956 1.956 4.617-4.472a1.5 1.5 0 0 1 2.122.034L20 14.932V7a1 1 0 0 0-1-1z"/>\n</svg>'],
|
|
734
742
|
["plus", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M13 11h9v2h-9v9h-2v-9H2v-2h9V2h2z"/>\n</svg>'],
|
|
735
743
|
["plus-small", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M13 11h7v2h-7v7h-2v-7H4v-2h7V4h2z"/>\n</svg>'],
|
|
736
744
|
["puzzle-piece", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M10.5 1.5A3.5 3.5 0 0 1 14 5v.75c0 .14.11.25.25.25h3.25a1 1 0 0 1 1 1v2.75q.02.23.25.25H19a3.5 3.5 0 1 1 0 7h-.25a.25.25 0 0 0-.25.25V21a1 1 0 0 1-1 1h-4.75a.25.25 0 0 1-.25-.25V20.5a1.5 1.5 0 0 0-3 0v1.25q-.02.23-.25.25H3.5a1 1 0 0 1-1-1v-5.75c0-.14.11-.25.25-.25H4a1.5 1.5 0 0 0 0-3H2.75a.25.25 0 0 1-.25-.25V7a1 1 0 0 1 1-1h3.25c.14 0 .25-.11.25-.25V5a3.5 3.5 0 0 1 3.5-3.5m0 2C9.67 3.5 9 4.17 9 5v.75C9 6.99 8 8 6.75 8H4.5v2.04a3.5 3.5 0 0 1 0 6.92V20h3.04a3.5 3.5 0 0 1 6.92 0h2.04v-2.75c0-1.24 1-2.25 2.25-2.25H19a1.5 1.5 0 0 0 0-3h-.25c-1.24 0-2.25-1-2.25-2.25V8h-2.25C13.01 8 12 7 12 5.75V5c0-.83-.67-1.5-1.5-1.5"/>\n</svg>'],
|
|
737
745
|
["puzzle-piece-filled", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M11 2a2.5 2.5 0 0 1 2.5 2.5v.75c0 .14.11.25.25.25H18a1 1 0 0 1 1 1v3.75q.02.23.25.25H20a2.5 2.5 0 0 1 0 5h-.75a.25.25 0 0 0-.25.25v4.75a1 1 0 0 1-1 1h-4.25a.25.25 0 0 1-.25-.25V20a2.5 2.5 0 0 0-5 0v1.25q-.02.23-.25.25H4a1 1 0 0 1-1-1v-4.25c0-.14.11-.25.25-.25H4.5a2.5 2.5 0 0 0 0-5H3.25a.25.25 0 0 1-.25-.25V6.5a1 1 0 0 1 1-1h4.25c.14 0 .25-.11.25-.25V4.5A2.5 2.5 0 0 1 11 2"/>\n</svg>'],
|
|
738
|
-
["question-mark-circle", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="
|
|
746
|
+
["question-mark-circle", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 15.5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m-.34-9.48a3.5 3.5 0 0 1 2.82 5.95l-1.19 1.2a1 1 0 0 0-.3.7v.65H11v-.64a3 3 0 0 1 .88-2.13l1.19-1.18a1.5 1.5 0 1 0-2.58-1.07H8.5a3.5 3.5 0 0 1 3.16-3.48"/>\n <path fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20m0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16"/>\n</svg>'],
|
|
739
747
|
["rectangle-stack", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M19 8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3zM5 10a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1z"/>\n <path fill="currentColor" d="M18 5a2 2 0 0 1 2 2H4c0-1.1.9-2 2-2zM16 2a2 2 0 0 1 2 2H6c0-1.1.9-2 2-2z"/>\n</svg>'],
|
|
740
748
|
["shield-check-mark", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m16.41 9.41-5.2 5.21L8 11.42 9.41 10l1.8 1.8L15 8z"/>\n <path fill="currentColor" d="M20.39 4.83A14 14 0 0 1 12 22 14 14 0 0 1 3.62 4.8L12 2zM5.28 6.35A12 12 0 0 0 12 19.83a12 12 0 0 0 6.73-13.45L12 4.1z"/>\n</svg>'],
|
|
741
749
|
["ship-wheel", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 2a1 1 0 0 1 1 1v1.063a7.96 7.96 0 0 1 3.903 1.619l.754-.753a1 1 0 0 1 1.414 1.414l-.754.753A7.96 7.96 0 0 1 19.936 11H21a1 1 0 1 1 0 2h-1.064a7.95 7.95 0 0 1-1.619 3.903l.754.754a1 1 0 0 1-1.414 1.414l-.754-.754A7.95 7.95 0 0 1 13 19.936V21a1 1 0 1 1-2 0v-1.064a7.96 7.96 0 0 1-3.904-1.619l-.753.754a1 1 0 0 1-1.414-1.414l.753-.754A7.96 7.96 0 0 1 4.064 13H3a1 1 0 1 1 0-2h1.064a7.96 7.96 0 0 1 1.618-3.904l-.753-.753a1 1 0 0 1 1.414-1.414l.753.753A7.96 7.96 0 0 1 11 4.063V3a1 1 0 0 1 1-1M8.524 16.889A6 6 0 0 0 11 17.915v-3.09a3 3 0 0 1-.291-.12zm4.766-2.185q-.14.068-.29.121v3.09a6 6 0 0 0 2.475-1.026zM6.085 13c.153.911.51 1.752 1.025 2.475l2.185-2.185a3 3 0 0 1-.121-.29zm8.741 0q-.054.15-.122.29l2.185 2.185A6 6 0 0 0 17.915 13zM12 10.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M7.11 8.524A6 6 0 0 0 6.085 11h3.089q.053-.15.12-.291zm7.594 2.185q.069.142.122.291h3.089a6 6 0 0 0-1.026-2.476zM11 6.084A6 6 0 0 0 8.524 7.11l2.185 2.185A3 3 0 0 1 11 9.174zm2 3.09q.15.053.29.12l2.185-2.184A6 6 0 0 0 13 6.084z"/>\n</svg>'],
|
|
@@ -748,9 +756,10 @@ const iconRegistry = /* @__PURE__ */ new Map([
|
|
|
748
756
|
["sun", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M13 22h-2v-3.07c.65.09 1.35.09 2 0zM6.4 16.2q.6.8 1.4 1.4l-2.16 2.18-1.42-1.42zM19.78 18.36l-1.42 1.42-2.17-2.17q.8-.6 1.42-1.42z"/>\n <path fill="currentColor" d="M12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6"/>\n <path fill="currentColor" d="M5.07 11c-.1.65-.1 1.35 0 2H2v-2zM22 13h-3.07c.1-.65.1-1.35 0-2H22zM7.8 6.4Q7 7 6.4 7.8L4.21 5.65l1.42-1.42zM19.78 5.64 17.6 7.8a7 7 0 0 0-1.42-1.42l2.17-2.17zM13 5.07c-.65-.1-1.35-.1-2 0V2h2z"/>\n</svg>'],
|
|
749
757
|
["table-badge-arrow-down", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M18 13a5 5 0 1 1 0 10 5 5 0 0 1 0-10m-.75 5.38-1.49-1.49-1.06 1.06 3.3 3.3 3.3-3.3-1.06-1.06-1.49 1.49V15h-1.5z"/>\n <path fill="currentColor" d="M18 4c1.57 0 3 1.34 3 3v5.8q-.94-.53-2-.72v-1.33h-6v2.5h1.34a6.05 6.05 0 0 0-2 6.75H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3zM5 17a1 1 0 0 0 1 1h5v-2.75H5zm0-3.75h6v-2.5H5zM6 6a1 1 0 0 0-1 1v1.75h6V6zm7 2.75h6V7a1 1 0 0 0-1-1h-5z"/>\n</svg>'],
|
|
750
758
|
["terminal", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="m11.4 12-4 4L6 14.6 8.57 12 6 9.4 7.4 8zM18 16h-6v-2h6z"/>\n <path fill="currentColor" d="M19 4a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3zM5 6a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z"/>\n</svg>'],
|
|
759
|
+
["text-quote", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M17 20H3v-2h14zM21 15.5H3v-2h18zM7.22 6.1a3 3 0 0 0-1.55 1.02A2 2 0 1 1 3 9a5 5 0 0 1 3.7-4.83zM12.22 6.1a3 3 0 0 0-1.55 1.02A2 2 0 1 1 8 9a5 5 0 0 1 3.7-4.83zM21 11h-6.5V9H21zM21 6.5h-6.5v-2H21z"/>\n</svg>'],
|
|
751
760
|
["timer", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M12 2a10 10 0 1 1-8.66 5l1.73 1A8 8 0 1 0 13 4.06V7h-2V2z"/>\n <path fill="currentColor" d="M12.5 11.13a1 1 0 0 1-1 1.74l-5.2-3 1-1.74z"/>\n</svg>'],
|
|
752
761
|
["trash", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" fill-rule="evenodd" d="M8 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2h5v2h-1.08L19 19.046A3 3 0 0 1 16 22H8a3 3 0 0 1-3-2.954L4.08 8H3V6h5zM6.087 8l.91 10.917L7 19a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l.003-.083L17.914 8zM14 6h-4V4h4zm-3 4v8H9v-8zm4 0v8h-2v-8z"/>\n</svg>'],
|
|
753
|
-
["underlined", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M20 22H4v-2h16zM8
|
|
762
|
+
["underlined", '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n <path fill="currentColor" d="M20 22H4v-2h16zM8 13c0 1.33 1.43 3 4 3s4-1.67 4-3V2h2v11c0 2.76-2.69 5-6 5s-6-2.24-6-5V2h2z"/>\n</svg>']
|
|
754
763
|
]);
|
|
755
764
|
var __defProp$1g = Object.defineProperty;
|
|
756
765
|
var __getOwnPropDesc$1f = Object.getOwnPropertyDescriptor;
|
|
@@ -854,6 +863,13 @@ let NLDDButton = class extends LitElement {
|
|
|
854
863
|
if (this.target === "_blank") return "noopener noreferrer";
|
|
855
864
|
return "";
|
|
856
865
|
}
|
|
866
|
+
/**
|
|
867
|
+
* Delegates focus to the inner `<button>` (or `<a>` when `href` is set), so
|
|
868
|
+
* consumers can call `buttonEl.focus()` without reaching into shadow DOM.
|
|
869
|
+
*/
|
|
870
|
+
focus(options) {
|
|
871
|
+
this.shadowRoot?.querySelector(".button")?.focus(options);
|
|
872
|
+
}
|
|
857
873
|
render() {
|
|
858
874
|
return template$n.call(this, {
|
|
859
875
|
handleClick: this._handleClick.bind(this)
|
|
@@ -1722,6 +1738,13 @@ let NLDDIconButton = class extends LitElement {
|
|
|
1722
1738
|
return;
|
|
1723
1739
|
}
|
|
1724
1740
|
}
|
|
1741
|
+
/**
|
|
1742
|
+
* Delegates focus to the inner `<button>` (or `<a>` when `href` is set), so
|
|
1743
|
+
* consumers can call `iconButtonEl.focus()` without reaching into shadow DOM.
|
|
1744
|
+
*/
|
|
1745
|
+
focus(options) {
|
|
1746
|
+
this.shadowRoot?.querySelector(".icon-button")?.focus(options);
|
|
1747
|
+
}
|
|
1725
1748
|
render() {
|
|
1726
1749
|
return template$l.call(this);
|
|
1727
1750
|
}
|
|
@@ -1976,6 +1999,50 @@ const menuStyles = css`
|
|
|
1976
1999
|
.menu__empty {
|
|
1977
2000
|
padding: var(--primitives-space-8);
|
|
1978
2001
|
}
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
/* # Back button — drill-in mode header */
|
|
2005
|
+
|
|
2006
|
+
.menu__back-button {
|
|
2007
|
+
display: flex;
|
|
2008
|
+
flex-direction: row;
|
|
2009
|
+
align-items: center;
|
|
2010
|
+
width: 100%;
|
|
2011
|
+
min-height: var(--_menu-item-size);
|
|
2012
|
+
padding: var(--primitives-space-8);
|
|
2013
|
+
box-sizing: border-box;
|
|
2014
|
+
border: none;
|
|
2015
|
+
border-radius: var(--semantics-controls-md-corner-radius);
|
|
2016
|
+
background: transparent;
|
|
2017
|
+
text-align: start;
|
|
2018
|
+
appearance: none;
|
|
2019
|
+
--context-cell-content-color: var(--semantics-content-secondary-color);
|
|
2020
|
+
|
|
2021
|
+
@media (pointer: fine) {
|
|
2022
|
+
padding: var(--primitives-space-4) var(--primitives-space-8);
|
|
2023
|
+
border-radius: var(--semantics-controls-sm-corner-radius);
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
.menu__back-button:hover,
|
|
2028
|
+
.menu__back-button:active {
|
|
2029
|
+
background-color: var(--components-menu-item-is-highlighted-background-color);
|
|
2030
|
+
--context-cell-content-color: var(--components-menu-item-is-highlighted-content-color);
|
|
2031
|
+
}
|
|
2032
|
+
|
|
2033
|
+
.menu__back-button:focus-visible {
|
|
2034
|
+
position: relative;
|
|
2035
|
+
z-index: 1;
|
|
2036
|
+
outline: var(--semantics-focus-ring-outline);
|
|
2037
|
+
outline-offset: var(--semantics-focus-ring-outline-offset);
|
|
2038
|
+
box-shadow: var(--semantics-focus-ring-box-shadow);
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
.menu__back-button-divider {
|
|
2042
|
+
height: var(--semantics-dividers-thickness);
|
|
2043
|
+
background-color: var(--semantics-dividers-color);
|
|
2044
|
+
margin: var(--primitives-space-4) 0;
|
|
2045
|
+
}
|
|
1979
2046
|
`;
|
|
1980
2047
|
const menuItemStyles = css`
|
|
1981
2048
|
|
|
@@ -2014,9 +2081,36 @@ const menuItemStyles = css`
|
|
|
2014
2081
|
}
|
|
2015
2082
|
|
|
2016
2083
|
|
|
2017
|
-
/* #
|
|
2084
|
+
/* # Open submenu opener
|
|
2085
|
+
*
|
|
2086
|
+
* Lighter, neutral background while the opener's submenu is open and the
|
|
2087
|
+
* cursor has moved into the submenu. The currently-active item is the
|
|
2088
|
+
* one in the submenu; the opener just shows "this branch is active".
|
|
2089
|
+
* macOS-style: subtle, not competing with the highlight.
|
|
2090
|
+
*
|
|
2091
|
+
* When the cursor moves back over the opener (or it's keyboard-focused),
|
|
2092
|
+
* the highlighted/hover rule below upgrades it to the bold accent. */
|
|
2093
|
+
|
|
2094
|
+
.menu__item[aria-expanded="true"] {
|
|
2095
|
+
background-color: var(--components-menu-item-is-open-background-color);
|
|
2096
|
+
--context-cell-content-color: var(--components-menu-item-is-open-content-color);
|
|
2097
|
+
--context-cell-content-secondary-color: var(--components-menu-item-is-open-content-color);
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
|
|
2101
|
+
/* # Highlighted or pressed
|
|
2102
|
+
*
|
|
2103
|
+
* [highlighted] always upgrades to the bold accent — including on openers
|
|
2104
|
+
* with an open submenu. The menu component keeps [highlighted] in sync
|
|
2105
|
+
* with where the user is logically navigating (set by mouseenter,
|
|
2106
|
+
* keyboard nav, or the safe-triangle while in transit; cleared on
|
|
2107
|
+
* peer-hover, submenu-entry, mouseleave, submenu-close), so a stale
|
|
2108
|
+
* highlighted attr on an opener shouldn't occur. The :hover branch
|
|
2109
|
+
* additionally covers the case where the cursor sits directly on an
|
|
2110
|
+
* open opener (since [highlighted] gets cleared at submenu-open time). */
|
|
2018
2111
|
|
|
2019
2112
|
:host([highlighted]) .menu__item,
|
|
2113
|
+
.menu__item[aria-expanded="true"]:hover,
|
|
2020
2114
|
.menu__item:active {
|
|
2021
2115
|
background-color: var(--components-menu-item-is-highlighted-background-color);
|
|
2022
2116
|
--context-cell-content-color: var(--components-menu-item-is-highlighted-content-color);
|
|
@@ -2055,9 +2149,21 @@ const menuItemStyles = css`
|
|
|
2055
2149
|
/* # Forced colors */
|
|
2056
2150
|
|
|
2057
2151
|
@media (forced-colors: active) {
|
|
2058
|
-
|
|
2152
|
+
/* In forced-colors there's no neutral lighter palette, so mark the
|
|
2153
|
+
* open opener with a 1px outline instead of a fill — visibly "active"
|
|
2154
|
+
* without competing with the actual Highlight that lives in the
|
|
2155
|
+
* submenu. The hovered/highlighted branch promotes it back to the
|
|
2156
|
+
* full Highlight fill. */
|
|
2157
|
+
.menu__item[aria-expanded="true"] {
|
|
2158
|
+
outline: 1px solid CanvasText;
|
|
2159
|
+
outline-offset: -1px;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
:host([highlighted]) .menu__item,
|
|
2163
|
+
.menu__item[aria-expanded="true"]:hover {
|
|
2059
2164
|
background-color: Highlight;
|
|
2060
2165
|
color: HighlightText;
|
|
2166
|
+
outline: none;
|
|
2061
2167
|
}
|
|
2062
2168
|
|
|
2063
2169
|
.menu__item:focus-visible {
|
|
@@ -2087,6 +2193,62 @@ const menuDividerStyles = css`
|
|
|
2087
2193
|
background-color: var(--semantics-dividers-color);
|
|
2088
2194
|
}
|
|
2089
2195
|
`;
|
|
2196
|
+
const menuGroupStyles = css`
|
|
2197
|
+
|
|
2198
|
+
|
|
2199
|
+
/* # Host
|
|
2200
|
+
*
|
|
2201
|
+
* Renders an automatic divider above the group via border-top, except when
|
|
2202
|
+
* the group is the first child of the menu (then no divider is needed).
|
|
2203
|
+
* The padding-top below the divider provides generous breathing room above
|
|
2204
|
+
* the title — paired with the tighter margin-bottom on the title itself
|
|
2205
|
+
* this gives the "more space above than below" rhythm that visually binds
|
|
2206
|
+
* the title to the items it labels rather than to whatever sits above.
|
|
2207
|
+
*/
|
|
2208
|
+
|
|
2209
|
+
:host {
|
|
2210
|
+
display: block;
|
|
2211
|
+
border-top: var(--semantics-dividers-thickness) solid var(--semantics-dividers-color);
|
|
2212
|
+
padding-top: var(--primitives-space-6);
|
|
2213
|
+
margin-top: var(--primitives-space-4);
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
:host(:first-child) {
|
|
2217
|
+
border-top: none;
|
|
2218
|
+
padding-top: var(--primitives-space-2);
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
:host([hidden]) {
|
|
2222
|
+
display: none;
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
|
|
2226
|
+
/* # Title */
|
|
2227
|
+
|
|
2228
|
+
.menu-group__title {
|
|
2229
|
+
margin: 0;
|
|
2230
|
+
padding-top: 0;
|
|
2231
|
+
padding-right: var(--primitives-space-8);
|
|
2232
|
+
padding-bottom: var(--primitives-space-1);
|
|
2233
|
+
padding-left: var(--primitives-space-4);
|
|
2234
|
+
font: var(--primitives-font-body-sm-regular-tight);
|
|
2235
|
+
color: var(--semantics-content-secondary-color);
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
|
|
2239
|
+
/* # Items wrapper
|
|
2240
|
+
*
|
|
2241
|
+
* display: block keeps the role="group" wrapper as a real box so the
|
|
2242
|
+
* accessibility tree reliably exposes role + aria-labelledby across all
|
|
2243
|
+
* supported engines (display: contents has historical a11y-tree bugs in
|
|
2244
|
+
* older WebKit/Chromium that drop these). The extra container has no
|
|
2245
|
+
* visual impact: .menu is a flex column, and a block child stacks the
|
|
2246
|
+
* group's items the same as if they were direct children.
|
|
2247
|
+
*/
|
|
2248
|
+
.menu-group__items {
|
|
2249
|
+
display: block;
|
|
2250
|
+
}
|
|
2251
|
+
`;
|
|
2090
2252
|
const menuRoleMap = {
|
|
2091
2253
|
menu: "menu",
|
|
2092
2254
|
listbox: "listbox"
|
|
@@ -2098,11 +2260,28 @@ const itemRoleMap = {
|
|
|
2098
2260
|
};
|
|
2099
2261
|
function menuTemplate(isEmpty, variant) {
|
|
2100
2262
|
const menuRole = isEmpty ? nothing : menuRoleMap[variant];
|
|
2263
|
+
const showBack = this._isSubmenu && this._drillInMode && this._parentItem !== null;
|
|
2101
2264
|
return html`
|
|
2102
2265
|
<div class="menu"
|
|
2103
2266
|
role=${menuRole}
|
|
2104
2267
|
tabindex="-1"
|
|
2105
2268
|
>
|
|
2269
|
+
${showBack ? html`
|
|
2270
|
+
<button class="menu__back-button"
|
|
2271
|
+
type="button"
|
|
2272
|
+
aria-label=${this._resolvedBackLabel}
|
|
2273
|
+
@click=${this._handleBack}
|
|
2274
|
+
@mouseenter=${this._handleBackMouseenter}
|
|
2275
|
+
>
|
|
2276
|
+
<nldd-icon-cell class="menu__back-icon" size="20" icon="chevron-left"></nldd-icon-cell>
|
|
2277
|
+
<nldd-spacer-cell size="6"></nldd-spacer-cell>
|
|
2278
|
+
<nldd-text-cell text=${this._parentItem.text}></nldd-text-cell>
|
|
2279
|
+
</button>
|
|
2280
|
+
<!-- Pure visual divider; role="none" keeps strict ARIA validators
|
|
2281
|
+
quiet (a focusable role="separator" inside a menu would need
|
|
2282
|
+
aria-valuenow et al.; this one is decorative). -->
|
|
2283
|
+
<div class="menu__back-button-divider" role="none"></div>
|
|
2284
|
+
` : nothing}
|
|
2106
2285
|
<slot></slot>
|
|
2107
2286
|
${isEmpty ? html`
|
|
2108
2287
|
<div class="menu__empty">
|
|
@@ -2120,6 +2299,7 @@ function menuTemplate(isEmpty, variant) {
|
|
|
2120
2299
|
function menuItemTemplate(variant = "menu") {
|
|
2121
2300
|
const hasCheckState = this.type !== "button" && variant === "menu";
|
|
2122
2301
|
const role = itemRoleMap[this.type][variant];
|
|
2302
|
+
const hasSubmenu = this._hasSubmenu;
|
|
2123
2303
|
return html`
|
|
2124
2304
|
<button class="menu__item"
|
|
2125
2305
|
type="button"
|
|
@@ -2127,6 +2307,9 @@ function menuItemTemplate(variant = "menu") {
|
|
|
2127
2307
|
?disabled=${this.disabled}
|
|
2128
2308
|
aria-checked=${hasCheckState ? String(this.selected) : nothing}
|
|
2129
2309
|
aria-selected=${variant === "listbox" ? String(this.selected) : nothing}
|
|
2310
|
+
aria-haspopup=${hasSubmenu ? "menu" : nothing}
|
|
2311
|
+
aria-expanded=${hasSubmenu ? String(this._submenuOpen) : nothing}
|
|
2312
|
+
aria-controls=${hasSubmenu && this._submenuEl?.id ? this._submenuEl.id : nothing}
|
|
2130
2313
|
@click=${this._handleClick}
|
|
2131
2314
|
>
|
|
2132
2315
|
${hasCheckState ? html`
|
|
@@ -2151,14 +2334,47 @@ function menuItemTemplate(variant = "menu") {
|
|
|
2151
2334
|
text=${this.details}
|
|
2152
2335
|
></nldd-text-cell>
|
|
2153
2336
|
` : nothing}
|
|
2337
|
+
${hasSubmenu ? html`
|
|
2338
|
+
<nldd-spacer-cell size="6"></nldd-spacer-cell>
|
|
2339
|
+
<nldd-icon-cell class="menu__item-submenu-indicator"
|
|
2340
|
+
size="20"
|
|
2341
|
+
icon="chevron-right"
|
|
2342
|
+
></nldd-icon-cell>
|
|
2343
|
+
` : nothing}
|
|
2154
2344
|
</button>
|
|
2345
|
+
<!--
|
|
2346
|
+
Project the slotted nldd-menu (the submenu, if any) into the flat
|
|
2347
|
+
tree. Without this slot, a light-DOM child nldd-menu sits outside
|
|
2348
|
+
any flat tree — and the Popover API uses the flat tree to locate
|
|
2349
|
+
a popover's ancestor popover. Without an ancestor, calling
|
|
2350
|
+
showPopover() on the submenu would dismiss the parent menu (its
|
|
2351
|
+
DOM ancestor) instead of stacking on top of it. The slot itself
|
|
2352
|
+
has no visible effect because the submenu is display:none until
|
|
2353
|
+
it opens its own popover.
|
|
2354
|
+
-->
|
|
2355
|
+
<slot></slot>
|
|
2155
2356
|
`;
|
|
2156
2357
|
}
|
|
2157
2358
|
function menuDividerTemplate() {
|
|
2158
2359
|
return html`<div class="menu__divider" role="separator"></div>`;
|
|
2159
2360
|
}
|
|
2361
|
+
function menuGroupTemplate(component) {
|
|
2362
|
+
return html`
|
|
2363
|
+
<div class="menu-group__title"
|
|
2364
|
+
id=${component._titleId}
|
|
2365
|
+
aria-hidden="true"
|
|
2366
|
+
>${component.text}</div>
|
|
2367
|
+
<div class="menu-group__items"
|
|
2368
|
+
role="group"
|
|
2369
|
+
aria-labelledby=${component._titleId}
|
|
2370
|
+
>
|
|
2371
|
+
<slot></slot>
|
|
2372
|
+
</div>
|
|
2373
|
+
`;
|
|
2374
|
+
}
|
|
2160
2375
|
const nlddMenuTranslations = {
|
|
2161
|
-
"components.menu.empty-text": "Geen opties beschikbaar"
|
|
2376
|
+
"components.menu.empty-text": "Geen opties beschikbaar",
|
|
2377
|
+
"components.menu.back": "Terug"
|
|
2162
2378
|
};
|
|
2163
2379
|
const iconCellStyles = css`
|
|
2164
2380
|
|
|
@@ -2169,7 +2385,6 @@ const iconCellStyles = css`
|
|
|
2169
2385
|
display: flex;
|
|
2170
2386
|
flex-direction: column;
|
|
2171
2387
|
align-items: center;
|
|
2172
|
-
color: var(--context-cell-content-color, var(--semantics-content-color));
|
|
2173
2388
|
}
|
|
2174
2389
|
|
|
2175
2390
|
:host([hidden]) {
|
|
@@ -2177,9 +2392,9 @@ const iconCellStyles = css`
|
|
|
2177
2392
|
}
|
|
2178
2393
|
|
|
2179
2394
|
|
|
2180
|
-
/* #
|
|
2395
|
+
/* # Vertical alignment */
|
|
2181
2396
|
|
|
2182
|
-
/* ##
|
|
2397
|
+
/* ## Vertical alignment: center (default) */
|
|
2183
2398
|
|
|
2184
2399
|
:host([vertical-alignment="center"]),
|
|
2185
2400
|
:host(:not([vertical-alignment])) {
|
|
@@ -2187,14 +2402,14 @@ const iconCellStyles = css`
|
|
|
2187
2402
|
justify-content: center;
|
|
2188
2403
|
}
|
|
2189
2404
|
|
|
2190
|
-
/* ##
|
|
2405
|
+
/* ## Vertical alignment: top */
|
|
2191
2406
|
|
|
2192
2407
|
:host([vertical-alignment="top"]) {
|
|
2193
2408
|
align-self: flex-start;
|
|
2194
2409
|
justify-content: flex-start;
|
|
2195
2410
|
}
|
|
2196
2411
|
|
|
2197
|
-
/* ##
|
|
2412
|
+
/* ## Vertical alignment: bottom */
|
|
2198
2413
|
|
|
2199
2414
|
:host([vertical-alignment="bottom"]) {
|
|
2200
2415
|
align-self: flex-end;
|
|
@@ -2202,14 +2417,17 @@ const iconCellStyles = css`
|
|
|
2202
2417
|
}
|
|
2203
2418
|
|
|
2204
2419
|
|
|
2205
|
-
/* #
|
|
2420
|
+
/* # Slotted icon */
|
|
2206
2421
|
|
|
2207
2422
|
::slotted(*) {
|
|
2208
2423
|
display: block;
|
|
2209
2424
|
flex-shrink: 0;
|
|
2210
2425
|
}
|
|
2211
2426
|
|
|
2212
|
-
|
|
2427
|
+
|
|
2428
|
+
/* # Size */
|
|
2429
|
+
|
|
2430
|
+
/* ## Size: 16 */
|
|
2213
2431
|
|
|
2214
2432
|
:host([size="16"]) {
|
|
2215
2433
|
width: var(--primitives-space-16);
|
|
@@ -2220,7 +2438,7 @@ const iconCellStyles = css`
|
|
|
2220
2438
|
height: var(--primitives-space-16);
|
|
2221
2439
|
}
|
|
2222
2440
|
|
|
2223
|
-
/* ##
|
|
2441
|
+
/* ## Size: 20 */
|
|
2224
2442
|
|
|
2225
2443
|
:host([size="20"]) {
|
|
2226
2444
|
width: var(--primitives-space-20);
|
|
@@ -2231,9 +2449,10 @@ const iconCellStyles = css`
|
|
|
2231
2449
|
height: var(--primitives-space-20);
|
|
2232
2450
|
}
|
|
2233
2451
|
|
|
2234
|
-
/* ##
|
|
2452
|
+
/* ## Size: 24 (default) */
|
|
2235
2453
|
|
|
2236
|
-
:host([size="24"])
|
|
2454
|
+
:host([size="24"]),
|
|
2455
|
+
:host(:not([size])) {
|
|
2237
2456
|
width: var(--primitives-space-24);
|
|
2238
2457
|
}
|
|
2239
2458
|
|
|
@@ -2243,7 +2462,7 @@ const iconCellStyles = css`
|
|
|
2243
2462
|
height: var(--primitives-space-24);
|
|
2244
2463
|
}
|
|
2245
2464
|
|
|
2246
|
-
/* ##
|
|
2465
|
+
/* ## Size: 32 */
|
|
2247
2466
|
|
|
2248
2467
|
:host([size="32"]) {
|
|
2249
2468
|
width: var(--primitives-space-32);
|
|
@@ -2255,10 +2474,43 @@ const iconCellStyles = css`
|
|
|
2255
2474
|
}
|
|
2256
2475
|
|
|
2257
2476
|
|
|
2258
|
-
/* #
|
|
2477
|
+
/* # Color */
|
|
2259
2478
|
|
|
2260
|
-
:
|
|
2261
|
-
|
|
2479
|
+
/* ## Color: default */
|
|
2480
|
+
|
|
2481
|
+
:host([color="default"]),
|
|
2482
|
+
:host(:not([color])) {
|
|
2483
|
+
color: var(--context-cell-content-color, var(--semantics-content-color));
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
/* ## Color: secondary */
|
|
2487
|
+
|
|
2488
|
+
:host([color="secondary"]) {
|
|
2489
|
+
color: var(--context-cell-content-secondary-color, var(--semantics-content-secondary-color));
|
|
2490
|
+
}
|
|
2491
|
+
|
|
2492
|
+
/* ## Color: accent */
|
|
2493
|
+
|
|
2494
|
+
:host([color="accent"]) {
|
|
2495
|
+
color: var(--context-cell-content-accent-color, var(--semantics-content-accent-color));
|
|
2496
|
+
}
|
|
2497
|
+
|
|
2498
|
+
/* ## Color: success */
|
|
2499
|
+
|
|
2500
|
+
:host([color="success"]) {
|
|
2501
|
+
color: var(--context-cell-content-success-color, var(--semantics-content-success-color));
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
/* ## Color: warning */
|
|
2505
|
+
|
|
2506
|
+
:host([color="warning"]) {
|
|
2507
|
+
color: var(--context-cell-content-warning-color, var(--semantics-content-warning-color));
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
/* ## Color: critical */
|
|
2511
|
+
|
|
2512
|
+
:host([color="critical"]) {
|
|
2513
|
+
color: var(--context-cell-content-critical-color, var(--semantics-content-critical-color));
|
|
2262
2514
|
}
|
|
2263
2515
|
`;
|
|
2264
2516
|
function template$j() {
|
|
@@ -2571,12 +2823,36 @@ const textCellStyles = css`
|
|
|
2571
2823
|
color: var(--context-cell-content-secondary-color, var(--semantics-content-secondary-color));
|
|
2572
2824
|
}
|
|
2573
2825
|
|
|
2574
|
-
/* ## Color:
|
|
2826
|
+
/* ## Color: accent */
|
|
2575
2827
|
|
|
2576
|
-
:host([color='
|
|
2577
|
-
:host([color='
|
|
2578
|
-
:host([color='
|
|
2579
|
-
color:
|
|
2828
|
+
:host([color='accent']) .text-cell__text,
|
|
2829
|
+
:host([color='accent']) .text-cell__overline,
|
|
2830
|
+
:host([color='accent']) .text-cell__supporting-text {
|
|
2831
|
+
color: var(--context-cell-content-accent-color, var(--semantics-content-accent-color));
|
|
2832
|
+
}
|
|
2833
|
+
|
|
2834
|
+
/* ## Color: success */
|
|
2835
|
+
|
|
2836
|
+
:host([color='success']) .text-cell__text,
|
|
2837
|
+
:host([color='success']) .text-cell__overline,
|
|
2838
|
+
:host([color='success']) .text-cell__supporting-text {
|
|
2839
|
+
color: var(--context-cell-content-success-color, var(--semantics-content-success-color));
|
|
2840
|
+
}
|
|
2841
|
+
|
|
2842
|
+
/* ## Color: warning */
|
|
2843
|
+
|
|
2844
|
+
:host([color='warning']) .text-cell__text,
|
|
2845
|
+
:host([color='warning']) .text-cell__overline,
|
|
2846
|
+
:host([color='warning']) .text-cell__supporting-text {
|
|
2847
|
+
color: var(--context-cell-content-warning-color, var(--semantics-content-warning-color));
|
|
2848
|
+
}
|
|
2849
|
+
|
|
2850
|
+
/* ## Color: critical */
|
|
2851
|
+
|
|
2852
|
+
:host([color='critical']) .text-cell__text,
|
|
2853
|
+
:host([color='critical']) .text-cell__overline,
|
|
2854
|
+
:host([color='critical']) .text-cell__supporting-text {
|
|
2855
|
+
color: var(--context-cell-content-critical-color, var(--semantics-content-critical-color));
|
|
2580
2856
|
}
|
|
2581
2857
|
|
|
2582
2858
|
|
|
@@ -2642,9 +2918,27 @@ function renderQueryMark(text, query2, mode = "predictive") {
|
|
|
2642
2918
|
}
|
|
2643
2919
|
function template$i() {
|
|
2644
2920
|
return html`
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2921
|
+
<p
|
|
2922
|
+
class="text-cell__overline"
|
|
2923
|
+
?hidden=${!this.overline && !this._hasOverlineSlotted}
|
|
2924
|
+
>
|
|
2925
|
+
${this.overline && !this._hasOverlineSlotted ? renderQueryMark(this.overline, this.query, this.queryMarkMode) : nothing}
|
|
2926
|
+
<slot name="overline" @slotchange=${this._onSlotChange}></slot>
|
|
2927
|
+
</p>
|
|
2928
|
+
<p
|
|
2929
|
+
class="text-cell__text"
|
|
2930
|
+
?hidden=${!this.text && !this._hasDefaultSlotted}
|
|
2931
|
+
>
|
|
2932
|
+
${this.text && !this._hasDefaultSlotted ? renderQueryMark(this.text, this.query, this.queryMarkMode) : nothing}
|
|
2933
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
2934
|
+
</p>
|
|
2935
|
+
<p
|
|
2936
|
+
class="text-cell__supporting-text"
|
|
2937
|
+
?hidden=${!this.supportingText && !this._hasSupportingTextSlotted}
|
|
2938
|
+
>
|
|
2939
|
+
${this.supportingText && !this._hasSupportingTextSlotted ? renderQueryMark(this.supportingText, this.query, this.queryMarkMode) : nothing}
|
|
2940
|
+
<slot name="supporting-text" @slotchange=${this._onSlotChange}></slot>
|
|
2941
|
+
</p>
|
|
2648
2942
|
`;
|
|
2649
2943
|
}
|
|
2650
2944
|
var __defProp$19 = Object.defineProperty;
|
|
@@ -2670,6 +2964,29 @@ let NLDDTextCell = class extends VisibilityMixin(LitElement) {
|
|
|
2670
2964
|
this.supportingText = "";
|
|
2671
2965
|
this.query = "";
|
|
2672
2966
|
this.queryMarkMode = "predictive";
|
|
2967
|
+
this._hasOverlineSlotted = false;
|
|
2968
|
+
this._hasDefaultSlotted = false;
|
|
2969
|
+
this._hasSupportingTextSlotted = false;
|
|
2970
|
+
this._onSlotChange = (e) => {
|
|
2971
|
+
const slot = e.target;
|
|
2972
|
+
const hasContent = slot.assignedNodes().some((node) => {
|
|
2973
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
2974
|
+
return (node.textContent ?? "").trim().length > 0;
|
|
2975
|
+
}
|
|
2976
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
2977
|
+
});
|
|
2978
|
+
switch (slot.name) {
|
|
2979
|
+
case "overline":
|
|
2980
|
+
this._hasOverlineSlotted = hasContent;
|
|
2981
|
+
break;
|
|
2982
|
+
case "supporting-text":
|
|
2983
|
+
this._hasSupportingTextSlotted = hasContent;
|
|
2984
|
+
break;
|
|
2985
|
+
default:
|
|
2986
|
+
this._hasDefaultSlotted = hasContent;
|
|
2987
|
+
break;
|
|
2988
|
+
}
|
|
2989
|
+
};
|
|
2673
2990
|
}
|
|
2674
2991
|
updated(changed) {
|
|
2675
2992
|
super.updated(changed);
|
|
@@ -2744,6 +3061,15 @@ __decorateClass$1b([
|
|
|
2744
3061
|
__decorateClass$1b([
|
|
2745
3062
|
property({ type: String, attribute: "query-mark-mode" })
|
|
2746
3063
|
], NLDDTextCell.prototype, "queryMarkMode", 2);
|
|
3064
|
+
__decorateClass$1b([
|
|
3065
|
+
state()
|
|
3066
|
+
], NLDDTextCell.prototype, "_hasOverlineSlotted", 2);
|
|
3067
|
+
__decorateClass$1b([
|
|
3068
|
+
state()
|
|
3069
|
+
], NLDDTextCell.prototype, "_hasDefaultSlotted", 2);
|
|
3070
|
+
__decorateClass$1b([
|
|
3071
|
+
state()
|
|
3072
|
+
], NLDDTextCell.prototype, "_hasSupportingTextSlotted", 2);
|
|
2747
3073
|
NLDDTextCell = __decorateClass$1b([
|
|
2748
3074
|
customElement("nldd-text-cell")
|
|
2749
3075
|
], NLDDTextCell);
|
|
@@ -2760,7 +3086,7 @@ const inlineDialogStyles = css`
|
|
|
2760
3086
|
|
|
2761
3087
|
:host {
|
|
2762
3088
|
--_icon-size: var(--primitives-space-48);
|
|
2763
|
-
--_icon-color: var(--
|
|
3089
|
+
--_icon-color: var(--components-inline-dialog-icon-color);
|
|
2764
3090
|
|
|
2765
3091
|
display: flex;
|
|
2766
3092
|
justify-content: center;
|
|
@@ -2773,9 +3099,19 @@ const inlineDialogStyles = css`
|
|
|
2773
3099
|
}
|
|
2774
3100
|
|
|
2775
3101
|
:host([variant='alert']) {
|
|
2776
|
-
--_icon-color:
|
|
3102
|
+
--_icon-color: var(--components-inline-dialog-icon-warning-color);
|
|
3103
|
+
}
|
|
3104
|
+
|
|
3105
|
+
:host([variant='success']) {
|
|
3106
|
+
--_icon-color: var(--components-inline-dialog-icon-success-color);
|
|
2777
3107
|
}
|
|
2778
3108
|
|
|
3109
|
+
:host([icon-color='secondary']) { --_icon-color: var(--components-inline-dialog-icon-secondary-color); }
|
|
3110
|
+
:host([icon-color='accent']) { --_icon-color: var(--components-inline-dialog-icon-accent-color); }
|
|
3111
|
+
:host([icon-color='critical']) { --_icon-color: var(--components-inline-dialog-icon-critical-color); }
|
|
3112
|
+
:host([icon-color='warning']) { --_icon-color: var(--components-inline-dialog-icon-warning-color); }
|
|
3113
|
+
:host([icon-color='success']) { --_icon-color: var(--components-inline-dialog-icon-success-color); }
|
|
3114
|
+
|
|
2779
3115
|
|
|
2780
3116
|
/* # Body */
|
|
2781
3117
|
|
|
@@ -3010,6 +3346,7 @@ let NLDDInlineDialog = class extends LitElement {
|
|
|
3010
3346
|
super(...arguments);
|
|
3011
3347
|
this.variant = "";
|
|
3012
3348
|
this.icon = "";
|
|
3349
|
+
this.iconColor = "";
|
|
3013
3350
|
this.text = "";
|
|
3014
3351
|
this.supportingText = "";
|
|
3015
3352
|
this.headingLevel = null;
|
|
@@ -3018,6 +3355,7 @@ let NLDDInlineDialog = class extends LitElement {
|
|
|
3018
3355
|
}
|
|
3019
3356
|
get _resolvedIconName() {
|
|
3020
3357
|
if (this.variant === "alert") return "alert";
|
|
3358
|
+
if (this.variant === "success") return "success";
|
|
3021
3359
|
if (this.icon) return this.icon;
|
|
3022
3360
|
return "";
|
|
3023
3361
|
}
|
|
@@ -3052,6 +3390,9 @@ __decorateClass$19([
|
|
|
3052
3390
|
__decorateClass$19([
|
|
3053
3391
|
property({ type: String, reflect: true })
|
|
3054
3392
|
], NLDDInlineDialog.prototype, "icon", 2);
|
|
3393
|
+
__decorateClass$19([
|
|
3394
|
+
property({ type: String, reflect: true, attribute: "icon-color" })
|
|
3395
|
+
], NLDDInlineDialog.prototype, "iconColor", 2);
|
|
3055
3396
|
__decorateClass$19([
|
|
3056
3397
|
property({ type: String, reflect: true })
|
|
3057
3398
|
], NLDDInlineDialog.prototype, "text", 2);
|
|
@@ -3071,6 +3412,12 @@ NLDDInlineDialog = __decorateClass$19([
|
|
|
3071
3412
|
customElement("nldd-inline-dialog")
|
|
3072
3413
|
], NLDDInlineDialog);
|
|
3073
3414
|
const POPOVER_REOPEN_GUARD_MS = 100;
|
|
3415
|
+
const breakpoints = {
|
|
3416
|
+
smMax: "640px",
|
|
3417
|
+
mdMin: "641px",
|
|
3418
|
+
mdMax: "1007px",
|
|
3419
|
+
lgMin: "1008px"
|
|
3420
|
+
};
|
|
3074
3421
|
var __defProp$16 = Object.defineProperty;
|
|
3075
3422
|
var __decorateClass$18 = (decorators, target, key, kind) => {
|
|
3076
3423
|
var result = void 0;
|
|
@@ -3090,7 +3437,24 @@ let NLDDMenuDivider = _NLDDMenuDivider;
|
|
|
3090
3437
|
if (!customElements.get("nldd-menu-divider")) {
|
|
3091
3438
|
customElements.define("nldd-menu-divider", NLDDMenuDivider);
|
|
3092
3439
|
}
|
|
3093
|
-
const
|
|
3440
|
+
const _NLDDMenuGroup = (_a = class extends LitElement {
|
|
3441
|
+
constructor() {
|
|
3442
|
+
super(...arguments);
|
|
3443
|
+
this.text = "";
|
|
3444
|
+
this._titleId = `nldd-menu-group-title-${_a._idCounter++}`;
|
|
3445
|
+
}
|
|
3446
|
+
render() {
|
|
3447
|
+
return menuGroupTemplate(this);
|
|
3448
|
+
}
|
|
3449
|
+
}, _a.styles = menuGroupStyles, _a._idCounter = 0, _a);
|
|
3450
|
+
__decorateClass$18([
|
|
3451
|
+
property({ type: String, reflect: true })
|
|
3452
|
+
], _NLDDMenuGroup.prototype, "text");
|
|
3453
|
+
let NLDDMenuGroup = _NLDDMenuGroup;
|
|
3454
|
+
if (!customElements.get("nldd-menu-group")) {
|
|
3455
|
+
customElements.define("nldd-menu-group", NLDDMenuGroup);
|
|
3456
|
+
}
|
|
3457
|
+
const _NLDDMenuItem = (_b = class extends LitElement {
|
|
3094
3458
|
constructor() {
|
|
3095
3459
|
super(...arguments);
|
|
3096
3460
|
this.text = "";
|
|
@@ -3104,27 +3468,70 @@ const _NLDDMenuItem = (_a = class extends LitElement {
|
|
|
3104
3468
|
this.query = "";
|
|
3105
3469
|
this.queryMarkMode = "predictive";
|
|
3106
3470
|
this.menuVariant = "menu";
|
|
3471
|
+
this._submenuOpen = false;
|
|
3472
|
+
this._cachedSubmenuEl = null;
|
|
3473
|
+
this._submenuMutationObserver = null;
|
|
3107
3474
|
}
|
|
3108
3475
|
connectedCallback() {
|
|
3109
3476
|
super.connectedCallback();
|
|
3110
3477
|
if (!this.id) {
|
|
3111
|
-
this.id = `nldd-menu-item-${
|
|
3478
|
+
this.id = `nldd-menu-item-${_b._idCounter++}`;
|
|
3112
3479
|
}
|
|
3113
|
-
this.addEventListener("focusin", () => {
|
|
3480
|
+
this.addEventListener("focusin", (e) => {
|
|
3481
|
+
const realTarget = e.composedPath()[0];
|
|
3482
|
+
if (!realTarget || !this.shadowRoot?.contains(realTarget)) return;
|
|
3114
3483
|
this.setAttribute("data-focused", "");
|
|
3115
3484
|
this.dispatchEvent(new CustomEvent("menu-item-focused", {
|
|
3116
3485
|
bubbles: true,
|
|
3117
3486
|
composed: true
|
|
3118
3487
|
}));
|
|
3119
3488
|
});
|
|
3120
|
-
this.addEventListener("focusout", () =>
|
|
3489
|
+
this.addEventListener("focusout", (e) => {
|
|
3490
|
+
const realTarget = e.composedPath()[0];
|
|
3491
|
+
if (!realTarget || !this.shadowRoot?.contains(realTarget)) return;
|
|
3492
|
+
this.removeAttribute("data-focused");
|
|
3493
|
+
});
|
|
3121
3494
|
}
|
|
3122
3495
|
focus(options) {
|
|
3123
3496
|
const focusable = this.shadowRoot?.querySelector("button, a");
|
|
3124
3497
|
focusable?.focus(options);
|
|
3125
3498
|
}
|
|
3499
|
+
get _submenuEl() {
|
|
3500
|
+
return this._cachedSubmenuEl;
|
|
3501
|
+
}
|
|
3502
|
+
get _hasSubmenu() {
|
|
3503
|
+
return this._cachedSubmenuEl !== null;
|
|
3504
|
+
}
|
|
3505
|
+
firstUpdated() {
|
|
3506
|
+
this._cachedSubmenuEl = this.querySelector(":scope > nldd-menu");
|
|
3507
|
+
if (this._cachedSubmenuEl !== null) {
|
|
3508
|
+
this.requestUpdate();
|
|
3509
|
+
}
|
|
3510
|
+
this._submenuMutationObserver = new MutationObserver(() => {
|
|
3511
|
+
const current = this.querySelector(":scope > nldd-menu");
|
|
3512
|
+
if (current && current !== this._cachedSubmenuEl) {
|
|
3513
|
+
console.warn(
|
|
3514
|
+
"[nldd-menu-item] A nldd-menu child was added after mount. Submenu attachment is resolved once at firstUpdated in v1, so this menu will not be treated as a submenu. Define the nldd-menu child before the item is connected to the DOM."
|
|
3515
|
+
);
|
|
3516
|
+
}
|
|
3517
|
+
});
|
|
3518
|
+
this._submenuMutationObserver.observe(this, { childList: true });
|
|
3519
|
+
}
|
|
3520
|
+
disconnectedCallback() {
|
|
3521
|
+
super.disconnectedCallback();
|
|
3522
|
+
this._submenuMutationObserver?.disconnect();
|
|
3523
|
+
this._submenuMutationObserver = null;
|
|
3524
|
+
}
|
|
3126
3525
|
_handleClick() {
|
|
3127
3526
|
if (this.disabled) return;
|
|
3527
|
+
if (this._hasSubmenu) {
|
|
3528
|
+
this.dispatchEvent(new CustomEvent("submenu-open", {
|
|
3529
|
+
detail: { submenu: this._submenuEl, item: this },
|
|
3530
|
+
bubbles: true,
|
|
3531
|
+
composed: false
|
|
3532
|
+
}));
|
|
3533
|
+
return;
|
|
3534
|
+
}
|
|
3128
3535
|
this.dispatchEvent(new CustomEvent("select", {
|
|
3129
3536
|
bubbles: true,
|
|
3130
3537
|
composed: true
|
|
@@ -3138,7 +3545,7 @@ const _NLDDMenuItem = (_a = class extends LitElement {
|
|
|
3138
3545
|
render() {
|
|
3139
3546
|
return menuItemTemplate.call(this, this.menuVariant);
|
|
3140
3547
|
}
|
|
3141
|
-
},
|
|
3548
|
+
}, _b.styles = menuItemStyles, _b._idCounter = 0, _b);
|
|
3142
3549
|
__decorateClass$18([
|
|
3143
3550
|
property({ type: String, reflect: true })
|
|
3144
3551
|
], _NLDDMenuItem.prototype, "text");
|
|
@@ -3172,6 +3579,9 @@ __decorateClass$18([
|
|
|
3172
3579
|
__decorateClass$18([
|
|
3173
3580
|
state()
|
|
3174
3581
|
], _NLDDMenuItem.prototype, "menuVariant");
|
|
3582
|
+
__decorateClass$18([
|
|
3583
|
+
state()
|
|
3584
|
+
], _NLDDMenuItem.prototype, "_submenuOpen");
|
|
3175
3585
|
let NLDDMenuItem = _NLDDMenuItem;
|
|
3176
3586
|
if (!customElements.get("nldd-menu-item")) {
|
|
3177
3587
|
customElements.define("nldd-menu-item", NLDDMenuItem);
|
|
@@ -3183,7 +3593,7 @@ const defaultFilterFn = (query2, item) => {
|
|
|
3183
3593
|
const aliasesMatch = item.aliases !== "" && item.aliases.split(" ").some((s) => s.toLowerCase().includes(q));
|
|
3184
3594
|
return textMatch || valueMatch || aliasesMatch;
|
|
3185
3595
|
};
|
|
3186
|
-
const _NLDDMenu = class
|
|
3596
|
+
const _NLDDMenu = (_c = class extends LitElement {
|
|
3187
3597
|
constructor() {
|
|
3188
3598
|
super(...arguments);
|
|
3189
3599
|
this.anchor = "";
|
|
@@ -3195,8 +3605,13 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3195
3605
|
this.width = "";
|
|
3196
3606
|
this.maxItems = 0;
|
|
3197
3607
|
this.translations = {};
|
|
3608
|
+
this.debugSafeTriangle = false;
|
|
3198
3609
|
this.filterFn = defaultFilterFn;
|
|
3199
3610
|
this._isEmpty = false;
|
|
3611
|
+
this._activeSubmenu = null;
|
|
3612
|
+
this._activeSubmenuOpener = null;
|
|
3613
|
+
this._parentMenu = null;
|
|
3614
|
+
this._parentItem = null;
|
|
3200
3615
|
this._isOpen = false;
|
|
3201
3616
|
this._closedAt = 0;
|
|
3202
3617
|
this._cleanupAutoUpdate = null;
|
|
@@ -3212,55 +3627,178 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3212
3627
|
this.showPopover();
|
|
3213
3628
|
}
|
|
3214
3629
|
};
|
|
3630
|
+
this._hoverOpenTimer = null;
|
|
3631
|
+
this._hoverCloseTimer = null;
|
|
3632
|
+
this._safeTriangleListener = null;
|
|
3633
|
+
this._safeTriangleStallTimer = null;
|
|
3634
|
+
this._lastCursorPos = null;
|
|
3635
|
+
this._safeTriangleApex = null;
|
|
3636
|
+
this._safeTriangleSubmenu = null;
|
|
3637
|
+
this._movingTowardSubmenu = false;
|
|
3215
3638
|
this._handleMenuItemMouseenter = (event) => {
|
|
3216
3639
|
const item = event.target.closest("nldd-menu-item");
|
|
3217
|
-
if (!item
|
|
3218
|
-
this.
|
|
3640
|
+
if (!item) return;
|
|
3641
|
+
this._activateItem(item);
|
|
3219
3642
|
};
|
|
3220
3643
|
this._handleMouseleave = () => {
|
|
3221
3644
|
if (this.variant !== "listbox") this._clearHighlight();
|
|
3645
|
+
this._cancelHoverOpen();
|
|
3222
3646
|
};
|
|
3647
|
+
this._safeTriangleOverlay = null;
|
|
3223
3648
|
this._handleMenuItemFocused = (event) => {
|
|
3224
3649
|
const item = event.target.closest("nldd-menu-item");
|
|
3225
3650
|
if (!item || item.disabled || item.hasAttribute("hidden")) return;
|
|
3651
|
+
if (item.closest("nldd-menu") !== this) return;
|
|
3226
3652
|
this._setHighlight(item);
|
|
3227
3653
|
};
|
|
3654
|
+
this._handleSubmenuOpen = (event) => {
|
|
3655
|
+
const { item, submenu } = event.detail;
|
|
3656
|
+
if (item.closest("nldd-menu") !== this) return;
|
|
3657
|
+
event.stopPropagation();
|
|
3658
|
+
if (this._activeSubmenu === submenu) return;
|
|
3659
|
+
if (this._activeSubmenu && this._activeSubmenu !== submenu) {
|
|
3660
|
+
this._activeSubmenu.hidePopover?.();
|
|
3661
|
+
}
|
|
3662
|
+
submenu._parentMenu = this;
|
|
3663
|
+
submenu._parentItem = item;
|
|
3664
|
+
if (this._drillInMode) {
|
|
3665
|
+
const root = this._rootMenu;
|
|
3666
|
+
submenu.anchorElement = root._getAnchorEl();
|
|
3667
|
+
submenu.placement = root.placement;
|
|
3668
|
+
} else {
|
|
3669
|
+
submenu.anchorElement = item;
|
|
3670
|
+
submenu.placement = "right-start";
|
|
3671
|
+
}
|
|
3672
|
+
this._activeSubmenu = submenu;
|
|
3673
|
+
this._activeSubmenuOpener = item;
|
|
3674
|
+
item._submenuOpen = true;
|
|
3675
|
+
item.removeAttribute("highlighted");
|
|
3676
|
+
const onToggle = (e) => {
|
|
3677
|
+
const tg = e;
|
|
3678
|
+
if (tg.newState !== "closed") return;
|
|
3679
|
+
submenu.removeEventListener("toggle", onToggle);
|
|
3680
|
+
if (this._activeSubmenu === submenu) {
|
|
3681
|
+
this._activeSubmenu = null;
|
|
3682
|
+
this._activeSubmenuOpener = null;
|
|
3683
|
+
}
|
|
3684
|
+
submenu._parentMenu = null;
|
|
3685
|
+
submenu._parentItem = null;
|
|
3686
|
+
item._submenuOpen = false;
|
|
3687
|
+
if (!item.hasAttribute("data-focused")) {
|
|
3688
|
+
item.removeAttribute("highlighted");
|
|
3689
|
+
}
|
|
3690
|
+
this._cancelHoverClose();
|
|
3691
|
+
this._stopSafeTriangle();
|
|
3692
|
+
this.dispatchEvent(new CustomEvent("submenu-close", {
|
|
3693
|
+
detail: { submenu, item },
|
|
3694
|
+
bubbles: true,
|
|
3695
|
+
composed: false
|
|
3696
|
+
}));
|
|
3697
|
+
};
|
|
3698
|
+
submenu.addEventListener("toggle", onToggle);
|
|
3699
|
+
submenu.showPopover?.();
|
|
3700
|
+
if (!this._drillInMode) {
|
|
3701
|
+
requestAnimationFrame(() => {
|
|
3702
|
+
if (this._activeSubmenu === submenu) {
|
|
3703
|
+
this._startSafeTriangle(submenu);
|
|
3704
|
+
}
|
|
3705
|
+
});
|
|
3706
|
+
}
|
|
3707
|
+
};
|
|
3708
|
+
this._handleBack = () => {
|
|
3709
|
+
this.hidePopover?.();
|
|
3710
|
+
};
|
|
3711
|
+
this._handleBackMouseenter = () => {
|
|
3712
|
+
this._clearHighlight();
|
|
3713
|
+
};
|
|
3714
|
+
this._lastDrillInMode = null;
|
|
3715
|
+
this._handleViewportResize = () => {
|
|
3716
|
+
const current = this._drillInMode;
|
|
3717
|
+
if (this._lastDrillInMode === null) {
|
|
3718
|
+
this._lastDrillInMode = current;
|
|
3719
|
+
return;
|
|
3720
|
+
}
|
|
3721
|
+
if (this._lastDrillInMode === current) return;
|
|
3722
|
+
this._lastDrillInMode = current;
|
|
3723
|
+
if (this._activeSubmenu) {
|
|
3724
|
+
this._activeSubmenu.hidePopover?.();
|
|
3725
|
+
}
|
|
3726
|
+
};
|
|
3727
|
+
this._handleSelectChainClose = () => {
|
|
3728
|
+
this.hidePopover?.();
|
|
3729
|
+
};
|
|
3228
3730
|
this._handleKeydown = (event) => {
|
|
3229
3731
|
const items = this._getVisibleItems();
|
|
3230
3732
|
if (items.length === 0) return;
|
|
3733
|
+
const focusedDescendant = this.querySelector("nldd-menu-item[data-focused]");
|
|
3734
|
+
if (focusedDescendant && focusedDescendant.closest("nldd-menu") !== this) return;
|
|
3231
3735
|
const index = this._getFocusedIndex(items);
|
|
3232
3736
|
switch (event.key) {
|
|
3233
3737
|
case "ArrowDown": {
|
|
3234
3738
|
event.preventDefault();
|
|
3739
|
+
event.stopPropagation();
|
|
3235
3740
|
const next = index === -1 ? 0 : index < items.length - 1 ? index + 1 : 0;
|
|
3236
3741
|
items[next].focus();
|
|
3237
3742
|
break;
|
|
3238
3743
|
}
|
|
3239
3744
|
case "ArrowUp": {
|
|
3240
3745
|
event.preventDefault();
|
|
3746
|
+
event.stopPropagation();
|
|
3241
3747
|
const prev = index === -1 ? items.length - 1 : index > 0 ? index - 1 : items.length - 1;
|
|
3242
3748
|
items[prev].focus();
|
|
3243
3749
|
break;
|
|
3244
3750
|
}
|
|
3245
3751
|
case "Home": {
|
|
3246
3752
|
event.preventDefault();
|
|
3753
|
+
event.stopPropagation();
|
|
3247
3754
|
items[0].focus();
|
|
3248
3755
|
break;
|
|
3249
3756
|
}
|
|
3250
3757
|
case "End": {
|
|
3251
3758
|
event.preventDefault();
|
|
3759
|
+
event.stopPropagation();
|
|
3252
3760
|
items[items.length - 1].focus();
|
|
3253
3761
|
break;
|
|
3254
3762
|
}
|
|
3763
|
+
case "ArrowRight": {
|
|
3764
|
+
const focused = items[index];
|
|
3765
|
+
if (focused?._hasSubmenu) {
|
|
3766
|
+
event.preventDefault();
|
|
3767
|
+
event.stopPropagation();
|
|
3768
|
+
focused._handleClick();
|
|
3769
|
+
requestAnimationFrame(() => {
|
|
3770
|
+
this._activeSubmenu?._getVisibleItems()[0]?.focus();
|
|
3771
|
+
});
|
|
3772
|
+
}
|
|
3773
|
+
break;
|
|
3774
|
+
}
|
|
3775
|
+
case "ArrowLeft": {
|
|
3776
|
+
if (this._isSubmenu) {
|
|
3777
|
+
event.preventDefault();
|
|
3778
|
+
event.stopPropagation();
|
|
3779
|
+
const parentItem = this._parentItem;
|
|
3780
|
+
this.hidePopover();
|
|
3781
|
+
parentItem?.focus();
|
|
3782
|
+
}
|
|
3783
|
+
break;
|
|
3784
|
+
}
|
|
3255
3785
|
case "Escape": {
|
|
3256
3786
|
event.preventDefault();
|
|
3787
|
+
event.stopPropagation();
|
|
3257
3788
|
this.hidePopover();
|
|
3258
|
-
const
|
|
3259
|
-
|
|
3789
|
+
const focusTarget = this._isSubmenu ? this._parentItem : this._getAnchorEl();
|
|
3790
|
+
focusTarget?.focus();
|
|
3260
3791
|
break;
|
|
3261
3792
|
}
|
|
3793
|
+
default: {
|
|
3794
|
+
if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
3795
|
+
this._handleTypeahead(event, items, index);
|
|
3796
|
+
}
|
|
3797
|
+
}
|
|
3262
3798
|
}
|
|
3263
3799
|
};
|
|
3800
|
+
this._typeaheadBuffer = "";
|
|
3801
|
+
this._typeaheadTimer = null;
|
|
3264
3802
|
this._handleToggle = async (event) => {
|
|
3265
3803
|
const toggleEvent = event;
|
|
3266
3804
|
this._isOpen = toggleEvent.newState === "open";
|
|
@@ -3304,6 +3842,15 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3304
3842
|
get _resolvedEmptyText() {
|
|
3305
3843
|
return this.emptyText || this._t("components.menu.empty-text");
|
|
3306
3844
|
}
|
|
3845
|
+
/** Accessible name for the drill-in back button. Prefixes the parent
|
|
3846
|
+
* item's label with the localised "back" word so AT announces "Back:
|
|
3847
|
+
* Bestand" instead of an ambiguous "Bestand, button". Only used when
|
|
3848
|
+
* this menu is itself a submenu in drill-in mode. */
|
|
3849
|
+
get _resolvedBackLabel() {
|
|
3850
|
+
const back = this._t("components.menu.back");
|
|
3851
|
+
const parent = this._parentItem?.text ?? "";
|
|
3852
|
+
return parent ? `${back}: ${parent}` : back;
|
|
3853
|
+
}
|
|
3307
3854
|
// — Lifecycle ——————————————————————————————————————————————————————————————
|
|
3308
3855
|
updated(changedProperties) {
|
|
3309
3856
|
if (changedProperties.has("width")) {
|
|
@@ -3332,9 +3879,322 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3332
3879
|
if (this.anchor) return document.getElementById(this.anchor);
|
|
3333
3880
|
return null;
|
|
3334
3881
|
}
|
|
3335
|
-
|
|
3882
|
+
/**
|
|
3883
|
+
* Item-activation logic shared between the native `mouseenter` capture
|
|
3884
|
+
* handler and the safe-triangle recovery paths (sideways exit, direction
|
|
3885
|
+
* reversal, stall dismissal). Those paths know which item is under the
|
|
3886
|
+
* cursor — they don't need to synthesize a MouseEvent just to re-enter
|
|
3887
|
+
* the handler. Factoring out the body keeps the entry contracts honest:
|
|
3888
|
+
* the recovery sites pass an already-resolved item rather than relying
|
|
3889
|
+
* on `event.target` semantics they'd have to fake.
|
|
3890
|
+
*/
|
|
3891
|
+
_activateItem(item) {
|
|
3892
|
+
if (item.disabled || item.hasAttribute("hidden")) return;
|
|
3893
|
+
if (item.closest("nldd-menu") !== this) return;
|
|
3894
|
+
if (this._movingTowardSubmenu && item !== this._activeSubmenuOpener) return;
|
|
3895
|
+
this._setHighlight(item);
|
|
3896
|
+
this._cancelHoverClose();
|
|
3897
|
+
if (this._drillInMode) return;
|
|
3898
|
+
if (this._activeSubmenu && item !== this._activeSubmenuOpener) {
|
|
3899
|
+
this._activeSubmenu.hidePopover?.();
|
|
3900
|
+
}
|
|
3901
|
+
this._cancelHoverOpen();
|
|
3902
|
+
if (item._hasSubmenu && this._activeSubmenuOpener !== item) {
|
|
3903
|
+
this._hoverOpenTimer = window.setTimeout(() => {
|
|
3904
|
+
this._hoverOpenTimer = null;
|
|
3905
|
+
item._handleClick();
|
|
3906
|
+
}, 150);
|
|
3907
|
+
}
|
|
3908
|
+
}
|
|
3909
|
+
/** Resolve the menu-item under a viewport point and activate it via
|
|
3910
|
+
* `_activateItem`. Used by safe-triangle recovery paths whose natural
|
|
3911
|
+
* mouseenter has already fired (and bailed) — they need to re-trigger
|
|
3912
|
+
* activation without synthesizing a MouseEvent. */
|
|
3913
|
+
_activateItemAt(p) {
|
|
3914
|
+
const el = document.elementFromPoint(p.x, p.y);
|
|
3915
|
+
const item = el?.closest("nldd-menu-item");
|
|
3916
|
+
if (item) this._activateItem(item);
|
|
3917
|
+
}
|
|
3918
|
+
/** Start the global mouse tracker that powers the safe triangle. Called
|
|
3919
|
+
* by _handleSubmenuOpen when a submenu opens in cascade mode. The
|
|
3920
|
+
* listener is a thin orchestrator over the named phase methods below. */
|
|
3921
|
+
_startSafeTriangle(submenu) {
|
|
3922
|
+
this._stopSafeTriangle();
|
|
3923
|
+
this._lastCursorPos = null;
|
|
3924
|
+
this._safeTriangleApex = null;
|
|
3925
|
+
this._safeTriangleSubmenu = submenu;
|
|
3926
|
+
this._movingTowardSubmenu = false;
|
|
3927
|
+
this._safeTriangleListener = (e) => {
|
|
3928
|
+
const p = { x: e.clientX, y: e.clientY };
|
|
3929
|
+
const r = submenu.getBoundingClientRect();
|
|
3930
|
+
if (_c._isPointInMenuTree(p, submenu)) {
|
|
3931
|
+
this._safeTriangleArrived(p);
|
|
3932
|
+
return;
|
|
3933
|
+
}
|
|
3934
|
+
const openerRect = this._activeSubmenuOpener?.getBoundingClientRect();
|
|
3935
|
+
const cursorOnOpener = _c._rectContainsPoint(openerRect, p);
|
|
3936
|
+
const lastOnOpener = _c._rectContainsPoint(openerRect, this._lastCursorPos);
|
|
3937
|
+
if (this._safeTriangleApex !== null && cursorOnOpener) {
|
|
3938
|
+
this._safeTriangleApex = null;
|
|
3939
|
+
}
|
|
3940
|
+
const wasMoving = this._movingTowardSubmenu;
|
|
3941
|
+
if (this._safeTriangleApex === null) {
|
|
3942
|
+
if (cursorOnOpener) {
|
|
3943
|
+
this._safeTriangleWaitOnOpener(p, r, openerRect);
|
|
3944
|
+
return;
|
|
3945
|
+
}
|
|
3946
|
+
if (openerRect && lastOnOpener && (p.y > openerRect.bottom || p.y < openerRect.top)) {
|
|
3947
|
+
this._safeTrianglePinApex(p, openerRect);
|
|
3948
|
+
} else {
|
|
3949
|
+
this._safeTriangleSidewaysExit(p, wasMoving);
|
|
3950
|
+
}
|
|
3951
|
+
} else {
|
|
3952
|
+
this._safeTrianglePolygonTest(p, r);
|
|
3953
|
+
}
|
|
3954
|
+
this._lastCursorPos = p;
|
|
3955
|
+
this._safeTriangleSyncOpenerHighlight();
|
|
3956
|
+
this._safeTriangleDirectionReversalRecovery(p, wasMoving);
|
|
3957
|
+
this._safeTriangleScheduleStall();
|
|
3958
|
+
if (this._movingTowardSubmenu) {
|
|
3959
|
+
this._cancelHoverClose();
|
|
3960
|
+
return;
|
|
3961
|
+
}
|
|
3962
|
+
this._safeTriangleMaybeScheduleLingerClose(p);
|
|
3963
|
+
};
|
|
3964
|
+
window.addEventListener("mousemove", this._safeTriangleListener);
|
|
3965
|
+
}
|
|
3966
|
+
// — Safe-triangle phase methods ————————————————————————————————————————
|
|
3967
|
+
/** Cursor entered the submenu (or any nested submenu) — clean up triangle
|
|
3968
|
+
* state but leave the window mousemove listener alive. The listener still
|
|
3969
|
+
* needs to fire while the cursor is inside the submenu so we can detect a
|
|
3970
|
+
* return trip to the opener and re-pin a fresh apex for another exit. */
|
|
3971
|
+
_safeTriangleArrived(p) {
|
|
3972
|
+
this._movingTowardSubmenu = false;
|
|
3973
|
+
this._cancelHoverClose();
|
|
3974
|
+
this._lastCursorPos = p;
|
|
3975
|
+
this._safeTriangleApex = null;
|
|
3976
|
+
this._activeSubmenuOpener?.removeAttribute("highlighted");
|
|
3977
|
+
this._removeSafeTriangleOverlay();
|
|
3978
|
+
}
|
|
3979
|
+
/** Cursor still on the opener — wait for an exit direction. Sets the
|
|
3980
|
+
* "in transit" flag (so brief peer pass-throughs don't activate) and
|
|
3981
|
+
* renders a live debug preview that follows the cursor. */
|
|
3982
|
+
_safeTriangleWaitOnOpener(p, r, openerRect) {
|
|
3983
|
+
this._movingTowardSubmenu = true;
|
|
3984
|
+
this._lastCursorPos = p;
|
|
3985
|
+
if (this._activeSubmenuOpener && !this._activeSubmenuOpener.hasAttribute("highlighted")) {
|
|
3986
|
+
this._setHighlight(this._activeSubmenuOpener);
|
|
3987
|
+
}
|
|
3988
|
+
if (this.debugSafeTriangle && openerRect) {
|
|
3989
|
+
const nearX = p.x < r.left ? r.left : r.right;
|
|
3990
|
+
this._renderSafeTriangleOverlay([
|
|
3991
|
+
{ x: p.x - _c._SAFE_TRIANGLE_APEX_X_OFFSET, y: p.y },
|
|
3992
|
+
{ x: nearX, y: r.top },
|
|
3993
|
+
{ x: nearX, y: r.bottom }
|
|
3994
|
+
]);
|
|
3995
|
+
}
|
|
3996
|
+
}
|
|
3997
|
+
/** Cursor crossed the opener's top or bottom edge — pin apex there.
|
|
3998
|
+
* x is clamped to the opener's range so the wedge starts at the visual
|
|
3999
|
+
* edge regardless of how far past the edge this mousemove sample is, then
|
|
4000
|
+
* shifted by _SAFE_TRIANGLE_APEX_X_OFFSET to widen the wedge at the
|
|
4001
|
+
* cursor side (the 4px headroom that makes brief diagonal wobble forgive). */
|
|
4002
|
+
_safeTrianglePinApex(p, openerRect) {
|
|
4003
|
+
const apexX = Math.max(openerRect.left, Math.min(openerRect.right, p.x)) - _c._SAFE_TRIANGLE_APEX_X_OFFSET;
|
|
4004
|
+
const apexY = p.y > openerRect.bottom ? openerRect.bottom : openerRect.top;
|
|
4005
|
+
this._safeTriangleApex = { x: apexX, y: apexY };
|
|
4006
|
+
this._movingTowardSubmenu = true;
|
|
4007
|
+
}
|
|
4008
|
+
/** Cursor exited the opener sideways (left/right) or with no opener
|
|
4009
|
+
* history — no triangle protection. Drop the flag and the overlay,
|
|
4010
|
+
* and synthesize mouseenter on the element under the cursor so peers
|
|
4011
|
+
* activate immediately (the natural mouseenter fired with flag=true
|
|
4012
|
+
* during the on-opener phase and got bailed). */
|
|
4013
|
+
_safeTriangleSidewaysExit(p, wasMoving) {
|
|
4014
|
+
this._movingTowardSubmenu = false;
|
|
4015
|
+
this._lastCursorPos = p;
|
|
4016
|
+
this._removeSafeTriangleOverlay();
|
|
4017
|
+
if (wasMoving) this._activateItemAt(p);
|
|
4018
|
+
}
|
|
4019
|
+
/** Apex pinned — test whether the current cursor position is inside the
|
|
4020
|
+
* wedge. Picks the submenu edge facing the cursor (left for right-start,
|
|
4021
|
+
* right when floating-ui flipped it). */
|
|
4022
|
+
_safeTrianglePolygonTest(p, r) {
|
|
4023
|
+
const nearX = p.x < r.left ? r.left : r.right;
|
|
4024
|
+
const apex = this._safeTriangleApex;
|
|
4025
|
+
const wedge = [
|
|
4026
|
+
apex,
|
|
4027
|
+
{ x: nearX, y: r.top },
|
|
4028
|
+
{ x: nearX, y: r.bottom }
|
|
4029
|
+
];
|
|
4030
|
+
this._movingTowardSubmenu = _c._pointInPolygon(p, wedge);
|
|
4031
|
+
if (this.debugSafeTriangle) {
|
|
4032
|
+
this._renderSafeTriangleOverlay(wedge);
|
|
4033
|
+
}
|
|
4034
|
+
}
|
|
4035
|
+
/** Sync opener highlight with the in-transit flag. Uses _setHighlight so
|
|
4036
|
+
* any peer that briefly got highlighted (e.g. via the synthetic
|
|
4037
|
+
* mouseenter on a wedge-edge wobble) is cleared. Skip when the opener
|
|
4038
|
+
* already has the attribute to avoid DOM churn each frame. */
|
|
4039
|
+
_safeTriangleSyncOpenerHighlight() {
|
|
4040
|
+
if (this._activeSubmenuOpener && this._movingTowardSubmenu && !this._activeSubmenuOpener.hasAttribute("highlighted")) {
|
|
4041
|
+
this._setHighlight(this._activeSubmenuOpener);
|
|
4042
|
+
}
|
|
4043
|
+
}
|
|
4044
|
+
/** When the in-transit flag flips true → false, the cursor may already
|
|
4045
|
+
* be sitting on a peer item whose natural mouseenter fired (and bailed)
|
|
4046
|
+
* earlier. mouseenter won't re-fire until the cursor leaves and re-
|
|
4047
|
+
* enters, so synthesize one here to activate the peer immediately. */
|
|
4048
|
+
_safeTriangleDirectionReversalRecovery(p, wasMoving) {
|
|
4049
|
+
if (!wasMoving || this._movingTowardSubmenu) return;
|
|
4050
|
+
this._activateItemAt(p);
|
|
4051
|
+
}
|
|
4052
|
+
/** Re-arm the stall-dismissal timer. If the cursor sits motionless
|
|
4053
|
+
* inside the safe triangle long enough, drop the protection so the
|
|
4054
|
+
* element under the cursor can become interactive without nudging. */
|
|
4055
|
+
_safeTriangleScheduleStall() {
|
|
4056
|
+
if (this._safeTriangleStallTimer !== null) {
|
|
4057
|
+
clearTimeout(this._safeTriangleStallTimer);
|
|
4058
|
+
this._safeTriangleStallTimer = null;
|
|
4059
|
+
}
|
|
4060
|
+
if (!this._movingTowardSubmenu) return;
|
|
4061
|
+
this._safeTriangleStallTimer = window.setTimeout(() => {
|
|
4062
|
+
this._safeTriangleStallTimer = null;
|
|
4063
|
+
this._movingTowardSubmenu = false;
|
|
4064
|
+
this._safeTriangleApex = null;
|
|
4065
|
+
if (this._lastCursorPos) this._activateItemAt(this._lastCursorPos);
|
|
4066
|
+
}, _c._SAFE_TRIANGLE_STALL_DISMISS_MS);
|
|
4067
|
+
}
|
|
4068
|
+
/** Schedule submenu close when cursor sits outside the parent menu rect.
|
|
4069
|
+
* No-op if cursor is inside the menu (peer-hover logic handles it) or
|
|
4070
|
+
* if a close is already scheduled. */
|
|
4071
|
+
_safeTriangleMaybeScheduleLingerClose(p) {
|
|
4072
|
+
const submenu = this._safeTriangleSubmenu;
|
|
4073
|
+
if (!submenu) return;
|
|
4074
|
+
const rootRect = this.getBoundingClientRect();
|
|
4075
|
+
const inRoot = _c._rectContainsPoint(rootRect, p);
|
|
4076
|
+
if (!inRoot && this._hoverCloseTimer === null) {
|
|
4077
|
+
this._hoverCloseTimer = window.setTimeout(() => {
|
|
4078
|
+
this._hoverCloseTimer = null;
|
|
4079
|
+
if (this._activeSubmenu === submenu) {
|
|
4080
|
+
submenu.hidePopover?.();
|
|
4081
|
+
}
|
|
4082
|
+
}, _c._SUBMENU_LINGER_CLOSE_MS);
|
|
4083
|
+
}
|
|
4084
|
+
}
|
|
4085
|
+
/** True when the rect contains the point (inclusive). Returns false for
|
|
4086
|
+
* a missing rect or point — convenient for the optional-chained call
|
|
4087
|
+
* sites in the safe-triangle logic. */
|
|
4088
|
+
static _rectContainsPoint(rect, point) {
|
|
4089
|
+
return !!rect && !!point && point.x >= rect.left && point.x <= rect.right && point.y >= rect.top && point.y <= rect.bottom;
|
|
4090
|
+
}
|
|
4091
|
+
_stopSafeTriangle() {
|
|
4092
|
+
if (this._safeTriangleListener !== null) {
|
|
4093
|
+
window.removeEventListener("mousemove", this._safeTriangleListener);
|
|
4094
|
+
this._safeTriangleListener = null;
|
|
4095
|
+
}
|
|
4096
|
+
if (this._safeTriangleStallTimer !== null) {
|
|
4097
|
+
clearTimeout(this._safeTriangleStallTimer);
|
|
4098
|
+
this._safeTriangleStallTimer = null;
|
|
4099
|
+
}
|
|
4100
|
+
this._lastCursorPos = null;
|
|
4101
|
+
this._safeTriangleApex = null;
|
|
4102
|
+
this._safeTriangleSubmenu = null;
|
|
4103
|
+
this._movingTowardSubmenu = false;
|
|
4104
|
+
this._removeSafeTriangleOverlay();
|
|
4105
|
+
}
|
|
4106
|
+
_renderSafeTriangleOverlay(vertices) {
|
|
4107
|
+
const NS = "http://www.w3.org/2000/svg";
|
|
4108
|
+
if (this._safeTriangleOverlay === null) {
|
|
4109
|
+
const wrapper = document.createElement("div");
|
|
4110
|
+
wrapper.setAttribute("popover", "manual");
|
|
4111
|
+
wrapper.setAttribute("aria-hidden", "true");
|
|
4112
|
+
wrapper.style.cssText = "position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;border:0;padding:0;margin:0;background:transparent;overflow:visible;";
|
|
4113
|
+
const svg2 = document.createElementNS(NS, "svg");
|
|
4114
|
+
svg2.setAttribute("width", "100%");
|
|
4115
|
+
svg2.setAttribute("height", "100%");
|
|
4116
|
+
const polygon2 = document.createElementNS(NS, "polygon");
|
|
4117
|
+
polygon2.setAttribute("fill", "rgba(255, 0, 128, 0.15)");
|
|
4118
|
+
polygon2.setAttribute("stroke", "rgba(255, 0, 128, 0.85)");
|
|
4119
|
+
polygon2.setAttribute("stroke-width", "1");
|
|
4120
|
+
svg2.appendChild(polygon2);
|
|
4121
|
+
wrapper.appendChild(svg2);
|
|
4122
|
+
document.body.appendChild(wrapper);
|
|
4123
|
+
wrapper.showPopover();
|
|
4124
|
+
this._safeTriangleOverlay = wrapper;
|
|
4125
|
+
}
|
|
4126
|
+
const polygon = this._safeTriangleOverlay.querySelector("polygon");
|
|
4127
|
+
polygon.setAttribute("points", vertices.map((v) => `${v.x},${v.y}`).join(" "));
|
|
4128
|
+
}
|
|
4129
|
+
_removeSafeTriangleOverlay() {
|
|
4130
|
+
this._safeTriangleOverlay?.hidePopover?.();
|
|
4131
|
+
this._safeTriangleOverlay?.remove();
|
|
4132
|
+
this._safeTriangleOverlay = null;
|
|
4133
|
+
}
|
|
4134
|
+
_cancelHoverOpen() {
|
|
4135
|
+
if (this._hoverOpenTimer !== null) {
|
|
4136
|
+
clearTimeout(this._hoverOpenTimer);
|
|
4137
|
+
this._hoverOpenTimer = null;
|
|
4138
|
+
}
|
|
4139
|
+
}
|
|
4140
|
+
_cancelHoverClose() {
|
|
4141
|
+
if (this._hoverCloseTimer !== null) {
|
|
4142
|
+
clearTimeout(this._hoverCloseTimer);
|
|
4143
|
+
this._hoverCloseTimer = null;
|
|
4144
|
+
}
|
|
4145
|
+
}
|
|
4146
|
+
/** Recursively checks whether a point sits inside the given menu OR any of
|
|
4147
|
+
* its descendant submenus. Used by the hover guard so a cursor deep inside
|
|
4148
|
+
* a nested submenu still reads as "in the safe area" for ancestor menus —
|
|
4149
|
+
* without this, an ancestor's linger-close fires and cascades the whole
|
|
4150
|
+
* chain shut. */
|
|
4151
|
+
static _isPointInMenuTree(p, menu) {
|
|
4152
|
+
const r = menu.getBoundingClientRect();
|
|
4153
|
+
if (p.x >= r.left && p.x <= r.right && p.y >= r.top && p.y <= r.bottom) return true;
|
|
4154
|
+
if (menu._activeSubmenu) return _c._isPointInMenuTree(p, menu._activeSubmenu);
|
|
4155
|
+
return false;
|
|
4156
|
+
}
|
|
4157
|
+
/** Convex point-in-polygon test via consistent edge-cross-product sign.
|
|
4158
|
+
* Vertices must be ordered (clockwise or counter-clockwise). */
|
|
4159
|
+
static _pointInPolygon(p, vertices) {
|
|
4160
|
+
let hasNeg = false;
|
|
4161
|
+
let hasPos = false;
|
|
4162
|
+
for (let i = 0; i < vertices.length; i++) {
|
|
4163
|
+
const a = vertices[i];
|
|
4164
|
+
const b = vertices[(i + 1) % vertices.length];
|
|
4165
|
+
const cross = (p.x - b.x) * (a.y - b.y) - (a.x - b.x) * (p.y - b.y);
|
|
4166
|
+
if (cross < 0) hasNeg = true;
|
|
4167
|
+
if (cross > 0) hasPos = true;
|
|
4168
|
+
if (hasNeg && hasPos) return false;
|
|
4169
|
+
}
|
|
4170
|
+
return true;
|
|
4171
|
+
}
|
|
4172
|
+
static _getDrillInModeQuery() {
|
|
4173
|
+
if (_c._drillInModeQuery === null) {
|
|
4174
|
+
_c._drillInModeQuery = matchMedia(`(pointer: coarse), (max-width: ${breakpoints.smMax})`);
|
|
4175
|
+
}
|
|
4176
|
+
return _c._drillInModeQuery;
|
|
4177
|
+
}
|
|
4178
|
+
get _drillInMode() {
|
|
4179
|
+
return _c._getDrillInModeQuery().matches;
|
|
4180
|
+
}
|
|
4181
|
+
/** Walks the parent-menu chain up to the root (the menu that wasn't
|
|
4182
|
+
* opened by another menu — has no _parentMenu). */
|
|
4183
|
+
get _rootMenu() {
|
|
4184
|
+
let m = this;
|
|
4185
|
+
while (m._parentMenu) m = m._parentMenu;
|
|
4186
|
+
return m;
|
|
4187
|
+
}
|
|
4188
|
+
/** True when this menu is itself a submenu (was opened by another menu's
|
|
4189
|
+
* item). The root menu returns false. */
|
|
4190
|
+
get _isSubmenu() {
|
|
4191
|
+
return this._parentMenu !== null;
|
|
4192
|
+
}
|
|
3336
4193
|
connectedCallback() {
|
|
3337
4194
|
super.connectedCallback();
|
|
4195
|
+
if (!this.id) {
|
|
4196
|
+
this.id = `nldd-menu-${_c._menuIdCounter++}`;
|
|
4197
|
+
}
|
|
3338
4198
|
if (!this.hasAttribute("popover")) {
|
|
3339
4199
|
this.setAttribute("popover", "");
|
|
3340
4200
|
}
|
|
@@ -3343,19 +4203,35 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3343
4203
|
this.addEventListener("mouseenter", this._handleMenuItemMouseenter, true);
|
|
3344
4204
|
this.addEventListener("mouseleave", this._handleMouseleave);
|
|
3345
4205
|
this.addEventListener("menu-item-focused", this._handleMenuItemFocused);
|
|
4206
|
+
this.addEventListener("submenu-open", this._handleSubmenuOpen);
|
|
4207
|
+
this.addEventListener("select", this._handleSelectChainClose);
|
|
3346
4208
|
document.addEventListener("click", this._handleDocumentClick);
|
|
4209
|
+
_c._getDrillInModeQuery().addEventListener("change", this._handleViewportResize);
|
|
3347
4210
|
}
|
|
3348
4211
|
firstUpdated() {
|
|
3349
4212
|
this._updateEmptyState();
|
|
3350
4213
|
}
|
|
3351
4214
|
disconnectedCallback() {
|
|
3352
4215
|
super.disconnectedCallback();
|
|
4216
|
+
if (this._activeSubmenu) {
|
|
4217
|
+
this._activeSubmenu.hidePopover?.();
|
|
4218
|
+
}
|
|
3353
4219
|
this.removeEventListener("toggle", this._handleToggle);
|
|
3354
4220
|
this.removeEventListener("keydown", this._handleKeydown);
|
|
3355
4221
|
this.removeEventListener("mouseenter", this._handleMenuItemMouseenter, true);
|
|
3356
4222
|
this.removeEventListener("mouseleave", this._handleMouseleave);
|
|
3357
4223
|
this.removeEventListener("menu-item-focused", this._handleMenuItemFocused);
|
|
4224
|
+
this.removeEventListener("submenu-open", this._handleSubmenuOpen);
|
|
4225
|
+
this.removeEventListener("select", this._handleSelectChainClose);
|
|
3358
4226
|
document.removeEventListener("click", this._handleDocumentClick);
|
|
4227
|
+
_c._getDrillInModeQuery().removeEventListener("change", this._handleViewportResize);
|
|
4228
|
+
this._cancelHoverOpen();
|
|
4229
|
+
this._cancelHoverClose();
|
|
4230
|
+
this._stopSafeTriangle();
|
|
4231
|
+
if (this._typeaheadTimer !== null) {
|
|
4232
|
+
clearTimeout(this._typeaheadTimer);
|
|
4233
|
+
this._typeaheadTimer = null;
|
|
4234
|
+
}
|
|
3359
4235
|
this._cleanupAutoUpdate?.();
|
|
3360
4236
|
this._cleanupAutoUpdate = null;
|
|
3361
4237
|
}
|
|
@@ -3363,15 +4239,13 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3363
4239
|
_getVisibleItems() {
|
|
3364
4240
|
return Array.from(
|
|
3365
4241
|
this.querySelectorAll("nldd-menu-item:not([hidden]):not([disabled])")
|
|
3366
|
-
);
|
|
4242
|
+
).filter((item) => item.closest("nldd-menu") === this);
|
|
3367
4243
|
}
|
|
3368
4244
|
_getFocusedIndex(items) {
|
|
3369
4245
|
return items.findIndex((item) => item.hasAttribute("data-focused"));
|
|
3370
4246
|
}
|
|
3371
4247
|
_clearHighlight() {
|
|
3372
|
-
Array.from(this.querySelectorAll("nldd-menu-item")).forEach((item) =>
|
|
3373
|
-
item.removeAttribute("highlighted");
|
|
3374
|
-
});
|
|
4248
|
+
Array.from(this.querySelectorAll("nldd-menu-item")).filter((item) => item.closest("nldd-menu") === this).forEach((item) => item.removeAttribute("highlighted"));
|
|
3375
4249
|
}
|
|
3376
4250
|
_setHighlight(target) {
|
|
3377
4251
|
this._clearHighlight();
|
|
@@ -3394,7 +4268,8 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3394
4268
|
const isFirst = index === 0;
|
|
3395
4269
|
const isLast = index === visible.length - 1;
|
|
3396
4270
|
const prevIsDivider = index > 0 && visible[index - 1].tagName.toLowerCase() === "nldd-menu-divider";
|
|
3397
|
-
|
|
4271
|
+
const nextIsGroup = index < visible.length - 1 && visible[index + 1].tagName.toLowerCase() === "nldd-menu-group";
|
|
4272
|
+
if (isFirst || isLast || prevIsDivider || nextIsGroup) {
|
|
3398
4273
|
el.setAttribute("hidden", "");
|
|
3399
4274
|
}
|
|
3400
4275
|
});
|
|
@@ -3416,11 +4291,24 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3416
4291
|
item.toggleAttribute("hidden", !matches);
|
|
3417
4292
|
item.query = matches && query2 ? query2 : "";
|
|
3418
4293
|
});
|
|
4294
|
+
this._updateGroupVisibility();
|
|
3419
4295
|
this._setHighlight(null);
|
|
3420
4296
|
this._updateEmptyState();
|
|
3421
4297
|
this._updateDividerVisibility();
|
|
3422
4298
|
if (this._isOpen) this.reposition();
|
|
3423
4299
|
}
|
|
4300
|
+
/**
|
|
4301
|
+
* Hide each nldd-menu-group whose items are all filtered out — a labelled
|
|
4302
|
+
* heading above an empty section reads as broken. Runs after filter() has
|
|
4303
|
+
* updated individual item visibility.
|
|
4304
|
+
*/
|
|
4305
|
+
_updateGroupVisibility() {
|
|
4306
|
+
const groups = this.querySelectorAll("nldd-menu-group");
|
|
4307
|
+
groups.forEach((group) => {
|
|
4308
|
+
const visibleItems = group.querySelectorAll("nldd-menu-item:not([hidden])");
|
|
4309
|
+
group.toggleAttribute("hidden", visibleItems.length === 0);
|
|
4310
|
+
});
|
|
4311
|
+
}
|
|
3424
4312
|
/**
|
|
3425
4313
|
* Move both focus and highlight to the next, previous, or first visible item.
|
|
3426
4314
|
*/
|
|
@@ -3476,10 +4364,11 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3476
4364
|
const viewportMargin = parseInt(
|
|
3477
4365
|
getComputedStyle(this).getPropertyValue("--_viewport-margin")
|
|
3478
4366
|
);
|
|
4367
|
+
const submenuPadding = this._isSubmenu && !this._drillInMode ? parseInt(getComputedStyle(this).getPropertyValue("--_menu-padding")) || 0 : 0;
|
|
3479
4368
|
const { x, y } = await computePosition(anchorEl, this, {
|
|
3480
4369
|
placement: this.placement,
|
|
3481
4370
|
middleware: [
|
|
3482
|
-
offset(0),
|
|
4371
|
+
offset({ mainAxis: 0, alignmentAxis: -submenuPadding }),
|
|
3483
4372
|
flip({ padding: viewportMargin }),
|
|
3484
4373
|
shift({ padding: viewportMargin }),
|
|
3485
4374
|
size({
|
|
@@ -3495,45 +4384,81 @@ const _NLDDMenu = class _NLDDMenu extends LitElement {
|
|
|
3495
4384
|
top: `${y}px`
|
|
3496
4385
|
});
|
|
3497
4386
|
}
|
|
4387
|
+
/**
|
|
4388
|
+
* ARIA APG typeahead: characters typed within 500ms accumulate into a
|
|
4389
|
+
* buffer; the menu jumps to the first item whose text starts with the
|
|
4390
|
+
* buffer (case-insensitive).
|
|
4391
|
+
*
|
|
4392
|
+
* Single-char buffer (first press or after reset) cycles through matches
|
|
4393
|
+
* — repeated presses of the same letter step through every item starting
|
|
4394
|
+
* with it. Multi-char buffer matches from the currently-focused item, so
|
|
4395
|
+
* extending the prefix while the current item still matches keeps focus
|
|
4396
|
+
* stable instead of jumping forward.
|
|
4397
|
+
*/
|
|
4398
|
+
_handleTypeahead(event, items, currentIndex) {
|
|
4399
|
+
if (this._typeaheadTimer !== null) {
|
|
4400
|
+
clearTimeout(this._typeaheadTimer);
|
|
4401
|
+
}
|
|
4402
|
+
this._typeaheadBuffer += event.key.toLowerCase();
|
|
4403
|
+
this._typeaheadTimer = window.setTimeout(() => {
|
|
4404
|
+
this._typeaheadBuffer = "";
|
|
4405
|
+
this._typeaheadTimer = null;
|
|
4406
|
+
}, _c._TYPEAHEAD_RESET_MS);
|
|
4407
|
+
const start = this._typeaheadBuffer.length === 1 && currentIndex >= 0 ? currentIndex + 1 : Math.max(0, currentIndex);
|
|
4408
|
+
for (let i = 0; i < items.length; i++) {
|
|
4409
|
+
const idx = (start + i) % items.length;
|
|
4410
|
+
if (items[idx].text.toLowerCase().startsWith(this._typeaheadBuffer)) {
|
|
4411
|
+
event.preventDefault();
|
|
4412
|
+
event.stopPropagation();
|
|
4413
|
+
items[idx].focus();
|
|
4414
|
+
return;
|
|
4415
|
+
}
|
|
4416
|
+
}
|
|
4417
|
+
}
|
|
3498
4418
|
render() {
|
|
3499
4419
|
return menuTemplate.call(this, this._isEmpty, this.variant);
|
|
3500
4420
|
}
|
|
3501
|
-
};
|
|
3502
|
-
_NLDDMenu.styles = menuStyles;
|
|
3503
|
-
let NLDDMenu = _NLDDMenu;
|
|
4421
|
+
}, _c.styles = menuStyles, _c._SUBMENU_LINGER_CLOSE_MS = 300, _c._SAFE_TRIANGLE_STALL_DISMISS_MS = 750, _c._SAFE_TRIANGLE_APEX_X_OFFSET = 4, _c._drillInModeQuery = null, _c._menuIdCounter = 0, _c._TYPEAHEAD_RESET_MS = 500, _c);
|
|
3504
4422
|
__decorateClass$18([
|
|
3505
4423
|
property({ type: String, reflect: true })
|
|
3506
|
-
],
|
|
4424
|
+
], _NLDDMenu.prototype, "anchor");
|
|
3507
4425
|
__decorateClass$18([
|
|
3508
4426
|
property({ attribute: false })
|
|
3509
|
-
],
|
|
4427
|
+
], _NLDDMenu.prototype, "anchorElement");
|
|
3510
4428
|
__decorateClass$18([
|
|
3511
4429
|
property({ type: String, reflect: true })
|
|
3512
|
-
],
|
|
4430
|
+
], _NLDDMenu.prototype, "placement");
|
|
3513
4431
|
__decorateClass$18([
|
|
3514
4432
|
property({ type: String, reflect: true })
|
|
3515
|
-
],
|
|
4433
|
+
], _NLDDMenu.prototype, "variant");
|
|
3516
4434
|
__decorateClass$18([
|
|
3517
4435
|
property({ type: String, attribute: "empty-text" })
|
|
3518
|
-
],
|
|
4436
|
+
], _NLDDMenu.prototype, "emptyText");
|
|
3519
4437
|
__decorateClass$18([
|
|
3520
4438
|
property({ type: String, attribute: "empty-supporting-text" })
|
|
3521
|
-
],
|
|
4439
|
+
], _NLDDMenu.prototype, "emptySupportingText");
|
|
3522
4440
|
__decorateClass$18([
|
|
3523
4441
|
property({ type: String, reflect: true })
|
|
3524
|
-
],
|
|
4442
|
+
], _NLDDMenu.prototype, "width");
|
|
3525
4443
|
__decorateClass$18([
|
|
3526
4444
|
property({ type: Number, attribute: "max-items" })
|
|
3527
|
-
],
|
|
4445
|
+
], _NLDDMenu.prototype, "maxItems");
|
|
3528
4446
|
__decorateClass$18([
|
|
3529
4447
|
property({ type: Object })
|
|
3530
|
-
],
|
|
4448
|
+
], _NLDDMenu.prototype, "translations");
|
|
4449
|
+
__decorateClass$18([
|
|
4450
|
+
property({ type: Boolean, reflect: true, attribute: "debug-safe-triangle" })
|
|
4451
|
+
], _NLDDMenu.prototype, "debugSafeTriangle");
|
|
3531
4452
|
__decorateClass$18([
|
|
3532
4453
|
property({ attribute: false })
|
|
3533
|
-
],
|
|
4454
|
+
], _NLDDMenu.prototype, "filterFn");
|
|
4455
|
+
__decorateClass$18([
|
|
4456
|
+
state()
|
|
4457
|
+
], _NLDDMenu.prototype, "_isEmpty");
|
|
3534
4458
|
__decorateClass$18([
|
|
3535
4459
|
state()
|
|
3536
|
-
],
|
|
4460
|
+
], _NLDDMenu.prototype, "_parentItem");
|
|
4461
|
+
let NLDDMenu = _NLDDMenu;
|
|
3537
4462
|
if (!customElements.get("nldd-menu")) {
|
|
3538
4463
|
customElements.define("nldd-menu", NLDDMenu);
|
|
3539
4464
|
}
|
|
@@ -4804,13 +5729,34 @@ NLDDToolbar = __decorateClass$15([
|
|
|
4804
5729
|
const linkStyles = css`
|
|
4805
5730
|
|
|
4806
5731
|
|
|
4807
|
-
/* # Host
|
|
5732
|
+
/* # Host
|
|
5733
|
+
*
|
|
5734
|
+
* Inherit mode (no [size] attribute, or [size="inherit"]): display is
|
|
5735
|
+
* inline so the link wraps naturally inside running text and inherits
|
|
5736
|
+
* font-size / line-height / font-family from its surroundings. Icons are
|
|
5737
|
+
* supported via the inline whitespace between icon span and label span,
|
|
5738
|
+
* which provides natural single-space separation.
|
|
5739
|
+
*
|
|
5740
|
+
* Sized mode (xs/sm/md/lg): display becomes inline-flex so start/end
|
|
5741
|
+
* icons can be aligned to the text baseline with explicit gap spacing.
|
|
5742
|
+
*/
|
|
4808
5743
|
|
|
4809
5744
|
:host {
|
|
4810
|
-
display: inline-flex;
|
|
4811
5745
|
-webkit-tap-highlight-color: transparent;
|
|
4812
5746
|
}
|
|
4813
5747
|
|
|
5748
|
+
:host(:not([size])),
|
|
5749
|
+
:host([size="inherit"]) {
|
|
5750
|
+
display: inline;
|
|
5751
|
+
}
|
|
5752
|
+
|
|
5753
|
+
:host([size="xs"]),
|
|
5754
|
+
:host([size="sm"]),
|
|
5755
|
+
:host([size="md"]),
|
|
5756
|
+
:host([size="lg"]) {
|
|
5757
|
+
display: inline-flex;
|
|
5758
|
+
}
|
|
5759
|
+
|
|
4814
5760
|
:host([hidden]) {
|
|
4815
5761
|
display: none;
|
|
4816
5762
|
}
|
|
@@ -4827,30 +5773,40 @@ const linkStyles = css`
|
|
|
4827
5773
|
appearance: none;
|
|
4828
5774
|
background: none;
|
|
4829
5775
|
color: var(--semantics-links-color);
|
|
4830
|
-
display: inline-flex;
|
|
4831
|
-
align-items: center;
|
|
4832
5776
|
text-decoration: none;
|
|
4833
5777
|
border-radius: var(--primitives-corner-radius-xs);
|
|
4834
5778
|
transition: color var(--primitives-transition-duration-fast) var(--primitives-transition-easing-default);
|
|
4835
5779
|
}
|
|
4836
5780
|
|
|
5781
|
+
:host(:not([size])) .link,
|
|
5782
|
+
:host([size="inherit"]) .link {
|
|
5783
|
+
display: inline;
|
|
5784
|
+
}
|
|
5785
|
+
|
|
4837
5786
|
:host([size="xs"]) .link {
|
|
5787
|
+
display: inline-flex;
|
|
5788
|
+
align-items: center;
|
|
4838
5789
|
gap: var(--primitives-space-4);
|
|
4839
5790
|
font: var(--primitives-font-body-xs-regular-flat);
|
|
4840
5791
|
}
|
|
4841
5792
|
|
|
4842
5793
|
:host([size="sm"]) .link {
|
|
5794
|
+
display: inline-flex;
|
|
5795
|
+
align-items: center;
|
|
4843
5796
|
gap: var(--primitives-space-4);
|
|
4844
5797
|
font: var(--primitives-font-body-sm-regular-flat);
|
|
4845
5798
|
}
|
|
4846
5799
|
|
|
4847
|
-
:host([size="md"]) .link
|
|
4848
|
-
|
|
5800
|
+
:host([size="md"]) .link {
|
|
5801
|
+
display: inline-flex;
|
|
5802
|
+
align-items: center;
|
|
4849
5803
|
gap: var(--primitives-space-6);
|
|
4850
5804
|
font: var(--primitives-font-body-md-regular-flat);
|
|
4851
5805
|
}
|
|
4852
5806
|
|
|
4853
5807
|
:host([size="lg"]) .link {
|
|
5808
|
+
display: inline-flex;
|
|
5809
|
+
align-items: center;
|
|
4854
5810
|
gap: var(--primitives-space-6);
|
|
4855
5811
|
font: var(--primitives-font-body-lg-regular-flat);
|
|
4856
5812
|
}
|
|
@@ -4903,6 +5859,13 @@ const linkStyles = css`
|
|
|
4903
5859
|
height: 1em;
|
|
4904
5860
|
}
|
|
4905
5861
|
|
|
5862
|
+
:host(:not([size])) .link__start-icon,
|
|
5863
|
+
:host([size="inherit"]) .link__start-icon,
|
|
5864
|
+
:host(:not([size])) .link__end-icon,
|
|
5865
|
+
:host([size="inherit"]) .link__end-icon {
|
|
5866
|
+
top: 0.2em;
|
|
5867
|
+
}
|
|
5868
|
+
|
|
4906
5869
|
|
|
4907
5870
|
/* # Toegankelijkheid */
|
|
4908
5871
|
|
|
@@ -4926,17 +5889,11 @@ function template$e(helpers) {
|
|
|
4926
5889
|
@click=${helpers.handleClick}
|
|
4927
5890
|
>
|
|
4928
5891
|
${this.startIcon ? html`
|
|
4929
|
-
<span class="link__start-icon">
|
|
4930
|
-
<nldd-icon name=${this.startIcon}></nldd-icon>
|
|
4931
|
-
</span>
|
|
5892
|
+
<span class="link__start-icon"><nldd-icon name=${this.startIcon}></nldd-icon></span>
|
|
4932
5893
|
` : html`<slot name="start-icon"></slot>`}
|
|
4933
|
-
<span class="link__label">
|
|
4934
|
-
${this.text ? this.text : html`<slot></slot>`}
|
|
4935
|
-
</span>
|
|
5894
|
+
<span class="link__label">${this.text ? this.text : html`<slot></slot>`}</span>
|
|
4936
5895
|
${this.endIcon ? html`
|
|
4937
|
-
<span class="link__end-icon">
|
|
4938
|
-
<nldd-icon name=${this.endIcon}></nldd-icon>
|
|
4939
|
-
</span>
|
|
5896
|
+
<span class="link__end-icon"><nldd-icon name=${this.endIcon}></nldd-icon></span>
|
|
4940
5897
|
` : html`<slot name="end-icon"></slot>`}
|
|
4941
5898
|
</a>
|
|
4942
5899
|
`;
|
|
@@ -4957,7 +5914,6 @@ let NLDDLink = class extends LitElement {
|
|
|
4957
5914
|
this.href = void 0;
|
|
4958
5915
|
this.target = void 0;
|
|
4959
5916
|
this.rel = void 0;
|
|
4960
|
-
this.size = "md";
|
|
4961
5917
|
this.text = "";
|
|
4962
5918
|
this.startIcon = "";
|
|
4963
5919
|
this.endIcon = "";
|
|
@@ -5041,16 +5997,10 @@ __decorateClass$13([
|
|
|
5041
5997
|
NLDDRichText = __decorateClass$13([
|
|
5042
5998
|
customElement("nldd-rich-text")
|
|
5043
5999
|
], NLDDRichText);
|
|
5044
|
-
const
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
lgMin: "1008px"
|
|
5049
|
-
};
|
|
5050
|
-
const smMax$c = unsafeCSS(breakpoints.smMax);
|
|
5051
|
-
const mdMin$d = unsafeCSS(breakpoints.mdMin);
|
|
5052
|
-
const mdMax$8 = unsafeCSS(breakpoints.mdMax);
|
|
5053
|
-
const lgMin$a = unsafeCSS(breakpoints.lgMin);
|
|
6000
|
+
const smMax$d = unsafeCSS(breakpoints.smMax);
|
|
6001
|
+
const mdMin$e = unsafeCSS(breakpoints.mdMin);
|
|
6002
|
+
const mdMax$9 = unsafeCSS(breakpoints.mdMax);
|
|
6003
|
+
const lgMin$b = unsafeCSS(breakpoints.lgMin);
|
|
5054
6004
|
const titleStyles = css`
|
|
5055
6005
|
|
|
5056
6006
|
|
|
@@ -5106,158 +6056,158 @@ const titleStyles = css`
|
|
|
5106
6056
|
}
|
|
5107
6057
|
|
|
5108
6058
|
:host([size='1']) ::slotted(:not([slot])) {
|
|
5109
|
-
@media (max-width: ${smMax$
|
|
6059
|
+
@media (max-width: ${smMax$d}) {
|
|
5110
6060
|
font: var(--primitives-font-display-1-sm);
|
|
5111
6061
|
}
|
|
5112
6062
|
|
|
5113
|
-
@media (min-width: ${mdMin$
|
|
6063
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5114
6064
|
font: var(--primitives-font-display-1-md);
|
|
5115
6065
|
}
|
|
5116
6066
|
|
|
5117
|
-
@media (min-width: ${lgMin$
|
|
6067
|
+
@media (min-width: ${lgMin$b}) {
|
|
5118
6068
|
font: var(--primitives-font-display-1-lg);
|
|
5119
6069
|
}
|
|
5120
6070
|
|
|
5121
|
-
@container layout-area (max-width: ${smMax$
|
|
6071
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5122
6072
|
font: var(--primitives-font-display-1-sm);
|
|
5123
6073
|
}
|
|
5124
6074
|
|
|
5125
|
-
@container layout-area (min-width: ${mdMin$
|
|
6075
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5126
6076
|
font: var(--primitives-font-display-1-md);
|
|
5127
6077
|
}
|
|
5128
6078
|
|
|
5129
|
-
@container layout-area (min-width: ${lgMin$
|
|
6079
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5130
6080
|
font: var(--primitives-font-display-1-lg);
|
|
5131
6081
|
}
|
|
5132
6082
|
}
|
|
5133
6083
|
|
|
5134
6084
|
:host([size='2']) ::slotted(:not([slot])) {
|
|
5135
|
-
@media (max-width: ${smMax$
|
|
6085
|
+
@media (max-width: ${smMax$d}) {
|
|
5136
6086
|
font: var(--primitives-font-display-2-sm);
|
|
5137
6087
|
}
|
|
5138
6088
|
|
|
5139
|
-
@media (min-width: ${mdMin$
|
|
6089
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5140
6090
|
font: var(--primitives-font-display-2-md);
|
|
5141
6091
|
}
|
|
5142
6092
|
|
|
5143
|
-
@media (min-width: ${lgMin$
|
|
6093
|
+
@media (min-width: ${lgMin$b}) {
|
|
5144
6094
|
font: var(--primitives-font-display-2-lg);
|
|
5145
6095
|
}
|
|
5146
6096
|
|
|
5147
|
-
@container layout-area (max-width: ${smMax$
|
|
6097
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5148
6098
|
font: var(--primitives-font-display-2-sm);
|
|
5149
6099
|
}
|
|
5150
6100
|
|
|
5151
|
-
@container layout-area (min-width: ${mdMin$
|
|
6101
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5152
6102
|
font: var(--primitives-font-display-2-md);
|
|
5153
6103
|
}
|
|
5154
6104
|
|
|
5155
|
-
@container layout-area (min-width: ${lgMin$
|
|
6105
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5156
6106
|
font: var(--primitives-font-display-2-lg);
|
|
5157
6107
|
}
|
|
5158
6108
|
}
|
|
5159
6109
|
|
|
5160
6110
|
:host([size='3']) ::slotted(:not([slot])),
|
|
5161
6111
|
:host(:not([size])) ::slotted(:not([slot])) {
|
|
5162
|
-
@media (max-width: ${smMax$
|
|
6112
|
+
@media (max-width: ${smMax$d}) {
|
|
5163
6113
|
font: var(--primitives-font-display-3-sm);
|
|
5164
6114
|
}
|
|
5165
6115
|
|
|
5166
|
-
@media (min-width: ${mdMin$
|
|
6116
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5167
6117
|
font: var(--primitives-font-display-3-md);
|
|
5168
6118
|
}
|
|
5169
6119
|
|
|
5170
|
-
@media (min-width: ${lgMin$
|
|
6120
|
+
@media (min-width: ${lgMin$b}) {
|
|
5171
6121
|
font: var(--primitives-font-display-3-lg);
|
|
5172
6122
|
}
|
|
5173
6123
|
|
|
5174
|
-
@container layout-area (max-width: ${smMax$
|
|
6124
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5175
6125
|
font: var(--primitives-font-display-3-sm);
|
|
5176
6126
|
}
|
|
5177
6127
|
|
|
5178
|
-
@container layout-area (min-width: ${mdMin$
|
|
6128
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5179
6129
|
font: var(--primitives-font-display-3-md);
|
|
5180
6130
|
}
|
|
5181
6131
|
|
|
5182
|
-
@container layout-area (min-width: ${lgMin$
|
|
6132
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5183
6133
|
font: var(--primitives-font-display-3-lg);
|
|
5184
6134
|
}
|
|
5185
6135
|
}
|
|
5186
6136
|
|
|
5187
6137
|
:host([size='4']) ::slotted(:not([slot])) {
|
|
5188
|
-
@media (max-width: ${smMax$
|
|
6138
|
+
@media (max-width: ${smMax$d}) {
|
|
5189
6139
|
font: var(--primitives-font-display-4-sm);
|
|
5190
6140
|
}
|
|
5191
6141
|
|
|
5192
|
-
@media (min-width: ${mdMin$
|
|
6142
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5193
6143
|
font: var(--primitives-font-display-4-md);
|
|
5194
6144
|
}
|
|
5195
6145
|
|
|
5196
|
-
@media (min-width: ${lgMin$
|
|
6146
|
+
@media (min-width: ${lgMin$b}) {
|
|
5197
6147
|
font: var(--primitives-font-display-4-lg);
|
|
5198
6148
|
}
|
|
5199
6149
|
|
|
5200
|
-
@container layout-area (max-width: ${smMax$
|
|
6150
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5201
6151
|
font: var(--primitives-font-display-4-sm);
|
|
5202
6152
|
}
|
|
5203
6153
|
|
|
5204
|
-
@container layout-area (min-width: ${mdMin$
|
|
6154
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5205
6155
|
font: var(--primitives-font-display-4-md);
|
|
5206
6156
|
}
|
|
5207
6157
|
|
|
5208
|
-
@container layout-area (min-width: ${lgMin$
|
|
6158
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5209
6159
|
font: var(--primitives-font-display-4-lg);
|
|
5210
6160
|
}
|
|
5211
6161
|
}
|
|
5212
6162
|
|
|
5213
6163
|
:host([size='5']) ::slotted(:not([slot])) {
|
|
5214
|
-
@media (max-width: ${smMax$
|
|
6164
|
+
@media (max-width: ${smMax$d}) {
|
|
5215
6165
|
font: var(--primitives-font-display-5-sm);
|
|
5216
6166
|
}
|
|
5217
6167
|
|
|
5218
|
-
@media (min-width: ${mdMin$
|
|
6168
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5219
6169
|
font: var(--primitives-font-display-5-md);
|
|
5220
6170
|
}
|
|
5221
6171
|
|
|
5222
|
-
@media (min-width: ${lgMin$
|
|
6172
|
+
@media (min-width: ${lgMin$b}) {
|
|
5223
6173
|
font: var(--primitives-font-display-5-lg);
|
|
5224
6174
|
}
|
|
5225
6175
|
|
|
5226
|
-
@container layout-area (max-width: ${smMax$
|
|
6176
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5227
6177
|
font: var(--primitives-font-display-5-sm);
|
|
5228
6178
|
}
|
|
5229
6179
|
|
|
5230
|
-
@container layout-area (min-width: ${mdMin$
|
|
6180
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5231
6181
|
font: var(--primitives-font-display-5-md);
|
|
5232
6182
|
}
|
|
5233
6183
|
|
|
5234
|
-
@container layout-area (min-width: ${lgMin$
|
|
6184
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5235
6185
|
font: var(--primitives-font-display-5-lg);
|
|
5236
6186
|
}
|
|
5237
6187
|
}
|
|
5238
6188
|
|
|
5239
6189
|
:host([size='6']) ::slotted(:not([slot])) {
|
|
5240
|
-
@media (max-width: ${smMax$
|
|
6190
|
+
@media (max-width: ${smMax$d}) {
|
|
5241
6191
|
font: var(--primitives-font-display-6-sm);
|
|
5242
6192
|
}
|
|
5243
6193
|
|
|
5244
|
-
@media (min-width: ${mdMin$
|
|
6194
|
+
@media (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5245
6195
|
font: var(--primitives-font-display-6-md);
|
|
5246
6196
|
}
|
|
5247
6197
|
|
|
5248
|
-
@media (min-width: ${lgMin$
|
|
6198
|
+
@media (min-width: ${lgMin$b}) {
|
|
5249
6199
|
font: var(--primitives-font-display-6-lg);
|
|
5250
6200
|
}
|
|
5251
6201
|
|
|
5252
|
-
@container layout-area (max-width: ${smMax$
|
|
6202
|
+
@container layout-area (max-width: ${smMax$d}) {
|
|
5253
6203
|
font: var(--primitives-font-display-6-sm);
|
|
5254
6204
|
}
|
|
5255
6205
|
|
|
5256
|
-
@container layout-area (min-width: ${mdMin$
|
|
6206
|
+
@container layout-area (min-width: ${mdMin$e}) and (max-width: ${mdMax$9}) {
|
|
5257
6207
|
font: var(--primitives-font-display-6-md);
|
|
5258
6208
|
}
|
|
5259
6209
|
|
|
5260
|
-
@container layout-area (min-width: ${lgMin$
|
|
6210
|
+
@container layout-area (min-width: ${lgMin$b}) {
|
|
5261
6211
|
font: var(--primitives-font-display-6-lg);
|
|
5262
6212
|
}
|
|
5263
6213
|
}
|
|
@@ -5323,7 +6273,7 @@ __decorateClass$12([
|
|
|
5323
6273
|
NLDDTitle = __decorateClass$12([
|
|
5324
6274
|
customElement("nldd-title")
|
|
5325
6275
|
], NLDDTitle);
|
|
5326
|
-
const smMax$
|
|
6276
|
+
const smMax$c = unsafeCSS(breakpoints.smMax);
|
|
5327
6277
|
const blockquoteStyles = css`
|
|
5328
6278
|
|
|
5329
6279
|
|
|
@@ -5338,7 +6288,7 @@ const blockquoteStyles = css`
|
|
|
5338
6288
|
max-width: var(--semantics-blockquotes-max-width);
|
|
5339
6289
|
}
|
|
5340
6290
|
|
|
5341
|
-
@media (max-width: ${smMax$
|
|
6291
|
+
@media (max-width: ${smMax$c}) {
|
|
5342
6292
|
:host {
|
|
5343
6293
|
--_spacing: var(--semantics-blockquotes-sm-spacing);
|
|
5344
6294
|
--_quote-font: var(--semantics-blockquotes-sm-quote-font);
|
|
@@ -5346,7 +6296,7 @@ const blockquoteStyles = css`
|
|
|
5346
6296
|
}
|
|
5347
6297
|
}
|
|
5348
6298
|
|
|
5349
|
-
@container layout-area (max-width: ${smMax$
|
|
6299
|
+
@container layout-area (max-width: ${smMax$c}) {
|
|
5350
6300
|
:host {
|
|
5351
6301
|
--_spacing: var(--semantics-blockquotes-sm-spacing);
|
|
5352
6302
|
--_quote-font: var(--semantics-blockquotes-sm-quote-font);
|
|
@@ -7418,7 +8368,7 @@ const GRAMMAR_LOADERS = {
|
|
|
7418
8368
|
yaml: () => import("./prism-yaml-DO0f9pf6.js"),
|
|
7419
8369
|
json: () => import("./prism-json-DIMpow89.js"),
|
|
7420
8370
|
javascript: () => import("./prism-javascript-DeC_17Pw.js"),
|
|
7421
|
-
typescript: () => import("./prism-typescript-
|
|
8371
|
+
typescript: () => import("./prism-typescript-Cdpexfvg.js").then((n) => n.p),
|
|
7422
8372
|
css: () => import("./prism-css-B93tXdOU.js"),
|
|
7423
8373
|
html: () => import("./prism-markup-DfJYPYHA.js"),
|
|
7424
8374
|
bash: () => import("./prism-bash-vbqaw3JR.js"),
|
|
@@ -7936,7 +8886,7 @@ const formFieldErrorTextStyles = css`
|
|
|
7936
8886
|
|
|
7937
8887
|
.form-field__error-text {
|
|
7938
8888
|
margin: 0;
|
|
7939
|
-
color: var(--semantics-content-
|
|
8889
|
+
color: var(--semantics-content-critical-color);
|
|
7940
8890
|
font: var(--primitives-font-body-sm-regular-tight);
|
|
7941
8891
|
}
|
|
7942
8892
|
|
|
@@ -8620,12 +9570,16 @@ let NLDDTextField = class extends LitElement {
|
|
|
8620
9570
|
composed: true
|
|
8621
9571
|
}));
|
|
8622
9572
|
}
|
|
8623
|
-
focus() {
|
|
8624
|
-
this._input?.focus();
|
|
8625
|
-
}
|
|
8626
9573
|
blur() {
|
|
8627
9574
|
this._input?.blur();
|
|
8628
9575
|
}
|
|
9576
|
+
/**
|
|
9577
|
+
* Delegates focus to the inner native `<input>`, so consumers can call
|
|
9578
|
+
* `textFieldEl.focus()` without reaching into shadow DOM.
|
|
9579
|
+
*/
|
|
9580
|
+
focus(options) {
|
|
9581
|
+
this._input?.focus(options);
|
|
9582
|
+
}
|
|
8629
9583
|
render() {
|
|
8630
9584
|
return textFieldTemplate(this);
|
|
8631
9585
|
}
|
|
@@ -10069,6 +11023,13 @@ let NLDDSearchField = class extends LitElement {
|
|
|
10069
11023
|
composed: true
|
|
10070
11024
|
}));
|
|
10071
11025
|
}
|
|
11026
|
+
/**
|
|
11027
|
+
* Delegates focus to the inner native `<input>`, so consumers can call
|
|
11028
|
+
* `searchFieldEl.focus()` without reaching into shadow DOM.
|
|
11029
|
+
*/
|
|
11030
|
+
focus(options) {
|
|
11031
|
+
this._input?.focus(options);
|
|
11032
|
+
}
|
|
10072
11033
|
render() {
|
|
10073
11034
|
return searchFieldTemplate(this);
|
|
10074
11035
|
}
|
|
@@ -10429,6 +11390,13 @@ let NLDDNumberField = class extends LitElement {
|
|
|
10429
11390
|
_clamp(value) {
|
|
10430
11391
|
return Math.max(this.min, Math.min(this.max, value));
|
|
10431
11392
|
}
|
|
11393
|
+
/**
|
|
11394
|
+
* Delegates focus to the inner native `<input>`, so consumers can call
|
|
11395
|
+
* `numberFieldEl.focus()` without reaching into shadow DOM.
|
|
11396
|
+
*/
|
|
11397
|
+
focus(options) {
|
|
11398
|
+
this.shadowRoot?.querySelector(".number-field__input")?.focus(options);
|
|
11399
|
+
}
|
|
10432
11400
|
render() {
|
|
10433
11401
|
return numberFieldTemplate(this);
|
|
10434
11402
|
}
|
|
@@ -10688,7 +11656,7 @@ function dropdownTemplate(component) {
|
|
|
10688
11656
|
<span class="dropdown__value">${component._displayValue}</span>
|
|
10689
11657
|
${renderValidationIcon$1(component)}
|
|
10690
11658
|
<div class="dropdown__picker-icon">
|
|
10691
|
-
<nldd-icon name="chevron-up-down"></nldd-icon>
|
|
11659
|
+
<nldd-icon name="chevron-up-chevron-down"></nldd-icon>
|
|
10692
11660
|
</div>
|
|
10693
11661
|
</div>
|
|
10694
11662
|
`;
|
|
@@ -11021,7 +11989,7 @@ function comboBoxTemplate(component) {
|
|
|
11021
11989
|
aria-haspopup="listbox"
|
|
11022
11990
|
aria-activedescendant=${component._highlightedId || nothing}
|
|
11023
11991
|
aria-invalid=${component.invalid ? "true" : nothing}
|
|
11024
|
-
.value=${component.
|
|
11992
|
+
.value=${component.text}
|
|
11025
11993
|
placeholder=${component.placeholder || nothing}
|
|
11026
11994
|
?disabled=${component.disabled}
|
|
11027
11995
|
name=${component.name || nothing}
|
|
@@ -11032,7 +12000,7 @@ function comboBoxTemplate(component) {
|
|
|
11032
12000
|
>
|
|
11033
12001
|
<div class="combo-box__input-fade"></div>
|
|
11034
12002
|
<div class="combo-box__end">
|
|
11035
|
-
${component.
|
|
12003
|
+
${component.text ? html`
|
|
11036
12004
|
<div class="combo-box__clear-button">
|
|
11037
12005
|
<nldd-icon-button
|
|
11038
12006
|
variant="neutral-transparent"
|
|
@@ -11082,8 +12050,9 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11082
12050
|
super(...arguments);
|
|
11083
12051
|
this._internals = this.attachInternals();
|
|
11084
12052
|
this._initialValue = "";
|
|
11085
|
-
this.
|
|
12053
|
+
this._initialText = "";
|
|
11086
12054
|
this.value = "";
|
|
12055
|
+
this.text = "";
|
|
11087
12056
|
this.placeholder = "";
|
|
11088
12057
|
this.size = "md";
|
|
11089
12058
|
this.valid = false;
|
|
@@ -11096,7 +12065,6 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11096
12065
|
this.translations = {};
|
|
11097
12066
|
this.width = "";
|
|
11098
12067
|
this._isOpen = false;
|
|
11099
|
-
this._displayValue = "";
|
|
11100
12068
|
this._highlightedId = "";
|
|
11101
12069
|
this._menuId = `nldd-combo-box-menu-${NLDDComboBox._idCounter++}`;
|
|
11102
12070
|
this._menu = null;
|
|
@@ -11118,7 +12086,7 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11118
12086
|
};
|
|
11119
12087
|
this._handleMenuSelect = (e) => {
|
|
11120
12088
|
const item = e.target;
|
|
11121
|
-
this.
|
|
12089
|
+
this.text = item.text;
|
|
11122
12090
|
this.value = item.value || item.text;
|
|
11123
12091
|
this._highlightedId = "";
|
|
11124
12092
|
this._closeMenu();
|
|
@@ -11145,7 +12113,12 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11145
12113
|
// — Lifecycle ————————————————————————————————————————————————————————————
|
|
11146
12114
|
firstUpdated() {
|
|
11147
12115
|
this._initialValue = this.value;
|
|
11148
|
-
this.
|
|
12116
|
+
this._initialText = this.text;
|
|
12117
|
+
}
|
|
12118
|
+
willUpdate(changedProperties) {
|
|
12119
|
+
if (changedProperties.has("value") && !changedProperties.has("text")) {
|
|
12120
|
+
this._deriveTextFromMenu();
|
|
12121
|
+
}
|
|
11149
12122
|
}
|
|
11150
12123
|
updated(changedProperties) {
|
|
11151
12124
|
if (changedProperties.has("maxItems") && this._menu) {
|
|
@@ -11154,16 +12127,16 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11154
12127
|
if (changedProperties.has("width")) {
|
|
11155
12128
|
this.style.width = this.width || "";
|
|
11156
12129
|
}
|
|
11157
|
-
if (changedProperties.has("value") || changedProperties.has("
|
|
12130
|
+
if (changedProperties.has("value") || changedProperties.has("text")) {
|
|
11158
12131
|
const state2 = new FormData();
|
|
11159
12132
|
state2.append("value", this.value);
|
|
11160
|
-
state2.append("display", this.
|
|
12133
|
+
state2.append("display", this.text);
|
|
11161
12134
|
this._internals.setFormValue(this.value, state2);
|
|
11162
12135
|
}
|
|
11163
12136
|
}
|
|
11164
12137
|
formResetCallback() {
|
|
11165
12138
|
this.value = this._initialValue;
|
|
11166
|
-
this.
|
|
12139
|
+
this.text = this._initialText;
|
|
11167
12140
|
}
|
|
11168
12141
|
formDisabledCallback(disabled) {
|
|
11169
12142
|
this.disabled = disabled;
|
|
@@ -11171,10 +12144,10 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11171
12144
|
formStateRestoreCallback(state2) {
|
|
11172
12145
|
if (state2 instanceof FormData) {
|
|
11173
12146
|
this.value = String(state2.get("value") ?? "");
|
|
11174
|
-
this.
|
|
12147
|
+
this.text = String(state2.get("display") ?? "");
|
|
11175
12148
|
} else if (typeof state2 === "string") {
|
|
11176
12149
|
this.value = state2;
|
|
11177
|
-
this.
|
|
12150
|
+
this.text = state2;
|
|
11178
12151
|
}
|
|
11179
12152
|
}
|
|
11180
12153
|
connectedCallback() {
|
|
@@ -11212,6 +12185,24 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11212
12185
|
menu.addEventListener("select", this._handleMenuSelect);
|
|
11213
12186
|
menu.addEventListener("keydown", this._handleMenuKeydown);
|
|
11214
12187
|
this._updateMenuWidth();
|
|
12188
|
+
if (this.value && !this.text) {
|
|
12189
|
+
this._deriveTextFromMenu();
|
|
12190
|
+
}
|
|
12191
|
+
}
|
|
12192
|
+
/**
|
|
12193
|
+
* Walk slotted menu items and set `text` from the first item whose `value`
|
|
12194
|
+
* (or `text`, when value is unset) matches the current `value`. No-op when
|
|
12195
|
+
* the menu isn't wired yet or no item matches.
|
|
12196
|
+
*/
|
|
12197
|
+
_deriveTextFromMenu() {
|
|
12198
|
+
if (!this._menu || !this.value) return;
|
|
12199
|
+
const items = Array.from(this._menu.querySelectorAll("nldd-menu-item")).filter((item) => item.closest("nldd-menu") === this._menu);
|
|
12200
|
+
for (const item of items) {
|
|
12201
|
+
if ((item.value || item.text) === this.value) {
|
|
12202
|
+
this.text = item.text;
|
|
12203
|
+
return;
|
|
12204
|
+
}
|
|
12205
|
+
}
|
|
11215
12206
|
}
|
|
11216
12207
|
// — Menu width & position ————————————————————————————————————————————————
|
|
11217
12208
|
_updateMenuWidth() {
|
|
@@ -11259,18 +12250,18 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11259
12250
|
}
|
|
11260
12251
|
_handleInput(e) {
|
|
11261
12252
|
const input = e.target;
|
|
11262
|
-
this.
|
|
11263
|
-
this._menu?.filter(this.
|
|
12253
|
+
this.text = input.value;
|
|
12254
|
+
this._menu?.filter(this.text);
|
|
11264
12255
|
this._updateActiveDescendant();
|
|
11265
12256
|
if (!this._isOpen) this._openMenu();
|
|
11266
12257
|
this.dispatchEvent(new CustomEvent("input", {
|
|
11267
|
-
detail: { value: this.
|
|
12258
|
+
detail: { value: this.text },
|
|
11268
12259
|
bubbles: true,
|
|
11269
12260
|
composed: true
|
|
11270
12261
|
}));
|
|
11271
12262
|
}
|
|
11272
12263
|
_handleClear() {
|
|
11273
|
-
this.
|
|
12264
|
+
this.text = "";
|
|
11274
12265
|
this.value = "";
|
|
11275
12266
|
this._menu?.filter("");
|
|
11276
12267
|
this._closeMenu();
|
|
@@ -11292,8 +12283,8 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11292
12283
|
if (!relatedTarget || !this._menu?.contains(relatedTarget)) {
|
|
11293
12284
|
this._closeMenu();
|
|
11294
12285
|
}
|
|
11295
|
-
if (this.
|
|
11296
|
-
this.value = this.
|
|
12286
|
+
if (this.text !== "" && this.text !== this.value) {
|
|
12287
|
+
this.value = this.text;
|
|
11297
12288
|
this.dispatchEvent(new CustomEvent("change", {
|
|
11298
12289
|
detail: { value: this.value },
|
|
11299
12290
|
bubbles: true,
|
|
@@ -11326,7 +12317,7 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11326
12317
|
if (highlighted) {
|
|
11327
12318
|
highlighted.select();
|
|
11328
12319
|
} else {
|
|
11329
|
-
this.value = this.
|
|
12320
|
+
this.value = this.text;
|
|
11330
12321
|
this._closeMenu();
|
|
11331
12322
|
this.dispatchEvent(new CustomEvent("change", {
|
|
11332
12323
|
detail: { value: this.value },
|
|
@@ -11342,6 +12333,13 @@ let NLDDComboBox = class extends LitElement {
|
|
|
11342
12333
|
break;
|
|
11343
12334
|
}
|
|
11344
12335
|
}
|
|
12336
|
+
/**
|
|
12337
|
+
* Delegates focus to the inner native `<input>`, so consumers can call
|
|
12338
|
+
* `comboBoxEl.focus()` without reaching into shadow DOM.
|
|
12339
|
+
*/
|
|
12340
|
+
focus(options) {
|
|
12341
|
+
this._input?.focus(options);
|
|
12342
|
+
}
|
|
11345
12343
|
render() {
|
|
11346
12344
|
return comboBoxTemplate(this);
|
|
11347
12345
|
}
|
|
@@ -11352,6 +12350,9 @@ NLDDComboBox._idCounter = 0;
|
|
|
11352
12350
|
__decorateClass$P([
|
|
11353
12351
|
property({ type: String })
|
|
11354
12352
|
], NLDDComboBox.prototype, "value", 2);
|
|
12353
|
+
__decorateClass$P([
|
|
12354
|
+
property({ type: String })
|
|
12355
|
+
], NLDDComboBox.prototype, "text", 2);
|
|
11355
12356
|
__decorateClass$P([
|
|
11356
12357
|
property({ type: String })
|
|
11357
12358
|
], NLDDComboBox.prototype, "placeholder", 2);
|
|
@@ -11388,9 +12389,6 @@ __decorateClass$P([
|
|
|
11388
12389
|
__decorateClass$P([
|
|
11389
12390
|
state()
|
|
11390
12391
|
], NLDDComboBox.prototype, "_isOpen", 2);
|
|
11391
|
-
__decorateClass$P([
|
|
11392
|
-
state()
|
|
11393
|
-
], NLDDComboBox.prototype, "_displayValue", 2);
|
|
11394
12392
|
__decorateClass$P([
|
|
11395
12393
|
state()
|
|
11396
12394
|
], NLDDComboBox.prototype, "_highlightedId", 2);
|
|
@@ -12807,6 +13805,13 @@ let NLDDSwitch = class extends LitElement {
|
|
|
12807
13805
|
composed: true
|
|
12808
13806
|
}));
|
|
12809
13807
|
}
|
|
13808
|
+
/**
|
|
13809
|
+
* Delegates focus to the inner native checkbox `<input>`, so consumers can
|
|
13810
|
+
* call `switchEl.focus()` without reaching into shadow DOM.
|
|
13811
|
+
*/
|
|
13812
|
+
focus(options) {
|
|
13813
|
+
this.shadowRoot?.querySelector(".switch__input")?.focus(options);
|
|
13814
|
+
}
|
|
12810
13815
|
render() {
|
|
12811
13816
|
return switchTemplate(this);
|
|
12812
13817
|
}
|
|
@@ -12938,6 +13943,14 @@ let NLDDSwitchField = class extends LitElement {
|
|
|
12938
13943
|
composed: true
|
|
12939
13944
|
}));
|
|
12940
13945
|
}
|
|
13946
|
+
/**
|
|
13947
|
+
* Delegates focus to the inner `<nldd-switch>`, which in turn focuses its
|
|
13948
|
+
* native checkbox input. Lets consumers call `switchFieldEl.focus()` without
|
|
13949
|
+
* reaching into shadow DOM.
|
|
13950
|
+
*/
|
|
13951
|
+
focus(options) {
|
|
13952
|
+
this.shadowRoot?.querySelector("nldd-switch")?.focus(options);
|
|
13953
|
+
}
|
|
12941
13954
|
render() {
|
|
12942
13955
|
return switchFieldTemplate(this);
|
|
12943
13956
|
}
|
|
@@ -14690,10 +15703,10 @@ __decorateClass$A([
|
|
|
14690
15703
|
NLDDBarSplitView = __decorateClass$A([
|
|
14691
15704
|
customElement("nldd-bar-split-view")
|
|
14692
15705
|
], NLDDBarSplitView);
|
|
14693
|
-
const smMax$
|
|
14694
|
-
const mdMin$
|
|
14695
|
-
const mdMax$
|
|
14696
|
-
const lgMin$
|
|
15706
|
+
const smMax$b = unsafeCSS(breakpoints.smMax);
|
|
15707
|
+
const mdMin$d = unsafeCSS(breakpoints.mdMin);
|
|
15708
|
+
const mdMax$8 = unsafeCSS(breakpoints.mdMax);
|
|
15709
|
+
const lgMin$a = unsafeCSS(breakpoints.lgMin);
|
|
14697
15710
|
const navigationSplitViewStyles = css`
|
|
14698
15711
|
|
|
14699
15712
|
|
|
@@ -14825,7 +15838,7 @@ const navigationSplitViewStyles = css`
|
|
|
14825
15838
|
position: fixed;
|
|
14826
15839
|
outline: none;
|
|
14827
15840
|
|
|
14828
|
-
@media (max-width: ${smMax$
|
|
15841
|
+
@media (max-width: ${smMax$b}) {
|
|
14829
15842
|
inset: auto 0 0 0;
|
|
14830
15843
|
width: 100%;
|
|
14831
15844
|
max-width: 100%;
|
|
@@ -14834,14 +15847,14 @@ const navigationSplitViewStyles = css`
|
|
|
14834
15847
|
border-radius: var(--semantics-overlays-corner-radius) var(--semantics-overlays-corner-radius) 0 0;
|
|
14835
15848
|
}
|
|
14836
15849
|
|
|
14837
|
-
@media (min-width: ${mdMin$
|
|
15850
|
+
@media (min-width: ${mdMin$d}) and (max-width: ${mdMax$8}) {
|
|
14838
15851
|
inset: var(--semantics-overlays-inset) var(--semantics-overlays-inset) var(--semantics-overlays-inset) auto;
|
|
14839
15852
|
width: var(--semantics-sheets-side-md-width);
|
|
14840
15853
|
height: calc(100dvh - var(--semantics-overlays-inset) * 2);
|
|
14841
15854
|
border-radius: var(--semantics-overlays-corner-radius);
|
|
14842
15855
|
}
|
|
14843
15856
|
|
|
14844
|
-
@media (min-width: ${lgMin$
|
|
15857
|
+
@media (min-width: ${lgMin$a}) {
|
|
14845
15858
|
inset: var(--semantics-overlays-inset) var(--semantics-overlays-inset) var(--semantics-overlays-inset) auto;
|
|
14846
15859
|
width: var(--semantics-sheets-side-lg-width);
|
|
14847
15860
|
height: calc(100dvh - var(--semantics-overlays-inset) * 2);
|
|
@@ -14863,21 +15876,21 @@ const navigationSplitViewStyles = css`
|
|
|
14863
15876
|
}
|
|
14864
15877
|
|
|
14865
15878
|
&[open] {
|
|
14866
|
-
@media (max-width: ${smMax$
|
|
15879
|
+
@media (max-width: ${smMax$b}) {
|
|
14867
15880
|
animation: navigation-split-view-slide-in-bottom var(--semantics-sheets-bottom-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14868
15881
|
}
|
|
14869
15882
|
|
|
14870
|
-
@media (min-width: ${mdMin$
|
|
15883
|
+
@media (min-width: ${mdMin$d}) {
|
|
14871
15884
|
animation: navigation-split-view-inspector-slide-in var(--semantics-sheets-side-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14872
15885
|
}
|
|
14873
15886
|
}
|
|
14874
15887
|
|
|
14875
15888
|
&.is-closing {
|
|
14876
|
-
@media (max-width: ${smMax$
|
|
15889
|
+
@media (max-width: ${smMax$b}) {
|
|
14877
15890
|
animation: navigation-split-view-slide-out-bottom var(--semantics-sheets-bottom-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14878
15891
|
}
|
|
14879
15892
|
|
|
14880
|
-
@media (min-width: ${mdMin$
|
|
15893
|
+
@media (min-width: ${mdMin$d}) {
|
|
14881
15894
|
animation: navigation-split-view-inspector-slide-out var(--semantics-sheets-side-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14882
15895
|
}
|
|
14883
15896
|
}
|
|
@@ -14916,7 +15929,7 @@ const navigationSplitViewStyles = css`
|
|
|
14916
15929
|
position: fixed;
|
|
14917
15930
|
outline: none;
|
|
14918
15931
|
|
|
14919
|
-
@media (max-width: ${smMax$
|
|
15932
|
+
@media (max-width: ${smMax$b}) {
|
|
14920
15933
|
inset: auto 0 0 0;
|
|
14921
15934
|
width: 100%;
|
|
14922
15935
|
max-width: 100%;
|
|
@@ -14925,14 +15938,14 @@ const navigationSplitViewStyles = css`
|
|
|
14925
15938
|
border-radius: var(--semantics-overlays-corner-radius) var(--semantics-overlays-corner-radius) 0 0;
|
|
14926
15939
|
}
|
|
14927
15940
|
|
|
14928
|
-
@media (min-width: ${mdMin$
|
|
15941
|
+
@media (min-width: ${mdMin$d}) and (max-width: ${mdMax$8}) {
|
|
14929
15942
|
inset: var(--semantics-overlays-inset) auto var(--semantics-overlays-inset) var(--semantics-overlays-inset);
|
|
14930
15943
|
width: var(--semantics-sheets-side-md-width);
|
|
14931
15944
|
height: calc(100dvh - var(--semantics-overlays-inset) * 2);
|
|
14932
15945
|
border-radius: var(--semantics-overlays-corner-radius);
|
|
14933
15946
|
}
|
|
14934
15947
|
|
|
14935
|
-
@media (min-width: ${lgMin$
|
|
15948
|
+
@media (min-width: ${lgMin$a}) {
|
|
14936
15949
|
inset: var(--semantics-overlays-inset) auto var(--semantics-overlays-inset) var(--semantics-overlays-inset);
|
|
14937
15950
|
width: var(--semantics-sheets-side-lg-width);
|
|
14938
15951
|
height: calc(100dvh - var(--semantics-overlays-inset) * 2);
|
|
@@ -14954,21 +15967,21 @@ const navigationSplitViewStyles = css`
|
|
|
14954
15967
|
}
|
|
14955
15968
|
|
|
14956
15969
|
&[open] {
|
|
14957
|
-
@media (max-width: ${smMax$
|
|
15970
|
+
@media (max-width: ${smMax$b}) {
|
|
14958
15971
|
animation: navigation-split-view-slide-in-bottom var(--semantics-sheets-bottom-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14959
15972
|
}
|
|
14960
15973
|
|
|
14961
|
-
@media (min-width: ${mdMin$
|
|
15974
|
+
@media (min-width: ${mdMin$d}) {
|
|
14962
15975
|
animation: navigation-split-view-sidebar-slide-in var(--semantics-sheets-side-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14963
15976
|
}
|
|
14964
15977
|
}
|
|
14965
15978
|
|
|
14966
15979
|
&.is-closing {
|
|
14967
|
-
@media (max-width: ${smMax$
|
|
15980
|
+
@media (max-width: ${smMax$b}) {
|
|
14968
15981
|
animation: navigation-split-view-slide-out-bottom var(--semantics-sheets-bottom-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14969
15982
|
}
|
|
14970
15983
|
|
|
14971
|
-
@media (min-width: ${mdMin$
|
|
15984
|
+
@media (min-width: ${mdMin$d}) {
|
|
14972
15985
|
animation: navigation-split-view-sidebar-slide-out var(--semantics-sheets-side-animation-duration) var(--primitives-transition-easing-default) both;
|
|
14973
15986
|
}
|
|
14974
15987
|
}
|
|
@@ -15660,7 +16673,7 @@ __decorateClass$x([
|
|
|
15660
16673
|
NLDDStackedSplitView = __decorateClass$x([
|
|
15661
16674
|
customElement("nldd-stacked-split-view")
|
|
15662
16675
|
], NLDDStackedSplitView);
|
|
15663
|
-
const mdMin$
|
|
16676
|
+
const mdMin$c = unsafeCSS(breakpoints.mdMin);
|
|
15664
16677
|
const splitViewPaneStyles = css`
|
|
15665
16678
|
|
|
15666
16679
|
|
|
@@ -15673,7 +16686,7 @@ const splitViewPaneStyles = css`
|
|
|
15673
16686
|
width: 100%;
|
|
15674
16687
|
height: 100%;
|
|
15675
16688
|
|
|
15676
|
-
@media (min-width: ${mdMin$
|
|
16689
|
+
@media (min-width: ${mdMin$c}) {
|
|
15677
16690
|
background-color: var(--_background-color);
|
|
15678
16691
|
}
|
|
15679
16692
|
}
|
|
@@ -16059,10 +17072,10 @@ const page = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty
|
|
|
16059
17072
|
return NLDDPage;
|
|
16060
17073
|
}
|
|
16061
17074
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
16062
|
-
const smMax$
|
|
16063
|
-
const mdMin$
|
|
16064
|
-
const mdMax$
|
|
16065
|
-
const lgMin$
|
|
17075
|
+
const smMax$a = unsafeCSS(breakpoints.smMax);
|
|
17076
|
+
const mdMin$b = unsafeCSS(breakpoints.mdMin);
|
|
17077
|
+
const mdMax$7 = unsafeCSS(breakpoints.mdMax);
|
|
17078
|
+
const lgMin$9 = unsafeCSS(breakpoints.lgMin);
|
|
16066
17079
|
const simpleSectionStyles = css`
|
|
16067
17080
|
|
|
16068
17081
|
|
|
@@ -16104,32 +17117,32 @@ const simpleSectionStyles = css`
|
|
|
16104
17117
|
width: 100%;
|
|
16105
17118
|
box-sizing: border-box;
|
|
16106
17119
|
|
|
16107
|
-
@media (max-width: ${smMax$
|
|
17120
|
+
@media (max-width: ${smMax$a}) {
|
|
16108
17121
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16109
17122
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16110
17123
|
}
|
|
16111
17124
|
|
|
16112
|
-
@media (min-width: ${mdMin$
|
|
17125
|
+
@media (min-width: ${mdMin$b}) and (max-width: ${mdMax$7}) {
|
|
16113
17126
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16114
17127
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16115
17128
|
}
|
|
16116
17129
|
|
|
16117
|
-
@media (min-width: ${lgMin$
|
|
17130
|
+
@media (min-width: ${lgMin$9}) {
|
|
16118
17131
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16119
17132
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16120
17133
|
}
|
|
16121
17134
|
|
|
16122
|
-
@container layout-area (max-width: ${smMax$
|
|
17135
|
+
@container layout-area (max-width: ${smMax$a}) {
|
|
16123
17136
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16124
17137
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16125
17138
|
}
|
|
16126
17139
|
|
|
16127
|
-
@container layout-area (min-width: ${mdMin$
|
|
17140
|
+
@container layout-area (min-width: ${mdMin$b}) and (max-width: ${mdMax$7}) {
|
|
16128
17141
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16129
17142
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16130
17143
|
}
|
|
16131
17144
|
|
|
16132
|
-
@container layout-area (min-width: ${lgMin$
|
|
17145
|
+
@container layout-area (min-width: ${lgMin$9}) {
|
|
16133
17146
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16134
17147
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16135
17148
|
}
|
|
@@ -16152,27 +17165,27 @@ const simpleSectionStyles = css`
|
|
|
16152
17165
|
width: 100%;
|
|
16153
17166
|
max-width: var(--_max-width);
|
|
16154
17167
|
|
|
16155
|
-
@media (max-width: ${smMax$
|
|
17168
|
+
@media (max-width: ${smMax$a}) {
|
|
16156
17169
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16157
17170
|
}
|
|
16158
17171
|
|
|
16159
|
-
@media (min-width: ${mdMin$
|
|
17172
|
+
@media (min-width: ${mdMin$b}) and (max-width: ${mdMax$7}) {
|
|
16160
17173
|
gap: var(--semantics-page-sections-md-gap);
|
|
16161
17174
|
}
|
|
16162
17175
|
|
|
16163
|
-
@media (min-width: ${lgMin$
|
|
17176
|
+
@media (min-width: ${lgMin$9}) {
|
|
16164
17177
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16165
17178
|
}
|
|
16166
17179
|
|
|
16167
|
-
@container layout-area (max-width: ${smMax$
|
|
17180
|
+
@container layout-area (max-width: ${smMax$a}) {
|
|
16168
17181
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16169
17182
|
}
|
|
16170
17183
|
|
|
16171
|
-
@container layout-area (min-width: ${mdMin$
|
|
17184
|
+
@container layout-area (min-width: ${mdMin$b}) and (max-width: ${mdMax$7}) {
|
|
16172
17185
|
gap: var(--semantics-page-sections-md-gap);
|
|
16173
17186
|
}
|
|
16174
17187
|
|
|
16175
|
-
@container layout-area (min-width: ${lgMin$
|
|
17188
|
+
@container layout-area (min-width: ${lgMin$9}) {
|
|
16176
17189
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16177
17190
|
}
|
|
16178
17191
|
}
|
|
@@ -16247,10 +17260,10 @@ const simpleSection = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defin
|
|
|
16247
17260
|
return NLDDSimpleSection;
|
|
16248
17261
|
}
|
|
16249
17262
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
16250
|
-
const smMax$
|
|
16251
|
-
const mdMin$
|
|
16252
|
-
const mdMax$
|
|
16253
|
-
const lgMin$
|
|
17263
|
+
const smMax$9 = unsafeCSS(breakpoints.smMax);
|
|
17264
|
+
const mdMin$a = unsafeCSS(breakpoints.mdMin);
|
|
17265
|
+
const mdMax$6 = unsafeCSS(breakpoints.mdMax);
|
|
17266
|
+
const lgMin$8 = unsafeCSS(breakpoints.lgMin);
|
|
16254
17267
|
const fullBleedSectionStyles = css`
|
|
16255
17268
|
|
|
16256
17269
|
|
|
@@ -16286,27 +17299,27 @@ const fullBleedSectionStyles = css`
|
|
|
16286
17299
|
width: 100%;
|
|
16287
17300
|
box-sizing: border-box;
|
|
16288
17301
|
|
|
16289
|
-
@media (max-width: ${smMax$
|
|
17302
|
+
@media (max-width: ${smMax$9}) {
|
|
16290
17303
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16291
17304
|
}
|
|
16292
17305
|
|
|
16293
|
-
@media (min-width: ${mdMin$
|
|
17306
|
+
@media (min-width: ${mdMin$a}) and (max-width: ${mdMax$6}) {
|
|
16294
17307
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16295
17308
|
}
|
|
16296
17309
|
|
|
16297
|
-
@media (min-width: ${lgMin$
|
|
17310
|
+
@media (min-width: ${lgMin$8}) {
|
|
16298
17311
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16299
17312
|
}
|
|
16300
17313
|
|
|
16301
|
-
@container layout-area (max-width: ${smMax$
|
|
17314
|
+
@container layout-area (max-width: ${smMax$9}) {
|
|
16302
17315
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16303
17316
|
}
|
|
16304
17317
|
|
|
16305
|
-
@container layout-area (min-width: ${mdMin$
|
|
17318
|
+
@container layout-area (min-width: ${mdMin$a}) and (max-width: ${mdMax$6}) {
|
|
16306
17319
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16307
17320
|
}
|
|
16308
17321
|
|
|
16309
|
-
@container layout-area (min-width: ${lgMin$
|
|
17322
|
+
@container layout-area (min-width: ${lgMin$8}) {
|
|
16310
17323
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16311
17324
|
}
|
|
16312
17325
|
}
|
|
@@ -16328,27 +17341,27 @@ const fullBleedSectionStyles = css`
|
|
|
16328
17341
|
width: 100%;
|
|
16329
17342
|
max-width: var(--_max-width);
|
|
16330
17343
|
|
|
16331
|
-
@media (max-width: ${smMax$
|
|
17344
|
+
@media (max-width: ${smMax$9}) {
|
|
16332
17345
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16333
17346
|
}
|
|
16334
17347
|
|
|
16335
|
-
@media (min-width: ${mdMin$
|
|
17348
|
+
@media (min-width: ${mdMin$a}) and (max-width: ${mdMax$6}) {
|
|
16336
17349
|
gap: var(--semantics-page-sections-md-gap);
|
|
16337
17350
|
}
|
|
16338
17351
|
|
|
16339
|
-
@media (min-width: ${lgMin$
|
|
17352
|
+
@media (min-width: ${lgMin$8}) {
|
|
16340
17353
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16341
17354
|
}
|
|
16342
17355
|
|
|
16343
|
-
@container layout-area (max-width: ${smMax$
|
|
17356
|
+
@container layout-area (max-width: ${smMax$9}) {
|
|
16344
17357
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16345
17358
|
}
|
|
16346
17359
|
|
|
16347
|
-
@container layout-area (min-width: ${mdMin$
|
|
17360
|
+
@container layout-area (min-width: ${mdMin$a}) and (max-width: ${mdMax$6}) {
|
|
16348
17361
|
gap: var(--semantics-page-sections-md-gap);
|
|
16349
17362
|
}
|
|
16350
17363
|
|
|
16351
|
-
@container layout-area (min-width: ${lgMin$
|
|
17364
|
+
@container layout-area (min-width: ${lgMin$8}) {
|
|
16352
17365
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16353
17366
|
}
|
|
16354
17367
|
}
|
|
@@ -16417,10 +17430,10 @@ __decorateClass$t([
|
|
|
16417
17430
|
NLDDFullBleedSection = __decorateClass$t([
|
|
16418
17431
|
customElement("nldd-full-bleed-section")
|
|
16419
17432
|
], NLDDFullBleedSection);
|
|
16420
|
-
const smMax$
|
|
16421
|
-
const mdMin$
|
|
16422
|
-
const mdMax$
|
|
16423
|
-
const lgMin$
|
|
17433
|
+
const smMax$8 = unsafeCSS(breakpoints.smMax);
|
|
17434
|
+
const mdMin$9 = unsafeCSS(breakpoints.mdMin);
|
|
17435
|
+
const mdMax$5 = unsafeCSS(breakpoints.mdMax);
|
|
17436
|
+
const lgMin$7 = unsafeCSS(breakpoints.lgMin);
|
|
16424
17437
|
const oneThirdTwoThirdsSectionStyles = css`
|
|
16425
17438
|
|
|
16426
17439
|
|
|
@@ -16456,32 +17469,32 @@ const oneThirdTwoThirdsSectionStyles = css`
|
|
|
16456
17469
|
width: 100%;
|
|
16457
17470
|
box-sizing: border-box;
|
|
16458
17471
|
|
|
16459
|
-
@media (max-width: ${smMax$
|
|
17472
|
+
@media (max-width: ${smMax$8}) {
|
|
16460
17473
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16461
17474
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16462
17475
|
}
|
|
16463
17476
|
|
|
16464
|
-
@media (min-width: ${mdMin$
|
|
17477
|
+
@media (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16465
17478
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16466
17479
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16467
17480
|
}
|
|
16468
17481
|
|
|
16469
|
-
@media (min-width: ${lgMin$
|
|
17482
|
+
@media (min-width: ${lgMin$7}) {
|
|
16470
17483
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16471
17484
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16472
17485
|
}
|
|
16473
17486
|
|
|
16474
|
-
@container layout-area (max-width: ${smMax$
|
|
17487
|
+
@container layout-area (max-width: ${smMax$8}) {
|
|
16475
17488
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16476
17489
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16477
17490
|
}
|
|
16478
17491
|
|
|
16479
|
-
@container layout-area (min-width: ${mdMin$
|
|
17492
|
+
@container layout-area (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16480
17493
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16481
17494
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16482
17495
|
}
|
|
16483
17496
|
|
|
16484
|
-
@container layout-area (min-width: ${lgMin$
|
|
17497
|
+
@container layout-area (min-width: ${lgMin$7}) {
|
|
16485
17498
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16486
17499
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16487
17500
|
}
|
|
@@ -16496,27 +17509,27 @@ const oneThirdTwoThirdsSectionStyles = css`
|
|
|
16496
17509
|
width: 100%;
|
|
16497
17510
|
max-width: var(--_max-width);
|
|
16498
17511
|
|
|
16499
|
-
@media (max-width: ${smMax$
|
|
17512
|
+
@media (max-width: ${smMax$8}) {
|
|
16500
17513
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16501
17514
|
}
|
|
16502
17515
|
|
|
16503
|
-
@media (min-width: ${mdMin$
|
|
17516
|
+
@media (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16504
17517
|
gap: var(--semantics-page-sections-md-gap);
|
|
16505
17518
|
}
|
|
16506
17519
|
|
|
16507
|
-
@media (min-width: ${lgMin$
|
|
17520
|
+
@media (min-width: ${lgMin$7}) {
|
|
16508
17521
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16509
17522
|
}
|
|
16510
17523
|
|
|
16511
|
-
@container layout-area (max-width: ${smMax$
|
|
17524
|
+
@container layout-area (max-width: ${smMax$8}) {
|
|
16512
17525
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16513
17526
|
}
|
|
16514
17527
|
|
|
16515
|
-
@container layout-area (min-width: ${mdMin$
|
|
17528
|
+
@container layout-area (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16516
17529
|
gap: var(--semantics-page-sections-md-gap);
|
|
16517
17530
|
}
|
|
16518
17531
|
|
|
16519
|
-
@container layout-area (min-width: ${lgMin$
|
|
17532
|
+
@container layout-area (min-width: ${lgMin$7}) {
|
|
16520
17533
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16521
17534
|
}
|
|
16522
17535
|
}
|
|
@@ -16528,27 +17541,27 @@ const oneThirdTwoThirdsSectionStyles = css`
|
|
|
16528
17541
|
display: flex;
|
|
16529
17542
|
flex-wrap: wrap;
|
|
16530
17543
|
|
|
16531
|
-
@media (max-width: ${smMax$
|
|
17544
|
+
@media (max-width: ${smMax$8}) {
|
|
16532
17545
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16533
17546
|
}
|
|
16534
17547
|
|
|
16535
|
-
@media (min-width: ${mdMin$
|
|
17548
|
+
@media (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16536
17549
|
gap: var(--semantics-page-sections-md-gap);
|
|
16537
17550
|
}
|
|
16538
17551
|
|
|
16539
|
-
@media (min-width: ${lgMin$
|
|
17552
|
+
@media (min-width: ${lgMin$7}) {
|
|
16540
17553
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16541
17554
|
}
|
|
16542
17555
|
|
|
16543
|
-
@container layout-area (max-width: ${smMax$
|
|
17556
|
+
@container layout-area (max-width: ${smMax$8}) {
|
|
16544
17557
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16545
17558
|
}
|
|
16546
17559
|
|
|
16547
|
-
@container layout-area (min-width: ${mdMin$
|
|
17560
|
+
@container layout-area (min-width: ${mdMin$9}) and (max-width: ${mdMax$5}) {
|
|
16548
17561
|
gap: var(--semantics-page-sections-md-gap);
|
|
16549
17562
|
}
|
|
16550
17563
|
|
|
16551
|
-
@container layout-area (min-width: ${lgMin$
|
|
17564
|
+
@container layout-area (min-width: ${lgMin$7}) {
|
|
16552
17565
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16553
17566
|
}
|
|
16554
17567
|
}
|
|
@@ -16608,10 +17621,10 @@ __decorateClass$s([
|
|
|
16608
17621
|
NLDDOneThirdTwoThirdsSection = __decorateClass$s([
|
|
16609
17622
|
customElement("nldd-one-third-two-thirds-section")
|
|
16610
17623
|
], NLDDOneThirdTwoThirdsSection);
|
|
16611
|
-
const smMax$
|
|
16612
|
-
const mdMin$
|
|
16613
|
-
const mdMax$
|
|
16614
|
-
const lgMin$
|
|
17624
|
+
const smMax$7 = unsafeCSS(breakpoints.smMax);
|
|
17625
|
+
const mdMin$8 = unsafeCSS(breakpoints.mdMin);
|
|
17626
|
+
const mdMax$4 = unsafeCSS(breakpoints.mdMax);
|
|
17627
|
+
const lgMin$6 = unsafeCSS(breakpoints.lgMin);
|
|
16615
17628
|
const twoThirdsOneThirdSectionStyles = css`
|
|
16616
17629
|
|
|
16617
17630
|
|
|
@@ -16647,32 +17660,32 @@ const twoThirdsOneThirdSectionStyles = css`
|
|
|
16647
17660
|
width: 100%;
|
|
16648
17661
|
box-sizing: border-box;
|
|
16649
17662
|
|
|
16650
|
-
@media (max-width: ${smMax$
|
|
17663
|
+
@media (max-width: ${smMax$7}) {
|
|
16651
17664
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16652
17665
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16653
17666
|
}
|
|
16654
17667
|
|
|
16655
|
-
@media (min-width: ${mdMin$
|
|
17668
|
+
@media (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16656
17669
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16657
17670
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16658
17671
|
}
|
|
16659
17672
|
|
|
16660
|
-
@media (min-width: ${lgMin$
|
|
17673
|
+
@media (min-width: ${lgMin$6}) {
|
|
16661
17674
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16662
17675
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16663
17676
|
}
|
|
16664
17677
|
|
|
16665
|
-
@container layout-area (max-width: ${smMax$
|
|
17678
|
+
@container layout-area (max-width: ${smMax$7}) {
|
|
16666
17679
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16667
17680
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16668
17681
|
}
|
|
16669
17682
|
|
|
16670
|
-
@container layout-area (min-width: ${mdMin$
|
|
17683
|
+
@container layout-area (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16671
17684
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16672
17685
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16673
17686
|
}
|
|
16674
17687
|
|
|
16675
|
-
@container layout-area (min-width: ${lgMin$
|
|
17688
|
+
@container layout-area (min-width: ${lgMin$6}) {
|
|
16676
17689
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16677
17690
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16678
17691
|
}
|
|
@@ -16687,27 +17700,27 @@ const twoThirdsOneThirdSectionStyles = css`
|
|
|
16687
17700
|
width: 100%;
|
|
16688
17701
|
max-width: var(--_max-width);
|
|
16689
17702
|
|
|
16690
|
-
@media (max-width: ${smMax$
|
|
17703
|
+
@media (max-width: ${smMax$7}) {
|
|
16691
17704
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16692
17705
|
}
|
|
16693
17706
|
|
|
16694
|
-
@media (min-width: ${mdMin$
|
|
17707
|
+
@media (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16695
17708
|
gap: var(--semantics-page-sections-md-gap);
|
|
16696
17709
|
}
|
|
16697
17710
|
|
|
16698
|
-
@media (min-width: ${lgMin$
|
|
17711
|
+
@media (min-width: ${lgMin$6}) {
|
|
16699
17712
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16700
17713
|
}
|
|
16701
17714
|
|
|
16702
|
-
@container layout-area (max-width: ${smMax$
|
|
17715
|
+
@container layout-area (max-width: ${smMax$7}) {
|
|
16703
17716
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16704
17717
|
}
|
|
16705
17718
|
|
|
16706
|
-
@container layout-area (min-width: ${mdMin$
|
|
17719
|
+
@container layout-area (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16707
17720
|
gap: var(--semantics-page-sections-md-gap);
|
|
16708
17721
|
}
|
|
16709
17722
|
|
|
16710
|
-
@container layout-area (min-width: ${lgMin$
|
|
17723
|
+
@container layout-area (min-width: ${lgMin$6}) {
|
|
16711
17724
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16712
17725
|
}
|
|
16713
17726
|
}
|
|
@@ -16719,27 +17732,27 @@ const twoThirdsOneThirdSectionStyles = css`
|
|
|
16719
17732
|
display: flex;
|
|
16720
17733
|
flex-wrap: wrap;
|
|
16721
17734
|
|
|
16722
|
-
@media (max-width: ${smMax$
|
|
17735
|
+
@media (max-width: ${smMax$7}) {
|
|
16723
17736
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16724
17737
|
}
|
|
16725
17738
|
|
|
16726
|
-
@media (min-width: ${mdMin$
|
|
17739
|
+
@media (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16727
17740
|
gap: var(--semantics-page-sections-md-gap);
|
|
16728
17741
|
}
|
|
16729
17742
|
|
|
16730
|
-
@media (min-width: ${lgMin$
|
|
17743
|
+
@media (min-width: ${lgMin$6}) {
|
|
16731
17744
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16732
17745
|
}
|
|
16733
17746
|
|
|
16734
|
-
@container layout-area (max-width: ${smMax$
|
|
17747
|
+
@container layout-area (max-width: ${smMax$7}) {
|
|
16735
17748
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16736
17749
|
}
|
|
16737
17750
|
|
|
16738
|
-
@container layout-area (min-width: ${mdMin$
|
|
17751
|
+
@container layout-area (min-width: ${mdMin$8}) and (max-width: ${mdMax$4}) {
|
|
16739
17752
|
gap: var(--semantics-page-sections-md-gap);
|
|
16740
17753
|
}
|
|
16741
17754
|
|
|
16742
|
-
@container layout-area (min-width: ${lgMin$
|
|
17755
|
+
@container layout-area (min-width: ${lgMin$6}) {
|
|
16743
17756
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16744
17757
|
}
|
|
16745
17758
|
}
|
|
@@ -16799,10 +17812,10 @@ __decorateClass$r([
|
|
|
16799
17812
|
NLDDTwoThirdsOneThirdSection = __decorateClass$r([
|
|
16800
17813
|
customElement("nldd-two-thirds-one-third-section")
|
|
16801
17814
|
], NLDDTwoThirdsOneThirdSection);
|
|
16802
|
-
const smMax$
|
|
16803
|
-
const mdMin$
|
|
16804
|
-
const mdMax$
|
|
16805
|
-
const lgMin$
|
|
17815
|
+
const smMax$6 = unsafeCSS(breakpoints.smMax);
|
|
17816
|
+
const mdMin$7 = unsafeCSS(breakpoints.mdMin);
|
|
17817
|
+
const mdMax$3 = unsafeCSS(breakpoints.mdMax);
|
|
17818
|
+
const lgMin$5 = unsafeCSS(breakpoints.lgMin);
|
|
16806
17819
|
const oneHalfOneHalfSectionStyles = css`
|
|
16807
17820
|
|
|
16808
17821
|
|
|
@@ -16838,32 +17851,32 @@ const oneHalfOneHalfSectionStyles = css`
|
|
|
16838
17851
|
width: 100%;
|
|
16839
17852
|
box-sizing: border-box;
|
|
16840
17853
|
|
|
16841
|
-
@media (max-width: ${smMax$
|
|
17854
|
+
@media (max-width: ${smMax$6}) {
|
|
16842
17855
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16843
17856
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16844
17857
|
}
|
|
16845
17858
|
|
|
16846
|
-
@media (min-width: ${mdMin$
|
|
17859
|
+
@media (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16847
17860
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16848
17861
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16849
17862
|
}
|
|
16850
17863
|
|
|
16851
|
-
@media (min-width: ${lgMin$
|
|
17864
|
+
@media (min-width: ${lgMin$5}) {
|
|
16852
17865
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16853
17866
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16854
17867
|
}
|
|
16855
17868
|
|
|
16856
|
-
@container layout-area (max-width: ${smMax$
|
|
17869
|
+
@container layout-area (max-width: ${smMax$6}) {
|
|
16857
17870
|
padding-inline: var(--semantics-page-sections-sm-margin-inline);
|
|
16858
17871
|
padding-block: var(--semantics-page-sections-sm-margin-block);
|
|
16859
17872
|
}
|
|
16860
17873
|
|
|
16861
|
-
@container layout-area (min-width: ${mdMin$
|
|
17874
|
+
@container layout-area (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16862
17875
|
padding-inline: var(--semantics-page-sections-md-margin-inline);
|
|
16863
17876
|
padding-block: var(--semantics-page-sections-md-margin-block);
|
|
16864
17877
|
}
|
|
16865
17878
|
|
|
16866
|
-
@container layout-area (min-width: ${lgMin$
|
|
17879
|
+
@container layout-area (min-width: ${lgMin$5}) {
|
|
16867
17880
|
padding-inline: var(--semantics-page-sections-lg-margin-inline);
|
|
16868
17881
|
padding-block: var(--semantics-page-sections-lg-margin-block);
|
|
16869
17882
|
}
|
|
@@ -16878,27 +17891,27 @@ const oneHalfOneHalfSectionStyles = css`
|
|
|
16878
17891
|
width: 100%;
|
|
16879
17892
|
max-width: var(--_max-width);
|
|
16880
17893
|
|
|
16881
|
-
@media (max-width: ${smMax$
|
|
17894
|
+
@media (max-width: ${smMax$6}) {
|
|
16882
17895
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16883
17896
|
}
|
|
16884
17897
|
|
|
16885
|
-
@media (min-width: ${mdMin$
|
|
17898
|
+
@media (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16886
17899
|
gap: var(--semantics-page-sections-md-gap);
|
|
16887
17900
|
}
|
|
16888
17901
|
|
|
16889
|
-
@media (min-width: ${lgMin$
|
|
17902
|
+
@media (min-width: ${lgMin$5}) {
|
|
16890
17903
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16891
17904
|
}
|
|
16892
17905
|
|
|
16893
|
-
@container layout-area (max-width: ${smMax$
|
|
17906
|
+
@container layout-area (max-width: ${smMax$6}) {
|
|
16894
17907
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16895
17908
|
}
|
|
16896
17909
|
|
|
16897
|
-
@container layout-area (min-width: ${mdMin$
|
|
17910
|
+
@container layout-area (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16898
17911
|
gap: var(--semantics-page-sections-md-gap);
|
|
16899
17912
|
}
|
|
16900
17913
|
|
|
16901
|
-
@container layout-area (min-width: ${lgMin$
|
|
17914
|
+
@container layout-area (min-width: ${lgMin$5}) {
|
|
16902
17915
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16903
17916
|
}
|
|
16904
17917
|
}
|
|
@@ -16910,27 +17923,27 @@ const oneHalfOneHalfSectionStyles = css`
|
|
|
16910
17923
|
display: flex;
|
|
16911
17924
|
flex-wrap: wrap;
|
|
16912
17925
|
|
|
16913
|
-
@media (max-width: ${smMax$
|
|
17926
|
+
@media (max-width: ${smMax$6}) {
|
|
16914
17927
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16915
17928
|
}
|
|
16916
17929
|
|
|
16917
|
-
@media (min-width: ${mdMin$
|
|
17930
|
+
@media (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16918
17931
|
gap: var(--semantics-page-sections-md-gap);
|
|
16919
17932
|
}
|
|
16920
17933
|
|
|
16921
|
-
@media (min-width: ${lgMin$
|
|
17934
|
+
@media (min-width: ${lgMin$5}) {
|
|
16922
17935
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16923
17936
|
}
|
|
16924
17937
|
|
|
16925
|
-
@container layout-area (max-width: ${smMax$
|
|
17938
|
+
@container layout-area (max-width: ${smMax$6}) {
|
|
16926
17939
|
gap: var(--semantics-page-sections-sm-gap);
|
|
16927
17940
|
}
|
|
16928
17941
|
|
|
16929
|
-
@container layout-area (min-width: ${mdMin$
|
|
17942
|
+
@container layout-area (min-width: ${mdMin$7}) and (max-width: ${mdMax$3}) {
|
|
16930
17943
|
gap: var(--semantics-page-sections-md-gap);
|
|
16931
17944
|
}
|
|
16932
17945
|
|
|
16933
|
-
@container layout-area (min-width: ${lgMin$
|
|
17946
|
+
@container layout-area (min-width: ${lgMin$5}) {
|
|
16934
17947
|
gap: var(--semantics-page-sections-lg-gap);
|
|
16935
17948
|
}
|
|
16936
17949
|
}
|
|
@@ -17156,8 +18169,8 @@ __decorateClass$o([
|
|
|
17156
18169
|
NLDDCard = __decorateClass$o([
|
|
17157
18170
|
customElement("nldd-card")
|
|
17158
18171
|
], NLDDCard);
|
|
17159
|
-
const mdMin$
|
|
17160
|
-
const lgMin$
|
|
18172
|
+
const mdMin$6 = unsafeCSS(breakpoints.mdMin);
|
|
18173
|
+
const lgMin$4 = unsafeCSS(breakpoints.lgMin);
|
|
17161
18174
|
const collectionStyles = css`
|
|
17162
18175
|
|
|
17163
18176
|
|
|
@@ -17171,11 +18184,11 @@ const collectionStyles = css`
|
|
|
17171
18184
|
gap: var(--components-collection-sm-gap);
|
|
17172
18185
|
--_item-width: var(--primitives-area-280);
|
|
17173
18186
|
|
|
17174
|
-
@media (min-width: ${mdMin$
|
|
18187
|
+
@media (min-width: ${mdMin$6}) {
|
|
17175
18188
|
gap: var(--components-collection-md-gap);
|
|
17176
18189
|
}
|
|
17177
18190
|
|
|
17178
|
-
@media (min-width: ${lgMin$
|
|
18191
|
+
@media (min-width: ${lgMin$4}) {
|
|
17179
18192
|
gap: var(--components-collection-lg-gap);
|
|
17180
18193
|
}
|
|
17181
18194
|
}
|
|
@@ -17192,11 +18205,11 @@ const collectionStyles = css`
|
|
|
17192
18205
|
width: 100%;
|
|
17193
18206
|
gap: var(--components-collection-sm-gap);
|
|
17194
18207
|
|
|
17195
|
-
@media (min-width: ${mdMin$
|
|
18208
|
+
@media (min-width: ${mdMin$6}) {
|
|
17196
18209
|
gap: var(--components-collection-md-gap);
|
|
17197
18210
|
}
|
|
17198
18211
|
|
|
17199
|
-
@media (min-width: ${lgMin$
|
|
18212
|
+
@media (min-width: ${lgMin$4}) {
|
|
17200
18213
|
gap: var(--components-collection-lg-gap);
|
|
17201
18214
|
}
|
|
17202
18215
|
}
|
|
@@ -17494,14 +18507,22 @@ __decorateClass$n([
|
|
|
17494
18507
|
NLDDCollection = __decorateClass$n([
|
|
17495
18508
|
customElement("nldd-collection")
|
|
17496
18509
|
], NLDDCollection);
|
|
18510
|
+
const smMax$5 = unsafeCSS(breakpoints.smMax);
|
|
18511
|
+
const mdMin$5 = unsafeCSS(breakpoints.mdMin);
|
|
18512
|
+
const mdMax$2 = unsafeCSS(breakpoints.mdMax);
|
|
18513
|
+
const lgMin$3 = unsafeCSS(breakpoints.lgMin);
|
|
17497
18514
|
const spacerStyles = css`
|
|
17498
18515
|
|
|
17499
18516
|
|
|
17500
18517
|
/* # Host */
|
|
17501
18518
|
|
|
17502
18519
|
:host {
|
|
18520
|
+
--_size: var(--primitives-space-16);
|
|
18521
|
+
|
|
17503
18522
|
display: block;
|
|
17504
18523
|
flex-shrink: 0;
|
|
18524
|
+
width: var(--_size);
|
|
18525
|
+
height: var(--_size);
|
|
17505
18526
|
}
|
|
17506
18527
|
|
|
17507
18528
|
:host([hidden]) {
|
|
@@ -17509,142 +18530,181 @@ const spacerStyles = css`
|
|
|
17509
18530
|
}
|
|
17510
18531
|
|
|
17511
18532
|
|
|
17512
|
-
/* #
|
|
17513
|
-
|
|
17514
|
-
:host([size='flexible']) {
|
|
17515
|
-
flex: 1;
|
|
17516
|
-
min-width: 0;
|
|
17517
|
-
min-height: 0;
|
|
17518
|
-
}
|
|
17519
|
-
|
|
17520
|
-
:host([size='md']) {
|
|
17521
|
-
width: var(--primitives-space-16);
|
|
17522
|
-
height: var(--primitives-space-16);
|
|
17523
|
-
|
|
17524
|
-
@media (min-width: ${unsafeCSS(breakpoints.smMax)}) {
|
|
17525
|
-
width: var(--primitives-space-24);
|
|
17526
|
-
height: var(--primitives-space-24);
|
|
17527
|
-
}
|
|
17528
|
-
}
|
|
17529
|
-
|
|
17530
|
-
|
|
17531
|
-
/* # Fixed sizes */
|
|
18533
|
+
/* # Direction */
|
|
17532
18534
|
|
|
17533
|
-
:host([
|
|
17534
|
-
|
|
17535
|
-
height: var(--primitives-space-2);
|
|
18535
|
+
:host([direction="horizontal"]) {
|
|
18536
|
+
height: auto;
|
|
17536
18537
|
}
|
|
17537
18538
|
|
|
17538
|
-
:host([
|
|
17539
|
-
width:
|
|
17540
|
-
height: var(--primitives-space-4);
|
|
18539
|
+
:host([direction="vertical"]) {
|
|
18540
|
+
width: auto;
|
|
17541
18541
|
}
|
|
17542
18542
|
|
|
17543
|
-
:host([size='6']) {
|
|
17544
|
-
width: var(--primitives-space-6);
|
|
17545
|
-
height: var(--primitives-space-6);
|
|
17546
|
-
}
|
|
17547
18543
|
|
|
17548
|
-
|
|
17549
|
-
:host(:not([size])) {
|
|
17550
|
-
width: var(--primitives-space-16);
|
|
17551
|
-
height: var(--primitives-space-16);
|
|
17552
|
-
}
|
|
18544
|
+
/* # Size — applies at every breakpoint */
|
|
17553
18545
|
|
|
17554
|
-
:host([size=
|
|
17555
|
-
|
|
17556
|
-
|
|
17557
|
-
}
|
|
18546
|
+
:host([size="2"]) { --_size: var(--primitives-space-2); }
|
|
18547
|
+
:host([size="4"]) { --_size: var(--primitives-space-4); }
|
|
18548
|
+
:host([size="6"]) { --_size: var(--primitives-space-6); }
|
|
18549
|
+
:host([size="8"]) { --_size: var(--primitives-space-8); }
|
|
18550
|
+
:host([size="10"]) { --_size: var(--primitives-space-10); }
|
|
18551
|
+
:host([size="12"]) { --_size: var(--primitives-space-12); }
|
|
18552
|
+
:host([size="16"]) { --_size: var(--primitives-space-16); }
|
|
18553
|
+
:host([size="20"]) { --_size: var(--primitives-space-20); }
|
|
18554
|
+
:host([size="24"]) { --_size: var(--primitives-space-24); }
|
|
18555
|
+
:host([size="28"]) { --_size: var(--primitives-space-28); }
|
|
18556
|
+
:host([size="32"]) { --_size: var(--primitives-space-32); }
|
|
18557
|
+
:host([size="40"]) { --_size: var(--primitives-space-40); }
|
|
18558
|
+
:host([size="44"]) { --_size: var(--primitives-space-44); }
|
|
18559
|
+
:host([size="48"]) { --_size: var(--primitives-space-48); }
|
|
18560
|
+
:host([size="56"]) { --_size: var(--primitives-space-56); }
|
|
18561
|
+
:host([size="64"]) { --_size: var(--primitives-space-64); }
|
|
18562
|
+
:host([size="80"]) { --_size: var(--primitives-space-80); }
|
|
18563
|
+
:host([size="96"]) { --_size: var(--primitives-space-96); }
|
|
17558
18564
|
|
|
17559
|
-
:
|
|
17560
|
-
width: var(--primitives-space-10);
|
|
17561
|
-
height: var(--primitives-space-10);
|
|
17562
|
-
}
|
|
18565
|
+
/* ## Size: flexible — takes all remaining space in the flex parent */
|
|
17563
18566
|
|
|
17564
|
-
:host([size=
|
|
17565
|
-
|
|
17566
|
-
|
|
18567
|
+
:host([size="flexible"]) {
|
|
18568
|
+
flex: 1;
|
|
18569
|
+
min-width: 0;
|
|
18570
|
+
min-height: 0;
|
|
18571
|
+
width: auto;
|
|
18572
|
+
height: auto;
|
|
17567
18573
|
}
|
|
17568
18574
|
|
|
17569
|
-
:host([size=
|
|
17570
|
-
|
|
17571
|
-
height: var(--primitives-space-16);
|
|
18575
|
+
:host([size="flexible"][direction="horizontal"]) {
|
|
18576
|
+
min-height: auto;
|
|
17572
18577
|
}
|
|
17573
18578
|
|
|
17574
|
-
:host([size=
|
|
17575
|
-
width:
|
|
17576
|
-
height: var(--primitives-space-20);
|
|
18579
|
+
:host([size="flexible"][direction="vertical"]) {
|
|
18580
|
+
min-width: auto;
|
|
17577
18581
|
}
|
|
17578
18582
|
|
|
17579
|
-
:host([size='24']) {
|
|
17580
|
-
width: var(--primitives-space-24);
|
|
17581
|
-
height: var(--primitives-space-24);
|
|
17582
|
-
}
|
|
17583
18583
|
|
|
17584
|
-
|
|
17585
|
-
|
|
17586
|
-
|
|
17587
|
-
|
|
18584
|
+
/* # Per-viewport size overrides
|
|
18585
|
+
*
|
|
18586
|
+
* Each per-breakpoint attribute (sm-size / md-size / lg-size) sets the
|
|
18587
|
+
* same --_size local var inside its respective @media query, so it wins
|
|
18588
|
+
* over the base [size] selector at that breakpoint via cascade source
|
|
18589
|
+
* order. If only [size] is set, --_size keeps the base value across all
|
|
18590
|
+
* breakpoints.
|
|
18591
|
+
*/
|
|
17588
18592
|
|
|
17589
|
-
:
|
|
17590
|
-
|
|
17591
|
-
|
|
17592
|
-
|
|
18593
|
+
/* ## sm: max-width 640px */
|
|
18594
|
+
|
|
18595
|
+
@media (max-width: ${smMax$5}) {
|
|
18596
|
+
:host([sm-size="2"]) { --_size: var(--primitives-space-2); }
|
|
18597
|
+
:host([sm-size="4"]) { --_size: var(--primitives-space-4); }
|
|
18598
|
+
:host([sm-size="6"]) { --_size: var(--primitives-space-6); }
|
|
18599
|
+
:host([sm-size="8"]) { --_size: var(--primitives-space-8); }
|
|
18600
|
+
:host([sm-size="10"]) { --_size: var(--primitives-space-10); }
|
|
18601
|
+
:host([sm-size="12"]) { --_size: var(--primitives-space-12); }
|
|
18602
|
+
:host([sm-size="16"]) { --_size: var(--primitives-space-16); }
|
|
18603
|
+
:host([sm-size="20"]) { --_size: var(--primitives-space-20); }
|
|
18604
|
+
:host([sm-size="24"]) { --_size: var(--primitives-space-24); }
|
|
18605
|
+
:host([sm-size="28"]) { --_size: var(--primitives-space-28); }
|
|
18606
|
+
:host([sm-size="32"]) { --_size: var(--primitives-space-32); }
|
|
18607
|
+
:host([sm-size="40"]) { --_size: var(--primitives-space-40); }
|
|
18608
|
+
:host([sm-size="44"]) { --_size: var(--primitives-space-44); }
|
|
18609
|
+
:host([sm-size="48"]) { --_size: var(--primitives-space-48); }
|
|
18610
|
+
:host([sm-size="56"]) { --_size: var(--primitives-space-56); }
|
|
18611
|
+
:host([sm-size="64"]) { --_size: var(--primitives-space-64); }
|
|
18612
|
+
:host([sm-size="80"]) { --_size: var(--primitives-space-80); }
|
|
18613
|
+
:host([sm-size="96"]) { --_size: var(--primitives-space-96); }
|
|
18614
|
+
|
|
18615
|
+
:host([sm-size="flexible"]) {
|
|
18616
|
+
flex: 1;
|
|
18617
|
+
min-width: 0;
|
|
18618
|
+
min-height: 0;
|
|
18619
|
+
width: auto;
|
|
18620
|
+
height: auto;
|
|
18621
|
+
}
|
|
17593
18622
|
|
|
17594
|
-
|
|
17595
|
-
|
|
17596
|
-
|
|
17597
|
-
}
|
|
18623
|
+
:host([sm-size="flexible"][direction="horizontal"]) {
|
|
18624
|
+
min-height: auto;
|
|
18625
|
+
}
|
|
17598
18626
|
|
|
17599
|
-
|
|
17600
|
-
|
|
17601
|
-
|
|
18627
|
+
:host([sm-size="flexible"][direction="vertical"]) {
|
|
18628
|
+
min-width: auto;
|
|
18629
|
+
}
|
|
17602
18630
|
}
|
|
17603
18631
|
|
|
17604
|
-
:
|
|
17605
|
-
width: var(--primitives-space-48);
|
|
17606
|
-
height: var(--primitives-space-48);
|
|
17607
|
-
}
|
|
18632
|
+
/* ## md: 641px–1007px */
|
|
17608
18633
|
|
|
17609
|
-
:
|
|
17610
|
-
|
|
17611
|
-
|
|
17612
|
-
|
|
18634
|
+
@media (min-width: ${mdMin$5}) and (max-width: ${mdMax$2}) {
|
|
18635
|
+
:host([md-size="2"]) { --_size: var(--primitives-space-2); }
|
|
18636
|
+
:host([md-size="4"]) { --_size: var(--primitives-space-4); }
|
|
18637
|
+
:host([md-size="6"]) { --_size: var(--primitives-space-6); }
|
|
18638
|
+
:host([md-size="8"]) { --_size: var(--primitives-space-8); }
|
|
18639
|
+
:host([md-size="10"]) { --_size: var(--primitives-space-10); }
|
|
18640
|
+
:host([md-size="12"]) { --_size: var(--primitives-space-12); }
|
|
18641
|
+
:host([md-size="16"]) { --_size: var(--primitives-space-16); }
|
|
18642
|
+
:host([md-size="20"]) { --_size: var(--primitives-space-20); }
|
|
18643
|
+
:host([md-size="24"]) { --_size: var(--primitives-space-24); }
|
|
18644
|
+
:host([md-size="28"]) { --_size: var(--primitives-space-28); }
|
|
18645
|
+
:host([md-size="32"]) { --_size: var(--primitives-space-32); }
|
|
18646
|
+
:host([md-size="40"]) { --_size: var(--primitives-space-40); }
|
|
18647
|
+
:host([md-size="44"]) { --_size: var(--primitives-space-44); }
|
|
18648
|
+
:host([md-size="48"]) { --_size: var(--primitives-space-48); }
|
|
18649
|
+
:host([md-size="56"]) { --_size: var(--primitives-space-56); }
|
|
18650
|
+
:host([md-size="64"]) { --_size: var(--primitives-space-64); }
|
|
18651
|
+
:host([md-size="80"]) { --_size: var(--primitives-space-80); }
|
|
18652
|
+
:host([md-size="96"]) { --_size: var(--primitives-space-96); }
|
|
17613
18653
|
|
|
17614
|
-
|
|
17615
|
-
|
|
17616
|
-
|
|
17617
|
-
|
|
18654
|
+
:host([md-size="flexible"]) {
|
|
18655
|
+
flex: 1;
|
|
18656
|
+
min-width: 0;
|
|
18657
|
+
min-height: 0;
|
|
18658
|
+
width: auto;
|
|
18659
|
+
height: auto;
|
|
18660
|
+
}
|
|
17618
18661
|
|
|
17619
|
-
|
|
17620
|
-
|
|
17621
|
-
|
|
17622
|
-
}
|
|
18662
|
+
:host([md-size="flexible"][direction="horizontal"]) {
|
|
18663
|
+
min-height: auto;
|
|
18664
|
+
}
|
|
17623
18665
|
|
|
17624
|
-
|
|
17625
|
-
|
|
17626
|
-
|
|
18666
|
+
:host([md-size="flexible"][direction="vertical"]) {
|
|
18667
|
+
min-width: auto;
|
|
18668
|
+
}
|
|
17627
18669
|
}
|
|
17628
18670
|
|
|
18671
|
+
/* ## lg: min-width 1008px */
|
|
17629
18672
|
|
|
17630
|
-
|
|
17631
|
-
|
|
17632
|
-
|
|
17633
|
-
|
|
17634
|
-
|
|
18673
|
+
@media (min-width: ${lgMin$3}) {
|
|
18674
|
+
:host([lg-size="2"]) { --_size: var(--primitives-space-2); }
|
|
18675
|
+
:host([lg-size="4"]) { --_size: var(--primitives-space-4); }
|
|
18676
|
+
:host([lg-size="6"]) { --_size: var(--primitives-space-6); }
|
|
18677
|
+
:host([lg-size="8"]) { --_size: var(--primitives-space-8); }
|
|
18678
|
+
:host([lg-size="10"]) { --_size: var(--primitives-space-10); }
|
|
18679
|
+
:host([lg-size="12"]) { --_size: var(--primitives-space-12); }
|
|
18680
|
+
:host([lg-size="16"]) { --_size: var(--primitives-space-16); }
|
|
18681
|
+
:host([lg-size="20"]) { --_size: var(--primitives-space-20); }
|
|
18682
|
+
:host([lg-size="24"]) { --_size: var(--primitives-space-24); }
|
|
18683
|
+
:host([lg-size="28"]) { --_size: var(--primitives-space-28); }
|
|
18684
|
+
:host([lg-size="32"]) { --_size: var(--primitives-space-32); }
|
|
18685
|
+
:host([lg-size="40"]) { --_size: var(--primitives-space-40); }
|
|
18686
|
+
:host([lg-size="44"]) { --_size: var(--primitives-space-44); }
|
|
18687
|
+
:host([lg-size="48"]) { --_size: var(--primitives-space-48); }
|
|
18688
|
+
:host([lg-size="56"]) { --_size: var(--primitives-space-56); }
|
|
18689
|
+
:host([lg-size="64"]) { --_size: var(--primitives-space-64); }
|
|
18690
|
+
:host([lg-size="80"]) { --_size: var(--primitives-space-80); }
|
|
18691
|
+
:host([lg-size="96"]) { --_size: var(--primitives-space-96); }
|
|
17635
18692
|
|
|
17636
|
-
|
|
17637
|
-
|
|
17638
|
-
|
|
18693
|
+
:host([lg-size="flexible"]) {
|
|
18694
|
+
flex: 1;
|
|
18695
|
+
min-width: 0;
|
|
18696
|
+
min-height: 0;
|
|
18697
|
+
width: auto;
|
|
18698
|
+
height: auto;
|
|
18699
|
+
}
|
|
17639
18700
|
|
|
17640
|
-
|
|
17641
|
-
|
|
17642
|
-
|
|
17643
|
-
}
|
|
18701
|
+
:host([lg-size="flexible"][direction="horizontal"]) {
|
|
18702
|
+
min-height: auto;
|
|
18703
|
+
}
|
|
17644
18704
|
|
|
17645
|
-
|
|
17646
|
-
|
|
17647
|
-
|
|
18705
|
+
:host([lg-size="flexible"][direction="vertical"]) {
|
|
18706
|
+
min-width: auto;
|
|
18707
|
+
}
|
|
17648
18708
|
}
|
|
17649
18709
|
`;
|
|
17650
18710
|
var __defProp$l = Object.defineProperty;
|
|
@@ -17668,6 +18728,15 @@ NLDDSpacer.styles = spacerStyles;
|
|
|
17668
18728
|
__decorateClass$m([
|
|
17669
18729
|
property({ type: String, reflect: true })
|
|
17670
18730
|
], NLDDSpacer.prototype, "size", 2);
|
|
18731
|
+
__decorateClass$m([
|
|
18732
|
+
property({ type: String, reflect: true, attribute: "sm-size" })
|
|
18733
|
+
], NLDDSpacer.prototype, "smSize", 2);
|
|
18734
|
+
__decorateClass$m([
|
|
18735
|
+
property({ type: String, reflect: true, attribute: "md-size" })
|
|
18736
|
+
], NLDDSpacer.prototype, "mdSize", 2);
|
|
18737
|
+
__decorateClass$m([
|
|
18738
|
+
property({ type: String, reflect: true, attribute: "lg-size" })
|
|
18739
|
+
], NLDDSpacer.prototype, "lgSize", 2);
|
|
17671
18740
|
__decorateClass$m([
|
|
17672
18741
|
property({ type: String, reflect: true })
|
|
17673
18742
|
], NLDDSpacer.prototype, "direction", 2);
|
|
@@ -20961,7 +22030,7 @@ const listItemStyles = css`
|
|
|
20961
22030
|
}
|
|
20962
22031
|
|
|
20963
22032
|
:host(.is-dragging) {
|
|
20964
|
-
opacity: var(--
|
|
22033
|
+
opacity: var(--semantics-controls-is-dragging-opacity);
|
|
20965
22034
|
}
|
|
20966
22035
|
|
|
20967
22036
|
:host(.is-dragging-pointer) {
|
|
@@ -21334,6 +22403,13 @@ let NLDDListItem = class extends LitElement {
|
|
|
21334
22403
|
const slot = this.shadowRoot?.querySelector('slot[name="end"]');
|
|
21335
22404
|
slot?.addEventListener("slotchange", () => this._updateVisibility());
|
|
21336
22405
|
}
|
|
22406
|
+
/**
|
|
22407
|
+
* Delegates focus to the inner `.list-item__action` (the button or anchor),
|
|
22408
|
+
* so consumers can call `listItemEl.focus()` without reaching into shadow DOM.
|
|
22409
|
+
*/
|
|
22410
|
+
focus(options) {
|
|
22411
|
+
this._action?.focus(options);
|
|
22412
|
+
}
|
|
21337
22413
|
render() {
|
|
21338
22414
|
return template$9(
|
|
21339
22415
|
this.type,
|
|
@@ -21616,6 +22692,7 @@ const titleCellStyles = css`
|
|
|
21616
22692
|
margin: 0;
|
|
21617
22693
|
align-self: stretch;
|
|
21618
22694
|
min-width: 0;
|
|
22695
|
+
overflow-wrap: anywhere;
|
|
21619
22696
|
font: var(--primitives-font-body-xs-regular-tight);
|
|
21620
22697
|
color: var(--context-cell-content-color, var(--semantics-content-secondary-color));
|
|
21621
22698
|
}
|
|
@@ -21631,6 +22708,7 @@ const titleCellStyles = css`
|
|
|
21631
22708
|
margin: 0;
|
|
21632
22709
|
align-self: stretch;
|
|
21633
22710
|
min-width: 0;
|
|
22711
|
+
overflow-wrap: break-word;
|
|
21634
22712
|
color: var(--context-cell-content-color, var(--semantics-content-color));
|
|
21635
22713
|
text-wrap: pretty;
|
|
21636
22714
|
}
|
|
@@ -21683,6 +22761,7 @@ const titleCellStyles = css`
|
|
|
21683
22761
|
margin: 0;
|
|
21684
22762
|
align-self: stretch;
|
|
21685
22763
|
min-width: 0;
|
|
22764
|
+
overflow-wrap: anywhere;
|
|
21686
22765
|
font: var(--primitives-font-body-sm-regular-tight);
|
|
21687
22766
|
color: var(--context-cell-content-color, var(--semantics-content-secondary-color));
|
|
21688
22767
|
}
|
|
@@ -21692,12 +22771,52 @@ const titleCellStyles = css`
|
|
|
21692
22771
|
}
|
|
21693
22772
|
|
|
21694
22773
|
|
|
21695
|
-
/* # Color
|
|
22774
|
+
/* # Color */
|
|
22775
|
+
|
|
22776
|
+
/* ## Color: secondary
|
|
22777
|
+
*
|
|
22778
|
+
* Overline and supporting-text are already muted by default, so we only
|
|
22779
|
+
* demote the title to make the whole cell read as secondary.
|
|
22780
|
+
*/
|
|
21696
22781
|
|
|
21697
|
-
:host([color='
|
|
21698
|
-
|
|
21699
|
-
|
|
21700
|
-
|
|
22782
|
+
:host([color='secondary']) .title-cell__title {
|
|
22783
|
+
color: var(--context-cell-content-secondary-color, var(--semantics-content-secondary-color));
|
|
22784
|
+
}
|
|
22785
|
+
|
|
22786
|
+
/* ## Color: accent
|
|
22787
|
+
*
|
|
22788
|
+
* Applies to all three text regions so the cell reads as a coherent
|
|
22789
|
+
* highlight, not a mix of accent + muted overline / supporting-text.
|
|
22790
|
+
*/
|
|
22791
|
+
|
|
22792
|
+
:host([color='accent']) .title-cell__title,
|
|
22793
|
+
:host([color='accent']) .title-cell__overline,
|
|
22794
|
+
:host([color='accent']) .title-cell__supporting-text {
|
|
22795
|
+
color: var(--context-cell-content-accent-color, var(--semantics-content-accent-color));
|
|
22796
|
+
}
|
|
22797
|
+
|
|
22798
|
+
/* ## Color: success */
|
|
22799
|
+
|
|
22800
|
+
:host([color='success']) .title-cell__title,
|
|
22801
|
+
:host([color='success']) .title-cell__overline,
|
|
22802
|
+
:host([color='success']) .title-cell__supporting-text {
|
|
22803
|
+
color: var(--context-cell-content-success-color, var(--semantics-content-success-color));
|
|
22804
|
+
}
|
|
22805
|
+
|
|
22806
|
+
/* ## Color: warning */
|
|
22807
|
+
|
|
22808
|
+
:host([color='warning']) .title-cell__title,
|
|
22809
|
+
:host([color='warning']) .title-cell__overline,
|
|
22810
|
+
:host([color='warning']) .title-cell__supporting-text {
|
|
22811
|
+
color: var(--context-cell-content-warning-color, var(--semantics-content-warning-color));
|
|
22812
|
+
}
|
|
22813
|
+
|
|
22814
|
+
/* ## Color: critical */
|
|
22815
|
+
|
|
22816
|
+
:host([color='critical']) .title-cell__title,
|
|
22817
|
+
:host([color='critical']) .title-cell__overline,
|
|
22818
|
+
:host([color='critical']) .title-cell__supporting-text {
|
|
22819
|
+
color: var(--context-cell-content-critical-color, var(--semantics-content-critical-color));
|
|
21701
22820
|
}
|
|
21702
22821
|
|
|
21703
22822
|
|
|
@@ -21718,19 +22837,37 @@ const HEADING_TAGS = {
|
|
|
21718
22837
|
6: unsafeStatic("h6")
|
|
21719
22838
|
};
|
|
21720
22839
|
function renderTitle(component) {
|
|
21721
|
-
|
|
21722
|
-
const
|
|
22840
|
+
const fallback = component.text && !component._hasDefaultSlotted ? renderQueryMark(component.text, component.query, component.queryMarkMode) : nothing;
|
|
22841
|
+
const isHidden = !component.text && !component._hasDefaultSlotted;
|
|
21723
22842
|
const tag = HEADING_TAGS[component.headingLevel];
|
|
21724
22843
|
if (tag) {
|
|
21725
|
-
return html$1`<${tag}
|
|
21726
|
-
|
|
21727
|
-
|
|
22844
|
+
return html$1`<${tag}
|
|
22845
|
+
class="title-cell__title"
|
|
22846
|
+
?hidden=${isHidden}
|
|
22847
|
+
>${fallback}<slot @slotchange=${component._onSlotChange}></slot></${tag}>`;
|
|
22848
|
+
}
|
|
22849
|
+
return html`<p
|
|
22850
|
+
class="title-cell__title"
|
|
22851
|
+
?hidden=${isHidden}
|
|
22852
|
+
>${fallback}<slot @slotchange=${component._onSlotChange}></slot></p>`;
|
|
21728
22853
|
}
|
|
21729
22854
|
const template$7 = function() {
|
|
21730
22855
|
return html`
|
|
21731
|
-
|
|
22856
|
+
<p
|
|
22857
|
+
class="title-cell__overline"
|
|
22858
|
+
?hidden=${!this.overline && !this._hasOverlineSlotted}
|
|
22859
|
+
>
|
|
22860
|
+
${this.overline && !this._hasOverlineSlotted ? renderQueryMark(this.overline, this.query, this.queryMarkMode) : nothing}
|
|
22861
|
+
<slot name="overline" @slotchange=${this._onSlotChange}></slot>
|
|
22862
|
+
</p>
|
|
21732
22863
|
${renderTitle(this)}
|
|
21733
|
-
|
|
22864
|
+
<p
|
|
22865
|
+
class="title-cell__supporting-text"
|
|
22866
|
+
?hidden=${!this.supportingText && !this._hasSupportingTextSlotted}
|
|
22867
|
+
>
|
|
22868
|
+
${this.supportingText && !this._hasSupportingTextSlotted ? renderQueryMark(this.supportingText, this.query, this.queryMarkMode) : nothing}
|
|
22869
|
+
<slot name="supporting-text" @slotchange=${this._onSlotChange}></slot>
|
|
22870
|
+
</p>
|
|
21734
22871
|
`;
|
|
21735
22872
|
};
|
|
21736
22873
|
var __defProp$d = Object.defineProperty;
|
|
@@ -21757,6 +22894,29 @@ let NLDDTitleCell = class extends VisibilityMixin(LitElement) {
|
|
|
21757
22894
|
this.headingLevel = void 0;
|
|
21758
22895
|
this.query = "";
|
|
21759
22896
|
this.queryMarkMode = "predictive";
|
|
22897
|
+
this._hasOverlineSlotted = false;
|
|
22898
|
+
this._hasDefaultSlotted = false;
|
|
22899
|
+
this._hasSupportingTextSlotted = false;
|
|
22900
|
+
this._onSlotChange = (e) => {
|
|
22901
|
+
const slot = e.target;
|
|
22902
|
+
const hasContent = slot.assignedNodes().some((node) => {
|
|
22903
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
22904
|
+
return (node.textContent ?? "").trim().length > 0;
|
|
22905
|
+
}
|
|
22906
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
22907
|
+
});
|
|
22908
|
+
switch (slot.name) {
|
|
22909
|
+
case "overline":
|
|
22910
|
+
this._hasOverlineSlotted = hasContent;
|
|
22911
|
+
break;
|
|
22912
|
+
case "supporting-text":
|
|
22913
|
+
this._hasSupportingTextSlotted = hasContent;
|
|
22914
|
+
break;
|
|
22915
|
+
default:
|
|
22916
|
+
this._hasDefaultSlotted = hasContent;
|
|
22917
|
+
break;
|
|
22918
|
+
}
|
|
22919
|
+
};
|
|
21760
22920
|
}
|
|
21761
22921
|
updated(changed) {
|
|
21762
22922
|
super.updated(changed);
|
|
@@ -21834,6 +22994,15 @@ __decorateClass$d([
|
|
|
21834
22994
|
__decorateClass$d([
|
|
21835
22995
|
property({ type: String, attribute: "query-mark-mode" })
|
|
21836
22996
|
], NLDDTitleCell.prototype, "queryMarkMode", 2);
|
|
22997
|
+
__decorateClass$d([
|
|
22998
|
+
state()
|
|
22999
|
+
], NLDDTitleCell.prototype, "_hasOverlineSlotted", 2);
|
|
23000
|
+
__decorateClass$d([
|
|
23001
|
+
state()
|
|
23002
|
+
], NLDDTitleCell.prototype, "_hasDefaultSlotted", 2);
|
|
23003
|
+
__decorateClass$d([
|
|
23004
|
+
state()
|
|
23005
|
+
], NLDDTitleCell.prototype, "_hasSupportingTextSlotted", 2);
|
|
21837
23006
|
NLDDTitleCell = __decorateClass$d([
|
|
21838
23007
|
customElement("nldd-title-cell")
|
|
21839
23008
|
], NLDDTitleCell);
|
|
@@ -24870,7 +26039,7 @@ const documentTabBarStyles = css`
|
|
|
24870
26039
|
flex-shrink: 1;
|
|
24871
26040
|
flex-basis: 0;
|
|
24872
26041
|
min-width: var(--_item-min-width);
|
|
24873
|
-
opacity: var(--
|
|
26042
|
+
opacity: var(--semantics-controls-is-dragging-opacity);
|
|
24874
26043
|
}
|
|
24875
26044
|
|
|
24876
26045
|
|
|
@@ -26266,7 +27435,7 @@ function paginationTemplate(component) {
|
|
|
26266
27435
|
`)}
|
|
26267
27436
|
</select>
|
|
26268
27437
|
<div class="pagination__select-picker-icon">
|
|
26269
|
-
<nldd-icon name="chevron-up-down"></nldd-icon>
|
|
27438
|
+
<nldd-icon name="chevron-up-chevron-down"></nldd-icon>
|
|
26270
27439
|
</div>
|
|
26271
27440
|
</div>
|
|
26272
27441
|
</div>
|
|
@@ -26682,6 +27851,7 @@ const badgeStyles = css`
|
|
|
26682
27851
|
background-color: var(--_background-color);
|
|
26683
27852
|
color: var(--_content-color);
|
|
26684
27853
|
border-radius: var(--components-badge-corner-radius);
|
|
27854
|
+
box-shadow: 0 0 0 1px var(--context-parent-background-color, var(--semantics-surfaces-background-color));
|
|
26685
27855
|
white-space: nowrap;
|
|
26686
27856
|
font: var(--_font);
|
|
26687
27857
|
}
|