@ds-autonomie/web-components 1.16.1 → 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 (54) hide show
  1. package/CHANGELOG.md +12 -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.QE5KX6GC.js → chunk.6TASDLIO.js} +17 -6
  6. package/dist/chunks/{chunk.WFCZZ5Y7.js → chunk.7DHGAM7P.js} +1 -1
  7. package/dist/chunks/{chunk.TJHLVV2Q.js → chunk.AMIXGL74.js} +42 -38
  8. package/dist/chunks/{chunk.YCOCNU2O.js → chunk.BAU3732X.js} +4 -2
  9. package/dist/chunks/{chunk.M6LJDR7Y.js → chunk.CKBRIIGV.js} +20 -18
  10. package/dist/chunks/{chunk.KFFAVINP.js → chunk.EAP74BQL.js} +2 -2
  11. package/dist/chunks/{chunk.VFWCJMJG.js → chunk.IDAQJSVV.js} +31 -26
  12. package/dist/chunks/{chunk.ZVIBE4XH.js → chunk.MJ3ZLDHO.js} +12 -1
  13. package/dist/chunks/{chunk.I7SW3V2A.js → chunk.NXQ42SSB.js} +1 -1
  14. package/dist/chunks/{chunk.U5EXTR5D.js → chunk.PNTPO2DN.js} +6 -7
  15. package/dist/chunks/{chunk.6GBDSLDV.js → chunk.QDXCYEAZ.js} +1 -1
  16. package/dist/chunks/{chunk.JUG6IFUT.js → chunk.TRKYAEYS.js} +1 -1
  17. package/dist/chunks/{chunk.APYW2WVZ.js → chunk.VC3XT47N.js} +1 -1
  18. package/dist/chunks/{chunk.FYTGBKGY.js → chunk.VDOVUA55.js} +5 -7
  19. package/dist/chunks/{chunk.UAC34KI2.js → chunk.VLSSVYAB.js} +2 -1
  20. package/dist/chunks/{chunk.2B2LL7AI.js → chunk.Z5LJXDHJ.js} +5 -1
  21. package/dist/chunks/{chunk.ULHEP5Y6.js → chunk.ZWVWEQGL.js} +20 -22
  22. package/dist/components/accordion/accordion.js +2 -2
  23. package/dist/components/accordion/accordion.styles.js +1 -1
  24. package/dist/components/alert/alert.d.ts +2 -0
  25. package/dist/components/alert/alert.js +1 -1
  26. package/dist/components/combobox/combobox.js +2 -2
  27. package/dist/components/combobox/combobox.styles.js +1 -1
  28. package/dist/components/dialog/dialog.js +1 -1
  29. package/dist/components/filter/filter-date/filter-date.js +2 -2
  30. package/dist/components/filter/filter-range/filter-range.js +2 -2
  31. package/dist/components/filter/filter-select/filter-select.js +2 -2
  32. package/dist/components/footer-mandatory-mentions/footer-mandatory-mentions.d.ts +1 -0
  33. package/dist/components/footer-mandatory-mentions/footer-mandatory-mentions.js +2 -1
  34. package/dist/components/input/input.js +2 -2
  35. package/dist/components/input/input.styles.js +1 -1
  36. package/dist/components/input-mask/input-mask.js +2 -2
  37. package/dist/components/input-mask/input-mask.styles.js +1 -1
  38. package/dist/components/input-phone/input-phone.js +5 -5
  39. package/dist/components/input-phone/input-phone.styles.js +1 -1
  40. package/dist/components/option/option.js +1 -1
  41. package/dist/components/pagination/pagination.d.ts +2 -0
  42. package/dist/components/pagination/pagination.js +3 -3
  43. package/dist/components/select/select.js +2 -2
  44. package/dist/components/select/select.styles.js +1 -1
  45. package/dist/components/textarea/textarea.js +2 -2
  46. package/dist/components/textarea/textarea.styles.js +1 -1
  47. package/dist/custom-elements.json +151 -107
  48. package/dist/design-system.js +20 -20
  49. package/dist/themes/dsa-wc-theme.css +15 -38
  50. package/dist/themes/dsa-wc-theme.min.css +1 -1
  51. package/dist/themes/dsa-wc-theme.styles.js +15 -38
  52. package/dist/vscode.html-custom-data.json +18 -12
  53. package/dist/web-types.json +83 -50
  54. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ds-autonomie/web-components
2
2
 
3
+ ## 1.16.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 7172de3: `textarea` : application du style readonly
8
+ - b1cd757: `select`, `combobox`, `filter-select` : améliorations a11y
9
+ - c16da8c: `pagination` : possibilité de personnaliser le aria-label de l'élément `<nav>`
10
+ - 97c7af4: `footer` : affichage du séparateur des mentions obligatoires seulement si les 2 slots ont du contenu
11
+ - 7883203: `accordion`: changement de l'apparence au survol et focus
12
+ - 16213d8: `alert` : restitution des alertes apparaissant suite à action utilisateur
13
+ - 7b49078: `dialog` : prise en compte de l'attribut `no-header`
14
+
3
15
  ## 1.16.1
4
16
 
5
17
  ### Patch Changes
@@ -54,7 +54,7 @@ var combobox_styles_default = css`
54
54
  var(--dsa-wc-transition-fast) box-shadow,
55
55
  var(--dsa-wc-transition-fast) background-color;
56
56
  border-radius: var(--dsa-wc-input-border-radius);
57
- padding: var(--dsa-wc-input-padding);
57
+ padding: var(--dsa-wc-select-padding);
58
58
  }
59
59
 
60
60
  .select__display-input {
@@ -71,6 +71,10 @@ var combobox_styles_default = css`
71
71
  -webkit-appearance: none;
72
72
  }
73
73
 
74
+ .select__display-input::placeholder {
75
+ color: var(--dsa-wc-input-on-base-text-field-placeholder-color);
76
+ }
77
+
74
78
  .select__display-input:focus {
75
79
  outline: none;
76
80
  }
@@ -107,8 +111,9 @@ var combobox_styles_default = css`
107
111
  display: flex;
108
112
  align-items: center;
109
113
  flex-wrap: wrap;
110
- margin-inline-start: var(--dsa-wc-combobox-tag-margin-inline-start);
114
+ margin-inline-start: var(--dsa-wc-multiselect-tag-margin-inline-start);
111
115
  min-width: 0;
116
+ order: -1;
112
117
  }
113
118
 
114
119
  .select__tags dsa-tag {
@@ -117,21 +122,11 @@ var combobox_styles_default = css`
117
122
  }
118
123
 
119
124
  .select__tags dsa-tag::part(base) {
120
- background: var(--dsa-wc-combobox-tag-background) !important;
121
- color: var(--dsa-wc-combobox-tag-color) !important;
122
- border: solid 1px var(--dsa-wc-combobox-tag-border-color);
123
- border-radius: var(--dsa-wc-combobox-tag-border-radius);
124
- padding: 0 var(--dsa-wc-combobox-tag-padding-inline);
125
- }
126
-
127
- .select--error .select__tags dsa-tag::part(base) {
128
- background: var(--dsa-wc-combobox-tag-error-background) !important;
129
- color: var(--dsa-wc-combobox-tag-error-color) !important;
130
- border: solid 1px var(--dsa-wc-combobox-tag-error-border-color);
131
- }
132
-
133
- .select--error .select__tags dsa-tag::part(remove-button) {
134
- color: var(--dsa-wc-combobox-tag-error-color) !important;
125
+ background: var(--dsa-wc-multiselect-tag-background) !important;
126
+ color: var(--dsa-wc-multiselect-tag-color) !important;
127
+ border: solid 1px var(--dsa-wc-multiselect-tag-border-color);
128
+ border-radius: var(--dsa-wc-multiselect-tag-border-radius);
129
+ padding: 0 var(--dsa-wc-multiselect-tag-padding-inline);
135
130
  }
136
131
 
137
132
  .select--disabled .select__tags,
@@ -260,6 +255,7 @@ var combobox_styles_default = css`
260
255
  /* Sizes */
261
256
  .select--small .select__combobox {
262
257
  font: var(--dsa-wc-combobox-input-font-small);
258
+ min-height: var(--dsa-wc-form-input-height-small);
263
259
  }
264
260
 
265
261
  .select--small.select--multiple:not(.select--placeholder-visible)
@@ -274,6 +270,7 @@ var combobox_styles_default = css`
274
270
 
275
271
  .select--medium .select__combobox {
276
272
  font: var(--dsa-wc-combobox-input-font);
273
+ min-height: var(--dsa-wc-form-input-height);
277
274
  }
278
275
 
279
276
  .select--medium.select--multiple:not(.select--placeholder-visible)
@@ -286,7 +283,9 @@ var combobox_styles_default = css`
286
283
  gap: 3px;
287
284
  }
288
285
  .select--large .select__combobox {
286
+ padding-block: 3px;
289
287
  font: var(--dsa-wc-combobox-input-font-large);
288
+ min-height: var(--dsa-wc-form-input-height-large);
290
289
  }
291
290
  .select--large.select--multiple:not(.select--placeholder-visible)
292
291
  .select__combobox {
@@ -37,9 +37,7 @@ var input_phone_styles_default = css`
37
37
  height: auto;
38
38
  }
39
39
 
40
- .input-phone--focused:not(.input-phone--disabled):not(
41
- .input-phone--readonly
42
- ) {
40
+ .input-phone--focused:not(.input-phone--disabled) {
43
41
  outline: var(--dsa-wc-focus-ring);
44
42
  outline-offset: var(--dsa-wc-focus-ring-offset);
45
43
  }
@@ -43,7 +43,7 @@ var input_mask_styles_default = css`
43
43
  color: transparent;
44
44
  }
45
45
 
46
- .input-mask--focused:not(.input-mask--disabled):not(.input-mask--readonly) {
46
+ .input-mask--focused:not(.input-mask--disabled) {
47
47
  outline: var(--dsa-wc-focus-ring);
48
48
  outline-offset: var(--dsa-wc-focus-ring-offset);
49
49
  }
@@ -35,10 +35,11 @@ var textarea_styles_default = css`
35
35
  var(--dsa-wc-input-on-layer-border-color);
36
36
  }
37
37
 
38
- .textarea--on-layer:hover:not(.textarea--disabled) {
38
+ .textarea--on-layer:hover:not(.textarea--disabled):not(.textarea--readonly) {
39
39
  border-color: var(--dsa-wc-input-on-layer-border-color-hover);
40
40
  }
41
- .textarea--on-layer:not(.textarea--disabled) .textarea__control {
41
+ .textarea--on-layer:not(.textarea--disabled):not(.textarea--readonly)
42
+ .textarea__control {
42
43
  color: var(--dsa-wc-input-on-layer-text-field-input-color);
43
44
  }
44
45
  .textarea--on-layer .textarea__control::placeholder {
@@ -67,7 +68,9 @@ var textarea_styles_default = css`
67
68
  background-color: var(--dsa-wc-input-on-layer-background-color-error);
68
69
  }
69
70
 
70
- .textarea--on-layer.textarea--error:hover:not(.textarea--disabled) {
71
+ .textarea--on-layer.textarea--error:hover:not(.textarea--disabled):not(
72
+ .textarea--readonly
73
+ ) {
71
74
  border-color: var(--dsa-wc-input-on-layer-border-color-error-hover);
72
75
  }
73
76
  /* On Base textareas */
@@ -78,7 +81,7 @@ var textarea_styles_default = css`
78
81
  color: var(--dsa-wc-input-on-base-text-field-input-color);
79
82
  }
80
83
 
81
- .textarea--on-base:hover:not(.textarea--disabled) {
84
+ .textarea--on-base:hover:not(.textarea--disabled):not(.textarea--readonly) {
82
85
  border-color: var(--dsa-wc-input-on-base-border-color-hover);
83
86
  }
84
87
 
@@ -88,7 +91,13 @@ var textarea_styles_default = css`
88
91
  cursor: not-allowed;
89
92
  }
90
93
 
91
- .textarea--on-base:not(.textarea--disabled) .textarea__control {
94
+ .textarea--on-base.textarea--readonly {
95
+ background-color: var(--dsa-wc-input-on-base-read-only-background-color);
96
+ border-color: var(--dsa-wc-input-on-base-read-only-border-color);
97
+ }
98
+
99
+ .textarea--on-base:not(.textarea--disabled):not(.textarea--readonly)
100
+ .textarea__control {
92
101
  color: var(--dsa-wc-input-on-base-text-field-input-color);
93
102
  }
94
103
  .textarea--on-base .textarea__control::placeholder {
@@ -101,7 +110,9 @@ var textarea_styles_default = css`
101
110
  background-color: var(--dsa-wc-input-on-base-background-color-error);
102
111
  }
103
112
 
104
- .textarea--on-base.textarea--error:hover:not(.textarea--disabled) {
113
+ .textarea--on-base.textarea--error:hover:not(.textarea--disabled):not(
114
+ .textarea--readonly
115
+ ) {
105
116
  border-color: var(--dsa-wc-input-on-base-border-color-error-hover);
106
117
  }
107
118
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  accordion_styles_default
3
- } from "./chunk.FYTGBKGY.js";
3
+ } from "./chunk.VDOVUA55.js";
4
4
  import {
5
5
  waitForEvent
6
6
  } from "./chunk.B4BZKR24.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  combobox_styles_default
3
- } from "./chunk.AWHBPZCA.js";
3
+ } from "./chunk.2UZSRWJ7.js";
4
4
  import {
5
5
  scrollIntoView
6
6
  } from "./chunk.EMIT7S33.js";
@@ -388,6 +388,11 @@ var DSACombobox = class extends ShoelaceElement {
388
388
  }
389
389
  }
390
390
  handleEnterKey(event) {
391
+ const target = event.target;
392
+ const isTag = target.closest("dsa-tag") !== null;
393
+ if (isTag) {
394
+ return;
395
+ }
391
396
  event.preventDefault();
392
397
  event.stopImmediatePropagation();
393
398
  if (this.open && this.currentOption !== void 0 && !this.currentOption.disabled) {
@@ -641,6 +646,41 @@ var DSACombobox = class extends ShoelaceElement {
641
646
  "input-container": true
642
647
  })}
643
648
  >
649
+ <input
650
+ id="input"
651
+ part="display-input"
652
+ class="select__display-input"
653
+ type="text"
654
+ .value=${this.displayLabel}
655
+ placeholder=${ifDefinedAndNotEmpty(this.placeholder)}
656
+ .disabled=${this.disabled}
657
+ size=${selectInputWidth}
658
+ autocomplete="off"
659
+ spellcheck="false"
660
+ autocapitalize="off"
661
+ title=${ifDefinedAndNotEmpty(this.title)}
662
+ aria-controls="listbox"
663
+ aria-autocomplete="list"
664
+ aria-expanded=${this.open ? "true" : "false"}
665
+ aria-haspopup="listbox"
666
+ aria-labelledby=${ifDefinedAndNotEmpty(
667
+ hasLabel ? "label" : void 0
668
+ )}
669
+ aria-label=${ifDefinedAndNotEmpty(
670
+ hasLabel ? void 0 : this.title
671
+ )}
672
+ aria-disabled=${this.disabled ? "true" : "false"}
673
+ aria-describedby=${this.error ? "error-text help-text" : "help-text"}
674
+ aria-activedescendant=${(_b = (_a = this.currentOption) == null ? void 0 : _a.id) != null ? _b : ""}
675
+ role="combobox"
676
+ tabindex="0"
677
+ @change=${this.handleChange}
678
+ @input=${this.handleInput}
679
+ @focus=${this.handleFocus}
680
+ @blur=${this.handleBlur}
681
+ @invalid=${this.handleInvalid}
682
+ />
683
+
644
684
  ${this.multiple && this.value.length > 0 ? html`
645
685
  <div part="tags" class="select__tags">
646
686
  ${this.selectedOptions.map((option, index) => {
@@ -656,7 +696,6 @@ var DSACombobox = class extends ShoelaceElement {
656
696
  "
657
697
  size=${this.size}
658
698
  removable
659
- disable-removable-focus
660
699
  @dsa-remove=${(event) => this.handleTagRemove(event, option)}
661
700
  label=${option.getTextLabel()}
662
701
  >
@@ -665,7 +704,6 @@ var DSACombobox = class extends ShoelaceElement {
665
704
  } else if (index === this.maxOptionsVisible) {
666
705
  return html`
667
706
  <dsa-tag
668
- disable-removable-focus
669
707
  size=${this.size}
670
708
  label="+${this.selectedOptions.length - index}"
671
709
  >
@@ -677,41 +715,6 @@ var DSACombobox = class extends ShoelaceElement {
677
715
  })}
678
716
  </div>
679
717
  ` : ""}
680
-
681
- <input
682
- id="input"
683
- part="display-input"
684
- class="select__display-input"
685
- type="text"
686
- .value=${this.displayLabel}
687
- placeholder=${ifDefinedAndNotEmpty(this.placeholder)}
688
- .disabled=${this.disabled}
689
- size=${selectInputWidth}
690
- autocomplete="off"
691
- spellcheck="false"
692
- autocapitalize="off"
693
- title=${ifDefinedAndNotEmpty(this.title)}
694
- aria-controls="listbox"
695
- aria-autocomplete="list"
696
- aria-expanded=${this.open ? "true" : "false"}
697
- aria-haspopup="listbox"
698
- aria-labelledby=${ifDefinedAndNotEmpty(
699
- hasLabel ? "label" : void 0
700
- )}
701
- aria-label=${ifDefinedAndNotEmpty(
702
- hasLabel ? void 0 : this.title
703
- )}
704
- aria-disabled=${this.disabled ? "true" : "false"}
705
- aria-describedby="help-text"
706
- aria-activedescendant=${(_b = (_a = this.currentOption) == null ? void 0 : _a.id) != null ? _b : ""}
707
- role="combobox"
708
- tabindex="0"
709
- @change=${this.handleChange}
710
- @input=${this.handleInput}
711
- @focus=${this.handleFocus}
712
- @blur=${this.handleBlur}
713
- @invalid=${this.handleInvalid}
714
- />
715
718
  </div>
716
719
 
717
720
  <input
@@ -796,6 +799,7 @@ var DSACombobox = class extends ShoelaceElement {
796
799
  </slot>
797
800
 
798
801
  ${this.error && !this.disabled ? html`<dsa-error-text
802
+ id="error-text"
799
803
  part="form-control-error-text"
800
804
  class="form-control__error-text"
801
805
  >${this.errorMessage}</dsa-error-text
@@ -136,8 +136,10 @@ var DSAOption = class extends ShoelaceElement {
136
136
  class="option__label"
137
137
  @slotchange=${this.handleDefaultSlotChange}
138
138
  ></slot>
139
- <dsa-visually-hidden>:</dsa-visually-hidden>
140
- <span class="option__amount">${this.amount}</span>
139
+ ${this.amount ? html`
140
+ <dsa-visually-hidden>:</dsa-visually-hidden>
141
+ <span class="option__amount">${this.amount}</span>
142
+ ` : ""}
141
143
  <slot part="suffix" name="suffix" class="option__suffix"></slot>
142
144
  </div>
143
145
  `;
@@ -233,24 +233,26 @@ var DSADialog = class extends ShoelaceElement {
233
233
  aria-labelledby=${ifDefined(!this.noHeader ? "title" : void 0)}
234
234
  tabindex="0"
235
235
  >
236
- <header part="header" class="dialog__header">
237
- <h1 part="title" class="dialog__title" id="title">
238
- <slot name="label">
239
- ${this.label.length > 0 ? this.label : String.fromCharCode(65279)}
240
- </slot>
241
- </h1>
242
- <div part="header-actions" class="dialog__header-actions">
243
- <slot name="header-actions"></slot>
244
- <dsa-icon-button
245
- part="close-button"
246
- exportparts="base:close-button__base"
247
- class="dialog__close"
248
- name="close"
249
- label=${this.localize.term("close")}
250
- @click="${() => this.requestClose("close-button")}"
251
- ></dsa-icon-button>
252
- </div>
253
- </header>
236
+ ${!this.noHeader ? html`
237
+ <header part="header" class="dialog__header">
238
+ <h1 part="title" class="dialog__title" id="title">
239
+ <slot name="label">
240
+ ${this.label.length > 0 ? this.label : String.fromCharCode(65279)}
241
+ </slot>
242
+ </h1>
243
+ <div part="header-actions" class="dialog__header-actions">
244
+ <slot name="header-actions"></slot>
245
+ <dsa-icon-button
246
+ part="close-button"
247
+ exportparts="base:close-button__base"
248
+ class="dialog__close"
249
+ name="close"
250
+ label=${this.localize.term("close")}
251
+ @click="${() => this.requestClose("close-button")}"
252
+ ></dsa-icon-button>
253
+ </div>
254
+ </header>
255
+ ` : ""}
254
256
  <div class="dialog__body-container" tabindex="0">
255
257
  <slot part="body" class="dialog__body"></slot>
256
258
  </div>
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DSASelect
3
- } from "./chunk.U5EXTR5D.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";
@@ -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);
@@ -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
  `;
@@ -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")) {
@@ -554,7 +554,7 @@ var DSASelect = class extends ShoelaceElement {
554
554
  class="select__display-input"
555
555
  type="text"
556
556
  placeholder=${this.placeholder}
557
- .disabled=${isDisabledOrReadonly}
557
+ .disabled=${this.disabled}
558
558
  .value=${this.displayValue ? this.value : this.displayLabel}
559
559
  size=${ifDefined(selectInputWidth)}
560
560
  autocomplete="off"
@@ -572,7 +572,7 @@ var DSASelect = class extends ShoelaceElement {
572
572
  hasLabel ? void 0 : this.title
573
573
  )}
574
574
  aria-disabled=${isDisabledOrReadonly ? "true" : "false"}
575
- aria-describedby="help-text"
575
+ aria-describedby=${this.error ? "error-text help-text" : "help-text"}
576
576
  role="combobox"
577
577
  tabindex="0"
578
578
  @focus=${this.handleFocus}
@@ -594,7 +594,6 @@ var DSASelect = class extends ShoelaceElement {
594
594
  "
595
595
  size=${this.size}
596
596
  removable
597
- disable-removable-focus
598
597
  @dsa-remove=${(event) => this.handleTagRemove(event, option)}
599
598
  label=${option.getTextLabel()}
600
599
  >
@@ -603,7 +602,6 @@ var DSASelect = class extends ShoelaceElement {
603
602
  } else if (index === this.maxOptionsVisible) {
604
603
  return html`
605
604
  <dsa-tag
606
- disable-removable-focus
607
605
  size=${this.size}
608
606
  label="+${this.selectedOptions.length - index}"
609
607
  >
@@ -672,6 +670,7 @@ var DSASelect = class extends ShoelaceElement {
672
670
  </slot>
673
671
 
674
672
  ${this.error && !isDisabledOrReadonly ? html`<dsa-error-text
673
+ id="error-text"
675
674
  part="form-control-error-text"
676
675
  class="form-control__error-text"
677
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,
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk.KBT2EKLF.js";
5
5
  import {
6
6
  input_styles_default
7
- } from "./chunk.APYW2WVZ.js";
7
+ } from "./chunk.VC3XT47N.js";
8
8
  import {
9
9
  getDateFromISO,
10
10
  getISOFormattedDate
@@ -46,7 +46,7 @@ var input_styles_default = css`
46
46
  visibility: hidden !important;
47
47
  }
48
48
 
49
- .input--focused:not(.input--disabled):not(.input--readonly) {
49
+ .input--focused:not(.input--disabled) {
50
50
  outline: var(--dsa-wc-focus-ring);
51
51
  outline-offset: var(--dsa-wc-focus-ring-offset);
52
52
  }
@@ -37,19 +37,17 @@ var accordion_styles_default = css`
37
37
  cursor: pointer;
38
38
  }
39
39
 
40
- .accordion:focus-within {
41
- outline: var(--dsa-wc-focus-ring);
42
- }
43
- .accordion:hover:not(.accordion--disabled) {
40
+ .accordion:not(.accordion--disabled):has(.accordion__header:hover) {
44
41
  border-color: var(--dsa-wc-accordion-hover-border-color);
45
42
  }
46
43
 
47
- .accordion:hover:not(.accordion--disabled) .accordion__header-button {
44
+ .accordion:not(.accordion--disabled) .accordion__header-button:hover {
48
45
  background-color: var(--dsa-wc-accordion-header-hover-background-color);
49
46
  }
50
47
 
51
- .accordion__header-button:not(accordion--open):focus-visible {
52
- outline: none;
48
+ .accordion__header-button:focus-visible {
49
+ outline: var(--dsa-wc-focus-ring);
50
+ background-color: var(--dsa-wc-accordion-header-hover-background-color);
53
51
  }
54
52
 
55
53
  .accordion--disabled .accordion__header-button {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  textarea_styles_default
3
- } from "./chunk.QE5KX6GC.js";
3
+ } from "./chunk.6TASDLIO.js";
4
4
  import {
5
5
  defaultValue
6
6
  } from "./chunk.CMJ2SRTL.js";
@@ -243,6 +243,7 @@ var DSATextarea = class extends ShoelaceElement {
243
243
  "textarea--on-layer": this.variant === "layer",
244
244
  "textarea--error": this.error,
245
245
  "textarea--disabled": this.disabled,
246
+ "textarea--readonly": this.readonly,
246
247
  "textarea--focused": this.hasFocus,
247
248
  "textarea--empty": !this.value,
248
249
  "textarea--resize-none": this.resize === "none",