@cargosense/cargo-design-system 1.0.0 → 1.0.4

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 (202) hide show
  1. package/README.md +18 -0
  2. package/dist/assets/Counter.cjs.js +148 -0
  3. package/dist/assets/Counter.cjs.js.map +1 -0
  4. package/dist/assets/Counter.es.js +794 -0
  5. package/dist/assets/Counter.es.js.map +1 -0
  6. package/dist/assets/add-circle.cjs.js +14 -0
  7. package/dist/assets/add-circle.cjs.js.map +1 -0
  8. package/dist/assets/add-circle.es.js +17 -0
  9. package/dist/assets/add-circle.es.js.map +1 -0
  10. package/dist/assets/air.cjs.js +6 -0
  11. package/dist/assets/air.cjs.js.map +1 -0
  12. package/dist/assets/air.es.js +9 -0
  13. package/dist/assets/air.es.js.map +1 -0
  14. package/dist/assets/api.cjs.js +11 -0
  15. package/dist/assets/api.cjs.js.map +1 -0
  16. package/dist/assets/api.es.js +14 -0
  17. package/dist/assets/api.es.js.map +1 -0
  18. package/dist/assets/arrow.cjs.js +5 -0
  19. package/dist/assets/arrow.cjs.js.map +1 -0
  20. package/dist/assets/arrow.es.js +8 -0
  21. package/dist/assets/arrow.es.js.map +1 -0
  22. package/dist/assets/browser-settings.cjs.js +11 -0
  23. package/dist/assets/browser-settings.cjs.js.map +1 -0
  24. package/dist/assets/browser-settings.es.js +14 -0
  25. package/dist/assets/browser-settings.es.js.map +1 -0
  26. package/dist/assets/caret-down.cjs.js +5 -0
  27. package/dist/assets/caret-down.cjs.js.map +1 -0
  28. package/dist/assets/caret-down.es.js +8 -0
  29. package/dist/assets/caret-down.es.js.map +1 -0
  30. package/dist/assets/cargo-design-system.css +1 -0
  31. package/dist/assets/check.cjs.js +5 -0
  32. package/dist/assets/check.cjs.js.map +1 -0
  33. package/dist/assets/check.es.js +8 -0
  34. package/dist/assets/check.es.js.map +1 -0
  35. package/dist/assets/configuration.cjs.js +6 -0
  36. package/dist/assets/configuration.cjs.js.map +1 -0
  37. package/dist/assets/configuration.es.js +9 -0
  38. package/dist/assets/configuration.es.js.map +1 -0
  39. package/dist/assets/copy.cjs.js +11 -0
  40. package/dist/assets/copy.cjs.js.map +1 -0
  41. package/dist/assets/copy.es.js +14 -0
  42. package/dist/assets/copy.es.js.map +1 -0
  43. package/dist/assets/cost.cjs.js +15 -0
  44. package/dist/assets/cost.cjs.js.map +1 -0
  45. package/dist/assets/cost.es.js +18 -0
  46. package/dist/assets/cost.es.js.map +1 -0
  47. package/dist/assets/document.cjs.js +8 -0
  48. package/dist/assets/document.cjs.js.map +1 -0
  49. package/dist/assets/document.es.js +11 -0
  50. package/dist/assets/document.es.js.map +1 -0
  51. package/dist/assets/exception.cjs.js +9 -0
  52. package/dist/assets/exception.cjs.js.map +1 -0
  53. package/dist/assets/exception.es.js +12 -0
  54. package/dist/assets/exception.es.js.map +1 -0
  55. package/dist/assets/exit.cjs.js +6 -0
  56. package/dist/assets/exit.cjs.js.map +1 -0
  57. package/dist/assets/exit.es.js +9 -0
  58. package/dist/assets/exit.es.js.map +1 -0
  59. package/dist/assets/external.cjs.js +7 -0
  60. package/dist/assets/external.cjs.js.map +1 -0
  61. package/dist/assets/external.es.js +10 -0
  62. package/dist/assets/external.es.js.map +1 -0
  63. package/dist/assets/gps-device.cjs.js +12 -0
  64. package/dist/assets/gps-device.cjs.js.map +1 -0
  65. package/dist/assets/gps-device.es.js +15 -0
  66. package/dist/assets/gps-device.es.js.map +1 -0
  67. package/dist/assets/hart.cjs.js +9 -0
  68. package/dist/assets/hart.cjs.js.map +1 -0
  69. package/dist/assets/hart.es.js +12 -0
  70. package/dist/assets/hart.es.js.map +1 -0
  71. package/dist/assets/insights.cjs.js +9 -0
  72. package/dist/assets/insights.cjs.js.map +1 -0
  73. package/dist/assets/insights.es.js +12 -0
  74. package/dist/assets/insights.es.js.map +1 -0
  75. package/dist/assets/integration.cjs.js +13 -0
  76. package/dist/assets/integration.cjs.js.map +1 -0
  77. package/dist/assets/integration.es.js +16 -0
  78. package/dist/assets/integration.es.js.map +1 -0
  79. package/dist/assets/inventory.cjs.js +16 -0
  80. package/dist/assets/inventory.cjs.js.map +1 -0
  81. package/dist/assets/inventory.es.js +19 -0
  82. package/dist/assets/inventory.es.js.map +1 -0
  83. package/dist/assets/issue.cjs.js +11 -0
  84. package/dist/assets/issue.cjs.js.map +1 -0
  85. package/dist/assets/issue.es.js +14 -0
  86. package/dist/assets/issue.es.js.map +1 -0
  87. package/dist/assets/it.cjs.js +11 -0
  88. package/dist/assets/it.cjs.js.map +1 -0
  89. package/dist/assets/it.es.js +14 -0
  90. package/dist/assets/it.es.js.map +1 -0
  91. package/dist/assets/logistics-contract.cjs.js +14 -0
  92. package/dist/assets/logistics-contract.cjs.js.map +1 -0
  93. package/dist/assets/logistics-contract.es.js +17 -0
  94. package/dist/assets/logistics-contract.es.js.map +1 -0
  95. package/dist/assets/ocean.cjs.js +9 -0
  96. package/dist/assets/ocean.cjs.js.map +1 -0
  97. package/dist/assets/ocean.es.js +12 -0
  98. package/dist/assets/ocean.es.js.map +1 -0
  99. package/dist/assets/package-with-qr.cjs.js +28 -0
  100. package/dist/assets/package-with-qr.cjs.js.map +1 -0
  101. package/dist/assets/package-with-qr.es.js +31 -0
  102. package/dist/assets/package-with-qr.es.js.map +1 -0
  103. package/dist/assets/package.cjs.js +10 -0
  104. package/dist/assets/package.cjs.js.map +1 -0
  105. package/dist/assets/package.es.js +13 -0
  106. package/dist/assets/package.es.js.map +1 -0
  107. package/dist/assets/phone-with-qr.cjs.js +11 -0
  108. package/dist/assets/phone-with-qr.cjs.js.map +1 -0
  109. package/dist/assets/phone-with-qr.es.js +14 -0
  110. package/dist/assets/phone-with-qr.es.js.map +1 -0
  111. package/dist/assets/ping.cjs.js +7 -0
  112. package/dist/assets/ping.cjs.js.map +1 -0
  113. package/dist/assets/ping.es.js +10 -0
  114. package/dist/assets/ping.es.js.map +1 -0
  115. package/dist/assets/playbook.cjs.js +8 -0
  116. package/dist/assets/playbook.cjs.js.map +1 -0
  117. package/dist/assets/playbook.es.js +11 -0
  118. package/dist/assets/playbook.es.js.map +1 -0
  119. package/dist/assets/plus.cjs.js +6 -0
  120. package/dist/assets/plus.cjs.js.map +1 -0
  121. package/dist/assets/plus.es.js +9 -0
  122. package/dist/assets/plus.es.js.map +1 -0
  123. package/dist/assets/pm.cjs.js +10 -0
  124. package/dist/assets/pm.cjs.js.map +1 -0
  125. package/dist/assets/pm.es.js +13 -0
  126. package/dist/assets/pm.es.js.map +1 -0
  127. package/dist/assets/qr-code.cjs.js +16 -0
  128. package/dist/assets/qr-code.cjs.js.map +1 -0
  129. package/dist/assets/qr-code.es.js +19 -0
  130. package/dist/assets/qr-code.es.js.map +1 -0
  131. package/dist/assets/search.cjs.js +6 -0
  132. package/dist/assets/search.cjs.js.map +1 -0
  133. package/dist/assets/search.es.js +9 -0
  134. package/dist/assets/search.es.js.map +1 -0
  135. package/dist/assets/sensors.cjs.js +11 -0
  136. package/dist/assets/sensors.cjs.js.map +1 -0
  137. package/dist/assets/sensors.es.js +14 -0
  138. package/dist/assets/sensors.es.js.map +1 -0
  139. package/dist/assets/server.cjs.js +14 -0
  140. package/dist/assets/server.cjs.js.map +1 -0
  141. package/dist/assets/server.es.js +17 -0
  142. package/dist/assets/server.es.js.map +1 -0
  143. package/dist/assets/sustainablity.cjs.js +17 -0
  144. package/dist/assets/sustainablity.cjs.js.map +1 -0
  145. package/dist/assets/sustainablity.es.js +20 -0
  146. package/dist/assets/sustainablity.es.js.map +1 -0
  147. package/dist/assets/task-list.cjs.js +20 -0
  148. package/dist/assets/task-list.cjs.js.map +1 -0
  149. package/dist/assets/task-list.es.js +23 -0
  150. package/dist/assets/task-list.es.js.map +1 -0
  151. package/dist/assets/temperature-device.cjs.js +9 -0
  152. package/dist/assets/temperature-device.cjs.js.map +1 -0
  153. package/dist/assets/temperature-device.es.js +12 -0
  154. package/dist/assets/temperature-device.es.js.map +1 -0
  155. package/dist/assets/truck.cjs.js +13 -0
  156. package/dist/assets/truck.cjs.js.map +1 -0
  157. package/dist/assets/truck.es.js +16 -0
  158. package/dist/assets/truck.es.js.map +1 -0
  159. package/dist/assets/users.cjs.js +10 -0
  160. package/dist/assets/users.cjs.js.map +1 -0
  161. package/dist/assets/users.es.js +13 -0
  162. package/dist/assets/users.es.js.map +1 -0
  163. package/dist/assets/warehouse.cjs.js +12 -0
  164. package/dist/assets/warehouse.cjs.js.map +1 -0
  165. package/dist/assets/warehouse.es.js +15 -0
  166. package/dist/assets/warehouse.es.js.map +1 -0
  167. package/dist/assets/water-device.cjs.js +8 -0
  168. package/dist/assets/water-device.cjs.js.map +1 -0
  169. package/dist/assets/water-device.es.js +11 -0
  170. package/dist/assets/water-device.es.js.map +1 -0
  171. package/dist/atoms/index.cjs.js +862 -0
  172. package/dist/atoms/index.cjs.js.map +1 -0
  173. package/dist/atoms/index.es.js +1484 -0
  174. package/dist/atoms/index.es.js.map +1 -0
  175. package/dist/fonts/Geist-Italic[wght].ttf +0 -0
  176. package/dist/fonts/Geist-Regular.woff +0 -0
  177. package/dist/fonts/Geist-Regular.woff2 +0 -0
  178. package/dist/fonts/GeistMono-Italic[wght].ttf +0 -0
  179. package/dist/fonts/GeistMono[wght].ttf +0 -0
  180. package/dist/fonts/Geist[wght].ttf +0 -0
  181. package/dist/fonts/index.cjs.js +2 -0
  182. package/dist/fonts/index.cjs.js.map +1 -0
  183. package/dist/fonts/index.es.js +2 -0
  184. package/dist/fonts/index.es.js.map +1 -0
  185. package/dist/icons/index.cjs.js +2 -0
  186. package/dist/icons/index.cjs.js.map +1 -0
  187. package/dist/icons/index.es.js +45 -0
  188. package/dist/icons/index.es.js.map +1 -0
  189. package/dist/index.cjs.js +2 -0
  190. package/dist/index.cjs.js.map +1 -0
  191. package/dist/index.es.js +69 -0
  192. package/dist/index.es.js.map +1 -0
  193. package/dist/molecules/index.cjs.js +1227 -0
  194. package/dist/molecules/index.cjs.js.map +1 -0
  195. package/dist/molecules/index.es.js +2264 -0
  196. package/dist/molecules/index.es.js.map +1 -0
  197. package/dist/register/index.cjs.js +2 -0
  198. package/dist/register/index.cjs.js.map +1 -0
  199. package/dist/register/index.es.js +45 -0
  200. package/dist/register/index.es.js.map +1 -0
  201. package/package.json +4 -3
  202. package/src/components/index.js +0 -7
@@ -0,0 +1,1484 @@
1
+ import { i as r, c as o, f as n, d as i, x as t, o as l } from "../assets/Counter.es.js";
2
+ import { C as K, I as N, N as U, b as W, r as M, a as Y } from "../assets/Counter.es.js";
3
+ import "../fonts/index.es.js";
4
+ class d extends r {
5
+ static styles = i`
6
+ @font-face {
7
+ font-family: 'Geist';
8
+ src: url(${o(n)}) format('woff');
9
+ font-weight: 100 900;
10
+ font-style: normal;
11
+ }
12
+
13
+ .badge {
14
+ background-color: var(--badge-background-color);
15
+ color: var(--badge-text-color);
16
+ font-size: var(--badge-text-size, 14px);
17
+ font-weight: var(--badge-text-weight, 500);
18
+ border-radius: var(--badge-border-radius, 16px);
19
+ padding: var(--badge-padding, 1px 8px);
20
+ display: inline-flex;
21
+ align-items: center;
22
+ text-align: center;
23
+ border: 1px solid var(--badge-border-color, #D6D7D9);
24
+ }
25
+
26
+
27
+
28
+ .badge::before {
29
+ content: '';
30
+ display: inline-block;
31
+ width: 8px;
32
+ height: 8px;
33
+ margin-right: 4px;
34
+ border-radius: 50%;
35
+ background-color: var(--badge-dot-color, #1C1C1C);
36
+ }
37
+ .done {
38
+ --badge-dot-color: #1C1C1C;
39
+ }
40
+
41
+ .error {
42
+ --badge-dot-color: #E53E3E;
43
+ }
44
+
45
+ .warning {
46
+ --badge-dot-color: #D97E28;
47
+ }
48
+
49
+ .pending {
50
+ --badge-dot-color: #43B620;
51
+ }
52
+
53
+ .none::before {
54
+ content: none;
55
+ }
56
+ `;
57
+ static properties = {
58
+ status: {
59
+ type: String,
60
+ reflect: !0,
61
+ attribute: "status",
62
+ defaultValue: "none"
63
+ }
64
+ };
65
+ constructor() {
66
+ super(), this.status = "none";
67
+ }
68
+ render() {
69
+ return t`
70
+ <span class="badge ${this.status}">
71
+ <slot></slot>
72
+ </span>
73
+ `;
74
+ }
75
+ }
76
+ function F() {
77
+ typeof window < "u" && !customElements.get("cd-badge") && customElements.define("cd-badge", d);
78
+ }
79
+ class u extends r {
80
+ static styles = i`
81
+ @font-face {
82
+ font-family: 'Geist';
83
+ src: url(${o(n)}) format('woff');
84
+ font-weight: 100 900;
85
+ font-style: normal;
86
+ }
87
+
88
+ :host {
89
+ flex-grow: 1;
90
+ }
91
+
92
+ .body {
93
+ font-family: 'Geist', sans-serif;
94
+ display:flex;
95
+ height: 100%;
96
+ width: 100%;
97
+
98
+ background-color: var(--body-background-color, var(--base-color-slate-50));
99
+ }
100
+
101
+ .content {
102
+ margin: var(--body-content-margin, 28px);
103
+ display: flex;
104
+ flex-grow: 1;
105
+ flex-direction: row;
106
+ background-color: var(--body-content-background-color, var(--base-color-white));
107
+ border-radius: 8px;
108
+ border: 1px solid var(--body-content-border-color, var(--base-color-slate-200));
109
+ }
110
+
111
+ .fit-content {
112
+ align-items: center;
113
+ justify-content: center;
114
+ }
115
+
116
+ .fit-content .content {
117
+ width: fit-content;
118
+ height: fit-content;
119
+ flex-grow: 0;
120
+ max-width: 100%;
121
+ max-height: 100%;
122
+ }
123
+ `;
124
+ static properties = {
125
+ fitContent: {
126
+ type: Boolean,
127
+ reflect: !0,
128
+ attribute: "fit-content"
129
+ }
130
+ };
131
+ constructor() {
132
+ super(), this.fitContent = !1;
133
+ }
134
+ render() {
135
+ return t`
136
+ <div class="body${this.fitContent ? " fit-content" : ""}">
137
+ <div class="content">
138
+ <slot><slot>
139
+ </div>
140
+ </div>
141
+ `;
142
+ }
143
+ }
144
+ function S() {
145
+ typeof window < "u" && !customElements.get("cd-body") && customElements.define("cd-body", u);
146
+ }
147
+ class p extends r {
148
+ static styles = i`
149
+ @font-face {
150
+ font-family: 'Geist';
151
+ src: url(${o(n)}) format('woff');
152
+ font-weight: 100 900;
153
+ font-style: normal;
154
+ }
155
+
156
+ .default {
157
+ font-family: 'Geist';
158
+ display: inline-flex;
159
+ flex-direction: row;
160
+ align-items: center;
161
+ padding: var(--data-object-vertical-padding) var(--data-object-horizontal-padding);
162
+ background-color: var(--data-object-background-color);
163
+ color: var(--data-object-text-color);
164
+ border-radius: var(--data-object-border-radius);
165
+ gap: var(--data-object-gap);
166
+ font-size: var(--data-object-size);
167
+ font-weight: var(--data-object-font-weight, 400);
168
+ --icon-stroke: var(--data-object-icon-color, var(--text-primary-color));
169
+ cursor: pointer;
170
+ }
171
+
172
+ .default:hover {
173
+ background-color: var(--data-object-hover-background-color, var(--base-color-teal-100));
174
+ transition: background 0.3s ease-in-out;
175
+ }
176
+
177
+ .default:focus {
178
+ outline: 2px solid var(--input-border-color-focus);
179
+ border: none;
180
+ outline-offset: 0;
181
+ }
182
+
183
+ a {
184
+ text-decoration: none;
185
+ color: inherit;
186
+ }
187
+ `;
188
+ static properties = {
189
+ link: {
190
+ type: String,
191
+ reflect: !0
192
+ }
193
+ };
194
+ constructor() {
195
+ super(), this.variant = "", this.link = void 0;
196
+ }
197
+ render() {
198
+ return t`
199
+ <a href="${l(this.link)}" class="default ${this.variant}" tabindex="0">
200
+ <slot name="start"></slot>
201
+ <slot></slot>
202
+ <slot name="end"></slot>
203
+ </a>
204
+ `;
205
+ }
206
+ }
207
+ function B() {
208
+ typeof window < "u" && !customElements.get("cd-data-object") && customElements.define("cd-data-object", p);
209
+ }
210
+ class f extends r {
211
+ static styles = i`
212
+ @font-face {
213
+ font-family: 'Geist';
214
+ src: url(${o(n)}) format('woff');
215
+ font-weight: 100 900;
216
+ font-style: normal;
217
+ }
218
+
219
+ .key-value {
220
+ font-family: 'Geist', sans-serif;
221
+ display: flex;
222
+ flex-direction: row;
223
+ align-items: center;
224
+ font-size: var(--key-value-font-size, 14px);
225
+ gap: var(--key-value-gap, 10px);
226
+ }
227
+
228
+ .key {
229
+ flex-grow: 1;
230
+ color: var(--key-value-label-color, var(--text-secondary-color));
231
+ font-weight: var(--key-value-label-font-weight);
232
+ }
233
+
234
+ .value {
235
+ color: var(--key-value-value-color, var(--text-primary-color));
236
+ font-weight: var(--key-value-value-font-weight);
237
+ }
238
+
239
+ `;
240
+ static properties = {
241
+ key: {
242
+ type: String,
243
+ reflect: !0
244
+ },
245
+ value: {
246
+ type: String,
247
+ reflect: !0
248
+ }
249
+ };
250
+ constructor() {
251
+ super(), this.key = "", this.value = "";
252
+ }
253
+ render() {
254
+ return t`
255
+ <div class="key-value">
256
+ <span class="key">${this.key}</span>
257
+ ${this.value === "" ? t`<slot class="value"></slot>` : t`<span class="value">${this.value}</span>`}
258
+ </div>
259
+ `;
260
+ }
261
+ }
262
+ function A() {
263
+ typeof window < "u" && !customElements.get("cd-key-value") && customElements.define("cd-key-value", f);
264
+ }
265
+ class h extends r {
266
+ static styles = i`
267
+ @font-face {
268
+ font-family: 'Geist';
269
+ src: url(${o(n)}) format('woff');
270
+ font-weight: 100 900;
271
+ font-style: normal;
272
+ }
273
+
274
+ .key {
275
+ color: var(--key-value-label-color, var(--text-secondary-color));
276
+ font-weight: var(--key-value-label-font-weight);
277
+ font-size: var(--key-value-font-size, 14px);
278
+ }
279
+ `;
280
+ static properties = {
281
+ key: {
282
+ type: String,
283
+ reflect: !0
284
+ }
285
+ };
286
+ constructor() {
287
+ super(), this.key = "";
288
+ }
289
+ render() {
290
+ return t`
291
+ <span class="key"><slot></slot></span>
292
+ `;
293
+ }
294
+ }
295
+ function q() {
296
+ typeof window < "u" && !customElements.get("cd-key") && customElements.define("cd-key", h);
297
+ }
298
+ class b extends r {
299
+ static styles = i`
300
+ @font-face {
301
+ font-family: 'Geist';
302
+ src: url(${o("fonts/Geist-Regular.woff")}) format('woff');
303
+ font-weight: 100 900;
304
+ font-style: normal;
305
+ }
306
+
307
+ .sm svg {
308
+ width: 20px;
309
+ height: 20px;
310
+ }
311
+
312
+ .md svg {
313
+ width: 40px;
314
+ height: 40px;
315
+ }
316
+
317
+ .lg svg{
318
+ width: 60px;
319
+ height: 60px;
320
+ }
321
+
322
+ .spinner {
323
+ animation: spin 1s linear infinite;
324
+ }
325
+
326
+ .default {
327
+ --spinner-stroke: var(--base-color-slate-900);
328
+ }
329
+
330
+ .classic {
331
+ --spinner-stroke: var(--base-color-teal-600);
332
+ }
333
+
334
+ .secondary {
335
+ --spinner-stroke: var(--base-color-slate-50);
336
+ }
337
+
338
+ .path {
339
+ stroke-dasharray: 90, 150;
340
+ stroke-dashoffset: 0;
341
+ transform-origin: center;
342
+ }
343
+
344
+ @keyframes spin {
345
+ 100% {
346
+ transform: rotate(360deg);
347
+ }
348
+ }
349
+ `;
350
+ static properties = {
351
+ size: {
352
+ type: String,
353
+ reflect: !0,
354
+ attribute: "size",
355
+ converter: (e) => ["sm", "md", "lg"].includes(e) ? e : "md",
356
+ defaultValue: "md"
357
+ },
358
+ color: {
359
+ type: String,
360
+ reflect: !0,
361
+ attribute: "color",
362
+ converter: (e) => ["default", "classic", "secondary"].includes(e) ? e : "default",
363
+ defaultValue: "default"
364
+ },
365
+ ariaLabel: {
366
+ type: String,
367
+ reflect: !0,
368
+ attribute: "aria-label",
369
+ defaultValue: "Loading"
370
+ }
371
+ };
372
+ constructor() {
373
+ super(), this.size = "md", this.color = "default";
374
+ }
375
+ render() {
376
+ return t`
377
+ <div class="${this.size} ${this.color}" aria-label=${this.ariaLabel}>
378
+ <svg class="spinner" viewBox="0 0 50 50" width="40" height="40">
379
+ <circle
380
+ class="path"
381
+ cx="25"
382
+ cy="25"
383
+ r="20"
384
+ fill="none"
385
+ stroke="var(--spinner-stroke)"
386
+ stroke-width="4"
387
+ stroke-linecap="round"
388
+ />
389
+ </svg>
390
+ </div>
391
+ `;
392
+ }
393
+ }
394
+ function _() {
395
+ typeof window < "u" && !customElements.get("cd-spinner") && customElements.define("cd-spinner", b);
396
+ }
397
+ class v extends r {
398
+ static styles = i`
399
+ @font-face {
400
+ font-family: 'Geist';
401
+ src: url(${o(n)}) format('woff');
402
+ font-weight: 100 900;
403
+ font-style: normal;
404
+ }
405
+
406
+ .container {
407
+ display: flex;
408
+ flex-direction: column;
409
+ width: 100%;
410
+ height: 100%;
411
+ }
412
+ `;
413
+ static properties = {
414
+ direction: {
415
+ type: String,
416
+ reflect: !0,
417
+ attribute: "direction",
418
+ converter: {
419
+ fromAttribute(e) {
420
+ return e || "column";
421
+ },
422
+ toAttribute(e) {
423
+ return e;
424
+ }
425
+ }
426
+ },
427
+ align: {
428
+ type: String,
429
+ reflect: !0,
430
+ attribute: "align",
431
+ converter: {
432
+ fromAttribute(e) {
433
+ return e || "stretch";
434
+ },
435
+ toAttribute(e) {
436
+ return e;
437
+ }
438
+ }
439
+ },
440
+ gap: {
441
+ type: String,
442
+ reflect: !0,
443
+ attribute: "gap",
444
+ converter: {
445
+ fromAttribute(e) {
446
+ return e || "0px";
447
+ },
448
+ toAttribute(e) {
449
+ return e;
450
+ }
451
+ }
452
+ },
453
+ justify: {
454
+ type: String,
455
+ reflect: !0,
456
+ attribute: "justify",
457
+ converter: {
458
+ fromAttribute(e) {
459
+ return e || "flex-start";
460
+ },
461
+ toAttribute(e) {
462
+ return e;
463
+ }
464
+ }
465
+ }
466
+ };
467
+ constructor() {
468
+ super();
469
+ }
470
+ render() {
471
+ return t`
472
+ <div class="container" style="flex-direction: ${this.direction}; align-items: ${this.align}; gap: ${this.gap}; justify-content: ${this.justify};">
473
+ <slot></slot>
474
+ </div>
475
+ `;
476
+ }
477
+ }
478
+ function G() {
479
+ typeof window < "u" && !customElements.get("cd-flex-container") && customElements.define("cd-flex-container", v);
480
+ }
481
+ class g extends r {
482
+ static formAssociated = !0;
483
+ static styles = i`
484
+ @font-face {
485
+ font-family: 'Geist';
486
+ src: url(${o(n)}) format('woff');
487
+ font-weight: 100 900;
488
+ font-style: normal;
489
+ }
490
+
491
+ .container {
492
+ display: flex;
493
+ align-items: center;
494
+ flex-direction: row-reverse;
495
+ position: relative;
496
+ min-height: var(--input-checkbox-size-md, 20px);
497
+ gap: var(--input-checkbox-gap, 10px);
498
+ width: fit-content;
499
+ }
500
+
501
+ label {
502
+ font-family: var(--font-family, 'Geist');
503
+ font-weight: var(--font-weight, 400);
504
+ font-size: var(--font-size, 14px);
505
+ color: var(--text-primary-color);
506
+ cursor: pointer;
507
+ user-select: none;
508
+ }
509
+
510
+ .container input {
511
+ position: absolute;
512
+ opacity: 0;
513
+ cursor: pointer;
514
+ height: 0;
515
+ width: 0;
516
+ }
517
+
518
+ .checkmark {
519
+ height: var(--input-checkbox-size-md, 20px);
520
+ width: var(--input-checkbox-size-md, 20px);
521
+ border-radius: var(--input-checkbox-border-radius-md, 4px);
522
+ background-color: var(--input-background-color);
523
+ border: 1px solid var(--input-border-color, #8E98A4);
524
+
525
+
526
+ display: flex;
527
+ align-items: center;
528
+ justify-content: center;
529
+ box-sizing: border-box;
530
+ }
531
+
532
+ .checkmark cd-icon {
533
+ display: none;
534
+ }
535
+
536
+ .container:hover .active.checkmark {
537
+
538
+ background-color: var(--ui-interactive-primary-background-hover, #0F665F);
539
+ border: 1px solid var(--ui-interactive-primary-border-hover, #013333);
540
+ }
541
+
542
+ .container:hover .checkmark {
543
+ background-color: var(--input-background-color, #F1F4F6);
544
+ border: 1px solid var(--input-border-color, #8E98A4);
545
+ transition: background-color 0.2s ease, border-color 0.2s ease;
546
+ }
547
+
548
+ .active.checkmark {
549
+ background-color: var(--ui-interactive-primary-background, #1B1F23);
550
+ border: 1px solid var(--ui-interactive-primary-border, #0C0E0F);
551
+ }
552
+ .active.checkmark cd-icon {
553
+ display: block;
554
+ }
555
+
556
+ .container input[type="checkbox"]:disabled ~ .checkmark {
557
+ background-color: var(--input-background-color-disabled, #E1E5EA);
558
+ border: 1px solid var(--input-border-color-disabled, #C5CCD3);
559
+ }
560
+
561
+ .container:hover input[type="checkbox"]:disabled ~ .checkmark {
562
+ background-color: var(--input-background-color-disabled, #E1E5EA) !important;
563
+ border: 1px solid var(--input-border-color-disabled, #C5CCD3) !important;
564
+
565
+ }
566
+
567
+ .disabled .label-text {
568
+ color: var(--ui-disabled-color, #A9B2BC);
569
+ cursor: not-allowed;
570
+ }
571
+
572
+ .checkmark:focus {
573
+ outline: 2px solid var(--ui-focus-color, #0F665F);
574
+ border-width: 0;
575
+ }
576
+
577
+ .disabled .checkmark:focus {
578
+ outline: none;
579
+ border-width: 0;
580
+ }
581
+
582
+ .container input[type="checkbox"] ~ .error {
583
+ border-color: var(--input-error-border-color);
584
+ color: var(--input-error-border-color);
585
+ }
586
+
587
+ .container .active.error {
588
+ background-color: var(--input-error-border-color);
589
+ border-color: var(--input-error-border-color);
590
+
591
+ }
592
+ .container:hover input[type="checkbox"] ~ .error {
593
+ border-color: var(--input-error-border-hover-color);
594
+ }
595
+
596
+ .container:hover .active.error {
597
+ border-color: var(--input-error-border-hover-color);
598
+ background-color: var(--input-error-border-hover-color);
599
+ }
600
+
601
+ .container input[type="checkbox"] ~ .error:focus {
602
+ border-color: var(--input-error-border-color);
603
+ outline: 2px solid var(--input-error-border-color);
604
+ }
605
+
606
+ .container.error {
607
+ color: var(--input-error-border-color);
608
+
609
+ }
610
+
611
+ .label-text {
612
+ display: flex;
613
+ align-items: flex-start;
614
+ flex-direction: column;
615
+ gap: 2px;
616
+ font-size: var(--input-label-font-size, 14px);
617
+ color: var(--text-primary-color);
618
+ }
619
+
620
+ .description {
621
+ color: var(--text-secondary-color);
622
+ margin-top: 2px;
623
+ font-size: var(--input-description-font-size, 13px);
624
+ }
625
+
626
+ .disabled .description {
627
+ color: var(--ui-disabled-color, #A9B2BC);
628
+ }
629
+
630
+ .container:focus {
631
+ outline: 2px solid var(--ui-focus-color, #0F665F);
632
+ outline-offset: 2px;
633
+ border-radius: var(--input-checkbox-border-radius-md, 4px);
634
+ }
635
+ `;
636
+ static properties = {
637
+ checked: {
638
+ type: Boolean,
639
+ reflect: !0
640
+ },
641
+ disabled: {
642
+ type: Boolean,
643
+ reflect: !0
644
+ },
645
+ description: {
646
+ type: String,
647
+ reflect: !0
648
+ },
649
+ name: {
650
+ type: String,
651
+ reflect: !0
652
+ },
653
+ required: {
654
+ type: Boolean,
655
+ reflect: !0
656
+ },
657
+ value: {
658
+ type: String,
659
+ reflect: !0
660
+ },
661
+ error: {
662
+ type: Boolean,
663
+ reflect: !0
664
+ }
665
+ };
666
+ constructor() {
667
+ super(), this.checked = !1, this.disabled = !1, this.description = void 0, this.name = void 0, this.required = !1, this.value = void 0, this._internals = this.attachInternals();
668
+ }
669
+ render() {
670
+ return t`
671
+ <label ?disabled="${this.disabled}" for='${this.name | "checkbox"}' class='container ${this.disabled ? "disabled" : ""} ${this.error ? "error" : ""}' >
672
+
673
+ <div class='label-text'>
674
+ <slot></slot>
675
+ ${this.description ? t`<span class='description'>${this.description}</span>` : ""}
676
+ </div>
677
+
678
+
679
+ <input type="checkbox" id='${this.name | "checkbox"}' name='${this.name | "checkbox"}' aria-describedby='${this.description | this.name | "checkbox"}' value='${l(this.value)}' ?checked="${this.checked}" ?disabled="${this.disabled}" @change="${this._onChange}" tabindex="-1">
680
+
681
+ <div class='checkmark ${this.checked ? "active" : ""} ${this.error ? "error" : ""}' id='check' aria-describedby='${this.description | this.name | "checkbox"}' tabindex="${this.disabled ? "-1" : "0"}">
682
+ <cd-icon name='check' size='xs' color='white'></cd-icon>
683
+ </div>
684
+ </label>
685
+
686
+
687
+ `;
688
+ }
689
+ _onChange(e) {
690
+ if (!this.disabled)
691
+ return this.checked = e.target.checked, this._internals.setValidity({
692
+ valid: !0
693
+ }), this._internals.setFormValue(this.checked), this.dispatchEvent(new CustomEvent("change", {
694
+ detail: {
695
+ checked: this.checked,
696
+ value: this.value
697
+ },
698
+ bubbles: !0,
699
+ composed: !0
700
+ })), this.checked;
701
+ }
702
+ setChecked(e) {
703
+ if (typeof e != "boolean")
704
+ throw new TypeError("The checked parameter must be a boolean");
705
+ this.checked = e, this._internals.setValidity({
706
+ valid: e
707
+ }), this._internals.setFormValue(e), this.dispatchEvent(new CustomEvent("change", {
708
+ detail: {
709
+ checked: e,
710
+ value: this.value
711
+ },
712
+ bubbles: !0,
713
+ composed: !0
714
+ }));
715
+ }
716
+ firstUpdated() {
717
+ this.disabled ? this.shadowRoot.querySelector("cd-icon").color = "#A9B2BC" : this.shadowRoot.querySelector("#check").addEventListener("keydown", (e) => {
718
+ console.log("keydown event", e), (e.key === "Enter" || e.key === " ") && (this.checked = !this.checked, this._internals.setValidity({
719
+ valid: !this.checked
720
+ }), this._internals.setFormValue(!this.checked), this.dispatchEvent(new CustomEvent("change", {
721
+ detail: {
722
+ checked: !this.checked,
723
+ value: this.value
724
+ },
725
+ bubbles: !0,
726
+ composed: !0
727
+ })), this.requestUpdate());
728
+ });
729
+ }
730
+ }
731
+ function j() {
732
+ typeof window < "u" && !customElements.get("cd-checkbox") && customElements.define("cd-checkbox", g);
733
+ }
734
+ class m extends r {
735
+ static styles = i`
736
+ @font-face {
737
+ font-family: 'Geist';
738
+ src: url(${o(n)}) format('woff');
739
+ font-weight: 100 900;
740
+ font-style: normal;
741
+ }
742
+
743
+ .informational {
744
+ font-size: var(--input-hint-font-size, 14px);
745
+ color: var(input-hint-color, var(--text-secondary-color));
746
+ display:block;
747
+
748
+ }
749
+ `;
750
+ static properties = {
751
+ text: {
752
+ type: String,
753
+ reflect: !0
754
+ },
755
+ type: {
756
+ type: String,
757
+ reflect: !0
758
+ }
759
+ };
760
+ constructor() {
761
+ super(), this.text = "", this.type = "info";
762
+ }
763
+ render() {
764
+ return t`
765
+ <div class="informational ${this.type}">
766
+ ${this.text}
767
+ <slot></slot>
768
+ </div>
769
+ `;
770
+ }
771
+ }
772
+ function y() {
773
+ typeof window < "u" && !customElements.get("cd-information") && customElements.define("cd-information", m);
774
+ }
775
+ class x extends r {
776
+ static styles = i`
777
+ @font-face {
778
+ font-family: 'Geist';
779
+ src: url(${o(n)}) format('woff');
780
+ font-weight: 100 900;
781
+ font-style: normal;
782
+ }
783
+
784
+ label {
785
+ font-family: 'Geist';
786
+ font-size: var(--label-font-size, 14px);
787
+ color: var(--text-primary-color);
788
+ display: block;
789
+ }
790
+ .disabled slot {
791
+ color: var(--ui-disabled-color, #A9B2BC);
792
+ cursor: not-allowed;
793
+ }
794
+
795
+ .required {
796
+ color: var(--input-required-color, #FF5630);
797
+ }
798
+ `;
799
+ static properties = {
800
+ text: {
801
+ type: String,
802
+ reflect: !0
803
+ },
804
+ for: {
805
+ type: String,
806
+ reflect: !0,
807
+ attribute: "for"
808
+ },
809
+ required: {
810
+ type: Boolean,
811
+ reflect: !0
812
+ },
813
+ disabled: {
814
+ type: Boolean,
815
+ reflect: !0
816
+ }
817
+ };
818
+ constructor() {
819
+ super(), this.text = void 0, this.for = void 0, this.required = !1, this.disabled = !1;
820
+ }
821
+ render() {
822
+ return t`
823
+ <label
824
+ class="${this.disabled ? "disabled" : ""}"
825
+ for="${l(this.for)}"
826
+ >
827
+ ${this.text}
828
+ <slot></slot>
829
+ ${this.required ? t`<span class="required">*</span>` : ""}
830
+ </label>
831
+ `;
832
+ }
833
+ }
834
+ function D() {
835
+ typeof window < "u" && !customElements.get("cd-label") && customElements.define("cd-label", x);
836
+ }
837
+ class k extends r {
838
+ static styles = i`
839
+ @font-face {
840
+ font-family: 'Geist';
841
+ src: url(${o(n)}) format('woff');
842
+ font-weight: 100 900;
843
+ font-style: normal;
844
+ }
845
+
846
+ .error-message {
847
+ font-family: 'Geist';
848
+ display:flex;
849
+ align-items: center;
850
+ font-size: var(--input-error-font-size);
851
+ gap: var(--error-message-gap, 8px);
852
+ }
853
+
854
+
855
+ .error {
856
+ color: var(--input-error-color);
857
+ }
858
+
859
+ .warning {
860
+ color: var(--input-warning-color, orange);
861
+ }
862
+
863
+ .normal {
864
+ color: var(--text-primary-color);
865
+ }
866
+
867
+ .success {
868
+ color: var(--input-success-color, green);
869
+ }
870
+
871
+ `;
872
+ static properties = {
873
+ text: {
874
+ type: String,
875
+ reflect: !0
876
+ },
877
+ type: {
878
+ type: String,
879
+ reflect: !0
880
+ }
881
+ };
882
+ constructor() {
883
+ super(), this.text = void 0, this.type = "error";
884
+ }
885
+ render() {
886
+ return t`
887
+ <div class="error-message ${this.type}">
888
+ <slot name='icon'></slot>
889
+ ${this.text ? t`<span class="error-text">${this.text}</span>` : t`<slot></slot>`}
890
+ </div>
891
+ `;
892
+ }
893
+ }
894
+ function V() {
895
+ typeof window < "u" && !customElements.get("cd-error") && customElements.define("cd-error", k);
896
+ }
897
+ class w extends r {
898
+ static styles = i`
899
+ @font-face {
900
+ font-family: 'Geist';
901
+ src: url(${o(n)}) format('woff');
902
+ font-weight: 100 900;
903
+ font-style: normal;
904
+ }
905
+
906
+ .tag {
907
+ font-family: 'Geist';
908
+ display: inline-flex;
909
+ align-items: center;
910
+ border-radius: var(--tag-border-radius, 4px);
911
+ padding: var(--tag-padding, 0 8px);
912
+ min-height: var(--tag-medium, 27px);
913
+ font-size: var(--tag-font-size, 14px);
914
+ color: var(--tag-color, #fff);
915
+ background-color: var(--tag-default-background-color, var(--base-color-slate-900));
916
+ --icon-stroke: var(--tag-color, #000);
917
+ cursor: pointer;
918
+ user-select: none;
919
+ gap: var(--tag-gap, 6px);
920
+ }
921
+
922
+ .tag.primary {
923
+ background-color: var(--tag-primary-color, var(--base-color-teal-600));
924
+ --icon-stroke: var(--tag-color, #000);
925
+ }
926
+
927
+ .tag.secondary {
928
+ background-color: var(--tag-secondary-color, var(--base-color-slate-50));
929
+ --icon-stroke: var(--tag-color, #000);
930
+ color: var(--text-primary-color, #000);
931
+ }
932
+
933
+ .tag.link {
934
+ background-color: var(--tag-link-color, var(--event-air-background));
935
+ color: var(--tag-link-text-color, white);
936
+ }
937
+
938
+ .tag.info {
939
+ background-color: var(--tag-secondary-color, var(--base-color-slate-200));
940
+ --icon-stroke: var(--tag-color, #000);
941
+ color: var(--text-primary-color, #000);
942
+ }
943
+
944
+ .tag.success {
945
+ background-color: var(--tag-success-color, green);
946
+ --icon-stroke: var(--tag-color, #000);
947
+ }
948
+
949
+ .tag.warning {
950
+ background-color: var(--tag-warning-color, orange);
951
+ --icon-stroke: var(--tag-color, #000);
952
+ }
953
+
954
+ .tag.danger {
955
+ background-color: var(--tag-danger-color, red);
956
+ --icon-stroke: var(--tag-color, #000);
957
+ }
958
+
959
+ .tag.disabled {
960
+ background-color: var(--tag-disabled-background-color, var(--base-color-slate-400));
961
+ color: var(--tag-disabled-color, var(--base-color-slate-200));
962
+ cursor: not-allowed;
963
+ pointer-events: none;
964
+ }
965
+
966
+ .sm {
967
+ min-height: var(--tag-small, 24px);
968
+ gap: var(--tag-gap-sm, 4px);
969
+ }
970
+
971
+ .lg {
972
+ min-height: var(--tag-large, 32px);
973
+ gap: var(--tag-gap-lg, 8px);
974
+ }
975
+ `;
976
+ static properties = {
977
+ label: {
978
+ type: String,
979
+ reflect: !0
980
+ },
981
+ variant: {
982
+ type: String,
983
+ reflect: !0,
984
+ converter: (e) => ["primary", "secondary", "default", "link", "info", "success", "warning", "danger"].includes(e) ? e : "default"
985
+ },
986
+ removable: {
987
+ type: Boolean,
988
+ reflect: !0
989
+ },
990
+ disabled: {
991
+ type: Boolean,
992
+ reflect: !0
993
+ },
994
+ size: {
995
+ type: String,
996
+ reflect: !0,
997
+ converter: (e) => ["sm", "md", "lg"].includes(e) ? e : "md"
998
+ }
999
+ };
1000
+ constructor() {
1001
+ super(), this.label = "", this.variant = "primary", this.removable = !1, this.disabled = !1, this.size = "md";
1002
+ }
1003
+ render() {
1004
+ return t`
1005
+ <span class="tag ${this.variant} ${this.size} ${this.disabled ? "disabled" : ""}" @click='${this._handleClick}'>
1006
+ <slot name="icon">
1007
+ </slot>
1008
+ <span class="label">${this.label} <slot></slot></span>
1009
+ ${this.removable ? t`<span class="remove-icon" @click="${this._handleRemove}"><cd-icon name='exit' size='xs' color='${this.variant === "secondary" || this.variant === "info" ? "black" : "white"}'></cd-icon></span>` : ""}
1010
+ </span>
1011
+ `;
1012
+ }
1013
+ _handleRemove() {
1014
+ this.disabled || (this.dispatchEvent(new CustomEvent("remove", {
1015
+ detail: {
1016
+ label: this.label
1017
+ },
1018
+ bubbles: !0,
1019
+ composed: !0
1020
+ })), this.remove());
1021
+ }
1022
+ setRemovable(e) {
1023
+ this.removable = e;
1024
+ }
1025
+ setDisabled(e) {
1026
+ this.disabled = e;
1027
+ }
1028
+ removeTag() {
1029
+ this.dispatchEvent(new CustomEvent("remove", {
1030
+ detail: {
1031
+ label: this.label
1032
+ },
1033
+ bubbles: !0,
1034
+ composed: !0
1035
+ })), this.remove();
1036
+ }
1037
+ _handleClick() {
1038
+ this.disabled || this.dispatchEvent(new CustomEvent("click", {
1039
+ detail: {
1040
+ label: this.label
1041
+ },
1042
+ bubbles: !0,
1043
+ composed: !0
1044
+ }));
1045
+ }
1046
+ }
1047
+ function R() {
1048
+ typeof window < "u" && !customElements.get("cd-tag") && customElements.define("cd-tag", w);
1049
+ }
1050
+ y();
1051
+ class $ extends r {
1052
+ static formAssociated = !0;
1053
+ static styles = i`
1054
+ @font-face {
1055
+ font-family: 'Geist';
1056
+ src: url(${o(n)}) format('woff');
1057
+ font-weight: 100 900;
1058
+ font-style: normal;
1059
+ }
1060
+ :host {
1061
+ display: inline-block;
1062
+ font-family: 'Geist', sans-serif;
1063
+ }
1064
+
1065
+ .container {
1066
+ display: flex;
1067
+ align-items: center;
1068
+ flex-direction: row;
1069
+ gap: var(--input-radio-gap, 8px);
1070
+ font-size: var(--input-font-size, 14px);
1071
+ font-weight: var(--input-font-weight, 400);
1072
+ color: var(--input-text-color, #1B1F23);
1073
+ }
1074
+
1075
+ input[type="radio"] {
1076
+ appearance: none;
1077
+ -webkit-appearance: none;
1078
+ width: var(--input-radio-size, 20px);
1079
+ height: var(--input-radio-size, 20px);
1080
+ border-radius: var(--input-radio-border-radius, 50%);
1081
+ margin: 0;
1082
+ padding: 0;
1083
+ border: 1px solid var(--input-border-color, #8E98A4);
1084
+ background-color: var(--input-background-color, #F1F4F6);
1085
+ cursor: pointer;
1086
+ }
1087
+
1088
+ input[type="radio"]:hover {
1089
+ border-color: var(--input-border-color-hover, #5C6B7A);
1090
+ transition: border-color 0.2s ease-in-out;
1091
+ }
1092
+
1093
+ input[type="radio"]:focus {
1094
+ border-color: var(--input-border-color-focus, #1B1F23);
1095
+ outline: 1px solid var(--input-border-color-focus, #1B1F23);
1096
+ outline-offset: 0;
1097
+ }
1098
+
1099
+ input[type="radio"]:checked:focus {
1100
+ outline: 2px solid var(--input-border-color-focus, #1B1F23);
1101
+ outline-offset: 0;
1102
+ }
1103
+
1104
+
1105
+ input[type="radio"]:checked {
1106
+ background-color: var(--input-checked-background-color, #fff);
1107
+ border-width: 5px;
1108
+ border-color: var(--ui-interactive-primary-background, #1B1F23);
1109
+ outline: 1px solid var(--ui-interactive-primary-background, #1B1F23);
1110
+ box-sizing: border-box;
1111
+ }
1112
+
1113
+ input[type="radio"]:checked:hover {
1114
+ border-color: var(--ui-interactive-primary-background-hover, #0F665F);
1115
+ transition: border-color 0.2s ease-in-out;
1116
+ }
1117
+
1118
+ input[type="radio"]:disabled {
1119
+ background-color: var(--input-background-color-disabled, #E1E5EA);
1120
+ border-color: var(--input-border-color-disabled, #C5CCD3);
1121
+ cursor: not-allowed;
1122
+ }
1123
+
1124
+ input[type="radio"]:checked:disabled {
1125
+ background-color: var(--base-color-white);
1126
+ border-color: var(--input-background-color-disabled, #E1E5EA);
1127
+ outline: var(--input-border-color-disabled, #C5CCD3);
1128
+ cursor: not-allowed;
1129
+ }
1130
+
1131
+ input[type="radio"].input-error {
1132
+ border-color: var(--input-error-border-color, #FF4D4F);
1133
+ outline: 1px solid var(--input-error-border-color, #FF4D4F);
1134
+ }
1135
+
1136
+ input[type="radio"].input-error:hover {
1137
+ border-color: var(--input-error-border-hover-color, #FF7875);
1138
+ outline: 1px solid var(--input-error-border-hover-color, #FF7875);
1139
+ }
1140
+ input[type="radio"].input-error:focus {
1141
+ border-color: var(--input-error-border-color, #FF4D4F);
1142
+ outline: 2px solid var(--input-error-border-color, #FF4D4F);
1143
+ }
1144
+
1145
+ .input-error .radio-text {
1146
+ color: var(--input-error-border-color, #FF4D4F);
1147
+ }
1148
+
1149
+
1150
+
1151
+ .disabled {
1152
+ color: var(--ui-disabled-color, #A9B2BC);
1153
+ cursor: not-allowed;
1154
+ }
1155
+
1156
+
1157
+ .radio-text {
1158
+ display: flex;
1159
+ flex-direction: column;
1160
+ cursor: pointer;
1161
+
1162
+ }
1163
+ `;
1164
+ static properties = {
1165
+ name: {
1166
+ type: String
1167
+ },
1168
+ value: {
1169
+ type: String
1170
+ },
1171
+ checked: {
1172
+ type: Boolean,
1173
+ reflect: !0
1174
+ },
1175
+ disabled: {
1176
+ type: Boolean,
1177
+ reflect: !0
1178
+ },
1179
+ description: {
1180
+ type: String
1181
+ },
1182
+ error: {
1183
+ type: Boolean,
1184
+ reflect: !0
1185
+ },
1186
+ size: {
1187
+ type: String,
1188
+ reflect: !0
1189
+ },
1190
+ required: {
1191
+ type: Boolean,
1192
+ reflect: !0
1193
+ }
1194
+ };
1195
+ constructor() {
1196
+ super(), this.name = void 0, this.value = void 0, this.checked = !1, this.disabled = !1, this.description = void 0, this.error = !1, this.size = "md", this.required = !1, this._internals = this.attachInternals();
1197
+ }
1198
+ render() {
1199
+ return t`
1200
+ <label class="container ${this.size} ${this.disabled ? "disabled" : ""} ${this.error ? "input-error" : ""}" for="${this.name}">
1201
+ <input
1202
+ type="radio"
1203
+ class="${this.error ? "input-error" : ""}"
1204
+ name=${this.name}
1205
+ .value="${this.value}"
1206
+ .checked="${this.checked}"
1207
+ ?disabled="${this.disabled}"
1208
+ @change="${this._handleChange}"
1209
+ @click="${this._select}"
1210
+ required="${this.required}"
1211
+ tabindex="0"
1212
+ >
1213
+ <div class='radio-text' @click="${this._handleLabelClick}">
1214
+
1215
+ <slot></slot>
1216
+ <cd-information>${this.description}</cd-information>
1217
+ </div>
1218
+ </label>
1219
+
1220
+ `;
1221
+ }
1222
+ deselectAll() {
1223
+ document.querySelectorAll(`cd-radio[name="${this.name}"]`).forEach((s) => {
1224
+ s.checked = !1, s.dispatchEvent(new CustomEvent("change", {
1225
+ detail: {
1226
+ checked: !1
1227
+ },
1228
+ bubbles: !0,
1229
+ composed: !0
1230
+ }));
1231
+ });
1232
+ }
1233
+ _select() {
1234
+ document.querySelectorAll(`cd-radio[name="${this.name}"]`).forEach((s) => {
1235
+ s !== this && (s.checked = !1);
1236
+ }), this.checked = !0, this.dispatchEvent(new CustomEvent("change", {
1237
+ detail: {
1238
+ checked: !0
1239
+ },
1240
+ bubbles: !0,
1241
+ composed: !0
1242
+ }));
1243
+ }
1244
+ _handleLabelClick() {
1245
+ this.disabled || this._select();
1246
+ }
1247
+ _handleChange(e) {
1248
+ this.checked = e.target.checked, this._internals.setFormValue(this.value), this.dispatchEvent(new CustomEvent("change", {
1249
+ detail: {
1250
+ name: this.name,
1251
+ value: this.value,
1252
+ checked: this.checked
1253
+ },
1254
+ bubbles: !0,
1255
+ composed: !0
1256
+ }));
1257
+ }
1258
+ }
1259
+ const I = () => {
1260
+ customElements.get("cd-radio") || customElements.define("cd-radio", $);
1261
+ };
1262
+ class E extends r {
1263
+ static formAssociated = !0;
1264
+ static styles = i`
1265
+ @font-face {
1266
+ font-family: 'Geist';
1267
+ src: url(${o(n)}) format('woff');
1268
+ font-weight: 100 900;
1269
+ font-style: normal;
1270
+ }
1271
+
1272
+ :host {
1273
+ display: block;
1274
+ }
1275
+
1276
+ select {
1277
+ display:flex;
1278
+ appearance: none;
1279
+ box-sizing: border-box;
1280
+ padding: 0 var(--input-horizontal-inline-padding);
1281
+ height: 40px;
1282
+ border-width: var(--input-border-width);
1283
+ border-style: var(--input-border-style);
1284
+ border-color: var(--input-border-color);
1285
+ border-radius: var(--input-border-radius);
1286
+ background-color: var(--input-background-color);
1287
+ color: var(--input-text-color);
1288
+ width: var(--input-width);
1289
+ font-size: var(--input-font-size);
1290
+ }
1291
+
1292
+ select:disabled {
1293
+ background-color: var(--input-background-color-disabled);
1294
+ color: var(--input-text-color-disabled);
1295
+ border-color: var(--input-border-color-disabled);
1296
+ cursor: not-allowed;
1297
+ }
1298
+
1299
+ select:disabled:hover {
1300
+ outline: none;
1301
+ border-color: var(--input-border-color-disabled);
1302
+ }
1303
+
1304
+ select:hover {
1305
+ border-color: var(--input-border-color-hover);
1306
+ }
1307
+
1308
+ select:focus {
1309
+ background-color: var(--input-background-color-focus);
1310
+ color: var(--input-text-color-focus);
1311
+ outline: 2px solid var(--input-border-color-focus);
1312
+ border: 1px solid var(--input-border-color-focus);
1313
+ }
1314
+
1315
+ select.input-error {
1316
+ border-color: var(--input-error-border-color);
1317
+ color: var(--input-error-border-color);
1318
+ }
1319
+
1320
+ select.input-error:hover {
1321
+ border-color: var(--input-error-border-hover-color);
1322
+ }
1323
+
1324
+ select.input-error:focus {
1325
+ border-color: var(--input-error-border-color);
1326
+ outline: 2px solid var(--input-error-border-color);
1327
+ }
1328
+
1329
+ .full-width {
1330
+ min-width: 100%;
1331
+ }
1332
+
1333
+ .select-icon {
1334
+ position: absolute;
1335
+ right: 10px;
1336
+ top: 50%;
1337
+ transform: translateY(-50%);
1338
+ pointer-events: none;
1339
+ }
1340
+
1341
+ .container {
1342
+ position: relative;
1343
+ display: flex;
1344
+ align-items: center;
1345
+ gap: var(--input-select-gap, 8px);
1346
+ width: fit-content;
1347
+ }
1348
+
1349
+ .lg {
1350
+ height: 50px;
1351
+ padding: 0 var(--input-horizontal-inline-padding-lg, 24px);
1352
+ }
1353
+
1354
+ .sm {
1355
+ height: 36px;
1356
+ padding: 0 var(--input-horizontal-inline-padding-sm, 12px);
1357
+ }
1358
+ `;
1359
+ static properties = {
1360
+ name: {
1361
+ type: String
1362
+ },
1363
+ value: {
1364
+ type: String
1365
+ },
1366
+ disabled: {
1367
+ type: Boolean,
1368
+ reflect: !0
1369
+ },
1370
+ required: {
1371
+ type: Boolean,
1372
+ reflect: !0
1373
+ },
1374
+ error: {
1375
+ type: Boolean,
1376
+ reflect: !0
1377
+ },
1378
+ placeholder: {
1379
+ type: String
1380
+ },
1381
+ fullWidth: {
1382
+ type: Boolean,
1383
+ attribute: "full-width",
1384
+ reflect: !0
1385
+ },
1386
+ size: {
1387
+ type: String,
1388
+ reflect: !0,
1389
+ attribute: "size",
1390
+ converter: (e) => ["sm", "md", "lg"].includes(e) ? e : "md"
1391
+ },
1392
+ _internals: {
1393
+ type: Object,
1394
+ attribute: !1
1395
+ }
1396
+ };
1397
+ constructor() {
1398
+ super(), this.name = void 0, this.value = void 0, this.disabled = !1, this.required = !1, this.error = !1, this.placeholder = void 0, this.fullWidth = !1, this._internals = this.attachInternals();
1399
+ }
1400
+ render() {
1401
+ return t`
1402
+ <div class='container ${this.fullWidth ? "full-width" : ""}'>
1403
+ <select
1404
+ name="${l(this.name)}"
1405
+ ?disabled="${this.disabled}"
1406
+ ?required="${this.required}"
1407
+ class="${this.error ? "input-error" : ""} ${this.size} ${this.fullWidth ? "full-width" : ""}"
1408
+ @change="${this.handleChange}"
1409
+ >
1410
+ ${this.placeholder ? t`<option value="" disabled selected>${this.placeholder}</option>` : ""}
1411
+ <slot></slot>
1412
+ </select>
1413
+ <cd-icon name="caret-down" class="select-icon" size='xxs'></cd-icon>
1414
+ </div>
1415
+ `;
1416
+ }
1417
+ firstUpdated() {
1418
+ const e = this.querySelectorAll("option"), s = this.shadowRoot.querySelector("select");
1419
+ e.forEach((c) => s.appendChild(c.cloneNode(!0))), e.forEach((c) => c.remove()), this.disabled && (this.shadowRoot.querySelector("cd-icon").color = "var(--input-text-color-disabled)"), this.error && (this.shadowRoot.querySelector("cd-icon").color = "var(--input-error-border-color)");
1420
+ }
1421
+ selectOption(e) {
1422
+ const s = this.shadowRoot.querySelector("select");
1423
+ s.value = e, this.value = e, this._internals.setFormValue(this.value), this.dispatchEvent(new CustomEvent("change", {
1424
+ detail: {
1425
+ value: this.value
1426
+ }
1427
+ }));
1428
+ }
1429
+ reset() {
1430
+ const e = this.shadowRoot.querySelector("select");
1431
+ e.value = "", this.value = "", this._internals.setFormValue(this.value), this.dispatchEvent(new CustomEvent("change", {
1432
+ detail: {
1433
+ value: this.value
1434
+ }
1435
+ }));
1436
+ }
1437
+ handleChange(e) {
1438
+ this.value = e.target.value, this._internals.setFormValue(this.value), this.dispatchEvent(new CustomEvent("change", {
1439
+ detail: {
1440
+ value: this.value
1441
+ }
1442
+ }));
1443
+ }
1444
+ }
1445
+ function L() {
1446
+ typeof window < "u" && !customElements.get("cd-select") && customElements.define("cd-select", E);
1447
+ }
1448
+ export {
1449
+ d as Badge,
1450
+ u as Body,
1451
+ g as Checkbox,
1452
+ K as Counter,
1453
+ p as DataObject,
1454
+ k as ErrorMessage,
1455
+ v as FlexContainer,
1456
+ N as Icon,
1457
+ m as Informational,
1458
+ h as Key,
1459
+ f as KeyValue,
1460
+ x as Label,
1461
+ U as NavImage,
1462
+ $ as Radio,
1463
+ E as Select,
1464
+ b as Spinner,
1465
+ w as Tag,
1466
+ F as registerBadge,
1467
+ S as registerBody,
1468
+ j as registerCheckbox,
1469
+ W as registerCounter,
1470
+ B as registerDataObject,
1471
+ V as registerErrorMessage,
1472
+ G as registerFlexContainer,
1473
+ M as registerIcon,
1474
+ y as registerInformational,
1475
+ q as registerKey,
1476
+ A as registerKeyValue,
1477
+ D as registerLabel,
1478
+ Y as registerNavImage,
1479
+ I as registerRadio,
1480
+ L as registerSelect,
1481
+ _ as registerSpinner,
1482
+ R as registerTag
1483
+ };
1484
+ //# sourceMappingURL=index.es.js.map