@transcodes/design-tokens 0.4.1 → 0.4.3

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.3] - 2025-12-23
9
+
10
+ ### Changed
11
+
12
+ - 빌드 파일 최신화를 위한 재배포 (코드 변경 없음)
13
+
8
14
  ## [0.4.0] - 2025-12-17
9
15
 
10
16
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transcodes/design-tokens",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "private": false,
5
5
  "description": "Style Dictionary based design tokens with dark mode support for consistent, beautiful interfaces",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- *,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-.25rem)}75%{transform:translate(.25rem)}}@keyframes inkFloat{0%,to{opacity:.5;transform:translate(0)scale(1)}50%{opacity:.7;transform:translate(.625rem,-.625rem)scale(1.1)}}@keyframes inkDrift{0%,to{opacity:.4;transform:translate(0)rotate(0)}33%{opacity:.6;transform:translate(-.5rem,.5rem)rotate(-5deg)}66%{opacity:.5;transform:translate(.375rem,-.375rem)rotate(3deg)}}@keyframes inkSpread{0%{opacity:.4;transform:scale(0)}to{transform:scale(var(--ink-effect-spread-scale,2.5));opacity:0}}.page-container{width:100%;max-width:var(--page-container-max-width);padding:0 var(--page-container-padding);animation:fadeInUp .6s var(--transition-smooth)both;margin:0 auto;position:relative}.page-container--wide{max-width:var(--page-container-max-width-wide)}.page-card{background:var(--paper-white);padding:var(--page-card-padding);border-radius:var(--page-card-radius);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.page-card:before{content:"";border-radius:inherit;padding:var(--space-fixed-2xs);background:linear-gradient(135deg,var(--alpha-primary08)0%,transparent 50%,var(--alpha-primary04)100%);-webkit-mask-composite:xor;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.page-card--centered{text-align:center}.page-decoration{filter:blur(3.75rem);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.page-decoration--primary{background:var(--alpha-primary15)}.page-decoration--success{background:var(--alpha-success15)}.page-decoration--float{animation:4s ease-in-out infinite inkFloat}.page-decoration--drift{animation:5s ease-in-out infinite inkDrift}.button{height:var(--button-height);padding:0 var(--space-lg);font-family:var(--font-body);font-size:var(--button-font-size);font-weight:var(--button-font-weight);letter-spacing:var(--button-letter-spacing);border:var(--space-fixed-2xs)solid transparent;border-radius:var(--button-radius);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.button-primary{background:var(--accent-primary);color:var(--paper-white)}.button-primary:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-button-hover-primary);transform:translateY(calc(-1*var(--space-fixed-2xs)))}.button-success{background:var(--accent-success);color:var(--paper-white)}.button-success:hover:not(:disabled){background:var(--accent-success-hover);box-shadow:var(--shadow-button-hover-success);transform:translateY(calc(-1*var(--space-fixed-2xs)))}.button-secondary{height:var(--button-height-secondary);color:var(--ink-dark);border:var(--space-fixed-2xs)solid var(--ink-faint);background:0 0}.button-secondary:hover:not(:disabled){color:var(--accent-primary);border-color:var(--accent-primary);background:var(--alpha-primary04)}.button:disabled{cursor:not-allowed;opacity:.7}.text-button{height:var(--button-text-height);padding:var(--space-sm)var(--space-md);font-family:var(--font-body);font-size:var(--button-text-font-size);color:var(--ink-dark);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.text-button:hover{background:var(--paper-cream);color:var(--accent-primary)}.text-button-sm{height:auto;padding:var(--space-xs)var(--space-sm);font-size:.8125rem}.text-button-md{height:auto;padding:var(--space-sm)var(--space-md)}.button-content{justify-content:center;align-items:center;gap:var(--button-content-gap);display:flex}.button-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.button-text{text-align:center;flex:1}.button-spinner{width:var(--button-spinner-size);height:var(--button-spinner-size);border:var(--button-spinner-border-width)solid currentColor;border-top-color:#0000;border-radius:50%;animation:.6s linear infinite spin}.button-ink{position:relative;overflow:hidden}.button-ink:after{content:"";pointer-events:none;width:21.875rem;height:21.875rem;transition:transform var(--ink-effect-ripple-duration,.6s)var(--ink-effect-ripple-easing,cubic-bezier(.4,0,.2,1)),opacity var(--ink-effect-fade-duration,.3s)ease;opacity:0;background:radial-gradient(circle,#ffffff80 0%,#0000 70%);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.button-ink:hover:after{opacity:1;transform:translate(-50%,-50%)scale(1)}.button-ink:active:after{opacity:.8;transform:translate(-50%,-50%)scale(.8)}.card{background:var(--paper-white);padding:var(--card-padding);border-radius:var(--card-radius);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.container{width:100%;max-width:var(--container-max-width);position:relative}.container-wide{max-width:var(--container-max-width-wide)}.form-header{text-align:center;margin-bottom:var(--form-header-margin-bottom)}.form-title{font-family:var(--font-body);font-size:var(--title-font-size);font-weight:var(--title-font-weight);color:var(--ink-black);letter-spacing:var(--title-letter-spacing);animation:slideDown .4s var(--transition-smooth).2s both}.form-subtitle{font-size:var(--form-subtitle-font-size);color:var(--ink-medium);margin-top:var(--space-sm);animation:fadeInUp .4s var(--transition-smooth).4s both}.form-fields{gap:var(--form-fields-gap);flex-direction:column;display:flex}.form-footer{margin-top:var(--form-footer-margin-top);text-align:center;animation:fadeInUp .4s var(--transition-smooth).6s both}.field-group{gap:var(--field-group-gap);flex-direction:column;display:flex}.field-label{font-size:var(--label-font-size);font-weight:var(--label-font-weight);text-transform:uppercase;letter-spacing:var(--label-letter-spacing);color:var(--ink-medium);transition:color var(--transition-fast);display:block}.field-group.focused .field-label{color:var(--accent-primary)}.required-mark{color:var(--accent-primary);margin-left:var(--space-2xs)}.input{width:100%;padding:var(--input-padding-y)var(--input-padding-x);font-family:var(--font-body);font-size:var(--input-font-size);color:var(--ink-black);background:var(--paper-cream);border:var(--space-fixed-2xs)solid transparent;border-radius:var(--input-radius);transition:background var(--transition-smooth),border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.input::placeholder{color:var(--ink-faint)}.input:hover{background:var(--paper-warm)}.input:focus{background:var(--paper-white);border-color:var(--ink-faint);box-shadow:var(--shadow-input-focus);outline:none}.label{font-size:var(--label-font-size);font-weight:var(--label-font-weight);text-transform:uppercase;letter-spacing:var(--label-letter-spacing);color:var(--ink-medium);margin-bottom:var(--space-sm);transition:color var(--transition-fast);display:block}.title{font-family:var(--font-body);font-size:var(--title-font-size);font-weight:var(--title-font-weight);color:var(--ink-black);letter-spacing:var(--title-letter-spacing)}.error-message{align-items:flex-start;gap:var(--feedback-error-gap);padding:var(--feedback-error-padding);background:var(--error-bg);border:var(--space-fixed-2xs)solid var(--error-border);border-radius:var(--feedback-error-radius);color:var(--error-base);animation:slideDown .3s var(--transition-smooth)both;display:flex}.error-icon{width:var(--feedback-error-icon-size);height:var(--feedback-error-icon-size);color:var(--error-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.error-message.shake{animation:shake .4s var(--transition-smooth)}.notice{align-items:flex-start;gap:var(--feedback-notice-gap);padding:var(--feedback-notice-padding);border-radius:var(--feedback-notice-radius);animation:slideUp .4s var(--transition-smooth)both;display:flex}.notice-icon{width:var(--feedback-notice-icon-size);height:var(--feedback-notice-icon-size);flex-shrink:0;justify-content:center;align-items:center;display:flex}.notice-success{border:var(--space-fixed-2xs)solid #357a4633;color:var(--accent-success);background:#357a4614}.notice-warning{border:var(--space-fixed-2xs)solid #b4530933;color:var(--semantic-warning);background:#b4530914}.notice-info{border:var(--space-fixed-2xs)solid #0369a133;color:var(--semantic-info);background:#0369a114}
@@ -1,6 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- export declare const componentStyles: string;
6
- export default componentStyles;
@@ -1,532 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- * Component styles from design-tokens for use with Lit's adoptedStyleSheets
4
- */
5
-
6
- export const componentStyles = `/**
7
- * Do not edit directly, this file was auto-generated.
8
- */
9
-
10
- /* Minimal Reset for Shadow DOM */
11
- *,
12
- *::before,
13
- *::after {
14
- box-sizing: border-box;
15
- margin: 0;
16
- padding: 0;
17
- }
18
-
19
- button,
20
- input,
21
- select,
22
- textarea {
23
- font: inherit;
24
- color: inherit;
25
- }
26
-
27
- button {
28
- cursor: pointer;
29
- background: none;
30
- border: none;
31
- }
32
-
33
- /* Animations */
34
- @keyframes fadeInUp {
35
- 0% {
36
- opacity: 0;
37
- transform: translateY(1rem);
38
- }
39
- 100% {
40
- opacity: 1;
41
- transform: translateY(0);
42
- }
43
- }
44
-
45
- @keyframes slideDown {
46
- 0% {
47
- opacity: 0;
48
- transform: translateY(-0.5rem);
49
- }
50
- 100% {
51
- opacity: 1;
52
- transform: translateY(0);
53
- }
54
- }
55
-
56
- @keyframes slideUp {
57
- 0% {
58
- opacity: 0;
59
- transform: translateY(0.5rem);
60
- }
61
- 100% {
62
- opacity: 1;
63
- transform: translateY(0);
64
- }
65
- }
66
-
67
- @keyframes spin {
68
- to {
69
- transform: rotate(360deg);
70
- }
71
- }
72
-
73
- @keyframes shake {
74
- 0%, 100% {
75
- transform: translateX(0);
76
- }
77
- 25% {
78
- transform: translateX(-0.25rem);
79
- }
80
- 75% {
81
- transform: translateX(0.25rem);
82
- }
83
- }
84
-
85
- @keyframes inkFloat {
86
- 0%, 100% {
87
- transform: translate(0, 0) scale(1);
88
- opacity: 0.5;
89
- }
90
- 50% {
91
- transform: translate(0.625rem, -0.625rem) scale(1.1);
92
- opacity: 0.7;
93
- }
94
- }
95
-
96
- @keyframes inkDrift {
97
- 0%, 100% {
98
- transform: translate(0, 0) rotate(0deg);
99
- opacity: 0.4;
100
- }
101
- 33% {
102
- transform: translate(-0.5rem, 0.5rem) rotate(-5deg);
103
- opacity: 0.6;
104
- }
105
- 66% {
106
- transform: translate(0.375rem, -0.375rem) rotate(3deg);
107
- opacity: 0.5;
108
- }
109
- }
110
-
111
- @keyframes inkSpread {
112
- 0% {
113
- transform: scale(0);
114
- opacity: 0.4;
115
- }
116
- 100% {
117
- transform: scale(var(--ink-effect-spread-scale, 2.5));
118
- opacity: 0;
119
- }
120
- }
121
-
122
- /* Page Layout */
123
- .page-container {
124
- position: relative;
125
- width: 100%;
126
- max-width: var(--page-container-max-width);
127
- margin: 0 auto;
128
- padding: 0 var(--page-container-padding);
129
- animation: fadeInUp 600ms var(--transition-smooth) both;
130
- }
131
-
132
- .page-container--wide {
133
- max-width: var(--page-container-max-width-wide);
134
- }
135
-
136
- .page-card {
137
- background: var(--paper-white);
138
- padding: var(--page-card-padding);
139
- border-radius: var(--page-card-radius);
140
- box-shadow: var(--shadow-card);
141
- position: relative;
142
- overflow: hidden;
143
- }
144
-
145
- .page-card::before {
146
- content: '';
147
- position: absolute;
148
- inset: 0;
149
- border-radius: inherit;
150
- padding: var(--space-fixed-2xs);
151
- background: linear-gradient(135deg, var(--alpha-primary08) 0%, transparent 50%, var(--alpha-primary04) 100%);
152
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
153
- -webkit-mask-composite: xor;
154
- mask-composite: exclude;
155
- pointer-events: none;
156
- }
157
-
158
- .page-card--centered {
159
- text-align: center;
160
- }
161
-
162
- /* Page Decoration - Ink effect backgrounds */
163
- .page-decoration {
164
- position: absolute;
165
- border-radius: 50%;
166
- filter: blur(3.75rem);
167
- pointer-events: none;
168
- z-index: 0;
169
- }
170
-
171
- .page-decoration--primary {
172
- background: var(--alpha-primary15);
173
- }
174
-
175
- .page-decoration--success {
176
- background: var(--alpha-success15);
177
- }
178
-
179
- .page-decoration--float {
180
- animation: inkFloat 4s ease-in-out infinite;
181
- }
182
-
183
- .page-decoration--drift {
184
- animation: inkDrift 5s ease-in-out infinite;
185
- }
186
-
187
- /* Buttons */
188
- .button {
189
- height: var(--button-height);
190
- padding: 0 var(--space-lg);
191
- font-family: var(--font-body);
192
- font-size: var(--button-font-size);
193
- font-weight: var(--button-font-weight);
194
- letter-spacing: var(--button-letter-spacing);
195
- border: var(--space-fixed-2xs) solid transparent;
196
- border-radius: var(--button-radius);
197
- cursor: pointer;
198
- transition: background var(--transition-fast), transform var(--transition-fast);
199
- }
200
-
201
- .button-primary {
202
- background: var(--accent-primary);
203
- color: var(--paper-white);
204
- }
205
-
206
- .button-primary:hover:not(:disabled) {
207
- background: var(--accent-primary-hover);
208
- box-shadow: var(--shadow-button-hover-primary);
209
- transform: translateY(calc(-1 * var(--space-fixed-2xs)));
210
- }
211
-
212
- .button-success {
213
- background: var(--accent-success);
214
- color: var(--paper-white);
215
- }
216
-
217
- .button-success:hover:not(:disabled) {
218
- background: var(--accent-success-hover);
219
- box-shadow: var(--shadow-button-hover-success);
220
- transform: translateY(calc(-1 * var(--space-fixed-2xs)));
221
- }
222
-
223
- .button-secondary {
224
- height: var(--button-height-secondary);
225
- background: transparent;
226
- color: var(--ink-dark);
227
- border: var(--space-fixed-2xs) solid var(--ink-faint);
228
- }
229
-
230
- .button-secondary:hover:not(:disabled) {
231
- color: var(--accent-primary);
232
- border-color: var(--accent-primary);
233
- background: var(--alpha-primary04);
234
- }
235
-
236
- .button:disabled {
237
- cursor: not-allowed;
238
- opacity: 0.7;
239
- }
240
-
241
- /* Text Button */
242
- .text-button {
243
- display: inline-flex;
244
- align-items: center;
245
- justify-content: center;
246
- height: var(--button-text-height);
247
- padding: var(--space-sm) var(--space-md);
248
- font-family: var(--font-body);
249
- font-size: var(--button-text-font-size);
250
- font-weight: 500;
251
- color: var(--ink-dark);
252
- background: transparent;
253
- border: none;
254
- border-radius: var(--radius-md);
255
- cursor: pointer;
256
- transition: background var(--transition-fast), color var(--transition-fast);
257
- }
258
-
259
- .text-button:hover {
260
- background: var(--paper-cream);
261
- color: var(--accent-primary);
262
- }
263
-
264
- .text-button-sm {
265
- height: auto;
266
- padding: var(--space-xs) var(--space-sm);
267
- font-size: 0.8125rem;
268
- }
269
-
270
- .text-button-md {
271
- height: auto;
272
- padding: var(--space-sm) var(--space-md);
273
- }
274
-
275
- /* Button Content Layout */
276
- .button-content {
277
- display: flex;
278
- align-items: center;
279
- justify-content: center;
280
- gap: var(--button-content-gap);
281
- }
282
-
283
- .button-icon {
284
- display: flex;
285
- align-items: center;
286
- justify-content: center;
287
- flex-shrink: 0;
288
- }
289
-
290
- .button-text {
291
- flex: 1;
292
- text-align: center;
293
- }
294
-
295
- /* Button Spinner */
296
- .button-spinner {
297
- width: var(--button-spinner-size);
298
- height: var(--button-spinner-size);
299
- border: var(--button-spinner-border-width) solid currentColor;
300
- border-top-color: transparent;
301
- border-radius: 50%;
302
- animation: spin 600ms linear infinite;
303
- }
304
-
305
- /* Button Ink Ripple Effect */
306
- .button-ink {
307
- position: relative;
308
- overflow: hidden;
309
- }
310
-
311
- .button-ink::after {
312
- content: '';
313
- position: absolute;
314
- top: 50%;
315
- left: 50%;
316
- width: 21.875rem;
317
- height: 21.875rem;
318
- background: radial-gradient(circle, rgba(255, 255, 255, 0.5) 0%, transparent 70%);
319
- transform: translate(-50%, -50%) scale(0);
320
- border-radius: 50%;
321
- pointer-events: none;
322
- transition: transform var(--ink-effect-ripple-duration, 600ms) var(--ink-effect-ripple-easing, cubic-bezier(0.4, 0, 0.2, 1)),
323
- opacity var(--ink-effect-fade-duration, 300ms) ease;
324
- opacity: 0;
325
- }
326
-
327
- .button-ink:hover::after {
328
- transform: translate(-50%, -50%) scale(1);
329
- opacity: 1;
330
- }
331
-
332
- .button-ink:active::after {
333
- transform: translate(-50%, -50%) scale(0.8);
334
- opacity: 0.8;
335
- }
336
-
337
- /* Card */
338
- .card {
339
- background: var(--paper-white);
340
- padding: var(--card-padding);
341
- border-radius: var(--card-radius);
342
- box-shadow: var(--shadow-card);
343
- position: relative;
344
- overflow: hidden;
345
- }
346
-
347
- /* Container */
348
- .container {
349
- position: relative;
350
- width: 100%;
351
- max-width: var(--container-max-width);
352
- }
353
-
354
- .container-wide {
355
- max-width: var(--container-max-width-wide);
356
- }
357
-
358
- /* Form Layout */
359
- .form-header {
360
- text-align: center;
361
- margin-bottom: var(--form-header-margin-bottom);
362
- }
363
-
364
- .form-title {
365
- font-family: var(--font-body);
366
- font-size: var(--title-font-size);
367
- font-weight: var(--title-font-weight);
368
- color: var(--ink-black);
369
- letter-spacing: var(--title-letter-spacing);
370
- animation: slideDown 400ms var(--transition-smooth) 200ms both;
371
- }
372
-
373
- .form-subtitle {
374
- font-size: var(--form-subtitle-font-size);
375
- color: var(--ink-medium);
376
- margin-top: var(--space-sm);
377
- animation: fadeInUp 400ms var(--transition-smooth) 400ms both;
378
- }
379
-
380
- .form-fields {
381
- display: flex;
382
- flex-direction: column;
383
- gap: var(--form-fields-gap);
384
- }
385
-
386
- .form-footer {
387
- margin-top: var(--form-footer-margin-top);
388
- text-align: center;
389
- animation: fadeInUp 400ms var(--transition-smooth) 600ms both;
390
- }
391
-
392
- /* Field Group */
393
- .field-group {
394
- display: flex;
395
- flex-direction: column;
396
- gap: var(--field-group-gap);
397
- }
398
-
399
- .field-label {
400
- display: block;
401
- font-size: var(--label-font-size);
402
- font-weight: var(--label-font-weight);
403
- text-transform: uppercase;
404
- letter-spacing: var(--label-letter-spacing);
405
- color: var(--ink-medium);
406
- transition: color var(--transition-fast);
407
- }
408
-
409
- .field-group.focused .field-label {
410
- color: var(--accent-primary);
411
- }
412
-
413
- .required-mark {
414
- color: var(--accent-primary);
415
- margin-left: var(--space-2xs);
416
- }
417
-
418
- /* Input */
419
- .input {
420
- width: 100%;
421
- padding: var(--input-padding-y) var(--input-padding-x);
422
- font-family: var(--font-body);
423
- font-size: var(--input-font-size);
424
- color: var(--ink-black);
425
- background: var(--paper-cream);
426
- border: var(--space-fixed-2xs) solid transparent;
427
- border-radius: var(--input-radius);
428
- transition: background var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);
429
- }
430
-
431
- .input::placeholder {
432
- color: var(--ink-faint);
433
- }
434
-
435
- .input:hover {
436
- background: var(--paper-warm);
437
- }
438
-
439
- .input:focus {
440
- outline: none;
441
- background: var(--paper-white);
442
- border-color: var(--ink-faint);
443
- box-shadow: var(--shadow-input-focus);
444
- }
445
-
446
- /* Label */
447
- .label {
448
- display: block;
449
- font-size: var(--label-font-size);
450
- font-weight: var(--label-font-weight);
451
- text-transform: uppercase;
452
- letter-spacing: var(--label-letter-spacing);
453
- color: var(--ink-medium);
454
- margin-bottom: var(--space-sm);
455
- transition: color var(--transition-fast);
456
- }
457
-
458
- /* Title */
459
- .title {
460
- font-family: var(--font-body);
461
- font-size: var(--title-font-size);
462
- font-weight: var(--title-font-weight);
463
- color: var(--ink-black);
464
- letter-spacing: var(--title-letter-spacing);
465
- }
466
-
467
- /* Feedback */
468
- .error-message {
469
- display: flex;
470
- align-items: flex-start;
471
- gap: var(--feedback-error-gap);
472
- padding: var(--feedback-error-padding);
473
- background: var(--error-bg);
474
- border: var(--space-fixed-2xs) solid var(--error-border);
475
- border-radius: var(--feedback-error-radius);
476
- color: var(--error-base);
477
- animation: slideDown 300ms var(--transition-smooth) both;
478
- }
479
-
480
- .error-icon {
481
- display: flex;
482
- align-items: center;
483
- justify-content: center;
484
- flex-shrink: 0;
485
- width: var(--feedback-error-icon-size);
486
- height: var(--feedback-error-icon-size);
487
- color: var(--error-base);
488
- }
489
-
490
- .error-message.shake {
491
- animation: shake 400ms var(--transition-smooth);
492
- }
493
-
494
- /* Notice */
495
- .notice {
496
- display: flex;
497
- align-items: flex-start;
498
- gap: var(--feedback-notice-gap);
499
- padding: var(--feedback-notice-padding);
500
- border-radius: var(--feedback-notice-radius);
501
- animation: slideUp 400ms var(--transition-smooth) both;
502
- }
503
-
504
- .notice-icon {
505
- display: flex;
506
- align-items: center;
507
- justify-content: center;
508
- flex-shrink: 0;
509
- width: var(--feedback-notice-icon-size);
510
- height: var(--feedback-notice-icon-size);
511
- }
512
-
513
- .notice-success {
514
- background: rgba(53, 122, 70, 0.08);
515
- border: var(--space-fixed-2xs) solid rgba(53, 122, 70, 0.2);
516
- color: var(--accent-success);
517
- }
518
-
519
- .notice-warning {
520
- background: rgba(180, 83, 9, 0.08);
521
- border: var(--space-fixed-2xs) solid rgba(180, 83, 9, 0.2);
522
- color: var(--semantic-warning);
523
- }
524
-
525
- .notice-info {
526
- background: rgba(3, 105, 161, 0.08);
527
- border: var(--space-fixed-2xs) solid rgba(3, 105, 161, 0.2);
528
- color: var(--semantic-info);
529
- }
530
- `;
531
-
532
- export default componentStyles;