@highpixel-co/palda-design-system 0.4.1

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,2193 @@
1
+ /**
2
+ * Generated by packages/palda-design-system/build.mjs. Do not edit directly.
3
+ */
4
+
5
+ /**
6
+ * Do not edit directly, this file was auto-generated.
7
+ */
8
+
9
+ :root {
10
+ --palda-green-50: #f3f7f0;
11
+ --palda-green-100: #e6f2df;
12
+ --palda-green-200: #b7e5a8;
13
+ --palda-green-300: #a0dd8c;
14
+ --palda-green-400: #77d36b;
15
+ --palda-green-500: #55c94a;
16
+ --palda-green-600: #36b343;
17
+ --palda-green-700: #45922c;
18
+ --palda-green-800: #40772e;
19
+ --palda-green-900: #346026;
20
+ --palda-green-950: #204e11;
21
+ --palda-orange-50: #fdf9f7;
22
+ --palda-orange-100: #fbeee6;
23
+ --palda-orange-200: #f5d4be;
24
+ --palda-orange-300: #f1bc99;
25
+ --palda-orange-400: #eb9b67;
26
+ --palda-orange-500: #fc883c;
27
+ --palda-orange-600: #f77520;
28
+ --palda-orange-700: #d9671c;
29
+ --palda-orange-800: #a7531b;
30
+ --palda-orange-900: #8e4618;
31
+ --palda-orange-950: #71330b;
32
+ --palda-gray-50: #f5f5f7;
33
+ --palda-gray-100: #ededf2;
34
+ --palda-gray-200: #c8c8cc;
35
+ --palda-gray-300: #b2b2b7;
36
+ --palda-gray-400: #9c9ca2;
37
+ --palda-gray-500: #86868d;
38
+ --palda-gray-600: #737871;
39
+ --palda-gray-700: #5c5c62;
40
+ --palda-gray-800: #47474c;
41
+ --palda-gray-900: #323236;
42
+ --palda-gray-950: #050505;
43
+ --palda-gray-00: #ffffff;
44
+ --palda-red-50: #faf0f0;
45
+ --palda-red-100: #f3cbcb;
46
+ --palda-red-200: #ecb4a8;
47
+ --palda-red-300: #e59484;
48
+ --palda-red-400: #de7661;
49
+ --palda-red-500: #cf3535;
50
+ --palda-red-600: #ba3030;
51
+ --palda-red-700: #a53823;
52
+ --palda-red-800: #7a2f20;
53
+ --palda-red-900: #661c1c;
54
+ --palda-red-950: #620f0f;
55
+ --palda-purple-50: #f3f3ff;
56
+ --palda-purple-100: #ebebfe;
57
+ --palda-purple-200: #b3b4fc;
58
+ --palda-purple-300: #8f90f9;
59
+ --palda-purple-400: #7677fa;
60
+ --palda-purple-500: #6466fa;
61
+ --palda-purple-600: #4345e5;
62
+ --palda-purple-700: #0003bd;
63
+ --palda-purple-800: #171898;
64
+ --palda-purple-900: #04057a;
65
+ --palda-purple-950: #000162;
66
+ --palda-alpha-black-5: rgba(0, 0, 0, 0.05);
67
+ --palda-alpha-black-10: rgba(0, 0, 0, 0.1);
68
+ --palda-alpha-black-30: rgba(0, 0, 0, 0.3);
69
+ --palda-alpha-black-70: rgba(0, 0, 0, 0.7);
70
+ --palda-alpha-black-90: rgba(0, 0, 0, 0.9);
71
+ --palda-alpha-white-10: rgba(255, 255, 255, 0.1);
72
+ --palda-alpha-white-30: rgba(255, 255, 255, 0.3);
73
+ --palda-alpha-white-50: rgba(255, 255, 255, 0.5);
74
+ --palda-alpha-white-70: rgba(255, 255, 255, 0.7);
75
+ --palda-alpha-white-90: rgba(255, 255, 255, 0.9);
76
+ --palda-radius-sm: 6px;
77
+ --palda-radius-md: 10px;
78
+ --palda-radius-lg: 16px;
79
+ --palda-radius-full: 9999px;
80
+ --palda-space-1: 4px;
81
+ --palda-space-2: 8px;
82
+ --palda-space-3: 12px;
83
+ --palda-space-4: 16px;
84
+ --palda-space-6: 24px;
85
+ --palda-space-8: 32px;
86
+ --palda-space-12: 48px;
87
+ --palda-space-32: 128px;
88
+ --palda-font-family-base: Pretendard;
89
+ --palda-font-size-2xs: 10px;
90
+ --palda-font-size-xs: 12px;
91
+ --palda-font-size-sm: 14px;
92
+ --palda-font-size-md: 16px;
93
+ --palda-font-size-lg: 20px;
94
+ --palda-font-size-xl: 24px;
95
+ --palda-font-size-2xl: 32px;
96
+ --palda-font-weight-medium: 500;
97
+ --palda-font-weight-semibold: 600;
98
+ --palda-font-weight-bold: 700;
99
+ --palda-line-height-100: 1;
100
+ --palda-line-height-120: 1.2;
101
+ --palda-line-height-130: 1.3;
102
+ --palda-line-height-140: 1.4;
103
+ --palda-letter-spacing-none: 0;
104
+ --palda-letter-spacing-snug: -0.005em; /** Figma -0.5% */
105
+ --palda-letter-spacing-tight: -0.01em; /** Figma -1% */
106
+ --palda-layout-sidebar-width: 220px;
107
+ --palda-layout-popup-width: 350px;
108
+ --palda-layout-content-width: 1220px;
109
+ --palda-layout-breakpoint-desktop: 1440px;
110
+ --palda-layout-breakpoint-mobile: 768px;
111
+ --palda-duration-fast: 120ms;
112
+ --palda-duration-normal: 180ms;
113
+ --palda-easing-standard: cubic-bezier(0.2, 0, 0, 1);
114
+ --palda-color-primary-default: var(--palda-gray-900);
115
+ --palda-color-primary-hover-pressed: var(--palda-gray-800);
116
+ --palda-color-primary-subtle: var(--palda-gray-00);
117
+ --palda-color-accent-default: var(--palda-purple-500);
118
+ --palda-color-accent-hover-pressed: var(--palda-purple-400);
119
+ --palda-color-accent-subtle: var(--palda-purple-50);
120
+ --palda-color-secondary-default: var(--palda-orange-600);
121
+ --palda-color-secondary-hover-pressed: var(--palda-orange-500);
122
+ --palda-color-secondary-subtle: var(--palda-orange-100);
123
+ --palda-color-danger-default: var(--palda-red-400);
124
+ --palda-color-danger-hover-pressed: var(--palda-red-500);
125
+ --palda-color-danger-subtle: var(--palda-red-50);
126
+ --palda-color-success-default: var(--palda-green-700);
127
+ --palda-color-success-subtle: var(--palda-green-50);
128
+ --palda-color-warning-default: var(--palda-orange-700);
129
+ --palda-color-warning-subtle: var(--palda-orange-50);
130
+ --palda-color-surface-base: var(--palda-gray-00);
131
+ --palda-color-surface-raised: var(--palda-gray-50);
132
+ --palda-color-surface-sunken: var(--palda-gray-100);
133
+ --palda-color-text-primary: var(--palda-gray-900);
134
+ --palda-color-text-primary-sub: var(--palda-gray-500);
135
+ --palda-color-text-accent: var(--palda-purple-600);
136
+ --palda-color-text-secondary: var(--palda-orange-500);
137
+ --palda-color-text-danger: var(--palda-red-500);
138
+ --palda-color-text-success: var(--palda-green-800);
139
+ --palda-color-text-warning: var(--palda-orange-800);
140
+ --palda-color-text-disabled: var(--palda-alpha-black-30);
141
+ --palda-color-text-on-primary: var(--palda-gray-00);
142
+ --palda-color-text-on-accent: var(--palda-gray-00);
143
+ --palda-color-text-on-secondary: var(--palda-orange-50);
144
+ --palda-color-text-on-danger: var(--palda-gray-00);
145
+ --palda-color-text-on-disabled: var(--palda-alpha-white-50);
146
+ --palda-color-border-default: var(--palda-gray-100);
147
+ --palda-color-border-strong: var(--palda-gray-200);
148
+ --palda-color-border-accent: var(--palda-purple-600);
149
+ --palda-color-border-secondary: var(--palda-orange-500);
150
+ --palda-color-border-danger: var(--palda-red-400);
151
+ --palda-color-border-focus: var(--palda-purple-600);
152
+ --palda-color-state-hover-pressed: var(--palda-alpha-black-5);
153
+ --palda-color-state-pressed: var(--palda-alpha-black-30);
154
+ --palda-color-state-disabled: var(--palda-alpha-black-10);
155
+ --palda-color-state-on-disabled: var(--palda-alpha-white-50);
156
+ --palda-color-overlay-dim: var(--palda-alpha-black-70);
157
+ --palda-color-overlay-glass: var(--palda-alpha-white-50);
158
+ --palda-layout-inset: var(--palda-space-12);
159
+ --palda-layout-page-margin: var(--palda-space-32);
160
+ --palda-radius-control-sm: var(--palda-radius-sm);
161
+ --palda-radius-control: var(--palda-radius-md);
162
+ --palda-radius-container: var(--palda-radius-lg);
163
+ --palda-radius-pill: var(--palda-radius-full);
164
+ --palda-shadow-100: 0px 0px 6px 0px var(--palda-alpha-black-5);
165
+ --palda-space-inset-sm: var(--palda-space-2);
166
+ --palda-space-inset-md: var(--palda-space-4);
167
+ --palda-space-inset-lg: var(--palda-space-6);
168
+ --palda-space-gap-xs: var(--palda-space-1);
169
+ --palda-space-gap-sm: var(--palda-space-2);
170
+ --palda-space-gap-md: var(--palda-space-3);
171
+ --palda-space-gap-lg: var(--palda-space-4);
172
+ --palda-space-gap-xl: var(--palda-space-6);
173
+ }
174
+
175
+ /**
176
+ * Do not edit directly, this file was auto-generated.
177
+ */
178
+
179
+ /* Figma: Display */
180
+ .palda-text-display {
181
+ font-family: var(--palda-font-family-base);
182
+ font-size: var(--palda-font-size-2xl);
183
+ font-weight: var(--palda-font-weight-bold);
184
+ line-height: var(--palda-line-height-120);
185
+ letter-spacing: var(--palda-letter-spacing-tight);
186
+ }
187
+
188
+ /* Figma: Headline */
189
+ .palda-text-headline {
190
+ font-family: var(--palda-font-family-base);
191
+ font-size: var(--palda-font-size-xl);
192
+ font-weight: var(--palda-font-weight-bold);
193
+ line-height: var(--palda-line-height-120);
194
+ letter-spacing: var(--palda-letter-spacing-tight);
195
+ }
196
+
197
+ /* Figma: Title */
198
+ .palda-text-title {
199
+ font-family: var(--palda-font-family-base);
200
+ font-size: var(--palda-font-size-lg);
201
+ font-weight: var(--palda-font-weight-bold);
202
+ line-height: var(--palda-line-height-140);
203
+ letter-spacing: var(--palda-letter-spacing-snug);
204
+ }
205
+
206
+ /* Figma: Body1/Regular - Semibold */
207
+ .palda-text-body1-regular-semibold {
208
+ font-family: var(--palda-font-family-base);
209
+ font-size: var(--palda-font-size-md);
210
+ font-weight: var(--palda-font-weight-semibold);
211
+ line-height: var(--palda-line-height-100);
212
+ letter-spacing: var(--palda-letter-spacing-tight);
213
+ }
214
+
215
+ /* Figma: Body1/Regular - Medium */
216
+ .palda-text-body1-regular-medium {
217
+ font-family: var(--palda-font-family-base);
218
+ font-size: var(--palda-font-size-md);
219
+ font-weight: var(--palda-font-weight-medium);
220
+ line-height: var(--palda-line-height-100);
221
+ letter-spacing: var(--palda-letter-spacing-tight);
222
+ }
223
+
224
+ /* Figma: Body1/Reading - Semibold */
225
+ .palda-text-body1-reading-semibold {
226
+ font-family: var(--palda-font-family-base);
227
+ font-size: var(--palda-font-size-md);
228
+ font-weight: var(--palda-font-weight-semibold);
229
+ line-height: var(--palda-line-height-140);
230
+ letter-spacing: var(--palda-letter-spacing-tight);
231
+ }
232
+
233
+ /* Figma: Body1/Reading - Medium */
234
+ .palda-text-body1-reading-medium {
235
+ font-family: var(--palda-font-family-base);
236
+ font-size: var(--palda-font-size-md);
237
+ font-weight: var(--palda-font-weight-medium);
238
+ line-height: var(--palda-line-height-140);
239
+ letter-spacing: var(--palda-letter-spacing-tight);
240
+ }
241
+
242
+ /* Figma: Body2/Regular - Semibold */
243
+ .palda-text-body2-regular-semibold {
244
+ font-family: var(--palda-font-family-base);
245
+ font-size: var(--palda-font-size-sm);
246
+ font-weight: var(--palda-font-weight-semibold);
247
+ line-height: var(--palda-line-height-100);
248
+ letter-spacing: var(--palda-letter-spacing-tight);
249
+ }
250
+
251
+ /* Figma: Body2/Regular - Medium */
252
+ .palda-text-body2-regular-medium {
253
+ font-family: var(--palda-font-family-base);
254
+ font-size: var(--palda-font-size-sm);
255
+ font-weight: var(--palda-font-weight-medium);
256
+ line-height: var(--palda-line-height-100);
257
+ letter-spacing: var(--palda-letter-spacing-tight);
258
+ }
259
+
260
+ /* Figma: Body2/Reading - Semibold */
261
+ .palda-text-body2-reading-semibold {
262
+ font-family: var(--palda-font-family-base);
263
+ font-size: var(--palda-font-size-sm);
264
+ font-weight: var(--palda-font-weight-semibold);
265
+ line-height: var(--palda-line-height-140);
266
+ letter-spacing: var(--palda-letter-spacing-tight);
267
+ }
268
+
269
+ /* Figma: Body2/Reading - Medium */
270
+ .palda-text-body2-reading-medium {
271
+ font-family: var(--palda-font-family-base);
272
+ font-size: var(--palda-font-size-sm);
273
+ font-weight: var(--palda-font-weight-medium);
274
+ line-height: var(--palda-line-height-140);
275
+ letter-spacing: var(--palda-letter-spacing-tight);
276
+ }
277
+
278
+ /* Figma: Label/Regular - Semibold */
279
+ .palda-text-label-regular-semibold {
280
+ font-family: var(--palda-font-family-base);
281
+ font-size: var(--palda-font-size-xs);
282
+ font-weight: var(--palda-font-weight-semibold);
283
+ line-height: var(--palda-line-height-100);
284
+ letter-spacing: var(--palda-letter-spacing-none);
285
+ }
286
+
287
+ /* Figma: Label/Reading - Semibold */
288
+ .palda-text-label-reading-semibold {
289
+ font-family: var(--palda-font-family-base);
290
+ font-size: var(--palda-font-size-xs);
291
+ font-weight: var(--palda-font-weight-semibold);
292
+ line-height: var(--palda-line-height-140);
293
+ letter-spacing: var(--palda-letter-spacing-none);
294
+ }
295
+
296
+ /* Figma: Label/Reading - Medium */
297
+ .palda-text-label-reading-medium {
298
+ font-family: var(--palda-font-family-base);
299
+ font-size: var(--palda-font-size-xs);
300
+ font-weight: var(--palda-font-weight-medium);
301
+ line-height: var(--palda-line-height-140);
302
+ letter-spacing: var(--palda-letter-spacing-none);
303
+ }
304
+
305
+ /* Figma: Caption/Regular - Semibold */
306
+ .palda-text-caption-regular-semibold {
307
+ font-family: var(--palda-font-family-base);
308
+ font-size: var(--palda-font-size-2xs);
309
+ font-weight: var(--palda-font-weight-semibold);
310
+ line-height: var(--palda-line-height-130);
311
+ letter-spacing: var(--palda-letter-spacing-none);
312
+ }
313
+
314
+ /* Figma: Caption/Regular - Medium */
315
+ .palda-text-caption-regular-medium {
316
+ font-family: var(--palda-font-family-base);
317
+ font-size: var(--palda-font-size-2xs);
318
+ font-weight: var(--palda-font-weight-medium);
319
+ line-height: var(--palda-line-height-130);
320
+ letter-spacing: var(--palda-letter-spacing-none);
321
+ }
322
+
323
+ /* src/Alert/Alert.css */
324
+ .palda-alert {
325
+ align-items: flex-start;
326
+ background: var(--palda-alert-background);
327
+ border-radius: var(--palda-radius-container);
328
+ box-sizing: border-box;
329
+ display: flex;
330
+ gap: var(--palda-space-gap-md);
331
+ padding: var(--palda-space-inset-md);
332
+ width: 100%;
333
+ }
334
+ .palda-alert__icon {
335
+ align-items: center;
336
+ color: var(--palda-alert-icon-color);
337
+ display: inline-flex;
338
+ flex-shrink: 0;
339
+ font-size: 20px;
340
+ height: 20px;
341
+ justify-content: center;
342
+ width: 20px;
343
+ }
344
+ .palda-alert__content {
345
+ display: flex;
346
+ flex-direction: column;
347
+ gap: var(--palda-space-gap-xs);
348
+ min-width: 0;
349
+ }
350
+ .palda-alert__title {
351
+ color: var(--palda-alert-title-color);
352
+ margin: 0;
353
+ }
354
+ .palda-alert__body {
355
+ color: var(--palda-color-text-primary);
356
+ }
357
+ .palda-alert__action {
358
+ display: flex;
359
+ flex-wrap: wrap;
360
+ gap: var(--palda-space-gap-sm);
361
+ margin-top: var(--palda-space-gap-xs);
362
+ }
363
+ .palda-alert--neutral {
364
+ --palda-alert-background: var(--palda-color-state-hover-pressed);
365
+ --palda-alert-icon-color: var(--palda-color-primary-default);
366
+ --palda-alert-title-color: var(--palda-color-text-primary);
367
+ }
368
+ .palda-alert--accent {
369
+ --palda-alert-background: var(--palda-color-accent-subtle);
370
+ --palda-alert-icon-color: var(--palda-color-accent-default);
371
+ --palda-alert-title-color: var(--palda-color-text-accent);
372
+ }
373
+ .palda-alert--warning {
374
+ --palda-alert-background: var(--palda-color-warning-subtle);
375
+ --palda-alert-icon-color: var(--palda-color-warning-default);
376
+ --palda-alert-title-color: var(--palda-color-text-warning);
377
+ }
378
+ .palda-alert--danger {
379
+ --palda-alert-background: var(--palda-color-danger-subtle);
380
+ --palda-alert-icon-color: var(--palda-color-danger-default);
381
+ --palda-alert-title-color: var(--palda-color-text-danger);
382
+ }
383
+
384
+ /* src/Badge/Badge.css */
385
+ .palda-badge {
386
+ align-items: center;
387
+ background: var(--palda-badge-background);
388
+ border-radius: var(--palda-badge-radius);
389
+ box-sizing: border-box;
390
+ color: var(--palda-badge-text-color);
391
+ display: inline-flex;
392
+ gap: var(--palda-space-gap-xs);
393
+ justify-content: center;
394
+ padding: var(--palda-space-inset-sm);
395
+ text-align: center;
396
+ }
397
+ .palda-badge__icon {
398
+ align-items: center;
399
+ color: var(--palda-badge-icon-color);
400
+ display: inline-flex;
401
+ flex-shrink: 0;
402
+ font-size: 16px;
403
+ height: 16px;
404
+ justify-content: center;
405
+ width: 16px;
406
+ }
407
+ .palda-badge--md {
408
+ --palda-badge-radius: var(--palda-radius-control);
409
+ height: 28px;
410
+ }
411
+ .palda-badge--sm {
412
+ --palda-badge-radius: var(--palda-radius-control-sm);
413
+ height: 20px;
414
+ }
415
+ .palda-badge--primary {
416
+ --palda-badge-background: var(--palda-color-state-hover-pressed);
417
+ --palda-badge-icon-color: var(--palda-color-primary-default);
418
+ --palda-badge-text-color: var(--palda-color-text-primary);
419
+ }
420
+ .palda-badge--accent {
421
+ --palda-badge-background: var(--palda-color-accent-subtle);
422
+ --palda-badge-icon-color: var(--palda-color-accent-default);
423
+ --palda-badge-text-color: var(--palda-color-text-accent);
424
+ }
425
+ .palda-badge--secondary {
426
+ --palda-badge-background: var(--palda-color-secondary-subtle);
427
+ --palda-badge-icon-color: var(--palda-color-secondary-default);
428
+ --palda-badge-text-color: var(--palda-color-text-secondary);
429
+ }
430
+ .palda-badge--success {
431
+ --palda-badge-background: var(--palda-color-success-subtle);
432
+ --palda-badge-icon-color: var(--palda-color-success-default);
433
+ --palda-badge-text-color: var(--palda-color-text-success);
434
+ }
435
+ .palda-badge--warning {
436
+ --palda-badge-background: var(--palda-color-warning-subtle);
437
+ --palda-badge-icon-color: var(--palda-color-warning-default);
438
+ --palda-badge-text-color: var(--palda-color-text-warning);
439
+ }
440
+ .palda-badge--danger {
441
+ --palda-badge-background: var(--palda-color-danger-subtle);
442
+ --palda-badge-icon-color: var(--palda-color-danger-default);
443
+ --palda-badge-text-color: var(--palda-color-text-danger);
444
+ }
445
+
446
+ /* src/Button/Button.css */
447
+ .palda-button {
448
+ align-items: center;
449
+ border: 1px solid transparent;
450
+ border-radius: var(--palda-button-radius);
451
+ box-sizing: border-box;
452
+ cursor: pointer;
453
+ display: inline-flex;
454
+ gap: var(--palda-space-gap-xs);
455
+ height: var(--palda-button-height);
456
+ justify-content: center;
457
+ padding-block: var(--palda-space-2);
458
+ padding-inline: var(--palda-button-padding-inline);
459
+ text-align: center;
460
+ transition:
461
+ background-color var(--palda-duration-fast) var(--palda-easing-standard),
462
+ border-color var(--palda-duration-fast) var(--palda-easing-standard),
463
+ color var(--palda-duration-fast) var(--palda-easing-standard);
464
+ white-space: nowrap;
465
+ }
466
+ .palda-button:focus-visible {
467
+ outline: 1px solid var(--palda-color-border-focus);
468
+ outline-offset: var(--palda-space-1);
469
+ }
470
+ .palda-button:disabled {
471
+ --palda-button-icon-color: var(--palda-color-state-disabled);
472
+ cursor: not-allowed;
473
+ }
474
+ .palda-button__icon {
475
+ align-items: center;
476
+ color: var(--palda-button-icon-color);
477
+ display: inline-flex;
478
+ flex-shrink: 0;
479
+ font-size: 16px;
480
+ height: 16px;
481
+ justify-content: center;
482
+ width: 16px;
483
+ }
484
+ .palda-button--md {
485
+ --palda-button-height: 36px;
486
+ --palda-button-padding-inline: var(--palda-space-4);
487
+ --palda-button-radius: var(--palda-radius-control);
488
+ }
489
+ .palda-button--sm {
490
+ --palda-button-height: 24px;
491
+ --palda-button-padding-inline: var(--palda-space-3);
492
+ --palda-button-radius: var(--palda-radius-control-sm);
493
+ }
494
+ .palda-button--primary {
495
+ --palda-button-icon-color: var(--palda-color-primary-subtle);
496
+ background: var(--palda-color-primary-default);
497
+ color: var(--palda-color-text-on-primary);
498
+ }
499
+ .palda-button--primary:not(:disabled):is(:hover, :active) {
500
+ background: var(--palda-color-primary-hover-pressed);
501
+ }
502
+ .palda-button--primary:disabled {
503
+ --palda-button-icon-color: var(--palda-color-state-on-disabled);
504
+ background: var(--palda-color-primary-hover-pressed);
505
+ color: var(--palda-color-text-on-disabled);
506
+ }
507
+ .palda-button--outline {
508
+ --palda-button-icon-color: var(--palda-color-primary-default);
509
+ background: var(--palda-color-primary-subtle);
510
+ border-color: var(--palda-color-border-default);
511
+ color: var(--palda-color-text-primary);
512
+ }
513
+ .palda-button--outline:not(:disabled):is(:hover, :active) {
514
+ border-color: var(--palda-color-border-strong);
515
+ }
516
+ .palda-button--outline:disabled {
517
+ color: var(--palda-color-text-disabled);
518
+ }
519
+ .palda-button--accent {
520
+ --palda-button-icon-color: var(--palda-color-primary-subtle);
521
+ background: var(--palda-color-accent-default);
522
+ color: var(--palda-color-text-on-accent);
523
+ }
524
+ .palda-button--accent:not(:disabled):is(:hover, :active) {
525
+ background: var(--palda-color-accent-hover-pressed);
526
+ }
527
+ .palda-button--accent:disabled {
528
+ background: var(--palda-color-accent-subtle);
529
+ color: var(--palda-color-text-disabled);
530
+ }
531
+ .palda-button--secondary {
532
+ --palda-button-icon-color: var(--palda-color-primary-subtle);
533
+ background: var(--palda-color-secondary-default);
534
+ color: var(--palda-color-text-on-primary);
535
+ }
536
+ .palda-button--secondary:not(:disabled):is(:hover, :active) {
537
+ background: var(--palda-color-secondary-hover-pressed);
538
+ }
539
+ .palda-button--secondary:disabled {
540
+ background: var(--palda-color-secondary-subtle);
541
+ color: var(--palda-color-text-disabled);
542
+ }
543
+ .palda-button--subtle {
544
+ --palda-button-icon-color: var(--palda-color-primary-default);
545
+ background: transparent;
546
+ color: var(--palda-color-text-primary);
547
+ }
548
+ .palda-button--subtle:not(:disabled):is(:hover, :active) {
549
+ background: var(--palda-color-state-hover-pressed);
550
+ }
551
+ .palda-button--subtle:disabled {
552
+ color: var(--palda-color-text-disabled);
553
+ }
554
+ @media (prefers-reduced-motion: reduce) {
555
+ .palda-button {
556
+ transition: none;
557
+ }
558
+ }
559
+
560
+ /* src/Checkbox/Checkbox.css */
561
+ .palda-checkbox {
562
+ align-items: center;
563
+ cursor: pointer;
564
+ display: inline-flex;
565
+ gap: var(--palda-space-gap-sm);
566
+ }
567
+ .palda-checkbox--disabled {
568
+ cursor: not-allowed;
569
+ }
570
+ .palda-checkbox__input {
571
+ block-size: 1px;
572
+ clip-path: inset(50%);
573
+ inline-size: 1px;
574
+ margin: 0;
575
+ overflow: hidden;
576
+ position: absolute;
577
+ white-space: nowrap;
578
+ }
579
+ .palda-checkbox__control {
580
+ align-items: center;
581
+ background: var(--palda-color-primary-subtle);
582
+ block-size: 20px;
583
+ border: 1.5px solid var(--palda-color-border-strong);
584
+ border-radius: var(--palda-radius-control-sm);
585
+ box-sizing: border-box;
586
+ color: var(--palda-color-primary-subtle);
587
+ display: inline-flex;
588
+ flex: none;
589
+ inline-size: 20px;
590
+ justify-content: center;
591
+ position: relative;
592
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), border-color var(--palda-duration-fast) var(--palda-easing-standard);
593
+ }
594
+ .palda-checkbox__check {
595
+ block-size: 20px;
596
+ inline-size: 20px;
597
+ left: 50%;
598
+ position: absolute;
599
+ top: 50%;
600
+ transform: translate(-50%, -50%);
601
+ }
602
+ .palda-checkbox__input:not(:checked) + .palda-checkbox__control .palda-checkbox__check {
603
+ display: none;
604
+ }
605
+ .palda-checkbox__label {
606
+ color: var(--palda-color-text-primary);
607
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
608
+ }
609
+ .palda-checkbox__input:focus-visible + .palda-checkbox__control {
610
+ outline: 1px solid var(--palda-color-border-focus);
611
+ outline-offset: var(--palda-space-1);
612
+ }
613
+ .palda-checkbox__input:checked + .palda-checkbox__control {
614
+ background: var(--palda-color-accent-default);
615
+ border-color: var(--palda-color-accent-default);
616
+ }
617
+ .palda-checkbox__input:disabled + .palda-checkbox__control {
618
+ border-color: var(--palda-color-state-disabled);
619
+ }
620
+ .palda-checkbox__input:disabled:checked + .palda-checkbox__control {
621
+ background: var(--palda-color-state-disabled);
622
+ border-color: transparent;
623
+ }
624
+ .palda-checkbox__input:disabled ~ .palda-checkbox__label {
625
+ color: var(--palda-color-text-disabled);
626
+ }
627
+ @media (prefers-reduced-motion: reduce) {
628
+ .palda-checkbox__control,
629
+ .palda-checkbox__label {
630
+ transition: none;
631
+ }
632
+ }
633
+
634
+ /* src/Chip/Chip.css */
635
+ .palda-chip {
636
+ align-items: center;
637
+ background: var(--palda-chip-background);
638
+ border: 0;
639
+ border-radius: var(--palda-chip-radius);
640
+ box-shadow: inset 0 0 0 1px var(--palda-chip-border-color, transparent);
641
+ box-sizing: border-box;
642
+ color: var(--palda-chip-text-color);
643
+ cursor: pointer;
644
+ display: inline-flex;
645
+ gap: var(--palda-space-gap-xs);
646
+ justify-content: center;
647
+ padding: var(--palda-space-inset-sm);
648
+ text-align: center;
649
+ transition:
650
+ background-color var(--palda-duration-fast) var(--palda-easing-standard),
651
+ box-shadow var(--palda-duration-fast) var(--palda-easing-standard),
652
+ color var(--palda-duration-fast) var(--palda-easing-standard);
653
+ white-space: nowrap;
654
+ }
655
+ .palda-chip__icon {
656
+ align-items: center;
657
+ color: var(--palda-chip-icon-color);
658
+ display: inline-flex;
659
+ flex-shrink: 0;
660
+ font-size: 16px;
661
+ height: 16px;
662
+ justify-content: center;
663
+ width: 16px;
664
+ }
665
+ .palda-chip--md {
666
+ --palda-chip-radius: var(--palda-radius-control);
667
+ height: 32px;
668
+ }
669
+ .palda-chip--sm {
670
+ --palda-chip-radius: var(--palda-radius-control-sm);
671
+ height: 24px;
672
+ }
673
+ .palda-chip--primary {
674
+ --palda-chip-background: var(--palda-color-state-hover-pressed);
675
+ --palda-chip-icon-color: var(--palda-color-primary-default);
676
+ --palda-chip-text-color: var(--palda-color-text-primary);
677
+ }
678
+ .palda-chip--primary:not(:disabled, .palda-chip--selected):is(:hover, :active) {
679
+ --palda-chip-border-color: var(--palda-color-border-strong);
680
+ }
681
+ .palda-chip--primary.palda-chip--selected {
682
+ --palda-chip-background: var(--palda-color-primary-default);
683
+ --palda-chip-icon-color: var(--palda-color-primary-subtle);
684
+ --palda-chip-text-color: var(--palda-color-text-on-primary);
685
+ }
686
+ .palda-chip--accent {
687
+ --palda-chip-background: var(--palda-color-accent-subtle);
688
+ --palda-chip-icon-color: var(--palda-color-accent-default);
689
+ --palda-chip-text-color: var(--palda-color-text-accent);
690
+ }
691
+ .palda-chip--accent:not(:disabled, .palda-chip--selected):is(:hover, :active) {
692
+ --palda-chip-border-color: var(--palda-color-border-accent);
693
+ }
694
+ .palda-chip--accent.palda-chip--selected {
695
+ --palda-chip-background: var(--palda-color-accent-default);
696
+ --palda-chip-icon-color: var(--palda-color-primary-subtle);
697
+ --palda-chip-text-color: var(--palda-color-text-on-accent);
698
+ }
699
+ .palda-chip--secondary {
700
+ --palda-chip-background: var(--palda-color-secondary-subtle);
701
+ --palda-chip-icon-color: var(--palda-color-secondary-default);
702
+ --palda-chip-text-color: var(--palda-color-text-secondary);
703
+ }
704
+ .palda-chip--secondary:not(:disabled, .palda-chip--selected):is(:hover, :active) {
705
+ --palda-chip-border-color: var(--palda-color-border-secondary);
706
+ }
707
+ .palda-chip--secondary.palda-chip--selected {
708
+ --palda-chip-background: var(--palda-color-secondary-default);
709
+ --palda-chip-icon-color: var(--palda-color-primary-subtle);
710
+ --palda-chip-text-color: var(--palda-color-text-on-primary);
711
+ }
712
+ .palda-chip:disabled {
713
+ --palda-chip-background: var(--palda-color-surface-base);
714
+ --palda-chip-border-color: transparent;
715
+ --palda-chip-icon-color: var(--palda-color-state-disabled);
716
+ --palda-chip-text-color: var(--palda-color-text-disabled);
717
+ cursor: not-allowed;
718
+ }
719
+ .palda-chip:focus-visible {
720
+ outline: 1px solid var(--palda-color-border-focus);
721
+ outline-offset: var(--palda-space-1);
722
+ }
723
+ @media (prefers-reduced-motion: reduce) {
724
+ .palda-chip {
725
+ transition: none;
726
+ }
727
+ }
728
+
729
+ /* src/DropdownButton/DropdownButton.css */
730
+ .palda-dropdown-button {
731
+ display: inline-flex;
732
+ max-width: 100%;
733
+ position: relative;
734
+ }
735
+ .palda-dropdown-button__trigger {
736
+ align-items: center;
737
+ background: var(--palda-color-primary-subtle);
738
+ border: 1px solid transparent;
739
+ border-radius: var(--palda-radius-control);
740
+ box-sizing: border-box;
741
+ color: var(--palda-color-text-primary);
742
+ cursor: pointer;
743
+ display: inline-flex;
744
+ flex: 1 1 auto;
745
+ gap: var(--palda-space-gap-sm);
746
+ height: 36px;
747
+ justify-content: space-between;
748
+ min-width: 0;
749
+ padding-block: var(--palda-space-inset-sm);
750
+ padding-inline: var(--palda-space-4);
751
+ transition:
752
+ border-color var(--palda-duration-fast) var(--palda-easing-standard),
753
+ box-shadow var(--palda-duration-fast) var(--palda-easing-standard),
754
+ color var(--palda-duration-fast) var(--palda-easing-standard);
755
+ }
756
+ .palda-dropdown-button__trigger:focus-visible {
757
+ outline: 1px solid var(--palda-color-border-focus);
758
+ outline-offset: var(--palda-space-1);
759
+ }
760
+ .palda-dropdown-button__label {
761
+ min-width: 0;
762
+ overflow: hidden;
763
+ text-overflow: ellipsis;
764
+ white-space: nowrap;
765
+ }
766
+ .palda-dropdown-button__icon {
767
+ align-items: center;
768
+ color: var(--palda-dropdown-button-icon-color, var(--palda-color-primary-default));
769
+ display: inline-flex;
770
+ flex-shrink: 0;
771
+ font-size: 16px;
772
+ height: 16px;
773
+ justify-content: center;
774
+ transition: transform var(--palda-duration-fast) var(--palda-easing-standard);
775
+ width: 16px;
776
+ }
777
+ .palda-dropdown-button--outline .palda-dropdown-button__trigger {
778
+ border-color: var(--palda-color-border-default);
779
+ }
780
+ .palda-dropdown-button--outline .palda-dropdown-button__trigger:not(:disabled):is(:hover, :active) {
781
+ border-color: var(--palda-color-border-strong);
782
+ }
783
+ .palda-dropdown-button--open.palda-dropdown-button--outline .palda-dropdown-button__trigger {
784
+ border-color: var(--palda-color-border-strong);
785
+ }
786
+ .palda-dropdown-button--open .palda-dropdown-button__trigger {
787
+ box-shadow: 0 0 4px rgb(0 0 0 / 10%);
788
+ }
789
+ .palda-dropdown-button--open .palda-dropdown-button__icon {
790
+ transform: rotate(180deg);
791
+ }
792
+ .palda-dropdown-button__trigger:disabled {
793
+ --palda-dropdown-button-icon-color: var(--palda-color-state-disabled);
794
+ color: var(--palda-color-text-disabled);
795
+ cursor: not-allowed;
796
+ }
797
+ .palda-dropdown-button__menu {
798
+ background: var(--palda-color-surface-raised);
799
+ border: 1px solid var(--palda-color-border-default);
800
+ border-radius: var(--palda-radius-container);
801
+ box-shadow: var(--palda-shadow-100);
802
+ box-sizing: border-box;
803
+ display: flex;
804
+ flex-direction: column;
805
+ gap: var(--palda-space-gap-xs);
806
+ inset-block-start: 100%;
807
+ margin-block-start: var(--palda-space-gap-xs);
808
+ min-width: 100%;
809
+ padding: var(--palda-space-inset-sm);
810
+ position: absolute;
811
+ z-index: 1;
812
+ }
813
+ .palda-dropdown-button--start .palda-dropdown-button__menu {
814
+ inset-inline-start: 0;
815
+ }
816
+ .palda-dropdown-button--end .palda-dropdown-button__menu {
817
+ inset-inline-end: 0;
818
+ }
819
+ .palda-dropdown-button__item {
820
+ align-items: center;
821
+ background: transparent;
822
+ border: 1px solid transparent;
823
+ border-radius: var(--palda-radius-control);
824
+ box-sizing: border-box;
825
+ color: var(--palda-color-text-primary);
826
+ cursor: pointer;
827
+ display: flex;
828
+ gap: var(--palda-space-gap-xs);
829
+ height: 36px;
830
+ padding-inline: var(--palda-space-3);
831
+ text-align: start;
832
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), color var(--palda-duration-fast) var(--palda-easing-standard);
833
+ white-space: nowrap;
834
+ }
835
+ .palda-dropdown-button__item:not(:disabled):is(:hover, :active) {
836
+ background: var(--palda-color-state-hover-pressed);
837
+ }
838
+ .palda-dropdown-button__item:focus-visible {
839
+ outline: 1px solid var(--palda-color-border-focus);
840
+ outline-offset: -1px;
841
+ }
842
+ .palda-dropdown-button__item:disabled {
843
+ --palda-dropdown-button-item-icon-color: var(--palda-color-state-disabled);
844
+ color: var(--palda-color-text-disabled);
845
+ cursor: not-allowed;
846
+ }
847
+ .palda-dropdown-button__item-icon {
848
+ align-items: center;
849
+ color: var(--palda-dropdown-button-item-icon-color, var(--palda-color-primary-default));
850
+ display: inline-flex;
851
+ flex-shrink: 0;
852
+ font-size: 16px;
853
+ height: 16px;
854
+ justify-content: center;
855
+ width: 16px;
856
+ }
857
+ @media (prefers-reduced-motion: reduce) {
858
+ .palda-dropdown-button__icon,
859
+ .palda-dropdown-button__item,
860
+ .palda-dropdown-button__trigger {
861
+ transition: none;
862
+ }
863
+ }
864
+
865
+ /* src/IconButton/IconButton.css */
866
+ .palda-icon-button {
867
+ align-items: center;
868
+ background: var(--palda-icon-button-background, transparent);
869
+ border: 1px solid var(--palda-icon-button-border-color, transparent);
870
+ border-radius: var(--palda-icon-button-radius);
871
+ box-sizing: border-box;
872
+ color: var(--palda-icon-button-icon-color);
873
+ cursor: pointer;
874
+ display: inline-flex;
875
+ height: var(--palda-icon-button-size);
876
+ justify-content: center;
877
+ padding: var(--palda-space-inset-sm);
878
+ transition:
879
+ background-color var(--palda-duration-fast) var(--palda-easing-standard),
880
+ border-color var(--palda-duration-fast) var(--palda-easing-standard),
881
+ color var(--palda-duration-fast) var(--palda-easing-standard);
882
+ width: var(--palda-icon-button-size);
883
+ }
884
+ .palda-icon-button:focus-visible {
885
+ outline: 1px solid var(--palda-color-border-focus);
886
+ outline-offset: var(--palda-space-1);
887
+ }
888
+ .palda-icon-button:disabled {
889
+ --palda-icon-button-icon-color: var(--palda-color-state-disabled);
890
+ cursor: not-allowed;
891
+ }
892
+ .palda-icon-button__icon {
893
+ align-items: center;
894
+ display: inline-flex;
895
+ flex-shrink: 0;
896
+ font-size: 16px;
897
+ height: 16px;
898
+ justify-content: center;
899
+ width: 16px;
900
+ }
901
+ .palda-icon-button--md {
902
+ --palda-icon-button-radius: var(--palda-radius-control);
903
+ --palda-icon-button-size: 32px;
904
+ }
905
+ .palda-icon-button--sm {
906
+ --palda-icon-button-radius: var(--palda-radius-control-sm);
907
+ --palda-icon-button-size: 24px;
908
+ }
909
+ .palda-icon-button--primary {
910
+ --palda-icon-button-background: var(--palda-color-primary-default);
911
+ --palda-icon-button-icon-color: var(--palda-color-primary-subtle);
912
+ }
913
+ .palda-icon-button--primary:not(:disabled):is(:hover, :active) {
914
+ --palda-icon-button-background: var(--palda-color-primary-hover-pressed);
915
+ }
916
+ .palda-icon-button--primary:disabled {
917
+ --palda-icon-button-background: var(--palda-color-primary-hover-pressed);
918
+ --palda-icon-button-icon-color: var(--palda-color-state-on-disabled);
919
+ }
920
+ .palda-icon-button--outline {
921
+ --palda-icon-button-background: var(--palda-color-primary-subtle);
922
+ --palda-icon-button-border-color: var(--palda-color-border-default);
923
+ --palda-icon-button-icon-color: var(--palda-color-primary-default);
924
+ }
925
+ .palda-icon-button--outline:not(:disabled):is(:hover, :active) {
926
+ --palda-icon-button-border-color: var(--palda-color-border-strong);
927
+ }
928
+ .palda-icon-button--outline:disabled {
929
+ --palda-icon-button-border-color: var(--palda-color-state-disabled);
930
+ }
931
+ .palda-icon-button--accent {
932
+ --palda-icon-button-background: var(--palda-color-accent-default);
933
+ --palda-icon-button-icon-color: var(--palda-color-primary-subtle);
934
+ }
935
+ .palda-icon-button--accent:not(:disabled):is(:hover, :active) {
936
+ --palda-icon-button-background: var(--palda-color-accent-hover-pressed);
937
+ }
938
+ .palda-icon-button--accent:disabled {
939
+ --palda-icon-button-background: var(--palda-color-accent-subtle);
940
+ }
941
+ .palda-icon-button--secondary {
942
+ --palda-icon-button-background: var(--palda-color-secondary-default);
943
+ --palda-icon-button-icon-color: var(--palda-color-primary-subtle);
944
+ }
945
+ .palda-icon-button--secondary:not(:disabled):is(:hover, :active) {
946
+ --palda-icon-button-background: var(--palda-color-secondary-hover-pressed);
947
+ }
948
+ .palda-icon-button--secondary:disabled {
949
+ --palda-icon-button-background: var(--palda-color-secondary-subtle);
950
+ }
951
+ .palda-icon-button--subtle {
952
+ --palda-icon-button-icon-color: var(--palda-color-primary-default);
953
+ }
954
+ .palda-icon-button--subtle:not(:disabled):is(:hover, :active) {
955
+ --palda-icon-button-background: var(--palda-color-state-hover-pressed);
956
+ }
957
+ @media (prefers-reduced-motion: reduce) {
958
+ .palda-icon-button {
959
+ transition: none;
960
+ }
961
+ }
962
+
963
+ /* src/Link/Link.css */
964
+ .palda-link {
965
+ color: var(--palda-link-color);
966
+ text-decoration: underline;
967
+ text-underline-offset: 3px;
968
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
969
+ }
970
+ .palda-link:hover {
971
+ color: var(--palda-link-hover-color);
972
+ }
973
+ .palda-link:focus-visible {
974
+ outline: 1px solid var(--palda-color-border-focus);
975
+ outline-offset: var(--palda-space-1);
976
+ border-radius: var(--palda-radius-control-sm);
977
+ }
978
+ .palda-link:visited {
979
+ color: var(--palda-color-text-primary-sub);
980
+ }
981
+ .palda-link--primary {
982
+ --palda-link-color: var(--palda-color-text-primary);
983
+ --palda-link-hover-color: var(--palda-color-primary-hover-pressed);
984
+ }
985
+ .palda-link--accent {
986
+ --palda-link-color: var(--palda-color-text-accent);
987
+ --palda-link-hover-color: var(--palda-color-accent-hover-pressed);
988
+ }
989
+ .palda-link__new-window {
990
+ block-size: 1px;
991
+ clip-path: inset(50%);
992
+ inline-size: 1px;
993
+ overflow: hidden;
994
+ position: absolute;
995
+ white-space: nowrap;
996
+ }
997
+ @media (prefers-reduced-motion: reduce) {
998
+ .palda-link {
999
+ transition: none;
1000
+ }
1001
+ }
1002
+
1003
+ /* src/Modal/Modal.css */
1004
+ .palda-modal__scrim {
1005
+ align-items: center;
1006
+ background: var(--palda-color-overlay-dim);
1007
+ display: flex;
1008
+ inset: 0;
1009
+ justify-content: center;
1010
+ padding: var(--palda-space-inset-md);
1011
+ position: fixed;
1012
+ z-index: 100;
1013
+ }
1014
+ .palda-modal {
1015
+ background: var(--palda-color-surface-base);
1016
+ border-radius: var(--palda-radius-container);
1017
+ box-shadow: var(--palda-shadow-100);
1018
+ box-sizing: border-box;
1019
+ color: var(--palda-color-text-primary);
1020
+ display: flex;
1021
+ flex-direction: column;
1022
+ gap: var(--palda-space-gap-lg);
1023
+ max-height: 100%;
1024
+ padding: var(--palda-space-inset-md);
1025
+ width: min(var(--palda-modal-width, 480px), 100%);
1026
+ }
1027
+ .palda-modal:focus-visible {
1028
+ outline: 1px solid var(--palda-color-border-focus);
1029
+ outline-offset: var(--palda-space-1);
1030
+ }
1031
+ .palda-modal__header {
1032
+ align-items: center;
1033
+ display: flex;
1034
+ gap: var(--palda-space-gap-sm);
1035
+ justify-content: space-between;
1036
+ min-height: 24px;
1037
+ }
1038
+ .palda-modal__title {
1039
+ color: var(--palda-color-text-primary);
1040
+ margin: 0;
1041
+ overflow: hidden;
1042
+ text-overflow: ellipsis;
1043
+ white-space: nowrap;
1044
+ }
1045
+ .palda-modal__close {
1046
+ align-items: center;
1047
+ background: transparent;
1048
+ border: 1px solid transparent;
1049
+ border-radius: var(--palda-radius-control);
1050
+ box-sizing: border-box;
1051
+ color: var(--palda-color-primary-default);
1052
+ cursor: pointer;
1053
+ display: inline-flex;
1054
+ flex-shrink: 0;
1055
+ font-size: 24px;
1056
+ height: 24px;
1057
+ justify-content: center;
1058
+ padding: 0;
1059
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
1060
+ width: 24px;
1061
+ }
1062
+ .palda-modal__close:is(:hover, :active) {
1063
+ color: var(--palda-color-primary-hover-pressed);
1064
+ }
1065
+ .palda-modal__close:focus-visible {
1066
+ outline: 1px solid var(--palda-color-border-focus);
1067
+ outline-offset: var(--palda-space-1);
1068
+ }
1069
+ .palda-modal__body {
1070
+ flex: 1 1 auto;
1071
+ min-height: 0;
1072
+ overflow-y: auto;
1073
+ }
1074
+ .palda-modal__footer {
1075
+ align-items: center;
1076
+ display: flex;
1077
+ gap: var(--palda-space-gap-sm);
1078
+ justify-content: flex-end;
1079
+ }
1080
+ .palda-modal__actions {
1081
+ align-items: center;
1082
+ display: flex;
1083
+ gap: var(--palda-space-gap-sm);
1084
+ margin-inline-start: auto;
1085
+ }
1086
+ @media (prefers-reduced-motion: reduce) {
1087
+ .palda-modal__close {
1088
+ transition: none;
1089
+ }
1090
+ }
1091
+
1092
+ /* src/NavigationButton/NavigationButton.css */
1093
+ .palda-navigation-button {
1094
+ --palda-navigation-button-icon-color: var(--palda-color-border-strong);
1095
+ --palda-navigation-button-text-color: var(--palda-color-text-disabled);
1096
+ align-items: center;
1097
+ background: var(--palda-navigation-button-background, transparent);
1098
+ border: 0;
1099
+ border-radius: var(--palda-radius-control);
1100
+ box-sizing: border-box;
1101
+ color: var(--palda-navigation-button-text-color);
1102
+ cursor: pointer;
1103
+ display: flex;
1104
+ gap: var(--palda-space-gap-sm);
1105
+ height: 48px;
1106
+ justify-content: flex-start;
1107
+ padding: var(--palda-space-3) var(--palda-space-4);
1108
+ text-align: left;
1109
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), color var(--palda-duration-fast) var(--palda-easing-standard);
1110
+ width: 100%;
1111
+ }
1112
+ .palda-navigation-button__icon {
1113
+ align-items: center;
1114
+ color: var(--palda-navigation-button-icon-color);
1115
+ display: inline-flex;
1116
+ flex-shrink: 0;
1117
+ font-size: 24px;
1118
+ height: 24px;
1119
+ justify-content: center;
1120
+ width: 24px;
1121
+ }
1122
+ .palda-navigation-button__label {
1123
+ overflow: hidden;
1124
+ text-overflow: ellipsis;
1125
+ white-space: nowrap;
1126
+ }
1127
+ .palda-navigation-button:not(:disabled, .palda-navigation-button--selected):is(:hover, :active) {
1128
+ --palda-navigation-button-background: var(--palda-color-state-hover-pressed);
1129
+ }
1130
+ .palda-navigation-button--selected {
1131
+ --palda-navigation-button-background: var(--palda-color-accent-subtle);
1132
+ --palda-navigation-button-icon-color: var(--palda-color-accent-default);
1133
+ --palda-navigation-button-text-color: var(--palda-color-text-accent);
1134
+ }
1135
+ .palda-navigation-button:disabled {
1136
+ --palda-navigation-button-background: var(--palda-color-state-hover-pressed);
1137
+ --palda-navigation-button-icon-color: var(--palda-color-state-disabled);
1138
+ --palda-navigation-button-text-color: var(--palda-color-text-disabled);
1139
+ cursor: not-allowed;
1140
+ }
1141
+ .palda-navigation-button:focus-visible {
1142
+ outline: 1px solid var(--palda-color-border-focus);
1143
+ outline-offset: var(--palda-space-1);
1144
+ }
1145
+ @media (prefers-reduced-motion: reduce) {
1146
+ .palda-navigation-button {
1147
+ transition: none;
1148
+ }
1149
+ }
1150
+
1151
+ /* src/ProgressBar/ProgressBar.css */
1152
+ .palda-progress-bar {
1153
+ background: var(--palda-color-surface-sunken);
1154
+ border-radius: var(--palda-radius-pill);
1155
+ box-sizing: border-box;
1156
+ height: 8px;
1157
+ overflow: hidden;
1158
+ width: 100%;
1159
+ }
1160
+ .palda-progress-bar__fill {
1161
+ background: var(--palda-color-primary-default);
1162
+ block-size: 100%;
1163
+ border-radius: inherit;
1164
+ transition: inline-size var(--palda-duration-normal) var(--palda-easing-standard);
1165
+ }
1166
+ @media (prefers-reduced-motion: reduce) {
1167
+ .palda-progress-bar__fill {
1168
+ transition: none;
1169
+ }
1170
+ }
1171
+
1172
+ /* src/Radio/Radio.css */
1173
+ .palda-radio {
1174
+ align-items: center;
1175
+ cursor: pointer;
1176
+ display: inline-flex;
1177
+ gap: var(--palda-space-gap-xs);
1178
+ }
1179
+ .palda-radio--disabled {
1180
+ cursor: not-allowed;
1181
+ }
1182
+ .palda-radio__input {
1183
+ block-size: 1px;
1184
+ clip-path: inset(50%);
1185
+ inline-size: 1px;
1186
+ margin: 0;
1187
+ overflow: hidden;
1188
+ position: absolute;
1189
+ white-space: nowrap;
1190
+ }
1191
+ .palda-radio__control {
1192
+ align-items: center;
1193
+ block-size: 24px;
1194
+ display: inline-flex;
1195
+ flex: none;
1196
+ inline-size: 24px;
1197
+ justify-content: center;
1198
+ position: relative;
1199
+ }
1200
+ .palda-radio__control::before {
1201
+ block-size: 20px;
1202
+ border: 2px solid var(--palda-color-primary-default);
1203
+ border-radius: var(--palda-radius-pill);
1204
+ box-sizing: border-box;
1205
+ content: "";
1206
+ inline-size: 20px;
1207
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), border-color var(--palda-duration-fast) var(--palda-easing-standard);
1208
+ }
1209
+ .palda-radio__label {
1210
+ color: var(--palda-color-text-primary);
1211
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
1212
+ }
1213
+ .palda-radio:hover .palda-radio__input:not(:disabled) + .palda-radio__control::before {
1214
+ background: var(--palda-color-state-hover-pressed);
1215
+ }
1216
+ .palda-radio__input:focus-visible + .palda-radio__control::before {
1217
+ outline: 1px solid var(--palda-color-border-focus);
1218
+ outline-offset: var(--palda-space-1);
1219
+ }
1220
+ .palda-radio__input:checked + .palda-radio__control::before {
1221
+ border-color: var(--palda-color-accent-default);
1222
+ }
1223
+ .palda-radio__input:checked + .palda-radio__control::after {
1224
+ background: var(--palda-color-accent-default);
1225
+ block-size: 10px;
1226
+ border-radius: var(--palda-radius-pill);
1227
+ content: "";
1228
+ inline-size: 10px;
1229
+ position: absolute;
1230
+ }
1231
+ .palda-radio__input:disabled + .palda-radio__control::before {
1232
+ background: none;
1233
+ border-color: var(--palda-color-state-disabled);
1234
+ }
1235
+ .palda-radio__input:disabled:checked + .palda-radio__control::after {
1236
+ background: var(--palda-color-state-disabled);
1237
+ }
1238
+ .palda-radio__input:disabled ~ .palda-radio__label {
1239
+ color: var(--palda-color-text-disabled);
1240
+ }
1241
+ @media (prefers-reduced-motion: reduce) {
1242
+ .palda-radio__control::before,
1243
+ .palda-radio__label {
1244
+ transition: none;
1245
+ }
1246
+ }
1247
+
1248
+ /* src/Switch/Switch.css */
1249
+ .palda-switch {
1250
+ align-items: center;
1251
+ cursor: pointer;
1252
+ display: inline-flex;
1253
+ }
1254
+ .palda-switch--disabled {
1255
+ cursor: not-allowed;
1256
+ }
1257
+ .palda-switch__input {
1258
+ block-size: 1px;
1259
+ clip-path: inset(50%);
1260
+ inline-size: 1px;
1261
+ margin: 0;
1262
+ overflow: hidden;
1263
+ position: absolute;
1264
+ white-space: nowrap;
1265
+ }
1266
+ .palda-switch__track {
1267
+ align-items: center;
1268
+ background: var(--palda-color-surface-sunken);
1269
+ block-size: var(--palda-switch-track-block);
1270
+ border-radius: var(--palda-radius-pill);
1271
+ box-sizing: border-box;
1272
+ display: inline-flex;
1273
+ flex: none;
1274
+ inline-size: var(--palda-switch-track-inline);
1275
+ padding: var(--palda-switch-track-padding);
1276
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard);
1277
+ }
1278
+ .palda-switch__knob {
1279
+ background: var(--palda-color-primary-subtle);
1280
+ block-size: var(--palda-switch-knob-size);
1281
+ border-radius: var(--palda-radius-pill);
1282
+ flex: none;
1283
+ inline-size: var(--palda-switch-knob-size);
1284
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), transform var(--palda-duration-fast) var(--palda-easing-standard);
1285
+ }
1286
+ .palda-switch--md {
1287
+ --palda-switch-track-inline: 52px;
1288
+ --palda-switch-track-block: 32px;
1289
+ --palda-switch-track-padding: var(--palda-space-1);
1290
+ --palda-switch-knob-size: 24px;
1291
+ }
1292
+ .palda-switch--sm {
1293
+ --palda-switch-track-inline: 38px;
1294
+ --palda-switch-track-block: 24px;
1295
+ --palda-switch-track-padding: 3px;
1296
+ --palda-switch-knob-size: 18px;
1297
+ }
1298
+ .palda-switch__input:focus-visible + .palda-switch__track {
1299
+ outline: 1px solid var(--palda-color-border-focus);
1300
+ outline-offset: var(--palda-space-1);
1301
+ }
1302
+ .palda-switch__input:checked + .palda-switch__track {
1303
+ background: var(--palda-color-accent-default);
1304
+ }
1305
+ .palda-switch__input:checked + .palda-switch__track .palda-switch__knob {
1306
+ transform: translateX(calc(var(--palda-switch-track-inline) - 2 * var(--palda-switch-track-padding) - var(--palda-switch-knob-size)));
1307
+ }
1308
+ .palda-switch__input:disabled + .palda-switch__track .palda-switch__knob {
1309
+ background: var(--palda-color-overlay-glass);
1310
+ }
1311
+ @media (prefers-reduced-motion: reduce) {
1312
+ .palda-switch__track,
1313
+ .palda-switch__knob {
1314
+ transition: none;
1315
+ }
1316
+ }
1317
+
1318
+ /* src/Tab/Tab.css */
1319
+ .palda-tab {
1320
+ --palda-tab-icon-color: var(--palda-color-state-disabled);
1321
+ --palda-tab-indicator-color: transparent;
1322
+ --palda-tab-text-color: var(--palda-color-text-primary-sub);
1323
+ align-items: center;
1324
+ background: var(--palda-tab-background, transparent);
1325
+ border: 0;
1326
+ border-radius: 0;
1327
+ box-sizing: border-box;
1328
+ color: var(--palda-tab-text-color);
1329
+ cursor: pointer;
1330
+ display: inline-flex;
1331
+ gap: var(--palda-space-gap-sm);
1332
+ height: 48px;
1333
+ justify-content: center;
1334
+ padding: var(--palda-space-3) var(--palda-space-4);
1335
+ position: relative;
1336
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), color var(--palda-duration-fast) var(--palda-easing-standard);
1337
+ width: auto;
1338
+ }
1339
+ .palda-tab::after {
1340
+ background: var(--palda-tab-indicator-color);
1341
+ bottom: 0;
1342
+ content: "";
1343
+ height: 2px;
1344
+ left: 0;
1345
+ position: absolute;
1346
+ right: 0;
1347
+ }
1348
+ .palda-tab__icon {
1349
+ align-items: center;
1350
+ color: var(--palda-tab-icon-color);
1351
+ display: inline-flex;
1352
+ flex-shrink: 0;
1353
+ font-size: 24px;
1354
+ height: 24px;
1355
+ justify-content: center;
1356
+ width: 24px;
1357
+ }
1358
+ .palda-tab__label {
1359
+ white-space: nowrap;
1360
+ }
1361
+ .palda-tab--selected {
1362
+ --palda-tab-icon-color: var(--palda-color-primary-default);
1363
+ --palda-tab-indicator-color: var(--palda-color-primary-default);
1364
+ --palda-tab-text-color: var(--palda-color-text-primary);
1365
+ }
1366
+ .palda-tab:not(:disabled):is(:hover, :active) {
1367
+ --palda-tab-background: var(--palda-color-state-hover-pressed);
1368
+ }
1369
+ .palda-tab:disabled {
1370
+ --palda-tab-icon-color: var(--palda-color-state-disabled);
1371
+ --palda-tab-indicator-color: transparent;
1372
+ --palda-tab-text-color: var(--palda-color-text-disabled);
1373
+ cursor: not-allowed;
1374
+ }
1375
+ .palda-tab:focus-visible {
1376
+ outline: 1px solid var(--palda-color-border-focus);
1377
+ outline-offset: -1px;
1378
+ }
1379
+ @media (prefers-reduced-motion: reduce) {
1380
+ .palda-tab {
1381
+ transition: none;
1382
+ }
1383
+ }
1384
+
1385
+ /* src/TextField/TextField.css */
1386
+ .palda-text-field {
1387
+ display: flex;
1388
+ flex-direction: column;
1389
+ gap: var(--palda-space-gap-sm);
1390
+ }
1391
+ .palda-text-field__label {
1392
+ align-items: center;
1393
+ color: var(--palda-color-text-primary);
1394
+ display: flex;
1395
+ gap: var(--palda-space-gap-xs);
1396
+ }
1397
+ .palda-text-field__required {
1398
+ color: var(--palda-color-text-danger);
1399
+ }
1400
+ .palda-text-field__field {
1401
+ background: var(--palda-text-field-background, transparent);
1402
+ border-radius: var(--palda-radius-control);
1403
+ box-shadow: inset 0 0 0 var(--palda-text-field-border-width, 1px) var(--palda-text-field-border-color, transparent);
1404
+ box-sizing: border-box;
1405
+ display: flex;
1406
+ gap: var(--palda-space-gap-sm);
1407
+ padding: var(--palda-space-inset-sm);
1408
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard), box-shadow var(--palda-duration-fast) var(--palda-easing-standard);
1409
+ }
1410
+ .palda-text-field__control {
1411
+ background: transparent;
1412
+ border: 0;
1413
+ color: var(--palda-text-field-text-color, var(--palda-color-text-primary));
1414
+ flex: 1 1 0;
1415
+ outline: 0;
1416
+ padding: 2px 0;
1417
+ min-width: 0;
1418
+ }
1419
+ .palda-text-field__control::placeholder {
1420
+ color: var(--palda-text-field-placeholder-color, var(--palda-color-text-primary-sub));
1421
+ }
1422
+ .palda-text-field__control:disabled {
1423
+ cursor: not-allowed;
1424
+ }
1425
+ .palda-text-field__icon {
1426
+ align-items: center;
1427
+ color: var(--palda-text-field-icon-color, var(--palda-color-primary-default));
1428
+ display: inline-flex;
1429
+ flex-shrink: 0;
1430
+ font-size: 20px;
1431
+ height: 20px;
1432
+ justify-content: center;
1433
+ width: 20px;
1434
+ }
1435
+ .palda-text-field__footer {
1436
+ align-items: center;
1437
+ color: var(--palda-text-field-footer-color, var(--palda-color-text-primary-sub));
1438
+ display: flex;
1439
+ gap: var(--palda-space-gap-sm);
1440
+ justify-content: flex-end;
1441
+ }
1442
+ .palda-text-field__description {
1443
+ flex: 1 1 0;
1444
+ }
1445
+ .palda-text-field__count {
1446
+ flex-shrink: 0;
1447
+ }
1448
+ .palda-text-field--sm .palda-text-field__field {
1449
+ align-items: center;
1450
+ height: 40px;
1451
+ }
1452
+ .palda-text-field--md .palda-text-field__field {
1453
+ align-items: flex-start;
1454
+ height: 120px;
1455
+ }
1456
+ .palda-text-field--md .palda-text-field__control {
1457
+ height: 100%;
1458
+ resize: none;
1459
+ }
1460
+ .palda-text-field--outline {
1461
+ --palda-text-field-background: var(--palda-color-surface-raised);
1462
+ --palda-text-field-border-color: var(--palda-color-border-default);
1463
+ }
1464
+ .palda-text-field--accent {
1465
+ --palda-text-field-background: var(--palda-color-surface-raised);
1466
+ --palda-text-field-border-color: var(--palda-color-border-accent);
1467
+ }
1468
+ .palda-text-field--subtle {
1469
+ --palda-text-field-background: transparent;
1470
+ --palda-text-field-border-color: transparent;
1471
+ }
1472
+ .palda-text-field--outline:not(.palda-text-field--disabled) .palda-text-field__field:focus-within,
1473
+ .palda-text-field--subtle:not(.palda-text-field--disabled) .palda-text-field__field:focus-within {
1474
+ --palda-text-field-border-color: var(--palda-color-border-accent);
1475
+ }
1476
+ .palda-text-field--accent:not(.palda-text-field--disabled) .palda-text-field__field:focus-within {
1477
+ --palda-text-field-border-color: var(--palda-color-border-focus);
1478
+ --palda-text-field-border-width: 2px;
1479
+ }
1480
+ .palda-text-field--error .palda-text-field__field,
1481
+ .palda-text-field--error .palda-text-field__field:focus-within {
1482
+ --palda-text-field-border-color: var(--palda-color-border-danger);
1483
+ --palda-text-field-border-width: 1px;
1484
+ }
1485
+ .palda-text-field--error {
1486
+ --palda-text-field-footer-color: var(--palda-color-text-danger);
1487
+ }
1488
+ .palda-text-field--disabled {
1489
+ --palda-text-field-icon-color: var(--palda-color-state-disabled);
1490
+ --palda-text-field-placeholder-color: var(--palda-color-text-disabled);
1491
+ --palda-text-field-text-color: var(--palda-color-text-disabled);
1492
+ }
1493
+ .palda-text-field--disabled .palda-text-field__field {
1494
+ --palda-text-field-background: var(--palda-color-surface-base);
1495
+ --palda-text-field-border-color: var(--palda-color-border-default);
1496
+ }
1497
+ .palda-text-field--subtle.palda-text-field--disabled .palda-text-field__field {
1498
+ --palda-text-field-border-color: transparent;
1499
+ }
1500
+ @media (prefers-reduced-motion: reduce) {
1501
+ .palda-text-field__field {
1502
+ transition: none;
1503
+ }
1504
+ }
1505
+
1506
+ /* src/Toast/Toast.css */
1507
+ .palda-toast {
1508
+ align-items: center;
1509
+ animation: palda-toast-in var(--palda-duration-normal) var(--palda-easing-standard);
1510
+ background: var(--palda-toast-background);
1511
+ border-radius: var(--palda-radius-container);
1512
+ box-shadow: var(--palda-shadow-100);
1513
+ box-sizing: border-box;
1514
+ color: var(--palda-toast-color);
1515
+ display: flex;
1516
+ gap: var(--palda-space-gap-sm);
1517
+ width: 400px;
1518
+ max-width: 100%;
1519
+ padding-block: var(--palda-space-3);
1520
+ padding-inline: var(--palda-space-4);
1521
+ white-space: normal;
1522
+ }
1523
+ .palda-toast__icon {
1524
+ align-items: center;
1525
+ color: var(--palda-color-primary-subtle);
1526
+ display: inline-flex;
1527
+ flex-shrink: 0;
1528
+ font-size: 16px;
1529
+ height: 16px;
1530
+ justify-content: center;
1531
+ width: 16px;
1532
+ }
1533
+ .palda-toast__content {
1534
+ flex: 1 1 auto;
1535
+ min-width: 0;
1536
+ overflow-wrap: anywhere;
1537
+ }
1538
+ .palda-toast__action {
1539
+ background: transparent;
1540
+ border: 1px solid transparent;
1541
+ border-radius: var(--palda-radius-control);
1542
+ box-sizing: border-box;
1543
+ color: inherit;
1544
+ cursor: pointer;
1545
+ flex-shrink: 0;
1546
+ font: inherit;
1547
+ padding-block: var(--palda-space-1);
1548
+ padding-inline: var(--palda-space-2);
1549
+ text-decoration: underline;
1550
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard);
1551
+ white-space: nowrap;
1552
+ }
1553
+ .palda-toast__action:is(:hover, :active) {
1554
+ background: var(--palda-color-state-hover-pressed);
1555
+ }
1556
+ .palda-toast__action:focus-visible {
1557
+ outline: 1px solid var(--palda-color-border-focus);
1558
+ outline-offset: var(--palda-space-1);
1559
+ }
1560
+ .palda-toast__close {
1561
+ align-items: center;
1562
+ background: transparent;
1563
+ border: 1px solid transparent;
1564
+ border-radius: var(--palda-radius-control);
1565
+ box-sizing: border-box;
1566
+ color: var(--palda-color-primary-subtle);
1567
+ cursor: pointer;
1568
+ display: inline-flex;
1569
+ flex-shrink: 0;
1570
+ font-size: 20px;
1571
+ height: 20px;
1572
+ justify-content: center;
1573
+ padding: 0;
1574
+ transition: background-color var(--palda-duration-fast) var(--palda-easing-standard);
1575
+ width: 20px;
1576
+ }
1577
+ .palda-toast__close:is(:hover, :active) {
1578
+ background: var(--palda-color-state-hover-pressed);
1579
+ }
1580
+ .palda-toast__close:focus-visible {
1581
+ outline: 1px solid var(--palda-color-border-focus);
1582
+ outline-offset: var(--palda-space-1);
1583
+ }
1584
+ .palda-toast--primary {
1585
+ --palda-toast-background: var(--palda-color-primary-default);
1586
+ --palda-toast-color: var(--palda-color-text-on-primary);
1587
+ }
1588
+ .palda-toast--danger {
1589
+ --palda-toast-background: var(--palda-color-danger-default);
1590
+ --palda-toast-color: var(--palda-color-text-on-danger);
1591
+ }
1592
+ @keyframes palda-toast-in {
1593
+ from {
1594
+ opacity: 0;
1595
+ translate: 0 var(--palda-toast-enter-offset, var(--palda-space-2));
1596
+ }
1597
+ to {
1598
+ opacity: 1;
1599
+ translate: 0 0;
1600
+ }
1601
+ }
1602
+ @media (prefers-reduced-motion: reduce) {
1603
+ .palda-toast {
1604
+ animation: none;
1605
+ }
1606
+ .palda-toast__action,
1607
+ .palda-toast__close {
1608
+ transition: none;
1609
+ }
1610
+ }
1611
+
1612
+ /* src/Toast/Toaster.css */
1613
+ .palda-toaster {
1614
+ display: flex;
1615
+ flex-direction: column;
1616
+ gap: var(--palda-space-gap-sm);
1617
+ padding: var(--palda-space-inset-md);
1618
+ position: fixed;
1619
+ pointer-events: none;
1620
+ z-index: 101;
1621
+ }
1622
+ .palda-toaster > * {
1623
+ pointer-events: auto;
1624
+ }
1625
+ .palda-toaster--bottom-center,
1626
+ .palda-toaster--bottom-right {
1627
+ inset-block-end: 0;
1628
+ }
1629
+ .palda-toaster--top-center,
1630
+ .palda-toaster--top-right {
1631
+ --palda-toast-enter-offset: calc(var(--palda-space-2) * -1);
1632
+ inset-block-start: 0;
1633
+ }
1634
+ .palda-toaster--bottom-center,
1635
+ .palda-toaster--top-center {
1636
+ align-items: center;
1637
+ inset-inline: 0;
1638
+ }
1639
+ .palda-toaster--bottom-right,
1640
+ .palda-toaster--top-right {
1641
+ align-items: flex-end;
1642
+ inset-inline-end: 0;
1643
+ }
1644
+
1645
+ /* src/Tooltip/Tooltip.css */
1646
+ .palda-tooltip {
1647
+ --palda-tooltip-gap: var(--palda-space-gap-xs);
1648
+ display: inline-flex;
1649
+ }
1650
+ .palda-tooltip__bubble {
1651
+ animation: palda-tooltip-in var(--palda-duration-fast) var(--palda-easing-standard);
1652
+ background: var(--palda-color-primary-default);
1653
+ border-radius: var(--palda-radius-control-sm);
1654
+ box-sizing: border-box;
1655
+ color: var(--palda-color-text-on-primary);
1656
+ max-width: 240px;
1657
+ padding: var(--palda-space-inset-sm);
1658
+ position: fixed;
1659
+ white-space: normal;
1660
+ z-index: 1;
1661
+ }
1662
+ .palda-tooltip__arrow {
1663
+ background: inherit;
1664
+ height: 8px;
1665
+ position: absolute;
1666
+ rotate: 45deg;
1667
+ width: 8px;
1668
+ }
1669
+ .palda-tooltip__bubble--top .palda-tooltip__arrow {
1670
+ left: var(--palda-tooltip-arrow-offset);
1671
+ top: 100%;
1672
+ translate: -50% -50%;
1673
+ }
1674
+ .palda-tooltip__bubble--bottom .palda-tooltip__arrow {
1675
+ bottom: 100%;
1676
+ left: var(--palda-tooltip-arrow-offset);
1677
+ translate: -50% 50%;
1678
+ }
1679
+ .palda-tooltip__bubble--left .palda-tooltip__arrow {
1680
+ left: 100%;
1681
+ top: var(--palda-tooltip-arrow-offset);
1682
+ translate: -50% -50%;
1683
+ }
1684
+ .palda-tooltip__bubble--right .palda-tooltip__arrow {
1685
+ right: 100%;
1686
+ top: var(--palda-tooltip-arrow-offset);
1687
+ translate: 50% -50%;
1688
+ }
1689
+ @keyframes palda-tooltip-in {
1690
+ from {
1691
+ opacity: 0;
1692
+ }
1693
+ to {
1694
+ opacity: 1;
1695
+ }
1696
+ }
1697
+ @media (prefers-reduced-motion: reduce) {
1698
+ .palda-tooltip__bubble {
1699
+ animation: none;
1700
+ }
1701
+ }
1702
+
1703
+ /* src/AppShell/AppShell.css */
1704
+ .palda-app-shell {
1705
+ background: var(--palda-color-surface-base);
1706
+ color: var(--palda-color-text-primary);
1707
+ display: flex;
1708
+ min-height: 100vh;
1709
+ }
1710
+ .palda-app-shell__sidebar {
1711
+ background: var(--palda-color-surface-raised);
1712
+ border-inline-end: 1px solid var(--palda-color-border-default);
1713
+ box-sizing: border-box;
1714
+ display: flex;
1715
+ flex-direction: column;
1716
+ flex-shrink: 0;
1717
+ padding: var(--palda-space-inset-md);
1718
+ position: sticky;
1719
+ inset-block-start: 0;
1720
+ block-size: 100vh;
1721
+ width: var(--palda-layout-sidebar-width);
1722
+ }
1723
+ .palda-app-shell__sidebar-main {
1724
+ display: flex;
1725
+ flex-direction: column;
1726
+ gap: var(--palda-space-1);
1727
+ min-width: 0;
1728
+ }
1729
+ .palda-app-shell__sidebar-footer {
1730
+ display: flex;
1731
+ flex-direction: column;
1732
+ gap: var(--palda-space-1);
1733
+ margin-block-start: auto;
1734
+ min-width: 0;
1735
+ }
1736
+ .palda-app-shell__content {
1737
+ display: flex;
1738
+ flex: 1;
1739
+ flex-direction: column;
1740
+ min-width: 0;
1741
+ }
1742
+ .palda-app-shell__band {
1743
+ box-sizing: border-box;
1744
+ margin-inline: auto;
1745
+ max-width: var(--palda-layout-content-width);
1746
+ min-width: 0;
1747
+ width: 100%;
1748
+ }
1749
+ .palda-app-shell__band--inset {
1750
+ align-items: center;
1751
+ display: flex;
1752
+ gap: var(--palda-space-gap-lg);
1753
+ justify-content: space-between;
1754
+ padding-inline: var(--palda-layout-inset);
1755
+ }
1756
+ .palda-app-shell__band--body {
1757
+ display: flex;
1758
+ flex-direction: column;
1759
+ gap: var(--palda-space-gap-xl);
1760
+ padding-block: var(--palda-space-8);
1761
+ padding-inline: var(--palda-layout-page-margin);
1762
+ }
1763
+ .palda-app-shell__top-row {
1764
+ display: flex;
1765
+ flex-shrink: 0;
1766
+ min-height: 98px;
1767
+ }
1768
+ .palda-app-shell__status-bar {
1769
+ background: var(--palda-color-accent-subtle);
1770
+ display: flex;
1771
+ flex-shrink: 0;
1772
+ min-height: 66px;
1773
+ }
1774
+ .palda-app-shell__body {
1775
+ display: flex;
1776
+ flex: 1;
1777
+ min-width: 0;
1778
+ }
1779
+ .palda-app-shell__footer {
1780
+ flex-shrink: 0;
1781
+ position: sticky;
1782
+ inset-block-end: 0;
1783
+ }
1784
+ @media (max-width: 1439px) {
1785
+ .palda-app-shell__band--body,
1786
+ .palda-app-shell__band--inset {
1787
+ padding-inline: var(--palda-space-inset-lg);
1788
+ }
1789
+ }
1790
+ @media (max-width: 767px) {
1791
+ .palda-app-shell {
1792
+ flex-direction: column;
1793
+ }
1794
+ .palda-app-shell__sidebar {
1795
+ border-block-end: 1px solid var(--palda-color-border-default);
1796
+ border-inline-end: none;
1797
+ block-size: auto;
1798
+ flex-direction: row;
1799
+ flex-wrap: wrap;
1800
+ position: static;
1801
+ width: 100%;
1802
+ }
1803
+ .palda-app-shell__sidebar-main {
1804
+ flex-direction: row;
1805
+ flex-wrap: wrap;
1806
+ }
1807
+ .palda-app-shell__sidebar-footer {
1808
+ margin-block-start: 0;
1809
+ margin-inline-start: auto;
1810
+ }
1811
+ .palda-app-shell__band--body,
1812
+ .palda-app-shell__band--inset {
1813
+ padding-inline: var(--palda-space-inset-md);
1814
+ }
1815
+ }
1816
+
1817
+ /* src/BottomBar/BottomBar.css */
1818
+ .palda-bottom-bar {
1819
+ background: var(--palda-color-surface-raised);
1820
+ border-block-start: 1px solid var(--palda-color-border-default);
1821
+ box-shadow: var(--palda-shadow-100);
1822
+ box-sizing: border-box;
1823
+ color: var(--palda-color-text-primary);
1824
+ display: flex;
1825
+ width: 100%;
1826
+ }
1827
+ .palda-bottom-bar__band {
1828
+ align-items: center;
1829
+ box-sizing: border-box;
1830
+ display: flex;
1831
+ gap: var(--palda-space-gap-lg);
1832
+ justify-content: space-between;
1833
+ margin-inline: auto;
1834
+ max-width: var(--palda-layout-content-width);
1835
+ min-width: 0;
1836
+ padding-block: var(--palda-space-inset-sm);
1837
+ padding-inline: var(--palda-layout-inset);
1838
+ width: 100%;
1839
+ }
1840
+ .palda-bottom-bar__status {
1841
+ color: var(--palda-color-text-primary-sub);
1842
+ min-width: 0;
1843
+ overflow: hidden;
1844
+ text-overflow: ellipsis;
1845
+ white-space: nowrap;
1846
+ }
1847
+ .palda-bottom-bar__actions {
1848
+ align-items: center;
1849
+ display: flex;
1850
+ flex-shrink: 0;
1851
+ gap: var(--palda-space-gap-sm);
1852
+ margin-inline-start: auto;
1853
+ }
1854
+ @media (max-width: 1439px) {
1855
+ .palda-bottom-bar__band {
1856
+ padding-inline: var(--palda-space-inset-lg);
1857
+ }
1858
+ }
1859
+ @media (max-width: 767px) {
1860
+ .palda-bottom-bar__band {
1861
+ padding-inline: var(--palda-space-inset-md);
1862
+ }
1863
+ }
1864
+
1865
+ /* src/Card/Card.css */
1866
+ .palda-card {
1867
+ background: var(--palda-card-background);
1868
+ border: 1px solid var(--palda-color-border-default);
1869
+ border-radius: var(--palda-radius-container);
1870
+ box-sizing: border-box;
1871
+ color: var(--palda-color-text-primary);
1872
+ display: flex;
1873
+ flex-direction: column;
1874
+ gap: var(--palda-space-gap-lg);
1875
+ padding: var(--palda-space-inset-md);
1876
+ transition: border-color var(--palda-duration-fast) var(--palda-easing-standard);
1877
+ }
1878
+ .palda-card--plain {
1879
+ --palda-card-background: var(--palda-color-surface-base);
1880
+ }
1881
+ .palda-card--filled {
1882
+ --palda-card-background: var(--palda-color-surface-raised);
1883
+ }
1884
+ button.palda-card {
1885
+ cursor: pointer;
1886
+ text-align: start;
1887
+ width: 100%;
1888
+ }
1889
+ button.palda-card:hover {
1890
+ border-color: var(--palda-color-border-strong);
1891
+ }
1892
+ button.palda-card:focus-visible {
1893
+ outline: 1px solid var(--palda-color-border-focus);
1894
+ outline-offset: var(--palda-space-1);
1895
+ }
1896
+ .palda-card--selected {
1897
+ border-color: var(--palda-color-border-accent);
1898
+ }
1899
+ .palda-card__header {
1900
+ align-items: flex-start;
1901
+ display: flex;
1902
+ gap: var(--palda-space-gap-sm);
1903
+ justify-content: space-between;
1904
+ }
1905
+ .palda-card__heading {
1906
+ display: flex;
1907
+ flex-direction: column;
1908
+ gap: var(--palda-space-gap-xs);
1909
+ min-width: 0;
1910
+ }
1911
+ .palda-card__heading h2,
1912
+ .palda-card__heading p {
1913
+ margin: 0;
1914
+ }
1915
+ .palda-card__heading p {
1916
+ color: var(--palda-color-text-primary-sub);
1917
+ }
1918
+ .palda-card__action {
1919
+ align-items: center;
1920
+ display: flex;
1921
+ flex-shrink: 0;
1922
+ gap: var(--palda-space-gap-sm);
1923
+ }
1924
+ .palda-card__body {
1925
+ display: flex;
1926
+ flex-direction: column;
1927
+ gap: var(--palda-space-gap-sm);
1928
+ min-width: 0;
1929
+ }
1930
+ .palda-card__footer {
1931
+ align-items: center;
1932
+ border-block-start: 1px solid var(--palda-color-border-default);
1933
+ display: flex;
1934
+ gap: var(--palda-space-gap-sm);
1935
+ justify-content: flex-end;
1936
+ padding-block-start: var(--palda-space-gap-lg);
1937
+ }
1938
+ @media (prefers-reduced-motion: reduce) {
1939
+ .palda-card {
1940
+ transition: none;
1941
+ }
1942
+ }
1943
+
1944
+ /* src/EmptyState/EmptyState.css */
1945
+ .palda-empty-state {
1946
+ align-items: center;
1947
+ background: var(--palda-color-surface-raised);
1948
+ border: 1px solid var(--palda-color-border-default);
1949
+ border-radius: var(--palda-radius-container);
1950
+ color: var(--palda-color-text-primary);
1951
+ display: flex;
1952
+ flex-direction: column;
1953
+ gap: var(--palda-space-gap-lg);
1954
+ max-width: 480px;
1955
+ padding: var(--palda-space-inset-lg);
1956
+ text-align: center;
1957
+ }
1958
+ .palda-empty-state__icon {
1959
+ color: var(--palda-color-primary-default);
1960
+ display: inline-flex;
1961
+ }
1962
+ .palda-empty-state__copy {
1963
+ display: grid;
1964
+ gap: var(--palda-space-2);
1965
+ }
1966
+ .palda-empty-state h2,
1967
+ .palda-empty-state p {
1968
+ margin: 0;
1969
+ }
1970
+ .palda-empty-state p {
1971
+ color: var(--palda-color-text-primary-sub);
1972
+ }
1973
+
1974
+ /* src/FormSection/FormSection.css */
1975
+ .palda-form-section {
1976
+ color: var(--palda-color-text-primary);
1977
+ display: flex;
1978
+ flex-direction: column;
1979
+ gap: var(--palda-space-gap-lg);
1980
+ min-width: 0;
1981
+ }
1982
+ .palda-form-section__header {
1983
+ display: flex;
1984
+ flex-direction: column;
1985
+ gap: var(--palda-space-gap-xs);
1986
+ }
1987
+ .palda-form-section__header h2,
1988
+ .palda-form-section__header p {
1989
+ margin: 0;
1990
+ }
1991
+ .palda-form-section__header p {
1992
+ color: var(--palda-color-text-primary-sub);
1993
+ }
1994
+ .palda-form-section__error {
1995
+ background: var(--palda-color-danger-subtle);
1996
+ border: 1px solid var(--palda-color-border-danger);
1997
+ border-radius: var(--palda-radius-control);
1998
+ color: var(--palda-color-text-danger);
1999
+ margin: 0;
2000
+ padding: var(--palda-space-inset-sm);
2001
+ }
2002
+ .palda-form-section__fields {
2003
+ display: flex;
2004
+ flex-direction: column;
2005
+ gap: var(--palda-space-gap-lg);
2006
+ min-width: 0;
2007
+ }
2008
+ .palda-form-section__footer {
2009
+ align-items: center;
2010
+ display: flex;
2011
+ gap: var(--palda-space-gap-sm);
2012
+ justify-content: flex-end;
2013
+ }
2014
+
2015
+ /* src/ListRow/ListRow.css */
2016
+ .palda-list-row {
2017
+ align-items: center;
2018
+ background: transparent;
2019
+ border: 0;
2020
+ box-sizing: border-box;
2021
+ color: var(--palda-color-text-primary);
2022
+ display: flex;
2023
+ gap: var(--palda-space-gap-sm);
2024
+ padding-block: var(--palda-space-inset-md);
2025
+ text-align: start;
2026
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
2027
+ width: 100%;
2028
+ }
2029
+ .palda-list-row--plain {
2030
+ border-block-end: 1px solid var(--palda-color-border-default);
2031
+ }
2032
+ .palda-list-row--plain:last-child {
2033
+ border-block-end: 0;
2034
+ }
2035
+ .palda-list-row--filled {
2036
+ background: var(--palda-color-surface-raised);
2037
+ border-radius: var(--palda-radius-control);
2038
+ padding-inline: var(--palda-space-inset-md);
2039
+ }
2040
+ button.palda-list-row {
2041
+ cursor: pointer;
2042
+ }
2043
+ button.palda-list-row:hover {
2044
+ color: var(--palda-color-text-accent);
2045
+ }
2046
+ button.palda-list-row:hover .palda-list-row__chevron {
2047
+ color: var(--palda-color-accent-default);
2048
+ }
2049
+ button.palda-list-row:focus-visible {
2050
+ outline: 1px solid var(--palda-color-border-focus);
2051
+ outline-offset: var(--palda-space-1);
2052
+ }
2053
+ .palda-list-row--selected {
2054
+ color: var(--palda-color-text-accent);
2055
+ }
2056
+ .palda-list-row__leading {
2057
+ align-items: center;
2058
+ color: var(--palda-color-primary-default);
2059
+ display: inline-flex;
2060
+ flex-shrink: 0;
2061
+ font-size: 16px;
2062
+ height: 16px;
2063
+ justify-content: center;
2064
+ width: 16px;
2065
+ }
2066
+ .palda-list-row--selected .palda-list-row__leading {
2067
+ color: var(--palda-color-accent-default);
2068
+ }
2069
+ .palda-list-row__copy {
2070
+ display: flex;
2071
+ flex: 1;
2072
+ flex-direction: column;
2073
+ gap: var(--palda-space-gap-xs);
2074
+ min-width: 0;
2075
+ }
2076
+ .palda-list-row__description {
2077
+ color: var(--palda-color-text-primary-sub);
2078
+ }
2079
+ .palda-list-row__trailing {
2080
+ align-items: center;
2081
+ display: inline-flex;
2082
+ flex-shrink: 0;
2083
+ gap: var(--palda-space-gap-sm);
2084
+ }
2085
+ .palda-list-row__chevron {
2086
+ align-items: center;
2087
+ color: var(--palda-color-border-strong);
2088
+ display: inline-flex;
2089
+ flex-shrink: 0;
2090
+ font-size: 16px;
2091
+ height: 16px;
2092
+ justify-content: center;
2093
+ transition: color var(--palda-duration-fast) var(--palda-easing-standard);
2094
+ width: 16px;
2095
+ }
2096
+ .palda-list-row--loading {
2097
+ align-items: stretch;
2098
+ flex-direction: column;
2099
+ gap: var(--palda-space-gap-xs);
2100
+ }
2101
+ .palda-list-row__skeleton {
2102
+ animation: palda-list-row-pulse var(--palda-duration-normal) var(--palda-easing-standard) infinite alternate;
2103
+ background: var(--palda-color-surface-sunken);
2104
+ border-radius: var(--palda-radius-control-sm);
2105
+ display: block;
2106
+ }
2107
+ .palda-list-row__skeleton--title {
2108
+ height: var(--palda-font-size-sm);
2109
+ width: 40%;
2110
+ }
2111
+ .palda-list-row__skeleton--description {
2112
+ height: var(--palda-font-size-xs);
2113
+ width: 70%;
2114
+ }
2115
+ @keyframes palda-list-row-pulse {
2116
+ from {
2117
+ opacity: 1;
2118
+ }
2119
+ to {
2120
+ opacity: 0.4;
2121
+ }
2122
+ }
2123
+ @media (prefers-reduced-motion: reduce) {
2124
+ .palda-list-row,
2125
+ .palda-list-row__chevron {
2126
+ transition: none;
2127
+ }
2128
+ .palda-list-row__skeleton {
2129
+ animation: none;
2130
+ }
2131
+ }
2132
+
2133
+ /* src/LivePreview/LivePreview.css */
2134
+ .palda-live-preview {
2135
+ background: var(--palda-color-surface-raised);
2136
+ border: 1px solid var(--palda-color-border-default);
2137
+ border-radius: var(--palda-radius-container);
2138
+ box-shadow: var(--palda-shadow-100);
2139
+ box-sizing: border-box;
2140
+ color: var(--palda-color-text-primary);
2141
+ display: flex;
2142
+ flex-direction: column;
2143
+ gap: var(--palda-space-gap-sm);
2144
+ padding: var(--palda-space-inset-md);
2145
+ width: 319px;
2146
+ position: sticky;
2147
+ inset-block-start: var(--palda-space-8);
2148
+ }
2149
+ .palda-live-preview__header h2 {
2150
+ margin: 0;
2151
+ }
2152
+ .palda-live-preview__body {
2153
+ display: flex;
2154
+ flex-direction: column;
2155
+ gap: var(--palda-space-gap-sm);
2156
+ min-width: 0;
2157
+ }
2158
+ .palda-live-preview__message {
2159
+ color: var(--palda-color-text-primary-sub);
2160
+ margin: 0;
2161
+ }
2162
+ .palda-live-preview--error .palda-live-preview__message {
2163
+ color: var(--palda-color-text-danger);
2164
+ }
2165
+ .palda-live-preview--error {
2166
+ border-color: var(--palda-color-border-danger);
2167
+ }
2168
+ .palda-live-preview__skeleton {
2169
+ animation: palda-live-preview-pulse var(--palda-duration-normal) var(--palda-easing-standard) infinite alternate;
2170
+ background: var(--palda-color-surface-sunken);
2171
+ border-radius: var(--palda-radius-control);
2172
+ display: block;
2173
+ height: 96px;
2174
+ }
2175
+ @keyframes palda-live-preview-pulse {
2176
+ from {
2177
+ opacity: 1;
2178
+ }
2179
+ to {
2180
+ opacity: 0.4;
2181
+ }
2182
+ }
2183
+ @media (max-width: 1439px) {
2184
+ .palda-live-preview {
2185
+ position: static;
2186
+ width: 100%;
2187
+ }
2188
+ }
2189
+ @media (prefers-reduced-motion: reduce) {
2190
+ .palda-live-preview__skeleton {
2191
+ animation: none;
2192
+ }
2193
+ }