@ds-autonomie/web-components 1.16.0 → 1.16.2

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 (98) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/chunks/{chunk.AWHBPZCA.js → chunk.2UZSRWJ7.js} +16 -17
  3. package/dist/chunks/{chunk.MYXTAE6O.js → chunk.43EIYNTL.js} +1 -3
  4. package/dist/chunks/{chunk.IJAP6FX7.js → chunk.4DRKFRDB.js} +1 -1
  5. package/dist/chunks/{chunk.PXRMLBOK.js → chunk.6FM2GGDB.js} +0 -1
  6. package/dist/chunks/{chunk.PBFXNZVS.js → chunk.6L4HRCFK.js} +1 -1
  7. package/dist/chunks/{chunk.QE5KX6GC.js → chunk.6TASDLIO.js} +17 -6
  8. package/dist/chunks/{chunk.WFCZZ5Y7.js → chunk.7DHGAM7P.js} +1 -1
  9. package/dist/chunks/{chunk.5JYA7W3U.js → chunk.AMIXGL74.js} +49 -43
  10. package/dist/chunks/{chunk.YCOCNU2O.js → chunk.BAU3732X.js} +4 -2
  11. package/dist/chunks/{chunk.WLBRYFBW.js → chunk.BPPQ62GH.js} +1 -1
  12. package/dist/chunks/{chunk.W6M6II3I.js → chunk.BQ7R6MC6.js} +12 -16
  13. package/dist/chunks/{chunk.M6LJDR7Y.js → chunk.CKBRIIGV.js} +20 -18
  14. package/dist/chunks/{chunk.4D4BPJPS.js → chunk.CWHNW2T5.js} +68 -34
  15. package/dist/chunks/{chunk.EXL2RATE.js → chunk.EAP74BQL.js} +3 -12
  16. package/dist/chunks/{chunk.VFWCJMJG.js → chunk.IDAQJSVV.js} +31 -26
  17. package/dist/chunks/{chunk.EOOFG4A2.js → chunk.JHPIOVRD.js} +7 -5
  18. package/dist/chunks/{chunk.IT6MNAIC.js → chunk.KKAOTWJY.js} +2 -3
  19. package/dist/chunks/{chunk.XXY24EZH.js → chunk.KZ65ORAL.js} +2 -5
  20. package/dist/chunks/{chunk.ZVIBE4XH.js → chunk.MJ3ZLDHO.js} +12 -1
  21. package/dist/chunks/{chunk.3BQTEMB3.js → chunk.MWQ3CXZP.js} +1 -1
  22. package/dist/chunks/{chunk.UDXQ2LSX.js → chunk.MXDA7QXL.js} +0 -5
  23. package/dist/chunks/{chunk.XGAVBPJO.js → chunk.MZF7MK5G.js} +1 -1
  24. package/dist/chunks/{chunk.I7SW3V2A.js → chunk.NXQ42SSB.js} +1 -1
  25. package/dist/chunks/{chunk.SEDCBZRC.js → chunk.PNTPO2DN.js} +8 -13
  26. package/dist/chunks/{chunk.352FP4B2.js → chunk.QDXCYEAZ.js} +2 -11
  27. package/dist/chunks/{chunk.ZPNMHACP.js → chunk.QEVAFNHA.js} +26 -0
  28. package/dist/chunks/{chunk.T3EUQIE2.js → chunk.RG342A22.js} +2 -0
  29. package/dist/chunks/{chunk.7IFC3ZIP.js → chunk.RYD4BVIA.js} +43 -35
  30. package/dist/chunks/{chunk.WSGEHNIF.js → chunk.SIPW72IF.js} +8 -1
  31. package/dist/chunks/{chunk.QAAZG5XN.js → chunk.TRKYAEYS.js} +5 -11
  32. package/dist/chunks/{chunk.APYW2WVZ.js → chunk.VC3XT47N.js} +1 -1
  33. package/dist/chunks/{chunk.FYTGBKGY.js → chunk.VDOVUA55.js} +5 -7
  34. package/dist/chunks/{chunk.J7ZUHC5Q.js → chunk.VLSSVYAB.js} +3 -11
  35. package/dist/chunks/{chunk.XPZYBQF2.js → chunk.WHTNMZZS.js} +1 -1
  36. package/dist/chunks/{chunk.XM5ZLNIT.js → chunk.XFOOYYIV.js} +1 -1
  37. package/dist/chunks/{chunk.PZ74GMZS.js → chunk.Z5LJXDHJ.js} +6 -1
  38. package/dist/chunks/{chunk.ULHEP5Y6.js → chunk.ZWVWEQGL.js} +20 -22
  39. package/dist/components/accordion/accordion.js +2 -2
  40. package/dist/components/accordion/accordion.styles.js +1 -1
  41. package/dist/components/alert/alert.d.ts +2 -0
  42. package/dist/components/alert/alert.js +1 -1
  43. package/dist/components/button/button.js +2 -2
  44. package/dist/components/button/button.styles.js +1 -1
  45. package/dist/components/card/card.d.ts +0 -2
  46. package/dist/components/card/card.js +1 -1
  47. package/dist/components/checkbox/checkbox.js +1 -1
  48. package/dist/components/checkbox-button/checkbox-button.js +3 -3
  49. package/dist/components/checkbox-button/checkbox-button.styles.js +2 -2
  50. package/dist/components/checkbox-group/checkbox-group.d.ts +4 -0
  51. package/dist/components/checkbox-group/checkbox-group.js +2 -2
  52. package/dist/components/checkbox-group/checkbox-group.styles.js +1 -1
  53. package/dist/components/combobox/combobox.js +2 -2
  54. package/dist/components/combobox/combobox.styles.js +1 -1
  55. package/dist/components/dialog/dialog.js +1 -1
  56. package/dist/components/filter/filter-date/filter-date.js +2 -2
  57. package/dist/components/filter/filter-range/filter-range.js +2 -2
  58. package/dist/components/filter/filter-select/filter-select.js +2 -2
  59. package/dist/components/footer-mandatory-mentions/footer-mandatory-mentions.d.ts +1 -0
  60. package/dist/components/footer-mandatory-mentions/footer-mandatory-mentions.js +2 -1
  61. package/dist/components/input/input.d.ts +0 -1
  62. package/dist/components/input/input.js +2 -2
  63. package/dist/components/input/input.styles.js +1 -1
  64. package/dist/components/input-mask/input-mask.d.ts +0 -1
  65. package/dist/components/input-mask/input-mask.js +2 -2
  66. package/dist/components/input-mask/input-mask.styles.js +1 -1
  67. package/dist/components/input-phone/input-phone.d.ts +0 -1
  68. package/dist/components/input-phone/input-phone.js +7 -7
  69. package/dist/components/input-phone/input-phone.styles.js +1 -1
  70. package/dist/components/navbar/navbar/navbar.js +1 -1
  71. package/dist/components/option/option.js +1 -1
  72. package/dist/components/pagination/pagination.d.ts +2 -0
  73. package/dist/components/pagination/pagination.js +6 -6
  74. package/dist/components/pagination-button/pagination-button.js +3 -3
  75. package/dist/components/pagination-button/pagination-button.styles.js +2 -2
  76. package/dist/components/radio-button/radio-button.js +11 -3
  77. package/dist/components/radio-button/radio-button.styles.js +2 -2
  78. package/dist/components/radio-group/radio-group.d.ts +1 -1
  79. package/dist/components/select/select.js +2 -2
  80. package/dist/components/select/select.styles.js +1 -1
  81. package/dist/components/skip-links/skip-links.js +1 -1
  82. package/dist/components/step/step.js +1 -1
  83. package/dist/components/table-of-contents/table-of-contents.d.ts +3 -3
  84. package/dist/components/table-of-contents/table-of-contents.js +2 -2
  85. package/dist/components/table-of-contents/table-of-contents.styles.js +1 -1
  86. package/dist/components/textarea/textarea.d.ts +0 -1
  87. package/dist/components/textarea/textarea.js +2 -2
  88. package/dist/components/textarea/textarea.styles.js +1 -1
  89. package/dist/components/tree/tree.js +1 -1
  90. package/dist/components/tree-item/tree-item.js +1 -1
  91. package/dist/custom-elements.json +173 -152
  92. package/dist/design-system.js +37 -37
  93. package/dist/themes/dsa-wc-theme.css +15 -38
  94. package/dist/themes/dsa-wc-theme.min.css +1 -1
  95. package/dist/themes/dsa-wc-theme.styles.js +15 -38
  96. package/dist/vscode.html-custom-data.json +18 -17
  97. package/dist/web-types.json +101 -88
  98. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  checkbox_group_styles_default
3
- } from "./chunk.ZPNMHACP.js";
3
+ } from "./chunk.QEVAFNHA.js";
4
4
  import {
5
5
  FormControlController,
6
6
  customErrorValidityState,
@@ -36,6 +36,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
36
36
  this.customValidityMessage = "";
37
37
  this.hasCheckboxButtons = false;
38
38
  this.defaultValue = [];
39
+ this.allCheckboxes = [];
39
40
  this.label = "";
40
41
  this.helpText = "";
41
42
  this.name = "option";
@@ -76,13 +77,38 @@ var DSACheckboxGroup = class extends ShoelaceElement {
76
77
  }
77
78
  firstUpdated() {
78
79
  this.formControlController.updateValidity();
80
+ this.allCheckboxes = this.getAllCheckboxes();
81
+ this.observeAttributeChanges();
82
+ }
83
+ // A change of attributes on the slotted elements does not trigger the "slotchange" event, so we add an observer
84
+ observeAttributeChanges() {
85
+ const observer = new MutationObserver((mutationsList) => {
86
+ mutationsList.forEach((mutation) => {
87
+ if (mutation.type === "attributes") {
88
+ this.allCheckboxes = this.getAllCheckboxes();
89
+ }
90
+ });
91
+ });
92
+ [...this.defaultSlot.assignedElements({ flatten: true })].forEach(
93
+ (element) => {
94
+ observer.observe(element, { attributes: true });
95
+ }
96
+ );
79
97
  }
80
98
  getAllCheckboxes() {
81
- return [
82
- ...this.querySelectorAll(
83
- "dsa-checkbox, dsa-checkbox-button"
84
- )
85
- ];
99
+ const checboxNodeList = this.querySelectorAll("dsa-checkbox, dsa-checkbox-button");
100
+ const allCheckboxes = [];
101
+ checboxNodeList.forEach((checkbox) => {
102
+ const clonedCheckbox = checkbox.cloneNode(true);
103
+ if (this.disabled) {
104
+ clonedCheckbox.disabled = true;
105
+ }
106
+ if (this.readonly) {
107
+ clonedCheckbox.readonly = true;
108
+ }
109
+ allCheckboxes.push(clonedCheckbox);
110
+ });
111
+ return allCheckboxes;
86
112
  }
87
113
  handleCheckboxClick(event) {
88
114
  if (event.target.tagName.toLowerCase() === "a") {
@@ -98,7 +124,6 @@ var DSACheckboxGroup = class extends ShoelaceElement {
98
124
  return;
99
125
  }
100
126
  const oldValue = this.value;
101
- const checkboxes = this.getAllCheckboxes();
102
127
  if (!oldValue.includes(target.value)) {
103
128
  this.value = [...this.value, target.value];
104
129
  } else {
@@ -106,7 +131,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
106
131
  (checkboxValue) => checkboxValue !== target.value
107
132
  );
108
133
  }
109
- checkboxes.forEach((checkbox) => {
134
+ this.allCheckboxes.forEach((checkbox) => {
110
135
  checkbox.checked = this.value.includes(checkbox.value);
111
136
  });
112
137
  this.emit("dsa-input");
@@ -123,7 +148,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
123
148
  return;
124
149
  }
125
150
  target.checked = !target.checked;
126
- const checkedCheckboxes = this.getAllCheckboxes().filter(
151
+ const checkedCheckboxes = this.allCheckboxes.filter(
127
152
  (checkbox) => checkbox.checked
128
153
  );
129
154
  this.value = checkedCheckboxes.map((checkbox) => checkbox.value);
@@ -132,7 +157,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
132
157
  }
133
158
  }
134
159
  handleLabelClick() {
135
- const availableCheckboxes = this.getAllCheckboxes().filter(
160
+ const availableCheckboxes = this.allCheckboxes.filter(
136
161
  (checkbox) => !checkbox.disabled && !checkbox.readonly
137
162
  );
138
163
  const checkboxToFocus = availableCheckboxes.find((checkbox) => checkbox.checked) || availableCheckboxes[0];
@@ -143,8 +168,8 @@ var DSACheckboxGroup = class extends ShoelaceElement {
143
168
  handleSlotChange() {
144
169
  var _a;
145
170
  if (customElements.get("dsa-checkbox") || customElements.get("dsa-checkbox-button")) {
146
- const checkboxes = this.getAllCheckboxes();
147
- checkboxes.forEach((checkbox) => {
171
+ this.allCheckboxes = this.getAllCheckboxes();
172
+ this.allCheckboxes.forEach((checkbox) => {
148
173
  if (this.disabled) {
149
174
  checkbox.disabled = true;
150
175
  }
@@ -153,7 +178,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
153
178
  }
154
179
  checkbox.checked = this.value.includes(checkbox.value);
155
180
  });
156
- this.hasCheckboxButtons = checkboxes.some(
181
+ this.hasCheckboxButtons = this.allCheckboxes.some(
157
182
  (checkbox) => checkbox.tagName.toLowerCase() === "dsa-checkbox-button"
158
183
  );
159
184
  if (this.hasCheckboxButtons) {
@@ -164,6 +189,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
164
189
  buttonGroup.disableRole = true;
165
190
  }
166
191
  }
192
+ this.observeAttributeChanges();
167
193
  } else {
168
194
  customElements.whenDefined("dsa-checkbox").then(() => this.handleSlotChange());
169
195
  customElements.whenDefined("dsa-checkbox-button").then(() => this.handleSlotChange());
@@ -174,8 +200,7 @@ var DSACheckboxGroup = class extends ShoelaceElement {
174
200
  this.formControlController.emitInvalidEvent(event);
175
201
  }
176
202
  updateCheckedCheckbox() {
177
- const checkboxes = this.getAllCheckboxes();
178
- checkboxes.forEach(
203
+ this.allCheckboxes.forEach(
179
204
  (checkbox) => checkbox.checked = this.value.includes(checkbox.value)
180
205
  );
181
206
  this.formControlController.setValidity(this.validity.valid);
@@ -279,26 +304,32 @@ var DSACheckboxGroup = class extends ShoelaceElement {
279
304
  </label>
280
305
  </div>
281
306
 
282
- ${this.hasCheckboxButtons ? html`
283
- <dsa-internal-button-group
284
- part="button-group"
285
- exportparts="base:button-group__base"
286
- @click=${this.handleCheckboxClick}
287
- @slotchange=${this.handleSlotChange}
288
- role="presentation"
289
- ?horizontal=${this.horizontal}
307
+ <div class="checkbox-group__list-container">
308
+ <div
309
+ role="list"
310
+ class=${classMap({
311
+ "form-control__options": true,
312
+ "checkbox-group__list--checkbox-buttons": this.hasCheckboxButtons
313
+ })}
314
+ @click=${this.handleCheckboxClick}
315
+ @keydown=${this.handleKeyDown}
316
+ >
317
+ ${this.allCheckboxes.map(
318
+ (checkbox) => html` <div
319
+ part="form-control-options"
320
+ class="checkbox-group__listitem"
321
+ role="listitem"
290
322
  >
291
- <slot></slot>
292
- </dsa-internal-button-group>
293
- ` : html`
294
- <slot
295
- @click=${this.handleCheckboxClick}
296
- @slotchange=${this.handleSlotChange}
297
- @keydown=${this.handleKeyDown}
298
- role="presentation"
299
- class="form-control__options"
300
- ></slot>
301
- `}
323
+ ${checkbox}
324
+ </div>`
325
+ )}
326
+ </div>
327
+ </div>
328
+ <slot
329
+ @click=${this.handleCheckboxClick}
330
+ @slotchange=${this.handleSlotChange}
331
+ class="checkbox-group__default-slot"
332
+ ></slot>
302
333
  </div>
303
334
  <slot
304
335
  name="help-text"
@@ -333,6 +364,9 @@ __decorateClass([
333
364
  __decorateClass([
334
365
  state()
335
366
  ], DSACheckboxGroup.prototype, "defaultValue", 2);
367
+ __decorateClass([
368
+ state()
369
+ ], DSACheckboxGroup.prototype, "allCheckboxes", 2);
336
370
  __decorateClass([
337
371
  property()
338
372
  ], DSACheckboxGroup.prototype, "label", 2);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DSASelect
3
- } from "./chunk.SEDCBZRC.js";
3
+ } from "./chunk.PNTPO2DN.js";
4
4
  import {
5
5
  frenchFlagOption,
6
6
  frenchFlagSelect,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk.65HTBW2L.js";
18
18
  import {
19
19
  input_phone_styles_default
20
- } from "./chunk.MYXTAE6O.js";
20
+ } from "./chunk.43EIYNTL.js";
21
21
  import {
22
22
  defaultValue
23
23
  } from "./chunk.CMJ2SRTL.js";
@@ -244,13 +244,6 @@ var DSAInputPhone = class extends ShoelaceElement {
244
244
  await this.updateComplete;
245
245
  this.formControlController.updateValidity();
246
246
  }
247
- handleErrorChange() {
248
- if (this.error) {
249
- this.setAttribute("aria-invalid", "true");
250
- } else {
251
- this.removeAttribute("aria-invalid");
252
- }
253
- }
254
247
  /** Sets focus on the input. */
255
248
  focus(options) {
256
249
  this.inputEl.focus(options);
@@ -431,6 +424,7 @@ var DSAInputPhone = class extends ShoelaceElement {
431
424
  hasLabel ? void 0 : this.title
432
425
  )}
433
426
  aria-describedby=${this.error ? "input-phone error-text help-text" : "input-phone help-text"}
427
+ aria-invalid=${ifDefined(this.error ? "true" : void 0)}
434
428
  @change=${this.handleChange}
435
429
  @keyup=${this.handleDocumentKeyUp}
436
430
  @keydown=${this.handleKeyDown}
@@ -564,9 +558,6 @@ __decorateClass([
564
558
  __decorateClass([
565
559
  watch("value", { waitUntilFirstUpdate: true })
566
560
  ], DSAInputPhone.prototype, "handleValueChange", 1);
567
- __decorateClass([
568
- watch("error")
569
- ], DSAInputPhone.prototype, "handleErrorChange", 1);
570
561
  DSAInputPhone = __decorateClass([
571
562
  customElement("dsa-input-phone")
572
563
  ], DSAInputPhone);
@@ -36,6 +36,7 @@ var DSAAlert = class extends ShoelaceElement {
36
36
  constructor() {
37
37
  super(...arguments);
38
38
  this.localize = new LocalizeController(this);
39
+ this.title = "";
39
40
  this.open = false;
40
41
  this.closable = false;
41
42
  this.variant = "primary";
@@ -147,9 +148,10 @@ var DSAAlert = class extends ShoelaceElement {
147
148
  }
148
149
  render() {
149
150
  return html`
150
- <div
151
- part="base"
152
- class=${classMap({
151
+ <div role="alert">
152
+ <div
153
+ part="base"
154
+ class=${classMap({
153
155
  alert: true,
154
156
  "alert--open": this.open,
155
157
  "alert--closable": this.closable,
@@ -159,31 +161,31 @@ var DSAAlert = class extends ShoelaceElement {
159
161
  "alert--warning": this.variant === "warning",
160
162
  "alert--danger": this.variant === "danger"
161
163
  })}
162
- role="alert"
163
- aria-hidden=${this.open ? "false" : "true"}
164
- @mousemove=${this.handleMouseMove}
165
- >
166
- <dsa-icon
167
- class="alert__icon"
168
- name=${this.getPrefixIconName()}
169
- ></dsa-icon>
170
- <div class="alert__text">
171
- <div class="alert__title">${this.title}</div>
172
- <slot part="message" class="alert__message" aria-live="polite"></slot>
173
- </div>
164
+ aria-hidden=${this.open ? "false" : "true"}
165
+ @mousemove=${this.handleMouseMove}
166
+ >
167
+ <dsa-icon
168
+ class="alert__icon"
169
+ name=${this.getPrefixIconName()}
170
+ ></dsa-icon>
171
+ <div class="alert__text">
172
+ <div class="alert__title">${this.title}</div>
173
+ <slot part="message" class="alert__message"></slot>
174
+ </div>
174
175
 
175
- <slot part="actions" class="alert__action" name="action"></slot>
176
+ <slot part="actions" class="alert__action" name="action"></slot>
176
177
 
177
- ${this.closable ? html`
178
- <dsa-icon-button
179
- part="close-button"
180
- class="alert__close-button"
181
- size="xlarge"
182
- name="close"
183
- label=${this.localize.term("close")}
184
- @click=${this.handleCloseClick}
185
- ></dsa-icon-button>
186
- ` : ""}
178
+ ${this.closable ? html`
179
+ <dsa-icon-button
180
+ part="close-button"
181
+ class="alert__close-button"
182
+ size="xlarge"
183
+ name="close"
184
+ label=${this.localize.term("close")}
185
+ @click=${this.handleCloseClick}
186
+ ></dsa-icon-button>
187
+ ` : ""}
188
+ </div>
187
189
  </div>
188
190
  `;
189
191
  }
@@ -192,6 +194,9 @@ DSAAlert.styles = alert_styles_default;
192
194
  __decorateClass([
193
195
  query('[part~="base"]')
194
196
  ], DSAAlert.prototype, "base", 2);
197
+ __decorateClass([
198
+ property()
199
+ ], DSAAlert.prototype, "title", 2);
195
200
  __decorateClass([
196
201
  property({ type: Boolean, reflect: true })
197
202
  ], DSAAlert.prototype, "open", 2);
@@ -21,6 +21,7 @@ import {
21
21
  import { html } from "lit";
22
22
  import { customElement, property } from "lit/decorators.js";
23
23
  import { classMap } from "lit/directives/class-map.js";
24
+ import { ifDefined } from "lit/directives/if-defined.js";
24
25
  var DSAStep = class extends ShoelaceElement {
25
26
  constructor() {
26
27
  super(...arguments);
@@ -47,7 +48,7 @@ var DSAStep = class extends ShoelaceElement {
47
48
  return this.localize.term("stepError");
48
49
  case "default":
49
50
  default:
50
- return this.localize.term("step");
51
+ return void 0;
51
52
  }
52
53
  }
53
54
  render() {
@@ -80,11 +81,12 @@ var DSAStep = class extends ShoelaceElement {
80
81
  >
81
82
  ${this.status === "in-progress" || this.status === "active" ? html`<span class="step-icon--in-progress"
82
83
  ><dsa-visually-hidden>${stepLabel}</dsa-visually-hidden></span
83
- >` : html`<dsa-icon
84
+ >` : ""}
85
+ ${this.status === "complete" || this.status === "error" ? html`<dsa-icon
84
86
  class="step-icon"
85
- name="${stepIconName}"
86
- label=${stepLabel}
87
- ></dsa-icon>`}
87
+ name="${ifDefined(stepIconName)}"
88
+ label=${ifDefined(stepLabel)}
89
+ ></dsa-icon>` : ""}
88
90
  </div>
89
91
 
90
92
  <div class="step-content-container">
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  button_styles_default
3
- } from "./chunk.XXY24EZH.js";
3
+ } from "./chunk.KZ65ORAL.js";
4
4
 
5
5
  // src/components/radio-button/radio-button.styles.ts
6
6
  import { css } from "lit";
@@ -8,8 +8,7 @@ var radio_button_styles_default = css`
8
8
  ${button_styles_default}
9
9
 
10
10
  .button__prefix,
11
- .button__suffix,
12
- .button__label {
11
+ .button__suffix {
13
12
  display: inline-flex;
14
13
  position: relative;
15
14
  align-items: center;
@@ -78,6 +78,8 @@ var button_styles_default = css`
78
78
 
79
79
  .button__label {
80
80
  display: inline-block;
81
+ overflow: hidden;
82
+ text-overflow: ellipsis;
81
83
  }
82
84
 
83
85
  .button__label::slotted(dsa-icon) {
@@ -1058,11 +1060,6 @@ var button_styles_default = css`
1058
1060
  :host(.dsa-button-group__button--vertical) {
1059
1061
  max-width: 400px;
1060
1062
  }
1061
- :host(.dsa-button-group__button--vertical) .button__label {
1062
- display: block;
1063
- overflow: hidden;
1064
- text-overflow: ellipsis;
1065
- }
1066
1063
  `;
1067
1064
 
1068
1065
  export {
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  footer_mandatory_mentions_styles_default
3
3
  } from "./chunk.G4ODEI4O.js";
4
+ import {
5
+ HasSlotController
6
+ } from "./chunk.YIY5RM53.js";
4
7
  import {
5
8
  ShoelaceElement
6
9
  } from "./chunk.YCXTCVAZ.js";
@@ -12,11 +15,19 @@ import {
12
15
  import { html } from "lit";
13
16
  import { customElement } from "lit/decorators.js";
14
17
  var DSAFooterMandatoryMentions = class extends ShoelaceElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.hasSlotController = new HasSlotController(
21
+ this,
22
+ "text-left",
23
+ "text-right"
24
+ );
25
+ }
15
26
  render() {
16
27
  return html`
17
28
  <div part="base">
18
29
  <slot part="text-left" name="text-left"></slot>
19
- <dsa-divider part="divider" vertical></dsa-divider>
30
+ ${this.hasSlotController.test("text-left") && this.hasSlotController.test("text-right") ? html`<dsa-divider part="divider" vertical></dsa-divider>` : ""}
20
31
  <slot part="text-right" name="text-right"></slot>
21
32
  </div>
22
33
  `;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pagination_button_styles_default
3
- } from "./chunk.WLBRYFBW.js";
3
+ } from "./chunk.BPPQ62GH.js";
4
4
  import {
5
5
  HasSlotController
6
6
  } from "./chunk.YIY5RM53.js";
@@ -27,7 +27,6 @@ var DSACard = class extends ShoelaceElement {
27
27
  );
28
28
  this.href = "";
29
29
  this.rel = "noreferrer noopener";
30
- this.ariaLabel = "";
31
30
  }
32
31
  isLink() {
33
32
  return this.href ? true : false;
@@ -49,7 +48,6 @@ var DSACard = class extends ShoelaceElement {
49
48
  target=${ifDefined(isLink ? this.target : void 0)}
50
49
  download=${ifDefined(isLink ? this.download : void 0)}
51
50
  rel=${ifDefined(isLink ? this.rel : void 0)}
52
- aria-label=${ifDefined(isLink ? this.ariaLabel : void 0)}
53
51
  >
54
52
  <slot name="header" part="header" class="card__header"></slot>
55
53
  <slot name="image" part="image" class="card__image"></slot>
@@ -75,9 +73,6 @@ __decorateClass([
75
73
  __decorateClass([
76
74
  property()
77
75
  ], DSACard.prototype, "download", 2);
78
- __decorateClass([
79
- property({ attribute: "aria-label" })
80
- ], DSACard.prototype, "ariaLabel", 2);
81
76
  DSACard = __decorateClass([
82
77
  customElement("dsa-card")
83
78
  ], DSACard);
@@ -120,7 +120,7 @@ var table_of_contents_styles_default = css`
120
120
  }
121
121
  }
122
122
 
123
- .slotted_items {
123
+ [part='items'] {
124
124
  display: none;
125
125
  }
126
126
  `;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk.YOLAIUYX.js";
4
4
  import {
5
5
  DSAOption
6
- } from "./chunk.YCOCNU2O.js";
6
+ } from "./chunk.BAU3732X.js";
7
7
  import {
8
8
  scrollIntoView
9
9
  } from "./chunk.EMIT7S33.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  select_styles_default
3
- } from "./chunk.ULHEP5Y6.js";
3
+ } from "./chunk.ZWVWEQGL.js";
4
4
  import {
5
5
  scrollIntoView
6
6
  } from "./chunk.EMIT7S33.js";
@@ -125,8 +125,8 @@ var DSASelect = class extends ShoelaceElement {
125
125
  handleKeyDown(event) {
126
126
  const target = event.target;
127
127
  const isClearButton = target.closest(".select__clear") !== null;
128
- const isIconButton = target.closest("dsa-icon-button") !== null;
129
- if (isClearButton || isIconButton) {
128
+ const isTag = target.closest("dsa-tag") !== null;
129
+ if (isClearButton || isTag) {
130
130
  return;
131
131
  }
132
132
  if (this.open && (event.key === "Tab" || event.key === "Escape")) {
@@ -172,14 +172,10 @@ var DSASelect = class extends ShoelaceElement {
172
172
  return;
173
173
  }
174
174
  }
175
- if (event.key === "ArrowDown") {
175
+ if (event.key === "ArrowDown" && currentIndex < allOptions.length - 1) {
176
176
  newIndex = currentIndex + 1;
177
- if (newIndex > allOptions.length - 1)
178
- newIndex = 0;
179
- } else if (event.key === "ArrowUp") {
177
+ } else if (event.key === "ArrowUp" && currentIndex > 0) {
180
178
  newIndex = currentIndex - 1;
181
- if (newIndex < 0)
182
- newIndex = allOptions.length - 1;
183
179
  } else if (event.key === "Home") {
184
180
  newIndex = 0;
185
181
  } else if (event.key === "End") {
@@ -558,7 +554,7 @@ var DSASelect = class extends ShoelaceElement {
558
554
  class="select__display-input"
559
555
  type="text"
560
556
  placeholder=${this.placeholder}
561
- .disabled=${isDisabledOrReadonly}
557
+ .disabled=${this.disabled}
562
558
  .value=${this.displayValue ? this.value : this.displayLabel}
563
559
  size=${ifDefined(selectInputWidth)}
564
560
  autocomplete="off"
@@ -576,7 +572,7 @@ var DSASelect = class extends ShoelaceElement {
576
572
  hasLabel ? void 0 : this.title
577
573
  )}
578
574
  aria-disabled=${isDisabledOrReadonly ? "true" : "false"}
579
- aria-describedby="help-text"
575
+ aria-describedby=${this.error ? "error-text help-text" : "help-text"}
580
576
  role="combobox"
581
577
  tabindex="0"
582
578
  @focus=${this.handleFocus}
@@ -598,7 +594,6 @@ var DSASelect = class extends ShoelaceElement {
598
594
  "
599
595
  size=${this.size}
600
596
  removable
601
- disable-removable-focus
602
597
  @dsa-remove=${(event) => this.handleTagRemove(event, option)}
603
598
  label=${option.getTextLabel()}
604
599
  >
@@ -607,7 +602,6 @@ var DSASelect = class extends ShoelaceElement {
607
602
  } else if (index === this.maxOptionsVisible) {
608
603
  return html`
609
604
  <dsa-tag
610
- disable-removable-focus
611
605
  size=${this.size}
612
606
  label="+${this.selectedOptions.length - index}"
613
607
  >
@@ -676,6 +670,7 @@ var DSASelect = class extends ShoelaceElement {
676
670
  </slot>
677
671
 
678
672
  ${this.error && !isDisabledOrReadonly ? html`<dsa-error-text
673
+ id="error-text"
679
674
  part="form-control-error-text"
680
675
  class="form-control__error-text"
681
676
  >${this.errorMessage}</dsa-error-text
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  input_mask_styles_default
3
- } from "./chunk.IJAP6FX7.js";
3
+ } from "./chunk.4DRKFRDB.js";
4
4
  import {
5
5
  maskedValueToRawValue,
6
6
  rawValueToMaskedValue,
@@ -167,13 +167,6 @@ var DSAInputMask = class extends ShoelaceElement {
167
167
  await this.updateComplete;
168
168
  this.formControlController.updateValidity();
169
169
  }
170
- handleErrorChange() {
171
- if (this.error) {
172
- this.setAttribute("aria-invalid", "true");
173
- } else {
174
- this.removeAttribute("aria-invalid");
175
- }
176
- }
177
170
  /** Sets focus on the input. */
178
171
  focus(options) {
179
172
  this.input.focus(options);
@@ -309,6 +302,7 @@ var DSAInputMask = class extends ShoelaceElement {
309
302
  hasLabel ? void 0 : this.title
310
303
  )}
311
304
  aria-describedby=${this.error ? "input-mask error-text help-text" : "input-mask help-text"}
305
+ aria-invalid=${ifDefined(this.error ? "true" : void 0)}
312
306
  @change=${this.handleChange}
313
307
  @invalid=${this.handleInvalid}
314
308
  @keyup=${this.handleDocumentKeyUp}
@@ -444,9 +438,6 @@ __decorateClass([
444
438
  __decorateClass([
445
439
  watch("value", { waitUntilFirstUpdate: true })
446
440
  ], DSAInputMask.prototype, "handleValueChange", 1);
447
- __decorateClass([
448
- watch("error")
449
- ], DSAInputMask.prototype, "handleErrorChange", 1);
450
441
  DSAInputMask = __decorateClass([
451
442
  customElement("dsa-input-mask")
452
443
  ], DSAInputMask);
@@ -26,6 +26,32 @@ var checkbox_group_styles_default = css`
26
26
  white-space: nowrap;
27
27
  border: 0;
28
28
  }
29
+
30
+ .checkbox-group__default-slot {
31
+ display: none;
32
+ }
33
+
34
+ .checkbox-group__list-container {
35
+ display: inline-block;
36
+ }
37
+ .form-control__options.checkbox-group__list--checkbox-buttons {
38
+ gap: var(--dsa-spacing-8);
39
+ }
40
+
41
+ :not(.form-control--options-horizontal)
42
+ .checkbox-group__list--checkbox-buttons {
43
+ flex-wrap: wrap;
44
+ min-width: 120px;
45
+ max-width: 400px;
46
+ }
47
+
48
+ .checkbox-group__listitem {
49
+ display: contents;
50
+ }
51
+
52
+ :not(form-control--options-horizontal) dsa-checkbox-button {
53
+ max-width: 400px;
54
+ }
29
55
  `;
30
56
 
31
57
  export {
@@ -156,6 +156,7 @@ var DSACheckbox = class extends ShoelaceElement {
156
156
  })}
157
157
  >
158
158
  <label
159
+ for="input"
159
160
  class=${classMap({
160
161
  checkbox: true,
161
162
  "checkbox--checked": this.checked,
@@ -171,6 +172,7 @@ var DSACheckbox = class extends ShoelaceElement {
171
172
  })}
172
173
  >
173
174
  <input
175
+ id="input"
174
176
  class="checkbox__input"
175
177
  type="checkbox"
176
178
  title=${ifDefinedAndNotEmpty(this.title)}