@nldd/design-system 0.8.61 → 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 (150) 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-B0DIduK1.js → index-BVaijKe_.js} +1771 -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/list.styles.d.ts.map +1 -1
  74. package/dist/components/lists-and-tables/list/list.styles.js +1 -0
  75. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  76. package/dist/components/lists-and-tables/list-item/list-item.d.ts +10 -2
  77. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  78. package/dist/components/lists-and-tables/list-item/list-item.i18n.d.ts +1 -1
  79. package/dist/components/lists-and-tables/list-item/list-item.i18n.js +1 -1
  80. package/dist/components/lists-and-tables/list-item/list-item.i18n.js.map +1 -1
  81. package/dist/components/lists-and-tables/list-item/list-item.js +39 -3
  82. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  83. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  84. package/dist/components/lists-and-tables/list-item/list-item.styles.js +6 -5
  85. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  86. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  87. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  88. package/dist/components/lists-and-tables/list-item/list-item.template.js +4 -2
  89. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  90. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
  91. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
  92. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
  93. package/dist/components/navigation/link/link.d.ts +9 -2
  94. package/dist/components/navigation/link/link.d.ts.map +1 -1
  95. package/dist/components/navigation/link/link.i18n.d.ts +5 -0
  96. package/dist/components/navigation/link/link.i18n.d.ts.map +1 -0
  97. package/dist/components/navigation/link/link.i18n.js +4 -0
  98. package/dist/components/navigation/link/link.i18n.js.map +1 -0
  99. package/dist/components/navigation/link/link.js +5 -2
  100. package/dist/components/navigation/link/link.js.map +1 -1
  101. package/dist/components/navigation/link/link.styles.d.ts.map +1 -1
  102. package/dist/components/navigation/link/link.styles.js +14 -0
  103. package/dist/components/navigation/link/link.styles.js.map +1 -1
  104. package/dist/components/navigation/link/link.template.d.ts.map +1 -1
  105. package/dist/components/navigation/link/link.template.js +14 -1
  106. package/dist/components/navigation/link/link.template.js.map +1 -1
  107. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  108. package/dist/components/navigation/tab-bar/tab-bar.js +11 -4
  109. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  110. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  111. package/dist/components/navigation/tab-bar/tab-bar.styles.js +25 -3
  112. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  113. package/dist/components/{prism-python-Dtm_y95w.js → prism-python-Tr_Ff1KJ.js} +1 -1
  114. package/dist/components/{prism-rust-Bp-z7VUz.js → prism-rust-CxUpjfK5.js} +1 -1
  115. package/dist/components/{prism-typescript-hCHH5aho.js → prism-typescript-zaF4YQWN.js} +1 -1
  116. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts +35 -12
  117. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts.map +1 -1
  118. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +48 -13
  119. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  120. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.d.ts.map +1 -1
  121. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +77 -17
  122. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js.map +1 -1
  123. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.d.ts +1 -2
  124. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.d.ts.map +1 -1
  125. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.js +21 -7
  126. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.template.js.map +1 -1
  127. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts.map +1 -1
  128. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +12 -2
  129. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js.map +1 -1
  130. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +123 -0
  131. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -0
  132. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.d.ts +6 -0
  133. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.d.ts.map +1 -0
  134. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.js +5 -0
  135. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.i18n.js.map +1 -0
  136. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +550 -0
  137. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -0
  138. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts +2 -0
  139. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts.map +1 -0
  140. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +301 -0
  141. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js.map +1 -0
  142. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.d.ts +4 -0
  143. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.d.ts.map +1 -0
  144. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js +72 -0
  145. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js.map +1 -0
  146. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +6 -1
  147. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
  148. package/dist/components/status-and-feedback/status-bar/status-bar.js +23 -9
  149. package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
  150. 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-hCHH5aho.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-Bp-z7VUz.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-Dtm_y95w.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
  }
@@ -24539,6 +24735,7 @@ const listStyles = css`
24539
24735
 
24540
24736
  display: block;
24541
24737
  position: relative;
24738
+ width: 100%;
24542
24739
  isolation: isolate;
24543
24740
  }
24544
24741
 
@@ -24694,15 +24891,16 @@ const nlddListTranslations = {
24694
24891
  "components.list.items-label-text": "Lijst",
24695
24892
  "components.list.navigation-label-text": "Navigatie",
24696
24893
  "components.list.empty-text": "Geen items",
24894
+ "components.list.arrow-navigation-description-text": "Gebruik de pijltjestoetsen om door de lijst te navigeren.",
24697
24895
  "components.list.reorder-moved-text": "Item verplaatst naar positie {position}.",
24698
24896
  "components.list.reorder-dropped-text": "Item neergezet op positie {position}.",
24699
24897
  "components.list.reorder-no-change-text": "Item neergezet. Positie ongewijzigd.",
24700
24898
  "components.list.reorder-cancelled-text": "Slepen geannuleerd."
24701
24899
  };
24702
24900
  var __defProp$o = Object.defineProperty;
24703
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
24901
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
24704
24902
  var __decorateClass$o = (decorators, target, key, kind) => {
24705
- 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;
24706
24904
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24707
24905
  if (decorator = decorators[i])
24708
24906
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24716,6 +24914,7 @@ let NLDDList = class extends LitElement {
24716
24914
  this.type = "list";
24717
24915
  this.reorderable = false;
24718
24916
  this.noDividers = false;
24917
+ this.arrowNavigation = false;
24719
24918
  this.emptyText = "";
24720
24919
  this.emptySupportingText = "";
24721
24920
  this.translations = {};
@@ -24731,6 +24930,16 @@ let NLDDList = class extends LitElement {
24731
24930
  this._cloneOffsetY = 0;
24732
24931
  this._listRect = null;
24733
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
+ };
24734
24943
  this._onPointerDown = (event) => {
24735
24944
  if (!this.reorderable || this.type !== "list") return;
24736
24945
  const path = event.composedPath();
@@ -24786,6 +24995,10 @@ let NLDDList = class extends LitElement {
24786
24995
  this._cancelDrag();
24787
24996
  };
24788
24997
  this._onKeyDown = (event) => {
24998
+ if (this._arrowNavActive) {
24999
+ this._onArrowNav(event);
25000
+ return;
25001
+ }
24789
25002
  if (!this.reorderable || this.type !== "list") return;
24790
25003
  if (event.key !== "ArrowUp" && event.key !== "ArrowDown") return;
24791
25004
  const path = event.composedPath();
@@ -24824,6 +25037,7 @@ let NLDDList = class extends LitElement {
24824
25037
  });
24825
25038
  this._updateItems();
24826
25039
  this._updateEmpty();
25040
+ this._warnArrowNav();
24827
25041
  const headerSlot = this.shadowRoot?.querySelector('slot[name="header"]');
24828
25042
  headerSlot?.addEventListener("slotchange", () => {
24829
25043
  this._hasHeader = headerSlot.assignedElements().length > 0;
@@ -24854,19 +25068,22 @@ let NLDDList = class extends LitElement {
24854
25068
  this.style.containerName = "cells-container";
24855
25069
  this.addEventListener("pointerdown", this._onPointerDown);
24856
25070
  this.addEventListener("keydown", this._onKeyDown);
25071
+ this.addEventListener("focusin", this._onFocusIn);
24857
25072
  }
24858
25073
  disconnectedCallback() {
24859
25074
  super.disconnectedCallback();
24860
25075
  this.removeEventListener("pointerdown", this._onPointerDown);
24861
25076
  this.removeEventListener("keydown", this._onKeyDown);
25077
+ this.removeEventListener("focusin", this._onFocusIn);
24862
25078
  this._itemsObserver?.disconnect();
24863
25079
  this._itemsObserver = null;
24864
25080
  this._cancelDrag();
24865
25081
  }
24866
25082
  updated(changed) {
24867
- if (changed.has("reorderable") || changed.has("type")) {
25083
+ if (changed.has("reorderable") || changed.has("type") || changed.has("arrowNavigation")) {
24868
25084
  if (this.reorderable && this.type !== "list" && false) ;
24869
25085
  this._updateItems();
25086
+ this._warnArrowNav();
24870
25087
  }
24871
25088
  if (changed.has("translations")) {
24872
25089
  this._mergedTranslations = { ...nlddListTranslations, ...this.translations };
@@ -24916,11 +25133,101 @@ let NLDDList = class extends LitElement {
24916
25133
  item.removeAttribute("reorderable");
24917
25134
  }
24918
25135
  });
25136
+ this._updateRoving();
24919
25137
  }
24920
25138
  _updateEmpty() {
24921
25139
  const items = this._getItems();
24922
25140
  this._isEmpty = items.length === 0 || items.every((item) => item.hasAttribute("hidden"));
24923
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
+ }
24924
25231
  _getDeepActiveElement() {
24925
25232
  let active = document.activeElement;
24926
25233
  while (active?.shadowRoot?.activeElement) {
@@ -25082,6 +25389,9 @@ __decorateClass$o([
25082
25389
  __decorateClass$o([
25083
25390
  property({ type: Boolean, reflect: true, attribute: "no-dividers" })
25084
25391
  ], NLDDList.prototype, "noDividers", 2);
25392
+ __decorateClass$o([
25393
+ property({ type: Boolean, reflect: true, attribute: "arrow-navigation" })
25394
+ ], NLDDList.prototype, "arrowNavigation", 2);
25085
25395
  __decorateClass$o([
25086
25396
  property({ type: String, attribute: "empty-text" })
25087
25397
  ], NLDDList.prototype, "emptyText", 2);
@@ -25203,7 +25513,7 @@ const listItemStyles = css`
25203
25513
  cursor: var(--semantics-controls-link-cursor);
25204
25514
  }
25205
25515
 
25206
- .list-item__new-tab-hint {
25516
+ .list-item__opens-in-new-tab-hint {
25207
25517
  position: absolute;
25208
25518
  margin: -1px;
25209
25519
  border: 0;
@@ -25273,14 +25583,15 @@ const listItemStyles = css`
25273
25583
  }
25274
25584
 
25275
25585
  /* Press feedback — works on touch where :hover doesn't. Same visual as
25276
- :hover (the gated mouse rule above) so it reads consistently across
25277
- input modes. */
25278
- .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 {
25279
25590
  --_background-color: var(--components-list-item-is-hovered-background-color);
25280
25591
  --context-cell-content-color: var(--components-list-item-is-hovered-content-color);
25281
25592
  }
25282
25593
 
25283
- :host([selected]) .list-item__action:active {
25594
+ :host([selected]) .list-item__action.is-pressed {
25284
25595
  --_background-color: var(--components-list-item-is-highlighted-background-color);
25285
25596
  --context-cell-content-color: var(--components-list-item-is-highlighted-content-color);
25286
25597
  }
@@ -25394,20 +25705,22 @@ const areas = (showStart, showEnd) => html`
25394
25705
  </slot>
25395
25706
  </div>
25396
25707
  `;
25397
- const template$a = (button, href, target, rel, showStart, showEnd, newTabLabel) => {
25708
+ const template$a = (button, href, target, rel, showStart, showEnd, opensInNewTabLabel, rovingTabindex) => {
25398
25709
  if (href) {
25399
25710
  return html`<div class="list-item">
25400
25711
  <a class="list-item__action"
25401
25712
  href=${href}
25402
25713
  target=${target ?? nothing}
25403
25714
  rel=${rel ?? nothing}
25404
- >${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>
25405
25717
  </div>`;
25406
25718
  }
25407
25719
  if (button) {
25408
25720
  return html`<div class="list-item">
25409
25721
  <button class="list-item__action"
25410
25722
  type="button"
25723
+ tabindex=${rovingTabindex ?? nothing}
25411
25724
  >${areas(showStart, showEnd)}</button>
25412
25725
  </div>`;
25413
25726
  }
@@ -25415,55 +25728,17 @@ const template$a = (button, href, target, rel, showStart, showEnd, newTabLabel)
25415
25728
  ${areas(showStart, showEnd)}
25416
25729
  </div>`;
25417
25730
  };
25418
- var __defProp$n = Object.defineProperty;
25419
- var __decorateClass$n = (decorators, target, key, kind) => {
25420
- var result = void 0;
25421
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
25422
- if (decorator = decorators[i])
25423
- result = decorator(target, key, result) || result;
25424
- if (result) __defProp$n(target, key, result);
25425
- return result;
25426
- };
25427
- function withTranslations(Base, defaults) {
25428
- class TranslationsMixin extends Base {
25429
- constructor() {
25430
- super(...arguments);
25431
- this.translations = {};
25432
- this._mergedTranslations = { ...defaults };
25433
- }
25434
- /** @internal */
25435
- _t(key, vars) {
25436
- let str = this._mergedTranslations[key] ?? String(key);
25437
- if (vars) {
25438
- for (const [k, v] of Object.entries(vars)) {
25439
- str = str.split(`{${k}}`).join(String(v));
25440
- }
25441
- }
25442
- return str;
25443
- }
25444
- willUpdate(changed) {
25445
- super.willUpdate(changed);
25446
- if (changed.has("translations")) {
25447
- this._mergedTranslations = { ...defaults, ...this.translations };
25448
- }
25449
- }
25450
- }
25451
- __decorateClass$n([
25452
- property({ type: Object })
25453
- ], TranslationsMixin.prototype, "translations");
25454
- return TranslationsMixin;
25455
- }
25456
25731
  const nlddListItemTranslations = {
25457
- "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"
25458
25733
  };
25459
- var __defProp$m = Object.defineProperty;
25460
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
25461
- var __decorateClass$m = (decorators, target, key, kind) => {
25462
- 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;
25463
25738
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25464
25739
  if (decorator = decorators[i])
25465
25740
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
25466
- if (kind && result) __defProp$m(target, key, result);
25741
+ if (kind && result) __defProp$n(target, key, result);
25467
25742
  return result;
25468
25743
  };
25469
25744
  let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTranslations) {
@@ -25476,6 +25751,8 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25476
25751
  this._showStart = false;
25477
25752
  this._showEnd = false;
25478
25753
  this._parentType = "list";
25754
+ this._arrowNavigation = false;
25755
+ this._rovingActive = false;
25479
25756
  this._isBoxed = false;
25480
25757
  this._listObserver = null;
25481
25758
  this._handleClick = () => {
@@ -25487,6 +25764,13 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25487
25764
  this._handleFocusOut = () => {
25488
25765
  this._action?.classList.remove("is-pointer-focus");
25489
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
+ };
25490
25774
  }
25491
25775
  connectedCallback() {
25492
25776
  super.connectedCallback();
@@ -25495,6 +25779,9 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25495
25779
  this.addEventListener("focusin", this._handleFocusIn);
25496
25780
  this.addEventListener("focusout", this._handleFocusOut);
25497
25781
  this.addEventListener("click", this._handleClick);
25782
+ this.addEventListener("pointerdown", this._onPointerDown);
25783
+ this.addEventListener("pointerup", this._clearPressed);
25784
+ this.addEventListener("pointercancel", this._clearPressed);
25498
25785
  }
25499
25786
  disconnectedCallback() {
25500
25787
  super.disconnectedCallback();
@@ -25503,6 +25790,9 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25503
25790
  this.removeEventListener("focusin", this._handleFocusIn);
25504
25791
  this.removeEventListener("focusout", this._handleFocusOut);
25505
25792
  this.removeEventListener("click", this._handleClick);
25793
+ this.removeEventListener("pointerdown", this._onPointerDown);
25794
+ this.removeEventListener("pointerup", this._clearPressed);
25795
+ this.removeEventListener("pointercancel", this._clearPressed);
25506
25796
  }
25507
25797
  firstUpdated() {
25508
25798
  if (this.hasAttribute("data-nldd-clone")) {
@@ -25580,7 +25870,8 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25580
25870
  this._action?.focus(options);
25581
25871
  }
25582
25872
  render() {
25583
- 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;
25584
25875
  return template$a(
25585
25876
  this.button,
25586
25877
  this.href,
@@ -25588,45 +25879,52 @@ let NLDDListItem = class extends withTranslations(LitElement, nlddListItemTransl
25588
25879
  this.rel,
25589
25880
  this._showStart,
25590
25881
  this._showEnd,
25591
- newTabLabel
25882
+ opensInNewTabLabel,
25883
+ rovingTabindex
25592
25884
  );
25593
25885
  }
25594
25886
  };
25595
25887
  NLDDListItem.styles = [listItemStyles];
25596
- __decorateClass$m([
25888
+ __decorateClass$n([
25597
25889
  property({ reflect: true })
25598
25890
  ], NLDDListItem.prototype, "size", 2);
25599
- __decorateClass$m([
25891
+ __decorateClass$n([
25600
25892
  property({ type: Boolean, reflect: true })
25601
25893
  ], NLDDListItem.prototype, "selected", 2);
25602
- __decorateClass$m([
25894
+ __decorateClass$n([
25603
25895
  property({ type: Boolean, reflect: true })
25604
25896
  ], NLDDListItem.prototype, "button", 2);
25605
- __decorateClass$m([
25897
+ __decorateClass$n([
25606
25898
  property({ reflect: true })
25607
25899
  ], NLDDListItem.prototype, "href", 2);
25608
- __decorateClass$m([
25900
+ __decorateClass$n([
25609
25901
  property({ reflect: true })
25610
25902
  ], NLDDListItem.prototype, "target", 2);
25611
- __decorateClass$m([
25903
+ __decorateClass$n([
25612
25904
  property({ reflect: true })
25613
25905
  ], NLDDListItem.prototype, "rel", 2);
25614
- __decorateClass$m([
25906
+ __decorateClass$n([
25615
25907
  property({ type: Boolean, reflect: true })
25616
25908
  ], NLDDListItem.prototype, "reorderable", 2);
25617
- __decorateClass$m([
25909
+ __decorateClass$n([
25618
25910
  state()
25619
25911
  ], NLDDListItem.prototype, "_showStart", 2);
25620
- __decorateClass$m([
25912
+ __decorateClass$n([
25621
25913
  state()
25622
25914
  ], NLDDListItem.prototype, "_showEnd", 2);
25623
- __decorateClass$m([
25915
+ __decorateClass$n([
25624
25916
  state()
25625
25917
  ], NLDDListItem.prototype, "_parentType", 2);
25626
- __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([
25627
25925
  query(".list-item__action")
25628
25926
  ], NLDDListItem.prototype, "_action", 2);
25629
- NLDDListItem = __decorateClass$m([
25927
+ NLDDListItem = __decorateClass$n([
25630
25928
  customElement("nldd-list-item")
25631
25929
  ], NLDDListItem);
25632
25930
  const listItem = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -25787,14 +26085,14 @@ const nlddTableTranslations = {
25787
26085
  "components.table.accessible-label": "Tabel",
25788
26086
  "components.table.empty-text": "Geen items"
25789
26087
  };
25790
- var __defProp$l = Object.defineProperty;
25791
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
25792
- var __decorateClass$l = (decorators, target, key, kind) => {
25793
- 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;
25794
26092
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25795
26093
  if (decorator = decorators[i])
25796
26094
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
25797
- if (kind && result) __defProp$l(target, key, result);
26095
+ if (kind && result) __defProp$m(target, key, result);
25798
26096
  return result;
25799
26097
  };
25800
26098
  const SM_MAX = parseInt(breakpoints.smMax, 10);
@@ -25937,37 +26235,37 @@ let NLDDTable = class extends LitElement {
25937
26235
  }
25938
26236
  };
25939
26237
  NLDDTable.styles = tableStyles;
25940
- __decorateClass$l([
26238
+ __decorateClass$m([
25941
26239
  property({ type: String, reflect: true })
25942
26240
  ], NLDDTable.prototype, "background", 2);
25943
- __decorateClass$l([
26241
+ __decorateClass$m([
25944
26242
  property({ type: String, reflect: true })
25945
26243
  ], NLDDTable.prototype, "columns", 2);
25946
- __decorateClass$l([
26244
+ __decorateClass$m([
25947
26245
  property({ type: String, reflect: true, attribute: "sm-columns" })
25948
26246
  ], NLDDTable.prototype, "smColumns", 2);
25949
- __decorateClass$l([
26247
+ __decorateClass$m([
25950
26248
  property({ type: String, reflect: true, attribute: "md-columns" })
25951
26249
  ], NLDDTable.prototype, "mdColumns", 2);
25952
- __decorateClass$l([
26250
+ __decorateClass$m([
25953
26251
  property({ type: String, reflect: true, attribute: "lg-columns" })
25954
26252
  ], NLDDTable.prototype, "lgColumns", 2);
25955
- __decorateClass$l([
26253
+ __decorateClass$m([
25956
26254
  property({ type: String, reflect: true, attribute: "accessible-label" })
25957
26255
  ], NLDDTable.prototype, "accessibleLabel", 2);
25958
- __decorateClass$l([
26256
+ __decorateClass$m([
25959
26257
  property({ type: Boolean, reflect: true })
25960
26258
  ], NLDDTable.prototype, "selectable", 2);
25961
- __decorateClass$l([
26259
+ __decorateClass$m([
25962
26260
  property({ type: String, attribute: "empty-text" })
25963
26261
  ], NLDDTable.prototype, "emptyText", 2);
25964
- __decorateClass$l([
26262
+ __decorateClass$m([
25965
26263
  property({ type: String, attribute: "empty-supporting-text" })
25966
26264
  ], NLDDTable.prototype, "emptySupportingText", 2);
25967
- __decorateClass$l([
26265
+ __decorateClass$m([
25968
26266
  property({ type: Object })
25969
26267
  ], NLDDTable.prototype, "translations", 2);
25970
- NLDDTable = __decorateClass$l([
26268
+ NLDDTable = __decorateClass$m([
25971
26269
  customElement("nldd-table")
25972
26270
  ], NLDDTable);
25973
26271
  let NLDDTableRow = class extends LitElement {
@@ -26021,10 +26319,10 @@ let NLDDTableRow = class extends LitElement {
26021
26319
  }
26022
26320
  };
26023
26321
  NLDDTableRow.styles = tableRowStyles;
26024
- __decorateClass$l([
26322
+ __decorateClass$m([
26025
26323
  property({ type: Boolean, reflect: true })
26026
26324
  ], NLDDTableRow.prototype, "selected", 2);
26027
- NLDDTableRow = __decorateClass$l([
26325
+ NLDDTableRow = __decorateClass$m([
26028
26326
  customElement("nldd-table-row")
26029
26327
  ], NLDDTableRow);
26030
26328
  const cellStyles = css`
@@ -26119,14 +26417,14 @@ const cellStyles = css`
26119
26417
  }
26120
26418
  `;
26121
26419
  const template$9 = () => html`<slot></slot>`;
26122
- var __defProp$k = Object.defineProperty;
26123
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
26124
- var __decorateClass$k = (decorators, target, key, kind) => {
26125
- 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;
26126
26424
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26127
26425
  if (decorator = decorators[i])
26128
26426
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26129
- if (kind && result) __defProp$k(target, key, result);
26427
+ if (kind && result) __defProp$l(target, key, result);
26130
26428
  return result;
26131
26429
  };
26132
26430
  let NLDDCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26175,25 +26473,25 @@ let NLDDCell = class extends VisibilityMixin(LitElement, "cells-container") {
26175
26473
  }
26176
26474
  };
26177
26475
  NLDDCell.styles = [cellStyles];
26178
- __decorateClass$k([
26476
+ __decorateClass$l([
26179
26477
  property({ type: String, reflect: true })
26180
26478
  ], NLDDCell.prototype, "width", 2);
26181
- __decorateClass$k([
26479
+ __decorateClass$l([
26182
26480
  property({ type: String, reflect: true, attribute: "min-width" })
26183
26481
  ], NLDDCell.prototype, "minWidth", 2);
26184
- __decorateClass$k([
26482
+ __decorateClass$l([
26185
26483
  property({ type: String, reflect: true, attribute: "max-width" })
26186
26484
  ], NLDDCell.prototype, "maxWidth", 2);
26187
- __decorateClass$k([
26485
+ __decorateClass$l([
26188
26486
  property({ type: String, reflect: true, attribute: "min-height" })
26189
26487
  ], NLDDCell.prototype, "minHeight", 2);
26190
- __decorateClass$k([
26488
+ __decorateClass$l([
26191
26489
  property({ reflect: true, attribute: "vertical-alignment" })
26192
26490
  ], NLDDCell.prototype, "verticalAlignment", 2);
26193
- __decorateClass$k([
26491
+ __decorateClass$l([
26194
26492
  property({ reflect: true, attribute: "horizontal-alignment" })
26195
26493
  ], NLDDCell.prototype, "horizontalAlignment", 2);
26196
- NLDDCell = __decorateClass$k([
26494
+ NLDDCell = __decorateClass$l([
26197
26495
  customElement("nldd-cell")
26198
26496
  ], NLDDCell);
26199
26497
  const titleCellStyles = css`
@@ -26420,14 +26718,14 @@ const template$8 = function() {
26420
26718
  </p>
26421
26719
  `;
26422
26720
  };
26423
- var __defProp$j = Object.defineProperty;
26424
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
26425
- var __decorateClass$j = (decorators, target, key, kind) => {
26426
- 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;
26427
26725
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26428
26726
  if (decorator = decorators[i])
26429
26727
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26430
- if (kind && result) __defProp$j(target, key, result);
26728
+ if (kind && result) __defProp$k(target, key, result);
26431
26729
  return result;
26432
26730
  };
26433
26731
  let NLDDTitleCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26507,58 +26805,58 @@ let NLDDTitleCell = class extends VisibilityMixin(LitElement, "cells-container")
26507
26805
  }
26508
26806
  };
26509
26807
  NLDDTitleCell.styles = [titleCellStyles];
26510
- __decorateClass$j([
26808
+ __decorateClass$k([
26511
26809
  property({ type: Number, reflect: true })
26512
26810
  ], NLDDTitleCell.prototype, "size", 2);
26513
- __decorateClass$j([
26811
+ __decorateClass$k([
26514
26812
  property({ type: String, reflect: true })
26515
26813
  ], NLDDTitleCell.prototype, "color", 2);
26516
- __decorateClass$j([
26814
+ __decorateClass$k([
26517
26815
  property({ type: String, reflect: true })
26518
26816
  ], NLDDTitleCell.prototype, "width", 2);
26519
- __decorateClass$j([
26817
+ __decorateClass$k([
26520
26818
  property({ type: String, reflect: true, attribute: "min-width" })
26521
26819
  ], NLDDTitleCell.prototype, "minWidth", 2);
26522
- __decorateClass$j([
26820
+ __decorateClass$k([
26523
26821
  property({ type: String, reflect: true, attribute: "max-width" })
26524
26822
  ], NLDDTitleCell.prototype, "maxWidth", 2);
26525
- __decorateClass$j([
26823
+ __decorateClass$k([
26526
26824
  property({ type: String, reflect: true, attribute: "min-height" })
26527
26825
  ], NLDDTitleCell.prototype, "minHeight", 2);
26528
- __decorateClass$j([
26826
+ __decorateClass$k([
26529
26827
  property({ type: String, reflect: true, attribute: "horizontal-alignment" })
26530
26828
  ], NLDDTitleCell.prototype, "horizontalAlignment", 2);
26531
- __decorateClass$j([
26829
+ __decorateClass$k([
26532
26830
  property({ type: String, reflect: true, attribute: "vertical-alignment" })
26533
26831
  ], NLDDTitleCell.prototype, "verticalAlignment", 2);
26534
- __decorateClass$j([
26832
+ __decorateClass$k([
26535
26833
  property({ type: String })
26536
26834
  ], NLDDTitleCell.prototype, "text", 2);
26537
- __decorateClass$j([
26835
+ __decorateClass$k([
26538
26836
  property({ type: String })
26539
26837
  ], NLDDTitleCell.prototype, "overline", 2);
26540
- __decorateClass$j([
26838
+ __decorateClass$k([
26541
26839
  property({ type: String, attribute: "supporting-text" })
26542
26840
  ], NLDDTitleCell.prototype, "supportingText", 2);
26543
- __decorateClass$j([
26841
+ __decorateClass$k([
26544
26842
  property({ type: Number, attribute: "heading-level" })
26545
26843
  ], NLDDTitleCell.prototype, "headingLevel", 2);
26546
- __decorateClass$j([
26844
+ __decorateClass$k([
26547
26845
  property({ type: String })
26548
26846
  ], NLDDTitleCell.prototype, "query", 2);
26549
- __decorateClass$j([
26847
+ __decorateClass$k([
26550
26848
  property({ type: String, attribute: "query-mark-mode" })
26551
26849
  ], NLDDTitleCell.prototype, "queryMarkMode", 2);
26552
- __decorateClass$j([
26850
+ __decorateClass$k([
26553
26851
  state()
26554
26852
  ], NLDDTitleCell.prototype, "_hasOverlineSlotted", 2);
26555
- __decorateClass$j([
26853
+ __decorateClass$k([
26556
26854
  state()
26557
26855
  ], NLDDTitleCell.prototype, "_hasDefaultSlotted", 2);
26558
- __decorateClass$j([
26856
+ __decorateClass$k([
26559
26857
  state()
26560
26858
  ], NLDDTitleCell.prototype, "_hasSupportingTextSlotted", 2);
26561
- NLDDTitleCell = __decorateClass$j([
26859
+ NLDDTitleCell = __decorateClass$k([
26562
26860
  customElement("nldd-title-cell")
26563
26861
  ], NLDDTitleCell);
26564
26862
  const descriptionCellStyles = css`
@@ -26670,14 +26968,14 @@ const template$7 = () => html`
26670
26968
  <slot name="title"></slot>
26671
26969
  <slot name="description"></slot>
26672
26970
  `;
26673
- var __defProp$i = Object.defineProperty;
26674
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
26675
- var __decorateClass$i = (decorators, target, key, kind) => {
26676
- 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;
26677
26975
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26678
26976
  if (decorator = decorators[i])
26679
26977
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26680
- if (kind && result) __defProp$i(target, key, result);
26978
+ if (kind && result) __defProp$j(target, key, result);
26681
26979
  return result;
26682
26980
  };
26683
26981
  let NLDDDescriptionCell = class extends VisibilityMixin(LitElement, "cells-container") {
@@ -26725,22 +27023,22 @@ let NLDDDescriptionCell = class extends VisibilityMixin(LitElement, "cells-conta
26725
27023
  }
26726
27024
  };
26727
27025
  NLDDDescriptionCell.styles = [descriptionCellStyles];
26728
- __decorateClass$i([
27026
+ __decorateClass$j([
26729
27027
  property({ type: String, reflect: true })
26730
27028
  ], NLDDDescriptionCell.prototype, "width", 2);
26731
- __decorateClass$i([
27029
+ __decorateClass$j([
26732
27030
  property({ type: String, reflect: true, attribute: "min-width" })
26733
27031
  ], NLDDDescriptionCell.prototype, "minWidth", 2);
26734
- __decorateClass$i([
27032
+ __decorateClass$j([
26735
27033
  property({ type: String, reflect: true, attribute: "max-width" })
26736
27034
  ], NLDDDescriptionCell.prototype, "maxWidth", 2);
26737
- __decorateClass$i([
27035
+ __decorateClass$j([
26738
27036
  property({ type: String, reflect: true, attribute: "min-height" })
26739
27037
  ], NLDDDescriptionCell.prototype, "minHeight", 2);
26740
- __decorateClass$i([
27038
+ __decorateClass$j([
26741
27039
  property({ reflect: true, attribute: "vertical-alignment" })
26742
27040
  ], NLDDDescriptionCell.prototype, "verticalAlignment", 2);
26743
- NLDDDescriptionCell = __decorateClass$i([
27041
+ NLDDDescriptionCell = __decorateClass$j([
26744
27042
  customElement("nldd-description-cell")
26745
27043
  ], NLDDDescriptionCell);
26746
27044
  const dragHandleCellStyles = css`
@@ -26852,14 +27150,14 @@ function template$6(size2, label) {
26852
27150
  const nlddDragHandleCellTranslations = {
26853
27151
  "components.drag-handle-cell.label-text": "Sleepgreep, druk spatie of enter om te verplaatsen"
26854
27152
  };
26855
- var __defProp$h = Object.defineProperty;
26856
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
26857
- var __decorateClass$h = (decorators, target, key, kind) => {
26858
- 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;
26859
27157
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26860
27158
  if (decorator = decorators[i])
26861
27159
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26862
- if (kind && result) __defProp$h(target, key, result);
27160
+ if (kind && result) __defProp$i(target, key, result);
26863
27161
  return result;
26864
27162
  };
26865
27163
  let NLDDDragHandleCell = class extends LitElement {
@@ -26878,13 +27176,13 @@ let NLDDDragHandleCell = class extends LitElement {
26878
27176
  }
26879
27177
  };
26880
27178
  NLDDDragHandleCell.styles = dragHandleCellStyles;
26881
- __decorateClass$h([
27179
+ __decorateClass$i([
26882
27180
  property({ type: String, reflect: true })
26883
27181
  ], NLDDDragHandleCell.prototype, "size", 2);
26884
- __decorateClass$h([
27182
+ __decorateClass$i([
26885
27183
  property({ type: Object })
26886
27184
  ], NLDDDragHandleCell.prototype, "translations", 2);
26887
- NLDDDragHandleCell = __decorateClass$h([
27185
+ NLDDDragHandleCell = __decorateClass$i([
26888
27186
  customElement("nldd-drag-handle-cell")
26889
27187
  ], NLDDDragHandleCell);
26890
27188
  const timelineTrackCellStyles = css`
@@ -26997,14 +27295,14 @@ function timelineTrackCellTemplate(component) {
26997
27295
  </div>
26998
27296
  `;
26999
27297
  }
27000
- var __defProp$g = Object.defineProperty;
27001
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
27002
- var __decorateClass$g = (decorators, target, key, kind) => {
27003
- 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;
27004
27302
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27005
27303
  if (decorator = decorators[i])
27006
27304
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27007
- if (kind && result) __defProp$g(target, key, result);
27305
+ if (kind && result) __defProp$h(target, key, result);
27008
27306
  return result;
27009
27307
  };
27010
27308
  let NLDDTimelineTrackCell = class extends LitElement {
@@ -27018,13 +27316,13 @@ let NLDDTimelineTrackCell = class extends LitElement {
27018
27316
  }
27019
27317
  };
27020
27318
  NLDDTimelineTrackCell.styles = timelineTrackCellStyles;
27021
- __decorateClass$g([
27319
+ __decorateClass$h([
27022
27320
  property({ type: String, reflect: true })
27023
27321
  ], NLDDTimelineTrackCell.prototype, "step", 2);
27024
- __decorateClass$g([
27322
+ __decorateClass$h([
27025
27323
  property({ type: String, reflect: true })
27026
27324
  ], NLDDTimelineTrackCell.prototype, "child", 2);
27027
- NLDDTimelineTrackCell = __decorateClass$g([
27325
+ NLDDTimelineTrackCell = __decorateClass$h([
27028
27326
  customElement("nldd-timeline-track-cell")
27029
27327
  ], NLDDTimelineTrackCell);
27030
27328
  const separatorStyles = css`
@@ -27208,14 +27506,14 @@ const nlddBreadcrumbsTranslations = {
27208
27506
  "components.breadcrumbs.accessible-label": "Kruimelpad",
27209
27507
  "components.breadcrumbs.show-all-levels": "Toon alle niveaus"
27210
27508
  };
27211
- var __defProp$f = Object.defineProperty;
27212
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
27213
- var __decorateClass$f = (decorators, target, key, kind) => {
27214
- 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;
27215
27513
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27216
27514
  if (decorator = decorators[i])
27217
27515
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27218
- if (kind && result) __defProp$f(target, key, result);
27516
+ if (kind && result) __defProp$g(target, key, result);
27219
27517
  return result;
27220
27518
  };
27221
27519
  const _NLDDBreadcrumbsItem = class _NLDDBreadcrumbsItem extends LitElement {
@@ -27261,13 +27559,13 @@ const _NLDDBreadcrumbsItem = class _NLDDBreadcrumbsItem extends LitElement {
27261
27559
  };
27262
27560
  _NLDDBreadcrumbsItem.styles = breadcrumbsItemStyles;
27263
27561
  let NLDDBreadcrumbsItem = _NLDDBreadcrumbsItem;
27264
- __decorateClass$f([
27562
+ __decorateClass$g([
27265
27563
  property({ type: String, reflect: true })
27266
27564
  ], NLDDBreadcrumbsItem.prototype, "href", 2);
27267
- __decorateClass$f([
27565
+ __decorateClass$g([
27268
27566
  property({ type: Boolean, reflect: true })
27269
27567
  ], NLDDBreadcrumbsItem.prototype, "current", 2);
27270
- __decorateClass$f([
27568
+ __decorateClass$g([
27271
27569
  property({ type: String, reflect: true })
27272
27570
  ], NLDDBreadcrumbsItem.prototype, "text", 2);
27273
27571
  if (!customElements.get("nldd-breadcrumbs-item")) {
@@ -27333,19 +27631,19 @@ let NLDDBreadcrumbs = class extends LitElement {
27333
27631
  }
27334
27632
  };
27335
27633
  NLDDBreadcrumbs.styles = breadcrumbsStyles;
27336
- __decorateClass$f([
27634
+ __decorateClass$g([
27337
27635
  property({ type: String, attribute: "accessible-label" })
27338
27636
  ], NLDDBreadcrumbs.prototype, "accessibleLabel", 2);
27339
- __decorateClass$f([
27637
+ __decorateClass$g([
27340
27638
  property({ type: Boolean, reflect: true, attribute: "no-collapse" })
27341
27639
  ], NLDDBreadcrumbs.prototype, "noCollapse", 2);
27342
- __decorateClass$f([
27640
+ __decorateClass$g([
27343
27641
  property({ type: Object })
27344
27642
  ], NLDDBreadcrumbs.prototype, "translations", 2);
27345
- __decorateClass$f([
27643
+ __decorateClass$g([
27346
27644
  state()
27347
27645
  ], NLDDBreadcrumbs.prototype, "_collapsed", 2);
27348
- NLDDBreadcrumbs = __decorateClass$f([
27646
+ NLDDBreadcrumbs = __decorateClass$g([
27349
27647
  customElement("nldd-breadcrumbs")
27350
27648
  ], NLDDBreadcrumbs);
27351
27649
  const menuBarStyles = css`
@@ -27661,14 +27959,14 @@ function template$4(component) {
27661
27959
  <slot @slotchange=${component._onSlotChange}></slot>
27662
27960
  `;
27663
27961
  }
27664
- var __defProp$e = Object.defineProperty;
27665
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
27666
- var __decorateClass$e = (decorators, target, key, kind) => {
27667
- 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;
27668
27966
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27669
27967
  if (decorator = decorators[i])
27670
27968
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27671
- if (kind && result) __defProp$e(target, key, result);
27969
+ if (kind && result) __defProp$f(target, key, result);
27672
27970
  return result;
27673
27971
  };
27674
27972
  let NLDDMenuBarItem = class extends LitElement {
@@ -27786,62 +28084,62 @@ let NLDDMenuBarItem = class extends LitElement {
27786
28084
  }
27787
28085
  };
27788
28086
  NLDDMenuBarItem.styles = menuBarItemStyles;
27789
- __decorateClass$e([
28087
+ __decorateClass$f([
27790
28088
  property({ type: String, reflect: true })
27791
28089
  ], NLDDMenuBarItem.prototype, "text", 2);
27792
- __decorateClass$e([
28090
+ __decorateClass$f([
27793
28091
  property({ type: Boolean, reflect: true })
27794
28092
  ], NLDDMenuBarItem.prototype, "current", 2);
27795
- __decorateClass$e([
28093
+ __decorateClass$f([
27796
28094
  property({ type: String, attribute: "current-type", reflect: true })
27797
28095
  ], NLDDMenuBarItem.prototype, "currentType", 2);
27798
- __decorateClass$e([
28096
+ __decorateClass$f([
27799
28097
  property({ type: String })
27800
28098
  ], NLDDMenuBarItem.prototype, "href", 2);
27801
- __decorateClass$e([
28099
+ __decorateClass$f([
27802
28100
  property({ type: String, reflect: true })
27803
28101
  ], NLDDMenuBarItem.prototype, "icon", 2);
27804
- __decorateClass$e([
28102
+ __decorateClass$f([
27805
28103
  property({ type: Boolean, reflect: true })
27806
28104
  ], NLDDMenuBarItem.prototype, "expandable", 2);
27807
- __decorateClass$e([
28105
+ __decorateClass$f([
27808
28106
  property({ type: Boolean, attribute: "icon-only", reflect: true })
27809
28107
  ], NLDDMenuBarItem.prototype, "iconOnly", 2);
27810
- __decorateClass$e([
28108
+ __decorateClass$f([
27811
28109
  property({ type: String, attribute: "content-priority", reflect: true })
27812
28110
  ], NLDDMenuBarItem.prototype, "contentPriority", 2);
27813
- __decorateClass$e([
28111
+ __decorateClass$f([
27814
28112
  property({ type: Boolean, reflect: true })
27815
28113
  ], NLDDMenuBarItem.prototype, "compact", 2);
27816
- __decorateClass$e([
28114
+ __decorateClass$f([
27817
28115
  property({ type: Boolean, reflect: true })
27818
28116
  ], NLDDMenuBarItem.prototype, "disabled", 2);
27819
- __decorateClass$e([
28117
+ __decorateClass$f([
27820
28118
  property({ type: String, attribute: "accessible-label" })
27821
28119
  ], NLDDMenuBarItem.prototype, "accessibleLabel", 2);
27822
- __decorateClass$e([
28120
+ __decorateClass$f([
27823
28121
  property({ type: String })
27824
28122
  ], NLDDMenuBarItem.prototype, "haspopup", 2);
27825
- __decorateClass$e([
28123
+ __decorateClass$f([
27826
28124
  property({ type: Boolean, reflect: true })
27827
28125
  ], NLDDMenuBarItem.prototype, "expanded", 2);
27828
- __decorateClass$e([
28126
+ __decorateClass$f([
27829
28127
  property({ attribute: false })
27830
28128
  ], NLDDMenuBarItem.prototype, "popoverTargetElement", 2);
27831
- __decorateClass$e([
28129
+ __decorateClass$f([
27832
28130
  property({ attribute: false })
27833
28131
  ], NLDDMenuBarItem.prototype, "popoverTargetAction", 2);
27834
- NLDDMenuBarItem = __decorateClass$e([
28132
+ NLDDMenuBarItem = __decorateClass$f([
27835
28133
  customElement("nldd-menu-bar-item")
27836
28134
  ], NLDDMenuBarItem);
27837
- var __defProp$d = Object.defineProperty;
27838
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
27839
- var __decorateClass$d = (decorators, target, key, kind) => {
27840
- 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;
27841
28139
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27842
28140
  if (decorator = decorators[i])
27843
28141
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27844
- if (kind && result) __defProp$d(target, key, result);
28142
+ if (kind && result) __defProp$e(target, key, result);
27845
28143
  return result;
27846
28144
  };
27847
28145
  let NLDDMenuBar = class extends withTranslations(LitElement, nlddMenuBarTranslations) {
@@ -28075,25 +28373,25 @@ let NLDDMenuBar = class extends withTranslations(LitElement, nlddMenuBarTranslat
28075
28373
  }
28076
28374
  };
28077
28375
  NLDDMenuBar.styles = menuBarStyles;
28078
- __decorateClass$d([
28376
+ __decorateClass$e([
28079
28377
  property({ type: String, attribute: "overflow-text" })
28080
28378
  ], NLDDMenuBar.prototype, "overflowText", 2);
28081
- __decorateClass$d([
28379
+ __decorateClass$e([
28082
28380
  property({ type: String, attribute: "accessible-label" })
28083
28381
  ], NLDDMenuBar.prototype, "accessibleLabel", 2);
28084
- __decorateClass$d([
28382
+ __decorateClass$e([
28085
28383
  property({ type: Boolean, reflect: true })
28086
28384
  ], NLDDMenuBar.prototype, "compact", 2);
28087
- __decorateClass$d([
28385
+ __decorateClass$e([
28088
28386
  query("slot:not([name])")
28089
28387
  ], NLDDMenuBar.prototype, "_defaultSlot", 2);
28090
- __decorateClass$d([
28388
+ __decorateClass$e([
28091
28389
  query(".menu-bar__overflow-button")
28092
28390
  ], NLDDMenuBar.prototype, "_overflowButton", 2);
28093
- __decorateClass$d([
28391
+ __decorateClass$e([
28094
28392
  state()
28095
28393
  ], NLDDMenuBar.prototype, "_menuOpen", 2);
28096
- NLDDMenuBar = __decorateClass$d([
28394
+ NLDDMenuBar = __decorateClass$e([
28097
28395
  customElement("nldd-menu-bar")
28098
28396
  ], NLDDMenuBar);
28099
28397
  const linkStyles = css`
@@ -28236,9 +28534,26 @@ const linkStyles = css`
28236
28534
  :host([size="inherit"]) .link__end-icon {
28237
28535
  top: 0.2em;
28238
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
+ }
28239
28551
  `;
28240
28552
  function template$3(helpers) {
28241
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;
28242
28557
  return html`
28243
28558
  <a class="link"
28244
28559
  href=${this.disabled ? nothing : this.href || nothing}
@@ -28247,7 +28562,7 @@ function template$3(helpers) {
28247
28562
  target=${this.disabled ? nothing : this.target || nothing}
28248
28563
  rel=${this.disabled ? nothing : resolvedRel || nothing}
28249
28564
  aria-disabled=${this.disabled ? "true" : nothing}
28250
- aria-label=${this.accessibleLabel || nothing}
28565
+ aria-label=${ariaLabel}
28251
28566
  @click=${helpers.handleClick}
28252
28567
  >
28253
28568
  ${this.startIcon ? html`
@@ -28257,20 +28572,24 @@ function template$3(helpers) {
28257
28572
  ${this.endIcon ? html`
28258
28573
  <span class="link__end-icon"><nldd-icon name=${this.endIcon}></nldd-icon></span>
28259
28574
  ` : html`<slot name="end-icon"></slot>`}
28575
+ ${renderOpensInNewTabHint ? html`<span class="link__opens-in-new-tab-hint">${opensInNewTabHint}</span>` : nothing}
28260
28576
  </a>
28261
28577
  `;
28262
28578
  }
28263
- var __defProp$c = Object.defineProperty;
28264
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
28265
- var __decorateClass$c = (decorators, target, key, kind) => {
28266
- 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;
28267
28586
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28268
28587
  if (decorator = decorators[i])
28269
28588
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28270
- if (kind && result) __defProp$c(target, key, result);
28589
+ if (kind && result) __defProp$d(target, key, result);
28271
28590
  return result;
28272
28591
  };
28273
- let NLDDLink = class extends LitElement {
28592
+ let NLDDLink = class extends withTranslations(LitElement, nlddLinkTranslations) {
28274
28593
  constructor() {
28275
28594
  super(...arguments);
28276
28595
  this.href = void 0;
@@ -28304,34 +28623,34 @@ let NLDDLink = class extends LitElement {
28304
28623
  }
28305
28624
  };
28306
28625
  NLDDLink.styles = linkStyles;
28307
- __decorateClass$c([
28626
+ __decorateClass$d([
28308
28627
  property({ type: String, reflect: true })
28309
28628
  ], NLDDLink.prototype, "href", 2);
28310
- __decorateClass$c([
28629
+ __decorateClass$d([
28311
28630
  property({ type: String })
28312
28631
  ], NLDDLink.prototype, "target", 2);
28313
- __decorateClass$c([
28632
+ __decorateClass$d([
28314
28633
  property({ type: String })
28315
28634
  ], NLDDLink.prototype, "rel", 2);
28316
- __decorateClass$c([
28635
+ __decorateClass$d([
28317
28636
  property({ type: String, reflect: true })
28318
28637
  ], NLDDLink.prototype, "size", 2);
28319
- __decorateClass$c([
28638
+ __decorateClass$d([
28320
28639
  property({ type: String })
28321
28640
  ], NLDDLink.prototype, "text", 2);
28322
- __decorateClass$c([
28641
+ __decorateClass$d([
28323
28642
  property({ type: String, attribute: "start-icon" })
28324
28643
  ], NLDDLink.prototype, "startIcon", 2);
28325
- __decorateClass$c([
28644
+ __decorateClass$d([
28326
28645
  property({ type: String, attribute: "end-icon" })
28327
28646
  ], NLDDLink.prototype, "endIcon", 2);
28328
- __decorateClass$c([
28647
+ __decorateClass$d([
28329
28648
  property({ type: String, attribute: "accessible-label" })
28330
28649
  ], NLDDLink.prototype, "accessibleLabel", 2);
28331
- __decorateClass$c([
28650
+ __decorateClass$d([
28332
28651
  property({ type: Boolean, reflect: true })
28333
28652
  ], NLDDLink.prototype, "disabled", 2);
28334
- NLDDLink = __decorateClass$c([
28653
+ NLDDLink = __decorateClass$d([
28335
28654
  customElement("nldd-link")
28336
28655
  ], NLDDLink);
28337
28656
  const skipLinkStyles = css`
@@ -28426,14 +28745,14 @@ function template$2(component) {
28426
28745
  const nlddSkipLinkTranslations = {
28427
28746
  "components.skip-link.action": "Sla over"
28428
28747
  };
28429
- var __defProp$b = Object.defineProperty;
28430
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
28431
- var __decorateClass$b = (decorators, target, key, kind) => {
28432
- 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;
28433
28752
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28434
28753
  if (decorator = decorators[i])
28435
28754
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28436
- if (kind && result) __defProp$b(target, key, result);
28755
+ if (kind && result) __defProp$c(target, key, result);
28437
28756
  return result;
28438
28757
  };
28439
28758
  let NLDDSkipLink = class extends withTranslations(LitElement, nlddSkipLinkTranslations) {
@@ -28463,13 +28782,13 @@ let NLDDSkipLink = class extends withTranslations(LitElement, nlddSkipLinkTransl
28463
28782
  }
28464
28783
  };
28465
28784
  NLDDSkipLink.styles = skipLinkStyles;
28466
- __decorateClass$b([
28785
+ __decorateClass$c([
28467
28786
  property({ type: String })
28468
28787
  ], NLDDSkipLink.prototype, "text", 2);
28469
- __decorateClass$b([
28788
+ __decorateClass$c([
28470
28789
  property({ type: String })
28471
28790
  ], NLDDSkipLink.prototype, "href", 2);
28472
- NLDDSkipLink = __decorateClass$b([
28791
+ NLDDSkipLink = __decorateClass$c([
28473
28792
  customElement("nldd-skip-link")
28474
28793
  ], NLDDSkipLink);
28475
28794
  const smMax = unsafeCSS(breakpoints.smMax);
@@ -28924,14 +29243,14 @@ const nlddTopNavigationBarTranslations = {
28924
29243
  "components.top-navigation-bar.utility-menu-bar-label": "Hulplinks",
28925
29244
  "components.top-navigation-bar.menu-sheet-dismiss-action": "Sluit"
28926
29245
  };
28927
- var __defProp$a = Object.defineProperty;
28928
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
28929
- var __decorateClass$a = (decorators, target, key, kind) => {
28930
- 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;
28931
29250
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28932
29251
  if (decorator = decorators[i])
28933
29252
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
28934
- if (kind && result) __defProp$a(target, key, result);
29253
+ if (kind && result) __defProp$b(target, key, result);
28935
29254
  return result;
28936
29255
  };
28937
29256
  let NLDDTopNavigationBar = class extends withTranslations(LitElement, nlddTopNavigationBarTranslations) {
@@ -29288,46 +29607,46 @@ let NLDDTopNavigationBar = class extends withTranslations(LitElement, nlddTopNav
29288
29607
  }
29289
29608
  };
29290
29609
  NLDDTopNavigationBar.styles = topNavigationBarStyles;
29291
- __decorateClass$a([
29610
+ __decorateClass$b([
29292
29611
  property({ type: String, attribute: "website-title" })
29293
29612
  ], NLDDTopNavigationBar.prototype, "websiteTitle", 2);
29294
- __decorateClass$a([
29613
+ __decorateClass$b([
29295
29614
  property({ type: Boolean, attribute: "no-logo", reflect: true })
29296
29615
  ], NLDDTopNavigationBar.prototype, "noLogo", 2);
29297
- __decorateClass$a([
29616
+ __decorateClass$b([
29298
29617
  property({ type: String, attribute: "logo-title" })
29299
29618
  ], NLDDTopNavigationBar.prototype, "logoTitle", 2);
29300
- __decorateClass$a([
29619
+ __decorateClass$b([
29301
29620
  property({ type: String, attribute: "logo-subtitle" })
29302
29621
  ], NLDDTopNavigationBar.prototype, "logoSubtitle", 2);
29303
- __decorateClass$a([
29622
+ __decorateClass$b([
29304
29623
  property({ type: String, attribute: "logo-supporting-text-1" })
29305
29624
  ], NLDDTopNavigationBar.prototype, "logoSupportingText1", 2);
29306
- __decorateClass$a([
29625
+ __decorateClass$b([
29307
29626
  property({ type: String, attribute: "logo-supporting-text-2" })
29308
29627
  ], NLDDTopNavigationBar.prototype, "logoSupportingText2", 2);
29309
- __decorateClass$a([
29628
+ __decorateClass$b([
29310
29629
  property({ type: String, attribute: "logo-href" })
29311
29630
  ], NLDDTopNavigationBar.prototype, "logoHref", 2);
29312
- __decorateClass$a([
29631
+ __decorateClass$b([
29313
29632
  property({ type: String, attribute: "website-href" })
29314
29633
  ], NLDDTopNavigationBar.prototype, "websiteHref", 2);
29315
- __decorateClass$a([
29634
+ __decorateClass$b([
29316
29635
  property({ type: String, attribute: "back-href" })
29317
29636
  ], NLDDTopNavigationBar.prototype, "backHref", 2);
29318
- __decorateClass$a([
29637
+ __decorateClass$b([
29319
29638
  property({ type: String, attribute: "back-text" })
29320
29639
  ], NLDDTopNavigationBar.prototype, "backText", 2);
29321
- __decorateClass$a([
29640
+ __decorateClass$b([
29322
29641
  query(".top-navigation-bar__menu-button")
29323
29642
  ], NLDDTopNavigationBar.prototype, "_menuButton", 2);
29324
- __decorateClass$a([
29643
+ __decorateClass$b([
29325
29644
  query('slot[name="global"]')
29326
29645
  ], NLDDTopNavigationBar.prototype, "_globalSlot", 2);
29327
- __decorateClass$a([
29646
+ __decorateClass$b([
29328
29647
  query('slot[name="utility"]')
29329
29648
  ], NLDDTopNavigationBar.prototype, "_utilitySlot", 2);
29330
- NLDDTopNavigationBar = __decorateClass$a([
29649
+ NLDDTopNavigationBar = __decorateClass$b([
29331
29650
  customElement("nldd-top-navigation-bar")
29332
29651
  ], NLDDTopNavigationBar);
29333
29652
  const topTitleBarStyles = css`
@@ -29523,14 +29842,14 @@ function topTitleBarTemplate(component) {
29523
29842
  </div>
29524
29843
  `;
29525
29844
  }
29526
- var __defProp$9 = Object.defineProperty;
29527
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
29528
- var __decorateClass$9 = (decorators, target, key, kind) => {
29529
- 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;
29530
29849
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
29531
29850
  if (decorator = decorators[i])
29532
29851
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
29533
- if (kind && result) __defProp$9(target, key, result);
29852
+ if (kind && result) __defProp$a(target, key, result);
29534
29853
  return result;
29535
29854
  };
29536
29855
  let NLDDTopTitleBar = class extends LitElement {
@@ -29635,28 +29954,28 @@ let NLDDTopTitleBar = class extends LitElement {
29635
29954
  }
29636
29955
  };
29637
29956
  NLDDTopTitleBar.styles = topTitleBarStyles;
29638
- __decorateClass$9([
29957
+ __decorateClass$a([
29639
29958
  property({ type: String })
29640
29959
  ], NLDDTopTitleBar.prototype, "text", 2);
29641
- __decorateClass$9([
29960
+ __decorateClass$a([
29642
29961
  property({ type: String, attribute: "supporting-text" })
29643
29962
  ], NLDDTopTitleBar.prototype, "supportingText", 2);
29644
- __decorateClass$9([
29963
+ __decorateClass$a([
29645
29964
  property({ type: String, attribute: "collapse-anchor" })
29646
29965
  ], NLDDTopTitleBar.prototype, "collapseAnchor", 2);
29647
- __decorateClass$9([
29966
+ __decorateClass$a([
29648
29967
  property({ type: String, attribute: "back-text" })
29649
29968
  ], NLDDTopTitleBar.prototype, "backText", 2);
29650
- __decorateClass$9([
29969
+ __decorateClass$a([
29651
29970
  property({ type: String, attribute: "back-href" })
29652
29971
  ], NLDDTopTitleBar.prototype, "backHref", 2);
29653
- __decorateClass$9([
29972
+ __decorateClass$a([
29654
29973
  property({ type: String, attribute: "dismiss-text" })
29655
29974
  ], NLDDTopTitleBar.prototype, "dismissText", 2);
29656
- __decorateClass$9([
29975
+ __decorateClass$a([
29657
29976
  state()
29658
29977
  ], NLDDTopTitleBar.prototype, "_hasToolbarItems", 2);
29659
- NLDDTopTitleBar = __decorateClass$9([
29978
+ NLDDTopTitleBar = __decorateClass$a([
29660
29979
  customElement("nldd-top-title-bar")
29661
29980
  ], NLDDTopTitleBar);
29662
29981
  const topTitleBar = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -29678,6 +29997,7 @@ const tabBarStyles = css`
29678
29997
  ${inheritedTextReset}
29679
29998
  display: inline-block;
29680
29999
  position: relative;
30000
+ max-width: 100%;
29681
30001
  isolation: isolate;
29682
30002
  user-select: none;
29683
30003
  -webkit-tap-highlight-color: transparent;
@@ -29707,13 +30027,14 @@ const tabBarStyles = css`
29707
30027
  }
29708
30028
 
29709
30029
  .tab-bar__items {
29710
- display: flex;
30030
+ display: grid;
29711
30031
  position: relative;
29712
30032
  border-radius: var(--semantics-controls-md-corner-radius);
29713
30033
  background-color: var(--semantics-buttons-neutral-tinted-background-color);
29714
- flex-direction: row;
30034
+ min-width: 0;
30035
+ grid-auto-flow: column;
30036
+ grid-auto-columns: auto;
29715
30037
  align-items: center;
29716
- justify-content: center;
29717
30038
  gap: var(--_gap);
29718
30039
  }
29719
30040
 
@@ -29763,6 +30084,14 @@ const tabBarItemStyles = css`
29763
30084
  display: none;
29764
30085
  }
29765
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
+
29766
30095
 
29767
30096
  /* # Block */
29768
30097
 
@@ -29787,6 +30116,13 @@ const tabBarItemStyles = css`
29787
30116
  cursor: var(--semantics-controls-link-cursor);
29788
30117
  }
29789
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
+
29790
30126
  :host([variant="icon-and-text"]:not([size="lg"])) .tab-bar__item {
29791
30127
  height: var(--semantics-controls-md-min-size);
29792
30128
  padding: var(--primitives-space-8) var(--primitives-space-12);
@@ -29913,6 +30249,11 @@ const tabBarItemStyles = css`
29913
30249
  .tab-bar__item-text {
29914
30250
  position: relative;
29915
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;
29916
30257
  }
29917
30258
 
29918
30259
  :host([variant="icon-and-text"][size="lg"]) .tab-bar__item-text {
@@ -29997,14 +30338,14 @@ function tabBarItemTemplate(component) {
29997
30338
  }
29998
30339
  return result;
29999
30340
  }
30000
- var __defProp$8 = Object.defineProperty;
30001
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
30002
- var __decorateClass$8 = (decorators, target, key, kind) => {
30003
- 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;
30004
30345
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30005
30346
  if (decorator = decorators[i])
30006
30347
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30007
- if (kind && result) __defProp$8(target, key, result);
30348
+ if (kind && result) __defProp$9(target, key, result);
30008
30349
  return result;
30009
30350
  };
30010
30351
  let NLDDTabBarItem = class extends LitElement {
@@ -30062,34 +30403,34 @@ let NLDDTabBarItem = class extends LitElement {
30062
30403
  }
30063
30404
  };
30064
30405
  NLDDTabBarItem.styles = tabBarItemStyles;
30065
- __decorateClass$8([
30406
+ __decorateClass$9([
30066
30407
  property({ type: Boolean, reflect: true })
30067
30408
  ], NLDDTabBarItem.prototype, "selected", 2);
30068
- __decorateClass$8([
30409
+ __decorateClass$9([
30069
30410
  property({ type: String })
30070
30411
  ], NLDDTabBarItem.prototype, "href", 2);
30071
- __decorateClass$8([
30412
+ __decorateClass$9([
30072
30413
  property({ type: String })
30073
30414
  ], NLDDTabBarItem.prototype, "_groupVariant", 2);
30074
- __decorateClass$8([
30415
+ __decorateClass$9([
30075
30416
  property({ type: String })
30076
30417
  ], NLDDTabBarItem.prototype, "text", 2);
30077
- __decorateClass$8([
30418
+ __decorateClass$9([
30078
30419
  property({ type: String, reflect: true })
30079
30420
  ], NLDDTabBarItem.prototype, "icon", 2);
30080
- __decorateClass$8([
30421
+ __decorateClass$9([
30081
30422
  property({ type: String, reflect: true })
30082
30423
  ], NLDDTabBarItem.prototype, "size", 2);
30083
- __decorateClass$8([
30424
+ __decorateClass$9([
30084
30425
  state()
30085
30426
  ], NLDDTabBarItem.prototype, "_hasIconSlot", 2);
30086
- __decorateClass$8([
30427
+ __decorateClass$9([
30087
30428
  state()
30088
30429
  ], NLDDTabBarItem.prototype, "_navigation", 2);
30089
- __decorateClass$8([
30430
+ __decorateClass$9([
30090
30431
  state()
30091
30432
  ], NLDDTabBarItem.prototype, "_isFallbackFocusable", 2);
30092
- NLDDTabBarItem = __decorateClass$8([
30433
+ NLDDTabBarItem = __decorateClass$9([
30093
30434
  customElement("nldd-tab-bar-item")
30094
30435
  ], NLDDTabBarItem);
30095
30436
  let NLDDTabBar = class extends LitElement {
@@ -30103,10 +30444,12 @@ let NLDDTabBar = class extends LitElement {
30103
30444
  this._hasCustomLabel = false;
30104
30445
  this._handleItemSelect = (event) => {
30105
30446
  event.stopPropagation();
30106
- const items = this._getItems();
30107
- items.forEach((item) => {
30108
- item.selected = item === event.detail.item;
30109
- });
30447
+ if (!this.navigation) {
30448
+ const items = this._getItems();
30449
+ items.forEach((item) => {
30450
+ item.selected = item === event.detail.item;
30451
+ });
30452
+ }
30110
30453
  this.dispatchEvent(new CustomEvent("tabchange", {
30111
30454
  bubbles: true,
30112
30455
  composed: true,
@@ -30202,22 +30545,22 @@ let NLDDTabBar = class extends LitElement {
30202
30545
  }
30203
30546
  };
30204
30547
  NLDDTabBar.styles = tabBarStyles;
30205
- __decorateClass$8([
30548
+ __decorateClass$9([
30206
30549
  property({ type: Boolean, reflect: true })
30207
30550
  ], NLDDTabBar.prototype, "centered", 2);
30208
- __decorateClass$8([
30551
+ __decorateClass$9([
30209
30552
  property({ type: String, reflect: true })
30210
30553
  ], NLDDTabBar.prototype, "variant", 2);
30211
- __decorateClass$8([
30554
+ __decorateClass$9([
30212
30555
  property({ type: String, reflect: true })
30213
30556
  ], NLDDTabBar.prototype, "size", 2);
30214
- __decorateClass$8([
30557
+ __decorateClass$9([
30215
30558
  property({ type: Boolean, reflect: true })
30216
30559
  ], NLDDTabBar.prototype, "navigation", 2);
30217
- __decorateClass$8([
30560
+ __decorateClass$9([
30218
30561
  property({ type: String, attribute: "accessible-label" })
30219
30562
  ], NLDDTabBar.prototype, "accessibleLabel", 2);
30220
- NLDDTabBar = __decorateClass$8([
30563
+ NLDDTabBar = __decorateClass$9([
30221
30564
  customElement("nldd-tab-bar")
30222
30565
  ], NLDDTabBar);
30223
30566
  const documentTabBarStyles = css`
@@ -30243,6 +30586,7 @@ const documentTabBarStyles = css`
30243
30586
  ${inheritedTextReset}
30244
30587
  display: block;
30245
30588
  position: relative;
30589
+ width: 100%;
30246
30590
  isolation: isolate;
30247
30591
  user-select: none;
30248
30592
  -webkit-tap-highlight-color: transparent;
@@ -30768,14 +31112,14 @@ const nlddDocumentTabBarTranslations = {
30768
31112
  "components.document-tab-bar.reorder-no-change-text": "Tabblad verplaatst. Positie ongewijzigd.",
30769
31113
  "components.document-tab-bar.reorder-cancelled-text": "Slepen geannuleerd."
30770
31114
  };
30771
- var __defProp$7 = Object.defineProperty;
30772
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
30773
- var __decorateClass$7 = (decorators, target, key, kind) => {
30774
- 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;
30775
31119
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30776
31120
  if (decorator = decorators[i])
30777
31121
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30778
- if (kind && result) __defProp$7(target, key, result);
31122
+ if (kind && result) __defProp$8(target, key, result);
30779
31123
  return result;
30780
31124
  };
30781
31125
  const DRAG_THRESHOLD = 5;
@@ -30834,37 +31178,37 @@ let NLDDDocumentTabBarItem = class extends LitElement {
30834
31178
  };
30835
31179
  NLDDDocumentTabBarItem.styles = documentTabBarItemStyles;
30836
31180
  NLDDDocumentTabBarItem._idCounter = 0;
30837
- __decorateClass$7([
31181
+ __decorateClass$8([
30838
31182
  property({ type: Boolean, reflect: true })
30839
31183
  ], NLDDDocumentTabBarItem.prototype, "selected", 2);
30840
- __decorateClass$7([
31184
+ __decorateClass$8([
30841
31185
  property({ type: String, attribute: "text" })
30842
31186
  ], NLDDDocumentTabBarItem.prototype, "text", 2);
30843
- __decorateClass$7([
31187
+ __decorateClass$8([
30844
31188
  property({ type: String, attribute: "supporting-text" })
30845
31189
  ], NLDDDocumentTabBarItem.prototype, "supportingText", 2);
30846
- __decorateClass$7([
31190
+ __decorateClass$8([
30847
31191
  property({ type: String, attribute: "short-text" })
30848
31192
  ], NLDDDocumentTabBarItem.prototype, "shortText", 2);
30849
- __decorateClass$7([
31193
+ __decorateClass$8([
30850
31194
  property({ type: String, attribute: "short-supporting-text" })
30851
31195
  ], NLDDDocumentTabBarItem.prototype, "shortSupportingText", 2);
30852
- __decorateClass$7([
31196
+ __decorateClass$8([
30853
31197
  property({ type: String })
30854
31198
  ], NLDDDocumentTabBarItem.prototype, "href", 2);
30855
- __decorateClass$7([
31199
+ __decorateClass$8([
30856
31200
  state()
30857
31201
  ], NLDDDocumentTabBarItem.prototype, "_isShort", 2);
30858
- __decorateClass$7([
31202
+ __decorateClass$8([
30859
31203
  state()
30860
31204
  ], NLDDDocumentTabBarItem.prototype, "_dismissButtonAccessibilityLabel", 2);
30861
- __decorateClass$7([
31205
+ __decorateClass$8([
30862
31206
  state()
30863
31207
  ], NLDDDocumentTabBarItem.prototype, "_isFallbackFocusable", 2);
30864
- __decorateClass$7([
31208
+ __decorateClass$8([
30865
31209
  state()
30866
31210
  ], NLDDDocumentTabBarItem.prototype, "_navigation", 2);
30867
- NLDDDocumentTabBarItem = __decorateClass$7([
31211
+ NLDDDocumentTabBarItem = __decorateClass$8([
30868
31212
  customElement("nldd-document-tab-bar-item")
30869
31213
  ], NLDDDocumentTabBarItem);
30870
31214
  let NLDDDocumentTabBar = class extends withTranslations(LitElement, nlddDocumentTabBarTranslations) {
@@ -31427,19 +31771,19 @@ let NLDDDocumentTabBar = class extends withTranslations(LitElement, nlddDocument
31427
31771
  };
31428
31772
  NLDDDocumentTabBar.styles = documentTabBarStyles;
31429
31773
  NLDDDocumentTabBar._idCounter = 0;
31430
- __decorateClass$7([
31774
+ __decorateClass$8([
31431
31775
  property({ type: String, attribute: "accessible-label" })
31432
31776
  ], NLDDDocumentTabBar.prototype, "accessibleLabel", 2);
31433
- __decorateClass$7([
31777
+ __decorateClass$8([
31434
31778
  property({ type: Boolean, reflect: true })
31435
31779
  ], NLDDDocumentTabBar.prototype, "navigation", 2);
31436
- __decorateClass$7([
31780
+ __decorateClass$8([
31437
31781
  state()
31438
31782
  ], NLDDDocumentTabBar.prototype, "_overflowCount", 2);
31439
- __decorateClass$7([
31783
+ __decorateClass$8([
31440
31784
  state()
31441
31785
  ], NLDDDocumentTabBar.prototype, "_menuOpen", 2);
31442
- NLDDDocumentTabBar = __decorateClass$7([
31786
+ NLDDDocumentTabBar = __decorateClass$8([
31443
31787
  customElement("nldd-document-tab-bar")
31444
31788
  ], NLDDDocumentTabBar);
31445
31789
  const paginationStyles = css`
@@ -31845,14 +32189,14 @@ const nlddPaginationTranslations = {
31845
32189
  "components.pagination.page-action": "Ga naar pagina {page}",
31846
32190
  "components.pagination.go-to-page-label": "Ga naar pagina"
31847
32191
  };
31848
- var __defProp$6 = Object.defineProperty;
31849
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
31850
- var __decorateClass$6 = (decorators, target, key, kind) => {
31851
- 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;
31852
32196
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
31853
32197
  if (decorator = decorators[i])
31854
32198
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31855
- if (kind && result) __defProp$6(target, key, result);
32199
+ if (kind && result) __defProp$7(target, key, result);
31856
32200
  return result;
31857
32201
  };
31858
32202
  let NLDDPagination = class extends LitElement {
@@ -31939,25 +32283,25 @@ let NLDDPagination = class extends LitElement {
31939
32283
  }
31940
32284
  };
31941
32285
  NLDDPagination.styles = paginationStyles;
31942
- __decorateClass$6([
32286
+ __decorateClass$7([
31943
32287
  property({ type: Number, reflect: true })
31944
32288
  ], NLDDPagination.prototype, "current", 2);
31945
- __decorateClass$6([
32289
+ __decorateClass$7([
31946
32290
  property({ type: Number, reflect: true })
31947
32291
  ], NLDDPagination.prototype, "total", 2);
31948
- __decorateClass$6([
32292
+ __decorateClass$7([
31949
32293
  property({ type: Boolean, reflect: true })
31950
32294
  ], NLDDPagination.prototype, "disabled", 2);
31951
- __decorateClass$6([
32295
+ __decorateClass$7([
31952
32296
  property({ type: Boolean, reflect: true })
31953
32297
  ], NLDDPagination.prototype, "centered", 2);
31954
- __decorateClass$6([
32298
+ __decorateClass$7([
31955
32299
  property({ type: String, attribute: "href-pattern" })
31956
32300
  ], NLDDPagination.prototype, "hrefPattern", 2);
31957
- __decorateClass$6([
32301
+ __decorateClass$7([
31958
32302
  property({ type: Object })
31959
32303
  ], NLDDPagination.prototype, "translations", 2);
31960
- NLDDPagination = __decorateClass$6([
32304
+ NLDDPagination = __decorateClass$7([
31961
32305
  customElement("nldd-pagination")
31962
32306
  ], NLDDPagination);
31963
32307
  const mdMin = unsafeCSS(breakpoints.mdMin);
@@ -32076,14 +32420,14 @@ function modalDialogTemplate(component) {
32076
32420
  </dialog>
32077
32421
  `;
32078
32422
  }
32079
- var __defProp$5 = Object.defineProperty;
32080
- var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
32081
- var __decorateClass$5 = (decorators, target, key, kind) => {
32082
- 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;
32083
32427
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32084
32428
  if (decorator = decorators[i])
32085
32429
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32086
- if (kind && result) __defProp$5(target, key, result);
32430
+ if (kind && result) __defProp$6(target, key, result);
32087
32431
  return result;
32088
32432
  };
32089
32433
  let NLDDModalDialog = class extends LitElement {
@@ -32148,22 +32492,22 @@ let NLDDModalDialog = class extends LitElement {
32148
32492
  }
32149
32493
  };
32150
32494
  NLDDModalDialog.styles = modalDialogStyles;
32151
- __decorateClass$5([
32495
+ __decorateClass$6([
32152
32496
  property({ type: String, reflect: true })
32153
32497
  ], NLDDModalDialog.prototype, "variant", 2);
32154
- __decorateClass$5([
32498
+ __decorateClass$6([
32155
32499
  property({ type: String, reflect: true })
32156
32500
  ], NLDDModalDialog.prototype, "icon", 2);
32157
- __decorateClass$5([
32501
+ __decorateClass$6([
32158
32502
  property({ type: String, reflect: true })
32159
32503
  ], NLDDModalDialog.prototype, "text", 2);
32160
- __decorateClass$5([
32504
+ __decorateClass$6([
32161
32505
  property({ type: String, reflect: true, attribute: "supporting-text" })
32162
32506
  ], NLDDModalDialog.prototype, "supportingText", 2);
32163
- __decorateClass$5([
32507
+ __decorateClass$6([
32164
32508
  property({ type: String, attribute: "accessible-label" })
32165
32509
  ], NLDDModalDialog.prototype, "accessibleLabel", 2);
32166
- NLDDModalDialog = __decorateClass$5([
32510
+ NLDDModalDialog = __decorateClass$6([
32167
32511
  customElement("nldd-modal-dialog")
32168
32512
  ], NLDDModalDialog);
32169
32513
  const bannerStyles = css`
@@ -32374,14 +32718,14 @@ function bannerTemplate(component) {
32374
32718
  const nlddBannerTranslations = {
32375
32719
  "components.banner.dismiss-action": "Sluit"
32376
32720
  };
32377
- var __defProp$4 = Object.defineProperty;
32378
- var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
32379
- var __decorateClass$4 = (decorators, target, key, kind) => {
32380
- 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;
32381
32725
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32382
32726
  if (decorator = decorators[i])
32383
32727
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32384
- if (kind && result) __defProp$4(target, key, result);
32728
+ if (kind && result) __defProp$5(target, key, result);
32385
32729
  return result;
32386
32730
  };
32387
32731
  const DEFAULT_ICONS = {
@@ -32487,34 +32831,34 @@ let NLDDBanner = class extends LitElement {
32487
32831
  }
32488
32832
  };
32489
32833
  NLDDBanner.styles = bannerStyles;
32490
- __decorateClass$4([
32834
+ __decorateClass$5([
32491
32835
  property({ type: String, reflect: true })
32492
32836
  ], NLDDBanner.prototype, "variant", 2);
32493
- __decorateClass$4([
32837
+ __decorateClass$5([
32494
32838
  property({ type: String, reflect: true })
32495
32839
  ], NLDDBanner.prototype, "icon", 2);
32496
- __decorateClass$4([
32840
+ __decorateClass$5([
32497
32841
  property({ type: String })
32498
32842
  ], NLDDBanner.prototype, "text", 2);
32499
- __decorateClass$4([
32843
+ __decorateClass$5([
32500
32844
  property({ type: String, attribute: "supporting-text" })
32501
32845
  ], NLDDBanner.prototype, "supportingText", 2);
32502
- __decorateClass$4([
32846
+ __decorateClass$5([
32503
32847
  property({ type: Number, reflect: true, attribute: "heading-level" })
32504
32848
  ], NLDDBanner.prototype, "headingLevel", 2);
32505
- __decorateClass$4([
32849
+ __decorateClass$5([
32506
32850
  property({ type: Boolean, reflect: true })
32507
32851
  ], NLDDBanner.prototype, "dismissible", 2);
32508
- __decorateClass$4([
32852
+ __decorateClass$5([
32509
32853
  property({ type: Object })
32510
32854
  ], NLDDBanner.prototype, "translations", 2);
32511
- __decorateClass$4([
32855
+ __decorateClass$5([
32512
32856
  state()
32513
32857
  ], NLDDBanner.prototype, "_hasContent", 2);
32514
- __decorateClass$4([
32858
+ __decorateClass$5([
32515
32859
  state()
32516
32860
  ], NLDDBanner.prototype, "_hasActions", 2);
32517
- NLDDBanner = __decorateClass$4([
32861
+ NLDDBanner = __decorateClass$5([
32518
32862
  customElement("nldd-banner")
32519
32863
  ], NLDDBanner);
32520
32864
  const badgeStyles = css`
@@ -32781,14 +33125,14 @@ function template(component) {
32781
33125
  const nlddBadgeTranslations = {
32782
33126
  "components.badge.notification-text": "Notificatie"
32783
33127
  };
32784
- var __defProp$3 = Object.defineProperty;
32785
- var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
32786
- var __decorateClass$3 = (decorators, target, key, kind) => {
32787
- 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;
32788
33132
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
32789
33133
  if (decorator = decorators[i])
32790
33134
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32791
- if (kind && result) __defProp$3(target, key, result);
33135
+ if (kind && result) __defProp$4(target, key, result);
32792
33136
  return result;
32793
33137
  };
32794
33138
  let NLDDBadge = class extends withTranslations(LitElement, nlddBadgeTranslations) {
@@ -32828,28 +33172,28 @@ let NLDDBadge = class extends withTranslations(LitElement, nlddBadgeTranslations
32828
33172
  }
32829
33173
  };
32830
33174
  NLDDBadge.styles = badgeStyles;
32831
- __decorateClass$3([
33175
+ __decorateClass$4([
32832
33176
  property({ type: String, reflect: true })
32833
33177
  ], NLDDBadge.prototype, "color", 2);
32834
- __decorateClass$3([
33178
+ __decorateClass$4([
32835
33179
  property({ type: String, reflect: true })
32836
33180
  ], NLDDBadge.prototype, "size", 2);
32837
- __decorateClass$3([
33181
+ __decorateClass$4([
32838
33182
  property({ type: String })
32839
33183
  ], NLDDBadge.prototype, "text", 2);
32840
- __decorateClass$3([
33184
+ __decorateClass$4([
32841
33185
  property({ type: Number, reflect: true })
32842
33186
  ], NLDDBadge.prototype, "number", 2);
32843
- __decorateClass$3([
33187
+ __decorateClass$4([
32844
33188
  property({ type: Number, reflect: true })
32845
33189
  ], NLDDBadge.prototype, "max", 2);
32846
- __decorateClass$3([
33190
+ __decorateClass$4([
32847
33191
  property({ type: String })
32848
33192
  ], NLDDBadge.prototype, "icon", 2);
32849
- __decorateClass$3([
33193
+ __decorateClass$4([
32850
33194
  property({ type: String, attribute: "accessible-label" })
32851
33195
  ], NLDDBadge.prototype, "accessibleLabel", 2);
32852
- NLDDBadge = __decorateClass$3([
33196
+ NLDDBadge = __decorateClass$4([
32853
33197
  customElement("nldd-badge")
32854
33198
  ], NLDDBadge);
32855
33199
  const progressBarStyles = css`
@@ -33293,14 +33637,14 @@ const nlddProgressBarTranslations = {
33293
33637
  "components.progress-bar.loading-text": "Aan het laden",
33294
33638
  "components.progress-bar.label-text": "Voortgang"
33295
33639
  };
33296
- var __defProp$2 = Object.defineProperty;
33297
- var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
33298
- var __decorateClass$2 = (decorators, target, key, kind) => {
33299
- 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;
33300
33644
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33301
33645
  if (decorator = decorators[i])
33302
33646
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
33303
- if (kind && result) __defProp$2(target, key, result);
33647
+ if (kind && result) __defProp$3(target, key, result);
33304
33648
  return result;
33305
33649
  };
33306
33650
  const INDETERMINATE_TRANSITION_MS$1 = 300;
@@ -33333,22 +33677,22 @@ let NLDDProgressBarSegmentIndicator = class extends LitElement {
33333
33677
  }
33334
33678
  };
33335
33679
  NLDDProgressBarSegmentIndicator.styles = progressBarSegmentIndicatorStyles;
33336
- __decorateClass$2([
33680
+ __decorateClass$3([
33337
33681
  property({ type: Number, reflect: true })
33338
33682
  ], NLDDProgressBarSegmentIndicator.prototype, "value", 2);
33339
- __decorateClass$2([
33683
+ __decorateClass$3([
33340
33684
  property({ type: String, reflect: true })
33341
33685
  ], NLDDProgressBarSegmentIndicator.prototype, "color", 2);
33342
- __decorateClass$2([
33686
+ __decorateClass$3([
33343
33687
  property({ type: String, reflect: true })
33344
33688
  ], NLDDProgressBarSegmentIndicator.prototype, "name", 2);
33345
- __decorateClass$2([
33689
+ __decorateClass$3([
33346
33690
  property({ type: String, reflect: true, attribute: "tooltip-text" })
33347
33691
  ], NLDDProgressBarSegmentIndicator.prototype, "tooltipText", 2);
33348
- __decorateClass$2([
33692
+ __decorateClass$3([
33349
33693
  state()
33350
33694
  ], NLDDProgressBarSegmentIndicator.prototype, "_autoTooltipText", 2);
33351
- NLDDProgressBarSegmentIndicator = __decorateClass$2([
33695
+ NLDDProgressBarSegmentIndicator = __decorateClass$3([
33352
33696
  customElement("nldd-progress-bar-segment-indicator")
33353
33697
  ], NLDDProgressBarSegmentIndicator);
33354
33698
  let NLDDProgressBar = class extends LitElement {
@@ -33559,52 +33903,52 @@ let NLDDProgressBar = class extends LitElement {
33559
33903
  }
33560
33904
  };
33561
33905
  NLDDProgressBar.styles = progressBarStyles;
33562
- __decorateClass$2([
33906
+ __decorateClass$3([
33563
33907
  property({ type: String, reflect: true })
33564
33908
  ], NLDDProgressBar.prototype, "mode", 2);
33565
- __decorateClass$2([
33909
+ __decorateClass$3([
33566
33910
  property({ type: Number, reflect: true })
33567
33911
  ], NLDDProgressBar.prototype, "max", 2);
33568
- __decorateClass$2([
33912
+ __decorateClass$3([
33569
33913
  property({ type: Number, reflect: true })
33570
33914
  ], NLDDProgressBar.prototype, "value", 2);
33571
- __decorateClass$2([
33915
+ __decorateClass$3([
33572
33916
  property({ type: String, reflect: true })
33573
33917
  ], NLDDProgressBar.prototype, "color", 2);
33574
- __decorateClass$2([
33918
+ __decorateClass$3([
33575
33919
  property({ type: String, reflect: true })
33576
33920
  ], NLDDProgressBar.prototype, "size", 2);
33577
- __decorateClass$2([
33921
+ __decorateClass$3([
33578
33922
  property({ type: String, reflect: true })
33579
33923
  ], NLDDProgressBar.prototype, "text", 2);
33580
- __decorateClass$2([
33924
+ __decorateClass$3([
33581
33925
  property({ type: String, reflect: true, attribute: "value-format" })
33582
33926
  ], NLDDProgressBar.prototype, "valueFormat", 2);
33583
- __decorateClass$2([
33927
+ __decorateClass$3([
33584
33928
  property({ type: String, reflect: true, attribute: "value-text" })
33585
33929
  ], NLDDProgressBar.prototype, "valueText", 2);
33586
- __decorateClass$2([
33930
+ __decorateClass$3([
33587
33931
  property({ type: String, reflect: true, attribute: "value-display" })
33588
33932
  ], NLDDProgressBar.prototype, "valueDisplay", 2);
33589
- __decorateClass$2([
33933
+ __decorateClass$3([
33590
33934
  property({ type: String, reflect: true, attribute: "accessible-label" })
33591
33935
  ], NLDDProgressBar.prototype, "accessibleLabel", 2);
33592
- __decorateClass$2([
33936
+ __decorateClass$3([
33593
33937
  property({ type: Boolean, reflect: true })
33594
33938
  ], NLDDProgressBar.prototype, "indeterminate", 2);
33595
- __decorateClass$2([
33939
+ __decorateClass$3([
33596
33940
  property({ type: Object })
33597
33941
  ], NLDDProgressBar.prototype, "translations", 2);
33598
- __decorateClass$2([
33942
+ __decorateClass$3([
33599
33943
  state()
33600
33944
  ], NLDDProgressBar.prototype, "_segmentIndicators", 2);
33601
- __decorateClass$2([
33945
+ __decorateClass$3([
33602
33946
  state()
33603
33947
  ], NLDDProgressBar.prototype, "_indeterminateExiting", 2);
33604
- __decorateClass$2([
33948
+ __decorateClass$3([
33605
33949
  state()
33606
33950
  ], NLDDProgressBar.prototype, "_indeterminateEntering", 2);
33607
- NLDDProgressBar = __decorateClass$2([
33951
+ NLDDProgressBar = __decorateClass$3([
33608
33952
  customElement("nldd-progress-bar")
33609
33953
  ], NLDDProgressBar);
33610
33954
  const progressCircleStyles = css`
@@ -33993,14 +34337,14 @@ const nlddProgressCircleTranslations = {
33993
34337
  "components.progress-circle.loading-text": "Aan het laden",
33994
34338
  "components.progress-circle.label-text": "Voortgang"
33995
34339
  };
33996
- var __defProp$1 = Object.defineProperty;
33997
- var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
33998
- var __decorateClass$1 = (decorators, target, key, kind) => {
33999
- 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;
34000
34344
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34001
34345
  if (decorator = decorators[i])
34002
34346
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
34003
- if (kind && result) __defProp$1(target, key, result);
34347
+ if (kind && result) __defProp$2(target, key, result);
34004
34348
  return result;
34005
34349
  };
34006
34350
  const INDETERMINATE_TRANSITION_MS = 300;
@@ -34016,16 +34360,16 @@ let NLDDProgressCircleSegmentIndicator = class extends LitElement {
34016
34360
  }
34017
34361
  };
34018
34362
  NLDDProgressCircleSegmentIndicator.styles = progressCircleSegmentIndicatorStyles;
34019
- __decorateClass$1([
34363
+ __decorateClass$2([
34020
34364
  property({ type: Number, reflect: true })
34021
34365
  ], NLDDProgressCircleSegmentIndicator.prototype, "value", 2);
34022
- __decorateClass$1([
34366
+ __decorateClass$2([
34023
34367
  property({ type: String, reflect: true })
34024
34368
  ], NLDDProgressCircleSegmentIndicator.prototype, "color", 2);
34025
- __decorateClass$1([
34369
+ __decorateClass$2([
34026
34370
  property({ type: String, reflect: true })
34027
34371
  ], NLDDProgressCircleSegmentIndicator.prototype, "name", 2);
34028
- NLDDProgressCircleSegmentIndicator = __decorateClass$1([
34372
+ NLDDProgressCircleSegmentIndicator = __decorateClass$2([
34029
34373
  customElement("nldd-progress-circle-segment-indicator")
34030
34374
  ], NLDDProgressCircleSegmentIndicator);
34031
34375
  let NLDDProgressCircle = class extends LitElement {
@@ -34287,55 +34631,55 @@ let NLDDProgressCircle = class extends LitElement {
34287
34631
  };
34288
34632
  NLDDProgressCircle.styles = progressCircleStyles;
34289
34633
  NLDDProgressCircle._idCounter = 0;
34290
- __decorateClass$1([
34634
+ __decorateClass$2([
34291
34635
  property({ type: String, reflect: true })
34292
34636
  ], NLDDProgressCircle.prototype, "mode", 2);
34293
- __decorateClass$1([
34637
+ __decorateClass$2([
34294
34638
  property({ type: Number, reflect: true })
34295
34639
  ], NLDDProgressCircle.prototype, "max", 2);
34296
- __decorateClass$1([
34640
+ __decorateClass$2([
34297
34641
  property({ type: Number, reflect: true })
34298
34642
  ], NLDDProgressCircle.prototype, "value", 2);
34299
- __decorateClass$1([
34643
+ __decorateClass$2([
34300
34644
  property({ type: String, reflect: true })
34301
34645
  ], NLDDProgressCircle.prototype, "color", 2);
34302
- __decorateClass$1([
34646
+ __decorateClass$2([
34303
34647
  property({ type: String, reflect: true })
34304
34648
  ], NLDDProgressCircle.prototype, "size", 2);
34305
- __decorateClass$1([
34649
+ __decorateClass$2([
34306
34650
  property({ type: String, reflect: true })
34307
34651
  ], NLDDProgressCircle.prototype, "text", 2);
34308
- __decorateClass$1([
34652
+ __decorateClass$2([
34309
34653
  property({ type: String, reflect: true, attribute: "value-format" })
34310
34654
  ], NLDDProgressCircle.prototype, "valueFormat", 2);
34311
- __decorateClass$1([
34655
+ __decorateClass$2([
34312
34656
  property({ type: String, reflect: true, attribute: "value-text" })
34313
34657
  ], NLDDProgressCircle.prototype, "valueText", 2);
34314
- __decorateClass$1([
34658
+ __decorateClass$2([
34315
34659
  property({ type: String, reflect: true, attribute: "value-display" })
34316
34660
  ], NLDDProgressCircle.prototype, "valueDisplay", 2);
34317
- __decorateClass$1([
34661
+ __decorateClass$2([
34318
34662
  property({ type: String, reflect: true, attribute: "accessible-label" })
34319
34663
  ], NLDDProgressCircle.prototype, "accessibleLabel", 2);
34320
- __decorateClass$1([
34664
+ __decorateClass$2([
34321
34665
  property({ type: Boolean, reflect: true })
34322
34666
  ], NLDDProgressCircle.prototype, "indeterminate", 2);
34323
- __decorateClass$1([
34667
+ __decorateClass$2([
34324
34668
  property({ type: Object })
34325
34669
  ], NLDDProgressCircle.prototype, "translations", 2);
34326
- __decorateClass$1([
34670
+ __decorateClass$2([
34327
34671
  state()
34328
34672
  ], NLDDProgressCircle.prototype, "_segmentIndicators", 2);
34329
- __decorateClass$1([
34673
+ __decorateClass$2([
34330
34674
  state()
34331
34675
  ], NLDDProgressCircle.prototype, "_indeterminateExiting", 2);
34332
- __decorateClass$1([
34676
+ __decorateClass$2([
34333
34677
  state()
34334
34678
  ], NLDDProgressCircle.prototype, "_indeterminateEntering", 2);
34335
- __decorateClass$1([
34679
+ __decorateClass$2([
34336
34680
  state()
34337
34681
  ], NLDDProgressCircle.prototype, "_arcsAtZero", 2);
34338
- NLDDProgressCircle = __decorateClass$1([
34682
+ NLDDProgressCircle = __decorateClass$2([
34339
34683
  customElement("nldd-progress-circle")
34340
34684
  ], NLDDProgressCircle);
34341
34685
  const statusBarStyles = css`
@@ -34507,27 +34851,29 @@ function statusBarTemplate(component) {
34507
34851
  }
34508
34852
  return html`<div class="status-bar">${content}</div>`;
34509
34853
  }
34510
- var __defProp = Object.defineProperty;
34511
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
34512
- var __decorateClass = (decorators, target, key, kind) => {
34513
- 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;
34514
34858
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34515
34859
  if (decorator = decorators[i])
34516
34860
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
34517
- if (kind && result) __defProp(target, key, result);
34861
+ if (kind && result) __defProp$1(target, key, result);
34518
34862
  return result;
34519
34863
  };
34520
34864
  let NLDDStatusBar = class extends LitElement {
34521
34865
  constructor() {
34522
- super();
34866
+ super(...arguments);
34523
34867
  this.variant = "neutral";
34524
34868
  this.text = "";
34525
34869
  this.href = "";
34526
34870
  this.target = "";
34527
34871
  this.rel = "";
34528
34872
  this.button = false;
34529
- const initialVariant = this.getAttribute("variant");
34530
- this._applyAriaForVariant(initialVariant ?? "neutral");
34873
+ }
34874
+ connectedCallback() {
34875
+ super.connectedCallback();
34876
+ this._applyAriaForVariant(this.variant);
34531
34877
  }
34532
34878
  /** @internal Auto-secure rel for new-tab links unless the consumer set one. */
34533
34879
  _resolvedRel() {
@@ -34552,29 +34898,790 @@ let NLDDStatusBar = class extends LitElement {
34552
34898
  }
34553
34899
  };
34554
34900
  NLDDStatusBar.styles = statusBarStyles;
34555
- __decorateClass([
34901
+ __decorateClass$1([
34556
34902
  property({ type: String, reflect: true })
34557
34903
  ], NLDDStatusBar.prototype, "variant", 2);
34558
- __decorateClass([
34904
+ __decorateClass$1([
34559
34905
  property({ type: String })
34560
34906
  ], NLDDStatusBar.prototype, "text", 2);
34561
- __decorateClass([
34907
+ __decorateClass$1([
34562
34908
  property({ type: String })
34563
34909
  ], NLDDStatusBar.prototype, "href", 2);
34564
- __decorateClass([
34910
+ __decorateClass$1([
34565
34911
  property({ type: String })
34566
34912
  ], NLDDStatusBar.prototype, "target", 2);
34567
- __decorateClass([
34913
+ __decorateClass$1([
34568
34914
  property({ type: String })
34569
34915
  ], NLDDStatusBar.prototype, "rel", 2);
34570
- __decorateClass([
34916
+ __decorateClass$1([
34571
34917
  property({ type: Boolean, reflect: true })
34572
34918
  ], NLDDStatusBar.prototype, "button", 2);
34573
- NLDDStatusBar = __decorateClass([
34919
+ NLDDStatusBar = __decorateClass$1([
34574
34920
  customElement("nldd-status-bar")
34575
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);
34576
35683
  export {
34577
- NLDDPageFooter as $,
35684
+ NLDDPage as $,
34578
35685
  NLDDDropdown as A,
34579
35686
  NLDDForm as B,
34580
35687
  NLDDFormActions as C,
@@ -34587,68 +35694,69 @@ export {
34587
35694
  NLDDIconCell as J,
34588
35695
  NLDDImage as K,
34589
35696
  NLDDInlineDialog as L,
34590
- NLDDKeyboardShortcut as M,
35697
+ NLDDJustInTimeEducation as M,
34591
35698
  NLDDActivityIndicator as N,
34592
- NLDDLink as O,
34593
- NLDDList as P,
34594
- NLDDListItem as Q,
34595
- NLDDMenu as R,
34596
- NLDDMenuBar as S,
34597
- NLDDMenuBarItem as T,
34598
- NLDDModalDialog as U,
34599
- NLDDMultiLineTextField as V,
34600
- NLDDNavigationSplitView as W,
34601
- NLDDNumberField as X,
34602
- NLDDOneHalfOneHalfSection as Y,
34603
- NLDDOneThirdTwoThirdsSection as Z,
34604
- 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 _,
34605
35712
  NLDDAppView as a,
34606
- NLDDPageFooterLegalBar as a0,
34607
- NLDDPageFooterLegalBarItem as a1,
34608
- NLDDPagination as a2,
34609
- NLDDPasswordField as a3,
34610
- NLDDPopover as a4,
34611
- NLDDProgressBar as a5,
34612
- NLDDProgressBarSegmentIndicator as a6,
34613
- NLDDProgressCircle as a7,
34614
- NLDDProgressCircleSegmentIndicator as a8,
34615
- NLDDRadioButton as a9,
34616
- NLDDTitleCell as aA,
34617
- NLDDToggleButton as aB,
34618
- NLDDToggleButtonGroup as aC,
34619
- NLDDToken as aD,
34620
- NLDDToolbar as aE,
34621
- NLDDTooltip as aF,
34622
- NLDDTopNavigationBar as aG,
34623
- NLDDTopTitleBar as aH,
34624
- NLDDTwoThirdsOneThirdSection as aI,
34625
- NLDDWindow as aJ,
34626
- NLDDRadioButtonField as aa,
34627
- NLDDRadioButtonGroup as ab,
34628
- NLDDRichText as ac,
34629
- NLDDSearchField as ad,
34630
- NLDDSegmentedControl as ae,
34631
- NLDDSheet as af,
34632
- NLDDSideBySideSplitView as ag,
34633
- NLDDSimpleSection as ah,
34634
- NLDDSkipLink as ai,
34635
- NLDDSpacer as aj,
34636
- NLDDSpacerCell as ak,
34637
- NLDDSplitButton as al,
34638
- NLDDSplitViewPane as am,
34639
- NLDDStackedSplitView as an,
34640
- NLDDStatusBar as ao,
34641
- NLDDStepper as ap,
34642
- NLDDSwitch as aq,
34643
- NLDDSwitchField as ar,
34644
- NLDDTabBar as as,
34645
- NLDDTable as at,
34646
- NLDDTableRow as au,
34647
- NLDDTag as av,
34648
- NLDDTextCell as aw,
34649
- NLDDTextField as ax,
34650
- NLDDTimelineTrackCell as ay,
34651
- 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,
34652
35760
  NLDDBadge as b,
34653
35761
  NLDDBanner as c,
34654
35762
  NLDDBarSplitView as d,