@rabelo-digital/ds-rd 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1160 @@
1
+ /* src/components/atoms/Button/Button.module.css */
2
+ .Button_button {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ gap: var(--ds-space-2);
7
+ border: 1px solid transparent;
8
+ border-radius: var(--ds-radius-md);
9
+ font-family: var(--ds-font-family-base);
10
+ font-weight: var(--ds-font-weight-medium);
11
+ line-height: var(--ds-line-height-tight);
12
+ cursor: pointer;
13
+ text-decoration: none;
14
+ transition:
15
+ background-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),
16
+ border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),
17
+ color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),
18
+ box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
19
+ white-space: nowrap;
20
+ user-select: none;
21
+ }
22
+ .Button_button:focus-visible {
23
+ outline: 2px solid var(--ds-color-border-focus);
24
+ outline-offset: 2px;
25
+ }
26
+ .Button_sm {
27
+ padding: var(--ds-space-1) var(--ds-space-3);
28
+ font-size: var(--ds-font-size-sm);
29
+ min-height: 32px;
30
+ }
31
+ .Button_md {
32
+ padding: var(--ds-space-2) var(--ds-space-4);
33
+ font-size: var(--ds-font-size-md);
34
+ min-height: 40px;
35
+ }
36
+ .Button_lg {
37
+ padding: var(--ds-space-3) var(--ds-space-6);
38
+ font-size: var(--ds-font-size-lg);
39
+ min-height: 48px;
40
+ }
41
+ .Button_primary {
42
+ background: var(--ds-color-primary);
43
+ color: var(--ds-color-on-primary);
44
+ border-color: var(--ds-color-primary);
45
+ }
46
+ .Button_primary:hover:not(:disabled):not([aria-disabled=true]) {
47
+ background: var(--ds-color-primary-hover);
48
+ border-color: var(--ds-color-primary-hover);
49
+ }
50
+ .Button_primary:active:not(:disabled) {
51
+ background: var(--ds-color-primary-active);
52
+ border-color: var(--ds-color-primary-active);
53
+ }
54
+ .Button_secondary {
55
+ background: var(--ds-color-secondary);
56
+ color: var(--ds-color-on-secondary);
57
+ border-color: var(--ds-color-secondary);
58
+ }
59
+ .Button_secondary:hover:not(:disabled):not([aria-disabled=true]) {
60
+ background: var(--ds-color-secondary-hover);
61
+ border-color: var(--ds-color-secondary-hover);
62
+ }
63
+ .Button_ghost {
64
+ background: transparent;
65
+ color: var(--ds-color-primary);
66
+ border-color: var(--ds-color-border);
67
+ }
68
+ .Button_ghost:hover:not(:disabled):not([aria-disabled=true]) {
69
+ background: var(--ds-color-primary-subtle);
70
+ border-color: var(--ds-color-primary);
71
+ }
72
+ .Button_danger {
73
+ background: var(--ds-color-error);
74
+ color: var(--ds-color-on-error);
75
+ border-color: var(--ds-color-error);
76
+ }
77
+ .Button_danger:hover:not(:disabled):not([aria-disabled=true]) {
78
+ background: var(--ds-color-error-hover);
79
+ border-color: var(--ds-color-error-hover);
80
+ }
81
+ .Button_button:disabled,
82
+ .Button_button[aria-disabled=true] {
83
+ background: var(--ds-color-disabled-bg);
84
+ color: var(--ds-color-disabled-text);
85
+ border-color: var(--ds-color-disabled-border);
86
+ cursor: not-allowed;
87
+ pointer-events: none;
88
+ }
89
+ .Button_loading {
90
+ position: relative;
91
+ cursor: wait;
92
+ pointer-events: none;
93
+ }
94
+ .Button_label {
95
+ display: inline-flex;
96
+ align-items: center;
97
+ gap: var(--ds-space-2);
98
+ }
99
+ .Button_labelHidden {
100
+ visibility: hidden;
101
+ }
102
+ .Button_spinner {
103
+ position: absolute;
104
+ width: 1em;
105
+ height: 1em;
106
+ border: 2px solid currentColor;
107
+ border-top-color: transparent;
108
+ border-radius: var(--ds-radius-full);
109
+ animation: Button_spin 0.6s linear infinite;
110
+ }
111
+ @keyframes Button_spin {
112
+ to {
113
+ transform: rotate(360deg);
114
+ }
115
+ }
116
+
117
+ /* src/components/atoms/Input/Input.module.css */
118
+ .Input_wrapper {
119
+ display: flex;
120
+ flex-direction: column;
121
+ gap: var(--ds-space-1);
122
+ width: 100%;
123
+ }
124
+ .Input_label {
125
+ font-family: var(--ds-font-family-base);
126
+ font-size: var(--ds-font-size-sm);
127
+ font-weight: var(--ds-font-weight-medium);
128
+ color: var(--ds-color-text);
129
+ line-height: var(--ds-line-height-normal);
130
+ }
131
+ .Input_input {
132
+ width: 100%;
133
+ font-family: var(--ds-font-family-base);
134
+ font-size: var(--ds-font-size-md);
135
+ color: var(--ds-color-text);
136
+ background: var(--ds-color-bg);
137
+ border: 1px solid var(--ds-color-border);
138
+ border-radius: var(--ds-radius-md);
139
+ transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out), box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
140
+ outline: none;
141
+ box-sizing: border-box;
142
+ }
143
+ .Input_input::placeholder {
144
+ color: var(--ds-color-text-subtle);
145
+ }
146
+ .Input_input:hover:not(:disabled) {
147
+ border-color: var(--ds-color-border-strong);
148
+ }
149
+ .Input_input:focus {
150
+ border-color: var(--ds-color-border-focus);
151
+ box-shadow: 0 0 0 3px var(--ds-color-primary-muted);
152
+ }
153
+ .Input_input:disabled {
154
+ background: var(--ds-color-disabled-bg);
155
+ color: var(--ds-color-disabled-text);
156
+ border-color: var(--ds-color-disabled-border);
157
+ cursor: not-allowed;
158
+ }
159
+ .Input_input.Input_error {
160
+ border-color: var(--ds-color-border-error);
161
+ }
162
+ .Input_input.Input_error:focus {
163
+ box-shadow: 0 0 0 3px var(--ds-color-error-muted);
164
+ }
165
+ .Input_sm {
166
+ padding: var(--ds-space-1) var(--ds-space-2);
167
+ font-size: var(--ds-font-size-sm);
168
+ min-height: 32px;
169
+ }
170
+ .Input_md {
171
+ padding: var(--ds-space-2) var(--ds-space-3);
172
+ font-size: var(--ds-font-size-md);
173
+ min-height: 40px;
174
+ }
175
+ .Input_lg {
176
+ padding: var(--ds-space-3) var(--ds-space-4);
177
+ font-size: var(--ds-font-size-lg);
178
+ min-height: 48px;
179
+ }
180
+ .Input_helperText {
181
+ font-size: var(--ds-font-size-xs);
182
+ color: var(--ds-color-text-muted);
183
+ line-height: var(--ds-line-height-normal);
184
+ }
185
+ .Input_errorText {
186
+ font-size: var(--ds-font-size-xs);
187
+ color: var(--ds-color-error);
188
+ line-height: var(--ds-line-height-normal);
189
+ }
190
+
191
+ /* src/components/atoms/Textarea/Textarea.module.css */
192
+ .Textarea_wrapper {
193
+ display: flex;
194
+ flex-direction: column;
195
+ gap: var(--ds-space-1);
196
+ width: 100%;
197
+ }
198
+ .Textarea_label {
199
+ font-family: var(--ds-font-family-base);
200
+ font-size: var(--ds-font-size-sm);
201
+ font-weight: var(--ds-font-weight-medium);
202
+ color: var(--ds-color-text);
203
+ }
204
+ .Textarea_textarea {
205
+ width: 100%;
206
+ min-height: 100px;
207
+ padding: var(--ds-space-2) var(--ds-space-3);
208
+ font-family: var(--ds-font-family-base);
209
+ font-size: var(--ds-font-size-md);
210
+ color: var(--ds-color-text);
211
+ background: var(--ds-color-bg);
212
+ border: 1px solid var(--ds-color-border);
213
+ border-radius: var(--ds-radius-md);
214
+ resize: vertical;
215
+ outline: none;
216
+ transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out), box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
217
+ box-sizing: border-box;
218
+ }
219
+ .Textarea_textarea:focus {
220
+ border-color: var(--ds-color-border-focus);
221
+ box-shadow: 0 0 0 3px var(--ds-color-primary-muted);
222
+ }
223
+ .Textarea_textarea:disabled {
224
+ background: var(--ds-color-disabled-bg);
225
+ color: var(--ds-color-disabled-text);
226
+ cursor: not-allowed;
227
+ }
228
+ .Textarea_textarea.Textarea_error {
229
+ border-color: var(--ds-color-border-error);
230
+ }
231
+ .Textarea_textarea.Textarea_error:focus {
232
+ box-shadow: 0 0 0 3px var(--ds-color-error-muted);
233
+ }
234
+ .Textarea_footer {
235
+ display: flex;
236
+ justify-content: space-between;
237
+ align-items: flex-start;
238
+ }
239
+ .Textarea_helperText {
240
+ font-size: var(--ds-font-size-xs);
241
+ color: var(--ds-color-text-muted);
242
+ }
243
+ .Textarea_errorText {
244
+ font-size: var(--ds-font-size-xs);
245
+ color: var(--ds-color-error);
246
+ }
247
+ .Textarea_counter {
248
+ font-size: var(--ds-font-size-xs);
249
+ color: var(--ds-color-text-muted);
250
+ margin-left: auto;
251
+ }
252
+
253
+ /* src/components/atoms/Badge/Badge.module.css */
254
+ .Badge_badge {
255
+ display: inline-flex;
256
+ align-items: center;
257
+ font-family: var(--ds-font-family-base);
258
+ font-weight: var(--ds-font-weight-medium);
259
+ border-radius: var(--ds-radius-full);
260
+ white-space: nowrap;
261
+ }
262
+ .Badge_sm {
263
+ padding: 2px var(--ds-space-2);
264
+ font-size: var(--ds-font-size-xs);
265
+ }
266
+ .Badge_md {
267
+ padding: var(--ds-space-1) var(--ds-space-2);
268
+ font-size: var(--ds-font-size-sm);
269
+ }
270
+ .Badge_default {
271
+ background: var(--ds-color-bg-muted);
272
+ color: var(--ds-color-text);
273
+ }
274
+ .Badge_primary {
275
+ background: var(--ds-color-primary-muted);
276
+ color: var(--ds-color-primary);
277
+ }
278
+ .Badge_success {
279
+ background: var(--ds-color-success-muted);
280
+ color: var(--ds-color-success);
281
+ }
282
+ .Badge_warning {
283
+ background: var(--ds-color-warning-muted);
284
+ color: var(--ds-color-warning-hover);
285
+ }
286
+ .Badge_error {
287
+ background: var(--ds-color-error-muted);
288
+ color: var(--ds-color-error);
289
+ }
290
+ .Badge_info {
291
+ background: var(--ds-color-info-muted);
292
+ color: var(--ds-color-info);
293
+ }
294
+
295
+ /* src/components/atoms/Avatar/Avatar.module.css */
296
+ .Avatar_avatar {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ background: var(--ds-color-primary-muted);
301
+ color: var(--ds-color-primary);
302
+ font-family: var(--ds-font-family-base);
303
+ font-weight: var(--ds-font-weight-semibold);
304
+ overflow: hidden;
305
+ flex-shrink: 0;
306
+ }
307
+ .Avatar_circle {
308
+ border-radius: var(--ds-radius-full);
309
+ }
310
+ .Avatar_square {
311
+ border-radius: var(--ds-radius-lg);
312
+ }
313
+ .Avatar_xs {
314
+ width: 24px;
315
+ height: 24px;
316
+ font-size: var(--ds-font-size-xs);
317
+ }
318
+ .Avatar_sm {
319
+ width: 32px;
320
+ height: 32px;
321
+ font-size: var(--ds-font-size-xs);
322
+ }
323
+ .Avatar_md {
324
+ width: 40px;
325
+ height: 40px;
326
+ font-size: var(--ds-font-size-sm);
327
+ }
328
+ .Avatar_lg {
329
+ width: 56px;
330
+ height: 56px;
331
+ font-size: var(--ds-font-size-md);
332
+ }
333
+ .Avatar_xl {
334
+ width: 80px;
335
+ height: 80px;
336
+ font-size: var(--ds-font-size-xl);
337
+ }
338
+ .Avatar_image {
339
+ width: 100%;
340
+ height: 100%;
341
+ object-fit: cover;
342
+ }
343
+ .Avatar_initials {
344
+ line-height: 1;
345
+ }
346
+
347
+ /* src/components/atoms/Checkbox/Checkbox.module.css */
348
+ .Checkbox_wrapper {
349
+ display: flex;
350
+ align-items: center;
351
+ gap: var(--ds-space-2);
352
+ }
353
+ .Checkbox_root {
354
+ width: 18px;
355
+ height: 18px;
356
+ border: 2px solid var(--ds-color-border-strong);
357
+ border-radius: var(--ds-radius-sm);
358
+ background: var(--ds-color-bg);
359
+ display: flex;
360
+ align-items: center;
361
+ justify-content: center;
362
+ cursor: pointer;
363
+ flex-shrink: 0;
364
+ transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out), background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
365
+ outline: none;
366
+ }
367
+ .Checkbox_root[data-state=checked],
368
+ .Checkbox_root[data-state=indeterminate] {
369
+ background: var(--ds-color-primary);
370
+ border-color: var(--ds-color-primary);
371
+ color: var(--ds-color-on-primary);
372
+ }
373
+ .Checkbox_root:focus-visible {
374
+ outline: 2px solid var(--ds-color-border-focus);
375
+ outline-offset: 2px;
376
+ }
377
+ .Checkbox_root:disabled {
378
+ background: var(--ds-color-disabled-bg);
379
+ border-color: var(--ds-color-disabled-border);
380
+ cursor: not-allowed;
381
+ }
382
+ .Checkbox_indicator {
383
+ display: flex;
384
+ align-items: center;
385
+ justify-content: center;
386
+ color: currentColor;
387
+ }
388
+ .Checkbox_label {
389
+ font-size: var(--ds-font-size-sm);
390
+ color: var(--ds-color-text);
391
+ cursor: pointer;
392
+ line-height: var(--ds-line-height-normal);
393
+ }
394
+
395
+ /* src/components/atoms/Radio/Radio.module.css */
396
+ .Radio_group {
397
+ display: flex;
398
+ }
399
+ .Radio_vertical {
400
+ flex-direction: column;
401
+ gap: var(--ds-space-2);
402
+ }
403
+ .Radio_horizontal {
404
+ flex-direction: row;
405
+ flex-wrap: wrap;
406
+ gap: var(--ds-space-4);
407
+ }
408
+ .Radio_item {
409
+ display: flex;
410
+ align-items: center;
411
+ gap: var(--ds-space-2);
412
+ }
413
+ .Radio_radio {
414
+ width: 18px;
415
+ height: 18px;
416
+ border-radius: var(--ds-radius-full);
417
+ border: 2px solid var(--ds-color-border-strong);
418
+ background: var(--ds-color-bg);
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ cursor: pointer;
423
+ flex-shrink: 0;
424
+ outline: none;
425
+ transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
426
+ }
427
+ .Radio_radio[data-state=checked] {
428
+ border-color: var(--ds-color-primary);
429
+ }
430
+ .Radio_radio:focus-visible {
431
+ outline: 2px solid var(--ds-color-border-focus);
432
+ outline-offset: 2px;
433
+ }
434
+ .Radio_radio:disabled {
435
+ background: var(--ds-color-disabled-bg);
436
+ border-color: var(--ds-color-disabled-border);
437
+ cursor: not-allowed;
438
+ }
439
+ .Radio_indicator {
440
+ width: 8px;
441
+ height: 8px;
442
+ border-radius: var(--ds-radius-full);
443
+ background: var(--ds-color-primary);
444
+ }
445
+ .Radio_label {
446
+ font-size: var(--ds-font-size-sm);
447
+ color: var(--ds-color-text);
448
+ cursor: pointer;
449
+ }
450
+
451
+ /* src/components/atoms/Select/Select.module.css */
452
+ .Select_wrapper {
453
+ display: flex;
454
+ flex-direction: column;
455
+ gap: var(--ds-space-1);
456
+ width: 100%;
457
+ }
458
+ .Select_label {
459
+ font-size: var(--ds-font-size-sm);
460
+ font-weight: var(--ds-font-weight-medium);
461
+ color: var(--ds-color-text);
462
+ }
463
+ .Select_trigger {
464
+ display: flex;
465
+ align-items: center;
466
+ justify-content: space-between;
467
+ gap: var(--ds-space-2);
468
+ width: 100%;
469
+ font-family: var(--ds-font-family-base);
470
+ color: var(--ds-color-text);
471
+ background: var(--ds-color-bg);
472
+ border: 1px solid var(--ds-color-border);
473
+ border-radius: var(--ds-radius-md);
474
+ cursor: pointer;
475
+ outline: none;
476
+ transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
477
+ }
478
+ .Select_trigger:hover:not(:disabled) {
479
+ border-color: var(--ds-color-border-strong);
480
+ }
481
+ .Select_trigger:focus {
482
+ border-color: var(--ds-color-border-focus);
483
+ box-shadow: 0 0 0 3px var(--ds-color-primary-muted);
484
+ }
485
+ .Select_trigger[data-disabled] {
486
+ background: var(--ds-color-disabled-bg);
487
+ color: var(--ds-color-disabled-text);
488
+ cursor: not-allowed;
489
+ }
490
+ .Select_trigger.Select_error {
491
+ border-color: var(--ds-color-border-error);
492
+ }
493
+ .Select_sm {
494
+ padding: var(--ds-space-1) var(--ds-space-2);
495
+ font-size: var(--ds-font-size-sm);
496
+ min-height: 32px;
497
+ }
498
+ .Select_md {
499
+ padding: var(--ds-space-2) var(--ds-space-3);
500
+ font-size: var(--ds-font-size-md);
501
+ min-height: 40px;
502
+ }
503
+ .Select_lg {
504
+ padding: var(--ds-space-3) var(--ds-space-4);
505
+ font-size: var(--ds-font-size-lg);
506
+ min-height: 48px;
507
+ }
508
+ .Select_icon {
509
+ color: var(--ds-color-text-muted);
510
+ flex-shrink: 0;
511
+ }
512
+ .Select_content {
513
+ background: var(--ds-color-surface);
514
+ border: 1px solid var(--ds-color-border);
515
+ border-radius: var(--ds-radius-lg);
516
+ box-shadow: var(--ds-elevation-md);
517
+ z-index: var(--ds-z-dropdown);
518
+ min-width: var(--radix-select-trigger-width);
519
+ max-height: var(--radix-select-content-available-height);
520
+ overflow: hidden;
521
+ }
522
+ .Select_viewport {
523
+ padding: var(--ds-space-1);
524
+ }
525
+ .Select_item {
526
+ display: flex;
527
+ align-items: center;
528
+ justify-content: space-between;
529
+ gap: var(--ds-space-2);
530
+ padding: var(--ds-space-2) var(--ds-space-3);
531
+ border-radius: var(--ds-radius-md);
532
+ font-size: var(--ds-font-size-sm);
533
+ color: var(--ds-color-text);
534
+ cursor: pointer;
535
+ outline: none;
536
+ transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
537
+ user-select: none;
538
+ }
539
+ .Select_item[data-highlighted] {
540
+ background: var(--ds-color-primary-subtle);
541
+ color: var(--ds-color-primary);
542
+ }
543
+ .Select_item[data-disabled] {
544
+ color: var(--ds-color-disabled-text);
545
+ cursor: not-allowed;
546
+ }
547
+ .Select_itemIndicator {
548
+ color: var(--ds-color-primary);
549
+ }
550
+ .Select_errorText {
551
+ font-size: var(--ds-font-size-xs);
552
+ color: var(--ds-color-error);
553
+ }
554
+ .Select_helperText {
555
+ font-size: var(--ds-font-size-xs);
556
+ color: var(--ds-color-text-muted);
557
+ }
558
+
559
+ /* src/components/atoms/Tooltip/Tooltip.module.css */
560
+ .Tooltip_content {
561
+ background: var(--ds-color-text);
562
+ color: var(--ds-color-text-inverse);
563
+ font-family: var(--ds-font-family-base);
564
+ font-size: var(--ds-font-size-xs);
565
+ line-height: var(--ds-line-height-normal);
566
+ padding: var(--ds-space-1) var(--ds-space-2);
567
+ border-radius: var(--ds-radius-md);
568
+ box-shadow: var(--ds-elevation-md);
569
+ z-index: var(--ds-z-tooltip);
570
+ max-width: 250px;
571
+ animation: Tooltip_fadeIn var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
572
+ }
573
+ .Tooltip_arrow {
574
+ fill: var(--ds-color-text);
575
+ }
576
+ @keyframes Tooltip_fadeIn {
577
+ from {
578
+ opacity: 0;
579
+ transform: scale(0.96);
580
+ }
581
+ to {
582
+ opacity: 1;
583
+ transform: scale(1);
584
+ }
585
+ }
586
+
587
+ /* src/components/atoms/SocialIcons/SocialIcons.module.css */
588
+ .SocialIcons_list {
589
+ display: flex;
590
+ gap: var(--ds-space-2);
591
+ list-style: none;
592
+ margin: 0;
593
+ padding: 0;
594
+ flex-wrap: wrap;
595
+ }
596
+ .SocialIcons_link {
597
+ display: inline-flex;
598
+ align-items: center;
599
+ justify-content: center;
600
+ border-radius: var(--ds-radius-full);
601
+ color: var(--ds-color-text-muted);
602
+ background: var(--ds-color-bg-subtle);
603
+ transition: color var(--ds-motion-duration-fast) var(--ds-motion-easing-out), background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
604
+ text-decoration: none;
605
+ }
606
+ .SocialIcons_link:hover {
607
+ color: var(--ds-color-primary);
608
+ background: var(--ds-color-primary-subtle);
609
+ }
610
+ .SocialIcons_link:focus-visible {
611
+ outline: 2px solid var(--ds-color-border-focus);
612
+ outline-offset: 2px;
613
+ }
614
+ .SocialIcons_sm {
615
+ width: 32px;
616
+ height: 32px;
617
+ font-size: 14px;
618
+ }
619
+ .SocialIcons_md {
620
+ width: 40px;
621
+ height: 40px;
622
+ font-size: 16px;
623
+ }
624
+ .SocialIcons_lg {
625
+ width: 48px;
626
+ height: 48px;
627
+ font-size: 20px;
628
+ }
629
+
630
+ /* src/components/molecules/Card/Card.module.css */
631
+ .Card_card {
632
+ background: var(--ds-color-surface);
633
+ border: 1px solid var(--ds-color-border);
634
+ min-width: 0;
635
+ }
636
+ .Card_header {
637
+ padding: var(--ds-space-4) var(--ds-space-6);
638
+ border-bottom: 1px solid var(--ds-color-border-muted);
639
+ font-weight: var(--ds-font-weight-semibold);
640
+ font-size: var(--ds-font-size-lg);
641
+ color: var(--ds-color-text);
642
+ }
643
+ .Card_body {
644
+ padding: var(--ds-space-6);
645
+ color: var(--ds-color-text);
646
+ min-width: 0;
647
+ }
648
+ .Card_footer {
649
+ padding: var(--ds-space-4) var(--ds-space-6);
650
+ border-top: 1px solid var(--ds-color-border-muted);
651
+ background: var(--ds-color-bg-subtle);
652
+ display: flex;
653
+ align-items: center;
654
+ gap: var(--ds-space-2);
655
+ }
656
+
657
+ /* src/components/molecules/Modal/Modal.module.css */
658
+ .Modal_overlay {
659
+ position: fixed;
660
+ inset: 0;
661
+ background: var(--ds-color-bg-overlay);
662
+ z-index: var(--ds-z-overlay);
663
+ animation: Modal_overlayIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
664
+ }
665
+ .Modal_content {
666
+ position: fixed;
667
+ top: 50%;
668
+ left: 50%;
669
+ transform: translate(-50%, -50%);
670
+ background: var(--ds-color-surface);
671
+ border-radius: var(--ds-radius-xl);
672
+ box-shadow: var(--ds-elevation-xl);
673
+ z-index: var(--ds-z-modal);
674
+ max-height: 90vh;
675
+ overflow-y: auto;
676
+ display: flex;
677
+ flex-direction: column;
678
+ animation: Modal_contentIn var(--ds-motion-duration-normal) var(--ds-motion-easing-spring);
679
+ }
680
+ .Modal_sm {
681
+ width: min(400px, 90vw);
682
+ }
683
+ .Modal_md {
684
+ width: min(560px, 90vw);
685
+ }
686
+ .Modal_lg {
687
+ width: min(720px, 90vw);
688
+ }
689
+ .Modal_xl {
690
+ width: min(900px, 90vw);
691
+ }
692
+ .Modal_full {
693
+ width: calc(100vw - 32px);
694
+ height: calc(100vh - 32px);
695
+ top: 16px;
696
+ left: 16px;
697
+ transform: none;
698
+ }
699
+ .Modal_header {
700
+ display: flex;
701
+ align-items: center;
702
+ justify-content: space-between;
703
+ gap: var(--ds-space-4);
704
+ padding: var(--ds-space-4) var(--ds-space-6);
705
+ border-bottom: 1px solid var(--ds-color-border-muted);
706
+ }
707
+ .Modal_title {
708
+ font-family: var(--ds-font-family-heading);
709
+ font-size: var(--ds-font-size-xl);
710
+ font-weight: var(--ds-font-weight-semibold);
711
+ color: var(--ds-color-text);
712
+ margin: 0;
713
+ }
714
+ .Modal_description {
715
+ padding: var(--ds-space-2) var(--ds-space-6) 0;
716
+ font-size: var(--ds-font-size-sm);
717
+ color: var(--ds-color-text-muted);
718
+ }
719
+ .Modal_body {
720
+ padding: var(--ds-space-6);
721
+ flex: 1;
722
+ }
723
+ .Modal_close {
724
+ display: flex;
725
+ align-items: center;
726
+ justify-content: center;
727
+ width: 32px;
728
+ height: 32px;
729
+ border-radius: var(--ds-radius-md);
730
+ border: none;
731
+ background: transparent;
732
+ color: var(--ds-color-text-muted);
733
+ cursor: pointer;
734
+ transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out), color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
735
+ flex-shrink: 0;
736
+ }
737
+ .Modal_close:hover {
738
+ background: var(--ds-color-bg-subtle);
739
+ color: var(--ds-color-text);
740
+ }
741
+ .Modal_close:focus-visible {
742
+ outline: 2px solid var(--ds-color-border-focus);
743
+ outline-offset: 2px;
744
+ }
745
+ @keyframes Modal_overlayIn {
746
+ from {
747
+ opacity: 0;
748
+ }
749
+ to {
750
+ opacity: 1;
751
+ }
752
+ }
753
+ @keyframes Modal_contentIn {
754
+ from {
755
+ opacity: 0;
756
+ transform: translate(-50%, -48%) scale(0.96);
757
+ }
758
+ to {
759
+ opacity: 1;
760
+ transform: translate(-50%, -50%) scale(1);
761
+ }
762
+ }
763
+
764
+ /* src/components/molecules/Drawer/Drawer.module.css */
765
+ .Drawer_overlay {
766
+ position: fixed;
767
+ inset: 0;
768
+ background: var(--ds-color-bg-overlay);
769
+ z-index: var(--ds-z-overlay);
770
+ animation: Drawer_fadeIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
771
+ }
772
+ .Drawer_content {
773
+ position: fixed;
774
+ background: var(--ds-color-surface);
775
+ box-shadow: var(--ds-elevation-xl);
776
+ z-index: var(--ds-z-modal);
777
+ display: flex;
778
+ flex-direction: column;
779
+ overflow-y: auto;
780
+ }
781
+ .Drawer_right {
782
+ top: 0;
783
+ right: 0;
784
+ bottom: 0;
785
+ width: min(480px, 90vw);
786
+ animation: Drawer_slideInRight var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
787
+ }
788
+ .Drawer_left {
789
+ top: 0;
790
+ left: 0;
791
+ bottom: 0;
792
+ width: min(480px, 90vw);
793
+ animation: Drawer_slideInLeft var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
794
+ }
795
+ .Drawer_top {
796
+ top: 0;
797
+ left: 0;
798
+ right: 0;
799
+ height: min(360px, 60vh);
800
+ animation: Drawer_slideInTop var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
801
+ }
802
+ .Drawer_bottom {
803
+ bottom: 0;
804
+ left: 0;
805
+ right: 0;
806
+ height: min(360px, 60vh);
807
+ animation: Drawer_slideInBottom var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
808
+ }
809
+ .Drawer_header {
810
+ display: flex;
811
+ align-items: center;
812
+ justify-content: space-between;
813
+ padding: var(--ds-space-4) var(--ds-space-6);
814
+ border-bottom: 1px solid var(--ds-color-border-muted);
815
+ }
816
+ .Drawer_title {
817
+ font-size: var(--ds-font-size-xl);
818
+ font-weight: var(--ds-font-weight-semibold);
819
+ color: var(--ds-color-text);
820
+ margin: 0;
821
+ }
822
+ .Drawer_body {
823
+ padding: var(--ds-space-6);
824
+ flex: 1;
825
+ }
826
+ .Drawer_close {
827
+ display: flex;
828
+ align-items: center;
829
+ justify-content: center;
830
+ width: 32px;
831
+ height: 32px;
832
+ border-radius: var(--ds-radius-md);
833
+ border: none;
834
+ background: transparent;
835
+ color: var(--ds-color-text-muted);
836
+ cursor: pointer;
837
+ }
838
+ .Drawer_close:hover {
839
+ background: var(--ds-color-bg-subtle);
840
+ color: var(--ds-color-text);
841
+ }
842
+ .Drawer_close:focus-visible {
843
+ outline: 2px solid var(--ds-color-border-focus);
844
+ outline-offset: 2px;
845
+ }
846
+ @keyframes Drawer_fadeIn {
847
+ from {
848
+ opacity: 0;
849
+ }
850
+ to {
851
+ opacity: 1;
852
+ }
853
+ }
854
+ @keyframes Drawer_slideInRight {
855
+ from {
856
+ transform: translateX(100%);
857
+ }
858
+ to {
859
+ transform: translateX(0);
860
+ }
861
+ }
862
+ @keyframes Drawer_slideInLeft {
863
+ from {
864
+ transform: translateX(-100%);
865
+ }
866
+ to {
867
+ transform: translateX(0);
868
+ }
869
+ }
870
+ @keyframes Drawer_slideInTop {
871
+ from {
872
+ transform: translateY(-100%);
873
+ }
874
+ to {
875
+ transform: translateY(0);
876
+ }
877
+ }
878
+ @keyframes Drawer_slideInBottom {
879
+ from {
880
+ transform: translateY(100%);
881
+ }
882
+ to {
883
+ transform: translateY(0);
884
+ }
885
+ }
886
+
887
+ /* src/components/molecules/Tabs/Tabs.module.css */
888
+ .Tabs_root {
889
+ display: flex;
890
+ flex-direction: column;
891
+ }
892
+ .Tabs_list {
893
+ display: flex;
894
+ border-bottom: 2px solid var(--ds-color-border);
895
+ gap: 0;
896
+ }
897
+ .Tabs_trigger {
898
+ padding: var(--ds-space-2) var(--ds-space-4);
899
+ font-family: var(--ds-font-family-base);
900
+ font-size: var(--ds-font-size-sm);
901
+ font-weight: var(--ds-font-weight-medium);
902
+ color: var(--ds-color-text-muted);
903
+ background: transparent;
904
+ border: none;
905
+ border-bottom: 2px solid transparent;
906
+ margin-bottom: -2px;
907
+ cursor: pointer;
908
+ transition: color var(--ds-motion-duration-fast) var(--ds-motion-easing-out), border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
909
+ outline: none;
910
+ }
911
+ .Tabs_trigger:hover:not([disabled]) {
912
+ color: var(--ds-color-text);
913
+ }
914
+ .Tabs_trigger[data-state=active] {
915
+ color: var(--ds-color-primary);
916
+ border-bottom-color: var(--ds-color-primary);
917
+ }
918
+ .Tabs_trigger[disabled] {
919
+ color: var(--ds-color-disabled-text);
920
+ cursor: not-allowed;
921
+ }
922
+ .Tabs_trigger:focus-visible {
923
+ outline: 2px solid var(--ds-color-border-focus);
924
+ outline-offset: 2px;
925
+ border-radius: var(--ds-radius-sm);
926
+ }
927
+ .Tabs_content {
928
+ padding: var(--ds-space-6) 0;
929
+ }
930
+
931
+ /* src/components/molecules/Accordion/Accordion.module.css */
932
+ .Accordion_root {
933
+ border: 1px solid var(--ds-color-border);
934
+ border-radius: var(--ds-radius-lg);
935
+ overflow: hidden;
936
+ }
937
+ .Accordion_item {
938
+ border-bottom: 1px solid var(--ds-color-border);
939
+ }
940
+ .Accordion_item:last-child {
941
+ border-bottom: none;
942
+ }
943
+ .Accordion_item[data-disabled] {
944
+ opacity: 0.5;
945
+ }
946
+ .Accordion_trigger {
947
+ display: flex;
948
+ align-items: center;
949
+ justify-content: space-between;
950
+ gap: var(--ds-space-4);
951
+ width: 100%;
952
+ padding: var(--ds-space-4) var(--ds-space-6);
953
+ font-family: var(--ds-font-family-base);
954
+ font-size: var(--ds-font-size-md);
955
+ font-weight: var(--ds-font-weight-medium);
956
+ color: var(--ds-color-text);
957
+ background: transparent;
958
+ border: none;
959
+ cursor: pointer;
960
+ text-align: left;
961
+ transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);
962
+ outline: none;
963
+ }
964
+ .Accordion_trigger:hover {
965
+ background: var(--ds-color-bg-subtle);
966
+ }
967
+ .Accordion_trigger:focus-visible {
968
+ outline: 2px solid var(--ds-color-border-focus);
969
+ outline-offset: -2px;
970
+ }
971
+ .Accordion_chevron {
972
+ flex-shrink: 0;
973
+ transition: transform var(--ds-motion-duration-normal) var(--ds-motion-easing-in-out);
974
+ }
975
+ .Accordion_trigger[data-state=open] .Accordion_chevron {
976
+ transform: rotate(180deg);
977
+ }
978
+ .Accordion_content {
979
+ overflow: hidden;
980
+ }
981
+ .Accordion_content[data-state=open] {
982
+ animation: Accordion_slideDown var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
983
+ }
984
+ .Accordion_content[data-state=closed] {
985
+ animation: Accordion_slideUp var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
986
+ }
987
+ .Accordion_contentInner {
988
+ padding: 0 var(--ds-space-6) var(--ds-space-4);
989
+ color: var(--ds-color-text-muted);
990
+ font-size: var(--ds-font-size-md);
991
+ }
992
+ @keyframes Accordion_slideDown {
993
+ from {
994
+ height: 0;
995
+ }
996
+ to {
997
+ height: var(--radix-accordion-content-height);
998
+ }
999
+ }
1000
+ @keyframes Accordion_slideUp {
1001
+ from {
1002
+ height: var(--radix-accordion-content-height);
1003
+ }
1004
+ to {
1005
+ height: 0;
1006
+ }
1007
+ }
1008
+
1009
+ /* src/components/molecules/Toast/Toast.module.css */
1010
+ .Toast_viewport {
1011
+ position: fixed;
1012
+ bottom: var(--ds-space-6);
1013
+ right: var(--ds-space-6);
1014
+ display: flex;
1015
+ flex-direction: column;
1016
+ gap: var(--ds-space-2);
1017
+ width: 360px;
1018
+ max-width: calc(100vw - var(--ds-space-8));
1019
+ z-index: var(--ds-z-toast);
1020
+ list-style: none;
1021
+ padding: 0;
1022
+ margin: 0;
1023
+ outline: none;
1024
+ }
1025
+ .Toast_root {
1026
+ background: var(--ds-color-surface);
1027
+ border-radius: var(--ds-radius-lg);
1028
+ box-shadow: var(--ds-elevation-lg);
1029
+ border-left: 4px solid;
1030
+ animation: Toast_slideIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);
1031
+ }
1032
+ .Toast_root[data-state=closed] {
1033
+ animation: Toast_slideOut var(--ds-motion-duration-normal) var(--ds-motion-easing-in);
1034
+ }
1035
+ .Toast_default {
1036
+ border-color: var(--ds-color-border-strong);
1037
+ }
1038
+ .Toast_success {
1039
+ border-color: var(--ds-color-success);
1040
+ }
1041
+ .Toast_warning {
1042
+ border-color: var(--ds-color-warning);
1043
+ }
1044
+ .Toast_error {
1045
+ border-color: var(--ds-color-error);
1046
+ }
1047
+ .Toast_info {
1048
+ border-color: var(--ds-color-info);
1049
+ }
1050
+ .Toast_content {
1051
+ display: flex;
1052
+ align-items: flex-start;
1053
+ gap: var(--ds-space-3);
1054
+ padding: var(--ds-space-4);
1055
+ }
1056
+ .Toast_text {
1057
+ flex: 1;
1058
+ min-width: 0;
1059
+ }
1060
+ .Toast_title {
1061
+ font-size: var(--ds-font-size-sm);
1062
+ font-weight: var(--ds-font-weight-semibold);
1063
+ color: var(--ds-color-text);
1064
+ margin: 0;
1065
+ }
1066
+ .Toast_description {
1067
+ font-size: var(--ds-font-size-xs);
1068
+ color: var(--ds-color-text-muted);
1069
+ margin-top: var(--ds-space-1);
1070
+ }
1071
+ .Toast_close {
1072
+ display: flex;
1073
+ align-items: center;
1074
+ justify-content: center;
1075
+ width: 24px;
1076
+ height: 24px;
1077
+ border-radius: var(--ds-radius-sm);
1078
+ border: none;
1079
+ background: transparent;
1080
+ color: var(--ds-color-text-muted);
1081
+ cursor: pointer;
1082
+ flex-shrink: 0;
1083
+ padding: 0;
1084
+ }
1085
+ .Toast_close:hover {
1086
+ background: var(--ds-color-bg-subtle);
1087
+ }
1088
+ .Toast_close:focus-visible {
1089
+ outline: 2px solid var(--ds-color-border-focus);
1090
+ outline-offset: 2px;
1091
+ }
1092
+ @keyframes Toast_slideIn {
1093
+ from {
1094
+ transform: translateX(calc(100% + var(--ds-space-6)));
1095
+ opacity: 0;
1096
+ }
1097
+ to {
1098
+ transform: translateX(0);
1099
+ opacity: 1;
1100
+ }
1101
+ }
1102
+ @keyframes Toast_slideOut {
1103
+ from {
1104
+ transform: translateX(0);
1105
+ opacity: 1;
1106
+ }
1107
+ to {
1108
+ transform: translateX(calc(100% + var(--ds-space-6)));
1109
+ opacity: 0;
1110
+ }
1111
+ }
1112
+
1113
+ /* src/components/molecules/Table/Table.module.css */
1114
+ .Table_wrapper {
1115
+ width: 100%;
1116
+ overflow-x: auto;
1117
+ border: 1px solid var(--ds-color-border);
1118
+ border-radius: var(--ds-radius-lg);
1119
+ }
1120
+ .Table_table {
1121
+ width: 100%;
1122
+ border-collapse: collapse;
1123
+ font-family: var(--ds-font-family-base);
1124
+ font-size: var(--ds-font-size-sm);
1125
+ }
1126
+ .Table_caption {
1127
+ padding: var(--ds-space-3) var(--ds-space-4);
1128
+ text-align: left;
1129
+ font-size: var(--ds-font-size-sm);
1130
+ color: var(--ds-color-text-muted);
1131
+ }
1132
+ .Table_head {
1133
+ background: var(--ds-color-bg-subtle);
1134
+ }
1135
+ .Table_stickyHeader .Table_head {
1136
+ position: sticky;
1137
+ top: 0;
1138
+ z-index: var(--ds-z-raised);
1139
+ }
1140
+ .Table_th {
1141
+ padding: var(--ds-space-3) var(--ds-space-4);
1142
+ text-align: left;
1143
+ font-weight: var(--ds-font-weight-semibold);
1144
+ color: var(--ds-color-text);
1145
+ border-bottom: 2px solid var(--ds-color-border);
1146
+ white-space: nowrap;
1147
+ }
1148
+ .Table_td {
1149
+ padding: var(--ds-space-3) var(--ds-space-4);
1150
+ color: var(--ds-color-text);
1151
+ border-bottom: 1px solid var(--ds-color-border-muted);
1152
+ vertical-align: middle;
1153
+ }
1154
+ .Table_row:last-child .Table_td {
1155
+ border-bottom: none;
1156
+ }
1157
+ .Table_body .Table_row:hover {
1158
+ background: var(--ds-color-bg-subtle);
1159
+ }
1160
+ /*# sourceMappingURL=index.css.map */