@cargosense/cargo-design-system 1.0.1 → 1.0.5

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