@nldd/design-system 0.8.62 → 0.8.63

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.
Files changed (147) hide show
  1. package/dist/components/actions/button/button.d.ts +9 -2
  2. package/dist/components/actions/button/button.d.ts.map +1 -1
  3. package/dist/components/actions/button/button.i18n.d.ts +5 -0
  4. package/dist/components/actions/button/button.i18n.d.ts.map +1 -0
  5. package/dist/components/actions/button/button.i18n.js +4 -0
  6. package/dist/components/actions/button/button.i18n.js.map +1 -0
  7. package/dist/components/actions/button/button.js +5 -2
  8. package/dist/components/actions/button/button.js.map +1 -1
  9. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  10. package/dist/components/actions/button/button.styles.js +14 -0
  11. package/dist/components/actions/button/button.styles.js.map +1 -1
  12. package/dist/components/actions/button/button.template.d.ts.map +1 -1
  13. package/dist/components/actions/button/button.template.js +17 -4
  14. package/dist/components/actions/button/button.template.js.map +1 -1
  15. package/dist/components/actions/icon-button/icon-button.d.ts +10 -2
  16. package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
  17. package/dist/components/actions/icon-button/icon-button.i18n.d.ts +5 -0
  18. package/dist/components/actions/icon-button/icon-button.i18n.d.ts.map +1 -0
  19. package/dist/components/actions/icon-button/icon-button.i18n.js +4 -0
  20. package/dist/components/actions/icon-button/icon-button.i18n.js.map +1 -0
  21. package/dist/components/actions/icon-button/icon-button.js +5 -2
  22. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  23. package/dist/components/actions/icon-button/icon-button.template.d.ts.map +1 -1
  24. package/dist/components/actions/icon-button/icon-button.template.js +11 -2
  25. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  26. package/dist/components/components.js +63 -62
  27. package/dist/components/content/byline/byline.d.ts +11 -0
  28. package/dist/components/content/byline/byline.d.ts.map +1 -1
  29. package/dist/components/content/byline/byline.js +20 -0
  30. package/dist/components/content/byline/byline.js.map +1 -1
  31. package/dist/components/content/byline/byline.styles.d.ts.map +1 -1
  32. package/dist/components/content/byline/byline.styles.js +13 -1
  33. package/dist/components/content/byline/byline.styles.js.map +1 -1
  34. package/dist/components/content/byline/byline.template.d.ts.map +1 -1
  35. package/dist/components/content/byline/byline.template.js +17 -2
  36. package/dist/components/content/byline/byline.template.js.map +1 -1
  37. package/dist/components/forms/form-actions/form-actions.styles.d.ts.map +1 -1
  38. package/dist/components/forms/form-actions/form-actions.styles.js +1 -0
  39. package/dist/components/forms/form-actions/form-actions.styles.js.map +1 -1
  40. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  41. package/dist/components/forms/form-field/form-field.styles.js +1 -0
  42. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  43. package/dist/components/{index-DPe5myEj.js → index-BVaijKe_.js} +1770 -663
  44. package/dist/components/index.d.ts +1 -0
  45. package/dist/components/index.d.ts.map +1 -1
  46. package/dist/components/index.js +1 -0
  47. package/dist/components/index.js.map +1 -1
  48. package/dist/components/layout/collection/collection.d.ts +3 -1
  49. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  50. package/dist/components/layout/collection/collection.js +14 -2
  51. package/dist/components/layout/collection/collection.js.map +1 -1
  52. package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
  53. package/dist/components/layout/collection/collection.styles.js +7 -10
  54. package/dist/components/layout/collection/collection.styles.js.map +1 -1
  55. package/dist/components/layout/collection/collection.template.d.ts.map +1 -1
  56. package/dist/components/layout/collection/collection.template.js +4 -2
  57. package/dist/components/layout/collection/collection.template.js.map +1 -1
  58. package/dist/components/layout/page-footer/page-footer.d.ts +1 -0
  59. package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
  60. package/dist/components/layout/page-footer/page-footer.js +12 -4
  61. package/dist/components/layout/page-footer/page-footer.js.map +1 -1
  62. package/dist/components/layout/page-footer/page-footer.styles.d.ts.map +1 -1
  63. package/dist/components/layout/page-footer/page-footer.styles.js +9 -0
  64. package/dist/components/layout/page-footer/page-footer.styles.js.map +1 -1
  65. package/dist/components/lists-and-tables/list/list.d.ts +45 -0
  66. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  67. package/dist/components/lists-and-tables/list/list.i18n.d.ts +1 -0
  68. package/dist/components/lists-and-tables/list/list.i18n.d.ts.map +1 -1
  69. package/dist/components/lists-and-tables/list/list.i18n.js +1 -0
  70. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  71. package/dist/components/lists-and-tables/list/list.js +154 -1
  72. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  73. package/dist/components/lists-and-tables/list-item/list-item.d.ts +10 -2
  74. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  75. package/dist/components/lists-and-tables/list-item/list-item.i18n.d.ts +1 -1
  76. package/dist/components/lists-and-tables/list-item/list-item.i18n.js +1 -1
  77. package/dist/components/lists-and-tables/list-item/list-item.i18n.js.map +1 -1
  78. package/dist/components/lists-and-tables/list-item/list-item.js +39 -3
  79. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  80. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  81. package/dist/components/lists-and-tables/list-item/list-item.styles.js +6 -5
  82. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  83. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  84. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  85. package/dist/components/lists-and-tables/list-item/list-item.template.js +4 -2
  86. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  87. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
  88. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
  89. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
  90. package/dist/components/navigation/link/link.d.ts +9 -2
  91. package/dist/components/navigation/link/link.d.ts.map +1 -1
  92. package/dist/components/navigation/link/link.i18n.d.ts +5 -0
  93. package/dist/components/navigation/link/link.i18n.d.ts.map +1 -0
  94. package/dist/components/navigation/link/link.i18n.js +4 -0
  95. package/dist/components/navigation/link/link.i18n.js.map +1 -0
  96. package/dist/components/navigation/link/link.js +5 -2
  97. package/dist/components/navigation/link/link.js.map +1 -1
  98. package/dist/components/navigation/link/link.styles.d.ts.map +1 -1
  99. package/dist/components/navigation/link/link.styles.js +14 -0
  100. package/dist/components/navigation/link/link.styles.js.map +1 -1
  101. package/dist/components/navigation/link/link.template.d.ts.map +1 -1
  102. package/dist/components/navigation/link/link.template.js +14 -1
  103. package/dist/components/navigation/link/link.template.js.map +1 -1
  104. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  105. package/dist/components/navigation/tab-bar/tab-bar.js +11 -4
  106. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  107. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  108. package/dist/components/navigation/tab-bar/tab-bar.styles.js +25 -3
  109. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  110. package/dist/components/{prism-python-mIMEATOA.js → prism-python-Tr_Ff1KJ.js} +1 -1
  111. package/dist/components/{prism-rust-Ig3wVTFD.js → prism-rust-CxUpjfK5.js} +1 -1
  112. package/dist/components/{prism-typescript-BeulJu8Z.js → prism-typescript-zaF4YQWN.js} +1 -1
  113. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts +35 -12
  114. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts.map +1 -1
  115. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +48 -13
  116. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  117. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.d.ts.map +1 -1
  118. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +77 -17
  119. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js.map +1 -1
  120. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.d.ts +1 -2
  121. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.d.ts.map +1 -1
  122. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.js +21 -7
  123. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.js.map +1 -1
  124. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts.map +1 -1
  125. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +12 -2
  126. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js.map +1 -1
  127. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +123 -0
  128. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -0
  129. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.d.ts +6 -0
  130. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.d.ts.map +1 -0
  131. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.js +5 -0
  132. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.js.map +1 -0
  133. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +550 -0
  134. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -0
  135. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts +2 -0
  136. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts.map +1 -0
  137. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +301 -0
  138. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js.map +1 -0
  139. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.d.ts +4 -0
  140. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.d.ts.map +1 -0
  141. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js +72 -0
  142. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js.map +1 -0
  143. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +6 -1
  144. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
  145. package/dist/components/status-and-feedback/status-bar/status-bar.js +23 -9
  146. package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
  147. package/package.json +5 -1
@@ -553,6 +553,20 @@ const buttonStyles = css`
553
553
  color: var(--_is-active-secondary-content-color);
554
554
  }
555
555
 
556
+ /* Visually-hidden "opens in new tab" announcement (href + target="_blank");
557
+ part of the link's accessible name but never shown. Standard recipe. */
558
+ .button__opens-in-new-tab-hint {
559
+ position: absolute;
560
+ margin: -1px;
561
+ border: 0;
562
+ width: 1px;
563
+ height: 1px;
564
+ overflow: hidden;
565
+ padding: 0;
566
+ white-space: nowrap;
567
+ clip-path: inset(50%);
568
+ }
569
+
556
570
  :host([single-line]) .button__supporting-text {
557
571
  overflow: hidden;
558
572
  text-overflow: ellipsis;
@@ -634,7 +648,10 @@ function template$n(helpers) {
634
648
  ].filter(Boolean).join(" ");
635
649
  const isDisclosure = this.expandable || !!this.popupType;
636
650
  const ariaExpanded = isDisclosure ? String(this.expanded) : this.expanded ? "true" : nothing;
637
- const ariaLabel = this.accessibleLabel || (this.supportingText ? [this.text, this.supportingText].filter(Boolean).join(", ") : nothing);
651
+ const opensInNewTabHint = this.href && this.target === "_blank" ? this._t("components.button.opens-in-new-tab-text") : "";
652
+ const baseAriaLabel = this.accessibleLabel || (this.supportingText ? [this.text, this.supportingText].filter(Boolean).join(", ") : "");
653
+ const ariaLabel = baseAriaLabel ? [baseAriaLabel, opensInNewTabHint].filter(Boolean).join(", ") : nothing;
654
+ const renderOpensInNewTabHint = !!opensInNewTabHint && !baseAriaLabel;
638
655
  const ariaBusy = this.loading ? "true" : nothing;
639
656
  const loadingIndicator = this.loading ? html`
640
657
  <div class="button__activity-indicator">
@@ -659,6 +676,7 @@ function template$n(helpers) {
659
676
  @click=${helpers.handleClick}
660
677
  >
661
678
  ${content}
679
+ ${renderOpensInNewTabHint ? html`<span class="button__opens-in-new-tab-hint">${opensInNewTabHint}</span>` : nothing}
662
680
  </a>
663
681
  ${loadingIndicator}
664
682
  `;
@@ -682,6 +700,47 @@ function template$n(helpers) {
682
700
  ${loadingIndicator}
683
701
  `;
684
702
  }
703
+ var __defProp$1u = Object.defineProperty;
704
+ var __decorateClass$1v = (decorators, target, key, kind) => {
705
+ var result = void 0;
706
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
707
+ if (decorator = decorators[i])
708
+ result = decorator(target, key, result) || result;
709
+ if (result) __defProp$1u(target, key, result);
710
+ return result;
711
+ };
712
+ function withTranslations(Base, defaults) {
713
+ class TranslationsMixin extends Base {
714
+ constructor() {
715
+ super(...arguments);
716
+ this.translations = {};
717
+ this._mergedTranslations = { ...defaults };
718
+ }
719
+ /** @internal */
720
+ _t(key, vars) {
721
+ let str = this._mergedTranslations[key] ?? String(key);
722
+ if (vars) {
723
+ for (const [k, v] of Object.entries(vars)) {
724
+ str = str.split(`{${k}}`).join(String(v));
725
+ }
726
+ }
727
+ return str;
728
+ }
729
+ willUpdate(changed) {
730
+ super.willUpdate(changed);
731
+ if (changed.has("translations")) {
732
+ this._mergedTranslations = { ...defaults, ...this.translations };
733
+ }
734
+ }
735
+ }
736
+ __decorateClass$1v([
737
+ property({ type: Object })
738
+ ], TranslationsMixin.prototype, "translations");
739
+ return TranslationsMixin;
740
+ }
741
+ const nlddButtonTranslations = {
742
+ "components.button.opens-in-new-tab-text": "Opent in nieuw tabblad"
743
+ };
685
744
  const iconStyles = css`
686
745
 
687
746
 
@@ -1279,9 +1338,9 @@ const iconRegistry = /* @__PURE__ */ new Map([
1279
1338
  ["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>']
1280
1339
  ]);
1281
1340
  var __defProp$1t = Object.defineProperty;
1282
- var __getOwnPropDesc$1q = Object.getOwnPropertyDescriptor;
1341
+ var __getOwnPropDesc$1r = Object.getOwnPropertyDescriptor;
1283
1342
  var __decorateClass$1u = (decorators, target, key, kind) => {
1284
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1q(target, key) : target;
1343
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1r(target, key) : target;
1285
1344
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1286
1345
  if (decorator = decorators[i])
1287
1346
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -1366,6 +1425,8 @@ const activityIndicatorStyles = css`
1366
1425
  --_gap: var(--primitives-space-4);
1367
1426
  --_text-font: var(--primitives-font-body-sm-regular-flat);
1368
1427
  --_backdrop-blur: 3px;
1428
+ --_overlay-panel-padding: var(--primitives-space-12);
1429
+ --_overlay-panel-corner-radius: var(--primitives-corner-radius-md);
1369
1430
 
1370
1431
  ${inheritedTextReset}
1371
1432
  box-sizing: border-box;
@@ -1383,10 +1444,13 @@ const activityIndicatorStyles = css`
1383
1444
  display: none;
1384
1445
  }
1385
1446
 
1386
- /* The opt-in backdrop is an absolutely-positioned layer that fills the host,
1387
- so the host has to be its containing block. */
1388
- :host([backdrop]) {
1447
+ /* Overlay mode (content in the default slot): the host wraps the content and
1448
+ is the containing block for the absolutely-positioned indicator + backdrop,
1449
+ so it sizes to the content instead of filling its parent. */
1450
+ :host([has-content]) {
1451
+ display: block;
1389
1452
  position: relative;
1453
+ height: auto;
1390
1454
  }
1391
1455
 
1392
1456
 
@@ -1407,35 +1471,75 @@ const activityIndicatorStyles = css`
1407
1471
 
1408
1472
 
1409
1473
  /* # Block
1410
- Fades the indicator in once it becomes visible (both timing modes), and
1411
- stacks the default circle + label as a centred column. width:100% +
1474
+ Stacks the default circle + label as a centred column. width:100% +
1412
1475
  max-width gives a slotted progress-bar a width to fill; the fixed-size
1413
1476
  circle and the label stay centred via align-items. */
1414
1477
 
1415
1478
  .activity-indicator {
1416
1479
  /* position:relative so it paints above the absolutely-positioned backdrop
1417
- (both are z-index:auto; the backdrop comes first in the DOM). */
1480
+ (both are z-index:auto; the backdrop comes first in the DOM). Hidden by
1481
+ default; the loading host attribute fades it (and the backdrop) in and
1482
+ out — opacity + display via transition-behavior: allow-discrete, with a
1483
+ starting-style for the entry. */
1418
1484
  position: relative;
1419
- display: flex;
1420
- flex-direction: column;
1485
+ display: none;
1486
+ opacity: 0;
1487
+ pointer-events: none;
1421
1488
  width: 100%;
1422
1489
  max-width: var(--_max-width);
1490
+ flex-direction: column;
1423
1491
  align-items: center;
1424
1492
  gap: var(--_gap);
1425
- animation: activity-indicator-fade-in var(--_fade-duration) var(--_fade-easing);
1493
+ transition-property: opacity, display;
1494
+ transition-duration: var(--_fade-duration);
1495
+ transition-timing-function: var(--_fade-easing);
1496
+ transition-behavior: allow-discrete;
1426
1497
  }
1427
1498
 
1428
- @keyframes activity-indicator-fade-in {
1429
- from { opacity: 0; }
1499
+ :host([loading]) .activity-indicator {
1500
+ display: flex;
1501
+ opacity: 1;
1502
+ }
1503
+
1504
+ @starting-style {
1505
+ :host([loading]) .activity-indicator {
1506
+ opacity: 0;
1507
+ }
1508
+ }
1509
+
1510
+ /* Overlay mode: the wrapped content flows normally; the indicator + backdrop
1511
+ sit on top as absolute layers that fill the host. */
1512
+ .activity-indicator__content {
1513
+ display: block;
1430
1514
  }
1431
1515
 
1432
- /* Opt-in dimming layer (the backdrop attribute): the context parent
1433
- background colour fallback the base surface at one minus the disabled
1434
- opacity, so the content underneath reads as inactive while loading. Fades
1435
- in with the indicator. */
1516
+ /* Overlay mode: the indicator + label sit on a small rounded base-surface
1517
+ panel that hugs them with padding (not the full component width) so they
1518
+ keep contrast over the dimmed content, and read in the content colour
1519
+ instead of inheriting currentColor. */
1520
+ :host([has-content]) .activity-indicator {
1521
+ box-sizing: border-box;
1522
+ position: absolute;
1523
+ top: 50%;
1524
+ left: 50%;
1525
+ border-radius: var(--_overlay-panel-corner-radius);
1526
+ background-color: var(--semantics-surfaces-base-background-color);
1527
+ width: max-content;
1528
+ max-width: calc(100% - var(--primitives-space-32));
1529
+ padding: var(--_overlay-panel-padding);
1530
+ color: var(--semantics-content-color);
1531
+ transform: translate(-50%, -50%);
1532
+ }
1533
+
1534
+ /* Dimming layer (overlay mode, on by default; opt out with no-backdrop): the
1535
+ context parent background colour — fallback the base surface — at one minus
1536
+ the disabled opacity, so the content underneath reads as inactive while
1537
+ loading. Fades in and out with the indicator via the loading attribute. */
1436
1538
  .activity-indicator__backdrop {
1437
1539
  position: absolute;
1438
1540
  inset: 0;
1541
+ display: none;
1542
+ opacity: 0;
1439
1543
  /* Frosted dim: the parent surface — fallback base surface — as a
1440
1544
  translucent fill at one minus the disabled opacity (a translucent
1441
1545
  colour, not element opacity, which would hide the blur), plus a blur so
@@ -1444,7 +1548,22 @@ const activityIndicatorStyles = css`
1444
1548
  background-color: color-mix(in oklab, var(--context-parent-background-color, var(--semantics-surfaces-base-background-color)) calc((1 - var(--primitives-opacity-disabled)) * 100%), transparent);
1445
1549
  -webkit-backdrop-filter: blur(var(--_backdrop-blur));
1446
1550
  backdrop-filter: blur(var(--_backdrop-blur));
1447
- animation: activity-indicator-fade-in var(--_fade-duration) var(--_fade-easing);
1551
+ pointer-events: none;
1552
+ transition-property: opacity, display;
1553
+ transition-duration: var(--_fade-duration);
1554
+ transition-timing-function: var(--_fade-easing);
1555
+ transition-behavior: allow-discrete;
1556
+ }
1557
+
1558
+ :host([loading]) .activity-indicator__backdrop {
1559
+ display: block;
1560
+ opacity: 1;
1561
+ }
1562
+
1563
+ @starting-style {
1564
+ :host([loading]) .activity-indicator__backdrop {
1565
+ opacity: 0;
1566
+ }
1448
1567
  }
1449
1568
 
1450
1569
  /* display:contents so the default circle + label (or a slotted override)
@@ -1510,7 +1629,7 @@ const activityIndicatorStyles = css`
1510
1629
  @media (prefers-reduced-motion: reduce) {
1511
1630
  .activity-indicator,
1512
1631
  .activity-indicator__backdrop {
1513
- animation: none;
1632
+ transition: none;
1514
1633
  }
1515
1634
 
1516
1635
  .activity-indicator__indicator {
@@ -1526,12 +1645,19 @@ const activityIndicatorStyles = css`
1526
1645
  }
1527
1646
  `;
1528
1647
  function activityIndicatorTemplate(component) {
1529
- if (!component._visible || component.complete) return nothing;
1648
+ const disableContent = component._visible && !component.complete && component._hasContent;
1649
+ const renderBackdrop = component._hasContent && !component.noBackdrop;
1530
1650
  const text = component._accessibleName;
1531
1651
  return html`
1532
- ${component.backdrop ? html`<div class="activity-indicator__backdrop" aria-hidden="true"></div>` : nothing}
1652
+ <div class="activity-indicator__content"
1653
+ ?inert=${disableContent}
1654
+ aria-busy=${disableContent ? "true" : "false"}
1655
+ >
1656
+ <slot @slotchange=${component._onContentSlotChange}></slot>
1657
+ </div>
1658
+ ${renderBackdrop ? html`<div class="activity-indicator__backdrop" aria-hidden="true"></div>` : nothing}
1533
1659
  <div class="activity-indicator">
1534
- <slot>
1660
+ <slot name="indicator">
1535
1661
  <svg class="activity-indicator__circle"
1536
1662
  viewBox="0 0 24 24"
1537
1663
  fill="none"
@@ -1562,9 +1688,9 @@ const nlddActivityIndicatorTranslations = {
1562
1688
  "components.activity-indicator.loading-text": "Laden"
1563
1689
  };
1564
1690
  var __defProp$1s = Object.defineProperty;
1565
- var __getOwnPropDesc$1p = Object.getOwnPropertyDescriptor;
1691
+ var __getOwnPropDesc$1q = Object.getOwnPropertyDescriptor;
1566
1692
  var __decorateClass$1t = (decorators, target, key, kind) => {
1567
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1p(target, key) : target;
1693
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1q(target, key) : target;
1568
1694
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1569
1695
  if (decorator = decorators[i])
1570
1696
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -1580,9 +1706,14 @@ let NLDDActivityIndicator = class extends LitElement {
1580
1706
  this.text = "";
1581
1707
  this.timing = "default";
1582
1708
  this.complete = false;
1583
- this.backdrop = false;
1709
+ this.noBackdrop = false;
1584
1710
  this.translations = {};
1585
1711
  this._visible = false;
1712
+ this._hasContent = false;
1713
+ this._onContentSlotChange = (e) => {
1714
+ const slot = e.target;
1715
+ this._hasContent = slot.assignedElements().length > 0;
1716
+ };
1586
1717
  }
1587
1718
  _t(key) {
1588
1719
  return this.translations[key] ?? nlddActivityIndicatorTranslations[key];
@@ -1637,6 +1768,10 @@ let NLDDActivityIndicator = class extends LitElement {
1637
1768
  this.setAttribute("role", "status");
1638
1769
  }
1639
1770
  }
1771
+ updated() {
1772
+ this.toggleAttribute("loading", this._visible && !this.complete);
1773
+ this.toggleAttribute("has-content", this._hasContent);
1774
+ }
1640
1775
  render() {
1641
1776
  return activityIndicatorTemplate(this);
1642
1777
  }
@@ -1658,28 +1793,31 @@ __decorateClass$1t([
1658
1793
  property({ type: Boolean, reflect: true })
1659
1794
  ], NLDDActivityIndicator.prototype, "complete", 2);
1660
1795
  __decorateClass$1t([
1661
- property({ type: Boolean, reflect: true })
1662
- ], NLDDActivityIndicator.prototype, "backdrop", 2);
1796
+ property({ type: Boolean, reflect: true, attribute: "no-backdrop" })
1797
+ ], NLDDActivityIndicator.prototype, "noBackdrop", 2);
1663
1798
  __decorateClass$1t([
1664
1799
  property({ type: Object })
1665
1800
  ], NLDDActivityIndicator.prototype, "translations", 2);
1666
1801
  __decorateClass$1t([
1667
1802
  state()
1668
1803
  ], NLDDActivityIndicator.prototype, "_visible", 2);
1804
+ __decorateClass$1t([
1805
+ state()
1806
+ ], NLDDActivityIndicator.prototype, "_hasContent", 2);
1669
1807
  NLDDActivityIndicator = __decorateClass$1t([
1670
1808
  customElement("nldd-activity-indicator")
1671
1809
  ], NLDDActivityIndicator);
1672
1810
  var __defProp$1r = Object.defineProperty;
1673
- var __getOwnPropDesc$1o = Object.getOwnPropertyDescriptor;
1811
+ var __getOwnPropDesc$1p = Object.getOwnPropertyDescriptor;
1674
1812
  var __decorateClass$1s = (decorators, target, key, kind) => {
1675
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1o(target, key) : target;
1813
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1p(target, key) : target;
1676
1814
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1677
1815
  if (decorator = decorators[i])
1678
1816
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1679
1817
  if (kind && result) __defProp$1r(target, key, result);
1680
1818
  return result;
1681
1819
  };
1682
- let NLDDButton = class extends LitElement {
1820
+ let NLDDButton = class extends withTranslations(LitElement, nlddButtonTranslations) {
1683
1821
  constructor() {
1684
1822
  super(...arguments);
1685
1823
  this._internals = this.attachInternals();
@@ -2404,9 +2542,9 @@ function isTouchMode() {
2404
2542
  return getInputModality() === "touch";
2405
2543
  }
2406
2544
  var __defProp$1q = Object.defineProperty;
2407
- var __getOwnPropDesc$1n = Object.getOwnPropertyDescriptor;
2545
+ var __getOwnPropDesc$1o = Object.getOwnPropertyDescriptor;
2408
2546
  var __decorateClass$1r = (decorators, target, key, kind) => {
2409
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1n(target, key) : target;
2547
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1o(target, key) : target;
2410
2548
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2411
2549
  if (decorator = decorators[i])
2412
2550
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -2689,7 +2827,9 @@ function renderContent(component) {
2689
2827
  `;
2690
2828
  }
2691
2829
  function template$l() {
2692
- const label = this.accessibleLabel || this.text || nothing;
2830
+ const opensInNewTabHint = this.href && this.target === "_blank" ? this._t("components.icon-button.opens-in-new-tab-text") : "";
2831
+ const baseLabel = this.accessibleLabel || this.text || "";
2832
+ const label = [baseLabel, opensInNewTabHint].filter(Boolean).join(", ") || nothing;
2693
2833
  const content = renderContent(this);
2694
2834
  const tooltipText = this.accessibleLabel || (this.size !== "lg" || this.hideLgText ? this.text : "");
2695
2835
  const isDisclosure = this.expandable || !!this.popupType;
@@ -2748,17 +2888,20 @@ function template$l() {
2748
2888
  ` : renderButton();
2749
2889
  return html`${control}${loadingIndicator}`;
2750
2890
  }
2891
+ const nlddIconButtonTranslations = {
2892
+ "components.icon-button.opens-in-new-tab-text": "Opent in nieuw tabblad"
2893
+ };
2751
2894
  var __defProp$1p = Object.defineProperty;
2752
- var __getOwnPropDesc$1m = Object.getOwnPropertyDescriptor;
2895
+ var __getOwnPropDesc$1n = Object.getOwnPropertyDescriptor;
2753
2896
  var __decorateClass$1q = (decorators, target, key, kind) => {
2754
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1m(target, key) : target;
2897
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1n(target, key) : target;
2755
2898
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2756
2899
  if (decorator = decorators[i])
2757
2900
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2758
2901
  if (kind && result) __defProp$1p(target, key, result);
2759
2902
  return result;
2760
2903
  };
2761
- let NLDDIconButton = class extends LitElement {
2904
+ let NLDDIconButton = class extends withTranslations(LitElement, nlddIconButtonTranslations) {
2762
2905
  constructor() {
2763
2906
  super(...arguments);
2764
2907
  this._internals = this.attachInternals();
@@ -3769,9 +3912,9 @@ function VisibilityMixin(Base, containerName) {
3769
3912
  return WithVisibility;
3770
3913
  }
3771
3914
  var __defProp$1n = Object.defineProperty;
3772
- var __getOwnPropDesc$1l = Object.getOwnPropertyDescriptor;
3915
+ var __getOwnPropDesc$1m = Object.getOwnPropertyDescriptor;
3773
3916
  var __decorateClass$1o = (decorators, target, key, kind) => {
3774
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1l(target, key) : target;
3917
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1m(target, key) : target;
3775
3918
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
3776
3919
  if (decorator = decorators[i])
3777
3920
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -3859,9 +4002,9 @@ const spacerCellStyles = css`
3859
4002
  }
3860
4003
  `;
3861
4004
  var __defProp$1m = Object.defineProperty;
3862
- var __getOwnPropDesc$1k = Object.getOwnPropertyDescriptor;
4005
+ var __getOwnPropDesc$1l = Object.getOwnPropertyDescriptor;
3863
4006
  var __decorateClass$1n = (decorators, target, key, kind) => {
3864
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1k(target, key) : target;
4007
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1l(target, key) : target;
3865
4008
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
3866
4009
  if (decorator = decorators[i])
3867
4010
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -4106,9 +4249,9 @@ function template$i() {
4106
4249
  `;
4107
4250
  }
4108
4251
  var __defProp$1l = Object.defineProperty;
4109
- var __getOwnPropDesc$1j = Object.getOwnPropertyDescriptor;
4252
+ var __getOwnPropDesc$1k = Object.getOwnPropertyDescriptor;
4110
4253
  var __decorateClass$1m = (decorators, target, key, kind) => {
4111
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1j(target, key) : target;
4254
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1k(target, key) : target;
4112
4255
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4113
4256
  if (decorator = decorators[i])
4114
4257
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -4420,9 +4563,9 @@ function detectOS() {
4420
4563
  return cached;
4421
4564
  }
4422
4565
  var __defProp$1k = Object.defineProperty;
4423
- var __getOwnPropDesc$1i = Object.getOwnPropertyDescriptor;
4566
+ var __getOwnPropDesc$1j = Object.getOwnPropertyDescriptor;
4424
4567
  var __decorateClass$1l = (decorators, target, key, kind) => {
4425
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1i(target, key) : target;
4568
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1j(target, key) : target;
4426
4569
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4427
4570
  if (decorator = decorators[i])
4428
4571
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -4706,9 +4849,9 @@ function template$g() {
4706
4849
  `;
4707
4850
  }
4708
4851
  var __defProp$1j = Object.defineProperty;
4709
- var __getOwnPropDesc$1h = Object.getOwnPropertyDescriptor;
4852
+ var __getOwnPropDesc$1i = Object.getOwnPropertyDescriptor;
4710
4853
  var __decorateClass$1k = (decorators, target, key, kind) => {
4711
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1h(target, key) : target;
4854
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1i(target, key) : target;
4712
4855
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4713
4856
  if (decorator = decorators[i])
4714
4857
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -4758,9 +4901,9 @@ NLDDButtonGroup = __decorateClass$1k([
4758
4901
  customElement("nldd-button-group")
4759
4902
  ], NLDDButtonGroup);
4760
4903
  var __defProp$1i = Object.defineProperty;
4761
- var __getOwnPropDesc$1g = Object.getOwnPropertyDescriptor;
4904
+ var __getOwnPropDesc$1h = Object.getOwnPropertyDescriptor;
4762
4905
  var __decorateClass$1j = (decorators, target, key, kind) => {
4763
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1g(target, key) : target;
4906
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1h(target, key) : target;
4764
4907
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4765
4908
  if (decorator = decorators[i])
4766
4909
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -4803,8 +4946,10 @@ let NLDDInlineDialog = class extends LitElement {
4803
4946
  };
4804
4947
  contentSlot?.addEventListener("slotchange", syncContent);
4805
4948
  actionsSlot?.addEventListener("slotchange", syncActions);
4806
- syncContent();
4807
- syncActions();
4949
+ queueMicrotask(() => {
4950
+ syncContent();
4951
+ syncActions();
4952
+ });
4808
4953
  }
4809
4954
  render() {
4810
4955
  return inlineDialogTemplate(this);
@@ -6173,9 +6318,9 @@ if (!customElements.get("nldd-menu")) {
6173
6318
  customElements.define("nldd-menu", NLDDMenu);
6174
6319
  }
6175
6320
  var __defProp$1g = Object.defineProperty;
6176
- var __getOwnPropDesc$1f = Object.getOwnPropertyDescriptor;
6321
+ var __getOwnPropDesc$1g = Object.getOwnPropertyDescriptor;
6177
6322
  var __decorateClass$1h = (decorators, target, key, kind) => {
6178
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1f(target, key) : target;
6323
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1g(target, key) : target;
6179
6324
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6180
6325
  if (decorator = decorators[i])
6181
6326
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -6431,9 +6576,9 @@ function renderChild(child) {
6431
6576
  return html`<slot name="child-${child.id}"></slot>`;
6432
6577
  }
6433
6578
  var __defProp$1f = Object.defineProperty;
6434
- var __getOwnPropDesc$1e = Object.getOwnPropertyDescriptor;
6579
+ var __getOwnPropDesc$1f = Object.getOwnPropertyDescriptor;
6435
6580
  var __decorateClass$1g = (decorators, target, key, kind) => {
6436
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1e(target, key) : target;
6581
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1f(target, key) : target;
6437
6582
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6438
6583
  if (decorator = decorators[i])
6439
6584
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -6920,9 +7065,9 @@ const nlddToolbarTranslations = {
6920
7065
  "components.toolbar.overflow-action": "Meer"
6921
7066
  };
6922
7067
  var __defProp$1e = Object.defineProperty;
6923
- var __getOwnPropDesc$1d = Object.getOwnPropertyDescriptor;
7068
+ var __getOwnPropDesc$1e = Object.getOwnPropertyDescriptor;
6924
7069
  var __decorateClass$1f = (decorators, target, key, kind) => {
6925
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1d(target, key) : target;
7070
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1e(target, key) : target;
6926
7071
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6927
7072
  if (decorator = decorators[i])
6928
7073
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -8016,9 +8161,9 @@ const nlddImageTranslations = {
8016
8161
  "components.image.error-text": "Afbeelding is niet geladen"
8017
8162
  };
8018
8163
  var __defProp$1d = Object.defineProperty;
8019
- var __getOwnPropDesc$1c = Object.getOwnPropertyDescriptor;
8164
+ var __getOwnPropDesc$1d = Object.getOwnPropertyDescriptor;
8020
8165
  var __decorateClass$1e = (decorators, target, key, kind) => {
8021
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1c(target, key) : target;
8166
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1d(target, key) : target;
8022
8167
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8023
8168
  if (decorator = decorators[i])
8024
8169
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -8224,9 +8369,9 @@ const nlddRichTextTranslations = {
8224
8369
  "components.rich-text.table-scroll-label": "Scrollbare tabel"
8225
8370
  };
8226
8371
  var __defProp$1c = Object.defineProperty;
8227
- var __getOwnPropDesc$1b = Object.getOwnPropertyDescriptor;
8372
+ var __getOwnPropDesc$1c = Object.getOwnPropertyDescriptor;
8228
8373
  var __decorateClass$1d = (decorators, target, key, kind) => {
8229
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1b(target, key) : target;
8374
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1c(target, key) : target;
8230
8375
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8231
8376
  if (decorator = decorators[i])
8232
8377
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -8558,9 +8703,9 @@ function titleTemplate() {
8558
8703
  `;
8559
8704
  }
8560
8705
  var __defProp$1b = Object.defineProperty;
8561
- var __getOwnPropDesc$1a = Object.getOwnPropertyDescriptor;
8706
+ var __getOwnPropDesc$1b = Object.getOwnPropertyDescriptor;
8562
8707
  var __decorateClass$1c = (decorators, target, key, kind) => {
8563
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1a(target, key) : target;
8708
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1b(target, key) : target;
8564
8709
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8565
8710
  if (decorator = decorators[i])
8566
8711
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -8690,9 +8835,9 @@ function template$d(component) {
8690
8835
  `;
8691
8836
  }
8692
8837
  var __defProp$1a = Object.defineProperty;
8693
- var __getOwnPropDesc$19 = Object.getOwnPropertyDescriptor;
8838
+ var __getOwnPropDesc$1a = Object.getOwnPropertyDescriptor;
8694
8839
  var __decorateClass$1b = (decorators, target, key, kind) => {
8695
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$19(target, key) : target;
8840
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1a(target, key) : target;
8696
8841
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8697
8842
  if (decorator = decorators[i])
8698
8843
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -8976,9 +9121,9 @@ function template$c(component) {
8976
9121
  `;
8977
9122
  }
8978
9123
  var __defProp$19 = Object.defineProperty;
8979
- var __getOwnPropDesc$18 = Object.getOwnPropertyDescriptor;
9124
+ var __getOwnPropDesc$19 = Object.getOwnPropertyDescriptor;
8980
9125
  var __decorateClass$1a = (decorators, target, key, kind) => {
8981
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$18(target, key) : target;
9126
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$19(target, key) : target;
8982
9127
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8983
9128
  if (decorator = decorators[i])
8984
9129
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -10809,9 +10954,9 @@ function forceScrollLayerRepaint(el) {
10809
10954
  el.scrollTop = y;
10810
10955
  }
10811
10956
  var __defProp$18 = Object.defineProperty;
10812
- var __getOwnPropDesc$17 = Object.getOwnPropertyDescriptor;
10957
+ var __getOwnPropDesc$18 = Object.getOwnPropertyDescriptor;
10813
10958
  var __decorateClass$19 = (decorators, target, key, kind) => {
10814
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$17(target, key) : target;
10959
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$18(target, key) : target;
10815
10960
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
10816
10961
  if (decorator = decorators[i])
10817
10962
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -10823,17 +10968,17 @@ const GRAMMAR_LOADERS = {
10823
10968
  yaml: () => import("./prism-yaml-DO0f9pf6.js"),
10824
10969
  json: () => import("./prism-json-DIMpow89.js"),
10825
10970
  javascript: () => import("./prism-javascript-DeC_17Pw.js"),
10826
- typescript: () => import("./prism-typescript-BeulJu8Z.js").then((n) => n.p),
10971
+ typescript: () => import("./prism-typescript-zaF4YQWN.js").then((n) => n.p),
10827
10972
  css: () => import("./prism-css-B93tXdOU.js"),
10828
10973
  html: () => import("./prism-markup-DfJYPYHA.js"),
10829
10974
  xml: () => import("./prism-markup-DfJYPYHA.js"),
10830
10975
  bash: () => import("./prism-bash-vbqaw3JR.js"),
10831
10976
  markdown: () => import("./prism-markdown-D-uFBkiz.js"),
10832
- rust: () => import("./prism-rust-Ig3wVTFD.js").then((n) => n.p),
10977
+ rust: () => import("./prism-rust-CxUpjfK5.js").then((n) => n.p),
10833
10978
  gherkin: () => import("./prism-gherkin-CMPYyXOQ.js"),
10834
10979
  toml: () => import("./prism-toml-Ubdq-a5x.js"),
10835
10980
  sql: () => import("./prism-sql-BGqCBMyJ.js"),
10836
- python: () => import("./prism-python-mIMEATOA.js").then((n) => n.p)
10981
+ python: () => import("./prism-python-Tr_Ff1KJ.js").then((n) => n.p)
10837
10982
  };
10838
10983
  const grammarLoads = /* @__PURE__ */ new Map();
10839
10984
  function loadGrammar(language) {
@@ -11025,6 +11170,7 @@ const bylineStyles = css`
11025
11170
  ${inheritedTextReset}
11026
11171
  container-type: inline-size;
11027
11172
  display: block;
11173
+ width: 100%;
11028
11174
  }
11029
11175
 
11030
11176
  :host([hidden]) {
@@ -11070,8 +11216,19 @@ const bylineStyles = css`
11070
11216
  object-fit: cover !important;
11071
11217
  }
11072
11218
 
11219
+ .byline__avatar {
11220
+ display: block;
11221
+ margin-inline-start: calc(-1 * var(--_avatar-overlap-size));
11222
+ border-radius: var(--_avatar-corner-radius);
11223
+ box-shadow: 0 0 0 var(--_avatar-border-width) var(--_avatar-border-color);
11224
+ width: var(--_avatar-size);
11225
+ height: var(--_avatar-size);
11226
+ object-fit: cover;
11227
+ }
11228
+
11073
11229
  @media (forced-colors: active) {
11074
- .byline__avatars ::slotted(img) {
11230
+ .byline__avatars ::slotted(img),
11231
+ .byline__avatar {
11075
11232
  border: var(--_avatar-border-width) solid Canvas !important;
11076
11233
  }
11077
11234
  }
@@ -11114,14 +11271,24 @@ const bylineStyles = css`
11114
11271
  function bylineTemplate(component) {
11115
11272
  const hasText = Boolean(component.text) || component._hasSlottedText;
11116
11273
  const hasSupportingText = Boolean(component.supportingText) || component._hasSlottedSupportingText;
11274
+ const hasAvatars = component._hasSlottedAvatars || Boolean(component.avatarSrc);
11275
+ const avatarImage = component.avatarSrc && !component._hasSlottedAvatars ? html`<img class="byline__avatar"
11276
+ src=${component.avatarSrc}
11277
+ srcset=${component.avatarSrcset || nothing}
11278
+ sizes="40px"
11279
+ alt=${component.avatarAlt}
11280
+ loading="lazy"
11281
+ decoding="async"
11282
+ >` : nothing;
11117
11283
  return html`
11118
11284
  <div class="byline"
11119
11285
  ?data-multiple-avatars=${component._avatarCount >= 2}
11120
11286
  >
11121
11287
  <div class="byline__avatars"
11122
- ?hidden=${!component._hasSlottedAvatars}
11288
+ ?hidden=${!hasAvatars}
11123
11289
  >
11124
11290
  <slot name="avatars" @slotchange=${component._onSlotChange}></slot>
11291
+ ${avatarImage}
11125
11292
  </div>
11126
11293
  <div class="byline__text-area"
11127
11294
  ?hidden=${!hasText && !hasSupportingText}
@@ -11137,9 +11304,9 @@ function bylineTemplate(component) {
11137
11304
  `;
11138
11305
  }
11139
11306
  var __defProp$17 = Object.defineProperty;
11140
- var __getOwnPropDesc$16 = Object.getOwnPropertyDescriptor;
11307
+ var __getOwnPropDesc$17 = Object.getOwnPropertyDescriptor;
11141
11308
  var __decorateClass$18 = (decorators, target, key, kind) => {
11142
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$16(target, key) : target;
11309
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$17(target, key) : target;
11143
11310
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
11144
11311
  if (decorator = decorators[i])
11145
11312
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -11151,6 +11318,9 @@ let NLDDByline = class extends LitElement {
11151
11318
  super(...arguments);
11152
11319
  this.text = "";
11153
11320
  this.supportingText = "";
11321
+ this.avatarSrc = "";
11322
+ this.avatarSrcset = "";
11323
+ this.avatarAlt = "";
11154
11324
  this._hasSlottedAvatars = false;
11155
11325
  this._avatarCount = 0;
11156
11326
  this._hasSlottedText = false;
@@ -11176,6 +11346,15 @@ __decorateClass$18([
11176
11346
  __decorateClass$18([
11177
11347
  property({ type: String, attribute: "supporting-text" })
11178
11348
  ], NLDDByline.prototype, "supportingText", 2);
11349
+ __decorateClass$18([
11350
+ property({ type: String, attribute: "avatar-src" })
11351
+ ], NLDDByline.prototype, "avatarSrc", 2);
11352
+ __decorateClass$18([
11353
+ property({ type: String, attribute: "avatar-srcset" })
11354
+ ], NLDDByline.prototype, "avatarSrcset", 2);
11355
+ __decorateClass$18([
11356
+ property({ type: String, attribute: "avatar-alt" })
11357
+ ], NLDDByline.prototype, "avatarAlt", 2);
11179
11358
  __decorateClass$18([
11180
11359
  state()
11181
11360
  ], NLDDByline.prototype, "_hasSlottedAvatars", 2);
@@ -11306,6 +11485,7 @@ const formActionsStyles = css`
11306
11485
 
11307
11486
  :host {
11308
11487
  display: block;
11488
+ width: 100%;
11309
11489
  container-type: inline-size;
11310
11490
  }
11311
11491
 
@@ -11365,9 +11545,9 @@ function formActionsTemplate() {
11365
11545
  `;
11366
11546
  }
11367
11547
  var __defProp$16 = Object.defineProperty;
11368
- var __getOwnPropDesc$15 = Object.getOwnPropertyDescriptor;
11548
+ var __getOwnPropDesc$16 = Object.getOwnPropertyDescriptor;
11369
11549
  var __decorateClass$17 = (decorators, target, key, kind) => {
11370
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$15(target, key) : target;
11550
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$16(target, key) : target;
11371
11551
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
11372
11552
  if (decorator = decorators[i])
11373
11553
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -11401,6 +11581,7 @@ const formFieldStyles = css`
11401
11581
 
11402
11582
  ${inheritedTextReset}
11403
11583
  display: block;
11584
+ width: 100%;
11404
11585
  container-type: inline-size;
11405
11586
  }
11406
11587
 
@@ -11720,9 +11901,9 @@ function formFieldErrorTextTemplate(_component) {
11720
11901
  `;
11721
11902
  }
11722
11903
  var __defProp$15 = Object.defineProperty;
11723
- var __getOwnPropDesc$14 = Object.getOwnPropertyDescriptor;
11904
+ var __getOwnPropDesc$15 = Object.getOwnPropertyDescriptor;
11724
11905
  var __decorateClass$16 = (decorators, target, key, kind) => {
11725
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$14(target, key) : target;
11906
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$15(target, key) : target;
11726
11907
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
11727
11908
  if (decorator = decorators[i])
11728
11909
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -12219,9 +12400,9 @@ function textFieldTemplate(component) {
12219
12400
  `;
12220
12401
  }
12221
12402
  var __defProp$14 = Object.defineProperty;
12222
- var __getOwnPropDesc$13 = Object.getOwnPropertyDescriptor;
12403
+ var __getOwnPropDesc$14 = Object.getOwnPropertyDescriptor;
12223
12404
  var __decorateClass$15 = (decorators, target, key, kind) => {
12224
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$13(target, key) : target;
12405
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$14(target, key) : target;
12225
12406
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
12226
12407
  if (decorator = decorators[i])
12227
12408
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -12575,9 +12756,9 @@ function multiLineTextFieldTemplate(component) {
12575
12756
  `;
12576
12757
  }
12577
12758
  var __defProp$13 = Object.defineProperty;
12578
- var __getOwnPropDesc$12 = Object.getOwnPropertyDescriptor;
12759
+ var __getOwnPropDesc$13 = Object.getOwnPropertyDescriptor;
12579
12760
  var __decorateClass$14 = (decorators, target, key, kind) => {
12580
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$12(target, key) : target;
12761
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$13(target, key) : target;
12581
12762
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
12582
12763
  if (decorator = decorators[i])
12583
12764
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -12863,9 +13044,9 @@ function codeEditorTemplate(component) {
12863
13044
  `;
12864
13045
  }
12865
13046
  var __defProp$12 = Object.defineProperty;
12866
- var __getOwnPropDesc$11 = Object.getOwnPropertyDescriptor;
13047
+ var __getOwnPropDesc$12 = Object.getOwnPropertyDescriptor;
12867
13048
  var __decorateClass$13 = (decorators, target, key, kind) => {
12868
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$11(target, key) : target;
13049
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$12(target, key) : target;
12869
13050
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
12870
13051
  if (decorator = decorators[i])
12871
13052
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -13237,9 +13418,9 @@ function passwordFieldTemplate(component) {
13237
13418
  `;
13238
13419
  }
13239
13420
  var __defProp$11 = Object.defineProperty;
13240
- var __getOwnPropDesc$10 = Object.getOwnPropertyDescriptor;
13421
+ var __getOwnPropDesc$11 = Object.getOwnPropertyDescriptor;
13241
13422
  var __decorateClass$12 = (decorators, target, key, kind) => {
13242
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$10(target, key) : target;
13423
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$11(target, key) : target;
13243
13424
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
13244
13425
  if (decorator = decorators[i])
13245
13426
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -13599,9 +13780,9 @@ const nlddSearchFieldTranslations = {
13599
13780
  "components.search-field.search-action": "Zoek"
13600
13781
  };
13601
13782
  var __defProp$10 = Object.defineProperty;
13602
- var __getOwnPropDesc$$ = Object.getOwnPropertyDescriptor;
13783
+ var __getOwnPropDesc$10 = Object.getOwnPropertyDescriptor;
13603
13784
  var __decorateClass$11 = (decorators, target, key, kind) => {
13604
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$$(target, key) : target;
13785
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$10(target, key) : target;
13605
13786
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
13606
13787
  if (decorator = decorators[i])
13607
13788
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -13936,9 +14117,9 @@ const nlddNumberFieldTranslations = {
13936
14117
  "components.number-field.to-adjust-value-action": "Waarde aanpassen"
13937
14118
  };
13938
14119
  var __defProp$$ = Object.defineProperty;
13939
- var __getOwnPropDesc$_ = Object.getOwnPropertyDescriptor;
14120
+ var __getOwnPropDesc$$ = Object.getOwnPropertyDescriptor;
13940
14121
  var __decorateClass$10 = (decorators, target, key, kind) => {
13941
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$_(target, key) : target;
14122
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$$(target, key) : target;
13942
14123
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
13943
14124
  if (decorator = decorators[i])
13944
14125
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -14324,9 +14505,9 @@ function dropdownTemplate(component) {
14324
14505
  `;
14325
14506
  }
14326
14507
  var __defProp$_ = Object.defineProperty;
14327
- var __getOwnPropDesc$Z = Object.getOwnPropertyDescriptor;
14508
+ var __getOwnPropDesc$_ = Object.getOwnPropertyDescriptor;
14328
14509
  var __decorateClass$$ = (decorators, target, key, kind) => {
14329
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Z(target, key) : target;
14510
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$_(target, key) : target;
14330
14511
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
14331
14512
  if (decorator = decorators[i])
14332
14513
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -14711,9 +14892,9 @@ const nlddComboBoxTranslations = {
14711
14892
  "components.combo-box.clear-action": "Wis invoer"
14712
14893
  };
14713
14894
  var __defProp$Z = Object.defineProperty;
14714
- var __getOwnPropDesc$Y = Object.getOwnPropertyDescriptor;
14895
+ var __getOwnPropDesc$Z = Object.getOwnPropertyDescriptor;
14715
14896
  var __decorateClass$_ = (decorators, target, key, kind) => {
14716
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Y(target, key) : target;
14897
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Z(target, key) : target;
14717
14898
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
14718
14899
  if (decorator = decorators[i])
14719
14900
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -15213,9 +15394,9 @@ const nlddStepperTranslations = {
15213
15394
  "components.stepper.to-adjust-value-action": "Aantal aanpassen"
15214
15395
  };
15215
15396
  var __defProp$Y = Object.defineProperty;
15216
- var __getOwnPropDesc$X = Object.getOwnPropertyDescriptor;
15397
+ var __getOwnPropDesc$Y = Object.getOwnPropertyDescriptor;
15217
15398
  var __decorateClass$Z = (decorators, target, key, kind) => {
15218
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$X(target, key) : target;
15399
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Y(target, key) : target;
15219
15400
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
15220
15401
  if (decorator = decorators[i])
15221
15402
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -15477,9 +15658,9 @@ function checkboxTemplate(component) {
15477
15658
  `;
15478
15659
  }
15479
15660
  var __defProp$X = Object.defineProperty;
15480
- var __getOwnPropDesc$W = Object.getOwnPropertyDescriptor;
15661
+ var __getOwnPropDesc$X = Object.getOwnPropertyDescriptor;
15481
15662
  var __decorateClass$Y = (decorators, target, key, kind) => {
15482
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$W(target, key) : target;
15663
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$X(target, key) : target;
15483
15664
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
15484
15665
  if (decorator = decorators[i])
15485
15666
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -15632,9 +15813,9 @@ function checkboxFieldTemplate(component) {
15632
15813
  `;
15633
15814
  }
15634
15815
  var __defProp$W = Object.defineProperty;
15635
- var __getOwnPropDesc$V = Object.getOwnPropertyDescriptor;
15816
+ var __getOwnPropDesc$W = Object.getOwnPropertyDescriptor;
15636
15817
  var __decorateClass$X = (decorators, target, key, kind) => {
15637
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$V(target, key) : target;
15818
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$W(target, key) : target;
15638
15819
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
15639
15820
  if (decorator = decorators[i])
15640
15821
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -15815,9 +15996,9 @@ function radioButtonTemplate(component) {
15815
15996
  `;
15816
15997
  }
15817
15998
  var __defProp$V = Object.defineProperty;
15818
- var __getOwnPropDesc$U = Object.getOwnPropertyDescriptor;
15999
+ var __getOwnPropDesc$V = Object.getOwnPropertyDescriptor;
15819
16000
  var __decorateClass$W = (decorators, target, key, kind) => {
15820
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$U(target, key) : target;
16001
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$V(target, key) : target;
15821
16002
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
15822
16003
  if (decorator = decorators[i])
15823
16004
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -15965,9 +16146,9 @@ function radioButtonFieldTemplate(component) {
15965
16146
  `;
15966
16147
  }
15967
16148
  var __defProp$U = Object.defineProperty;
15968
- var __getOwnPropDesc$T = Object.getOwnPropertyDescriptor;
16149
+ var __getOwnPropDesc$U = Object.getOwnPropertyDescriptor;
15969
16150
  var __decorateClass$V = (decorators, target, key, kind) => {
15970
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$T(target, key) : target;
16151
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$U(target, key) : target;
15971
16152
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
15972
16153
  if (decorator = decorators[i])
15973
16154
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -16054,9 +16235,9 @@ function radioButtonGroupTemplate(component) {
16054
16235
  `;
16055
16236
  }
16056
16237
  var __defProp$T = Object.defineProperty;
16057
- var __getOwnPropDesc$S = Object.getOwnPropertyDescriptor;
16238
+ var __getOwnPropDesc$T = Object.getOwnPropertyDescriptor;
16058
16239
  var __decorateClass$U = (decorators, target, key, kind) => {
16059
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$S(target, key) : target;
16240
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$T(target, key) : target;
16060
16241
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16061
16242
  if (decorator = decorators[i])
16062
16243
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -16315,9 +16496,9 @@ function switchTemplate(component) {
16315
16496
  `;
16316
16497
  }
16317
16498
  var __defProp$S = Object.defineProperty;
16318
- var __getOwnPropDesc$R = Object.getOwnPropertyDescriptor;
16499
+ var __getOwnPropDesc$S = Object.getOwnPropertyDescriptor;
16319
16500
  var __decorateClass$T = (decorators, target, key, kind) => {
16320
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$R(target, key) : target;
16501
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$S(target, key) : target;
16321
16502
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16322
16503
  if (decorator = decorators[i])
16323
16504
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -16516,9 +16697,9 @@ function switchFieldTemplate(component) {
16516
16697
  `;
16517
16698
  }
16518
16699
  var __defProp$R = Object.defineProperty;
16519
- var __getOwnPropDesc$Q = Object.getOwnPropertyDescriptor;
16700
+ var __getOwnPropDesc$R = Object.getOwnPropertyDescriptor;
16520
16701
  var __decorateClass$S = (decorators, target, key, kind) => {
16521
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Q(target, key) : target;
16702
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$R(target, key) : target;
16522
16703
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16523
16704
  if (decorator = decorators[i])
16524
16705
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -16858,9 +17039,9 @@ function segmentedControlItemTemplate(component) {
16858
17039
  return label;
16859
17040
  }
16860
17041
  var __defProp$Q = Object.defineProperty;
16861
- var __getOwnPropDesc$P = Object.getOwnPropertyDescriptor;
17042
+ var __getOwnPropDesc$Q = Object.getOwnPropertyDescriptor;
16862
17043
  var __decorateClass$R = (decorators, target, key, kind) => {
16863
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$P(target, key) : target;
17044
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Q(target, key) : target;
16864
17045
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16865
17046
  if (decorator = decorators[i])
16866
17047
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -17420,9 +17601,9 @@ function toggleButtonTemplate(component) {
17420
17601
  return result;
17421
17602
  }
17422
17603
  var __defProp$P = Object.defineProperty;
17423
- var __getOwnPropDesc$O = Object.getOwnPropertyDescriptor;
17604
+ var __getOwnPropDesc$P = Object.getOwnPropertyDescriptor;
17424
17605
  var __decorateClass$Q = (decorators, target, key, kind) => {
17425
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$O(target, key) : target;
17606
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$P(target, key) : target;
17426
17607
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
17427
17608
  if (decorator = decorators[i])
17428
17609
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -17586,9 +17767,9 @@ function toggleButtonGroupTemplate(component) {
17586
17767
  `;
17587
17768
  }
17588
17769
  var __defProp$O = Object.defineProperty;
17589
- var __getOwnPropDesc$N = Object.getOwnPropertyDescriptor;
17770
+ var __getOwnPropDesc$O = Object.getOwnPropertyDescriptor;
17590
17771
  var __decorateClass$P = (decorators, target, key, kind) => {
17591
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$N(target, key) : target;
17772
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$O(target, key) : target;
17592
17773
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
17593
17774
  if (decorator = decorators[i])
17594
17775
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -17902,9 +18083,9 @@ function tokenTemplate(component) {
17902
18083
  `;
17903
18084
  }
17904
18085
  var __defProp$N = Object.defineProperty;
17905
- var __getOwnPropDesc$M = Object.getOwnPropertyDescriptor;
18086
+ var __getOwnPropDesc$N = Object.getOwnPropertyDescriptor;
17906
18087
  var __decorateClass$O = (decorators, target, key, kind) => {
17907
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$M(target, key) : target;
18088
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$N(target, key) : target;
17908
18089
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
17909
18090
  if (decorator = decorators[i])
17910
18091
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -18016,9 +18197,9 @@ function appViewTemplate(_component) {
18016
18197
  `;
18017
18198
  }
18018
18199
  var __defProp$M = Object.defineProperty;
18019
- var __getOwnPropDesc$L = Object.getOwnPropertyDescriptor;
18200
+ var __getOwnPropDesc$M = Object.getOwnPropertyDescriptor;
18020
18201
  var __decorateClass$N = (decorators, target, key, kind) => {
18021
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$L(target, key) : target;
18202
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$M(target, key) : target;
18022
18203
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
18023
18204
  if (decorator = decorators[i])
18024
18205
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -18231,9 +18412,9 @@ function splitViewDividerTemplate(component) {
18231
18412
  `;
18232
18413
  }
18233
18414
  var __defProp$L = Object.defineProperty;
18234
- var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
18415
+ var __getOwnPropDesc$L = Object.getOwnPropertyDescriptor;
18235
18416
  var __decorateClass$M = (decorators, target, key, kind) => {
18236
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
18417
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$L(target, key) : target;
18237
18418
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
18238
18419
  if (decorator = decorators[i])
18239
18420
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -18284,9 +18465,9 @@ function barSplitViewTemplate(component) {
18284
18465
  `;
18285
18466
  }
18286
18467
  var __defProp$K = Object.defineProperty;
18287
- var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
18468
+ var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
18288
18469
  var __decorateClass$L = (decorators, target, key, kind) => {
18289
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
18470
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
18290
18471
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
18291
18472
  if (decorator = decorators[i])
18292
18473
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -18743,9 +18924,9 @@ function navigationSplitViewTemplate(component) {
18743
18924
  `;
18744
18925
  }
18745
18926
  var __defProp$J = Object.defineProperty;
18746
- var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
18927
+ var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
18747
18928
  var __decorateClass$K = (decorators, target, key, kind) => {
18748
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
18929
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
18749
18930
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
18750
18931
  if (decorator = decorators[i])
18751
18932
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -19133,9 +19314,9 @@ function sideBySideSplitViewTemplate(component) {
19133
19314
  `;
19134
19315
  }
19135
19316
  var __defProp$I = Object.defineProperty;
19136
- var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
19317
+ var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
19137
19318
  var __decorateClass$J = (decorators, target, key, kind) => {
19138
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
19319
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
19139
19320
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
19140
19321
  if (decorator = decorators[i])
19141
19322
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -19282,9 +19463,9 @@ function stackedSplitViewTemplate(component) {
19282
19463
  `;
19283
19464
  }
19284
19465
  var __defProp$H = Object.defineProperty;
19285
- var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
19466
+ var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
19286
19467
  var __decorateClass$I = (decorators, target, key, kind) => {
19287
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
19468
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
19288
19469
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
19289
19470
  if (decorator = decorators[i])
19290
19471
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -19417,9 +19598,9 @@ function splitViewPaneTemplate(_component) {
19417
19598
  `;
19418
19599
  }
19419
19600
  var __defProp$G = Object.defineProperty;
19420
- var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
19601
+ var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
19421
19602
  var __decorateClass$H = (decorators, target, key, kind) => {
19422
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
19603
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
19423
19604
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
19424
19605
  if (decorator = decorators[i])
19425
19606
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -19602,9 +19783,9 @@ function pageTemplate(component) {
19602
19783
  `;
19603
19784
  }
19604
19785
  var __defProp$F = Object.defineProperty;
19605
- var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
19786
+ var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
19606
19787
  var __decorateClass$G = (decorators, target, key, kind) => {
19607
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
19788
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
19608
19789
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
19609
19790
  if (decorator = decorators[i])
19610
19791
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -20082,9 +20263,9 @@ function simpleSectionTemplate(component) {
20082
20263
  `;
20083
20264
  }
20084
20265
  var __defProp$D = Object.defineProperty;
20085
- var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
20266
+ var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
20086
20267
  var __decorateClass$E = (decorators, target, key, kind) => {
20087
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
20268
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
20088
20269
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
20089
20270
  if (decorator = decorators[i])
20090
20271
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -20653,9 +20834,9 @@ function heroTemplate(component) {
20653
20834
  `;
20654
20835
  }
20655
20836
  var __defProp$C = Object.defineProperty;
20656
- var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
20837
+ var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
20657
20838
  var __decorateClass$D = (decorators, target, key, kind) => {
20658
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
20839
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
20659
20840
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
20660
20841
  if (decorator = decorators[i])
20661
20842
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -20869,9 +21050,9 @@ function fullBleedSectionTemplate(component) {
20869
21050
  `;
20870
21051
  }
20871
21052
  var __defProp$B = Object.defineProperty;
20872
- var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
21053
+ var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
20873
21054
  var __decorateClass$C = (decorators, target, key, kind) => {
20874
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
21055
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
20875
21056
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
20876
21057
  if (decorator = decorators[i])
20877
21058
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21067,9 +21248,9 @@ function oneThirdTwoThirdsSectionTemplate(component) {
21067
21248
  `;
21068
21249
  }
21069
21250
  var __defProp$A = Object.defineProperty;
21070
- var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
21251
+ var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
21071
21252
  var __decorateClass$B = (decorators, target, key, kind) => {
21072
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
21253
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
21073
21254
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21074
21255
  if (decorator = decorators[i])
21075
21256
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21265,9 +21446,9 @@ function twoThirdsOneThirdSectionTemplate(component) {
21265
21446
  `;
21266
21447
  }
21267
21448
  var __defProp$z = Object.defineProperty;
21268
- var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
21449
+ var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
21269
21450
  var __decorateClass$A = (decorators, target, key, kind) => {
21270
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
21451
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
21271
21452
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21272
21453
  if (decorator = decorators[i])
21273
21454
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21454,9 +21635,9 @@ function oneHalfOneHalfSectionTemplate(component) {
21454
21635
  `;
21455
21636
  }
21456
21637
  var __defProp$y = Object.defineProperty;
21457
- var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
21638
+ var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
21458
21639
  var __decorateClass$z = (decorators, target, key, kind) => {
21459
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
21640
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
21460
21641
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21461
21642
  if (decorator = decorators[i])
21462
21643
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21560,9 +21741,9 @@ function boxTemplate(_component) {
21560
21741
  `;
21561
21742
  }
21562
21743
  var __defProp$x = Object.defineProperty;
21563
- var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
21744
+ var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
21564
21745
  var __decorateClass$y = (decorators, target, key, kind) => {
21565
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
21746
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
21566
21747
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21567
21748
  if (decorator = decorators[i])
21568
21749
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21676,9 +21857,9 @@ function cardTemplate(component) {
21676
21857
  `;
21677
21858
  }
21678
21859
  var __defProp$w = Object.defineProperty;
21679
- var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
21860
+ var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
21680
21861
  var __decorateClass$x = (decorators, target, key, kind) => {
21681
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
21862
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
21682
21863
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21683
21864
  if (decorator = decorators[i])
21684
21865
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21776,10 +21957,10 @@ const collectionStyles = css`
21776
21957
  /* ## Horizontal scroll */
21777
21958
 
21778
21959
  :host([layout="horizontal-scroll"]) .collection__items {
21779
- margin-inline-start: calc(var(--primitives-space-16) * -1);
21960
+ margin-inline: calc(var(--primitives-space-16) * -1);
21780
21961
  margin-block: calc(var(--primitives-space-16) * -1);
21781
21962
  overflow-x: auto;
21782
- padding-inline-start: var(--primitives-space-16);
21963
+ padding-inline: var(--primitives-space-16);
21783
21964
  padding-block: var(--primitives-space-16);
21784
21965
  flex-direction: row;
21785
21966
  flex-wrap: nowrap;
@@ -21788,27 +21969,24 @@ const collectionStyles = css`
21788
21969
  -webkit-overflow-scrolling: touch;
21789
21970
  scrollbar-width: none;
21790
21971
  scroll-padding-inline-start: var(--primitives-space-16);
21972
+ }
21973
+
21974
+ :host([layout="horizontal-scroll"][scrollable]) .collection__items {
21791
21975
  mask-image: linear-gradient(
21792
21976
  to right,
21793
21977
  transparent 0,
21794
21978
  black var(--primitives-space-16),
21795
- black calc(100% - var(--primitives-space-48)),
21979
+ black calc(100% - var(--primitives-space-16)),
21796
21980
  transparent 100%
21797
21981
  );
21798
21982
  }
21799
21983
 
21800
- :host([layout="horizontal-scroll"]) .collection__items::after {
21801
- content: '';
21802
- flex-grow: 0;
21803
- flex-shrink: 0;
21804
- flex-basis: var(--primitives-space-48);
21805
- }
21806
-
21807
21984
  :host([layout="horizontal-scroll"]) .collection__items::-webkit-scrollbar {
21808
21985
  display: none;
21809
21986
  }
21810
21987
 
21811
21988
  :host([layout="horizontal-scroll"]) .collection__items ::slotted(*) {
21989
+ max-width: 100%;
21812
21990
  flex-grow: 1;
21813
21991
  flex-shrink: 0;
21814
21992
  flex-basis: var(--_item-width);
@@ -21863,8 +22041,8 @@ const collectionStyles = css`
21863
22041
  function collectionTemplate(component) {
21864
22042
  const isHorizontal = component.layout === "horizontal-scroll";
21865
22043
  const showLoadMore = !isHorizontal && component.showLoadMore && component._hasMore;
21866
- const showFooter = isHorizontal || showLoadMore || component._hasFooterSlot;
21867
22044
  const scrollable = isHorizontal && component._isScrollable;
22045
+ const showFooter = scrollable || showLoadMore || component._hasFooterSlot;
21868
22046
  return html`
21869
22047
  <div class="collection__scroll-area">
21870
22048
  <div class="collection__items"
@@ -21879,7 +22057,7 @@ function collectionTemplate(component) {
21879
22057
  ?hidden=${!showFooter}
21880
22058
  >
21881
22059
  <slot name="footer" @slotchange=${component._onFooterSlotChange}>
21882
- ${isHorizontal ? html`
22060
+ ${scrollable ? html`
21883
22061
  <nldd-button-bar>
21884
22062
  <nldd-icon-button
21885
22063
  icon="chevron-left"
@@ -21917,9 +22095,9 @@ const nlddCollectionTranslations = {
21917
22095
  "components.collection.region-label": "Collectie"
21918
22096
  };
21919
22097
  var __defProp$v = Object.defineProperty;
21920
- var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
22098
+ var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
21921
22099
  var __decorateClass$w = (decorators, target, key, kind) => {
21922
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
22100
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
21923
22101
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21924
22102
  if (decorator = decorators[i])
21925
22103
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -21989,6 +22167,7 @@ let NLDDCollection = class extends LitElement {
21989
22167
  this._intersectionObserver?.disconnect();
21990
22168
  this._intersectionObserver = void 0;
21991
22169
  }
22170
+ this.toggleAttribute("scrollable", this.layout === "horizontal-scroll" && this._isScrollable);
21992
22171
  }
21993
22172
  _setupScrollListeners() {
21994
22173
  this._teardownScrollListeners();
@@ -22011,7 +22190,9 @@ let NLDDCollection = class extends LitElement {
22011
22190
  const slot = e.target;
22012
22191
  const items = slot.assignedElements();
22013
22192
  this._totalCount = items.length;
22014
- if (this.layout !== "horizontal-scroll") {
22193
+ if (this.layout === "horizontal-scroll") {
22194
+ this._scrollListener();
22195
+ } else {
22015
22196
  this._applyVisibility(items);
22016
22197
  }
22017
22198
  }
@@ -22295,9 +22476,9 @@ const spacerStyles = css`
22295
22476
  }
22296
22477
  `;
22297
22478
  var __defProp$u = Object.defineProperty;
22298
- var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
22479
+ var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
22299
22480
  var __decorateClass$v = (decorators, target, key, kind) => {
22300
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
22481
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
22301
22482
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
22302
22483
  if (decorator = decorators[i])
22303
22484
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -22565,9 +22746,9 @@ function containerTemplate(component) {
22565
22746
  return html`<div class="container"><slot @slotchange=${component._onSlotChange}></slot></div>`;
22566
22747
  }
22567
22748
  var __defProp$t = Object.defineProperty;
22568
- var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
22749
+ var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
22569
22750
  var __decorateClass$u = (decorators, target, key, kind) => {
22570
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
22751
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
22571
22752
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
22572
22753
  if (decorator = decorators[i])
22573
22754
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -22869,9 +23050,9 @@ function dividerTemplate(_component) {
22869
23050
  <hr class="divider">
22870
23051
  `;
22871
23052
  }
22872
- var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
23053
+ var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
22873
23054
  var __decorateClass$t = (decorators, target, key, kind) => {
22874
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
23055
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
22875
23056
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
22876
23057
  if (decorator = decorators[i])
22877
23058
  result = decorator(result) || result;
@@ -22981,9 +23162,9 @@ const nlddPopoverTranslations = {
22981
23162
  "components.popover.accessible-label": "Popover"
22982
23163
  };
22983
23164
  var __defProp$s = Object.defineProperty;
22984
- var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
23165
+ var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
22985
23166
  var __decorateClass$s = (decorators, target, key, kind) => {
22986
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
23167
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
22987
23168
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
22988
23169
  if (decorator = decorators[i])
22989
23170
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -23580,9 +23761,9 @@ function sheetTemplate(component) {
23580
23761
  `;
23581
23762
  }
23582
23763
  var __defProp$r = Object.defineProperty;
23583
- var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
23764
+ var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
23584
23765
  var __decorateClass$r = (decorators, target, key, kind) => {
23585
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
23766
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
23586
23767
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23587
23768
  if (decorator = decorators[i])
23588
23769
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -23818,9 +23999,9 @@ const nlddWindowTranslations = {
23818
23999
  "components.window.accessible-label": "Venster"
23819
24000
  };
23820
24001
  var __defProp$q = Object.defineProperty;
23821
- var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
24002
+ var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
23822
24003
  var __decorateClass$q = (decorators, target, key, kind) => {
23823
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
24004
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
23824
24005
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23825
24006
  if (decorator = decorators[i])
23826
24007
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24147,12 +24328,17 @@ const pageFooterStyles = css`
24147
24328
  container-type: inline-size;
24148
24329
  display: block;
24149
24330
  background-color: var(--components-page-footer-background-color);
24331
+ width: 100%;
24150
24332
  }
24151
24333
 
24152
24334
  :host([hidden]) {
24153
24335
  display: none;
24154
24336
  }
24155
24337
 
24338
+ :host([empty]) {
24339
+ background-color: transparent;
24340
+ }
24341
+
24156
24342
  .page-footer {
24157
24343
  --_lintje-height: calc(var(--_lintje-width) / 2);
24158
24344
 
@@ -24179,6 +24365,10 @@ const pageFooterStyles = css`
24179
24365
  }
24180
24366
  }
24181
24367
 
24368
+ :host([empty]) .page-footer {
24369
+ min-height: var(--_lintje-height);
24370
+ }
24371
+
24182
24372
  .page-footer::after {
24183
24373
  content: '';
24184
24374
  position: absolute;
@@ -24394,9 +24584,9 @@ const nlddPageFooterTranslations = {
24394
24584
  "components.page-footer.legal-bar-accessible-label": "Juridische links"
24395
24585
  };
24396
24586
  var __defProp$p = Object.defineProperty;
24397
- var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
24587
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
24398
24588
  var __decorateClass$p = (decorators, target, key, kind) => {
24399
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
24589
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
24400
24590
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24401
24591
  if (decorator = decorators[i])
24402
24592
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24488,8 +24678,6 @@ let NLDDPageFooter = class extends LitElement {
24488
24678
  if (name === "breadcrumbs") this._hasBreadcrumbs = hasContent;
24489
24679
  else if (name === "legal-bar") this._hasLegalBar = hasContent;
24490
24680
  else this._hasMain = hasContent;
24491
- const visibleCount = (this._hasBreadcrumbs ? 1 : 0) + (this._hasMain ? 1 : 0) + (this._hasLegalBar ? 1 : 0);
24492
- this.toggleAttribute("single-slot", visibleCount === 1);
24493
24681
  };
24494
24682
  }
24495
24683
  connectedCallback() {
@@ -24507,6 +24695,14 @@ let NLDDPageFooter = class extends LitElement {
24507
24695
  (n) => n.nodeType === Node.ELEMENT_NODE || n.nodeType === Node.TEXT_NODE && (n.textContent?.trim() ?? "") !== ""
24508
24696
  );
24509
24697
  }
24698
+ // Reflect the visible-row count as host attributes for styling. Done here
24699
+ // (not in the slotchange handler) so a fully empty footer — whose empty
24700
+ // slots may never fire slotchange — still gets `empty` on first render.
24701
+ updated() {
24702
+ const visibleCount = (this._hasBreadcrumbs ? 1 : 0) + (this._hasMain ? 1 : 0) + (this._hasLegalBar ? 1 : 0);
24703
+ this.toggleAttribute("single-slot", visibleCount === 1);
24704
+ this.toggleAttribute("empty", visibleCount === 0);
24705
+ }
24510
24706
  render() {
24511
24707
  return pageFooterTemplate(this);
24512
24708
  }
@@ -24695,15 +24891,16 @@ const nlddListTranslations = {
24695
24891
  "components.list.items-label-text": "Lijst",
24696
24892
  "components.list.navigation-label-text": "Navigatie",
24697
24893
  "components.list.empty-text": "Geen items",
24894
+ "components.list.arrow-navigation-description-text": "Gebruik de pijltjestoetsen om door de lijst te navigeren.",
24698
24895
  "components.list.reorder-moved-text": "Item verplaatst naar positie {position}.",
24699
24896
  "components.list.reorder-dropped-text": "Item neergezet op positie {position}.",
24700
24897
  "components.list.reorder-no-change-text": "Item neergezet. Positie ongewijzigd.",
24701
24898
  "components.list.reorder-cancelled-text": "Slepen geannuleerd."
24702
24899
  };
24703
24900
  var __defProp$o = Object.defineProperty;
24704
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
24901
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
24705
24902
  var __decorateClass$o = (decorators, target, key, kind) => {
24706
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
24903
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
24707
24904
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24708
24905
  if (decorator = decorators[i])
24709
24906
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24717,6 +24914,7 @@ let NLDDList = class extends LitElement {
24717
24914
  this.type = "list";
24718
24915
  this.reorderable = false;
24719
24916
  this.noDividers = false;
24917
+ this.arrowNavigation = false;
24720
24918
  this.emptyText = "";
24721
24919
  this.emptySupportingText = "";
24722
24920
  this.translations = {};
@@ -24732,6 +24930,16 @@ let NLDDList = class extends LitElement {
24732
24930
  this._cloneOffsetY = 0;
24733
24931
  this._listRect = null;
24734
24932
  this._itemsObserver = null;
24933
+ this._rovingScheduled = false;
24934
+ this._onFocusIn = (event) => {
24935
+ if (!this._arrowNavActive) return;
24936
+ const item = event.composedPath().find(
24937
+ (el) => el instanceof Element && el.tagName.toLowerCase() === "nldd-list-item"
24938
+ );
24939
+ if (item && (item.href || item.button) && !item._rovingActive) {
24940
+ this._setRovingActive(item);
24941
+ }
24942
+ };
24735
24943
  this._onPointerDown = (event) => {
24736
24944
  if (!this.reorderable || this.type !== "list") return;
24737
24945
  const path = event.composedPath();
@@ -24787,6 +24995,10 @@ let NLDDList = class extends LitElement {
24787
24995
  this._cancelDrag();
24788
24996
  };
24789
24997
  this._onKeyDown = (event) => {
24998
+ if (this._arrowNavActive) {
24999
+ this._onArrowNav(event);
25000
+ return;
25001
+ }
24790
25002
  if (!this.reorderable || this.type !== "list") return;
24791
25003
  if (event.key !== "ArrowUp" && event.key !== "ArrowDown") return;
24792
25004
  const path = event.composedPath();
@@ -24825,6 +25037,7 @@ let NLDDList = class extends LitElement {
24825
25037
  });
24826
25038
  this._updateItems();
24827
25039
  this._updateEmpty();
25040
+ this._warnArrowNav();
24828
25041
  const headerSlot = this.shadowRoot?.querySelector('slot[name="header"]');
24829
25042
  headerSlot?.addEventListener("slotchange", () => {
24830
25043
  this._hasHeader = headerSlot.assignedElements().length > 0;
@@ -24855,19 +25068,22 @@ let NLDDList = class extends LitElement {
24855
25068
  this.style.containerName = "cells-container";
24856
25069
  this.addEventListener("pointerdown", this._onPointerDown);
24857
25070
  this.addEventListener("keydown", this._onKeyDown);
25071
+ this.addEventListener("focusin", this._onFocusIn);
24858
25072
  }
24859
25073
  disconnectedCallback() {
24860
25074
  super.disconnectedCallback();
24861
25075
  this.removeEventListener("pointerdown", this._onPointerDown);
24862
25076
  this.removeEventListener("keydown", this._onKeyDown);
25077
+ this.removeEventListener("focusin", this._onFocusIn);
24863
25078
  this._itemsObserver?.disconnect();
24864
25079
  this._itemsObserver = null;
24865
25080
  this._cancelDrag();
24866
25081
  }
24867
25082
  updated(changed) {
24868
- if (changed.has("reorderable") || changed.has("type")) {
25083
+ if (changed.has("reorderable") || changed.has("type") || changed.has("arrowNavigation")) {
24869
25084
  if (this.reorderable && this.type !== "list" && false) ;
24870
25085
  this._updateItems();
25086
+ this._warnArrowNav();
24871
25087
  }
24872
25088
  if (changed.has("translations")) {
24873
25089
  this._mergedTranslations = { ...nlddListTranslations, ...this.translations };
@@ -24917,11 +25133,101 @@ let NLDDList = class extends LitElement {
24917
25133
  item.removeAttribute("reorderable");
24918
25134
  }
24919
25135
  });
25136
+ this._updateRoving();
24920
25137
  }
24921
25138
  _updateEmpty() {
24922
25139
  const items = this._getItems();
24923
25140
  this._isEmpty = items.length === 0 || items.every((item) => item.hasAttribute("hidden"));
24924
25141
  }
25142
+ // — Arrow navigation (roving tabindex) ————————————————————————————————————
25143
+ /** Arrow-navigation is effective only when reorderable isn't already claiming
25144
+ * the arrow keys for drag-reorder (reorderable wins). The guard also checks
25145
+ * `type === 'list'` on purpose: reorderable is inert without it, so there is no
25146
+ * conflict to resolve. `arrow-navigation reorderable` without `type="list"`
25147
+ * therefore keeps arrow-nav active (reorderable does nothing), and
25148
+ * `_warnArrowNav` likewise only warns for the real reorderable-list conflict. */
25149
+ get _arrowNavActive() {
25150
+ return this.arrowNavigation && !(this.reorderable && this.type === "list");
25151
+ }
25152
+ /** Interactive, visible items — the roving stops. Non-interactive items (no
25153
+ * link/button) and hidden items are skipped. */
25154
+ _getInteractiveItems() {
25155
+ return this._getItems().filter(
25156
+ (item) => !item.hasAttribute("hidden") && Boolean(item.href || item.button)
25157
+ );
25158
+ }
25159
+ /** Push roving state onto the items, deferred to a microtask: _updateItems can
25160
+ * run inside the update lifecycle (firstUpdated/updated), and setting the
25161
+ * items' reactive state there would trip Lit's change-in-update warning.
25162
+ * Coalesced so repeated item updates schedule it only once. */
25163
+ _updateRoving() {
25164
+ if (this._rovingScheduled) return;
25165
+ this._rovingScheduled = true;
25166
+ queueMicrotask(() => {
25167
+ this._rovingScheduled = false;
25168
+ this._applyRoving();
25169
+ });
25170
+ }
25171
+ /** Sets the arrow-navigation flag on all items and a single roving entry point
25172
+ * (keep the current one if still valid, else the selected item, else the first
25173
+ * interactive item). */
25174
+ _applyRoving() {
25175
+ const active = this._arrowNavActive;
25176
+ const items = this._getItems();
25177
+ items.forEach((item) => {
25178
+ item._arrowNavigation = active;
25179
+ });
25180
+ if (active) {
25181
+ this.setAttribute("aria-keyshortcuts", "ArrowUp ArrowDown Home End");
25182
+ this.setAttribute("aria-description", this._t("components.list.arrow-navigation-description-text"));
25183
+ } else {
25184
+ this.removeAttribute("aria-keyshortcuts");
25185
+ this.removeAttribute("aria-description");
25186
+ }
25187
+ if (!active) {
25188
+ items.forEach((item) => {
25189
+ item._rovingActive = false;
25190
+ });
25191
+ return;
25192
+ }
25193
+ const interactive = this._getInteractiveItems();
25194
+ if (interactive.length === 0) return;
25195
+ const entry = interactive.find((item) => item._rovingActive) ?? interactive.find((item) => item.selected) ?? interactive[0];
25196
+ items.forEach((item) => {
25197
+ item._rovingActive = item === entry;
25198
+ });
25199
+ }
25200
+ // items defaults to all items; _onArrowNav passes the interactive set it already
25201
+ // computed (non-interactive items are kept out of roving, so they stay false).
25202
+ _setRovingActive(activeItem, items = this._getItems()) {
25203
+ items.forEach((item) => {
25204
+ item._rovingActive = item === activeItem;
25205
+ });
25206
+ }
25207
+ _onArrowNav(event) {
25208
+ const { key } = event;
25209
+ if (key !== "ArrowUp" && key !== "ArrowDown" && key !== "Home" && key !== "End") return;
25210
+ const items = this._getInteractiveItems();
25211
+ if (items.length === 0) return;
25212
+ const current = items.findIndex((item) => item._rovingActive);
25213
+ let next;
25214
+ if (key === "Home") {
25215
+ next = 0;
25216
+ } else if (key === "End") {
25217
+ next = items.length - 1;
25218
+ } else {
25219
+ const dir = key === "ArrowDown" ? 1 : -1;
25220
+ const base = current === -1 ? dir === 1 ? -1 : 0 : current;
25221
+ next = (base + dir + items.length) % items.length;
25222
+ }
25223
+ event.preventDefault();
25224
+ const target = items[next];
25225
+ this._setRovingActive(target, items);
25226
+ target.focus();
25227
+ }
25228
+ _warnArrowNav() {
25229
+ return;
25230
+ }
24925
25231
  _getDeepActiveElement() {
24926
25232
  let active = document.activeElement;
24927
25233
  while (active?.shadowRoot?.activeElement) {
@@ -25083,6 +25389,9 @@ __decorateClass$o([
25083
25389
  __decorateClass$o([
25084
25390
  property({ type: Boolean, reflect: true, attribute: "no-dividers" })
25085
25391
  ], NLDDList.prototype, "noDividers", 2);
25392
+ __decorateClass$o([
25393
+ property({ type: Boolean, reflect: true, attribute: "arrow-navigation" })
25394
+ ], NLDDList.prototype, "arrowNavigation", 2);
25086
25395
  __decorateClass$o([
25087
25396
  property({ type: String, attribute: "empty-text" })
25088
25397
  ], NLDDList.prototype, "emptyText", 2);
@@ -25204,7 +25513,7 @@ const listItemStyles = css`
25204
25513
  cursor: var(--semantics-controls-link-cursor);
25205
25514
  }
25206
25515
 
25207
- .list-item__new-tab-hint {
25516
+ .list-item__opens-in-new-tab-hint {
25208
25517
  position: absolute;
25209
25518
  margin: -1px;
25210
25519
  border: 0;
@@ -25274,14 +25583,15 @@ const listItemStyles = css`
25274
25583
  }
25275
25584
 
25276
25585
  /* Press feedback — works on touch where :hover doesn't. Same visual as
25277
- :hover (the gated mouse rule above) so it reads consistently across
25278
- input modes. */
25279
- .list-item__action:active {
25586
+ :hover (the gated mouse rule above) so it reads consistently across input
25587
+ modes. JS-driven (.is-pressed) rather than :active so a touch that turns
25588
+ into a scroll clears the press (pointercancel) instead of flashing it. */
25589
+ .list-item__action.is-pressed {
25280
25590
  --_background-color: var(--components-list-item-is-hovered-background-color);
25281
25591
  --context-cell-content-color: var(--components-list-item-is-hovered-content-color);
25282
25592
  }
25283
25593
 
25284
- :host([selected]) .list-item__action:active {
25594
+ :host([selected]) .list-item__action.is-pressed {
25285
25595
  --_background-color: var(--components-list-item-is-highlighted-background-color);
25286
25596
  --context-cell-content-color: var(--components-list-item-is-highlighted-content-color);
25287
25597
  }
@@ -25395,20 +25705,22 @@ const areas = (showStart, showEnd) => html`
25395
25705
  </slot>
25396
25706
  </div>
25397
25707
  `;
25398
- const template$a = (button, href, target, rel, showStart, showEnd, newTabLabel) => {
25708
+ const template$a = (button, href, target, rel, showStart, showEnd, opensInNewTabLabel, rovingTabindex) => {
25399
25709
  if (href) {
25400
25710
  return html`<div class="list-item">
25401
25711
  <a class="list-item__action"
25402
25712
  href=${href}
25403
25713
  target=${target ?? nothing}
25404
25714
  rel=${rel ?? nothing}
25405
- >${areas(showStart, showEnd)}${newTabLabel ? html`<span class="list-item__new-tab-hint">${newTabLabel}</span>` : nothing}</a>
25715
+ tabindex=${rovingTabindex ?? nothing}
25716
+ >${areas(showStart, showEnd)}${opensInNewTabLabel ? html`<span class="list-item__opens-in-new-tab-hint">${opensInNewTabLabel}</span>` : nothing}</a>
25406
25717
  </div>`;
25407
25718
  }
25408
25719
  if (button) {
25409
25720
  return html`<div class="list-item">
25410
25721
  <button class="list-item__action"
25411
25722
  type="button"
25723
+ tabindex=${rovingTabindex ?? nothing}
25412
25724
  >${areas(showStart, showEnd)}</button>
25413
25725
  </div>`;
25414
25726
  }
@@ -25416,55 +25728,17 @@ const template$a = (button, href, target, rel, showStart, showEnd, newTabLabel)
25416
25728
  ${areas(showStart, showEnd)}
25417
25729
  </div>`;
25418
25730
  };
25419
- var __defProp$n = Object.defineProperty;
25420
- var __decorateClass$n = (decorators, target, key, kind) => {
25421
- var result = void 0;
25422
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
25423
- if (decorator = decorators[i])
25424
- result = decorator(target, key, result) || result;
25425
- if (result) __defProp$n(target, key, result);
25426
- return result;
25427
- };
25428
- function withTranslations(Base, defaults) {
25429
- class TranslationsMixin extends Base {
25430
- constructor() {
25431
- super(...arguments);
25432
- this.translations = {};
25433
- this._mergedTranslations = { ...defaults };
25434
- }
25435
- /** @internal */
25436
- _t(key, vars) {
25437
- let str = this._mergedTranslations[key] ?? String(key);
25438
- if (vars) {
25439
- for (const [k, v] of Object.entries(vars)) {
25440
- str = str.split(`{${k}}`).join(String(v));
25441
- }
25442
- }
25443
- return str;
25444
- }
25445
- willUpdate(changed) {
25446
- super.willUpdate(changed);
25447
- if (changed.has("translations")) {
25448
- this._mergedTranslations = { ...defaults, ...this.translations };
25449
- }
25450
- }
25451
- }
25452
- __decorateClass$n([
25453
- property({ type: Object })
25454
- ], TranslationsMixin.prototype, "translations");
25455
- return TranslationsMixin;
25456
- }
25457
25731
  const nlddListItemTranslations = {
25458
- "components.list-item.opens-in-new-tab-label": "Opent in nieuw tabblad"
25732
+ "components.list-item.opens-in-new-tab-text": "Opent in nieuw tabblad"
25459
25733
  };
25460
- var __defProp$m = Object.defineProperty;
25461
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
25462
- var __decorateClass$m = (decorators, target, key, kind) => {
25463
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
25734
+ var __defProp$n = Object.defineProperty;
25735
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
25736
+ var __decorateClass$n = (decorators, target, key, kind) => {
25737
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
25464
25738
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25465
25739
  if (decorator = decorators[i])
25466
25740
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
25467
- if (kind && result) __defProp$m(target, key, result);
25741
+ if (kind && result) __defProp$n(target, key, result);
25468
25742
  return result;
25469
25743
  };
25470
25744
  let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTranslations) {
@@ -25477,6 +25751,8 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25477
25751
  this._showStart = false;
25478
25752
  this._showEnd = false;
25479
25753
  this._parentType = "list";
25754
+ this._arrowNavigation = false;
25755
+ this._rovingActive = false;
25480
25756
  this._isBoxed = false;
25481
25757
  this._listObserver = null;
25482
25758
  this._handleClick = () => {
@@ -25488,6 +25764,13 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25488
25764
  this._handleFocusOut = () => {
25489
25765
  this._action?.classList.remove("is-pointer-focus");
25490
25766
  };
25767
+ this._onPointerDown = (e) => {
25768
+ if (e.button > 0) return;
25769
+ this._action?.classList.add("is-pressed");
25770
+ };
25771
+ this._clearPressed = () => {
25772
+ this._action?.classList.remove("is-pressed");
25773
+ };
25491
25774
  }
25492
25775
  connectedCallback() {
25493
25776
  super.connectedCallback();
@@ -25496,6 +25779,9 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25496
25779
  this.addEventListener("focusin", this._handleFocusIn);
25497
25780
  this.addEventListener("focusout", this._handleFocusOut);
25498
25781
  this.addEventListener("click", this._handleClick);
25782
+ this.addEventListener("pointerdown", this._onPointerDown);
25783
+ this.addEventListener("pointerup", this._clearPressed);
25784
+ this.addEventListener("pointercancel", this._clearPressed);
25499
25785
  }
25500
25786
  disconnectedCallback() {
25501
25787
  super.disconnectedCallback();
@@ -25504,6 +25790,9 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25504
25790
  this.removeEventListener("focusin", this._handleFocusIn);
25505
25791
  this.removeEventListener("focusout", this._handleFocusOut);
25506
25792
  this.removeEventListener("click", this._handleClick);
25793
+ this.removeEventListener("pointerdown", this._onPointerDown);
25794
+ this.removeEventListener("pointerup", this._clearPressed);
25795
+ this.removeEventListener("pointercancel", this._clearPressed);
25507
25796
  }
25508
25797
  firstUpdated() {
25509
25798
  if (this.hasAttribute("data-nldd-clone")) {
@@ -25581,7 +25870,8 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25581
25870
  this._action?.focus(options);
25582
25871
  }
25583
25872
  render() {
25584
- const newTabLabel = this.href && this.target === "_blank" ? this._t("components.list-item.opens-in-new-tab-label") : void 0;
25873
+ const opensInNewTabLabel = this.href && this.target === "_blank" ? this._t("components.list-item.opens-in-new-tab-text") : void 0;
25874
+ const rovingTabindex = this._arrowNavigation ? this._rovingActive ? "0" : "-1" : void 0;
25585
25875
  return template$a(
25586
25876
  this.button,
25587
25877
  this.href,
@@ -25589,45 +25879,52 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25589
25879
  this.rel,
25590
25880
  this._showStart,
25591
25881
  this._showEnd,
25592
- newTabLabel
25882
+ opensInNewTabLabel,
25883
+ rovingTabindex
25593
25884
  );
25594
25885
  }
25595
25886
  };
25596
25887
  NLDDListItem.styles = [listItemStyles];
25597
- __decorateClass$m([
25888
+ __decorateClass$n([
25598
25889
  property({ reflect: true })
25599
25890
  ], NLDDListItem.prototype, "size", 2);
25600
- __decorateClass$m([
25891
+ __decorateClass$n([
25601
25892
  property({ type: Boolean, reflect: true })
25602
25893
  ], NLDDListItem.prototype, "selected", 2);
25603
- __decorateClass$m([
25894
+ __decorateClass$n([
25604
25895
  property({ type: Boolean, reflect: true })
25605
25896
  ], NLDDListItem.prototype, "button", 2);
25606
- __decorateClass$m([
25897
+ __decorateClass$n([
25607
25898
  property({ reflect: true })
25608
25899
  ], NLDDListItem.prototype, "href", 2);
25609
- __decorateClass$m([
25900
+ __decorateClass$n([
25610
25901
  property({ reflect: true })
25611
25902
  ], NLDDListItem.prototype, "target", 2);
25612
- __decorateClass$m([
25903
+ __decorateClass$n([
25613
25904
  property({ reflect: true })
25614
25905
  ], NLDDListItem.prototype, "rel", 2);
25615
- __decorateClass$m([
25906
+ __decorateClass$n([
25616
25907
  property({ type: Boolean, reflect: true })
25617
25908
  ], NLDDListItem.prototype, "reorderable", 2);
25618
- __decorateClass$m([
25909
+ __decorateClass$n([
25619
25910
  state()
25620
25911
  ], NLDDListItem.prototype, "_showStart", 2);
25621
- __decorateClass$m([
25912
+ __decorateClass$n([
25622
25913
  state()
25623
25914
  ], NLDDListItem.prototype, "_showEnd", 2);
25624
- __decorateClass$m([
25915
+ __decorateClass$n([
25625
25916
  state()
25626
25917
  ], NLDDListItem.prototype, "_parentType", 2);
25627
- __decorateClass$m([
25918
+ __decorateClass$n([
25919
+ state()
25920
+ ], NLDDListItem.prototype, "_arrowNavigation", 2);
25921
+ __decorateClass$n([
25922
+ state()
25923
+ ], NLDDListItem.prototype, "_rovingActive", 2);
25924
+ __decorateClass$n([
25628
25925
  query(".list-item__action")
25629
25926
  ], NLDDListItem.prototype, "_action", 2);
25630
- NLDDListItem = __decorateClass$m([
25927
+ NLDDListItem = __decorateClass$n([
25631
25928
  customElement("nldd-list-item")
25632
25929
  ], NLDDListItem);
25633
25930
  const listItem = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -25788,14 +26085,14 @@ const nlddTableTranslations = {
25788
26085
  "components.table.accessible-label": "Tabel",
25789
26086
  "components.table.empty-text": "Geen items"
25790
26087
  };
25791
- var __defProp$l = Object.defineProperty;
25792
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
25793
- var __decorateClass$l = (decorators, target, key, kind) => {
25794
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
26088
+ var __defProp$m = Object.defineProperty;
26089
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
26090
+ var __decorateClass$m = (decorators, target, key, kind) => {
26091
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
25795
26092
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25796
26093
  if (decorator = decorators[i])
25797
26094
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
25798
- if (kind && result) __defProp$l(target, key, result);
26095
+ if (kind && result) __defProp$m(target, key, result);
25799
26096
  return result;
25800
26097
  };
25801
26098
  const SM_MAX = parseInt(breakpoints.smMax, 10);
@@ -25938,37 +26235,37 @@ let NLDDTable = class extends LitElement {
25938
26235
  }
25939
26236
  };
25940
26237
  NLDDTable.styles = tableStyles;
25941
- __decorateClass$l([
26238
+ __decorateClass$m([
25942
26239
  property({ type: String, reflect: true })
25943
26240
  ], NLDDTable.prototype, "background", 2);
25944
- __decorateClass$l([
26241
+ __decorateClass$m([
25945
26242
  property({ type: String, reflect: true })
25946
26243
  ], NLDDTable.prototype, "columns", 2);
25947
- __decorateClass$l([
26244
+ __decorateClass$m([
25948
26245
  property({ type: String, reflect: true, attribute: "sm-columns" })
25949
26246
  ], NLDDTable.prototype, "smColumns", 2);
25950
- __decorateClass$l([
26247
+ __decorateClass$m([
25951
26248
  property({ type: String, reflect: true, attribute: "md-columns" })
25952
26249
  ], NLDDTable.prototype, "mdColumns", 2);
25953
- __decorateClass$l([
26250
+ __decorateClass$m([
25954
26251
  property({ type: String, reflect: true, attribute: "lg-columns" })
25955
26252
  ], NLDDTable.prototype, "lgColumns", 2);
25956
- __decorateClass$l([
26253
+ __decorateClass$m([
25957
26254
  property({ type: String, reflect: true, attribute: "accessible-label" })
25958
26255
  ], NLDDTable.prototype, "accessibleLabel", 2);
25959
- __decorateClass$l([
26256
+ __decorateClass$m([
25960
26257
  property({ type: Boolean, reflect: true })
25961
26258
  ], NLDDTable.prototype, "selectable", 2);
25962
- __decorateClass$l([
26259
+ __decorateClass$m([
25963
26260
  property({ type: String, attribute: "empty-text" })
25964
26261
  ], NLDDTable.prototype, "emptyText", 2);
25965
- __decorateClass$l([
26262
+ __decorateClass$m([
25966
26263
  property({ type: String, attribute: "empty-supporting-text" })
25967
26264
  ], NLDDTable.prototype, "emptySupportingText", 2);
25968
- __decorateClass$l([
26265
+ __decorateClass$m([
25969
26266
  property({ type: Object })
25970
26267
  ], NLDDTable.prototype, "translations", 2);
25971
- NLDDTable = __decorateClass$l([
26268
+ NLDDTable = __decorateClass$m([
25972
26269
  customElement("nldd-table")
25973
26270
  ], NLDDTable);
25974
26271
  let NLDDTableRow = class extends LitElement {
@@ -26022,10 +26319,10 @@ let NLDDTableRow = class extends LitElement {
26022
26319
  }
26023
26320
  };
26024
26321
  NLDDTableRow.styles = tableRowStyles;
26025
- __decorateClass$l([
26322
+ __decorateClass$m([
26026
26323
  property({ type: Boolean, reflect: true })
26027
26324
  ], NLDDTableRow.prototype, "selected", 2);
26028
- NLDDTableRow = __decorateClass$l([
26325
+ NLDDTableRow = __decorateClass$m([
26029
26326
  customElement("nldd-table-row")
26030
26327
  ], NLDDTableRow);
26031
26328
  const cellStyles = css`
@@ -26120,14 +26417,14 @@ const cellStyles = css`
26120
26417
  }
26121
26418
  `;
26122
26419
  const template$9 = () => html`<slot></slot>`;
26123
- var __defProp$k = Object.defineProperty;
26124
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
26125
- var __decorateClass$k = (decorators, target, key, kind) => {
26126
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
26420
+ var __defProp$l = Object.defineProperty;
26421
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
26422
+ var __decorateClass$l = (decorators, target, key, kind) => {
26423
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
26127
26424
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26128
26425
  if (decorator = decorators[i])
26129
26426
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26130
- if (kind && result) __defProp$k(target, key, result);
26427
+ if (kind && result) __defProp$l(target, key, result);
26131
26428
  return result;
26132
26429
  };
26133
26430
  let NLDDCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26176,25 +26473,25 @@ let NLDDCell = class extends VisibilityMixin(LitElement, "cells-container") {
26176
26473
  }
26177
26474
  };
26178
26475
  NLDDCell.styles = [cellStyles];
26179
- __decorateClass$k([
26476
+ __decorateClass$l([
26180
26477
  property({ type: String, reflect: true })
26181
26478
  ], NLDDCell.prototype, "width", 2);
26182
- __decorateClass$k([
26479
+ __decorateClass$l([
26183
26480
  property({ type: String, reflect: true, attribute: "min-width" })
26184
26481
  ], NLDDCell.prototype, "minWidth", 2);
26185
- __decorateClass$k([
26482
+ __decorateClass$l([
26186
26483
  property({ type: String, reflect: true, attribute: "max-width" })
26187
26484
  ], NLDDCell.prototype, "maxWidth", 2);
26188
- __decorateClass$k([
26485
+ __decorateClass$l([
26189
26486
  property({ type: String, reflect: true, attribute: "min-height" })
26190
26487
  ], NLDDCell.prototype, "minHeight", 2);
26191
- __decorateClass$k([
26488
+ __decorateClass$l([
26192
26489
  property({ reflect: true, attribute: "vertical-alignment" })
26193
26490
  ], NLDDCell.prototype, "verticalAlignment", 2);
26194
- __decorateClass$k([
26491
+ __decorateClass$l([
26195
26492
  property({ reflect: true, attribute: "horizontal-alignment" })
26196
26493
  ], NLDDCell.prototype, "horizontalAlignment", 2);
26197
- NLDDCell = __decorateClass$k([
26494
+ NLDDCell = __decorateClass$l([
26198
26495
  customElement("nldd-cell")
26199
26496
  ], NLDDCell);
26200
26497
  const titleCellStyles = css`
@@ -26421,14 +26718,14 @@ const template$8 = function() {
26421
26718
  </p>
26422
26719
  `;
26423
26720
  };
26424
- var __defProp$j = Object.defineProperty;
26425
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
26426
- var __decorateClass$j = (decorators, target, key, kind) => {
26427
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
26721
+ var __defProp$k = Object.defineProperty;
26722
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
26723
+ var __decorateClass$k = (decorators, target, key, kind) => {
26724
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
26428
26725
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26429
26726
  if (decorator = decorators[i])
26430
26727
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26431
- if (kind && result) __defProp$j(target, key, result);
26728
+ if (kind && result) __defProp$k(target, key, result);
26432
26729
  return result;
26433
26730
  };
26434
26731
  let NLDDTitleCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26508,58 +26805,58 @@ let NLDDTitleCell = class extends VisibilityMixin(LitElement, "cells-container")
26508
26805
  }
26509
26806
  };
26510
26807
  NLDDTitleCell.styles = [titleCellStyles];
26511
- __decorateClass$j([
26808
+ __decorateClass$k([
26512
26809
  property({ type: Number, reflect: true })
26513
26810
  ], NLDDTitleCell.prototype, "size", 2);
26514
- __decorateClass$j([
26811
+ __decorateClass$k([
26515
26812
  property({ type: String, reflect: true })
26516
26813
  ], NLDDTitleCell.prototype, "color", 2);
26517
- __decorateClass$j([
26814
+ __decorateClass$k([
26518
26815
  property({ type: String, reflect: true })
26519
26816
  ], NLDDTitleCell.prototype, "width", 2);
26520
- __decorateClass$j([
26817
+ __decorateClass$k([
26521
26818
  property({ type: String, reflect: true, attribute: "min-width" })
26522
26819
  ], NLDDTitleCell.prototype, "minWidth", 2);
26523
- __decorateClass$j([
26820
+ __decorateClass$k([
26524
26821
  property({ type: String, reflect: true, attribute: "max-width" })
26525
26822
  ], NLDDTitleCell.prototype, "maxWidth", 2);
26526
- __decorateClass$j([
26823
+ __decorateClass$k([
26527
26824
  property({ type: String, reflect: true, attribute: "min-height" })
26528
26825
  ], NLDDTitleCell.prototype, "minHeight", 2);
26529
- __decorateClass$j([
26826
+ __decorateClass$k([
26530
26827
  property({ type: String, reflect: true, attribute: "horizontal-alignment" })
26531
26828
  ], NLDDTitleCell.prototype, "horizontalAlignment", 2);
26532
- __decorateClass$j([
26829
+ __decorateClass$k([
26533
26830
  property({ type: String, reflect: true, attribute: "vertical-alignment" })
26534
26831
  ], NLDDTitleCell.prototype, "verticalAlignment", 2);
26535
- __decorateClass$j([
26832
+ __decorateClass$k([
26536
26833
  property({ type: String })
26537
26834
  ], NLDDTitleCell.prototype, "text", 2);
26538
- __decorateClass$j([
26835
+ __decorateClass$k([
26539
26836
  property({ type: String })
26540
26837
  ], NLDDTitleCell.prototype, "overline", 2);
26541
- __decorateClass$j([
26838
+ __decorateClass$k([
26542
26839
  property({ type: String, attribute: "supporting-text" })
26543
26840
  ], NLDDTitleCell.prototype, "supportingText", 2);
26544
- __decorateClass$j([
26841
+ __decorateClass$k([
26545
26842
  property({ type: Number, attribute: "heading-level" })
26546
26843
  ], NLDDTitleCell.prototype, "headingLevel", 2);
26547
- __decorateClass$j([
26844
+ __decorateClass$k([
26548
26845
  property({ type: String })
26549
26846
  ], NLDDTitleCell.prototype, "query", 2);
26550
- __decorateClass$j([
26847
+ __decorateClass$k([
26551
26848
  property({ type: String, attribute: "query-mark-mode" })
26552
26849
  ], NLDDTitleCell.prototype, "queryMarkMode", 2);
26553
- __decorateClass$j([
26850
+ __decorateClass$k([
26554
26851
  state()
26555
26852
  ], NLDDTitleCell.prototype, "_hasOverlineSlotted", 2);
26556
- __decorateClass$j([
26853
+ __decorateClass$k([
26557
26854
  state()
26558
26855
  ], NLDDTitleCell.prototype, "_hasDefaultSlotted", 2);
26559
- __decorateClass$j([
26856
+ __decorateClass$k([
26560
26857
  state()
26561
26858
  ], NLDDTitleCell.prototype, "_hasSupportingTextSlotted", 2);
26562
- NLDDTitleCell = __decorateClass$j([
26859
+ NLDDTitleCell = __decorateClass$k([
26563
26860
  customElement("nldd-title-cell")
26564
26861
  ], NLDDTitleCell);
26565
26862
  const descriptionCellStyles = css`
@@ -26671,14 +26968,14 @@ const template$7 = () => html`
26671
26968
  <slot name="title"></slot>
26672
26969
  <slot name="description"></slot>
26673
26970
  `;
26674
- var __defProp$i = Object.defineProperty;
26675
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
26676
- var __decorateClass$i = (decorators, target, key, kind) => {
26677
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
26971
+ var __defProp$j = Object.defineProperty;
26972
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
26973
+ var __decorateClass$j = (decorators, target, key, kind) => {
26974
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
26678
26975
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26679
26976
  if (decorator = decorators[i])
26680
26977
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26681
- if (kind && result) __defProp$i(target, key, result);
26978
+ if (kind && result) __defProp$j(target, key, result);
26682
26979
  return result;
26683
26980
  };
26684
26981
  let NLDDDescriptionCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26726,22 +27023,22 @@ let NLDDDescriptionCell = class extends VisibilityMixin(LitElement, "cells-conta
26726
27023
  }
26727
27024
  };
26728
27025
  NLDDDescriptionCell.styles = [descriptionCellStyles];
26729
- __decorateClass$i([
27026
+ __decorateClass$j([
26730
27027
  property({ type: String, reflect: true })
26731
27028
  ], NLDDDescriptionCell.prototype, "width", 2);
26732
- __decorateClass$i([
27029
+ __decorateClass$j([
26733
27030
  property({ type: String, reflect: true, attribute: "min-width" })
26734
27031
  ], NLDDDescriptionCell.prototype, "minWidth", 2);
26735
- __decorateClass$i([
27032
+ __decorateClass$j([
26736
27033
  property({ type: String, reflect: true, attribute: "max-width" })
26737
27034
  ], NLDDDescriptionCell.prototype, "maxWidth", 2);
26738
- __decorateClass$i([
27035
+ __decorateClass$j([
26739
27036
  property({ type: String, reflect: true, attribute: "min-height" })
26740
27037
  ], NLDDDescriptionCell.prototype, "minHeight", 2);
26741
- __decorateClass$i([
27038
+ __decorateClass$j([
26742
27039
  property({ reflect: true, attribute: "vertical-alignment" })
26743
27040
  ], NLDDDescriptionCell.prototype, "verticalAlignment", 2);
26744
- NLDDDescriptionCell = __decorateClass$i([
27041
+ NLDDDescriptionCell = __decorateClass$j([
26745
27042
  customElement("nldd-description-cell")
26746
27043
  ], NLDDDescriptionCell);
26747
27044
  const dragHandleCellStyles = css`
@@ -26853,14 +27150,14 @@ function template$6(size2, label) {
26853
27150
  const nlddDragHandleCellTranslations = {
26854
27151
  "components.drag-handle-cell.label-text": "Sleepgreep, druk spatie of enter om te verplaatsen"
26855
27152
  };
26856
- var __defProp$h = Object.defineProperty;
26857
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
26858
- var __decorateClass$h = (decorators, target, key, kind) => {
26859
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
27153
+ var __defProp$i = Object.defineProperty;
27154
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
27155
+ var __decorateClass$i = (decorators, target, key, kind) => {
27156
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
26860
27157
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26861
27158
  if (decorator = decorators[i])
26862
27159
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26863
- if (kind && result) __defProp$h(target, key, result);
27160
+ if (kind && result) __defProp$i(target, key, result);
26864
27161
  return result;
26865
27162
  };
26866
27163
  let NLDDDragHandleCell = class extends LitElement {
@@ -26879,13 +27176,13 @@ let NLDDDragHandleCell = class extends LitElement {
26879
27176
  }
26880
27177
  };
26881
27178
  NLDDDragHandleCell.styles = dragHandleCellStyles;
26882
- __decorateClass$h([
27179
+ __decorateClass$i([
26883
27180
  property({ type: String, reflect: true })
26884
27181
  ], NLDDDragHandleCell.prototype, "size", 2);
26885
- __decorateClass$h([
27182
+ __decorateClass$i([
26886
27183
  property({ type: Object })
26887
27184
  ], NLDDDragHandleCell.prototype, "translations", 2);
26888
- NLDDDragHandleCell = __decorateClass$h([
27185
+ NLDDDragHandleCell = __decorateClass$i([
26889
27186
  customElement("nldd-drag-handle-cell")
26890
27187
  ], NLDDDragHandleCell);
26891
27188
  const timelineTrackCellStyles = css`
@@ -26998,14 +27295,14 @@ function timelineTrackCellTemplate(component) {
26998
27295
  </div>
26999
27296
  `;
27000
27297
  }
27001
- var __defProp$g = Object.defineProperty;
27002
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
27003
- var __decorateClass$g = (decorators, target, key, kind) => {
27004
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
27298
+ var __defProp$h = Object.defineProperty;
27299
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
27300
+ var __decorateClass$h = (decorators, target, key, kind) => {
27301
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
27005
27302
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27006
27303
  if (decorator = decorators[i])
27007
27304
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27008
- if (kind && result) __defProp$g(target, key, result);
27305
+ if (kind && result) __defProp$h(target, key, result);
27009
27306
  return result;
27010
27307
  };
27011
27308
  let NLDDTimelineTrackCell = class extends LitElement {
@@ -27019,13 +27316,13 @@ let NLDDTimelineTrackCell = class extends LitElement {
27019
27316
  }
27020
27317
  };
27021
27318
  NLDDTimelineTrackCell.styles = timelineTrackCellStyles;
27022
- __decorateClass$g([
27319
+ __decorateClass$h([
27023
27320
  property({ type: String, reflect: true })
27024
27321
  ], NLDDTimelineTrackCell.prototype, "step", 2);
27025
- __decorateClass$g([
27322
+ __decorateClass$h([
27026
27323
  property({ type: String, reflect: true })
27027
27324
  ], NLDDTimelineTrackCell.prototype, "child", 2);
27028
- NLDDTimelineTrackCell = __decorateClass$g([
27325
+ NLDDTimelineTrackCell = __decorateClass$h([
27029
27326
  customElement("nldd-timeline-track-cell")
27030
27327
  ], NLDDTimelineTrackCell);
27031
27328
  const separatorStyles = css`
@@ -27209,14 +27506,14 @@ const nlddBreadcrumbsTranslations = {
27209
27506
  "components.breadcrumbs.accessible-label": "Kruimelpad",
27210
27507
  "components.breadcrumbs.show-all-levels": "Toon alle niveaus"
27211
27508
  };
27212
- var __defProp$f = Object.defineProperty;
27213
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
27214
- var __decorateClass$f = (decorators, target, key, kind) => {
27215
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
27509
+ var __defProp$g = Object.defineProperty;
27510
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
27511
+ var __decorateClass$g = (decorators, target, key, kind) => {
27512
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
27216
27513
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27217
27514
  if (decorator = decorators[i])
27218
27515
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27219
- if (kind && result) __defProp$f(target, key, result);
27516
+ if (kind && result) __defProp$g(target, key, result);
27220
27517
  return result;
27221
27518
  };
27222
27519
  const _NLDDBreadcrumbsItem = class _NLDDBreadcrumbsItem extends LitElement {
@@ -27262,13 +27559,13 @@ const _NLDDBreadcrumbsItem = class _NLDDBreadcrumbsItem extends LitElement {
27262
27559
  };
27263
27560
  _NLDDBreadcrumbsItem.styles = breadcrumbsItemStyles;
27264
27561
  let NLDDBreadcrumbsItem = _NLDDBreadcrumbsItem;
27265
- __decorateClass$f([
27562
+ __decorateClass$g([
27266
27563
  property({ type: String, reflect: true })
27267
27564
  ], NLDDBreadcrumbsItem.prototype, "href", 2);
27268
- __decorateClass$f([
27565
+ __decorateClass$g([
27269
27566
  property({ type: Boolean, reflect: true })
27270
27567
  ], NLDDBreadcrumbsItem.prototype, "current", 2);
27271
- __decorateClass$f([
27568
+ __decorateClass$g([
27272
27569
  property({ type: String, reflect: true })
27273
27570
  ], NLDDBreadcrumbsItem.prototype, "text", 2);
27274
27571
  if (!customElements.get("nldd-breadcrumbs-item")) {
@@ -27334,19 +27631,19 @@ let NLDDBreadcrumbs = class extends LitElement {
27334
27631
  }
27335
27632
  };
27336
27633
  NLDDBreadcrumbs.styles = breadcrumbsStyles;
27337
- __decorateClass$f([
27634
+ __decorateClass$g([
27338
27635
  property({ type: String, attribute: "accessible-label" })
27339
27636
  ], NLDDBreadcrumbs.prototype, "accessibleLabel", 2);
27340
- __decorateClass$f([
27637
+ __decorateClass$g([
27341
27638
  property({ type: Boolean, reflect: true, attribute: "no-collapse" })
27342
27639
  ], NLDDBreadcrumbs.prototype, "noCollapse", 2);
27343
- __decorateClass$f([
27640
+ __decorateClass$g([
27344
27641
  property({ type: Object })
27345
27642
  ], NLDDBreadcrumbs.prototype, "translations", 2);
27346
- __decorateClass$f([
27643
+ __decorateClass$g([
27347
27644
  state()
27348
27645
  ], NLDDBreadcrumbs.prototype, "_collapsed", 2);
27349
- NLDDBreadcrumbs = __decorateClass$f([
27646
+ NLDDBreadcrumbs = __decorateClass$g([
27350
27647
  customElement("nldd-breadcrumbs")
27351
27648
  ], NLDDBreadcrumbs);
27352
27649
  const menuBarStyles = css`
@@ -27662,14 +27959,14 @@ function template$4(component) {
27662
27959
  <slot @slotchange=${component._onSlotChange}></slot>
27663
27960
  `;
27664
27961
  }
27665
- var __defProp$e = Object.defineProperty;
27666
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
27667
- var __decorateClass$e = (decorators, target, key, kind) => {
27668
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
27962
+ var __defProp$f = Object.defineProperty;
27963
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
27964
+ var __decorateClass$f = (decorators, target, key, kind) => {
27965
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
27669
27966
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27670
27967
  if (decorator = decorators[i])
27671
27968
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27672
- if (kind && result) __defProp$e(target, key, result);
27969
+ if (kind && result) __defProp$f(target, key, result);
27673
27970
  return result;
27674
27971
  };
27675
27972
  let NLDDMenuBarItem = class extends LitElement {
@@ -27787,62 +28084,62 @@ let NLDDMenuBarItem = class extends LitElement {
27787
28084
  }
27788
28085
  };
27789
28086
  NLDDMenuBarItem.styles = menuBarItemStyles;
27790
- __decorateClass$e([
28087
+ __decorateClass$f([
27791
28088
  property({ type: String, reflect: true })
27792
28089
  ], NLDDMenuBarItem.prototype, "text", 2);
27793
- __decorateClass$e([
28090
+ __decorateClass$f([
27794
28091
  property({ type: Boolean, reflect: true })
27795
28092
  ], NLDDMenuBarItem.prototype, "current", 2);
27796
- __decorateClass$e([
28093
+ __decorateClass$f([
27797
28094
  property({ type: String, attribute: "current-type", reflect: true })
27798
28095
  ], NLDDMenuBarItem.prototype, "currentType", 2);
27799
- __decorateClass$e([
28096
+ __decorateClass$f([
27800
28097
  property({ type: String })
27801
28098
  ], NLDDMenuBarItem.prototype, "href", 2);
27802
- __decorateClass$e([
28099
+ __decorateClass$f([
27803
28100
  property({ type: String, reflect: true })
27804
28101
  ], NLDDMenuBarItem.prototype, "icon", 2);
27805
- __decorateClass$e([
28102
+ __decorateClass$f([
27806
28103
  property({ type: Boolean, reflect: true })
27807
28104
  ], NLDDMenuBarItem.prototype, "expandable", 2);
27808
- __decorateClass$e([
28105
+ __decorateClass$f([
27809
28106
  property({ type: Boolean, attribute: "icon-only", reflect: true })
27810
28107
  ], NLDDMenuBarItem.prototype, "iconOnly", 2);
27811
- __decorateClass$e([
28108
+ __decorateClass$f([
27812
28109
  property({ type: String, attribute: "content-priority", reflect: true })
27813
28110
  ], NLDDMenuBarItem.prototype, "contentPriority", 2);
27814
- __decorateClass$e([
28111
+ __decorateClass$f([
27815
28112
  property({ type: Boolean, reflect: true })
27816
28113
  ], NLDDMenuBarItem.prototype, "compact", 2);
27817
- __decorateClass$e([
28114
+ __decorateClass$f([
27818
28115
  property({ type: Boolean, reflect: true })
27819
28116
  ], NLDDMenuBarItem.prototype, "disabled", 2);
27820
- __decorateClass$e([
28117
+ __decorateClass$f([
27821
28118
  property({ type: String, attribute: "accessible-label" })
27822
28119
  ], NLDDMenuBarItem.prototype, "accessibleLabel", 2);
27823
- __decorateClass$e([
28120
+ __decorateClass$f([
27824
28121
  property({ type: String })
27825
28122
  ], NLDDMenuBarItem.prototype, "haspopup", 2);
27826
- __decorateClass$e([
28123
+ __decorateClass$f([
27827
28124
  property({ type: Boolean, reflect: true })
27828
28125
  ], NLDDMenuBarItem.prototype, "expanded", 2);
27829
- __decorateClass$e([
28126
+ __decorateClass$f([
27830
28127
  property({ attribute: false })
27831
28128
  ], NLDDMenuBarItem.prototype, "popoverTargetElement", 2);
27832
- __decorateClass$e([
28129
+ __decorateClass$f([
27833
28130
  property({ attribute: false })
27834
28131
  ], NLDDMenuBarItem.prototype, "popoverTargetAction", 2);
27835
- NLDDMenuBarItem = __decorateClass$e([
28132
+ NLDDMenuBarItem = __decorateClass$f([
27836
28133
  customElement("nldd-menu-bar-item")
27837
28134
  ], NLDDMenuBarItem);
27838
- var __defProp$d = Object.defineProperty;
27839
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
27840
- var __decorateClass$d = (decorators, target, key, kind) => {
27841
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
28135
+ var __defProp$e = Object.defineProperty;
28136
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
28137
+ var __decorateClass$e = (decorators, target, key, kind) => {
28138
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
27842
28139
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27843
28140
  if (decorator = decorators[i])
27844
28141
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27845
- if (kind && result) __defProp$d(target, key, result);
28142
+ if (kind && result) __defProp$e(target, key, result);
27846
28143
  return result;
27847
28144
  };
27848
28145
  let NLDDMenuBar = class extends withTranslations(LitElement, nlddMenuBarTranslations) {
@@ -28076,25 +28373,25 @@ let NLDDMenuBar = class extends withTranslations(LitElement, nlddMenuBarTranslat
28076
28373
  }
28077
28374
  };
28078
28375
  NLDDMenuBar.styles = menuBarStyles;
28079
- __decorateClass$d([
28376
+ __decorateClass$e([
28080
28377
  property({ type: String, attribute: "overflow-text" })
28081
28378
  ], NLDDMenuBar.prototype, "overflowText", 2);
28082
- __decorateClass$d([
28379
+ __decorateClass$e([
28083
28380
  property({ type: String, attribute: "accessible-label" })
28084
28381
  ], NLDDMenuBar.prototype, "accessibleLabel", 2);
28085
- __decorateClass$d([
28382
+ __decorateClass$e([
28086
28383
  property({ type: Boolean, reflect: true })
28087
28384
  ], NLDDMenuBar.prototype, "compact", 2);
28088
- __decorateClass$d([
28385
+ __decorateClass$e([
28089
28386
  query("slot:not([name])")
28090
28387
  ], NLDDMenuBar.prototype, "_defaultSlot", 2);
28091
- __decorateClass$d([
28388
+ __decorateClass$e([
28092
28389
  query(".menu-bar__overflow-button")
28093
28390
  ], NLDDMenuBar.prototype, "_overflowButton", 2);
28094
- __decorateClass$d([
28391
+ __decorateClass$e([
28095
28392
  state()
28096
28393
  ], NLDDMenuBar.prototype, "_menuOpen", 2);
28097
- NLDDMenuBar = __decorateClass$d([
28394
+ NLDDMenuBar = __decorateClass$e([
28098
28395
  customElement("nldd-menu-bar")
28099
28396
  ], NLDDMenuBar);
28100
28397
  const linkStyles = css`
@@ -28237,9 +28534,26 @@ const linkStyles = css`
28237
28534
  :host([size="inherit"]) .link__end-icon {
28238
28535
  top: 0.2em;
28239
28536
  }
28537
+
28538
+ /* Visually-hidden "opens in new tab" announcement (target="_blank"); part of
28539
+ the link's accessible name but never shown. Standard visually-hidden recipe. */
28540
+ .link__opens-in-new-tab-hint {
28541
+ position: absolute;
28542
+ margin: -1px;
28543
+ border: 0;
28544
+ width: 1px;
28545
+ height: 1px;
28546
+ overflow: hidden;
28547
+ padding: 0;
28548
+ white-space: nowrap;
28549
+ clip-path: inset(50%);
28550
+ }
28240
28551
  `;
28241
28552
  function template$3(helpers) {
28242
28553
  const resolvedRel = this._resolvedRel();
28554
+ const opensInNewTabHint = !this.disabled && this.href && this.target === "_blank" ? this._t("components.link.opens-in-new-tab-text") : "";
28555
+ const ariaLabel = this.accessibleLabel ? [this.accessibleLabel, opensInNewTabHint].filter(Boolean).join(", ") : nothing;
28556
+ const renderOpensInNewTabHint = !!opensInNewTabHint && !this.accessibleLabel;
28243
28557
  return html`
28244
28558
  <a class="link"
28245
28559
  href=${this.disabled ? nothing : this.href || nothing}
@@ -28248,7 +28562,7 @@ function template$3(helpers) {
28248
28562
  target=${this.disabled ? nothing : this.target || nothing}
28249
28563
  rel=${this.disabled ? nothing : resolvedRel || nothing}
28250
28564
  aria-disabled=${this.disabled ? "true" : nothing}
28251
- aria-label=${this.accessibleLabel || nothing}
28565
+ aria-label=${ariaLabel}
28252
28566
  @click=${helpers.handleClick}
28253
28567
  >
28254
28568
  ${this.startIcon ? html`
@@ -28258,20 +28572,24 @@ function template$3(helpers) {
28258
28572
  ${this.endIcon ? html`
28259
28573
  <span class="link__end-icon"><nldd-icon name=${this.endIcon}></nldd-icon></span>
28260
28574
  ` : html`<slot name="end-icon"></slot>`}
28575
+ ${renderOpensInNewTabHint ? html`<span class="link__opens-in-new-tab-hint">${opensInNewTabHint}</span>` : nothing}
28261
28576
  </a>
28262
28577
  `;
28263
28578
  }
28264
- var __defProp$c = Object.defineProperty;
28265
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
28266
- var __decorateClass$c = (decorators, target, key, kind) => {
28267
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
28579
+ const nlddLinkTranslations = {
28580
+ "components.link.opens-in-new-tab-text": "Opent in nieuw tabblad"
28581
+ };
28582
+ var __defProp$d = Object.defineProperty;
28583
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
28584
+ var __decorateClass$d = (decorators, target, key, kind) => {
28585
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
28268
28586
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28269
28587
  if (decorator = decorators[i])
28270
28588
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28271
- if (kind && result) __defProp$c(target, key, result);
28589
+ if (kind && result) __defProp$d(target, key, result);
28272
28590
  return result;
28273
28591
  };
28274
- let NLDDLink = class extends LitElement {
28592
+ let NLDDLink = class extends withTranslations(LitElement, nlddLinkTranslations) {
28275
28593
  constructor() {
28276
28594
  super(...arguments);
28277
28595
  this.href = void 0;
@@ -28305,34 +28623,34 @@ let NLDDLink = class extends LitElement {
28305
28623
  }
28306
28624
  };
28307
28625
  NLDDLink.styles = linkStyles;
28308
- __decorateClass$c([
28626
+ __decorateClass$d([
28309
28627
  property({ type: String, reflect: true })
28310
28628
  ], NLDDLink.prototype, "href", 2);
28311
- __decorateClass$c([
28629
+ __decorateClass$d([
28312
28630
  property({ type: String })
28313
28631
  ], NLDDLink.prototype, "target", 2);
28314
- __decorateClass$c([
28632
+ __decorateClass$d([
28315
28633
  property({ type: String })
28316
28634
  ], NLDDLink.prototype, "rel", 2);
28317
- __decorateClass$c([
28635
+ __decorateClass$d([
28318
28636
  property({ type: String, reflect: true })
28319
28637
  ], NLDDLink.prototype, "size", 2);
28320
- __decorateClass$c([
28638
+ __decorateClass$d([
28321
28639
  property({ type: String })
28322
28640
  ], NLDDLink.prototype, "text", 2);
28323
- __decorateClass$c([
28641
+ __decorateClass$d([
28324
28642
  property({ type: String, attribute: "start-icon" })
28325
28643
  ], NLDDLink.prototype, "startIcon", 2);
28326
- __decorateClass$c([
28644
+ __decorateClass$d([
28327
28645
  property({ type: String, attribute: "end-icon" })
28328
28646
  ], NLDDLink.prototype, "endIcon", 2);
28329
- __decorateClass$c([
28647
+ __decorateClass$d([
28330
28648
  property({ type: String, attribute: "accessible-label" })
28331
28649
  ], NLDDLink.prototype, "accessibleLabel", 2);
28332
- __decorateClass$c([
28650
+ __decorateClass$d([
28333
28651
  property({ type: Boolean, reflect: true })
28334
28652
  ], NLDDLink.prototype, "disabled", 2);
28335
- NLDDLink = __decorateClass$c([
28653
+ NLDDLink = __decorateClass$d([
28336
28654
  customElement("nldd-link")
28337
28655
  ], NLDDLink);
28338
28656
  const skipLinkStyles = css`
@@ -28427,14 +28745,14 @@ function template$2(component) {
28427
28745
  const nlddSkipLinkTranslations = {
28428
28746
  "components.skip-link.action": "Sla over"
28429
28747
  };
28430
- var __defProp$b = Object.defineProperty;
28431
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
28432
- var __decorateClass$b = (decorators, target, key, kind) => {
28433
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
28748
+ var __defProp$c = Object.defineProperty;
28749
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
28750
+ var __decorateClass$c = (decorators, target, key, kind) => {
28751
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
28434
28752
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28435
28753
  if (decorator = decorators[i])
28436
28754
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28437
- if (kind && result) __defProp$b(target, key, result);
28755
+ if (kind && result) __defProp$c(target, key, result);
28438
28756
  return result;
28439
28757
  };
28440
28758
  let NLDDSkipLink = class extends withTranslations(LitElement, nlddSkipLinkTranslations) {
@@ -28464,13 +28782,13 @@ let NLDDSkipLink = class extends withTranslations(LitElement, nlddSkipLinkTransl
28464
28782
  }
28465
28783
  };
28466
28784
  NLDDSkipLink.styles = skipLinkStyles;
28467
- __decorateClass$b([
28785
+ __decorateClass$c([
28468
28786
  property({ type: String })
28469
28787
  ], NLDDSkipLink.prototype, "text", 2);
28470
- __decorateClass$b([
28788
+ __decorateClass$c([
28471
28789
  property({ type: String })
28472
28790
  ], NLDDSkipLink.prototype, "href", 2);
28473
- NLDDSkipLink = __decorateClass$b([
28791
+ NLDDSkipLink = __decorateClass$c([
28474
28792
  customElement("nldd-skip-link")
28475
28793
  ], NLDDSkipLink);
28476
28794
  const smMax = unsafeCSS(breakpoints.smMax);
@@ -28925,14 +29243,14 @@ const nlddTopNavigationBarTranslations = {
28925
29243
  "components.top-navigation-bar.utility-menu-bar-label": "Hulplinks",
28926
29244
  "components.top-navigation-bar.menu-sheet-dismiss-action": "Sluit"
28927
29245
  };
28928
- var __defProp$a = Object.defineProperty;
28929
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
28930
- var __decorateClass$a = (decorators, target, key, kind) => {
28931
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
29246
+ var __defProp$b = Object.defineProperty;
29247
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
29248
+ var __decorateClass$b = (decorators, target, key, kind) => {
29249
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
28932
29250
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28933
29251
  if (decorator = decorators[i])
28934
29252
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28935
- if (kind && result) __defProp$a(target, key, result);
29253
+ if (kind && result) __defProp$b(target, key, result);
28936
29254
  return result;
28937
29255
  };
28938
29256
  let NLDDTopNavigationBar = class extends withTranslations(LitElement, nlddTopNavigationBarTranslations) {
@@ -29289,46 +29607,46 @@ let NLDDTopNavigationBar = class extends withTranslations(LitElement, nlddTopNav
29289
29607
  }
29290
29608
  };
29291
29609
  NLDDTopNavigationBar.styles = topNavigationBarStyles;
29292
- __decorateClass$a([
29610
+ __decorateClass$b([
29293
29611
  property({ type: String, attribute: "website-title" })
29294
29612
  ], NLDDTopNavigationBar.prototype, "websiteTitle", 2);
29295
- __decorateClass$a([
29613
+ __decorateClass$b([
29296
29614
  property({ type: Boolean, attribute: "no-logo", reflect: true })
29297
29615
  ], NLDDTopNavigationBar.prototype, "noLogo", 2);
29298
- __decorateClass$a([
29616
+ __decorateClass$b([
29299
29617
  property({ type: String, attribute: "logo-title" })
29300
29618
  ], NLDDTopNavigationBar.prototype, "logoTitle", 2);
29301
- __decorateClass$a([
29619
+ __decorateClass$b([
29302
29620
  property({ type: String, attribute: "logo-subtitle" })
29303
29621
  ], NLDDTopNavigationBar.prototype, "logoSubtitle", 2);
29304
- __decorateClass$a([
29622
+ __decorateClass$b([
29305
29623
  property({ type: String, attribute: "logo-supporting-text-1" })
29306
29624
  ], NLDDTopNavigationBar.prototype, "logoSupportingText1", 2);
29307
- __decorateClass$a([
29625
+ __decorateClass$b([
29308
29626
  property({ type: String, attribute: "logo-supporting-text-2" })
29309
29627
  ], NLDDTopNavigationBar.prototype, "logoSupportingText2", 2);
29310
- __decorateClass$a([
29628
+ __decorateClass$b([
29311
29629
  property({ type: String, attribute: "logo-href" })
29312
29630
  ], NLDDTopNavigationBar.prototype, "logoHref", 2);
29313
- __decorateClass$a([
29631
+ __decorateClass$b([
29314
29632
  property({ type: String, attribute: "website-href" })
29315
29633
  ], NLDDTopNavigationBar.prototype, "websiteHref", 2);
29316
- __decorateClass$a([
29634
+ __decorateClass$b([
29317
29635
  property({ type: String, attribute: "back-href" })
29318
29636
  ], NLDDTopNavigationBar.prototype, "backHref", 2);
29319
- __decorateClass$a([
29637
+ __decorateClass$b([
29320
29638
  property({ type: String, attribute: "back-text" })
29321
29639
  ], NLDDTopNavigationBar.prototype, "backText", 2);
29322
- __decorateClass$a([
29640
+ __decorateClass$b([
29323
29641
  query(".top-navigation-bar__menu-button")
29324
29642
  ], NLDDTopNavigationBar.prototype, "_menuButton", 2);
29325
- __decorateClass$a([
29643
+ __decorateClass$b([
29326
29644
  query('slot[name="global"]')
29327
29645
  ], NLDDTopNavigationBar.prototype, "_globalSlot", 2);
29328
- __decorateClass$a([
29646
+ __decorateClass$b([
29329
29647
  query('slot[name="utility"]')
29330
29648
  ], NLDDTopNavigationBar.prototype, "_utilitySlot", 2);
29331
- NLDDTopNavigationBar = __decorateClass$a([
29649
+ NLDDTopNavigationBar = __decorateClass$b([
29332
29650
  customElement("nldd-top-navigation-bar")
29333
29651
  ], NLDDTopNavigationBar);
29334
29652
  const topTitleBarStyles = css`
@@ -29524,14 +29842,14 @@ function topTitleBarTemplate(component) {
29524
29842
  </div>
29525
29843
  `;
29526
29844
  }
29527
- var __defProp$9 = Object.defineProperty;
29528
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
29529
- var __decorateClass$9 = (decorators, target, key, kind) => {
29530
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
29845
+ var __defProp$a = Object.defineProperty;
29846
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
29847
+ var __decorateClass$a = (decorators, target, key, kind) => {
29848
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
29531
29849
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
29532
29850
  if (decorator = decorators[i])
29533
29851
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
29534
- if (kind && result) __defProp$9(target, key, result);
29852
+ if (kind && result) __defProp$a(target, key, result);
29535
29853
  return result;
29536
29854
  };
29537
29855
  let NLDDTopTitleBar = class extends LitElement {
@@ -29636,28 +29954,28 @@ let NLDDTopTitleBar = class extends LitElement {
29636
29954
  }
29637
29955
  };
29638
29956
  NLDDTopTitleBar.styles = topTitleBarStyles;
29639
- __decorateClass$9([
29957
+ __decorateClass$a([
29640
29958
  property({ type: String })
29641
29959
  ], NLDDTopTitleBar.prototype, "text", 2);
29642
- __decorateClass$9([
29960
+ __decorateClass$a([
29643
29961
  property({ type: String, attribute: "supporting-text" })
29644
29962
  ], NLDDTopTitleBar.prototype, "supportingText", 2);
29645
- __decorateClass$9([
29963
+ __decorateClass$a([
29646
29964
  property({ type: String, attribute: "collapse-anchor" })
29647
29965
  ], NLDDTopTitleBar.prototype, "collapseAnchor", 2);
29648
- __decorateClass$9([
29966
+ __decorateClass$a([
29649
29967
  property({ type: String, attribute: "back-text" })
29650
29968
  ], NLDDTopTitleBar.prototype, "backText", 2);
29651
- __decorateClass$9([
29969
+ __decorateClass$a([
29652
29970
  property({ type: String, attribute: "back-href" })
29653
29971
  ], NLDDTopTitleBar.prototype, "backHref", 2);
29654
- __decorateClass$9([
29972
+ __decorateClass$a([
29655
29973
  property({ type: String, attribute: "dismiss-text" })
29656
29974
  ], NLDDTopTitleBar.prototype, "dismissText", 2);
29657
- __decorateClass$9([
29975
+ __decorateClass$a([
29658
29976
  state()
29659
29977
  ], NLDDTopTitleBar.prototype, "_hasToolbarItems", 2);
29660
- NLDDTopTitleBar = __decorateClass$9([
29978
+ NLDDTopTitleBar = __decorateClass$a([
29661
29979
  customElement("nldd-top-title-bar")
29662
29980
  ], NLDDTopTitleBar);
29663
29981
  const topTitleBar = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -29679,6 +29997,7 @@ const tabBarStyles = css`
29679
29997
  ${inheritedTextReset}
29680
29998
  display: inline-block;
29681
29999
  position: relative;
30000
+ max-width: 100%;
29682
30001
  isolation: isolate;
29683
30002
  user-select: none;
29684
30003
  -webkit-tap-highlight-color: transparent;
@@ -29708,13 +30027,14 @@ const tabBarStyles = css`
29708
30027
  }
29709
30028
 
29710
30029
  .tab-bar__items {
29711
- display: flex;
30030
+ display: grid;
29712
30031
  position: relative;
29713
30032
  border-radius: var(--semantics-controls-md-corner-radius);
29714
30033
  background-color: var(--semantics-buttons-neutral-tinted-background-color);
29715
- flex-direction: row;
30034
+ min-width: 0;
30035
+ grid-auto-flow: column;
30036
+ grid-auto-columns: auto;
29716
30037
  align-items: center;
29717
- justify-content: center;
29718
30038
  gap: var(--_gap);
29719
30039
  }
29720
30040
 
@@ -29764,6 +30084,14 @@ const tabBarItemStyles = css`
29764
30084
  display: none;
29765
30085
  }
29766
30086
 
30087
+ /* Text-bearing items may shrink (their grid track narrows below content) so the
30088
+ * text can truncate. Icon-only items keep min-width:auto, so their track floors
30089
+ * at the fixed touch-target size — an icon can't truncate. */
30090
+ :host([variant="text"]),
30091
+ :host([variant="icon-and-text"]) {
30092
+ min-width: 0;
30093
+ }
30094
+
29767
30095
 
29768
30096
  /* # Block */
29769
30097
 
@@ -29788,6 +30116,13 @@ const tabBarItemStyles = css`
29788
30116
  cursor: var(--semantics-controls-link-cursor);
29789
30117
  }
29790
30118
 
30119
+ /* Text-bearing items fill their (shrinkable) grid track so the text can
30120
+ * truncate; icon-only items keep their fixed square size. */
30121
+ :host([variant="text"]) .tab-bar__item,
30122
+ :host([variant="icon-and-text"]) .tab-bar__item {
30123
+ width: 100%;
30124
+ }
30125
+
29791
30126
  :host([variant="icon-and-text"]:not([size="lg"])) .tab-bar__item {
29792
30127
  height: var(--semantics-controls-md-min-size);
29793
30128
  padding: var(--primitives-space-8) var(--primitives-space-12);
@@ -29914,6 +30249,11 @@ const tabBarItemStyles = css`
29914
30249
  .tab-bar__item-text {
29915
30250
  position: relative;
29916
30251
  z-index: var(--_z-index-content);
30252
+ min-width: 0;
30253
+ max-width: 100%;
30254
+ overflow: hidden;
30255
+ white-space: nowrap;
30256
+ text-overflow: ellipsis;
29917
30257
  }
29918
30258
 
29919
30259
  :host([variant="icon-and-text"][size="lg"]) .tab-bar__item-text {
@@ -29998,14 +30338,14 @@ function tabBarItemTemplate(component) {
29998
30338
  }
29999
30339
  return result;
30000
30340
  }
30001
- var __defProp$8 = Object.defineProperty;
30002
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
30003
- var __decorateClass$8 = (decorators, target, key, kind) => {
30004
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
30341
+ var __defProp$9 = Object.defineProperty;
30342
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
30343
+ var __decorateClass$9 = (decorators, target, key, kind) => {
30344
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
30005
30345
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30006
30346
  if (decorator = decorators[i])
30007
30347
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30008
- if (kind && result) __defProp$8(target, key, result);
30348
+ if (kind && result) __defProp$9(target, key, result);
30009
30349
  return result;
30010
30350
  };
30011
30351
  let NLDDTabBarItem = class extends LitElement {
@@ -30063,34 +30403,34 @@ let NLDDTabBarItem = class extends LitElement {
30063
30403
  }
30064
30404
  };
30065
30405
  NLDDTabBarItem.styles = tabBarItemStyles;
30066
- __decorateClass$8([
30406
+ __decorateClass$9([
30067
30407
  property({ type: Boolean, reflect: true })
30068
30408
  ], NLDDTabBarItem.prototype, "selected", 2);
30069
- __decorateClass$8([
30409
+ __decorateClass$9([
30070
30410
  property({ type: String })
30071
30411
  ], NLDDTabBarItem.prototype, "href", 2);
30072
- __decorateClass$8([
30412
+ __decorateClass$9([
30073
30413
  property({ type: String })
30074
30414
  ], NLDDTabBarItem.prototype, "_groupVariant", 2);
30075
- __decorateClass$8([
30415
+ __decorateClass$9([
30076
30416
  property({ type: String })
30077
30417
  ], NLDDTabBarItem.prototype, "text", 2);
30078
- __decorateClass$8([
30418
+ __decorateClass$9([
30079
30419
  property({ type: String, reflect: true })
30080
30420
  ], NLDDTabBarItem.prototype, "icon", 2);
30081
- __decorateClass$8([
30421
+ __decorateClass$9([
30082
30422
  property({ type: String, reflect: true })
30083
30423
  ], NLDDTabBarItem.prototype, "size", 2);
30084
- __decorateClass$8([
30424
+ __decorateClass$9([
30085
30425
  state()
30086
30426
  ], NLDDTabBarItem.prototype, "_hasIconSlot", 2);
30087
- __decorateClass$8([
30427
+ __decorateClass$9([
30088
30428
  state()
30089
30429
  ], NLDDTabBarItem.prototype, "_navigation", 2);
30090
- __decorateClass$8([
30430
+ __decorateClass$9([
30091
30431
  state()
30092
30432
  ], NLDDTabBarItem.prototype, "_isFallbackFocusable", 2);
30093
- NLDDTabBarItem = __decorateClass$8([
30433
+ NLDDTabBarItem = __decorateClass$9([
30094
30434
  customElement("nldd-tab-bar-item")
30095
30435
  ], NLDDTabBarItem);
30096
30436
  let NLDDTabBar = class extends LitElement {
@@ -30104,10 +30444,12 @@ let NLDDTabBar = class extends LitElement {
30104
30444
  this._hasCustomLabel = false;
30105
30445
  this._handleItemSelect = (event) => {
30106
30446
  event.stopPropagation();
30107
- const items = this._getItems();
30108
- items.forEach((item) => {
30109
- item.selected = item === event.detail.item;
30110
- });
30447
+ if (!this.navigation) {
30448
+ const items = this._getItems();
30449
+ items.forEach((item) => {
30450
+ item.selected = item === event.detail.item;
30451
+ });
30452
+ }
30111
30453
  this.dispatchEvent(new CustomEvent("tabchange", {
30112
30454
  bubbles: true,
30113
30455
  composed: true,
@@ -30203,22 +30545,22 @@ let NLDDTabBar = class extends LitElement {
30203
30545
  }
30204
30546
  };
30205
30547
  NLDDTabBar.styles = tabBarStyles;
30206
- __decorateClass$8([
30548
+ __decorateClass$9([
30207
30549
  property({ type: Boolean, reflect: true })
30208
30550
  ], NLDDTabBar.prototype, "centered", 2);
30209
- __decorateClass$8([
30551
+ __decorateClass$9([
30210
30552
  property({ type: String, reflect: true })
30211
30553
  ], NLDDTabBar.prototype, "variant", 2);
30212
- __decorateClass$8([
30554
+ __decorateClass$9([
30213
30555
  property({ type: String, reflect: true })
30214
30556
  ], NLDDTabBar.prototype, "size", 2);
30215
- __decorateClass$8([
30557
+ __decorateClass$9([
30216
30558
  property({ type: Boolean, reflect: true })
30217
30559
  ], NLDDTabBar.prototype, "navigation", 2);
30218
- __decorateClass$8([
30560
+ __decorateClass$9([
30219
30561
  property({ type: String, attribute: "accessible-label" })
30220
30562
  ], NLDDTabBar.prototype, "accessibleLabel", 2);
30221
- NLDDTabBar = __decorateClass$8([
30563
+ NLDDTabBar = __decorateClass$9([
30222
30564
  customElement("nldd-tab-bar")
30223
30565
  ], NLDDTabBar);
30224
30566
  const documentTabBarStyles = css`
@@ -30244,6 +30586,7 @@ const documentTabBarStyles = css`
30244
30586
  ${inheritedTextReset}
30245
30587
  display: block;
30246
30588
  position: relative;
30589
+ width: 100%;
30247
30590
  isolation: isolate;
30248
30591
  user-select: none;
30249
30592
  -webkit-tap-highlight-color: transparent;
@@ -30769,14 +31112,14 @@ const nlddDocumentTabBarTranslations = {
30769
31112
  "components.document-tab-bar.reorder-no-change-text": "Tabblad verplaatst. Positie ongewijzigd.",
30770
31113
  "components.document-tab-bar.reorder-cancelled-text": "Slepen geannuleerd."
30771
31114
  };
30772
- var __defProp$7 = Object.defineProperty;
30773
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
30774
- var __decorateClass$7 = (decorators, target, key, kind) => {
30775
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
31115
+ var __defProp$8 = Object.defineProperty;
31116
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
31117
+ var __decorateClass$8 = (decorators, target, key, kind) => {
31118
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
30776
31119
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30777
31120
  if (decorator = decorators[i])
30778
31121
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30779
- if (kind && result) __defProp$7(target, key, result);
31122
+ if (kind && result) __defProp$8(target, key, result);
30780
31123
  return result;
30781
31124
  };
30782
31125
  const DRAG_THRESHOLD = 5;
@@ -30835,37 +31178,37 @@ let NLDDDocumentTabBarItem = class extends LitElement {
30835
31178
  };
30836
31179
  NLDDDocumentTabBarItem.styles = documentTabBarItemStyles;
30837
31180
  NLDDDocumentTabBarItem._idCounter = 0;
30838
- __decorateClass$7([
31181
+ __decorateClass$8([
30839
31182
  property({ type: Boolean, reflect: true })
30840
31183
  ], NLDDDocumentTabBarItem.prototype, "selected", 2);
30841
- __decorateClass$7([
31184
+ __decorateClass$8([
30842
31185
  property({ type: String, attribute: "text" })
30843
31186
  ], NLDDDocumentTabBarItem.prototype, "text", 2);
30844
- __decorateClass$7([
31187
+ __decorateClass$8([
30845
31188
  property({ type: String, attribute: "supporting-text" })
30846
31189
  ], NLDDDocumentTabBarItem.prototype, "supportingText", 2);
30847
- __decorateClass$7([
31190
+ __decorateClass$8([
30848
31191
  property({ type: String, attribute: "short-text" })
30849
31192
  ], NLDDDocumentTabBarItem.prototype, "shortText", 2);
30850
- __decorateClass$7([
31193
+ __decorateClass$8([
30851
31194
  property({ type: String, attribute: "short-supporting-text" })
30852
31195
  ], NLDDDocumentTabBarItem.prototype, "shortSupportingText", 2);
30853
- __decorateClass$7([
31196
+ __decorateClass$8([
30854
31197
  property({ type: String })
30855
31198
  ], NLDDDocumentTabBarItem.prototype, "href", 2);
30856
- __decorateClass$7([
31199
+ __decorateClass$8([
30857
31200
  state()
30858
31201
  ], NLDDDocumentTabBarItem.prototype, "_isShort", 2);
30859
- __decorateClass$7([
31202
+ __decorateClass$8([
30860
31203
  state()
30861
31204
  ], NLDDDocumentTabBarItem.prototype, "_dismissButtonAccessibilityLabel", 2);
30862
- __decorateClass$7([
31205
+ __decorateClass$8([
30863
31206
  state()
30864
31207
  ], NLDDDocumentTabBarItem.prototype, "_isFallbackFocusable", 2);
30865
- __decorateClass$7([
31208
+ __decorateClass$8([
30866
31209
  state()
30867
31210
  ], NLDDDocumentTabBarItem.prototype, "_navigation", 2);
30868
- NLDDDocumentTabBarItem = __decorateClass$7([
31211
+ NLDDDocumentTabBarItem = __decorateClass$8([
30869
31212
  customElement("nldd-document-tab-bar-item")
30870
31213
  ], NLDDDocumentTabBarItem);
30871
31214
  let NLDDDocumentTabBar = class extends withTranslations(LitElement, nlddDocumentTabBarTranslations) {
@@ -31428,19 +31771,19 @@ let NLDDDocumentTabBar = class extends withTranslations(LitElement, nlddDocument
31428
31771
  };
31429
31772
  NLDDDocumentTabBar.styles = documentTabBarStyles;
31430
31773
  NLDDDocumentTabBar._idCounter = 0;
31431
- __decorateClass$7([
31774
+ __decorateClass$8([
31432
31775
  property({ type: String, attribute: "accessible-label" })
31433
31776
  ], NLDDDocumentTabBar.prototype, "accessibleLabel", 2);
31434
- __decorateClass$7([
31777
+ __decorateClass$8([
31435
31778
  property({ type: Boolean, reflect: true })
31436
31779
  ], NLDDDocumentTabBar.prototype, "navigation", 2);
31437
- __decorateClass$7([
31780
+ __decorateClass$8([
31438
31781
  state()
31439
31782
  ], NLDDDocumentTabBar.prototype, "_overflowCount", 2);
31440
- __decorateClass$7([
31783
+ __decorateClass$8([
31441
31784
  state()
31442
31785
  ], NLDDDocumentTabBar.prototype, "_menuOpen", 2);
31443
- NLDDDocumentTabBar = __decorateClass$7([
31786
+ NLDDDocumentTabBar = __decorateClass$8([
31444
31787
  customElement("nldd-document-tab-bar")
31445
31788
  ], NLDDDocumentTabBar);
31446
31789
  const paginationStyles = css`
@@ -31846,14 +32189,14 @@ const nlddPaginationTranslations = {
31846
32189
  "components.pagination.page-action": "Ga naar pagina {page}",
31847
32190
  "components.pagination.go-to-page-label": "Ga naar pagina"
31848
32191
  };
31849
- var __defProp$6 = Object.defineProperty;
31850
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
31851
- var __decorateClass$6 = (decorators, target, key, kind) => {
31852
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
32192
+ var __defProp$7 = Object.defineProperty;
32193
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
32194
+ var __decorateClass$7 = (decorators, target, key, kind) => {
32195
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
31853
32196
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
31854
32197
  if (decorator = decorators[i])
31855
32198
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31856
- if (kind && result) __defProp$6(target, key, result);
32199
+ if (kind && result) __defProp$7(target, key, result);
31857
32200
  return result;
31858
32201
  };
31859
32202
  let NLDDPagination = class extends LitElement {
@@ -31940,25 +32283,25 @@ let NLDDPagination = class extends LitElement {
31940
32283
  }
31941
32284
  };
31942
32285
  NLDDPagination.styles = paginationStyles;
31943
- __decorateClass$6([
32286
+ __decorateClass$7([
31944
32287
  property({ type: Number, reflect: true })
31945
32288
  ], NLDDPagination.prototype, "current", 2);
31946
- __decorateClass$6([
32289
+ __decorateClass$7([
31947
32290
  property({ type: Number, reflect: true })
31948
32291
  ], NLDDPagination.prototype, "total", 2);
31949
- __decorateClass$6([
32292
+ __decorateClass$7([
31950
32293
  property({ type: Boolean, reflect: true })
31951
32294
  ], NLDDPagination.prototype, "disabled", 2);
31952
- __decorateClass$6([
32295
+ __decorateClass$7([
31953
32296
  property({ type: Boolean, reflect: true })
31954
32297
  ], NLDDPagination.prototype, "centered", 2);
31955
- __decorateClass$6([
32298
+ __decorateClass$7([
31956
32299
  property({ type: String, attribute: "href-pattern" })
31957
32300
  ], NLDDPagination.prototype, "hrefPattern", 2);
31958
- __decorateClass$6([
32301
+ __decorateClass$7([
31959
32302
  property({ type: Object })
31960
32303
  ], NLDDPagination.prototype, "translations", 2);
31961
- NLDDPagination = __decorateClass$6([
32304
+ NLDDPagination = __decorateClass$7([
31962
32305
  customElement("nldd-pagination")
31963
32306
  ], NLDDPagination);
31964
32307
  const mdMin = unsafeCSS(breakpoints.mdMin);
@@ -32077,14 +32420,14 @@ function modalDialogTemplate(component) {
32077
32420
  </dialog>
32078
32421
  `;
32079
32422
  }
32080
- var __defProp$5 = Object.defineProperty;
32081
- var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
32082
- var __decorateClass$5 = (decorators, target, key, kind) => {
32083
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
32423
+ var __defProp$6 = Object.defineProperty;
32424
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
32425
+ var __decorateClass$6 = (decorators, target, key, kind) => {
32426
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
32084
32427
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32085
32428
  if (decorator = decorators[i])
32086
32429
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32087
- if (kind && result) __defProp$5(target, key, result);
32430
+ if (kind && result) __defProp$6(target, key, result);
32088
32431
  return result;
32089
32432
  };
32090
32433
  let NLDDModalDialog = class extends LitElement {
@@ -32149,22 +32492,22 @@ let NLDDModalDialog = class extends LitElement {
32149
32492
  }
32150
32493
  };
32151
32494
  NLDDModalDialog.styles = modalDialogStyles;
32152
- __decorateClass$5([
32495
+ __decorateClass$6([
32153
32496
  property({ type: String, reflect: true })
32154
32497
  ], NLDDModalDialog.prototype, "variant", 2);
32155
- __decorateClass$5([
32498
+ __decorateClass$6([
32156
32499
  property({ type: String, reflect: true })
32157
32500
  ], NLDDModalDialog.prototype, "icon", 2);
32158
- __decorateClass$5([
32501
+ __decorateClass$6([
32159
32502
  property({ type: String, reflect: true })
32160
32503
  ], NLDDModalDialog.prototype, "text", 2);
32161
- __decorateClass$5([
32504
+ __decorateClass$6([
32162
32505
  property({ type: String, reflect: true, attribute: "supporting-text" })
32163
32506
  ], NLDDModalDialog.prototype, "supportingText", 2);
32164
- __decorateClass$5([
32507
+ __decorateClass$6([
32165
32508
  property({ type: String, attribute: "accessible-label" })
32166
32509
  ], NLDDModalDialog.prototype, "accessibleLabel", 2);
32167
- NLDDModalDialog = __decorateClass$5([
32510
+ NLDDModalDialog = __decorateClass$6([
32168
32511
  customElement("nldd-modal-dialog")
32169
32512
  ], NLDDModalDialog);
32170
32513
  const bannerStyles = css`
@@ -32375,14 +32718,14 @@ function bannerTemplate(component) {
32375
32718
  const nlddBannerTranslations = {
32376
32719
  "components.banner.dismiss-action": "Sluit"
32377
32720
  };
32378
- var __defProp$4 = Object.defineProperty;
32379
- var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
32380
- var __decorateClass$4 = (decorators, target, key, kind) => {
32381
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
32721
+ var __defProp$5 = Object.defineProperty;
32722
+ var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
32723
+ var __decorateClass$5 = (decorators, target, key, kind) => {
32724
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
32382
32725
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32383
32726
  if (decorator = decorators[i])
32384
32727
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32385
- if (kind && result) __defProp$4(target, key, result);
32728
+ if (kind && result) __defProp$5(target, key, result);
32386
32729
  return result;
32387
32730
  };
32388
32731
  const DEFAULT_ICONS = {
@@ -32488,34 +32831,34 @@ let NLDDBanner = class extends LitElement {
32488
32831
  }
32489
32832
  };
32490
32833
  NLDDBanner.styles = bannerStyles;
32491
- __decorateClass$4([
32834
+ __decorateClass$5([
32492
32835
  property({ type: String, reflect: true })
32493
32836
  ], NLDDBanner.prototype, "variant", 2);
32494
- __decorateClass$4([
32837
+ __decorateClass$5([
32495
32838
  property({ type: String, reflect: true })
32496
32839
  ], NLDDBanner.prototype, "icon", 2);
32497
- __decorateClass$4([
32840
+ __decorateClass$5([
32498
32841
  property({ type: String })
32499
32842
  ], NLDDBanner.prototype, "text", 2);
32500
- __decorateClass$4([
32843
+ __decorateClass$5([
32501
32844
  property({ type: String, attribute: "supporting-text" })
32502
32845
  ], NLDDBanner.prototype, "supportingText", 2);
32503
- __decorateClass$4([
32846
+ __decorateClass$5([
32504
32847
  property({ type: Number, reflect: true, attribute: "heading-level" })
32505
32848
  ], NLDDBanner.prototype, "headingLevel", 2);
32506
- __decorateClass$4([
32849
+ __decorateClass$5([
32507
32850
  property({ type: Boolean, reflect: true })
32508
32851
  ], NLDDBanner.prototype, "dismissible", 2);
32509
- __decorateClass$4([
32852
+ __decorateClass$5([
32510
32853
  property({ type: Object })
32511
32854
  ], NLDDBanner.prototype, "translations", 2);
32512
- __decorateClass$4([
32855
+ __decorateClass$5([
32513
32856
  state()
32514
32857
  ], NLDDBanner.prototype, "_hasContent", 2);
32515
- __decorateClass$4([
32858
+ __decorateClass$5([
32516
32859
  state()
32517
32860
  ], NLDDBanner.prototype, "_hasActions", 2);
32518
- NLDDBanner = __decorateClass$4([
32861
+ NLDDBanner = __decorateClass$5([
32519
32862
  customElement("nldd-banner")
32520
32863
  ], NLDDBanner);
32521
32864
  const badgeStyles = css`
@@ -32782,14 +33125,14 @@ function template(component) {
32782
33125
  const nlddBadgeTranslations = {
32783
33126
  "components.badge.notification-text": "Notificatie"
32784
33127
  };
32785
- var __defProp$3 = Object.defineProperty;
32786
- var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
32787
- var __decorateClass$3 = (decorators, target, key, kind) => {
32788
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
33128
+ var __defProp$4 = Object.defineProperty;
33129
+ var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
33130
+ var __decorateClass$4 = (decorators, target, key, kind) => {
33131
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
32789
33132
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32790
33133
  if (decorator = decorators[i])
32791
33134
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32792
- if (kind && result) __defProp$3(target, key, result);
33135
+ if (kind && result) __defProp$4(target, key, result);
32793
33136
  return result;
32794
33137
  };
32795
33138
  let NLDDBadge = class extends withTranslations(LitElement, nlddBadgeTranslations) {
@@ -32829,28 +33172,28 @@ let NLDDBadge = class extends withTranslations(LitElement, nlddBadgeTranslations
32829
33172
  }
32830
33173
  };
32831
33174
  NLDDBadge.styles = badgeStyles;
32832
- __decorateClass$3([
33175
+ __decorateClass$4([
32833
33176
  property({ type: String, reflect: true })
32834
33177
  ], NLDDBadge.prototype, "color", 2);
32835
- __decorateClass$3([
33178
+ __decorateClass$4([
32836
33179
  property({ type: String, reflect: true })
32837
33180
  ], NLDDBadge.prototype, "size", 2);
32838
- __decorateClass$3([
33181
+ __decorateClass$4([
32839
33182
  property({ type: String })
32840
33183
  ], NLDDBadge.prototype, "text", 2);
32841
- __decorateClass$3([
33184
+ __decorateClass$4([
32842
33185
  property({ type: Number, reflect: true })
32843
33186
  ], NLDDBadge.prototype, "number", 2);
32844
- __decorateClass$3([
33187
+ __decorateClass$4([
32845
33188
  property({ type: Number, reflect: true })
32846
33189
  ], NLDDBadge.prototype, "max", 2);
32847
- __decorateClass$3([
33190
+ __decorateClass$4([
32848
33191
  property({ type: String })
32849
33192
  ], NLDDBadge.prototype, "icon", 2);
32850
- __decorateClass$3([
33193
+ __decorateClass$4([
32851
33194
  property({ type: String, attribute: "accessible-label" })
32852
33195
  ], NLDDBadge.prototype, "accessibleLabel", 2);
32853
- NLDDBadge = __decorateClass$3([
33196
+ NLDDBadge = __decorateClass$4([
32854
33197
  customElement("nldd-badge")
32855
33198
  ], NLDDBadge);
32856
33199
  const progressBarStyles = css`
@@ -33294,14 +33637,14 @@ const nlddProgressBarTranslations = {
33294
33637
  "components.progress-bar.loading-text": "Aan het laden",
33295
33638
  "components.progress-bar.label-text": "Voortgang"
33296
33639
  };
33297
- var __defProp$2 = Object.defineProperty;
33298
- var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
33299
- var __decorateClass$2 = (decorators, target, key, kind) => {
33300
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
33640
+ var __defProp$3 = Object.defineProperty;
33641
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
33642
+ var __decorateClass$3 = (decorators, target, key, kind) => {
33643
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
33301
33644
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33302
33645
  if (decorator = decorators[i])
33303
33646
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
33304
- if (kind && result) __defProp$2(target, key, result);
33647
+ if (kind && result) __defProp$3(target, key, result);
33305
33648
  return result;
33306
33649
  };
33307
33650
  const INDETERMINATE_TRANSITION_MS$1 = 300;
@@ -33334,22 +33677,22 @@ let NLDDProgressBarSegmentIndicator = class extends LitElement {
33334
33677
  }
33335
33678
  };
33336
33679
  NLDDProgressBarSegmentIndicator.styles = progressBarSegmentIndicatorStyles;
33337
- __decorateClass$2([
33680
+ __decorateClass$3([
33338
33681
  property({ type: Number, reflect: true })
33339
33682
  ], NLDDProgressBarSegmentIndicator.prototype, "value", 2);
33340
- __decorateClass$2([
33683
+ __decorateClass$3([
33341
33684
  property({ type: String, reflect: true })
33342
33685
  ], NLDDProgressBarSegmentIndicator.prototype, "color", 2);
33343
- __decorateClass$2([
33686
+ __decorateClass$3([
33344
33687
  property({ type: String, reflect: true })
33345
33688
  ], NLDDProgressBarSegmentIndicator.prototype, "name", 2);
33346
- __decorateClass$2([
33689
+ __decorateClass$3([
33347
33690
  property({ type: String, reflect: true, attribute: "tooltip-text" })
33348
33691
  ], NLDDProgressBarSegmentIndicator.prototype, "tooltipText", 2);
33349
- __decorateClass$2([
33692
+ __decorateClass$3([
33350
33693
  state()
33351
33694
  ], NLDDProgressBarSegmentIndicator.prototype, "_autoTooltipText", 2);
33352
- NLDDProgressBarSegmentIndicator = __decorateClass$2([
33695
+ NLDDProgressBarSegmentIndicator = __decorateClass$3([
33353
33696
  customElement("nldd-progress-bar-segment-indicator")
33354
33697
  ], NLDDProgressBarSegmentIndicator);
33355
33698
  let NLDDProgressBar = class extends LitElement {
@@ -33560,52 +33903,52 @@ let NLDDProgressBar = class extends LitElement {
33560
33903
  }
33561
33904
  };
33562
33905
  NLDDProgressBar.styles = progressBarStyles;
33563
- __decorateClass$2([
33906
+ __decorateClass$3([
33564
33907
  property({ type: String, reflect: true })
33565
33908
  ], NLDDProgressBar.prototype, "mode", 2);
33566
- __decorateClass$2([
33909
+ __decorateClass$3([
33567
33910
  property({ type: Number, reflect: true })
33568
33911
  ], NLDDProgressBar.prototype, "max", 2);
33569
- __decorateClass$2([
33912
+ __decorateClass$3([
33570
33913
  property({ type: Number, reflect: true })
33571
33914
  ], NLDDProgressBar.prototype, "value", 2);
33572
- __decorateClass$2([
33915
+ __decorateClass$3([
33573
33916
  property({ type: String, reflect: true })
33574
33917
  ], NLDDProgressBar.prototype, "color", 2);
33575
- __decorateClass$2([
33918
+ __decorateClass$3([
33576
33919
  property({ type: String, reflect: true })
33577
33920
  ], NLDDProgressBar.prototype, "size", 2);
33578
- __decorateClass$2([
33921
+ __decorateClass$3([
33579
33922
  property({ type: String, reflect: true })
33580
33923
  ], NLDDProgressBar.prototype, "text", 2);
33581
- __decorateClass$2([
33924
+ __decorateClass$3([
33582
33925
  property({ type: String, reflect: true, attribute: "value-format" })
33583
33926
  ], NLDDProgressBar.prototype, "valueFormat", 2);
33584
- __decorateClass$2([
33927
+ __decorateClass$3([
33585
33928
  property({ type: String, reflect: true, attribute: "value-text" })
33586
33929
  ], NLDDProgressBar.prototype, "valueText", 2);
33587
- __decorateClass$2([
33930
+ __decorateClass$3([
33588
33931
  property({ type: String, reflect: true, attribute: "value-display" })
33589
33932
  ], NLDDProgressBar.prototype, "valueDisplay", 2);
33590
- __decorateClass$2([
33933
+ __decorateClass$3([
33591
33934
  property({ type: String, reflect: true, attribute: "accessible-label" })
33592
33935
  ], NLDDProgressBar.prototype, "accessibleLabel", 2);
33593
- __decorateClass$2([
33936
+ __decorateClass$3([
33594
33937
  property({ type: Boolean, reflect: true })
33595
33938
  ], NLDDProgressBar.prototype, "indeterminate", 2);
33596
- __decorateClass$2([
33939
+ __decorateClass$3([
33597
33940
  property({ type: Object })
33598
33941
  ], NLDDProgressBar.prototype, "translations", 2);
33599
- __decorateClass$2([
33942
+ __decorateClass$3([
33600
33943
  state()
33601
33944
  ], NLDDProgressBar.prototype, "_segmentIndicators", 2);
33602
- __decorateClass$2([
33945
+ __decorateClass$3([
33603
33946
  state()
33604
33947
  ], NLDDProgressBar.prototype, "_indeterminateExiting", 2);
33605
- __decorateClass$2([
33948
+ __decorateClass$3([
33606
33949
  state()
33607
33950
  ], NLDDProgressBar.prototype, "_indeterminateEntering", 2);
33608
- NLDDProgressBar = __decorateClass$2([
33951
+ NLDDProgressBar = __decorateClass$3([
33609
33952
  customElement("nldd-progress-bar")
33610
33953
  ], NLDDProgressBar);
33611
33954
  const progressCircleStyles = css`
@@ -33994,14 +34337,14 @@ const nlddProgressCircleTranslations = {
33994
34337
  "components.progress-circle.loading-text": "Aan het laden",
33995
34338
  "components.progress-circle.label-text": "Voortgang"
33996
34339
  };
33997
- var __defProp$1 = Object.defineProperty;
33998
- var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
33999
- var __decorateClass$1 = (decorators, target, key, kind) => {
34000
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
34340
+ var __defProp$2 = Object.defineProperty;
34341
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
34342
+ var __decorateClass$2 = (decorators, target, key, kind) => {
34343
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
34001
34344
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34002
34345
  if (decorator = decorators[i])
34003
34346
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
34004
- if (kind && result) __defProp$1(target, key, result);
34347
+ if (kind && result) __defProp$2(target, key, result);
34005
34348
  return result;
34006
34349
  };
34007
34350
  const INDETERMINATE_TRANSITION_MS = 300;
@@ -34017,16 +34360,16 @@ let NLDDProgressCircleSegmentIndicator = class extends LitElement {
34017
34360
  }
34018
34361
  };
34019
34362
  NLDDProgressCircleSegmentIndicator.styles = progressCircleSegmentIndicatorStyles;
34020
- __decorateClass$1([
34363
+ __decorateClass$2([
34021
34364
  property({ type: Number, reflect: true })
34022
34365
  ], NLDDProgressCircleSegmentIndicator.prototype, "value", 2);
34023
- __decorateClass$1([
34366
+ __decorateClass$2([
34024
34367
  property({ type: String, reflect: true })
34025
34368
  ], NLDDProgressCircleSegmentIndicator.prototype, "color", 2);
34026
- __decorateClass$1([
34369
+ __decorateClass$2([
34027
34370
  property({ type: String, reflect: true })
34028
34371
  ], NLDDProgressCircleSegmentIndicator.prototype, "name", 2);
34029
- NLDDProgressCircleSegmentIndicator = __decorateClass$1([
34372
+ NLDDProgressCircleSegmentIndicator = __decorateClass$2([
34030
34373
  customElement("nldd-progress-circle-segment-indicator")
34031
34374
  ], NLDDProgressCircleSegmentIndicator);
34032
34375
  let NLDDProgressCircle = class extends LitElement {
@@ -34288,55 +34631,55 @@ let NLDDProgressCircle = class extends LitElement {
34288
34631
  };
34289
34632
  NLDDProgressCircle.styles = progressCircleStyles;
34290
34633
  NLDDProgressCircle._idCounter = 0;
34291
- __decorateClass$1([
34634
+ __decorateClass$2([
34292
34635
  property({ type: String, reflect: true })
34293
34636
  ], NLDDProgressCircle.prototype, "mode", 2);
34294
- __decorateClass$1([
34637
+ __decorateClass$2([
34295
34638
  property({ type: Number, reflect: true })
34296
34639
  ], NLDDProgressCircle.prototype, "max", 2);
34297
- __decorateClass$1([
34640
+ __decorateClass$2([
34298
34641
  property({ type: Number, reflect: true })
34299
34642
  ], NLDDProgressCircle.prototype, "value", 2);
34300
- __decorateClass$1([
34643
+ __decorateClass$2([
34301
34644
  property({ type: String, reflect: true })
34302
34645
  ], NLDDProgressCircle.prototype, "color", 2);
34303
- __decorateClass$1([
34646
+ __decorateClass$2([
34304
34647
  property({ type: String, reflect: true })
34305
34648
  ], NLDDProgressCircle.prototype, "size", 2);
34306
- __decorateClass$1([
34649
+ __decorateClass$2([
34307
34650
  property({ type: String, reflect: true })
34308
34651
  ], NLDDProgressCircle.prototype, "text", 2);
34309
- __decorateClass$1([
34652
+ __decorateClass$2([
34310
34653
  property({ type: String, reflect: true, attribute: "value-format" })
34311
34654
  ], NLDDProgressCircle.prototype, "valueFormat", 2);
34312
- __decorateClass$1([
34655
+ __decorateClass$2([
34313
34656
  property({ type: String, reflect: true, attribute: "value-text" })
34314
34657
  ], NLDDProgressCircle.prototype, "valueText", 2);
34315
- __decorateClass$1([
34658
+ __decorateClass$2([
34316
34659
  property({ type: String, reflect: true, attribute: "value-display" })
34317
34660
  ], NLDDProgressCircle.prototype, "valueDisplay", 2);
34318
- __decorateClass$1([
34661
+ __decorateClass$2([
34319
34662
  property({ type: String, reflect: true, attribute: "accessible-label" })
34320
34663
  ], NLDDProgressCircle.prototype, "accessibleLabel", 2);
34321
- __decorateClass$1([
34664
+ __decorateClass$2([
34322
34665
  property({ type: Boolean, reflect: true })
34323
34666
  ], NLDDProgressCircle.prototype, "indeterminate", 2);
34324
- __decorateClass$1([
34667
+ __decorateClass$2([
34325
34668
  property({ type: Object })
34326
34669
  ], NLDDProgressCircle.prototype, "translations", 2);
34327
- __decorateClass$1([
34670
+ __decorateClass$2([
34328
34671
  state()
34329
34672
  ], NLDDProgressCircle.prototype, "_segmentIndicators", 2);
34330
- __decorateClass$1([
34673
+ __decorateClass$2([
34331
34674
  state()
34332
34675
  ], NLDDProgressCircle.prototype, "_indeterminateExiting", 2);
34333
- __decorateClass$1([
34676
+ __decorateClass$2([
34334
34677
  state()
34335
34678
  ], NLDDProgressCircle.prototype, "_indeterminateEntering", 2);
34336
- __decorateClass$1([
34679
+ __decorateClass$2([
34337
34680
  state()
34338
34681
  ], NLDDProgressCircle.prototype, "_arcsAtZero", 2);
34339
- NLDDProgressCircle = __decorateClass$1([
34682
+ NLDDProgressCircle = __decorateClass$2([
34340
34683
  customElement("nldd-progress-circle")
34341
34684
  ], NLDDProgressCircle);
34342
34685
  const statusBarStyles = css`
@@ -34508,27 +34851,29 @@ function statusBarTemplate(component) {
34508
34851
  }
34509
34852
  return html`<div class="status-bar">${content}</div>`;
34510
34853
  }
34511
- var __defProp = Object.defineProperty;
34512
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
34513
- var __decorateClass = (decorators, target, key, kind) => {
34514
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
34854
+ var __defProp$1 = Object.defineProperty;
34855
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
34856
+ var __decorateClass$1 = (decorators, target, key, kind) => {
34857
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
34515
34858
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34516
34859
  if (decorator = decorators[i])
34517
34860
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
34518
- if (kind && result) __defProp(target, key, result);
34861
+ if (kind && result) __defProp$1(target, key, result);
34519
34862
  return result;
34520
34863
  };
34521
34864
  let NLDDStatusBar = class extends LitElement {
34522
34865
  constructor() {
34523
- super();
34866
+ super(...arguments);
34524
34867
  this.variant = "neutral";
34525
34868
  this.text = "";
34526
34869
  this.href = "";
34527
34870
  this.target = "";
34528
34871
  this.rel = "";
34529
34872
  this.button = false;
34530
- const initialVariant = this.getAttribute("variant");
34531
- this._applyAriaForVariant(initialVariant ?? "neutral");
34873
+ }
34874
+ connectedCallback() {
34875
+ super.connectedCallback();
34876
+ this._applyAriaForVariant(this.variant);
34532
34877
  }
34533
34878
  /** @internal Auto-secure rel for new-tab links unless the consumer set one. */
34534
34879
  _resolvedRel() {
@@ -34553,29 +34898,790 @@ let NLDDStatusBar = class extends LitElement {
34553
34898
  }
34554
34899
  };
34555
34900
  NLDDStatusBar.styles = statusBarStyles;
34556
- __decorateClass([
34901
+ __decorateClass$1([
34557
34902
  property({ type: String, reflect: true })
34558
34903
  ], NLDDStatusBar.prototype, "variant", 2);
34559
- __decorateClass([
34904
+ __decorateClass$1([
34560
34905
  property({ type: String })
34561
34906
  ], NLDDStatusBar.prototype, "text", 2);
34562
- __decorateClass([
34907
+ __decorateClass$1([
34563
34908
  property({ type: String })
34564
34909
  ], NLDDStatusBar.prototype, "href", 2);
34565
- __decorateClass([
34910
+ __decorateClass$1([
34566
34911
  property({ type: String })
34567
34912
  ], NLDDStatusBar.prototype, "target", 2);
34568
- __decorateClass([
34913
+ __decorateClass$1([
34569
34914
  property({ type: String })
34570
34915
  ], NLDDStatusBar.prototype, "rel", 2);
34571
- __decorateClass([
34916
+ __decorateClass$1([
34572
34917
  property({ type: Boolean, reflect: true })
34573
34918
  ], NLDDStatusBar.prototype, "button", 2);
34574
- NLDDStatusBar = __decorateClass([
34919
+ NLDDStatusBar = __decorateClass$1([
34575
34920
  customElement("nldd-status-bar")
34576
34921
  ], NLDDStatusBar);
34922
+ const justInTimeEducationStyles = css`
34923
+
34924
+
34925
+ /* # Host */
34926
+
34927
+ :host {
34928
+ --_arrow-length: var(--primitives-space-64); /* JS overrides this with the arrow-length attribute when valid */
34929
+ --_desired-arrow-length: max(var(--primitives-space-40), var(--_arrow-length));
34930
+ --_no-arrow-gap: var(--primitives-space-16);
34931
+ --_gap: min(var(--_desired-arrow-length), var(--_available-distance));
34932
+ --_available-distance: 9999px; /* JS sets the px distance to the viewport/document edge; default = no clamp */
34933
+ --_background-blur: var(--primitives-space-8);
34934
+ --_background-z-index: -1;
34935
+ --_corner-radius: var(--primitives-space-40);
34936
+ --_text-width: var(--primitives-area-320);
34937
+ --_min-text-width: var(--primitives-area-200);
34938
+ --_dismiss-width: var(--semantics-controls-md-min-size);
34939
+ --_main-width: var(--_text-width);
34940
+ --_max-width: var(--_main-width);
34941
+ --_show-duration: var(--primitives-transition-duration-fast);
34942
+ --_hide-duration: var(--primitives-transition-duration-medium);
34943
+ --_offset: 0; /* px, unitless — read by JS */
34944
+ --_shift-padding: 8; /* px, unitless — read by JS */
34945
+ --_main-padding: var(--primitives-space-16);
34946
+ --_main-background-color: color-mix(in srgb, var(--semantics-surfaces-base-background-color) 90%, transparent);
34947
+ --_text-color: var(--semantics-content-color);
34948
+ --_text-font: var(--primitives-font-body-lg-bold-tight);
34949
+ --_supporting-text-color: var(--semantics-content-color);
34950
+ --_supporting-text-font: var(--primitives-font-body-md-regular-tight);
34951
+ --_arrow-color: var(--semantics-content-color);
34952
+
34953
+ ${inheritedTextReset}
34954
+ display: contents;
34955
+ }
34956
+
34957
+ :host([hidden]) {
34958
+ display: none;
34959
+ }
34960
+
34961
+ /* no-arrow (consumer) or the auto-collapsed state (JS sets it when the gap would
34962
+ * fall below its minimum): drop to a small fixed gap, with no arrow drawn. */
34963
+ :host([no-arrow]),
34964
+ :host([data-arrow-collapsed]) {
34965
+ --_gap: var(--_no-arrow-gap);
34966
+ }
34967
+
34968
+ /* Horizontal placement: the arrow gap is horizontal here (unlike vertical), so
34969
+ * the container is the main plus the arrow length. (Vertical keeps the base
34970
+ * --_max-width = --_main-width.) */
34971
+ :host([data-arrow-side="left"]),
34972
+ :host([data-arrow-side="right"]) {
34973
+ --_max-width: calc(var(--_main-width) + var(--_desired-arrow-length));
34974
+ }
34975
+
34976
+ /* The dismiss button widens the main — it sits beside the text — for horizontal
34977
+ * placement only; vertical stacks it below. --_max-width follows via --_main-width. */
34978
+ :host([dismissable][data-arrow-side="left"]),
34979
+ :host([dismissable][data-arrow-side="right"]) {
34980
+ --_main-width: calc(var(--_text-width) + var(--_dismiss-width));
34981
+ }
34982
+
34983
+ /* Horizontal placement near a viewport edge: --_available-distance (JS) is the
34984
+ * distance to that edge. Reserve the main's width (--_main-width) so the arrow
34985
+ * gap absorbs the first shrink and falls to 0; the container cap then narrows
34986
+ * the main itself. Skipped for no-arrow, which keeps its fixed gap. */
34987
+ :host(:not([no-arrow]):not([data-arrow-collapsed])[data-arrow-side="left"]),
34988
+ :host(:not([no-arrow]):not([data-arrow-collapsed])[data-arrow-side="right"]) {
34989
+ --_gap: clamp(0px, var(--_desired-arrow-length), calc(var(--_available-distance) - var(--_main-width)));
34990
+ }
34991
+
34992
+
34993
+ /* # Container */
34994
+
34995
+ /* Transparent top-layer wrapper. It carries the arrow gap as padding on the
34996
+ * side facing the control (so the arrow lives INSIDE the box and is never
34997
+ * clipped); the other sides keep a small margin for the blurred background.
34998
+ * pointer-events are off so clicks on the empty padding fall through to the
34999
+ * page (counted as "outside"). The whole thing fades as one on open/close;
35000
+ * the base rule holds the (slower) hide timing, :popover-open the show. */
35001
+ .just-in-time-education {
35002
+ box-sizing: border-box;
35003
+ position: fixed;
35004
+ opacity: 0;
35005
+ margin: 0;
35006
+ border: none;
35007
+ background: none;
35008
+ width: max-content;
35009
+ max-width: var(--_max-width);
35010
+ padding: var(--_background-blur);
35011
+ pointer-events: none;
35012
+ overflow: visible;
35013
+ transition:
35014
+ opacity var(--_hide-duration) ease,
35015
+ display var(--_hide-duration) allow-discrete,
35016
+ overlay var(--_hide-duration) allow-discrete;
35017
+ /* Force a GPU layer so Safari paints the freshly-opened top-layer popover
35018
+ * (blurred background + SVG arrow) correctly instead of leaving it stale
35019
+ * until a manual resize. */
35020
+ transform: translate3d(0, 0, 0);
35021
+ }
35022
+
35023
+ /* Horizontal placement: never exceed the room to the viewport edge. Once the
35024
+ * arrow gap has shrunk to 0, this is what makes the main itself narrower. */
35025
+ :host([data-arrow-side="left"]) .just-in-time-education,
35026
+ :host([data-arrow-side="right"]) .just-in-time-education {
35027
+ max-width: min(var(--_max-width), var(--_available-distance));
35028
+ }
35029
+
35030
+
35031
+ /* ## Arrow-side padding (only the side facing the control needs the gap) */
35032
+
35033
+ :host([data-arrow-side="bottom"]) .just-in-time-education {
35034
+ padding-block-start: var(--_gap);
35035
+ }
35036
+
35037
+ :host([data-arrow-side="top"]) .just-in-time-education {
35038
+ padding-block-end: var(--_gap);
35039
+ }
35040
+
35041
+ :host([data-arrow-side="left"]) .just-in-time-education {
35042
+ padding-inline-end: var(--_gap);
35043
+ }
35044
+
35045
+ :host([data-arrow-side="right"]) .just-in-time-education {
35046
+ padding-inline-start: var(--_gap);
35047
+ }
35048
+
35049
+
35050
+ /* ## Fade */
35051
+
35052
+ .just-in-time-education:popover-open {
35053
+ opacity: 1;
35054
+ transition:
35055
+ opacity var(--_show-duration) ease,
35056
+ display var(--_show-duration) allow-discrete,
35057
+ overlay var(--_show-duration) allow-discrete;
35058
+ }
35059
+
35060
+ @starting-style {
35061
+ .just-in-time-education:popover-open {
35062
+ opacity: 0;
35063
+ }
35064
+ }
35065
+
35066
+ @media (prefers-reduced-motion: reduce) {
35067
+ .just-in-time-education {
35068
+ transition: none;
35069
+ }
35070
+ }
35071
+
35072
+
35073
+ /* # Main */
35074
+
35075
+ .just-in-time-education__main {
35076
+ box-sizing: border-box;
35077
+ position: relative;
35078
+ isolation: isolate;
35079
+ pointer-events: auto;
35080
+ padding: var(--_main-padding);
35081
+ display: flex;
35082
+ flex-direction: column;
35083
+ align-items: center;
35084
+ }
35085
+
35086
+ /* The dismiss sits on the side away from the arrow: below the text for bottom,
35087
+ * above it for top, beside it (on the placement's own side) for left/right —
35088
+ * so the text always leans toward the control. */
35089
+ :host([data-arrow-side="top"]) .just-in-time-education__main {
35090
+ flex-direction: column-reverse;
35091
+ }
35092
+
35093
+ :host([data-arrow-side="left"]) .just-in-time-education__main {
35094
+ flex-direction: row-reverse;
35095
+ align-items: center;
35096
+ }
35097
+
35098
+ :host([data-arrow-side="right"]) .just-in-time-education__main {
35099
+ flex-direction: row;
35100
+ align-items: center;
35101
+ }
35102
+
35103
+ /* Horizontal placement floor: as the room narrows the main (after the arrow
35104
+ * has collapsed), keep it usable at this minimum — the card overflows the
35105
+ * viewport edge rather than shrinking further. */
35106
+ :host([data-arrow-side="left"]) .just-in-time-education__main,
35107
+ :host([data-arrow-side="right"]) .just-in-time-education__main {
35108
+ min-width: var(--_min-text-width);
35109
+ }
35110
+
35111
+ /* ...plus the dismiss button when dismissable: it sits beside the text, so the
35112
+ * text keeps its 200px floor with the button next to it. */
35113
+ :host([dismissable][data-arrow-side="left"]) .just-in-time-education__main,
35114
+ :host([dismissable][data-arrow-side="right"]) .just-in-time-education__main {
35115
+ min-width: calc(var(--_min-text-width) + var(--_dismiss-width));
35116
+ }
35117
+
35118
+ /* Background lives on a blurred pseudo-element so its edges fade softly (no
35119
+ * hard border, no drop shadow). The radius is a local, free value because
35120
+ * this surface has a different function than the standard surfaces. The
35121
+ * element is grown by the blur radius so the solid centre still covers the
35122
+ * content after blurring. */
35123
+ .just-in-time-education__main::before {
35124
+ content: '';
35125
+ position: absolute;
35126
+ z-index: var(--_background-z-index);
35127
+ inset: calc(-1 * var(--_background-blur));
35128
+ border-radius: var(--_corner-radius);
35129
+ background-color: var(--_main-background-color);
35130
+ filter: blur(var(--_background-blur));
35131
+ transform: translate3d(0, 0, 0);
35132
+ }
35133
+
35134
+
35135
+ /* ## Text */
35136
+
35137
+ .just-in-time-education__text-area {
35138
+ display: flex;
35139
+ flex-direction: column;
35140
+ text-align: center;
35141
+ }
35142
+
35143
+ :host([data-arrow-side="left"]) .just-in-time-education__text-area {
35144
+ text-align: right;
35145
+ }
35146
+
35147
+ :host([data-arrow-side="right"]) .just-in-time-education__text-area {
35148
+ text-align: left;
35149
+ }
35150
+
35151
+ .just-in-time-education__text {
35152
+ margin: 0;
35153
+ color: var(--_text-color);
35154
+ font: var(--_text-font);
35155
+ font-style: italic;
35156
+ text-wrap: pretty;
35157
+ }
35158
+
35159
+ .just-in-time-education__supporting-text {
35160
+ margin: 0;
35161
+ color: var(--_supporting-text-color);
35162
+ font: var(--_supporting-text-font);
35163
+ font-style: italic;
35164
+ text-wrap: pretty;
35165
+ }
35166
+
35167
+
35168
+ /* ## Dismiss button */
35169
+
35170
+ .just-in-time-education__dismiss-button {
35171
+ display: flex;
35172
+ }
35173
+
35174
+
35175
+ /* # Arrow */
35176
+
35177
+ .just-in-time-education__arrow {
35178
+ position: absolute;
35179
+ pointer-events: none;
35180
+ overflow: visible;
35181
+ color: var(--_arrow-color);
35182
+ transform: translate3d(0, 0, 0);
35183
+ }
35184
+
35185
+ /* Auto-collapsed (gap below its minimum near an edge): hide the arrow; the gap
35186
+ * has already dropped to the small no-arrow value. */
35187
+ :host([data-arrow-collapsed]) .just-in-time-education__arrow {
35188
+ display: none;
35189
+ }
35190
+
35191
+ .just-in-time-education__arrow-path {
35192
+ fill: none;
35193
+ stroke: currentColor;
35194
+ stroke-width: 2;
35195
+ stroke-linecap: butt;
35196
+ stroke-dasharray: 5 3;
35197
+ }
35198
+
35199
+ .just-in-time-education__arrow-head {
35200
+ fill: currentColor;
35201
+ }
35202
+
35203
+
35204
+ /* # Live-region announcer */
35205
+
35206
+ /* Visually hidden but present in the a11y tree, so the polite announcement set
35207
+ * on open reaches assistive tech without moving focus into the callout. */
35208
+ .just-in-time-education__announcer {
35209
+ position: absolute;
35210
+ margin: -1px;
35211
+ border: 0;
35212
+ width: 1px;
35213
+ height: 1px;
35214
+ overflow: hidden;
35215
+ padding: 0;
35216
+ white-space: nowrap;
35217
+ clip-path: inset(50%);
35218
+ }
35219
+ `;
35220
+ function justInTimeEducationTemplate(component) {
35221
+ return html`
35222
+ <slot
35223
+ @slotchange=${component._handleSlotChange}
35224
+ @focusin=${component._handleAdvisedInteraction}
35225
+ @pointerdown=${component._handleAdvisedInteraction}
35226
+ ></slot>
35227
+ <div class="just-in-time-education__announcer"
35228
+ aria-live="polite"
35229
+ aria-atomic="true"
35230
+ ></div>
35231
+ <div class="just-in-time-education"
35232
+ popover="manual"
35233
+ role=${component.dismissable ? "dialog" : "region"}
35234
+ tabindex=${component.dismissable ? "-1" : nothing}
35235
+ aria-label=${component.text || component._t("components.just-in-time-education.accessible-label")}
35236
+ @keydown=${component._handleCalloutKeydown}
35237
+ >
35238
+ <div class="just-in-time-education__main">
35239
+ <div class="just-in-time-education__text-area">
35240
+ ${component.text ? html`
35241
+ <p class="just-in-time-education__text">
35242
+ ${component.text}
35243
+ </p>
35244
+ ` : nothing}
35245
+ ${component.supportingText ? html`
35246
+ <p class="just-in-time-education__supporting-text">
35247
+ ${component.supportingText}
35248
+ </p>
35249
+ ` : nothing}
35250
+ </div>
35251
+ ${component.dismissable ? html`
35252
+ <div class="just-in-time-education__dismiss-button">
35253
+ <nldd-icon-button
35254
+ icon="dismiss"
35255
+ variant="neutral-transparent"
35256
+ size="md"
35257
+ accessible-label=${component._t("components.just-in-time-education.dismiss-action")}
35258
+ @click=${component._handleDismiss}
35259
+ ></nldd-icon-button>
35260
+ </div>
35261
+ ` : nothing}
35262
+ </div>
35263
+ ${component.noArrow ? nothing : html`
35264
+ <svg class="just-in-time-education__arrow"
35265
+ aria-hidden="true"
35266
+ >
35267
+ <defs>
35268
+ <marker
35269
+ id=${component._arrowMarkerId}
35270
+ markerWidth="10"
35271
+ markerHeight="12"
35272
+ refX="0"
35273
+ refY="5.78"
35274
+ orient="auto"
35275
+ markerUnits="userSpaceOnUse"
35276
+ >
35277
+ <path class="just-in-time-education__arrow-head"
35278
+ d="M0,0 L10,5.78 L0,11.55 Z"
35279
+ ></path>
35280
+ </marker>
35281
+ </defs>
35282
+ <path class="just-in-time-education__arrow-path"
35283
+ marker-end=${`url(#${component._arrowMarkerId})`}
35284
+ ></path>
35285
+ </svg>
35286
+ `}
35287
+ </div>
35288
+ `;
35289
+ }
35290
+ const nlddJustInTimeEducationTranslations = {
35291
+ "components.just-in-time-education.accessible-label": "Uitleg",
35292
+ "components.just-in-time-education.dismiss-action": "Sluit"
35293
+ };
35294
+ var __defProp = Object.defineProperty;
35295
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
35296
+ var __decorateClass = (decorators, target, key, kind) => {
35297
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
35298
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
35299
+ if (decorator = decorators[i])
35300
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
35301
+ if (kind && result) __defProp(target, key, result);
35302
+ return result;
35303
+ };
35304
+ let jiteCounter = 0;
35305
+ let NLDDJustInTimeEducation = class extends withTranslations(LitElement, nlddJustInTimeEducationTranslations) {
35306
+ constructor() {
35307
+ super(...arguments);
35308
+ this.active = false;
35309
+ this.text = "";
35310
+ this.supportingText = "";
35311
+ this.placement = "auto";
35312
+ this.dismissable = false;
35313
+ this.arrowLength = "";
35314
+ this.noArrow = false;
35315
+ this._cleanupAutoUpdate = null;
35316
+ this._attachTimeout = null;
35317
+ this._attributeObserver = null;
35318
+ this._boundDocumentInteraction = (e) => this._handleDocumentInteraction(e);
35319
+ this._resolvedSide = null;
35320
+ this._lastViewportWidth = 0;
35321
+ this._lastViewportHeight = 0;
35322
+ this._arrowMarkerId = `nldd-jite-arrow-${++jiteCounter}`;
35323
+ }
35324
+ updated(changed) {
35325
+ if (changed.has("arrowLength")) {
35326
+ if (this.arrowLength && CSS.supports("width", this.arrowLength)) {
35327
+ this.style.setProperty("--_arrow-length", this.arrowLength);
35328
+ } else {
35329
+ this.style.removeProperty("--_arrow-length");
35330
+ }
35331
+ }
35332
+ if (changed.has("active")) {
35333
+ if (this.active) this._open();
35334
+ else this._closePopover();
35335
+ } else if (this.active && (changed.has("placement") || changed.has("text") || changed.has("supportingText") || changed.has("arrowLength") || changed.has("noArrow"))) {
35336
+ this._resolvedSide = null;
35337
+ const control = this._getControl();
35338
+ const container = this._containerEl;
35339
+ if (control && container) this._updatePosition(control, container);
35340
+ }
35341
+ }
35342
+ get _containerEl() {
35343
+ return this.shadowRoot?.querySelector(".just-in-time-education") ?? null;
35344
+ }
35345
+ get _cardEl() {
35346
+ return this.shadowRoot?.querySelector(".just-in-time-education__main") ?? null;
35347
+ }
35348
+ get _announcerEl() {
35349
+ return this.shadowRoot?.querySelector(".just-in-time-education__announcer") ?? null;
35350
+ }
35351
+ _getControl() {
35352
+ const slot = this.shadowRoot?.querySelector("slot");
35353
+ const assigned = slot?.assignedElements({ flatten: true });
35354
+ return assigned?.[0] ?? null;
35355
+ }
35356
+ _getControls() {
35357
+ const slot = this.shadowRoot?.querySelector("slot");
35358
+ return slot?.assignedElements({ flatten: true }) ?? [];
35359
+ }
35360
+ /** Mirror one host attribute onto the slotted control(s) — or remove it —
35361
+ * unless the component owns that attribute. */
35362
+ _forwardAttribute(name) {
35363
+ if (NLDDJustInTimeEducation._ownAttributes.has(name)) return;
35364
+ const present = this.hasAttribute(name);
35365
+ const value = this.getAttribute(name) ?? "";
35366
+ for (const control of this._getControls()) {
35367
+ if (present) control.setAttribute(name, value);
35368
+ else control.removeAttribute(name);
35369
+ }
35370
+ }
35371
+ /** Forward every non-owned host attribute to the slotted control(s); run on
35372
+ * slotchange so a freshly slotted control catches up with what's already set. */
35373
+ _handleSlotChange() {
35374
+ for (const attr of Array.from(this.attributes)) this._forwardAttribute(attr.name);
35375
+ }
35376
+ _open() {
35377
+ const container = this._containerEl;
35378
+ if (!container) return;
35379
+ if (!container.matches(":popover-open")) container.showPopover();
35380
+ this._startPositioning();
35381
+ const announcer = this._announcerEl;
35382
+ if (announcer) announcer.textContent = [this.text, this.supportingText].filter(Boolean).join(". ");
35383
+ if (!this.dismissable) return;
35384
+ container.focus();
35385
+ if (this._attachTimeout) clearTimeout(this._attachTimeout);
35386
+ this._attachTimeout = setTimeout(() => {
35387
+ this._attachTimeout = null;
35388
+ if (!this.active) return;
35389
+ document.addEventListener("click", this._boundDocumentInteraction, true);
35390
+ document.addEventListener("keydown", this._boundDocumentInteraction, true);
35391
+ }, 0);
35392
+ }
35393
+ _closePopover() {
35394
+ const container = this._containerEl;
35395
+ const focusWasInside = container?.matches(":focus-within") ?? false;
35396
+ if (container?.matches(":popover-open")) container.hidePopover();
35397
+ this._stopPositioning();
35398
+ const announcer = this._announcerEl;
35399
+ if (announcer) announcer.textContent = "";
35400
+ if (focusWasInside) this._getControl()?.focus();
35401
+ if (this._attachTimeout) {
35402
+ clearTimeout(this._attachTimeout);
35403
+ this._attachTimeout = null;
35404
+ }
35405
+ document.removeEventListener("click", this._boundDocumentInteraction, true);
35406
+ document.removeEventListener("keydown", this._boundDocumentInteraction, true);
35407
+ }
35408
+ _startPositioning() {
35409
+ const control = this._getControl();
35410
+ const container = this._containerEl;
35411
+ if (!control || !container) return;
35412
+ this._stopPositioning();
35413
+ this._cleanupAutoUpdate = autoUpdate(control, container, () => this._updatePosition(control, container));
35414
+ }
35415
+ _stopPositioning() {
35416
+ this._cleanupAutoUpdate?.();
35417
+ this._cleanupAutoUpdate = null;
35418
+ this._resolvedSide = null;
35419
+ }
35420
+ async _updatePosition(control, container) {
35421
+ const styles = getComputedStyle(this);
35422
+ const off = parseInt(styles.getPropertyValue("--_offset"), 10);
35423
+ const pad = parseInt(styles.getPropertyValue("--_shift-padding"), 10);
35424
+ const viewportWidth = window.innerWidth;
35425
+ const viewportHeight = window.innerHeight;
35426
+ if (this._resolvedSide === null || viewportWidth !== this._lastViewportWidth || viewportHeight !== this._lastViewportHeight) {
35427
+ this._resolvedSide = this._chooseSide(control);
35428
+ this._lastViewportWidth = viewportWidth;
35429
+ this._lastViewportHeight = viewportHeight;
35430
+ }
35431
+ const side = this._resolvedSide;
35432
+ if (this.getAttribute("data-arrow-side") !== side) this.setAttribute("data-arrow-side", side);
35433
+ const cardHeight = this._cardEl?.getBoundingClientRect().height ?? 0;
35434
+ const controlRect = control.getBoundingClientRect();
35435
+ let availableDistance = "9999px";
35436
+ if (side === "top") {
35437
+ availableDistance = `${Math.max(0, controlRect.top + window.scrollY - cardHeight)}px`;
35438
+ } else if (side === "bottom") {
35439
+ availableDistance = `${Math.max(0, document.documentElement.scrollHeight - (controlRect.bottom + window.scrollY) - cardHeight)}px`;
35440
+ } else if (side === "left") {
35441
+ availableDistance = `${Math.max(0, controlRect.left)}px`;
35442
+ } else if (side === "right") {
35443
+ availableDistance = `${Math.max(0, window.innerWidth - controlRect.right)}px`;
35444
+ }
35445
+ this.style.setProperty("--_available-distance", availableDistance);
35446
+ const isVertical = side === "top" || side === "bottom";
35447
+ const minArrow = parseFloat(styles.getPropertyValue("--primitives-space-40")) || 40;
35448
+ let gapRoom = parseFloat(availableDistance);
35449
+ if (!isVertical) {
35450
+ const mainReserve = (parseFloat(styles.getPropertyValue("--_text-width")) || 320) + (this.dismissable ? parseFloat(styles.getPropertyValue("--_dismiss-width")) || 44 : 0);
35451
+ gapRoom -= mainReserve;
35452
+ }
35453
+ const collapsed = !this.noArrow && gapRoom < minArrow;
35454
+ this.toggleAttribute("data-arrow-collapsed", collapsed);
35455
+ const { x, y } = await computePosition(control, container, {
35456
+ placement: side,
35457
+ strategy: "fixed",
35458
+ middleware: isVertical ? [offset(off), shift({ padding: pad })] : [offset(off)]
35459
+ });
35460
+ container.style.left = `${x}px`;
35461
+ container.style.top = `${y}px`;
35462
+ this._updateArrow(control, container, side);
35463
+ }
35464
+ // Picks the side the callout sits on from the room around the control:
35465
+ // horizontally against the viewport edges, vertically against the full
35466
+ // document, so scrolling never changes the outcome (only a resize does). A
35467
+ // fixed placement is honoured exactly; only 'auto' weighs the room and takes
35468
+ // the side with the most of it (ties fall to 'bottom', the conventional spot).
35469
+ _chooseSide(control) {
35470
+ if (this.placement !== "auto") return this.placement;
35471
+ const rect = control.getBoundingClientRect();
35472
+ const documentHeight = document.documentElement.scrollHeight;
35473
+ const room = {
35474
+ top: rect.top + window.scrollY,
35475
+ bottom: documentHeight - (rect.bottom + window.scrollY),
35476
+ left: rect.left,
35477
+ right: window.innerWidth - rect.right
35478
+ };
35479
+ let side = "bottom";
35480
+ for (const candidate of ["top", "bottom", "left", "right"]) {
35481
+ if (room[candidate] > room[side]) side = candidate;
35482
+ }
35483
+ return side;
35484
+ }
35485
+ // Draws a flowing cubic from the card edge to the control edge, inside the
35486
+ // transparent (padded) container so it is never clipped. Runs on every
35487
+ // reposition (autoUpdate) so the curve re-routes as things move.
35488
+ _updateArrow(control, container, placement) {
35489
+ const svg2 = this.shadowRoot?.querySelector(".just-in-time-education__arrow");
35490
+ const path = this.shadowRoot?.querySelector(".just-in-time-education__arrow-path");
35491
+ const card = this._cardEl;
35492
+ if (!svg2 || !path || !card) return;
35493
+ if (this.hasAttribute("data-arrow-collapsed")) return;
35494
+ const containerRect = container.getBoundingClientRect();
35495
+ const cardRect = card.getBoundingClientRect();
35496
+ const controlRect = control.getBoundingClientRect();
35497
+ const cardCenterX = cardRect.left + cardRect.width / 2;
35498
+ const cardCenterY = cardRect.top + cardRect.height / 2;
35499
+ const controlCenterX = controlRect.left + controlRect.width / 2;
35500
+ const controlCenterY = controlRect.top + controlRect.height / 2;
35501
+ const side = placement.split("-")[0];
35502
+ const tipGap = 6;
35503
+ const arrowLen = 10;
35504
+ let sx, sy, tipX, tipY, dirX, dirY;
35505
+ if (side === "top") {
35506
+ sx = cardCenterX;
35507
+ sy = cardRect.bottom;
35508
+ tipX = controlCenterX;
35509
+ tipY = controlRect.top - tipGap;
35510
+ dirX = 0;
35511
+ dirY = 1;
35512
+ } else if (side === "bottom") {
35513
+ sx = cardCenterX;
35514
+ sy = cardRect.top;
35515
+ tipX = controlCenterX;
35516
+ tipY = controlRect.bottom + tipGap;
35517
+ dirX = 0;
35518
+ dirY = -1;
35519
+ } else if (side === "left") {
35520
+ sx = cardRect.right;
35521
+ sy = cardCenterY;
35522
+ tipX = controlRect.left - tipGap;
35523
+ tipY = controlCenterY;
35524
+ dirX = 1;
35525
+ dirY = 0;
35526
+ } else {
35527
+ sx = cardRect.left;
35528
+ sy = cardCenterY;
35529
+ tipX = controlRect.right + tipGap;
35530
+ tipY = controlCenterY;
35531
+ dirX = -1;
35532
+ dirY = 0;
35533
+ }
35534
+ const ex = tipX - arrowLen * dirX;
35535
+ const ey = tipY - arrowLen * dirY;
35536
+ const k = 0.25;
35537
+ const dx = ex - sx;
35538
+ const dy = ey - sy;
35539
+ const vertical = side === "top" || side === "bottom";
35540
+ const bulge = Math.min(Math.hypot(dx, dy) * 0.18, 9);
35541
+ const mx = (sx + ex) / 2 + (vertical ? bulge : 0);
35542
+ const my = (sy + ey) / 2 + (vertical ? 0 : bulge);
35543
+ let c1x, c1y, c2x, c2y;
35544
+ let c3x, c3y, c4x, c4y;
35545
+ if (vertical) {
35546
+ c1x = sx;
35547
+ c1y = sy + dy * k;
35548
+ c2x = mx;
35549
+ c2y = my - dy * k;
35550
+ c3x = mx;
35551
+ c3y = my + dy * k;
35552
+ c4x = ex;
35553
+ c4y = ey - dy * k;
35554
+ } else {
35555
+ c1x = sx + dx * k;
35556
+ c1y = sy;
35557
+ c2x = mx - dx * k;
35558
+ c2y = my;
35559
+ c3x = mx + dx * k;
35560
+ c3y = my;
35561
+ c4x = ex - dx * k;
35562
+ c4y = ey;
35563
+ }
35564
+ const margin = 4;
35565
+ const xs = [sx, mx, ex, tipX, c1x, c2x, c3x, c4x];
35566
+ const ys = [sy, my, ey, tipY, c1y, c2y, c3y, c4y];
35567
+ const minX = Math.min(...xs) - margin;
35568
+ const minY = Math.min(...ys) - margin;
35569
+ const width = Math.max(...xs) + margin - minX;
35570
+ const height = Math.max(...ys) + margin - minY;
35571
+ svg2.style.left = `${minX - containerRect.left}px`;
35572
+ svg2.style.top = `${minY - containerRect.top}px`;
35573
+ svg2.setAttribute("width", `${width}`);
35574
+ svg2.setAttribute("height", `${height}`);
35575
+ svg2.setAttribute("viewBox", `0 0 ${width} ${height}`);
35576
+ path.setAttribute(
35577
+ "d",
35578
+ `M ${sx - minX} ${sy - minY} C ${c1x - minX} ${c1y - minY}, ${c2x - minX} ${c2y - minY}, ${mx - minX} ${my - minY} C ${c3x - minX} ${c3y - minY}, ${c4x - minX} ${c4y - minY}, ${ex - minX} ${ey - minY}`
35579
+ );
35580
+ }
35581
+ /** Route 1: the advised interaction on the slotted control (only when
35582
+ * dismissable; otherwise the consumer drives completion via complete()).
35583
+ * A mouse click fires pointerdown then focusin, both landing here; the
35584
+ * !this.active guard makes the second call a no-op so 'completed' fires once. */
35585
+ _handleAdvisedInteraction() {
35586
+ if (!this.active || !this.dismissable) return;
35587
+ this._close("completed");
35588
+ }
35589
+ /** Route 2: a click/keystroke outside the coach-mark (only when dismissable). */
35590
+ _handleDocumentInteraction(e) {
35591
+ if (!this.active || !this.dismissable) return;
35592
+ if (e.composedPath().includes(this)) return;
35593
+ this._close("ignored");
35594
+ }
35595
+ /** Route 3: the dismiss button. */
35596
+ _handleDismiss() {
35597
+ this._close("dismissed");
35598
+ }
35599
+ /** Escape while focus is inside the callout dismisses it (the ARIA non-modal
35600
+ * dialog expectation). The document capture listener (route 2) treats inside
35601
+ * events as not-outside and bails, so Escape is handled here. stopPropagation
35602
+ * keeps it from also closing an ancestor (e.g. a modal the coach-mark sits in). */
35603
+ _handleCalloutKeydown(e) {
35604
+ if (e.key !== "Escape" || !this.dismissable) return;
35605
+ e.stopPropagation();
35606
+ this._handleDismiss();
35607
+ }
35608
+ /** Programmatically mark the advised interaction as done (success close). */
35609
+ complete() {
35610
+ if (this.active) this._close("completed");
35611
+ }
35612
+ _close(reason) {
35613
+ this.active = false;
35614
+ this.dispatchEvent(new CustomEvent("nldd-close", {
35615
+ detail: { reason },
35616
+ bubbles: true,
35617
+ composed: true
35618
+ }));
35619
+ }
35620
+ connectedCallback() {
35621
+ super.connectedCallback();
35622
+ if (!this._attributeObserver) {
35623
+ this._attributeObserver = new MutationObserver((records) => {
35624
+ for (const record of records) {
35625
+ if (record.attributeName) this._forwardAttribute(record.attributeName);
35626
+ }
35627
+ });
35628
+ }
35629
+ this._attributeObserver.observe(this, { attributes: true });
35630
+ }
35631
+ disconnectedCallback() {
35632
+ super.disconnectedCallback();
35633
+ this._closePopover();
35634
+ this._attributeObserver?.disconnect();
35635
+ }
35636
+ render() {
35637
+ return justInTimeEducationTemplate(this);
35638
+ }
35639
+ };
35640
+ NLDDJustInTimeEducation.styles = justInTimeEducationStyles;
35641
+ NLDDJustInTimeEducation._ownAttributes = /* @__PURE__ */ new Set([
35642
+ "active",
35643
+ "text",
35644
+ "supporting-text",
35645
+ "placement",
35646
+ "dismissable",
35647
+ "arrow-length",
35648
+ "no-arrow",
35649
+ "translations",
35650
+ "data-arrow-side",
35651
+ "data-arrow-collapsed",
35652
+ "style",
35653
+ "class",
35654
+ "id",
35655
+ "role",
35656
+ "slot",
35657
+ "hidden"
35658
+ ]);
35659
+ __decorateClass([
35660
+ property({ type: Boolean, reflect: true })
35661
+ ], NLDDJustInTimeEducation.prototype, "active", 2);
35662
+ __decorateClass([
35663
+ property({ type: String, reflect: true })
35664
+ ], NLDDJustInTimeEducation.prototype, "text", 2);
35665
+ __decorateClass([
35666
+ property({ type: String, reflect: true, attribute: "supporting-text" })
35667
+ ], NLDDJustInTimeEducation.prototype, "supportingText", 2);
35668
+ __decorateClass([
35669
+ property({ type: String, reflect: true })
35670
+ ], NLDDJustInTimeEducation.prototype, "placement", 2);
35671
+ __decorateClass([
35672
+ property({ type: Boolean, reflect: true })
35673
+ ], NLDDJustInTimeEducation.prototype, "dismissable", 2);
35674
+ __decorateClass([
35675
+ property({ type: String, reflect: true, attribute: "arrow-length" })
35676
+ ], NLDDJustInTimeEducation.prototype, "arrowLength", 2);
35677
+ __decorateClass([
35678
+ property({ type: Boolean, reflect: true, attribute: "no-arrow" })
35679
+ ], NLDDJustInTimeEducation.prototype, "noArrow", 2);
35680
+ NLDDJustInTimeEducation = __decorateClass([
35681
+ customElement("nldd-just-in-time-education")
35682
+ ], NLDDJustInTimeEducation);
34577
35683
  export {
34578
- NLDDPageFooter as $,
35684
+ NLDDPage as $,
34579
35685
  NLDDDropdown as A,
34580
35686
  NLDDForm as B,
34581
35687
  NLDDFormActions as C,
@@ -34588,68 +35694,69 @@ export {
34588
35694
  NLDDIconCell as J,
34589
35695
  NLDDImage as K,
34590
35696
  NLDDInlineDialog as L,
34591
- NLDDKeyboardShortcut as M,
35697
+ NLDDJustInTimeEducation as M,
34592
35698
  NLDDActivityIndicator as N,
34593
- NLDDLink as O,
34594
- NLDDList as P,
34595
- NLDDListItem as Q,
34596
- NLDDMenu as R,
34597
- NLDDMenuBar as S,
34598
- NLDDMenuBarItem as T,
34599
- NLDDModalDialog as U,
34600
- NLDDMultiLineTextField as V,
34601
- NLDDNavigationSplitView as W,
34602
- NLDDNumberField as X,
34603
- NLDDOneHalfOneHalfSection as Y,
34604
- NLDDOneThirdTwoThirdsSection as Z,
34605
- NLDDPage as _,
35699
+ NLDDKeyboardShortcut as O,
35700
+ NLDDLink as P,
35701
+ NLDDList as Q,
35702
+ NLDDListItem as R,
35703
+ NLDDMenu as S,
35704
+ NLDDMenuBar as T,
35705
+ NLDDMenuBarItem as U,
35706
+ NLDDModalDialog as V,
35707
+ NLDDMultiLineTextField as W,
35708
+ NLDDNavigationSplitView as X,
35709
+ NLDDNumberField as Y,
35710
+ NLDDOneHalfOneHalfSection as Z,
35711
+ NLDDOneThirdTwoThirdsSection as _,
34606
35712
  NLDDAppView as a,
34607
- NLDDPageFooterLegalBar as a0,
34608
- NLDDPageFooterLegalBarItem as a1,
34609
- NLDDPagination as a2,
34610
- NLDDPasswordField as a3,
34611
- NLDDPopover as a4,
34612
- NLDDProgressBar as a5,
34613
- NLDDProgressBarSegmentIndicator as a6,
34614
- NLDDProgressCircle as a7,
34615
- NLDDProgressCircleSegmentIndicator as a8,
34616
- NLDDRadioButton as a9,
34617
- NLDDTitleCell as aA,
34618
- NLDDToggleButton as aB,
34619
- NLDDToggleButtonGroup as aC,
34620
- NLDDToken as aD,
34621
- NLDDToolbar as aE,
34622
- NLDDTooltip as aF,
34623
- NLDDTopNavigationBar as aG,
34624
- NLDDTopTitleBar as aH,
34625
- NLDDTwoThirdsOneThirdSection as aI,
34626
- NLDDWindow as aJ,
34627
- NLDDRadioButtonField as aa,
34628
- NLDDRadioButtonGroup as ab,
34629
- NLDDRichText as ac,
34630
- NLDDSearchField as ad,
34631
- NLDDSegmentedControl as ae,
34632
- NLDDSheet as af,
34633
- NLDDSideBySideSplitView as ag,
34634
- NLDDSimpleSection as ah,
34635
- NLDDSkipLink as ai,
34636
- NLDDSpacer as aj,
34637
- NLDDSpacerCell as ak,
34638
- NLDDSplitButton as al,
34639
- NLDDSplitViewPane as am,
34640
- NLDDStackedSplitView as an,
34641
- NLDDStatusBar as ao,
34642
- NLDDStepper as ap,
34643
- NLDDSwitch as aq,
34644
- NLDDSwitchField as ar,
34645
- NLDDTabBar as as,
34646
- NLDDTable as at,
34647
- NLDDTableRow as au,
34648
- NLDDTag as av,
34649
- NLDDTextCell as aw,
34650
- NLDDTextField as ax,
34651
- NLDDTimelineTrackCell as ay,
34652
- NLDDTitle as az,
35713
+ NLDDPageFooter as a0,
35714
+ NLDDPageFooterLegalBar as a1,
35715
+ NLDDPageFooterLegalBarItem as a2,
35716
+ NLDDPagination as a3,
35717
+ NLDDPasswordField as a4,
35718
+ NLDDPopover as a5,
35719
+ NLDDProgressBar as a6,
35720
+ NLDDProgressBarSegmentIndicator as a7,
35721
+ NLDDProgressCircle as a8,
35722
+ NLDDProgressCircleSegmentIndicator as a9,
35723
+ NLDDTitle as aA,
35724
+ NLDDTitleCell as aB,
35725
+ NLDDToggleButton as aC,
35726
+ NLDDToggleButtonGroup as aD,
35727
+ NLDDToken as aE,
35728
+ NLDDToolbar as aF,
35729
+ NLDDTooltip as aG,
35730
+ NLDDTopNavigationBar as aH,
35731
+ NLDDTopTitleBar as aI,
35732
+ NLDDTwoThirdsOneThirdSection as aJ,
35733
+ NLDDWindow as aK,
35734
+ NLDDRadioButton as aa,
35735
+ NLDDRadioButtonField as ab,
35736
+ NLDDRadioButtonGroup as ac,
35737
+ NLDDRichText as ad,
35738
+ NLDDSearchField as ae,
35739
+ NLDDSegmentedControl as af,
35740
+ NLDDSheet as ag,
35741
+ NLDDSideBySideSplitView as ah,
35742
+ NLDDSimpleSection as ai,
35743
+ NLDDSkipLink as aj,
35744
+ NLDDSpacer as ak,
35745
+ NLDDSpacerCell as al,
35746
+ NLDDSplitButton as am,
35747
+ NLDDSplitViewPane as an,
35748
+ NLDDStackedSplitView as ao,
35749
+ NLDDStatusBar as ap,
35750
+ NLDDStepper as aq,
35751
+ NLDDSwitch as ar,
35752
+ NLDDSwitchField as as,
35753
+ NLDDTabBar as at,
35754
+ NLDDTable as au,
35755
+ NLDDTableRow as av,
35756
+ NLDDTag as aw,
35757
+ NLDDTextCell as ax,
35758
+ NLDDTextField as ay,
35759
+ NLDDTimelineTrackCell as az,
34653
35760
  NLDDBadge as b,
34654
35761
  NLDDBanner as c,
34655
35762
  NLDDBarSplitView as d,