@ds-autonomie/web-components 2.10.0 → 2.11.0

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 (172) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/cdn/chunks/{chunk.XCMDCOL6.js → chunk.26AMHY6M.js} +11 -8
  3. package/cdn/chunks/{chunk.IVJVQAQC.js → chunk.7AU43JKE.js} +4 -1
  4. package/cdn/chunks/{chunk.32CDX2G7.js → chunk.AYVXBNFN.js} +1 -1
  5. package/cdn/chunks/{chunk.YTHNA2W4.js → chunk.BUKM2N6B.js} +11 -5
  6. package/cdn/chunks/{chunk.76P65WVM.js → chunk.CE4QX5GY.js} +5 -0
  7. package/cdn/chunks/{chunk.RVHELEGN.js → chunk.E7LCBTT5.js} +7 -5
  8. package/cdn/chunks/{chunk.25TCJH3S.js → chunk.FOB2ZQTP.js} +8 -3
  9. package/cdn/chunks/{chunk.JITNMLSZ.js → chunk.G6BQ2WKP.js} +11 -5
  10. package/cdn/chunks/{chunk.JLURATAB.js → chunk.H2VYMPUG.js} +3 -2
  11. package/cdn/chunks/{chunk.CA44N3RR.js → chunk.IIVSSOAU.js} +1 -1
  12. package/cdn/chunks/{chunk.UXHX6KTB.js → chunk.JSZ62MET.js} +7 -7
  13. package/cdn/chunks/{chunk.RIGMCOQV.js → chunk.KNXOB4UE.js} +9 -5
  14. package/cdn/chunks/{chunk.ANBARN33.js → chunk.LAHTYN7O.js} +8 -2
  15. package/cdn/chunks/{chunk.HFZHMBO3.js → chunk.MYUDDEC5.js} +8 -3
  16. package/cdn/chunks/{chunk.22WBEYR5.js → chunk.N5YAEQVH.js} +4 -0
  17. package/cdn/chunks/{chunk.2L6I3VNO.js → chunk.OJYQEB5J.js} +71 -55
  18. package/cdn/chunks/{chunk.6BGRXQIW.js → chunk.QNIK7LHK.js} +5 -5
  19. package/cdn/chunks/{chunk.6KBDSFHY.js → chunk.REWGAX6A.js} +2 -1
  20. package/cdn/chunks/{chunk.BBXLEST4.js → chunk.RFDWBIL7.js} +5 -0
  21. package/cdn/chunks/{chunk.ORJKIZAO.js → chunk.SPF4JEAI.js} +8 -7
  22. package/cdn/chunks/{chunk.4O7VDH44.js → chunk.T7LIPTCL.js} +1 -1
  23. package/cdn/chunks/{chunk.INYJLKLJ.js → chunk.XCDQSN4K.js} +1 -1
  24. package/cdn/chunks/{chunk.HH3FXCDW.js → chunk.XFBBCWDH.js} +0 -1
  25. package/cdn/chunks/{chunk.OFG3L77A.js → chunk.XO5NWJKS.js} +4 -1
  26. package/cdn/chunks/{chunk.DPVUVRFZ.js → chunk.YVXTJRSI.js} +9 -1
  27. package/cdn/components/accordion-group/accordion-group.js +1 -1
  28. package/cdn/components/alert/alert.d.ts +1 -1
  29. package/cdn/components/alert/alert.js +1 -1
  30. package/cdn/components/button/button.js +1 -1
  31. package/cdn/components/checkbox/checkbox.js +1 -1
  32. package/cdn/components/combobox/combobox.js +2 -2
  33. package/cdn/components/copy-button/copy-button.d.ts +1 -2
  34. package/cdn/components/copy-button/copy-button.js +1 -1
  35. package/cdn/components/error-text/error-text-stories.d.ts +2 -0
  36. package/cdn/components/error-text/error-text-stories.js +4 -2
  37. package/cdn/components/filter-counter/filter-counter.js +7 -7
  38. package/cdn/components/filter-range/filter-range.js +7 -7
  39. package/cdn/components/filter-select/filter-select.js +8 -8
  40. package/cdn/components/header-search/header-search.js +1 -1
  41. package/cdn/components/input/input.js +6 -6
  42. package/cdn/components/input-amount/input-amount.js +3 -3
  43. package/cdn/components/input-date/input-date.js +3 -3
  44. package/cdn/components/input-mask/input-mask.js +3 -3
  45. package/cdn/components/input-native/input-native.d.ts +1 -0
  46. package/cdn/components/input-native/input-native.js +3 -3
  47. package/cdn/components/input-otp/input-otp.js +3 -3
  48. package/cdn/components/input-phone/input-phone.d.ts +10 -9
  49. package/cdn/components/input-phone/input-phone.js +4 -4
  50. package/cdn/components/input-time/input-time.js +3 -3
  51. package/cdn/components/menu-accordion/menu-accordion.js +2 -2
  52. package/cdn/components/menu-accordion/menu-accordion.styles.js +1 -1
  53. package/cdn/components/menu-item/menu-item.d.ts +1 -0
  54. package/cdn/components/menu-item/menu-item.js +1 -1
  55. package/cdn/components/menu-navigation/menu-navigation.d.ts +1 -1
  56. package/cdn/components/menu-navigation/menu-navigation.js +18 -1
  57. package/cdn/components/navbar-link/navbar-link.js +14 -1
  58. package/cdn/components/navbar-menu/navbar-menu.js +8 -1
  59. package/cdn/components/pagination/pagination.js +6 -6
  60. package/cdn/components/select/select.js +2 -2
  61. package/cdn/components/sidenav/sidenav.js +2 -2
  62. package/cdn/components/sidenav/sidenav.styles.js +1 -1
  63. package/cdn/components/sidenav-info-accordion/sidenav-info-accordion.js +2 -2
  64. package/cdn/components/success-text/success-text-stories.d.ts +2 -0
  65. package/cdn/components/success-text/success-text-stories.js +4 -2
  66. package/cdn/components/tab-group/tab-group.js +1 -1
  67. package/cdn/components/table-header-row/table-header-row.js +1 -1
  68. package/cdn/components/table-row/table-row.js +1 -1
  69. package/cdn/components/textarea/textarea.js +2 -2
  70. package/cdn/components/tree/tree.js +1 -1
  71. package/cdn/components/tree-item/tree-item.js +1 -1
  72. package/cdn/custom-elements.json +167 -142
  73. package/cdn/design-system.js +28 -28
  74. package/cdn/internal/components/form-control/form-control-layout-stories.js +31 -7
  75. package/cdn/internal/components/form-control/form-control-layout.d.ts +3 -1
  76. package/cdn/internal/components/form-control/form-control-layout.js +8 -2
  77. package/cdn/internal/components/input-base/input-base-stories.js +14 -0
  78. package/cdn/templates/utilities/decorator.d.ts +6 -0
  79. package/{dist/templates → cdn/templates/utilities}/decorator.js +4 -4
  80. package/cdn/templates/utilities/header.d.ts +8 -0
  81. package/cdn/templates/utilities/header.js +114 -0
  82. package/cdn/templates/utilities/template-story-config.d.ts +16 -0
  83. package/cdn/templates/utilities/template-story-config.js +20 -0
  84. package/cdn/vscode.html-custom-data.json +12 -16
  85. package/cdn/web-types.json +92 -70
  86. package/dist/chunks/{chunk.YHQQWRGP.js → chunk.3FXWMOTD.js} +11 -5
  87. package/dist/chunks/{chunk.LNGE6VFS.js → chunk.4FTWYPW3.js} +3 -2
  88. package/dist/chunks/{chunk.2M6NG4O7.js → chunk.5SU4CCQO.js} +1 -1
  89. package/dist/chunks/{chunk.75ZNSBG6.js → chunk.7OU2KJ5C.js} +4 -1
  90. package/dist/chunks/{chunk.TREOZZ7D.js → chunk.C2GI7AW5.js} +2 -1
  91. package/dist/chunks/{chunk.SAKC6HWD.js → chunk.FGPLOCXU.js} +7 -7
  92. package/dist/chunks/{chunk.XRLHF7QC.js → chunk.FJUIXT7L.js} +9 -5
  93. package/dist/chunks/{chunk.JM6QCEPE.js → chunk.HYY7Y4SP.js} +8 -2
  94. package/dist/chunks/{chunk.QUYAJTQA.js → chunk.MJDFYFBT.js} +1 -1
  95. package/dist/chunks/{chunk.M2FVFT7D.js → chunk.MONMQF4P.js} +7 -5
  96. package/dist/chunks/{chunk.27MAGZH3.js → chunk.N6N5PXAU.js} +8 -3
  97. package/dist/chunks/{chunk.VIAKDLXU.js → chunk.NBBSSAAF.js} +5 -0
  98. package/dist/chunks/{chunk.HWRZLJQQ.js → chunk.OGLESSI3.js} +4 -0
  99. package/dist/chunks/{chunk.5ZO4QRKN.js → chunk.OMIL5X3X.js} +1 -1
  100. package/dist/chunks/{chunk.CIPCYGAB.js → chunk.OUL3HENR.js} +1 -1
  101. package/dist/chunks/{chunk.PIRJ2ABB.js → chunk.QDXFBING.js} +0 -1
  102. package/dist/chunks/{chunk.A43SBIER.js → chunk.QQOPMOYX.js} +5 -5
  103. package/dist/chunks/{chunk.MFAEBC56.js → chunk.SHMCRSQN.js} +8 -3
  104. package/dist/chunks/{chunk.WTV5HKD2.js → chunk.SQJRLNS2.js} +71 -55
  105. package/dist/chunks/{chunk.G3ITJBUT.js → chunk.TEHV57S2.js} +5 -0
  106. package/dist/chunks/{chunk.XUEOWZLQ.js → chunk.UAENT3Y6.js} +9 -1
  107. package/dist/chunks/{chunk.ONHIOF25.js → chunk.UXNALBWT.js} +11 -5
  108. package/dist/chunks/{chunk.R4SXN6JP.js → chunk.VQ2ZMSUF.js} +8 -7
  109. package/dist/chunks/{chunk.JIE46CQ6.js → chunk.Y5BMTMOP.js} +11 -8
  110. package/dist/chunks/{chunk.CTNXZIBB.js → chunk.YVUJ2MK6.js} +4 -1
  111. package/dist/components/accordion-group/accordion-group.js +1 -1
  112. package/dist/components/alert/alert.d.ts +1 -1
  113. package/dist/components/alert/alert.js +1 -1
  114. package/dist/components/button/button.js +1 -1
  115. package/dist/components/checkbox/checkbox.js +1 -1
  116. package/dist/components/combobox/combobox.js +2 -2
  117. package/dist/components/copy-button/copy-button.d.ts +1 -2
  118. package/dist/components/copy-button/copy-button.js +1 -1
  119. package/dist/components/error-text/error-text-stories.d.ts +2 -0
  120. package/dist/components/error-text/error-text-stories.js +4 -2
  121. package/dist/components/filter-counter/filter-counter.js +7 -7
  122. package/dist/components/filter-range/filter-range.js +7 -7
  123. package/dist/components/filter-select/filter-select.js +8 -8
  124. package/dist/components/header-search/header-search.js +1 -1
  125. package/dist/components/input/input.js +6 -6
  126. package/dist/components/input-amount/input-amount.js +3 -3
  127. package/dist/components/input-date/input-date.js +3 -3
  128. package/dist/components/input-mask/input-mask.js +3 -3
  129. package/dist/components/input-native/input-native.d.ts +1 -0
  130. package/dist/components/input-native/input-native.js +3 -3
  131. package/dist/components/input-otp/input-otp.js +3 -3
  132. package/dist/components/input-phone/input-phone.d.ts +10 -9
  133. package/dist/components/input-phone/input-phone.js +4 -4
  134. package/dist/components/input-time/input-time.js +3 -3
  135. package/dist/components/menu-accordion/menu-accordion.js +2 -2
  136. package/dist/components/menu-accordion/menu-accordion.styles.js +1 -1
  137. package/dist/components/menu-item/menu-item.d.ts +1 -0
  138. package/dist/components/menu-item/menu-item.js +1 -1
  139. package/dist/components/menu-navigation/menu-navigation.d.ts +1 -1
  140. package/dist/components/menu-navigation/menu-navigation.js +14 -1
  141. package/dist/components/navbar-link/navbar-link.js +12 -1
  142. package/dist/components/navbar-menu/navbar-menu.js +6 -1
  143. package/dist/components/pagination/pagination.js +6 -6
  144. package/dist/components/select/select.js +2 -2
  145. package/dist/components/sidenav/sidenav.js +2 -2
  146. package/dist/components/sidenav/sidenav.styles.js +1 -1
  147. package/dist/components/sidenav-info-accordion/sidenav-info-accordion.js +2 -2
  148. package/dist/components/success-text/success-text-stories.d.ts +2 -0
  149. package/dist/components/success-text/success-text-stories.js +4 -2
  150. package/dist/components/tab-group/tab-group.js +1 -1
  151. package/dist/components/table-header-row/table-header-row.js +1 -1
  152. package/dist/components/table-row/table-row.js +1 -1
  153. package/dist/components/textarea/textarea.js +2 -2
  154. package/dist/components/tree/tree.js +1 -1
  155. package/dist/components/tree-item/tree-item.js +1 -1
  156. package/dist/custom-elements.json +167 -142
  157. package/dist/design-system.js +28 -28
  158. package/dist/internal/components/form-control/form-control-layout-stories.js +31 -7
  159. package/dist/internal/components/form-control/form-control-layout.d.ts +3 -1
  160. package/dist/internal/components/form-control/form-control-layout.js +8 -2
  161. package/dist/internal/components/input-base/input-base-stories.js +14 -0
  162. package/dist/templates/utilities/decorator.d.ts +6 -0
  163. package/{cdn/templates → dist/templates/utilities}/decorator.js +4 -4
  164. package/dist/templates/utilities/header.d.ts +8 -0
  165. package/dist/templates/utilities/header.js +114 -0
  166. package/dist/templates/utilities/template-story-config.d.ts +16 -0
  167. package/dist/templates/utilities/template-story-config.js +20 -0
  168. package/dist/vscode.html-custom-data.json +12 -16
  169. package/dist/web-types.json +92 -70
  170. package/package.json +1 -1
  171. package/cdn/templates/decorator.d.ts +0 -6
  172. package/dist/templates/decorator.d.ts +0 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ds-autonomie/web-components
2
2
 
3
+ ## 2.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 11fec02: `combobox`, `input`, `input-amount`, `input-date`, `input-mask`, `input-otp`, `input-phone`, `select`, `textarea` : ajout d'un attribut accessible-name à utiliser si aucun label n'est ajouté
8
+ - ed800d7: `menu-navigation` : permettre l'utilisation de la touche espace pour activer les menu-items de type bouton; `menu-item` : ajout d'un attribut `expanded`
9
+
10
+ ### Patch Changes
11
+
12
+ - 4c5f374: `alert` : dépréciation de l'attribut `duration` (non compatible avec l'accessibilité)
13
+ - ca25e5e: `textarea`, `input-native` : modification du compteur afin de ne plus avoir d'erreur si la valeur est explicitement mise à null ou undefined.
14
+ - ed85ed3: `copy-button` : suppression de l'attribut `feedback-duration` qui n'était pas compatible avec l'accessibilité
15
+ - 84411df: Modification des modèles de pages suite aux retour de la DIPCOM
16
+ - 273a1b7: `input-phone` : amélioration de la robustesse de mise à jour des valeurs.
17
+ - 06179a4: `checkbox` : recopie de la valeur de accessible-name dans l'attribut title de la case à cocher
18
+
3
19
  ## 2.10.0
4
20
 
5
21
  ### Minor Changes
@@ -38,7 +38,6 @@ var DSACopyButton = class extends ShoelaceElement {
38
38
  this.copyLabel = "";
39
39
  this.successLabel = "";
40
40
  this.errorLabel = "";
41
- this.feedbackDuration = 1e3;
42
41
  this.tooltipPlacement = "top";
43
42
  this.hoist = false;
44
43
  this.size = "medium";
@@ -93,7 +92,6 @@ var DSACopyButton = class extends ShoelaceElement {
93
92
  }
94
93
  }
95
94
  async showStatus(status) {
96
- const copyLabel = this.copyLabel || this.localize.term("copy");
97
95
  const successLabel = this.successLabel || this.localize.term("copied");
98
96
  const errorLabel = this.errorLabel || this.localize.term("copyError");
99
97
  const iconToShow = status === "success" ? this.successIcon : this.errorIcon;
@@ -105,7 +103,14 @@ var DSACopyButton = class extends ShoelaceElement {
105
103
  this.status = status;
106
104
  iconToShow.hidden = false;
107
105
  await iconToShow.animate(showAnimation.keyframes, showAnimation.options).finished;
108
- setTimeout(async () => {
106
+ this.isCopying = false;
107
+ }
108
+ async resetStatus() {
109
+ if (this.status !== "rest") {
110
+ const copyLabel = this.copyLabel || this.localize.term("copy");
111
+ const iconToShow = this.status === "success" ? this.successIcon : this.errorIcon;
112
+ const showAnimation = getAnimation(this, "copy.in", { dir: "ltr" });
113
+ const hideAnimation = getAnimation(this, "copy.out", { dir: "ltr" });
109
114
  await iconToShow.animate(hideAnimation.keyframes, hideAnimation.options).finished;
110
115
  iconToShow.hidden = true;
111
116
  this.status = "rest";
@@ -115,8 +120,7 @@ var DSACopyButton = class extends ShoelaceElement {
115
120
  showAnimation.options
116
121
  ).finished;
117
122
  this.tooltip.content = copyLabel;
118
- this.isCopying = false;
119
- }, this.feedbackDuration);
123
+ }
120
124
  }
121
125
  render() {
122
126
  const copyLabel = this.copyLabel || this.localize.term("copy");
@@ -143,6 +147,8 @@ var DSACopyButton = class extends ShoelaceElement {
143
147
  ?disabled=${this.disabled}
144
148
  @click=${this.handleCopy}
145
149
  aria-label=${copyLabel}
150
+ @mouseleave=${this.resetStatus}
151
+ @focusout=${this.resetStatus}
146
152
  >
147
153
  <dsa-icon
148
154
  library="system"
@@ -206,9 +212,6 @@ __decorateClass([
206
212
  __decorateClass([
207
213
  n({ attribute: "error-label" })
208
214
  ], DSACopyButton.prototype, "errorLabel", 2);
209
- __decorateClass([
210
- n({ attribute: "feedback-duration", type: Number })
211
- ], DSACopyButton.prototype, "feedbackDuration", 2);
212
215
  __decorateClass([
213
216
  n({ attribute: "tooltip-placement" })
214
217
  ], DSACopyButton.prototype, "tooltipPlacement", 2);
@@ -51,9 +51,12 @@ var sidenav_styles_default = i`
51
51
  padding: 0;
52
52
  height: var(--dsa-wc-sidenav-collapsed-width);
53
53
  flex-shrink: 0;
54
- outline-offset: -1px;
54
+ outline-offset: -3px;
55
55
  cursor: pointer;
56
56
  }
57
+ .sidenav__button:focus-visible {
58
+ outline: var(--dsa-wc-focus-ring);
59
+ }
57
60
 
58
61
  .sidenav__expand-icon {
59
62
  margin: 1.125rem;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FormControlLayout
3
- } from "./chunk.DPVUVRFZ.js";
3
+ } from "./chunk.YVXTJRSI.js";
4
4
  import {
5
5
  defaultValue
6
6
  } from "./chunk.APSWEF5D.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.E6U524GP.js";
7
7
  import {
8
8
  FormControlLayout
9
- } from "./chunk.DPVUVRFZ.js";
9
+ } from "./chunk.YVXTJRSI.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "./chunk.APSWEF5D.js";
@@ -186,6 +186,7 @@ var DSATextarea = class extends FormControlLayout {
186
186
  this.formControlController.updateValidity();
187
187
  }
188
188
  renderInput() {
189
+ var _a, _b;
189
190
  const hasLabelSlot = this.hasSlotController.test("label");
190
191
  const hasLabel = this.label ? true : !!hasLabelSlot;
191
192
  return x`
@@ -212,7 +213,9 @@ var DSATextarea = class extends FormControlLayout {
212
213
  part="textarea"
213
214
  id="input"
214
215
  class="textarea__control"
215
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
216
+ title=${ifDefinedAndNotEmpty(
217
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
218
+ )}
216
219
  name=${ifDefinedAndNotEmpty(this.name)}
217
220
  .value=${l(this.value)}
218
221
  ?disabled=${this.disabled}
@@ -229,7 +232,9 @@ var DSATextarea = class extends FormControlLayout {
229
232
  enterkeyhint=${o(this.enterkeyhint)}
230
233
  inputmode=${o(this.inputmode)}
231
234
  aria-describedby=${this.getDescriptionIds()}
232
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
235
+ aria-label=${ifDefinedAndNotEmpty(
236
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
237
+ )}
233
238
  aria-invalid=${o(this.error ? "true" : void 0)}
234
239
  @change=${this.handleChange}
235
240
  @input=${this.handleInput}
@@ -241,12 +246,13 @@ var DSATextarea = class extends FormControlLayout {
241
246
  `;
242
247
  }
243
248
  renderCounter() {
244
- const counterText = this.maxlength && this.counter ? `${this.value.length}/${this.maxlength}` : void 0;
249
+ var _a, _b, _c;
250
+ const counterText = this.maxlength && this.counter ? `${(_b = (_a = this.value) == null ? void 0 : _a.length) != null ? _b : 0}/${this.maxlength}` : void 0;
245
251
  return counterText !== void 0 ? x`<span
246
252
  id="counter"
247
253
  class=${e2({
248
254
  "form-control__counter": true,
249
- "form-control__counter--animated": this.value.length === this.maxlength
255
+ "form-control__counter--animated": ((_c = this.value) == null ? void 0 : _c.length) === this.maxlength
250
256
  })}
251
257
  >${counterText}</span
252
258
  >` : x``;
@@ -165,6 +165,11 @@ var DSAAlert = class extends ShoelaceElement {
165
165
  "<dsa-alert> requires a header-level attribute for accessibility if alert-title is set"
166
166
  );
167
167
  }
168
+ if (this.duration) {
169
+ a11yWarning(
170
+ "The duration attribute of <dsa-alert> is deprecated and should not be used, because it can prevent some persons from accessing the alert content."
171
+ );
172
+ }
168
173
  return x`
169
174
  <div aria-live="polite" aria-atomic="true">
170
175
  <div
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.EMIT7S33.js";
7
7
  import {
8
8
  FormControlLayout
9
- } from "./chunk.DPVUVRFZ.js";
9
+ } from "./chunk.YVXTJRSI.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "./chunk.APSWEF5D.js";
@@ -470,7 +470,7 @@ var DSASelect = class extends FormControlLayout {
470
470
  return ids.join(" ");
471
471
  }
472
472
  renderInput() {
473
- var _a, _b;
473
+ var _a, _b, _c, _d;
474
474
  const isValueDefined = this.value.length > 0;
475
475
  const hasLabelSlot = this.hasSlotController.test("label");
476
476
  const hasLabel = this.label ? true : !!hasLabelSlot;
@@ -532,16 +532,18 @@ var DSASelect = class extends FormControlLayout {
532
532
  spellcheck="false"
533
533
  autocapitalize="off"
534
534
  readonly
535
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
535
+ title=${ifDefinedAndNotEmpty(
536
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
537
+ )}
536
538
  aria-controls="listbox"
537
539
  aria-expanded=${this.open ? "true" : "false"}
538
540
  aria-haspopup="listbox"
539
541
  aria-label=${ifDefinedAndNotEmpty(
540
- hasLabel ? void 0 : this.title
542
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
541
543
  )}
542
544
  aria-disabled=${isDisabledOrReadonly ? "true" : "false"}
543
545
  aria-describedby=${this.getDescriptionIds()}
544
- aria-activedescendant=${(_b = (_a = this.currentOption) == null ? void 0 : _a.id) != null ? _b : ""}
546
+ aria-activedescendant=${(_d = (_c = this.currentOption) == null ? void 0 : _c.id) != null ? _d : ""}
545
547
  aria-invalid=${o(this.error ? "true" : void 0)}
546
548
  aria-required=${o(this.required ? "true" : void 0)}
547
549
  role="combobox"
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk.J5B4J5TO.js";
11
11
  import {
12
12
  InputBase
13
- } from "./chunk.32CDX2G7.js";
13
+ } from "./chunk.AYVXBNFN.js";
14
14
  import {
15
15
  l
16
16
  } from "./chunk.E6U524GP.js";
@@ -144,6 +144,7 @@ var DSAInputAmount = class extends InputBase {
144
144
  return !isNaN(parsedValue) && (isNaN(parsedMin) || parsedValue >= parsedMin) && (isNaN(parsedMax) || parsedValue <= parsedMax) && (safeStep === "any" || roundToStep(parsedValue, safeStep) === parsedValue);
145
145
  }
146
146
  renderInput() {
147
+ var _a, _b;
147
148
  const hasLabelSlot = this.hasSlotController.test("label");
148
149
  const hasPrefixIcon = this.hasSlotController.test("prefix");
149
150
  const hasSuffixIcon = this.hasSlotController.test("suffix");
@@ -182,7 +183,9 @@ var DSAInputAmount = class extends InputBase {
182
183
  id="input"
183
184
  class="input__control"
184
185
  type=${"text"}
185
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
186
+ title=${ifDefinedAndNotEmpty(
187
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
188
+ )}
186
189
  name=${ifDefinedAndNotEmpty(this.name)}
187
190
  ?disabled=${this.disabled}
188
191
  ?readonly=${this.readonly}
@@ -199,7 +202,9 @@ var DSAInputAmount = class extends InputBase {
199
202
  pattern=${o(this.pattern)}
200
203
  enterkeyhint=${o(this.enterkeyhint)}
201
204
  inputmode="decimal"
202
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
205
+ aria-label=${ifDefinedAndNotEmpty(
206
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
207
+ )}
203
208
  aria-describedby=${this.getDescriptionIds()}
204
209
  aria-invalid=${o(this.error ? "true" : void 0)}
205
210
  @change=${this.handleChange}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk.I6S6TC3T.js";
8
8
  import {
9
9
  InputBase
10
- } from "./chunk.32CDX2G7.js";
10
+ } from "./chunk.AYVXBNFN.js";
11
11
  import {
12
12
  l
13
13
  } from "./chunk.E6U524GP.js";
@@ -44,6 +44,7 @@ var DSAInputNative = class extends InputBase {
44
44
  this.passwordVisible = !this.passwordVisible;
45
45
  }
46
46
  renderInput() {
47
+ var _a, _b;
47
48
  const hasLabelSlot = this.hasSlotController.test("label");
48
49
  const overridenPrefixIcon = isPrefixIconOverriden(this.type) ? getOverridenIconDetails(this.type) : void 0;
49
50
  const hasPrefixIcon = overridenPrefixIcon !== void 0 || this.hasSlotController.test("prefix");
@@ -95,7 +96,9 @@ var DSAInputNative = class extends InputBase {
95
96
  id="input"
96
97
  class="input__control"
97
98
  type=${nativeType}
98
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
99
+ title=${ifDefinedAndNotEmpty(
100
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
101
+ )}
99
102
  name=${ifDefinedAndNotEmpty(this.name)}
100
103
  ?disabled=${this.disabled}
101
104
  ?readonly=${this.readonly}
@@ -115,7 +118,9 @@ var DSAInputNative = class extends InputBase {
115
118
  pattern=${o(this.pattern)}
116
119
  enterkeyhint=${o(this.enterkeyhint)}
117
120
  inputmode=${o(this.inputmode)}
118
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
121
+ aria-label=${ifDefinedAndNotEmpty(
122
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
123
+ )}
119
124
  aria-describedby=${this.getDescriptionIds()}
120
125
  aria-invalid=${o(this.error ? "true" : void 0)}
121
126
  @change=${this.handleChange}
@@ -155,12 +160,13 @@ var DSAInputNative = class extends InputBase {
155
160
  `;
156
161
  }
157
162
  renderCounter() {
158
- const counterText = this.maxlength && this.counter ? `${this.value.length}/${this.maxlength}` : void 0;
163
+ var _a, _b, _c;
164
+ const counterText = this.maxlength && this.counter ? `${(_b = (_a = this.value) == null ? void 0 : _a.length) != null ? _b : 0}/${this.maxlength}` : void 0;
159
165
  return counterText !== void 0 ? x`<span
160
166
  id="counter"
161
167
  class=${e2({
162
168
  "form-control__counter": true,
163
- "form-control__counter--animated": this.value.length === this.maxlength
169
+ "form-control__counter--animated": ((_c = this.value) == null ? void 0 : _c.length) === this.maxlength
164
170
  })}
165
171
  >${counterText}</span
166
172
  >` : x``;
@@ -171,6 +171,7 @@ var DSACheckbox = class extends ShoelaceElement {
171
171
  this.formControlController.updateValidity();
172
172
  }
173
173
  render() {
174
+ var _a, _b;
174
175
  const hasLabelSlot = this.hasSlotController.test("[default]");
175
176
  const isDisabled = this.disabled || this.parentDisabled;
176
177
  const isReadonly = this.readonly || this.parentReadonly;
@@ -216,7 +217,7 @@ var DSACheckbox = class extends ShoelaceElement {
216
217
  id="input"
217
218
  class="checkbox__input"
218
219
  type="checkbox"
219
- title=${this.title}
220
+ title=${(_a = this.accessibleName) != null ? _a : this.title}
220
221
  name=${ifDefinedAndNotEmpty(this.name)}
221
222
  value=${o(this.value)}
222
223
  .indeterminate=${l(this.indeterminate)}
@@ -224,7 +225,7 @@ var DSACheckbox = class extends ShoelaceElement {
224
225
  .disabled=${isDisabled}
225
226
  .required=${this.required}
226
227
  aria-label=${ifDefinedAndNotEmpty(
227
- this.accessibleName || this.ariaLabel
228
+ (_b = this.accessibleName) != null ? _b : this.ariaLabel
228
229
  )}
229
230
  aria-checked=${this.checked ? "true" : "false"}
230
231
  aria-describedby=${o(this.error ? "error-text" : void 0)}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.BQTNLW5P.js";
7
7
  import {
8
8
  DSAInput
9
- } from "./chunk.ORJKIZAO.js";
9
+ } from "./chunk.SPF4JEAI.js";
10
10
  import {
11
11
  FilterBase
12
12
  } from "./chunk.4Q2WUHBV.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk.6MHC5DNA.js";
4
4
  import {
5
5
  InputBase
6
- } from "./chunk.32CDX2G7.js";
6
+ } from "./chunk.AYVXBNFN.js";
7
7
  import {
8
8
  l
9
9
  } from "./chunk.E6U524GP.js";
@@ -360,7 +360,7 @@ var DSAInputDate = class extends InputBase {
360
360
  this.formControlController.updateValidity();
361
361
  }
362
362
  renderInput() {
363
- var _a, _b, _c, _d, _e;
363
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
364
364
  const hasPrefixIcon = this.hasSlotController.test("prefix");
365
365
  const hasClearIcon = this.clearable && !this.disabled && !this.readonly && (typeof this.value === "number" || this.value.length > 0);
366
366
  return x`
@@ -395,9 +395,9 @@ var DSAInputDate = class extends InputBase {
395
395
  >
396
396
  <dsa-internal-date-field
397
397
  id="input-start"
398
- parent-name=${this.range ? `${(_a = this.label) != null ? _a : this.title} - ${this.localize.term(
398
+ parent-name=${this.range ? `${(_b = (_a = this.label) != null ? _a : this.accessibleName) != null ? _b : this.title} - ${this.localize.term(
399
399
  "startDate"
400
- )}` : (_b = this.label) != null ? _b : this.title}
400
+ )}` : (_d = (_c = this.label) != null ? _c : this.accessibleName) != null ? _d : this.title}
401
401
  description=${this.getDescriptionText("start")}
402
402
  .value=${l(
403
403
  this.range ? parseDateRange(this.value)[0] : this.value
@@ -430,11 +430,11 @@ var DSAInputDate = class extends InputBase {
430
430
  <dsa-internal-date-field
431
431
  hidden=${o(!this.range ? true : void 0)}
432
432
  id="input-end"
433
- parent-name=${`${(_c = this.label) != null ? _c : this.title} - ${this.localize.term(
433
+ parent-name=${`${(_f = (_e = this.label) != null ? _e : this.accessibleName) != null ? _f : this.title} - ${this.localize.term(
434
434
  "endDate"
435
435
  )}`}
436
436
  description=${this.getDescriptionText("end")}
437
- .value=${(_d = parseDateRange(this.value)[1]) != null ? _d : ""}
437
+ .value=${(_g = parseDateRange(this.value)[1]) != null ? _g : ""}
438
438
  .defaultValue=${o(parseDateRange(this.defaultValue)[1])}
439
439
  ?disabled=${this.disabled}
440
440
  lang=${o(this.lang)}
@@ -469,7 +469,7 @@ var DSAInputDate = class extends InputBase {
469
469
  part="picker-button"
470
470
  class="input__action-button icon-button--date"
471
471
  name="calendar_today"
472
- label=${`${this.localize.term("picker")} - ${(_e = this.label) != null ? _e : this.title}`}
472
+ label=${`${this.localize.term("picker")} - ${(_i = (_h = this.label) != null ? _h : this.accessibleName) != null ? _i : this.title}`}
473
473
  size=${this.size}
474
474
  ?disabled=${this.disabled || this.readonly}
475
475
  @click=${this.showDatepicker}
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk.IONY2GZF.js";
9
9
  import {
10
10
  InputBase
11
- } from "./chunk.32CDX2G7.js";
11
+ } from "./chunk.AYVXBNFN.js";
12
12
  import {
13
13
  scrollIntoView
14
14
  } from "./chunk.EMIT7S33.js";
@@ -371,7 +371,7 @@ var DSAInputTime = class extends InputBase {
371
371
  `;
372
372
  }
373
373
  renderInput() {
374
- var _a;
374
+ var _a, _b, _c, _d;
375
375
  const hasLabelSlot = this.hasSlotController.test("label");
376
376
  const hasPrefixIcon = this.hasSlotController.test("prefix");
377
377
  const hasSuffixIcon = this.hasSlotController.test("suffix");
@@ -423,7 +423,9 @@ var DSAInputTime = class extends InputBase {
423
423
  id="input"
424
424
  class="input__control"
425
425
  type="time"
426
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
426
+ title=${ifDefinedAndNotEmpty(
427
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
428
+ )}
427
429
  name=${ifDefinedAndNotEmpty(this.name)}
428
430
  ?disabled=${this.disabled}
429
431
  ?readonly=${this.readonly}
@@ -436,7 +438,9 @@ var DSAInputTime = class extends InputBase {
436
438
  ?autofocus=${this.autofocus}
437
439
  enterkeyhint=${o(this.enterkeyhint)}
438
440
  inputmode="numeric"
439
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
441
+ aria-label=${ifDefinedAndNotEmpty(
442
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
443
+ )}
440
444
  aria-describedby=${this.getDescriptionIds()}
441
445
  aria-invalid=${o(this.error ? "true" : void 0)}
442
446
  @change=${this.handleChange}
@@ -479,7 +483,7 @@ var DSAInputTime = class extends InputBase {
479
483
  part="picker-button"
480
484
  class="input__action-button icon-button--time"
481
485
  name="schedule"
482
- label=${`${this.localize.term("selectATime")} - ${(_a = this.label) != null ? _a : this.title}`}
486
+ label=${`${this.localize.term("selectATime")} - ${(_d = (_c = this.label) != null ? _c : this.accessibleName) != null ? _d : this.title}`}
483
487
  @click=${this.toggleTimePicker}
484
488
  library="system"
485
489
  size=${this.size}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk.MILYWVXX.js";
4
4
  import {
5
5
  InputBase
6
- } from "./chunk.32CDX2G7.js";
6
+ } from "./chunk.AYVXBNFN.js";
7
7
  import {
8
8
  l
9
9
  } from "./chunk.E6U524GP.js";
@@ -151,6 +151,7 @@ var DSAInputOTP = class extends InputBase {
151
151
  `;
152
152
  }
153
153
  renderInput() {
154
+ var _a, _b;
154
155
  const hasLabelSlot = this.hasSlotController.test("label");
155
156
  const hasLabel = this.label ? true : !!hasLabelSlot;
156
157
  return x`
@@ -191,7 +192,12 @@ var DSAInputOTP = class extends InputBase {
191
192
  pattern=${o(this.pattern)}
192
193
  enterkeyhint=${o(this.enterkeyhint)}
193
194
  inputmode=${o(this.inputmode)}
194
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
195
+ title=${ifDefinedAndNotEmpty(
196
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
197
+ )}
198
+ aria-label=${ifDefinedAndNotEmpty(
199
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
200
+ )}
195
201
  aria-describedby=${this.getDescriptionIds()}
196
202
  aria-invalid=${o(this.error ? "true" : void 0)}
197
203
  @change=${this.handleChange}
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk.PHX6FWGI.js";
9
9
  import {
10
10
  InputBase
11
- } from "./chunk.32CDX2G7.js";
11
+ } from "./chunk.AYVXBNFN.js";
12
12
  import {
13
13
  l
14
14
  } from "./chunk.E6U524GP.js";
@@ -113,6 +113,7 @@ var DSAInputMask = class extends InputBase {
113
113
  }
114
114
  }
115
115
  renderInput() {
116
+ var _a, _b;
116
117
  const hasLabelSlot = this.hasSlotController.test("label");
117
118
  const hasPrefixIcon = this.hasSlotController.test("prefix");
118
119
  const hasSuffixIcon = this.hasSlotController.test("suffix");
@@ -167,7 +168,9 @@ var DSAInputMask = class extends InputBase {
167
168
  "input-mask__control-with-prefix": hasPrefixIcon
168
169
  })}
169
170
  type="text"
170
- title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
171
+ title=${ifDefinedAndNotEmpty(
172
+ hasLabel ? void 0 : (_a = this.accessibleName) != null ? _a : this.title
173
+ )}
171
174
  name=${ifDefinedAndNotEmpty(this.name)}
172
175
  ?disabled=${this.disabled}
173
176
  ?readonly=${this.readonly}
@@ -183,7 +186,9 @@ var DSAInputMask = class extends InputBase {
183
186
  spellcheck=${this.spellcheck}
184
187
  enterkeyhint=${o(this.enterkeyhint)}
185
188
  inputmode=${this.inputmode}
186
- aria-label=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
189
+ aria-label=${ifDefinedAndNotEmpty(
190
+ hasLabel ? void 0 : (_b = this.accessibleName) != null ? _b : this.title
191
+ )}
187
192
  aria-describedby=${this.getDescriptionIds()}
188
193
  aria-invalid=${o(this.error ? "true" : void 0)}
189
194
  @change=${this.handleChange}
@@ -116,6 +116,7 @@ var DSAMenuItem = class extends ShoelaceElement {
116
116
  rel=${o(this.type === "link" ? this.rel : void 0)}
117
117
  download=${o(this.type === "link" ? this.download : void 0)}
118
118
  aria-current=${ifDefinedAndNotEmpty(this.current)}
119
+ aria-expanded=${o(this.expanded)}
119
120
  tabindex=${o(this.disabled ? "-1" : void 0)}
120
121
  aria-label=${o(this.collapsed ? this.getTextLabel() : void 0)}
121
122
  >
@@ -168,6 +169,9 @@ __decorateClass([
168
169
  __decorateClass([
169
170
  n({ type: Boolean, reflect: true })
170
171
  ], DSAMenuItem.prototype, "collapsed", 2);
172
+ __decorateClass([
173
+ n()
174
+ ], DSAMenuItem.prototype, "expanded", 2);
171
175
  __decorateClass([
172
176
  watch("disabled")
173
177
  ], DSAMenuItem.prototype, "handleDisabledChange", 1);