@ds-autonomie/web-components 1.0.1 → 1.1.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 (149) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/chunks/{chunk.K6WCEYZI.js → chunk.2CCKS3CP.js} +1 -1
  3. package/dist/chunks/{chunk.HH63FIEF.js → chunk.2DGAEK66.js} +12 -3
  4. package/dist/chunks/{chunk.O73OYTYJ.js → chunk.2HV2U4RQ.js} +2 -4
  5. package/dist/chunks/{chunk.EHVJT7BH.js → chunk.2R6P5TGQ.js} +1 -1
  6. package/dist/chunks/{chunk.KOH5V4C6.js → chunk.4MC32HP7.js} +21 -17
  7. package/dist/chunks/{chunk.BLPP3Q5H.js → chunk.5324JGM4.js} +11 -4
  8. package/dist/chunks/{chunk.WIEJJS3W.js → chunk.6BJBVSW4.js} +1 -1
  9. package/dist/chunks/{chunk.D7CATJYB.js → chunk.6IH66JBY.js} +1 -1
  10. package/dist/chunks/{chunk.YS7MY5CH.js → chunk.7EWUWW3E.js} +18 -24
  11. package/dist/chunks/chunk.7HGZSZJK.js +409 -0
  12. package/dist/chunks/{chunk.ODSCDJDO.js → chunk.ARVWTY56.js} +5 -4
  13. package/dist/chunks/{chunk.KDAK2GXX.js → chunk.AYXPVAYS.js} +1 -1
  14. package/dist/chunks/{chunk.WSVP75MH.js → chunk.CBMFAOZI.js} +1 -1
  15. package/dist/chunks/chunk.CMJ2SRTL.js +26 -0
  16. package/dist/chunks/{chunk.DURVPB6M.js → chunk.D6DEGG4H.js} +25 -6
  17. package/dist/chunks/{chunk.MY434P47.js → chunk.DFTZEFHF.js} +2 -2
  18. package/dist/chunks/{chunk.4XT2OJD2.js → chunk.DZWH4V6H.js} +8 -4
  19. package/dist/chunks/{chunk.NDEZEB3Z.js → chunk.EDRQ2QWB.js} +10 -5
  20. package/dist/chunks/{chunk.XSCX6TC5.js → chunk.EXIGM5NV.js} +4 -1
  21. package/dist/chunks/{chunk.OVK7QCA7.js → chunk.F4XMSVNF.js} +13 -9
  22. package/dist/chunks/{chunk.4A3WMGMZ.js → chunk.FHDPJN6L.js} +1 -1
  23. package/dist/chunks/{chunk.ABGBXXKA.js → chunk.FTWZNCEH.js} +1 -1
  24. package/dist/chunks/{chunk.6FAUBLR3.js → chunk.G3ESG6Q5.js} +1 -1
  25. package/dist/chunks/{chunk.PWWER3ZK.js → chunk.GJCVGGCP.js} +48 -24
  26. package/dist/chunks/{chunk.WHK7EFIM.js → chunk.GP5Z27QB.js} +7 -4
  27. package/dist/chunks/{chunk.UA32LJYW.js → chunk.HEOTAAPU.js} +2 -2
  28. package/dist/chunks/{chunk.JETXIC4F.js → chunk.HPK6C7NJ.js} +1 -1
  29. package/dist/chunks/{chunk.A2PAK6VF.js → chunk.ILUHEJYG.js} +2 -2
  30. package/dist/chunks/{chunk.5XL2LZLC.js → chunk.IQ7SDYSC.js} +4 -0
  31. package/dist/chunks/{chunk.GYTA2LJC.js → chunk.J6XP4AFN.js} +1 -1
  32. package/dist/chunks/{chunk.UZLQVFDR.js → chunk.L6LQN6AI.js} +2 -2
  33. package/dist/chunks/{chunk.BEB47LM2.js → chunk.LSKBY2HF.js} +2 -2
  34. package/dist/chunks/{chunk.WNHQYL5W.js → chunk.MTZZV3NB.js} +4 -20
  35. package/dist/chunks/{chunk.7ZCCXTFG.js → chunk.NBQ3AEK6.js} +2 -2
  36. package/dist/chunks/{chunk.HC5BO5YV.js → chunk.NHYFVEGM.js} +5 -16
  37. package/dist/chunks/{chunk.QKNNLZ2M.js → chunk.NKPNQBLW.js} +5 -5
  38. package/dist/chunks/{chunk.MOWTZFON.js → chunk.NKVYNBAI.js} +1 -1
  39. package/dist/chunks/{chunk.7NWAYDYI.js → chunk.NOEQVLAW.js} +3 -3
  40. package/dist/chunks/{chunk.INCGVIAQ.js → chunk.QSPKKO3T.js} +1 -1
  41. package/dist/chunks/chunk.R37CT3PN.js +865 -0
  42. package/dist/chunks/{chunk.IRQOFNJE.js → chunk.RSJYKNXT.js} +8 -3
  43. package/dist/chunks/{chunk.5XUV3SRW.js → chunk.ST2QYN4S.js} +11 -6
  44. package/dist/chunks/{chunk.LT7JMZ3T.js → chunk.T7JSALXE.js} +2 -2
  45. package/dist/chunks/{chunk.N6VVY6XD.js → chunk.U5KRBVRP.js} +6 -3
  46. package/dist/chunks/{chunk.5LT3B7MI.js → chunk.UQYPPFBJ.js} +1 -1
  47. package/dist/chunks/{chunk.2HUORR44.js → chunk.V6V7AGDB.js} +1 -1
  48. package/dist/chunks/{chunk.UV53JTE3.js → chunk.VIULAG23.js} +1 -1
  49. package/dist/chunks/{chunk.42W4S2HN.js → chunk.VM355VAS.js} +1 -1
  50. package/dist/chunks/{chunk.G7AELPSO.js → chunk.VRU3XH45.js} +4 -4
  51. package/dist/chunks/{chunk.HLYGKGDG.js → chunk.W74UQSZJ.js} +8 -5
  52. package/dist/chunks/{chunk.AR5HJD7F.js → chunk.X6RQ2SQC.js} +1 -1
  53. package/dist/chunks/chunk.ZQJVCRB2.js +10 -0
  54. package/dist/chunks/{chunk.RIJQGADY.js → chunk.ZW4JE66G.js} +11 -4
  55. package/dist/components/accordion/accordion.js +7 -7
  56. package/dist/components/alert/alert.js +9 -8
  57. package/dist/components/animation/animation.js +2 -2
  58. package/dist/components/avatar/avatar.d.ts +1 -1
  59. package/dist/components/avatar/avatar.js +7 -6
  60. package/dist/components/avatar-group/avatar-group.d.ts +1 -1
  61. package/dist/components/badge/badge.d.ts +1 -1
  62. package/dist/components/breadcrumb/breadcrumb.js +7 -7
  63. package/dist/components/breadcrumb-item/breadcrumb-item.js +2 -2
  64. package/dist/components/button/button.js +9 -8
  65. package/dist/components/checkbox/checkbox.js +8 -7
  66. package/dist/components/checkbox-button/checkbox-button.js +6 -6
  67. package/dist/components/checkbox-group/checkbox-group.d.ts +1 -0
  68. package/dist/components/checkbox-group/checkbox-group.js +3 -3
  69. package/dist/components/combobox/combobox.d.ts +175 -0
  70. package/dist/components/combobox/combobox.js +37 -0
  71. package/dist/components/combobox/combobox.styles.d.ts +2 -0
  72. package/dist/components/combobox/combobox.styles.js +9 -0
  73. package/dist/components/dialog/dialog.js +9 -8
  74. package/dist/components/divider/divider.d.ts +1 -1
  75. package/dist/components/drawer/drawer.js +10 -9
  76. package/dist/components/dropdown/dropdown.js +3 -3
  77. package/dist/components/format-bytes/format-bytes.js +2 -2
  78. package/dist/components/format-date/format-date.js +2 -2
  79. package/dist/components/format-number/format-number.js +2 -2
  80. package/dist/components/icon/icon.js +5 -5
  81. package/dist/components/icon-button/icon-button.d.ts +1 -1
  82. package/dist/components/icon-button/icon-button.js +7 -6
  83. package/dist/components/include/include.js +2 -2
  84. package/dist/components/input/input.d.ts +1 -1
  85. package/dist/components/input/input.js +10 -9
  86. package/dist/components/input/input.styles.js +1 -1
  87. package/dist/components/input-mask/input-mask.d.ts +1 -0
  88. package/dist/components/input-mask/input-mask.js +6 -5
  89. package/dist/components/input-mask/input-mask.styles.js +1 -1
  90. package/dist/components/input-phone/input-phone.d.ts +1 -1
  91. package/dist/components/input-phone/input-phone.js +24 -23
  92. package/dist/components/input-phone/input-phone.styles.js +1 -1
  93. package/dist/components/menu/menu.d.ts +1 -1
  94. package/dist/components/menu-item/menu-item.d.ts +1 -1
  95. package/dist/components/menu-item/menu-item.js +6 -6
  96. package/dist/components/menu-label/menu-label.d.ts +1 -1
  97. package/dist/components/mutation-observer/mutation-observer.js +2 -2
  98. package/dist/components/option/option.js +8 -8
  99. package/dist/components/option/option.styles.js +1 -1
  100. package/dist/components/progress-bar/progress-bar.d.ts +1 -1
  101. package/dist/components/progress-bar/progress-bar.js +3 -2
  102. package/dist/components/progress-ring/progress-ring.d.ts +1 -2
  103. package/dist/components/progress-ring/progress-ring.js +2 -2
  104. package/dist/components/radio/radio.js +6 -6
  105. package/dist/components/radio-button/radio-button.js +2 -2
  106. package/dist/components/radio-group/radio-group.js +2 -2
  107. package/dist/components/relative-time/relative-time.js +2 -2
  108. package/dist/components/resize-observer/resize-observer.js +2 -2
  109. package/dist/components/select/select.d.ts +4 -0
  110. package/dist/components/select/select.js +13 -12
  111. package/dist/components/select/select.styles.js +1 -1
  112. package/dist/components/skeleton/skeleton.d.ts +1 -1
  113. package/dist/components/spinner/spinner.js +2 -2
  114. package/dist/components/tab/tab.d.ts +1 -1
  115. package/dist/components/tab/tab.js +3 -3
  116. package/dist/components/tab-group/tab-group.d.ts +1 -1
  117. package/dist/components/tab-group/tab-group.js +3 -3
  118. package/dist/components/tab-panel/tab-panel.d.ts +1 -1
  119. package/dist/components/tab-panel/tab-panel.js +2 -2
  120. package/dist/components/tag/tag.js +9 -8
  121. package/dist/components/textarea/textarea.d.ts +1 -0
  122. package/dist/components/textarea/textarea.js +4 -3
  123. package/dist/components/tooltip/tooltip.js +3 -3
  124. package/dist/components/tree/tree.d.ts +2 -1
  125. package/dist/components/tree/tree.js +12 -11
  126. package/dist/components/tree-item/tree-item.d.ts +1 -1
  127. package/dist/components/tree-item/tree-item.js +11 -10
  128. package/dist/custom-elements.json +1104 -74
  129. package/dist/design-system.d.ts +1 -0
  130. package/dist/design-system.js +96 -90
  131. package/dist/internal/debounce.d.ts +1 -1
  132. package/dist/internal/debounce.js +3 -3
  133. package/dist/internal/default-value.d.ts +1 -1
  134. package/dist/internal/default-value.js +24 -21
  135. package/dist/internal/watch.js +1 -1
  136. package/dist/themes/dsa-wc-theme.css +37 -6
  137. package/dist/themes/dsa-wc-theme.min.css +1 -1
  138. package/dist/themes/dsa-wc-theme.styles.js +43 -6
  139. package/dist/translations/en-gb.js +1 -1
  140. package/dist/translations/en.js +1 -1
  141. package/dist/translations/fr.js +1 -1
  142. package/dist/utilities/directives.d.ts +1 -0
  143. package/dist/utilities/directives.js +7 -0
  144. package/dist/utilities/localize.d.ts +2 -0
  145. package/dist/utilities/localize.js +1 -1
  146. package/dist/vscode.html-custom-data.json +130 -6
  147. package/dist/web-types.json +618 -9
  148. package/package.json +1 -1
  149. package/dist/chunks/chunk.GI7VDIWX.js +0 -24
@@ -0,0 +1,409 @@
1
+ import {
2
+ form_control_styles_default
3
+ } from "./chunk.3RBCYA4F.js";
4
+ import {
5
+ component_styles_default
6
+ } from "./chunk.TUVJKY7S.js";
7
+
8
+ // src/components/combobox/combobox.styles.ts
9
+ import { css } from "lit";
10
+ var combobox_styles_default = css`
11
+ ${component_styles_default}
12
+ ${form_control_styles_default}
13
+
14
+ :host {
15
+ display: block;
16
+ }
17
+
18
+ /** The popup */
19
+ .select {
20
+ flex: 1 1 auto;
21
+ display: inline-flex;
22
+ width: 100%;
23
+ position: relative;
24
+ vertical-align: middle;
25
+ }
26
+
27
+ .select::part(popup) {
28
+ z-index: var(--dsa-wc-z-index-dropdown);
29
+ }
30
+
31
+ .select[data-current-placement^='top']::part(popup) {
32
+ transform-origin: bottom;
33
+ }
34
+
35
+ .select[data-current-placement^='bottom']::part(popup) {
36
+ transform-origin: top;
37
+ }
38
+
39
+ /* Combobox */
40
+ .select__combobox {
41
+ flex: 1;
42
+ display: flex;
43
+ width: 100%;
44
+ min-width: 0;
45
+ position: relative;
46
+ align-items: center;
47
+ justify-content: start;
48
+ font: var(--dsa-wc-combobox-input-font);
49
+ vertical-align: middle;
50
+ overflow: hidden;
51
+ cursor: pointer;
52
+ transition: var(--dsa-wc-transition-fast) color,
53
+ var(--dsa-wc-transition-fast) border,
54
+ var(--dsa-wc-transition-fast) box-shadow,
55
+ var(--dsa-wc-transition-fast) background-color;
56
+ border-radius: var(--dsa-wc-input-border-radius);
57
+ padding: var(--dsa-wc-input-padding);
58
+ }
59
+
60
+ .select__display-input {
61
+ position: relative;
62
+ width: 100%;
63
+ font: inherit;
64
+ border: none;
65
+ background: none;
66
+ color: var(--dsa-wc-input-on-base-text-field-input-color);
67
+ cursor: inherit;
68
+ overflow: hidden;
69
+ padding: 0;
70
+ margin: 0;
71
+ -webkit-appearance: none;
72
+ }
73
+
74
+ .select__display-input:focus {
75
+ outline: none;
76
+ }
77
+
78
+ /* Visually hide the display input when multiple is enabled */
79
+ .select--multiple:not(.select--placeholder-visible) .select__display-input {
80
+ flex: 1;
81
+ margin-left: 0.25rem;
82
+ min-width: 100px;
83
+ }
84
+
85
+ .input-container {
86
+ width: 100%;
87
+ display: flex;
88
+ align-items-center;
89
+ flex-wrap: wrap;
90
+ min-width: 0;
91
+ row-gap: 4px;
92
+ }
93
+
94
+ .select__value-input {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 0;
98
+ width: 100%;
99
+ height: 100%;
100
+ padding: 0;
101
+ margin: 0;
102
+ opacity: 0;
103
+ z-index: -1;
104
+ }
105
+
106
+ .select__tags {
107
+ display: flex;
108
+ align-items: center;
109
+ flex-wrap: wrap;
110
+ margin-inline-start: var(--dsa-wc-combobox-tag-margin-inline-start);
111
+ min-width: 0;
112
+ }
113
+
114
+ .select__tags dsa-tag {
115
+ cursor: pointer !important;
116
+ min-width: 0;
117
+ }
118
+
119
+ .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
+ }
124
+
125
+ .select--error .select__tags dsa-tag::part(base) {
126
+ background: var(--dsa-wc-combobox-tag-error-background) !important;
127
+ color: var(--dsa-wc-combobox-tag-error-color) !important;
128
+ border: solid 1px var(--dsa-wc-combobox-tag-error-border-color);
129
+ }
130
+
131
+ .select--error .select__tags dsa-tag::part(remove-button) {
132
+ color: var(--dsa-wc-combobox-tag-error-color) !important;
133
+ }
134
+
135
+ .select--disabled .select__tags,
136
+ .select--disabled .select__tags::slotted(dsa-tag) {
137
+ cursor: not-allowed !important;
138
+ }
139
+
140
+ /* On base selects */
141
+ .select--on-base .select__combobox {
142
+ background-color: var(
143
+ --dsa-wc-internal-combobox-on-base-background-color,
144
+ var(--dsa-wc-input-on-base-background-color)
145
+ );
146
+ border: solid var(--dsa-wc-input-border-width)
147
+ var(
148
+ --dsa-wc-internal-combobox-on-base-border-color,
149
+ var(--dsa-wc-input-on-base-border-color)
150
+ );
151
+ }
152
+
153
+ .select--on-base:hover:not(.select--disabled) .select__combobox {
154
+ border-color: var(
155
+ --dsa-wc-internal-combobox-on-base-hover-border-color,
156
+ var(--dsa-wc-input-on-base-border-color-hover)
157
+ );
158
+ background-color: var(
159
+ --dsa-wc-internal-combobox-on-base-hover-background-color,
160
+ inherit
161
+ );
162
+ }
163
+ .select--on-base.select--disabled .select__combobox {
164
+ background-color: var(
165
+ --dsa-wc-internal-combobox-on-base-disabled-background-color,
166
+ var(--dsa-wc-input-on-base-background-color-disabled)
167
+ );
168
+ border-color: var(
169
+ --dsa-wc-internal-combobox-on-base-disabled-border-color,
170
+ var(--dsa-wc-input-on-base-border-color-disabled)
171
+ );
172
+ cursor: var(--dsa-wc-internal-combobox-disabled-cursor, not-allowed);
173
+ opacity: var(--dsa-wc-internal-combobox-disabled-opacity, 0.5);
174
+ outline: none;
175
+ }
176
+
177
+ .select--on-base:not(.select--disabled).select--open .select__combobox,
178
+ .select--on-base:not(.select--disabled).select--focused .select__combobox {
179
+ outline: var(--dsa-wc-focus-ring);
180
+ outline-offset: var(--dsa-wc-focus-ring-offset);
181
+ z-index: 2;
182
+
183
+ background-color: var(
184
+ --dsa-wc-internal-combobox-on-base-active-background-color,
185
+ inherit
186
+ );
187
+ }
188
+
189
+ .select--on-base select__prefix {
190
+ color: var(--dsa-wc-input-on-base-text-field-input-color);
191
+ }
192
+
193
+ .select--error.select--on-base:not(.select--disabled) .select__combobox {
194
+ background-color: var(--dsa-wc-input-on-base-background-color-error);
195
+ border-color: var(--dsa-wc-input-on-base-border-color-error);
196
+ }
197
+
198
+ .select--error.select--on-base:hover:not(.select--disabled)
199
+ .select__combobox {
200
+ border-color: var(--dsa-wc-input-on-base-border-color-error-hover);
201
+ }
202
+
203
+ /* On Layer selects */
204
+ .select--on-layer .select__combobox {
205
+ background-color: var(
206
+ --dsa-wc-internal-combobox-on-layer-background-color,
207
+ var(--dsa-wc-input-on-layer-background-color)
208
+ );
209
+ border: solid var(--dsa-wc-input-border-width)
210
+ var(
211
+ --dsa-wc-internal-combobox-on-layer-border-color,
212
+ var(--dsa-wc-input-on-layer-border-color)
213
+ );
214
+ }
215
+
216
+ .select--on-layer:hover:not(.select--disabled) .select__combobox {
217
+ border-color: var(
218
+ --dsa-wc-internal-combobox-on-layer-hover-border-color,
219
+ var(--dsa-wc-input-on-layer-border-color-hover)
220
+ );
221
+ background-color: var(
222
+ --dsa-wc-internal-combobox-on-layer-hover-background-color,
223
+ var(--dsa-wc-internal-combobox-on-layer-hover-background-color, inherit)
224
+ );
225
+ }
226
+
227
+ .select--on-layer.select--disabled .select__combobox {
228
+ background-color: var(
229
+ --dsa-wc-internal-combobox-on-layer-disabled-background-color,
230
+ var(--dsa-wc-input-on-layer-background-color-disabled)
231
+ );
232
+ border-color: var(
233
+ --dsa-wc-internal-combobox-on-layer-disabled-border-color,
234
+ var(--dsa-wc-input-on-layer-border-color-disabled)
235
+ );
236
+ opacity: var(--dsa-wc-internal-combobox-disabled-opacity, 0.5);
237
+ cursor: var(--dsa-wc-internal-combobox-disabled-cursor, not-allowed);
238
+ outline: none;
239
+ }
240
+
241
+ .select--on-layer:not(.select--disabled).select--open .select__combobox,
242
+ .select--on-layer:not(.select--disabled).select--focused .select__combobox {
243
+ outline: var(--dsa-wc-focus-ring);
244
+ outline-offset: var(--dsa-wc-focus-ring-offset);
245
+
246
+ background-color: var(
247
+ --dsa-wc-internal-combobox-on-layer-active-background-color,
248
+ inherit
249
+ );
250
+ }
251
+
252
+ .select--on-layer select__prefix {
253
+ color: var(--dsa-wc-input-on-layer-text-field-input-color);
254
+ }
255
+
256
+ .select--error.select--on-layer:not(.select--disabled) .select__combobox {
257
+ background-color: var(--dsa-wc-input-on-layer-background-color-error);
258
+ border-color: var(--dsa-wc-input-on-layer-border-color-error);
259
+ }
260
+
261
+ .select--error.select--on-layer:hover:not(.select--disabled)
262
+ .select__combobox {
263
+ border-color: var(--dsa-wc-input-on-layer-border-color-error-hover);
264
+ }
265
+
266
+ /* Sizes */
267
+ .select--small .select__combobox {
268
+ font: var(--dsa-wc-combobox-input-font-small);
269
+ }
270
+
271
+ .select--small.select--multiple:not(.select--placeholder-visible)
272
+ .select__combobox {
273
+ padding-block: 2px;
274
+ padding-inline-start: 0;
275
+ }
276
+
277
+ .select--small .select__tags {
278
+ gap: 2px;
279
+ }
280
+
281
+ .select--medium .select__combobox {
282
+ font: var(--dsa-wc-combobox-input-font);
283
+ }
284
+
285
+ .select--medium.select--multiple:not(.select--placeholder-visible)
286
+ .select__combobox {
287
+ padding-inline-start: 0;
288
+ padding-block: 3px;
289
+ }
290
+
291
+ .select--medium .select__tags {
292
+ gap: 3px;
293
+ }
294
+ .select--large .select__combobox {
295
+ font: var(--dsa-wc-combobox-input-font-large);
296
+ }
297
+ .select--large.select--multiple:not(.select--placeholder-visible)
298
+ .select__combobox {
299
+ }
300
+
301
+ .select--large .select__tags {
302
+ gap: 4px;
303
+ }
304
+
305
+ /* Prefix */
306
+ .select__prefix {
307
+ flex: 0;
308
+ display: inline-flex;
309
+ align-items: center;
310
+ }
311
+ .select__prefix::slotted(*) {
312
+ margin-inline-end: var(--dsa-wc-input-margin-inline);
313
+ }
314
+ .select--multiple .select__prefix::slotted(*) {
315
+ margin-inline-start: var(--dsa-wc-input-margin-inline);
316
+ }
317
+
318
+ /* Clear button */
319
+ .select__clear {
320
+ display: inline-flex;
321
+ align-items: center;
322
+ justify-content: center;
323
+ font-size: inherit;
324
+ color: var(--dsa-wc-input-icon-color);
325
+ border: none;
326
+ background: none;
327
+ padding: 0;
328
+ transition: var(--dsa-wc-transition-fast) color;
329
+ cursor: pointer;
330
+ margin-inline-start: var(--dsa-wc-input-margin-inline);
331
+ }
332
+
333
+ :not(.select--disabled) .select__clear:hover,
334
+ :not(.select--disabled) .select__expand-icon:hover {
335
+ color: var(--dsa-wc-input-icon-color-hover);
336
+ }
337
+
338
+ .select--disabled .select__clear,
339
+ .select--disabled .select__expand-icon {
340
+ color: var(--dsa-wc-input-icon-color-disabled);
341
+ }
342
+
343
+ .select__clear:focus {
344
+ outline: none;
345
+ }
346
+
347
+ /* Expand icon */
348
+ .select__expand-icon {
349
+ flex: 0 0 auto;
350
+ display: flex;
351
+ align-items: center;
352
+ transition: var(--dsa-wc-transition-medium) rotate ease;
353
+ rotate: 0;
354
+ margin-inline-start: var(--dsa-wc-combobox-icon-margin-inline);
355
+ color: var(--dsa-wc-input-icon-color);
356
+ }
357
+
358
+ .select--error .select__expand-icon {
359
+ color: var(--dsa-wc-combobox-expand-icon-error-color);
360
+ }
361
+
362
+ .select--open .select__expand-icon {
363
+ rotate: -180deg;
364
+ }
365
+
366
+ /* Listbox */
367
+ .select__listbox {
368
+ display: block;
369
+ position: relative;
370
+ font: var(--dsa-wc-input-text-field-font);
371
+ box-shadow: var(--dsa-wc-shadow-large);
372
+ background: var(--dsa-wc-combobox-listbox-background-color);
373
+ border: solid var(--dsa-wc-combobox-listbox-border-width)
374
+ var(--dsa-wc-combobox-listbox-border-color);
375
+ border-radius: var(--dsa-wc-combobox-listbox-border-radius);
376
+ padding-inline: 0;
377
+ margin-top: var(--dsa-wc-combobox-listbox-margin-top);
378
+ overflow: auto;
379
+ overscroll-behavior: none;
380
+
381
+ /* Make sure it adheres to the popup's auto size */
382
+ max-width: var(--auto-size-available-width);
383
+ max-height: var(--auto-size-available-height);
384
+ }
385
+
386
+ .select__listbox::slotted(dsa-divider) {
387
+ --spacing-start: var(--dsa-wc-combobox-listbox-divider-spacing);
388
+ --spacing-end: var(--dsa-wc-combobox-listbox-divider-spacing);
389
+ }
390
+
391
+ .select__listbox::slotted(small) {
392
+ font-size: var(--dsa-wc-input-text-field-font-small);
393
+ padding-inline: var(--dsa-wc-combobox-listbox-padding-inline);
394
+ }
395
+
396
+ .slot_options {
397
+ display: none;
398
+ }
399
+
400
+ .select__empty_text {
401
+ font: var(--dsa-wc-combobox-empty-label-font);
402
+ color: var(--dsa-wc-combobox-empty-label-color);
403
+ padding-inline: var(--dsa-wc-combobox-listbox-padding-inline);
404
+ }
405
+ `;
406
+
407
+ export {
408
+ combobox_styles_default
409
+ };
@@ -2,8 +2,8 @@ import {
2
2
  progress_ring_styles_default
3
3
  } from "./chunk.EU56EW33.js";
4
4
  import {
5
- LocalizeController
6
- } from "./chunk.5XL2LZLC.js";
5
+ ifDefinedAndNotEmpty
6
+ } from "./chunk.ZQJVCRB2.js";
7
7
  import {
8
8
  ShoelaceElement
9
9
  } from "./chunk.YCXTCVAZ.js";
@@ -18,7 +18,6 @@ import { classMap } from "lit/directives/class-map.js";
18
18
  var DSAProgressRing = class extends ShoelaceElement {
19
19
  constructor() {
20
20
  super(...arguments);
21
- this.localize = new LocalizeController(this);
22
21
  this.value = 0;
23
22
  this.label = "";
24
23
  this.size = "medium";
@@ -45,7 +44,9 @@ var DSAProgressRing = class extends ShoelaceElement {
45
44
  "progress-ring--medium": this.size === "medium"
46
45
  })}
47
46
  role="progressbar"
48
- aria-label=${this.label.length > 0 ? this.label : this.localize.term("progress")}
47
+ aria-label=${ifDefinedAndNotEmpty(
48
+ this.label.length > 0 ? this.label : void 0
49
+ )}
49
50
  aria-describedby="label"
50
51
  aria-valuemin="0"
51
52
  aria-valuemax="100"
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LocalizeController
3
- } from "./chunk.5XL2LZLC.js";
3
+ } from "./chunk.IQ7SDYSC.js";
4
4
  import {
5
5
  ShoelaceElement
6
6
  } from "./chunk.YCXTCVAZ.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.YIY5RM53.js";
7
7
  import {
8
8
  LocalizeController
9
- } from "./chunk.5XL2LZLC.js";
9
+ } from "./chunk.IQ7SDYSC.js";
10
10
  import {
11
11
  ShoelaceElement
12
12
  } from "./chunk.YCXTCVAZ.js";
@@ -0,0 +1,26 @@
1
+ // src/internal/default-value.ts
2
+ import { defaultConverter } from "lit";
3
+ function defaultValue(propertyName = "value") {
4
+ return (proto, key) => {
5
+ const ctor = proto.constructor;
6
+ const attributeChangedCallback = ctor.prototype.attributeChangedCallback;
7
+ ctor.prototype.attributeChangedCallback = function attributeChangedCallbackFn(name, old, value) {
8
+ var _a;
9
+ const options = ctor.getPropertyOptions(propertyName);
10
+ const attributeName = typeof options.attribute === "string" ? options.attribute : propertyName;
11
+ if (name === attributeName) {
12
+ const converter = options.converter || defaultConverter;
13
+ const fromAttribute = typeof converter === "function" ? converter : (_a = converter == null ? void 0 : converter.fromAttribute) != null ? _a : defaultConverter.fromAttribute;
14
+ const newValue = fromAttribute(value, options.type);
15
+ if (this[propertyName] !== newValue) {
16
+ this[key] = newValue;
17
+ }
18
+ }
19
+ attributeChangedCallback.call(this, name, old, value);
20
+ };
21
+ };
22
+ }
23
+
24
+ export {
25
+ defaultValue
26
+ };
@@ -147,7 +147,8 @@ var select_styles_default = css`
147
147
  );
148
148
  }
149
149
 
150
- .select--on-base:hover:not(.select--disabled) .select__combobox {
150
+ .select--on-base:hover:not(.select--disabled):not(.select--readonly)
151
+ .select__combobox {
151
152
  border-color: var(
152
153
  --dsa-wc-internal-select-on-base-hover-border-color,
153
154
  var(--dsa-wc-input-on-base-border-color-hover)
@@ -171,7 +172,14 @@ var select_styles_default = css`
171
172
  outline: none;
172
173
  }
173
174
 
174
- .select--on-base:not(.select--disabled).select--open .select__combobox,
175
+ .select--on-base.select--readonly .select__combobox {
176
+ background-color: var(--dsa-wc-input-on-base-read-only-background-color);
177
+ border-color: var(--dsa-wc-input-on-base-read-only-border-color);
178
+ cursor: text;
179
+ }
180
+
181
+ .select--on-base:not(.select--disabled):not(.select--readonly).select--open
182
+ .select__combobox,
175
183
  .select--on-base:not(.select--disabled).select--focused .select__combobox {
176
184
  outline: var(--dsa-wc-focus-ring);
177
185
  outline-offset: var(--dsa-wc-focus-ring-offset);
@@ -187,12 +195,15 @@ var select_styles_default = css`
187
195
  color: var(--dsa-wc-input-on-base-text-field-input-color);
188
196
  }
189
197
 
190
- .select--error.select--on-base:not(.select--disabled) .select__combobox {
198
+ .select--error.select--on-base:not(.select--disabled):not(.select--readonly)
199
+ .select__combobox {
191
200
  background-color: var(--dsa-wc-input-on-base-background-color-error);
192
201
  border-color: var(--dsa-wc-input-on-base-border-color-error);
193
202
  }
194
203
 
195
- .select--error.select--on-base:hover:not(.select--disabled)
204
+ .select--error.select--on-base:hover:not(.select--disabled):not(
205
+ .select--readonly
206
+ )
196
207
  .select__combobox {
197
208
  border-color: var(--dsa-wc-input-on-base-border-color-error-hover);
198
209
  }
@@ -210,7 +221,8 @@ var select_styles_default = css`
210
221
  );
211
222
  }
212
223
 
213
- .select--on-layer:hover:not(.select--disabled) .select__combobox {
224
+ .select--on-layer:hover:not(.select--disabled):not(.select--readonly)
225
+ .select__combobox {
214
226
  border-color: var(
215
227
  --dsa-wc-internal-select-on-layer-hover-border-color,
216
228
  var(--dsa-wc-input-on-layer-border-color-hover)
@@ -235,7 +247,14 @@ var select_styles_default = css`
235
247
  outline: none;
236
248
  }
237
249
 
238
- .select--on-layer:not(.select--disabled).select--open .select__combobox,
250
+ .select--on-layer.select--readonly .select__combobox {
251
+ background-color: var(--dsa-wc-input-on-layer-read-only-background-color);
252
+ border-color: var(--dsa-wc-input-on-layer-read-only-border-color);
253
+ cursor: text;
254
+ }
255
+
256
+ .select--on-layer:not(.select--disabled):not(.select--readonly).select--open
257
+ .select__combobox,
239
258
  .select--on-layer:not(.select--disabled).select--focused .select__combobox {
240
259
  outline: var(--dsa-wc-focus-ring);
241
260
  outline-offset: var(--dsa-wc-focus-ring-offset);
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk.FIGO7UV2.js";
4
4
  import {
5
5
  LocalizeController
6
- } from "./chunk.5XL2LZLC.js";
6
+ } from "./chunk.IQ7SDYSC.js";
7
7
  import {
8
8
  watch
9
- } from "./chunk.D7CATJYB.js";
9
+ } from "./chunk.6IH66JBY.js";
10
10
  import {
11
11
  ShoelaceElement
12
12
  } from "./chunk.YCXTCVAZ.js";
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  progress_bar_styles_default
3
3
  } from "./chunk.SGIGGO5M.js";
4
+ import {
5
+ ifDefinedAndNotEmpty
6
+ } from "./chunk.ZQJVCRB2.js";
4
7
  import {
5
8
  LocalizeController
6
- } from "./chunk.5XL2LZLC.js";
9
+ } from "./chunk.IQ7SDYSC.js";
7
10
  import {
8
11
  ShoelaceElement
9
12
  } from "./chunk.YCXTCVAZ.js";
@@ -15,7 +18,6 @@ import {
15
18
  import { html } from "lit";
16
19
  import { customElement, property } from "lit/decorators.js";
17
20
  import { classMap } from "lit/directives/class-map.js";
18
- import { ifDefined } from "lit/directives/if-defined.js";
19
21
  import { styleMap } from "lit/directives/style-map.js";
20
22
  var DSAProgressBar = class extends ShoelaceElement {
21
23
  constructor() {
@@ -35,8 +37,10 @@ var DSAProgressBar = class extends ShoelaceElement {
35
37
  "progress-bar--rtl": this.localize.dir() === "rtl"
36
38
  })}
37
39
  role="progressbar"
38
- title=${ifDefined(this.title)}
39
- aria-label=${this.label.length > 0 ? this.label : this.localize.term("progress")}
40
+ title=${ifDefinedAndNotEmpty(this.title)}
41
+ aria-label=${ifDefinedAndNotEmpty(
42
+ this.label.length > 0 ? this.label : void 0
43
+ )}
40
44
  aria-valuemin="0"
41
45
  aria-valuemax="100"
42
46
  aria-valuenow=${this.indeterminate ? 0 : this.value}
@@ -3,16 +3,19 @@ import {
3
3
  } from "./chunk.VRY3E2XG.js";
4
4
  import {
5
5
  defaultValue
6
- } from "./chunk.GI7VDIWX.js";
6
+ } from "./chunk.CMJ2SRTL.js";
7
7
  import {
8
8
  FormControlController
9
9
  } from "./chunk.KIFBWPW5.js";
10
10
  import {
11
11
  HasSlotController
12
12
  } from "./chunk.YIY5RM53.js";
13
+ import {
14
+ ifDefinedAndNotEmpty
15
+ } from "./chunk.ZQJVCRB2.js";
13
16
  import {
14
17
  watch
15
- } from "./chunk.D7CATJYB.js";
18
+ } from "./chunk.6IH66JBY.js";
16
19
  import {
17
20
  ShoelaceElement
18
21
  } from "./chunk.YCXTCVAZ.js";
@@ -245,8 +248,8 @@ var DSATextarea = class extends ShoelaceElement {
245
248
  part="textarea"
246
249
  id="input"
247
250
  class="textarea__control"
248
- title=${hasLabel ? void 0 : this.title}
249
- name=${ifDefined(this.name)}
251
+ title=${ifDefinedAndNotEmpty(hasLabel ? void 0 : this.title)}
252
+ name=${ifDefinedAndNotEmpty(this.name)}
250
253
  .value=${live(this.value)}
251
254
  ?disabled=${this.disabled}
252
255
  ?readonly=${this.readonly}
@@ -262,7 +265,9 @@ var DSATextarea = class extends ShoelaceElement {
262
265
  enterkeyhint=${ifDefined(this.enterkeyhint)}
263
266
  inputmode=${ifDefined(this.inputmode)}
264
267
  aria-describedby=${this.error ? "error-text help-text" : "help-text"}
265
- aria-label=${hasLabel ? void 0 : this.title}
268
+ aria-label=${ifDefinedAndNotEmpty(
269
+ hasLabel ? void 0 : this.title
270
+ )}
266
271
  @change=${this.handleChange}
267
272
  @input=${this.handleInput}
268
273
  @invalid=${this.handleInvalid}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  icon_button_styles_default
3
3
  } from "./chunk.QFJA3MTV.js";
4
+ import {
5
+ ifDefinedAndNotEmpty
6
+ } from "./chunk.ZQJVCRB2.js";
4
7
  import {
5
8
  ShoelaceElement
6
9
  } from "./chunk.YCXTCVAZ.js";
@@ -68,7 +71,7 @@ var DSAIconButton = class extends ShoelaceElement {
68
71
  )}
69
72
  role=${ifDefined(isLink ? void 0 : "button")}
70
73
  aria-disabled=${this.disabled ? "true" : "false"}
71
- aria-label="${this.label}"
74
+ aria-label=${ifDefinedAndNotEmpty(this.label)}
72
75
  tabindex=${this.disableTabIndex || this.disabled ? "-1" : "0"}
73
76
  @blur=${this.handleBlur}
74
77
  @focus=${this.handleFocus}