@nldd/design-system 0.8.37 → 0.8.39

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 (164) hide show
  1. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  2. package/dist/components/actions/button/button.styles.js +1 -0
  3. package/dist/components/actions/button/button.styles.js.map +1 -1
  4. package/dist/components/components.js +1213 -856
  5. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  6. package/dist/components/content/icon/icon-aliases.js +28 -0
  7. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  8. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  9. package/dist/components/content/icon/icon-registry.js +40 -30
  10. package/dist/components/content/icon/icon-registry.js.map +1 -1
  11. package/dist/components/content/title/title.styles.d.ts.map +1 -1
  12. package/dist/components/content/title/title.styles.js +4 -0
  13. package/dist/components/content/title/title.styles.js.map +1 -1
  14. package/dist/components/content/tooltip/tooltip.d.ts +15 -5
  15. package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
  16. package/dist/components/content/tooltip/tooltip.js +87 -19
  17. package/dist/components/content/tooltip/tooltip.js.map +1 -1
  18. package/dist/components/content/tooltip/tooltip.styles.d.ts.map +1 -1
  19. package/dist/components/content/tooltip/tooltip.styles.js +14 -20
  20. package/dist/components/content/tooltip/tooltip.styles.js.map +1 -1
  21. package/dist/components/content/tooltip/tooltip.template.d.ts.map +1 -1
  22. package/dist/components/content/tooltip/tooltip.template.js +2 -2
  23. package/dist/components/content/tooltip/tooltip.template.js.map +1 -1
  24. package/dist/components/forms/form/form.d.ts +19 -24
  25. package/dist/components/forms/form/form.d.ts.map +1 -1
  26. package/dist/components/forms/form/form.js +20 -40
  27. package/dist/components/forms/form/form.js.map +1 -1
  28. package/dist/components/forms/form-actions/form-actions.d.ts +18 -7
  29. package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
  30. package/dist/components/forms/form-actions/form-actions.js +18 -7
  31. package/dist/components/forms/form-actions/form-actions.js.map +1 -1
  32. package/dist/components/forms/form-actions/form-actions.styles.d.ts.map +1 -1
  33. package/dist/components/forms/form-actions/form-actions.styles.js +6 -2
  34. package/dist/components/forms/form-actions/form-actions.styles.js.map +1 -1
  35. package/dist/components/forms/form-field/form-field.d.ts +15 -3
  36. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  37. package/dist/components/forms/form-field/form-field.js +15 -3
  38. package/dist/components/forms/form-field/form-field.js.map +1 -1
  39. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  40. package/dist/components/forms/form-field/form-field.styles.js +22 -8
  41. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  42. package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
  43. package/dist/components/inputs/search-field/search-field.styles.js +3 -1
  44. package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
  45. package/dist/components/layout/app-view/app-view.d.ts +10 -1
  46. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  47. package/dist/components/layout/app-view/app-view.js +52 -0
  48. package/dist/components/layout/app-view/app-view.js.map +1 -1
  49. package/dist/components/layout/card/card.d.ts +1 -0
  50. package/dist/components/layout/card/card.d.ts.map +1 -1
  51. package/dist/components/layout/card/card.js +14 -0
  52. package/dist/components/layout/card/card.js.map +1 -1
  53. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  54. package/dist/components/layout/card/card.styles.js +0 -2
  55. package/dist/components/layout/card/card.styles.js.map +1 -1
  56. package/dist/components/layout/page/page.d.ts +4 -0
  57. package/dist/components/layout/page/page.d.ts.map +1 -1
  58. package/dist/components/layout/page/page.js +39 -0
  59. package/dist/components/layout/page/page.js.map +1 -1
  60. package/dist/components/layout/page/page.styles.d.ts.map +1 -1
  61. package/dist/components/layout/page/page.styles.js +10 -8
  62. package/dist/components/layout/page/page.styles.js.map +1 -1
  63. package/dist/components/layout/page/page.template.d.ts.map +1 -1
  64. package/dist/components/layout/page/page.template.js +12 -10
  65. package/dist/components/layout/page/page.template.js.map +1 -1
  66. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts +3 -2
  67. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts.map +1 -1
  68. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js +8 -3
  69. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js.map +1 -1
  70. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.d.ts.map +1 -1
  71. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js +28 -15
  72. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js.map +1 -1
  73. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts +4 -0
  74. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts.map +1 -1
  75. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js +11 -1
  76. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js.map +1 -1
  77. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.d.ts.map +1 -1
  78. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.js +42 -13
  79. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.js.map +1 -1
  80. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts +4 -0
  81. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts.map +1 -1
  82. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js +11 -1
  83. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js.map +1 -1
  84. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.d.ts.map +1 -1
  85. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.js +42 -13
  86. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.js.map +1 -1
  87. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts +3 -2
  88. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts.map +1 -1
  89. package/dist/components/layout/page-sections/simple-section/simple-section.js +8 -3
  90. package/dist/components/layout/page-sections/simple-section/simple-section.js.map +1 -1
  91. package/dist/components/layout/page-sections/simple-section/simple-section.styles.d.ts.map +1 -1
  92. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js +34 -15
  93. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js.map +1 -1
  94. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts +4 -0
  95. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts.map +1 -1
  96. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js +11 -1
  97. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js.map +1 -1
  98. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.d.ts.map +1 -1
  99. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.js +42 -14
  100. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.js.map +1 -1
  101. package/dist/components/layout/popover/popover.d.ts +42 -3
  102. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  103. package/dist/components/layout/popover/popover.js +154 -6
  104. package/dist/components/layout/popover/popover.js.map +1 -1
  105. package/dist/components/layout/popover/popover.styles.d.ts.map +1 -1
  106. package/dist/components/layout/popover/popover.styles.js +41 -29
  107. package/dist/components/layout/popover/popover.styles.js.map +1 -1
  108. package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
  109. package/dist/components/layout/sheet/sheet.js +2 -0
  110. package/dist/components/layout/sheet/sheet.js.map +1 -1
  111. package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts +8 -15
  112. package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts.map +1 -1
  113. package/dist/components/layout/split-views/bar-split-view/bar-split-view.js +11 -75
  114. package/dist/components/layout/split-views/bar-split-view/bar-split-view.js.map +1 -1
  115. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.d.ts.map +1 -1
  116. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.js +3 -51
  117. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.js.map +1 -1
  118. package/dist/components/layout/split-views/bar-split-view/bar-split-view.template.d.ts.map +1 -1
  119. package/dist/components/layout/split-views/bar-split-view/bar-split-view.template.js +7 -10
  120. package/dist/components/layout/split-views/bar-split-view/bar-split-view.template.js.map +1 -1
  121. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.d.ts.map +1 -1
  122. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js +80 -67
  123. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js.map +1 -1
  124. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.d.ts.map +1 -1
  125. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js +0 -2
  126. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js.map +1 -1
  127. package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts +1 -0
  128. package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts.map +1 -1
  129. package/dist/components/layout/split-views/split-view-pane/split-view-pane.js +5 -0
  130. package/dist/components/layout/split-views/split-view-pane/split-view-pane.js.map +1 -1
  131. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.d.ts.map +1 -1
  132. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js +0 -2
  133. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js.map +1 -1
  134. package/dist/components/layout/window/window.d.ts +6 -0
  135. package/dist/components/layout/window/window.d.ts.map +1 -1
  136. package/dist/components/layout/window/window.js +29 -5
  137. package/dist/components/layout/window/window.js.map +1 -1
  138. package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.d.ts.map +1 -1
  139. package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.js +4 -0
  140. package/dist/components/lists-and-menus/cells/text-cell/text-cell.styles.js.map +1 -1
  141. package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.d.ts.map +1 -1
  142. package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.js +1 -0
  143. package/dist/components/lists-and-menus/cells/title-cell/title-cell.styles.js.map +1 -1
  144. package/dist/components/lists-and-menus/menu/menu.d.ts +1 -0
  145. package/dist/components/lists-and-menus/menu/menu.d.ts.map +1 -1
  146. package/dist/components/lists-and-menus/menu/menu.js +10 -1
  147. package/dist/components/lists-and-menus/menu/menu.js.map +1 -1
  148. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts +10 -0
  149. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts.map +1 -1
  150. package/dist/components/navigation/document-tab-bar/document-tab-bar.js +29 -0
  151. package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
  152. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js +16 -16
  153. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js.map +1 -1
  154. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +1 -0
  155. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts.map +1 -1
  156. package/dist/components/navigation/top-title-bar/top-title-bar.js +16 -0
  157. package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
  158. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.d.ts.map +1 -1
  159. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js +4 -0
  160. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js.map +1 -1
  161. package/dist/css/form.css +10 -28
  162. package/dist/css/rich-text.css +66 -18
  163. package/dist/css/settings.css +1 -1
  164. package/package.json +1 -1
@@ -5,13 +5,22 @@
5
5
  * Gebruikt `display: contents` zodat het de layout van het child niet beïnvloedt.
6
6
  *
7
7
  * @element nldd-tooltip
8
- * @attr {string} text - Tooltip tekst
9
- * @attr {string} placement - Positie: 'top' | 'bottom' | 'left' | 'right' (standaard: 'bottom'; op touch devices automatisch 'top')
8
+ * @attr {string} text - Tooltip tekst
9
+ * @attr {string} placement - Positie: 'top' | 'bottom' | 'left' | 'right' (standaard: 'bottom'; op touch devices automatisch 'top')
10
+ * @attr {boolean} disabled - Wanneer true wordt de tooltip nooit getoond.
11
+ * Hover/focus events op de trigger worden
12
+ * genegeerd; een al zichtbare tooltip wordt
13
+ * direct verborgen. Voor consumers die het
14
+ * tooltip-gedrag conditioneel willen schakelen
15
+ * (bv. alleen tonen wanneer tekst getrunceerd is).
10
16
  *
11
17
  * @slot - Het element waarop de tooltip wordt getoond
12
18
  *
13
- * @note Gebruikt position: fixed + floating-ui strategy: 'fixed'. Positionering kan
14
- * breken wanneer een voorouder-element transform, filter of will-change heeft.
19
+ * @note Rendert via de native Popover API (`popover="manual"`) in de top
20
+ * layer. Daardoor escape de tooltip alle ancestor stacking contexts en
21
+ * `overflow: hidden` clipping — geen z-index gevechten meer met overlay-
22
+ * containers, panes of transform-containers. Positionering blijft via
23
+ * Floating UI met `strategy: 'fixed'`.
15
24
  *
16
25
  * @note aria-describedby werkt alleen wanneer het trigger element in de light DOM staat.
17
26
  * Bij web components als trigger (met eigen shadow DOM) is de koppeling een bekende
@@ -37,23 +46,29 @@ import { tooltipTemplate } from './tooltip.template.js';
37
46
  import { isTouchMode } from '../../../utilities/input-modality.js';
38
47
  let tooltipCounter = 0;
39
48
  const coarsePointerQuery = matchMedia('(pointer: coarse)');
49
+ // Defaults mirror the values in tooltip.styles.ts. Used as fallback when the
50
+ // CSS variable is unset or non-numeric — most often in SSR / early-load
51
+ // environments where styles haven't reached the element yet. Without the
52
+ // fallback, parseInt('') returns NaN and setTimeout silently coerces it to
53
+ // 0ms, so the tooltip would show instantly. Keep these in sync with CSS.
54
+ const DEFAULT_SHOW_DELAY_MS = 700;
55
+ const DEFAULT_HIDE_DELAY_MS = 50;
40
56
  let NLDDTooltip = class NLDDTooltip extends LitElement {
41
57
  constructor() {
42
58
  super(...arguments);
43
59
  this.text = '';
44
60
  this.placement = 'bottom';
61
+ this.disabled = false;
45
62
  this._visible = false;
46
- this._focusVisible = false;
47
63
  this._tooltipId = `nldd-tooltip-${++tooltipCounter}`;
48
64
  this._hideTimeout = null;
65
+ this._showTimeout = null;
49
66
  this._descriptionEl = null;
50
67
  this._currentTrigger = null;
51
68
  this._boundSlotChange = () => this._syncAriaDescribedBy();
52
69
  this._handleKeyDown = (e) => {
53
- if (e.key === 'Escape' && this._visible) {
70
+ if (e.key === 'Escape' && this._visible)
54
71
  this._visible = false;
55
- this._focusVisible = false;
56
- }
57
72
  };
58
73
  }
59
74
  get _effectivePlacement() {
@@ -71,12 +86,32 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
71
86
  this.shadowRoot?.querySelector('slot')?.addEventListener('slotchange', this._boundSlotChange);
72
87
  }
73
88
  updated(changed) {
74
- if (changed.has('_visible') && this._visible) {
75
- this._updatePosition();
89
+ if (changed.has('_visible')) {
90
+ const tooltip = this._getTooltipElement();
91
+ if (tooltip) {
92
+ if (this._visible) {
93
+ if (!tooltip.matches(':popover-open'))
94
+ tooltip.showPopover();
95
+ this._updatePosition();
96
+ }
97
+ else if (tooltip.matches(':popover-open')) {
98
+ tooltip.hidePopover();
99
+ }
100
+ }
76
101
  }
77
- if (changed.has('text')) {
102
+ if (changed.has('text') || changed.has('disabled')) {
78
103
  this._syncAriaDescribedBy();
79
104
  }
105
+ if (changed.has('disabled') && this.disabled) {
106
+ // Cancel any pending show — without this the timer fires after
107
+ // disabled is set and re-opens the tooltip.
108
+ if (this._showTimeout) {
109
+ clearTimeout(this._showTimeout);
110
+ this._showTimeout = null;
111
+ }
112
+ if (this._visible)
113
+ this._visible = false;
114
+ }
80
115
  }
81
116
  _syncAriaDescribedBy() {
82
117
  const trigger = this._getTriggerElement();
@@ -92,7 +127,12 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
92
127
  if (trigger.getRootNode() !== document) {
93
128
  return;
94
129
  }
95
- if (this.text) {
130
+ // Suppress the description when disabled — same intent as hiding the
131
+ // visual popover. Without this, screen readers would still announce
132
+ // the redundant tooltip text (the primary use-case for `disabled` is
133
+ // `?disabled=${!isShort}` in document-tab-bar, where the full label is
134
+ // already visible inline).
135
+ if (this.text && !this.disabled) {
96
136
  if (!this._descriptionEl) {
97
137
  this._descriptionEl = document.createElement('span');
98
138
  this._descriptionEl.id = this._tooltipId;
@@ -124,6 +164,8 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
124
164
  return this.shadowRoot?.querySelector('.tooltip') ?? null;
125
165
  }
126
166
  _handleTriggerEnter() {
167
+ if (this.disabled)
168
+ return;
127
169
  if (!this.text)
128
170
  return;
129
171
  if (coarsePointerQuery.matches)
@@ -132,10 +174,22 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
132
174
  clearTimeout(this._hideTimeout);
133
175
  this._hideTimeout = null;
134
176
  }
135
- this._focusVisible = false;
136
- this._visible = true;
177
+ // Pointer-hover show delay: schedule via JS now that the visibility
178
+ // transition is binary (popover open/closed) and the CSS no longer
179
+ // holds the delay. Read the same `--_show-delay` token so the value
180
+ // stays consumer-tunable from CSS.
181
+ if (this._showTimeout)
182
+ clearTimeout(this._showTimeout);
183
+ const parsedShow = parseInt(getComputedStyle(this).getPropertyValue('--_show-delay'), 10);
184
+ const showDelay = Number.isFinite(parsedShow) ? parsedShow : DEFAULT_SHOW_DELAY_MS;
185
+ this._showTimeout = setTimeout(() => {
186
+ this._showTimeout = null;
187
+ this._visible = true;
188
+ }, showDelay);
137
189
  }
138
190
  _handleFocusIn() {
191
+ if (this.disabled)
192
+ return;
139
193
  if (!this.text)
140
194
  return;
141
195
  // Touch taps can focus elements with explicit `tabindex` (e.g. tab-bar's
@@ -147,14 +201,24 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
147
201
  clearTimeout(this._hideTimeout);
148
202
  this._hideTimeout = null;
149
203
  }
150
- this._focusVisible = true;
204
+ // Focus-triggered show: no delay (keyboard intent is explicit).
205
+ if (this._showTimeout) {
206
+ clearTimeout(this._showTimeout);
207
+ this._showTimeout = null;
208
+ }
151
209
  this._visible = true;
152
210
  }
153
211
  _handleTriggerLeave() {
212
+ // Cancel a scheduled show — leaving before delay elapsed means no show.
213
+ if (this._showTimeout) {
214
+ clearTimeout(this._showTimeout);
215
+ this._showTimeout = null;
216
+ }
154
217
  if (this._hideTimeout) {
155
218
  clearTimeout(this._hideTimeout);
156
219
  }
157
- const hideDelay = parseInt(getComputedStyle(this).getPropertyValue('--_hide-delay'), 10);
220
+ const parsedHide = parseInt(getComputedStyle(this).getPropertyValue('--_hide-delay'), 10);
221
+ const hideDelay = Number.isFinite(parsedHide) ? parsedHide : DEFAULT_HIDE_DELAY_MS;
158
222
  this._hideTimeout = setTimeout(() => {
159
223
  this._visible = false;
160
224
  this._hideTimeout = null;
@@ -204,6 +268,10 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
204
268
  clearTimeout(this._hideTimeout);
205
269
  this._hideTimeout = null;
206
270
  }
271
+ if (this._showTimeout) {
272
+ clearTimeout(this._showTimeout);
273
+ this._showTimeout = null;
274
+ }
207
275
  // Clean up aria-describedby on trigger and remove description span from body
208
276
  this._currentTrigger?.removeAttribute('aria-describedby');
209
277
  this._currentTrigger = null;
@@ -222,11 +290,11 @@ __decorate([
222
290
  property({ type: String, reflect: true })
223
291
  ], NLDDTooltip.prototype, "placement", void 0);
224
292
  __decorate([
225
- state()
226
- ], NLDDTooltip.prototype, "_visible", void 0);
293
+ property({ type: Boolean, reflect: true })
294
+ ], NLDDTooltip.prototype, "disabled", void 0);
227
295
  __decorate([
228
296
  state()
229
- ], NLDDTooltip.prototype, "_focusVisible", void 0);
297
+ ], NLDDTooltip.prototype, "_visible", void 0);
230
298
  NLDDTooltip = __decorate([
231
299
  customElement('nldd-tooltip')
232
300
  ], NLDDTooltip);
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAyFzB,CAAC"}
1
+ {"version":3,"file":"tooltip.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAmFzB,CAAC"}
@@ -25,35 +25,29 @@ export const tooltipStyles = css `
25
25
 
26
26
  .tooltip {
27
27
  position: fixed;
28
- z-index: var(--_z-index);
28
+ margin: 0;
29
+ padding: 0;
30
+ border: none;
31
+ background: none;
29
32
  opacity: 0;
30
- pointer-events: none;
31
- visibility: hidden;
32
33
  transition:
33
34
  opacity var(--_hide-duration) ease,
34
- visibility 0ms linear var(--_hide-duration),
35
- pointer-events 0ms linear var(--_hide-duration);
35
+ display var(--_hide-duration) allow-discrete,
36
+ overlay var(--_hide-duration) allow-discrete;
36
37
  }
37
38
 
38
- .tooltip.is-visible {
39
+ .tooltip:popover-open {
39
40
  opacity: 1;
40
- visibility: visible;
41
- pointer-events: auto;
42
41
  transition:
43
- opacity var(--_show-duration) ease var(--_show-delay),
44
- visibility 0ms linear,
45
- pointer-events 0ms linear var(--_show-delay);
42
+ opacity var(--_show-duration) ease,
43
+ display var(--_show-duration) allow-discrete,
44
+ overlay var(--_show-duration) allow-discrete;
46
45
  }
47
46
 
48
- /* Focus triggers: geen show delay */
49
- .tooltip.is-focus-visible {
50
- opacity: 1;
51
- visibility: visible;
52
- pointer-events: auto;
53
- transition:
54
- opacity var(--_show-duration) ease,
55
- visibility 0ms linear,
56
- pointer-events 0ms linear;
47
+ @starting-style {
48
+ .tooltip:popover-open {
49
+ opacity: 0;
50
+ }
57
51
  }
58
52
 
59
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.styles.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyF/B,CAAC"}
1
+ {"version":3,"file":"tooltip.styles.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmF/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.template.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,CAgBtE"}
1
+ {"version":3,"file":"tooltip.template.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,CAiBtE"}
@@ -1,5 +1,4 @@
1
1
  import { html } from 'lit';
2
- import { classMap } from 'lit/directives/class-map.js';
3
2
  export function tooltipTemplate(component) {
4
3
  return html `
5
4
  <slot
@@ -8,7 +7,8 @@ export function tooltipTemplate(component) {
8
7
  @focusin=${component._handleFocusIn}
9
8
  @focusout=${component._handleFocusOut}
10
9
  ></slot>
11
- <div class=${classMap({ tooltip: true, 'is-visible': component._visible && !component._focusVisible, 'is-focus-visible': component._visible && component._focusVisible })}
10
+ <div class="tooltip"
11
+ popover="manual"
12
12
  aria-hidden="true"
13
13
  @mouseenter=${component._handleTooltipEnter}
14
14
  @mouseleave=${component._handleTooltipLeave}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.template.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,MAAM,UAAU,eAAe,CAAC,SAAsB;IACrD,OAAO,IAAI,CAAA;;iBAEK,SAAS,CAAC,mBAAmB;iBAC7B,SAAS,CAAC,mBAAmB;cAChC,SAAS,CAAC,cAAc;eACvB,SAAS,CAAC,eAAe;;eAEzB,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,kBAAkB,EAAE,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;;iBAE1J,SAAS,CAAC,mBAAmB;iBAC7B,SAAS,CAAC,mBAAmB;;gCAEd,SAAS,CAAC,IAAI;;EAE5C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tooltip.template.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,MAAM,UAAU,eAAe,CAAC,SAAsB;IACrD,OAAO,IAAI,CAAA;;iBAEK,SAAS,CAAC,mBAAmB;iBAC7B,SAAS,CAAC,mBAAmB;cAChC,SAAS,CAAC,cAAc;eACvB,SAAS,CAAC,eAAe;;;;;iBAKvB,SAAS,CAAC,mBAAmB;iBAC7B,SAAS,CAAC,mBAAmB;;gCAEd,SAAS,CAAC,IAAI;;EAE5C,CAAC;AACH,CAAC"}
@@ -53,8 +53,11 @@
53
53
  * @attr {string} autocomplete - 'on' | 'off' (form-level autofill toggle)
54
54
  * @attr {string} label-alignment - Default `label-alignment` voor descendant
55
55
  * nldd-form-field en nldd-form-actions
56
- * ('top' | 'right' | 'left'). Individuele
57
- * elementen kunnen het overrulen.
56
+ * ('top' | 'right' | 'left'). Wordt naar
57
+ * descendants gepropageerd als
58
+ * `form-label-alignment`. Een eigen
59
+ * `label-alignment` op de descendant
60
+ * heeft voorrang via CSS-cascade.
58
61
  *
59
62
  * @prop {HTMLFormElement | null} form - The inner <form> element (read-only).
60
63
  * Use voor `form.checkValidity()`,
@@ -100,30 +103,22 @@ export declare class NLDDForm extends HTMLElement {
100
103
  attributeChangedCallback(name: string, _oldVal: string | null, newVal: string | null): void;
101
104
  /**
102
105
  * Push `label-alignment` to descendant nldd-form-field and nldd-form-actions
103
- * elements that don't have an explicit own value. We track inherited
104
- * assignments via a data-attribute so subsequent updates only touch the
105
- * elements we previously inherited to explicit per-element overrides
106
- * are preserved.
106
+ * elements as a separate `form-label-alignment` attribute, defaulting to
107
+ * `'top'` when the form itself has no `label-alignment`. Descendant CSS
108
+ * uses `[label-alignment="X"]` first and falls back to
109
+ * `[form-label-alignment="X"]` when no own value is set, so a consumer's
110
+ * explicit `label-alignment` always wins automatically — without us having
111
+ * to track which elements we previously inherited to.
107
112
  *
108
- * **Timing-subtleties (Lit reflect-default + MutationObserver race):**
113
+ * Always-setting (rather than only when the form has its own value) lets
114
+ * downstream selectors assume the attribute is present on every descendant
115
+ * inside an `nldd-form`, which keeps form.css's adjacent-sibling tight-gap
116
+ * rule simple.
109
117
  *
110
- * Lit-based descendants (nldd-form-field, nldd-form-actions) reflecten hun
111
- * default `label-alignment="top"` op het attribuut wanneer hun eerste
112
- * update fired. Een naïeve `hasOwn`-check zou dan elke vers gemaakte
113
- * descendant als "explicit own value" zien en propagation skippen.
114
- *
115
- * In praktijk werkt 't omdat:
116
- * 1. Bij parsed HTML fires de form's connectedCallback VOORDAT children
117
- * upgraden — propagation set 'right' op het attribuut, child upgrade
118
- * leest dat als initial value (geen reflect-default-conflict).
119
- * 2. Bij dynamic appendChild fires de MutationObserver na DOM-mutation
120
- * maar microtask-volgorde laat de propagation z'n attribuut zetten
121
- * voordat Lit's reflection 't kan overschrijven (Lit reflect = ook
122
- * microtask, maar de MO callback runt eerder in deze flow).
123
- *
124
- * Regression test: form.test.ts "propageert ook naar later toegevoegde
125
- * form-actions children" verifieert deze flow. Verander deze guard
126
- * niet zonder die test te draaien.
118
+ * The two-attribute split also avoids the historical Lit reflect-default
119
+ * vs MutationObserver timing race: we never touch `label-alignment` on
120
+ * the descendant, so a freshly upgraded Lit element reflecting its default
121
+ * doesn't conflict with the form's intent.
127
122
  */
128
123
  private _propagateLabelAlignment;
129
124
  private _mirrorAttributes;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AAeH,qBAAa,QAAS,SAAQ,WAAW;IACxC,MAAM,KAAK,kBAAkB,aAE5B;IAED,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAAiC;IAClD,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAS;IAElC,iBAAiB,IAAI,IAAI;IAoEzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU3F;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,iBAAiB;IAQzB,uEAAuE;IACvE,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;CACD;AAMD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAcH,qBAAa,QAAS,SAAQ,WAAW;IACxC,MAAM,KAAK,kBAAkB,aAE5B;IAED,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAAiC;IAClD,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAS;IAElC,iBAAiB,IAAI,IAAI;IAoEzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU3F;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,iBAAiB;IAQzB,uEAAuE;IACvE,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;CACD;AAMD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD"}
@@ -53,8 +53,11 @@
53
53
  * @attr {string} autocomplete - 'on' | 'off' (form-level autofill toggle)
54
54
  * @attr {string} label-alignment - Default `label-alignment` voor descendant
55
55
  * nldd-form-field en nldd-form-actions
56
- * ('top' | 'right' | 'left'). Individuele
57
- * elementen kunnen het overrulen.
56
+ * ('top' | 'right' | 'left'). Wordt naar
57
+ * descendants gepropageerd als
58
+ * `form-label-alignment`. Een eigen
59
+ * `label-alignment` op de descendant
60
+ * heeft voorrang via CSS-cascade.
58
61
  *
59
62
  * @prop {HTMLFormElement | null} form - The inner <form> element (read-only).
60
63
  * Use voor `form.checkValidity()`,
@@ -99,7 +102,6 @@ const FORWARDED_ATTRIBUTES = [
99
102
  'autocomplete',
100
103
  ];
101
104
  const DESCENDANT_SELECTOR = 'nldd-form-field, nldd-form-actions';
102
- const INHERITED_MARKER = 'formAlignmentInherited';
103
105
  export class NLDDForm extends HTMLElement {
104
106
  constructor() {
105
107
  super(...arguments);
@@ -197,48 +199,26 @@ export class NLDDForm extends HTMLElement {
197
199
  }
198
200
  /**
199
201
  * Push `label-alignment` to descendant nldd-form-field and nldd-form-actions
200
- * elements that don't have an explicit own value. We track inherited
201
- * assignments via a data-attribute so subsequent updates only touch the
202
- * elements we previously inherited to explicit per-element overrides
203
- * are preserved.
202
+ * elements as a separate `form-label-alignment` attribute, defaulting to
203
+ * `'top'` when the form itself has no `label-alignment`. Descendant CSS
204
+ * uses `[label-alignment="X"]` first and falls back to
205
+ * `[form-label-alignment="X"]` when no own value is set, so a consumer's
206
+ * explicit `label-alignment` always wins automatically — without us having
207
+ * to track which elements we previously inherited to.
204
208
  *
205
- * **Timing-subtleties (Lit reflect-default + MutationObserver race):**
209
+ * Always-setting (rather than only when the form has its own value) lets
210
+ * downstream selectors assume the attribute is present on every descendant
211
+ * inside an `nldd-form`, which keeps form.css's adjacent-sibling tight-gap
212
+ * rule simple.
206
213
  *
207
- * Lit-based descendants (nldd-form-field, nldd-form-actions) reflecten hun
208
- * default `label-alignment="top"` op het attribuut wanneer hun eerste
209
- * update fired. Een naïeve `hasOwn`-check zou dan elke vers gemaakte
210
- * descendant als "explicit own value" zien en propagation skippen.
211
- *
212
- * In praktijk werkt 't omdat:
213
- * 1. Bij parsed HTML fires de form's connectedCallback VOORDAT children
214
- * upgraden — propagation set 'right' op het attribuut, child upgrade
215
- * leest dat als initial value (geen reflect-default-conflict).
216
- * 2. Bij dynamic appendChild fires de MutationObserver na DOM-mutation
217
- * maar microtask-volgorde laat de propagation z'n attribuut zetten
218
- * voordat Lit's reflection 't kan overschrijven (Lit reflect = ook
219
- * microtask, maar de MO callback runt eerder in deze flow).
220
- *
221
- * Regression test: form.test.ts "propageert ook naar later toegevoegde
222
- * form-actions children" verifieert deze flow. Verander deze guard
223
- * niet zonder die test te draaien.
214
+ * The two-attribute split also avoids the historical Lit reflect-default
215
+ * vs MutationObserver timing race: we never touch `label-alignment` on
216
+ * the descendant, so a freshly upgraded Lit element reflecting its default
217
+ * doesn't conflict with the form's intent.
224
218
  */
225
219
  _propagateLabelAlignment(value) {
226
220
  const fields = this.querySelectorAll(DESCENDANT_SELECTOR);
227
- fields.forEach(f => {
228
- const isInherited = f.dataset[INHERITED_MARKER] === 'true';
229
- const hasOwn = f.hasAttribute('label-alignment');
230
- // Skip elements that have an explicit own attribute we didn't set
231
- if (hasOwn && !isInherited)
232
- return;
233
- if (value) {
234
- f.setAttribute('label-alignment', value);
235
- f.dataset[INHERITED_MARKER] = 'true';
236
- }
237
- else if (isInherited) {
238
- f.removeAttribute('label-alignment');
239
- delete f.dataset[INHERITED_MARKER];
240
- }
241
- });
221
+ fields.forEach(f => f.setAttribute('form-label-alignment', value ?? 'top'));
242
222
  }
243
223
  _mirrorAttributes() {
244
224
  if (!this._form)
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../src/components/forms/form/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../src/components/forms/form/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAEH,MAAM,oBAAoB,GAAG;IAC5B,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,cAAc;CACL,CAAC;AAEX,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAEjE,MAAM,OAAO,QAAS,SAAQ,WAAW;IAAzC;;QAKS,UAAK,GAA2B,IAAI,CAAC;QACrC,cAAS,GAA4B,IAAI,CAAC;QAClD,wEAAwE;QAChE,sBAAiB,GAAG,KAAK,CAAC;IAyHnC,CAAC;IAhIA,MAAM,KAAK,kBAAkB;QAC5B,OAAO,CAAC,GAAG,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAOD,iBAAiB;QAChB,uEAAuE;QACvE,oEAAoE;QACpE,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,8DAA8D;YAC9D,iEAAiE;YACjE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,GAAG,QAA2B,CAAC;gBACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,oEAAoE;gBACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,kDAAkD;gBAClD,iEAAiE;gBACjE,gEAAgE;gBAChE,6DAA6D;gBAC7D,gEAAgE;gBAChE,+DAA+D;gBAC/D,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;QAED,wEAAwE;QACxE,oEAAoE;QACpE,sEAAsE;QACtE,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;gBACjD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC3B,wDAAwD;oBACxD,yDAAyD;oBACzD,wDAAwD;oBACxD,yCAAyC;oBACzC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;wBAAE,SAAS;oBAChC,qDAAqD;oBACrD,sDAAsD;oBACtD,IAAI,YAAY;wBAAE,SAAS;oBAC3B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAC3B,IAAI,IAAI,KAAK,IAAI;4BAAE,OAAO;wBAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;gBACJ,CAAC;gBACD,sDAAsD;gBACtD,8DAA8D;gBAC9D,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,yDAAyD;YACzD,gEAAgE;YAChE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,wBAAwB,CAAC,IAAY,EAAE,OAAsB,EAAE,MAAqB;QACnF,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAChC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;;YACjD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,wBAAwB,CAAC,KAAoB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAc,mBAAmB,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,iBAAiB;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
@@ -9,10 +9,11 @@
9
9
  * zou staan.
10
10
  *
11
11
  * Erft `label-alignment` automatisch over van een wrappende `<nldd-form>`:
12
- * de form mirrort z'n eigen `label-alignment` naar descendant
13
- * `nldd-form-actions` (en `nldd-form-field`) via een MutationObserver
14
- * en JS-attribuut-propagatie. Een expliciete eigen `label-alignment` op de
15
- * form-actions zelf wordt nooit overschreven.
12
+ * de form propageert z'n eigen `label-alignment` als `form-label-alignment`
13
+ * naar descendant `nldd-form-actions` (en `nldd-form-field`) via een
14
+ * MutationObserver. Een expliciete eigen `label-alignment` op de form-actions
15
+ * wint via CSS-cascade — de form-code raakt het `label-alignment` attribuut
16
+ * van de descendant nooit aan.
16
17
  *
17
18
  * <nldd-form label-alignment="right">
18
19
  * <nldd-form-field>...</nldd-form-field>
@@ -25,8 +26,12 @@
25
26
  *
26
27
  * @element nldd-form-actions
27
28
  *
28
- * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'.
29
- * Wordt geërfd van een wrappende nldd-form als niet expliciet gezet.
29
+ * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'.
30
+ * Een eigen waarde wint altijd over de
31
+ * inherited form-label-alignment.
32
+ * @attr {string} form-label-alignment - Door wrappende nldd-form gezet als
33
+ * fallback. Niet zelf zetten in
34
+ * consumer-code.
30
35
  *
31
36
  * @slot - Actie-elementen (button, button-group, etc.)
32
37
  */
@@ -34,7 +39,13 @@ import { LitElement } from 'lit';
34
39
  export type LabelAlignment = 'top' | 'left' | 'right';
35
40
  export declare class NLDDFormActions extends LitElement {
36
41
  static styles: import("lit").CSSResult;
37
- labelAlignment: LabelAlignment;
42
+ /**
43
+ * Default is `undefined` (and not `'top'`) so Lit doesn't reflect the
44
+ * default value to the attribute on first update. Zie `nldd-form-field`
45
+ * voor uitleg — dezelfde reden: form-label-alignment fallback CSS
46
+ * werkt op `:not([label-alignment])`.
47
+ */
48
+ labelAlignment: LabelAlignment | undefined;
38
49
  render(): import("lit-html").TemplateResult;
39
50
  }
40
51
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"form-actions.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKjC,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,qBACa,eAAgB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,0BAAqB;IAG3C,cAAc,EAAE,cAAc,CAAS;IAE9B,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
1
+ {"version":3,"file":"form-actions.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKjC,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,qBACa,eAAgB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,0BAAqB;IAE3C;;;;;OAKG;IAEH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAa;IAE9C,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
@@ -9,10 +9,11 @@
9
9
  * zou staan.
10
10
  *
11
11
  * Erft `label-alignment` automatisch over van een wrappende `<nldd-form>`:
12
- * de form mirrort z'n eigen `label-alignment` naar descendant
13
- * `nldd-form-actions` (en `nldd-form-field`) via een MutationObserver
14
- * en JS-attribuut-propagatie. Een expliciete eigen `label-alignment` op de
15
- * form-actions zelf wordt nooit overschreven.
12
+ * de form propageert z'n eigen `label-alignment` als `form-label-alignment`
13
+ * naar descendant `nldd-form-actions` (en `nldd-form-field`) via een
14
+ * MutationObserver. Een expliciete eigen `label-alignment` op de form-actions
15
+ * wint via CSS-cascade — de form-code raakt het `label-alignment` attribuut
16
+ * van de descendant nooit aan.
16
17
  *
17
18
  * <nldd-form label-alignment="right">
18
19
  * <nldd-form-field>...</nldd-form-field>
@@ -25,8 +26,12 @@
25
26
  *
26
27
  * @element nldd-form-actions
27
28
  *
28
- * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'.
29
- * Wordt geërfd van een wrappende nldd-form als niet expliciet gezet.
29
+ * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'.
30
+ * Een eigen waarde wint altijd over de
31
+ * inherited form-label-alignment.
32
+ * @attr {string} form-label-alignment - Door wrappende nldd-form gezet als
33
+ * fallback. Niet zelf zetten in
34
+ * consumer-code.
30
35
  *
31
36
  * @slot - Actie-elementen (button, button-group, etc.)
32
37
  */
@@ -43,7 +48,13 @@ import { formActionsTemplate } from './form-actions.template.js';
43
48
  let NLDDFormActions = class NLDDFormActions extends LitElement {
44
49
  constructor() {
45
50
  super(...arguments);
46
- this.labelAlignment = 'top';
51
+ /**
52
+ * Default is `undefined` (and not `'top'`) so Lit doesn't reflect the
53
+ * default value to the attribute on first update. Zie `nldd-form-field`
54
+ * voor uitleg — dezelfde reden: form-label-alignment fallback CSS
55
+ * werkt op `:not([label-alignment])`.
56
+ */
57
+ this.labelAlignment = undefined;
47
58
  }
48
59
  render() {
49
60
  return formActionsTemplate();
@@ -1 +1 @@
1
- {"version":3,"file":"form-actions.js","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAK1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAIN,mBAAc,GAAmB,KAAK,CAAC;IAKxC,CAAC;IAHS,MAAM;QACd,OAAO,mBAAmB,EAAE,CAAC;IAC9B,CAAC;;AAPe,sBAAM,GAAG,iBAAiB,AAApB,CAAqB;AAG3C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;uDACjC;AAJ3B,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAS3B"}
1
+ {"version":3,"file":"form-actions.js","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAK1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAGN;;;;;WAKG;QAEH,mBAAc,GAA+B,SAAS,CAAC;IAKxD,CAAC;IAHS,MAAM;QACd,OAAO,mBAAmB,EAAE,CAAC;IAC9B,CAAC;;AAbe,sBAAM,GAAG,iBAAiB,AAApB,CAAqB;AAS3C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;uDACjB;AAV3C,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAe3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-actions.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAqD7B,CAAC"}
1
+ {"version":3,"file":"form-actions.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-actions/form-actions.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAyD7B,CAAC"}