@newtil/materials 0.4.5 → 0.4.7

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/dist/spec.json ADDED
@@ -0,0 +1,3207 @@
1
+ {
2
+ "$schema": "newtil-component-spec/1",
3
+ "package": "@newtil/materials",
4
+ "version": "0.4.7",
5
+ "generatedAt": "2026-09-17",
6
+ "conventions": {
7
+ "option": "클래스 `그룹:값` — 예 `btn:outlined`, `btn-size:sm`. 값이 없는 옵션은 flags.",
8
+ "variable": "컴포넌트 요소 자신에 준다: 인라인 style 또는 `.scope .m3-x { --x-*: … }`. 부모 요소의 style 은 상속되지 않는다.",
9
+ "order": "타입(class) → 옵션(options/flags) → 변수(variables). 변수는 옵션으로 안 될 때만.",
10
+ "tokens": "색·간격·모서리·글꼴은 design-tokens 변수만. tokens.groups 에 없는 이름은 존재하지 않는다.",
11
+ "brand": "브랜드색은 primitive 램프(--_hue-*)를 덮는다. 진한 primary 면 라이트 --color-on-primary 를 흰색으로."
12
+ },
13
+ "components": [
14
+ {
15
+ "name": "badge",
16
+ "class": "m3-badge",
17
+ "description": " ====== M3 Badge\nM3 spec: small dot (6dp) or large with number (16dp height)\nPosition: top-right corner of parent (needs relative parent)\n사용법:\n <div style=\"position: relative; display: inline-flex;\">\n <i class=\"m3-icon icon:mail\"></i>",
18
+ "slots": [],
19
+ "options": {
20
+ "badge": [
21
+ "dot",
22
+ "inline"
23
+ ],
24
+ "badge-color": [
25
+ "danger",
26
+ "primary",
27
+ "secondary",
28
+ "success",
29
+ "warning"
30
+ ]
31
+ },
32
+ "flags": [],
33
+ "variables": {
34
+ "--badge-background": {
35
+ "default": "var(--color-danger)"
36
+ },
37
+ "--badge-color": {
38
+ "default": "var(--color-on-danger)"
39
+ },
40
+ "--badge-font-size": {
41
+ "default": "0.6875rem"
42
+ },
43
+ "--badge-font-weight": {
44
+ "default": "var(--font-weight-medium)"
45
+ },
46
+ "--badge-min-width": {
47
+ "default": "1rem"
48
+ },
49
+ "--badge-height": {
50
+ "default": "1rem"
51
+ },
52
+ "--badge-padding": {
53
+ "default": "0 0.25rem"
54
+ },
55
+ "--badge-border-radius": {
56
+ "default": "var(--radius-full)"
57
+ },
58
+ "--badge-position": {
59
+ "default": "absolute"
60
+ },
61
+ "--badge-top": {
62
+ "default": "-0.25rem"
63
+ },
64
+ "--badge-right": {
65
+ "default": "-0.25rem"
66
+ }
67
+ },
68
+ "usage": "<div style=\"position: relative; display: inline-flex;\">\n <i class=\"m3-icon icon:email\"></i>\n <span class=\"m3-badge\">3</span>\n</div>\n\n<div style=\"position: relative; display: inline-flex;\">\n <i class=\"m3-icon icon:notifications\"></i>\n <span class=\"m3-badge\">99+</span>\n</div>"
69
+ },
70
+ {
71
+ "name": "bottom-sheet",
72
+ "class": "m3-bottom-sheet",
73
+ "description": " ====== M3 Bottom Sheet\nM3 spec: surface container, rounded top corners (28dp), drag handle\nTypes: standard (non-modal, default), modal (with scrim)\nHidden by default, shown with sheet-open.\n사용법:\n <div class=\"m3-bottom-sheet sheet-open\">",
74
+ "slots": [
75
+ "sheet-content",
76
+ "sheet-drag-handle",
77
+ "sheet-headline"
78
+ ],
79
+ "options": {
80
+ "sheet": [
81
+ "modal"
82
+ ]
83
+ },
84
+ "flags": [
85
+ "sheet-open"
86
+ ],
87
+ "variables": {
88
+ "--sheet-background": {
89
+ "default": "var(--color-surface)"
90
+ },
91
+ "--sheet-border-radius": {
92
+ "default": "1.75rem 1.75rem 0 0"
93
+ },
94
+ "--sheet-max-height": {
95
+ "default": "80vh"
96
+ },
97
+ "--sheet-z-index": {
98
+ "default": "var(--z-modal)"
99
+ },
100
+ "--sheet-box-shadow": {
101
+ "default": "var(--shadow-lg)"
102
+ },
103
+ "--sheet-padding": {
104
+ "default": "0"
105
+ },
106
+ "--sheet-border": {
107
+ "default": "none"
108
+ },
109
+ "--sheet-color": {
110
+ "default": "var(--color-text)"
111
+ },
112
+ "--sheet-bottom": {
113
+ "default": "0"
114
+ },
115
+ "--sheet-left": {
116
+ "default": "0"
117
+ },
118
+ "--sheet-width": {
119
+ "default": "100%"
120
+ },
121
+ "--sheet-handle-width": {
122
+ "default": "2rem"
123
+ },
124
+ "--sheet-handle-height": {
125
+ "default": "0.25rem"
126
+ },
127
+ "--sheet-handle-color": {
128
+ "default": "var(--color-border)"
129
+ },
130
+ "--sheet-handle-border-radius": {
131
+ "default": "var(--radius-full)"
132
+ },
133
+ "--sheet-handle-margin": {
134
+ "default": "1rem auto 0"
135
+ },
136
+ "--sheet-headline-font-size": {
137
+ "default": "1rem"
138
+ },
139
+ "--sheet-headline-font-weight": {
140
+ "default": "var(--font-weight-medium, 500)"
141
+ },
142
+ "--sheet-headline-color": {
143
+ "default": "var(--color-text)"
144
+ },
145
+ "--sheet-headline-line-height": {
146
+ "default": "1.5rem"
147
+ },
148
+ "--sheet-headline-margin": {
149
+ "default": "0 0 0.5rem"
150
+ },
151
+ "--sheet-content-padding": {
152
+ "default": "1rem 1.5rem 1.5rem"
153
+ },
154
+ "--sheet-content-color": {
155
+ "default": "var(--color-text-muted)"
156
+ },
157
+ "--sheet-content-font-size": {
158
+ "default": "0.875rem"
159
+ },
160
+ "--sheet-content-line-height": {
161
+ "default": "1.25rem"
162
+ },
163
+ "--sheet-scrim-color": {
164
+ "default": "var(--color-scrim)"
165
+ },
166
+ "--sheet-scrim-z-index": {
167
+ "default": "var(--z-overlay)"
168
+ },
169
+ "--sheet-transition": {
170
+ "default": "transform var(--duration-normal) var(--ease-out)"
171
+ }
172
+ },
173
+ "usage": "<div class=\"m3-bottom-sheet sheet-open\">\n <div class=\"sheet-drag-handle\"></div>\n <div class=\"sheet-content\">\n <h3 class=\"sheet-headline\">시트 제목</h3>\n <p>시트 본문 내용입니다.</p>\n </div>\n</div>"
174
+ },
175
+ {
176
+ "name": "btn",
177
+ "class": "m3-btn",
178
+ "description": " ====== M3 Button (Material Design 3 spec-aligned)\nSize : xs | sm (default) | md | lg | xl\nShape: round (default) | square\nType : filled (default) | elevated | tonal | outlined | text\nState: enabled (default) | disabled | hover | focus | active\nM3 spec source: material-components/material-web tokens",
179
+ "slots": [],
180
+ "options": {
181
+ "btn-state": [
182
+ "active",
183
+ "disabled",
184
+ "focus",
185
+ "hover"
186
+ ],
187
+ "btn": [
188
+ "elevated",
189
+ "outlined",
190
+ "text",
191
+ "tonal"
192
+ ],
193
+ "btn-color": [
194
+ "danger",
195
+ "primary",
196
+ "secondary",
197
+ "success",
198
+ "surface",
199
+ "surface-1",
200
+ "surface-inverse",
201
+ "tertiary",
202
+ "warning"
203
+ ],
204
+ "btn-size": [
205
+ "1",
206
+ "2",
207
+ "3",
208
+ "4",
209
+ "5",
210
+ "lg",
211
+ "md",
212
+ "sm",
213
+ "xl",
214
+ "xs"
215
+ ],
216
+ "btn-shape": [
217
+ "square"
218
+ ],
219
+ "btn-icon": [
220
+ "leading",
221
+ "trailing"
222
+ ]
223
+ },
224
+ "flags": [],
225
+ "variables": {
226
+ "--btn-font-size": {
227
+ "default": "0.875rem",
228
+ "note": "M3: 14sp"
229
+ },
230
+ "--btn-font-weight": {
231
+ "default": "var(--font-weight-medium)",
232
+ "note": "M3: 500"
233
+ },
234
+ "--btn-line-height": {
235
+ "default": "1.25rem",
236
+ "note": "M3: 20sp"
237
+ },
238
+ "--btn-letter-spacing": {
239
+ "default": "0.00625rem",
240
+ "note": "M3: 0.1px"
241
+ },
242
+ "--btn-height": {
243
+ "default": "2.5rem",
244
+ "note": "M3: 40dp"
245
+ },
246
+ "--btn-height-xs": {
247
+ "default": "2rem"
248
+ },
249
+ "--btn-padding-xs": {
250
+ "default": "0 1rem"
251
+ },
252
+ "--btn-font-size-xs": {
253
+ "default": "0.75rem"
254
+ },
255
+ "--btn-height-sm": {
256
+ "default": "2.5rem"
257
+ },
258
+ "--btn-padding-sm": {
259
+ "default": "0 1.5rem"
260
+ },
261
+ "--btn-font-size-sm": {
262
+ "default": "0.875rem"
263
+ },
264
+ "--btn-height-md": {
265
+ "default": "3rem"
266
+ },
267
+ "--btn-padding-md": {
268
+ "default": "0 1.75rem"
269
+ },
270
+ "--btn-font-size-md": {
271
+ "default": "1rem"
272
+ },
273
+ "--btn-height-lg": {
274
+ "default": "3.5rem"
275
+ },
276
+ "--btn-padding-lg": {
277
+ "default": "0 2rem"
278
+ },
279
+ "--btn-font-size-lg": {
280
+ "default": "1.125rem"
281
+ },
282
+ "--btn-height-xl": {
283
+ "default": "4rem"
284
+ },
285
+ "--btn-padding-xl": {
286
+ "default": "0 2.5rem"
287
+ },
288
+ "--btn-font-size-xl": {
289
+ "default": "1.25rem"
290
+ },
291
+ "--btn-padding": {
292
+ "default": "0 1.5rem",
293
+ "note": "M3: 24dp horizontal"
294
+ },
295
+ "--btn-gap": {
296
+ "default": "0.5rem",
297
+ "note": "M3: 8dp icon-label gap"
298
+ },
299
+ "--btn-icon-size": {
300
+ "default": "1.125rem",
301
+ "note": "M3: 18dp"
302
+ },
303
+ "--btn-accent": {
304
+ "default": "var(--color-primary)"
305
+ },
306
+ "--btn-on-accent": {
307
+ "default": "var(--color-on-primary)"
308
+ },
309
+ "--btn-color": {
310
+ "default": "var(--btn-on-accent)"
311
+ },
312
+ "--btn-background-color": {
313
+ "default": "var(--btn-accent)"
314
+ },
315
+ "--btn-background-image": {
316
+ "default": "none"
317
+ },
318
+ "--btn-box-shadow": {
319
+ "default": "none",
320
+ "note": "M3 filled: level0 at rest"
321
+ },
322
+ "--btn-elevation-hover": {
323
+ "default": "var(--shadow-sm)",
324
+ "note": "M3: level1 on hover"
325
+ },
326
+ "--btn-border-width": {
327
+ "default": "0"
328
+ },
329
+ "--btn-border-color": {
330
+ "default": "transparent"
331
+ },
332
+ "--btn-border-style": {
333
+ "default": "solid"
334
+ },
335
+ "--btn-border-radius": {
336
+ "default": "var(--radius-full)",
337
+ "note": "M3: corner-full"
338
+ },
339
+ "--btn-outline": {
340
+ "default": "none"
341
+ },
342
+ "--btn-outline-offset": {
343
+ "default": "0"
344
+ },
345
+ "--btn-state-hover-opacity": {
346
+ "default": "0.08",
347
+ "note": "M3: hover = 8%"
348
+ },
349
+ "--btn-state-focus-opacity": {
350
+ "default": "0.12",
351
+ "note": "M3: focus = 12%"
352
+ },
353
+ "--btn-state-pressed-opacity": {
354
+ "default": "0.12",
355
+ "note": "M3: pressed = 12%"
356
+ },
357
+ "--btn-state-layer-color": {
358
+ "default": "var(--btn-on-accent)"
359
+ }
360
+ },
361
+ "usage": "<!-- filled (기본) -->\n<button class=\"m3-btn\">Filled</button>\n\n<!-- elevated -->\n<button class=\"m3-btn btn:elevated\">Elevated</button>\n\n<!-- tonal -->\n<button class=\"m3-btn btn:tonal\">Tonal</button>\n\n<!-- outlined -->\n<button class=\"m3-btn btn:outlined\">Outlined</button>\n\n<!-- text -->\n<button class=\"m3-btn btn:text\">Text</button>"
362
+ },
363
+ {
364
+ "name": "card",
365
+ "class": "m3-card",
366
+ "description": " ====== M3 Card (Material Design 3 spec-aligned)\nType : elevated (default) | filled | outlined\nState: enabled (default) | disabled | hover | focus | active | dragged\n원칙: 모든 CSS 속성은 .m3-card 에서 변수로 적용.\n 옵션 클래스는 변수 값만 변경. CSS 속성 직접 사용 금지.\nVariable API: --card-* 변수로 모든 시각 요소 커스텀 가능",
367
+ "slots": [
368
+ "card-actions",
369
+ "card-actions-end",
370
+ "card-avatar",
371
+ "card-content",
372
+ "card-header",
373
+ "card-headline",
374
+ "card-media",
375
+ "card-subhead",
376
+ "card-titles"
377
+ ],
378
+ "options": {
379
+ "card-state": [
380
+ "disabled",
381
+ "dragged",
382
+ "focused",
383
+ "hovered",
384
+ "pressed"
385
+ ],
386
+ "card": [
387
+ "elevated",
388
+ "filled",
389
+ "outlined"
390
+ ],
391
+ "card-hover": [
392
+ "enabled"
393
+ ],
394
+ "card-padding": [
395
+ "self"
396
+ ],
397
+ "card-layout": [
398
+ "horizontal"
399
+ ],
400
+ "card-size": [
401
+ "compact",
402
+ "large"
403
+ ]
404
+ },
405
+ "flags": [
406
+ "card-clickable"
407
+ ],
408
+ "variables": {
409
+ "--card-background": {
410
+ "default": "var(--color-surface-1)"
411
+ },
412
+ "--card-width": {
413
+ "default": "auto"
414
+ },
415
+ "--card-height": {
416
+ "default": "auto"
417
+ },
418
+ "--card-border": {
419
+ "default": "none"
420
+ },
421
+ "--card-border-radius": {
422
+ "default": "0.75rem"
423
+ },
424
+ "--card-box-shadow": {
425
+ "default": "var(--shadow-sm)"
426
+ },
427
+ "--card-opacity": {
428
+ "default": "1"
429
+ },
430
+ "--card-color": {
431
+ "default": "var(--color-text)"
432
+ },
433
+ "--card-text-decoration": {
434
+ "default": "none"
435
+ },
436
+ "--card-outline": {
437
+ "default": "none"
438
+ },
439
+ "--card-outline-offset": {
440
+ "default": "0"
441
+ },
442
+ "--card-transform": {
443
+ "default": "none"
444
+ },
445
+ "--card-cursor": {
446
+ "default": "default"
447
+ },
448
+ "--card-overflow": {
449
+ "default": "hidden"
450
+ },
451
+ "--card-flex-direction": {
452
+ "default": "column"
453
+ },
454
+ "--card-padding-x": {
455
+ "default": "1rem"
456
+ },
457
+ "--card-padding-y": {
458
+ "default": "1rem"
459
+ },
460
+ "--card-header-gap": {
461
+ "default": "1rem"
462
+ },
463
+ "--card-headline-size": {
464
+ "default": "1.5rem"
465
+ },
466
+ "--card-headline-weight": {
467
+ "default": "400"
468
+ },
469
+ "--card-headline-line-height": {
470
+ "default": "1.75rem"
471
+ },
472
+ "--card-headline-color": {
473
+ "default": "var(--color-text)"
474
+ },
475
+ "--card-headline-margin": {
476
+ "default": "0"
477
+ },
478
+ "--card-subhead-size": {
479
+ "default": "0.875rem"
480
+ },
481
+ "--card-subhead-weight": {
482
+ "default": "500"
483
+ },
484
+ "--card-subhead-color": {
485
+ "default": "var(--color-text-muted)"
486
+ },
487
+ "--card-subhead-margin": {
488
+ "default": "0.25rem 0 0"
489
+ },
490
+ "--card-supporting-size": {
491
+ "default": "0.875rem"
492
+ },
493
+ "--card-supporting-color": {
494
+ "default": "var(--color-text-muted)"
495
+ },
496
+ "--card-supporting-line-height": {
497
+ "default": "1.25rem"
498
+ },
499
+ "--card-avatar-size": {
500
+ "default": "2.5rem"
501
+ },
502
+ "--card-avatar-radius": {
503
+ "default": "50%"
504
+ },
505
+ "--card-avatar-background": {
506
+ "default": "var(--color-primary-subtle)"
507
+ },
508
+ "--card-avatar-color": {
509
+ "default": "var(--color-primary)"
510
+ },
511
+ "--card-avatar-font-size": {
512
+ "default": "1rem"
513
+ },
514
+ "--card-avatar-font-weight": {
515
+ "default": "600"
516
+ },
517
+ "--card-media-height": {
518
+ "default": "auto"
519
+ },
520
+ "--card-media-object-fit": {
521
+ "default": "cover"
522
+ },
523
+ "--card-media-width": {
524
+ "default": "auto"
525
+ },
526
+ "--card-actions-gap": {
527
+ "default": "0.5rem"
528
+ },
529
+ "--card-actions-padding": {
530
+ "default": "0 var(--card-padding-x) var(--card-padding-y)"
531
+ },
532
+ "--card-state-layer-color": {
533
+ "default": "var(--color-text)"
534
+ },
535
+ "--card-state-hover-opacity": {
536
+ "default": "0"
537
+ },
538
+ "--card-state-focus-opacity": {
539
+ "default": "0"
540
+ },
541
+ "--card-state-pressed-opacity": {
542
+ "default": "0"
543
+ },
544
+ "--card-state-dragged-opacity": {
545
+ "default": "0"
546
+ },
547
+ "--card-elevation-hover": {
548
+ "default": "var(--shadow-sm)"
549
+ }
550
+ },
551
+ "usage": "<div class=\"m3-card\">\n <div class=\"card-header\">\n <h3 class=\"card-headline\">카드 제목</h3>\n <p class=\"card-subhead\">부제목</p>\n </div>\n <div class=\"card-content\">\n <p>카드 본문 텍스트입니다.</p>\n </div>\n</div>"
552
+ },
553
+ {
554
+ "name": "checkbox",
555
+ "class": "m3-checkbox",
556
+ "description": " ====== M3 Checkbox\nM3 spec: 18dp box, 2dp radius, primary when checked\nVariable API: --checkbox-* 변수로 커스텀 가능",
557
+ "slots": [],
558
+ "options": {
559
+ "checkbox-mode": [
560
+ "indeterminate"
561
+ ],
562
+ "checkbox-color": [
563
+ "danger",
564
+ "primary",
565
+ "secondary",
566
+ "success",
567
+ "tertiary",
568
+ "warning"
569
+ ],
570
+ "checkbox-state": [
571
+ "checked",
572
+ "disabled",
573
+ "focused",
574
+ "hovered"
575
+ ]
576
+ },
577
+ "flags": [],
578
+ "variables": {
579
+ "--checkbox-display": {
580
+ "default": "inline-flex"
581
+ },
582
+ "--checkbox-align-items": {
583
+ "default": "center"
584
+ },
585
+ "--checkbox-padding": {
586
+ "default": "0.5rem"
587
+ },
588
+ "--checkbox-cursor": {
589
+ "default": "pointer"
590
+ },
591
+ "--checkbox-gap": {
592
+ "default": "0.75rem"
593
+ },
594
+ "--checkbox-size": {
595
+ "default": "1.125rem"
596
+ },
597
+ "--checkbox-border-radius": {
598
+ "default": "0.125rem"
599
+ },
600
+ "--checkbox-border-width": {
601
+ "default": "0.125rem"
602
+ },
603
+ "--checkbox-border-color": {
604
+ "default": "var(--color-text-muted)"
605
+ },
606
+ "--checkbox-background": {
607
+ "default": "transparent"
608
+ },
609
+ "--checkbox-check-color": {
610
+ "default": "var(--color-on-primary)"
611
+ },
612
+ "--checkbox-check-background": {
613
+ "default": "var(--color-primary)"
614
+ },
615
+ "--checkbox-check-opacity": {
616
+ "default": "0"
617
+ },
618
+ "--checkbox-check-content": {
619
+ "default": "\"\\e5ca\""
620
+ },
621
+ "--checkbox-check-font-size": {
622
+ "default": "1.125rem"
623
+ },
624
+ "--checkbox-state-size": {
625
+ "default": "2.5rem"
626
+ },
627
+ "--checkbox-state-color": {
628
+ "default": "var(--color-primary)"
629
+ },
630
+ "--checkbox-state-opacity": {
631
+ "default": "0"
632
+ },
633
+ "--checkbox-label-size": {
634
+ "default": "0.875rem"
635
+ },
636
+ "--checkbox-label-color": {
637
+ "default": "var(--color-text)"
638
+ },
639
+ "--checkbox-transition": {
640
+ "default": "all var(--duration-fast) var(--ease-in-out)"
641
+ }
642
+ },
643
+ "usage": "<div style=\"display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center;\">\n <button class=\"m3-btn\">저장</button>\n <div class=\"m3-text-field\" style=\"max-width: 14rem;\">\n <input type=\"text\" placeholder=\" \">\n <label>이름</label>\n </div>\n <label class=\"m3-checkbox\"><input type=\"checkbox\" checked> 동의</label>\n</div>"
644
+ },
645
+ {
646
+ "name": "chip",
647
+ "class": "m3-chip",
648
+ "description": " ====== M3 Chips\nType: assist | filter | input | suggestion\nM3 spec: 32dp height, corner-small (8dp), label-large text\n사용법:\n <span class=\"m3-chip\">기본 칩</span>\n <span class=\"m3-chip chip:outlined\">아웃라인</span>",
649
+ "slots": [
650
+ "chip-close",
651
+ "chip-icon"
652
+ ],
653
+ "options": {
654
+ "chip-state": [
655
+ "disabled"
656
+ ],
657
+ "chip": [
658
+ "elevated",
659
+ "selected"
660
+ ],
661
+ "chip-color": [
662
+ "danger",
663
+ "primary",
664
+ "secondary",
665
+ "success",
666
+ "warning"
667
+ ]
668
+ },
669
+ "flags": [],
670
+ "variables": {
671
+ "--chip-display": {
672
+ "default": "inline-flex"
673
+ },
674
+ "--chip-align-items": {
675
+ "default": "center"
676
+ },
677
+ "--chip-height": {
678
+ "default": "2rem"
679
+ },
680
+ "--chip-padding": {
681
+ "default": "0 0.75rem"
682
+ },
683
+ "--chip-gap": {
684
+ "default": "0.5rem"
685
+ },
686
+ "--chip-border-radius": {
687
+ "default": "0.5rem"
688
+ },
689
+ "--chip-background": {
690
+ "default": "transparent"
691
+ },
692
+ "--chip-color": {
693
+ "default": "var(--color-text)"
694
+ },
695
+ "--chip-border": {
696
+ "default": "0.0625rem solid var(--color-border)"
697
+ },
698
+ "--chip-cursor": {
699
+ "default": "pointer"
700
+ },
701
+ "--chip-font-size": {
702
+ "default": "0.875rem"
703
+ },
704
+ "--chip-font-weight": {
705
+ "default": "var(--font-weight-medium)"
706
+ },
707
+ "--chip-box-shadow": {
708
+ "default": "none"
709
+ },
710
+ "--chip-icon-size": {
711
+ "default": "1.125rem"
712
+ },
713
+ "--chip-close-radius": {
714
+ "default": "50%"
715
+ },
716
+ "--chip-close-background": {
717
+ "default": "transparent"
718
+ },
719
+ "--chip-state-hover-opacity": {
720
+ "default": "0.08"
721
+ },
722
+ "--chip-state-pressed-opacity": {
723
+ "default": "0.12"
724
+ },
725
+ "--chip-selected-background": {
726
+ "default": "var(--color-primary-subtle)"
727
+ },
728
+ "--chip-selected-color": {
729
+ "default": "var(--color-primary)"
730
+ },
731
+ "--chip-selected-border": {
732
+ "default": "0.0625rem solid transparent"
733
+ },
734
+ "--chip-transition": {
735
+ "default": "all var(--duration-fast) var(--ease-in-out)"
736
+ }
737
+ },
738
+ "usage": "<span class=\"m3-chip\">기본 칩</span>\n<span class=\"m3-chip\">필터</span>\n<span class=\"m3-chip\">태그</span>"
739
+ },
740
+ {
741
+ "name": "deco",
742
+ "class": "m3-deco",
743
+ "description": " ====== M3 Deco (Icon + Text Decoration)\n아이콘과 텍스트를 방향에 따라 조합하는 장식 컴포넌트.\nNavigation Bar, Navigation Rail, Tab Bar, 사이드바 메뉴 항목 등에 사용.\n사용법:\n <span class=\"m3-deco icon:home deco-pos:left\">홈</span>\n <span class=\"m3-deco icon:home deco-pos:top deco-active\">홈</span>",
744
+ "slots": [],
745
+ "options": {
746
+ "deco-pos": [
747
+ "bottom",
748
+ "left",
749
+ "right",
750
+ "top"
751
+ ],
752
+ "deco-gap": [
753
+ "0",
754
+ "1",
755
+ "2",
756
+ "3",
757
+ "4",
758
+ "5"
759
+ ],
760
+ "deco-color": [
761
+ "danger",
762
+ "on-surface",
763
+ "primary",
764
+ "primary-hover",
765
+ "secondary",
766
+ "secondary-hover",
767
+ "success",
768
+ "surface",
769
+ "tertiary",
770
+ "text",
771
+ "text-muted",
772
+ "warning"
773
+ ],
774
+ "deco-size": [
775
+ "1",
776
+ "2",
777
+ "3",
778
+ "4",
779
+ "5"
780
+ ],
781
+ "icon-filled": [
782
+ "0",
783
+ "1"
784
+ ]
785
+ },
786
+ "flags": [
787
+ "deco-active"
788
+ ],
789
+ "variables": {
790
+ "--icon-size": {
791
+ "default": "1.5rem",
792
+ "note": "24dp"
793
+ },
794
+ "--icon-family": {
795
+ "default": "\"Material Symbols Outlined\""
796
+ },
797
+ "--icon-fill": {
798
+ "default": "0"
799
+ },
800
+ "--icon-weight": {
801
+ "default": "400"
802
+ },
803
+ "--icon-grade": {
804
+ "default": "0"
805
+ },
806
+ "--icon-optical-size": {
807
+ "default": "24"
808
+ },
809
+ "--deco-gap": {
810
+ "default": "0.5rem",
811
+ "note": "8dp"
812
+ },
813
+ "--deco-flex-direction": {
814
+ "default": "row"
815
+ },
816
+ "--deco-width": {
817
+ "default": "auto"
818
+ },
819
+ "--deco-height": {
820
+ "default": "auto"
821
+ },
822
+ "--deco-padding": {
823
+ "default": "0"
824
+ },
825
+ "--deco-border-radius": {
826
+ "default": "0"
827
+ },
828
+ "--deco-background-color": {
829
+ "default": "transparent"
830
+ },
831
+ "--deco-color": {
832
+ "default": "var(--color-primary)"
833
+ },
834
+ "--deco-font-size": {
835
+ "default": "var(--font-size-body-sm)"
836
+ },
837
+ "--deco-active-text-color": {
838
+ "default": "var(--color-on-primary)"
839
+ },
840
+ "--deco-pill-height": {
841
+ "default": "2rem"
842
+ },
843
+ "--deco-pill-width": {
844
+ "default": "calc(var(--icon-size) + 2rem)"
845
+ },
846
+ "--deco-pill-radius": {
847
+ "default": "1rem"
848
+ },
849
+ "--deco-pill-background": {
850
+ "default": "transparent"
851
+ },
852
+ "--deco-pill-color": {
853
+ "default": "inherit"
854
+ }
855
+ },
856
+ "usage": "<!-- icon 클래스 사용 -->\n<span class=\"m3-deco icon:home deco-pos:top\">홈</span>\n\n<!-- data-icon 속성 사용 -->\n<span class=\"m3-deco deco-pos:top\" data-icon=\"shopping_cart\">장바구니</span>"
857
+ },
858
+ {
859
+ "name": "dialog",
860
+ "class": "m3-dialog",
861
+ "description": " ====== M3 Dialog\nM3 spec: surface-container-high, 28dp radius, 24dp padding\nMin 280dp, Max 560dp. Scrim overlay.\nVariable API: --dialog-* 변수로 커스텀 가능",
862
+ "slots": [
863
+ "dialog-actions",
864
+ "dialog-content",
865
+ "dialog-headline",
866
+ "dialog-icon"
867
+ ],
868
+ "options": {},
869
+ "flags": [
870
+ "dialog-open"
871
+ ],
872
+ "variables": {
873
+ "--dialog-background": {
874
+ "default": "var(--color-surface-2)"
875
+ },
876
+ "--dialog-border-radius": {
877
+ "default": "1.75rem"
878
+ },
879
+ "--dialog-padding": {
880
+ "default": "1.5rem"
881
+ },
882
+ "--dialog-min-width": {
883
+ "default": "17.5rem"
884
+ },
885
+ "--dialog-max-width": {
886
+ "default": "35rem"
887
+ },
888
+ "--dialog-color": {
889
+ "default": "var(--color-text-muted)"
890
+ },
891
+ "--dialog-border": {
892
+ "default": "none"
893
+ },
894
+ "--dialog-box-shadow": {
895
+ "default": "var(--shadow-lg)"
896
+ },
897
+ "--dialog-scrim-color": {
898
+ "default": "var(--color-scrim)"
899
+ },
900
+ "--dialog-z-index": {
901
+ "default": "var(--z-modal)"
902
+ },
903
+ "--dialog-headline-color": {
904
+ "default": "var(--color-text)"
905
+ },
906
+ "--dialog-headline-size": {
907
+ "default": "1.5rem"
908
+ },
909
+ "--dialog-headline-weight": {
910
+ "default": "var(--font-weight-regular)"
911
+ },
912
+ "--dialog-headline-line-height": {
913
+ "default": "2rem"
914
+ },
915
+ "--dialog-headline-margin": {
916
+ "default": "0 0 1rem"
917
+ },
918
+ "--dialog-content-color": {
919
+ "default": "var(--color-text-muted)"
920
+ },
921
+ "--dialog-content-size": {
922
+ "default": "0.875rem"
923
+ },
924
+ "--dialog-content-line-height": {
925
+ "default": "1.25rem"
926
+ },
927
+ "--dialog-content-margin": {
928
+ "default": "0 0 1.5rem"
929
+ },
930
+ "--dialog-actions-gap": {
931
+ "default": "0.5rem"
932
+ },
933
+ "--dialog-actions-justify": {
934
+ "default": "flex-end"
935
+ },
936
+ "--dialog-icon-margin": {
937
+ "default": "0 0 1rem"
938
+ },
939
+ "--dialog-icon-color": {
940
+ "default": "var(--color-primary)"
941
+ },
942
+ "--dialog-icon-size": {
943
+ "default": "1.5rem"
944
+ }
945
+ },
946
+ "usage": "<dialog class=\"m3-dialog\" open>\n <h2 class=\"dialog-headline\">제목</h2>\n <div class=\"dialog-content\">\n 다이얼로그 본문 텍스트입니다. 사용자에게 전달할 내용을 작성합니다.\n </div>\n <div class=\"dialog-actions\">\n <button class=\"m3-btn btn:text\">취소</button>\n <button class=\"m3-btn btn:text\">확인</button>\n </div>\n</dialog>"
947
+ },
948
+ {
949
+ "name": "divider",
950
+ "class": "m3-divider",
951
+ "description": " ====== M3 Divider (Material Design 3 spec-aligned)\nType : full-width (default) | inset | middle-inset | vertical\nM3 spec: 1dp height, outline-variant color\nRef: https://m3.material.io/components/divider/specs\nVariable API: --divider-* 변수로 모든 시각 요소 커스텀 가능",
952
+ "slots": [],
953
+ "options": {
954
+ "divider": [
955
+ "inset",
956
+ "middle-inset",
957
+ "vertical"
958
+ ]
959
+ },
960
+ "flags": [],
961
+ "variables": {
962
+ "--divider-color": {
963
+ "default": "var(--color-border)",
964
+ "note": "M3: outline-variant"
965
+ },
966
+ "--divider-width": {
967
+ "default": "100%",
968
+ "note": "M3: full-width"
969
+ },
970
+ "--divider-thickness": {
971
+ "default": "0.0625rem",
972
+ "note": "M3: 1dp"
973
+ },
974
+ "--divider-margin": {
975
+ "default": "0"
976
+ },
977
+ "--divider-inset-start": {
978
+ "default": "0"
979
+ },
980
+ "--divider-inset-end": {
981
+ "default": "0"
982
+ },
983
+ "--divider-height": {
984
+ "default": "auto",
985
+ "note": "vertical 시 사용"
986
+ }
987
+ },
988
+ "usage": "<hr class=\"m3-divider\">"
989
+ },
990
+ {
991
+ "name": "fab",
992
+ "class": "m3-fab",
993
+ "description": " ====== M3 FAB (Material Design 3 spec-aligned)\nSize : fab (default 56dp) | fab:small (40dp) | fab:large (96dp) | fab:extended\nColor: surface (default) | primary | secondary | tertiary\nState: enabled (default) | hover | focus | active | disabled\nM3 spec: level3 shadow at rest, level4 on hover\nRef: https://m3.material.io/components/floating-action-button/specs",
994
+ "slots": [],
995
+ "options": {
996
+ "fab-state": [
997
+ "active",
998
+ "disabled",
999
+ "focus",
1000
+ "hover"
1001
+ ],
1002
+ "fab": [
1003
+ "extended",
1004
+ "large",
1005
+ "small"
1006
+ ],
1007
+ "fab-color": [
1008
+ "primary",
1009
+ "secondary",
1010
+ "surface",
1011
+ "tertiary"
1012
+ ]
1013
+ },
1014
+ "flags": [],
1015
+ "variables": {
1016
+ "--fab-size": {
1017
+ "default": "3.5rem",
1018
+ "note": "M3: 56dp"
1019
+ },
1020
+ "--fab-padding": {
1021
+ "default": "1rem",
1022
+ "note": "M3: 16dp"
1023
+ },
1024
+ "--fab-gap": {
1025
+ "default": "0.75rem",
1026
+ "note": "M3: 12dp (extended)"
1027
+ },
1028
+ "--fab-icon-size": {
1029
+ "default": "1.5rem",
1030
+ "note": "M3: 24dp"
1031
+ },
1032
+ "--fab-background": {
1033
+ "default": "var(--color-surface-1)",
1034
+ "note": "M3: surface-container-high"
1035
+ },
1036
+ "--fab-color": {
1037
+ "default": "var(--color-primary)",
1038
+ "note": "M3: primary"
1039
+ },
1040
+ "--fab-box-shadow": {
1041
+ "default": "var(--shadow-lg)",
1042
+ "note": "M3: level3"
1043
+ },
1044
+ "--fab-elevation-hover": {
1045
+ "default": "var(--shadow-xl)",
1046
+ "note": "M3: level4"
1047
+ },
1048
+ "--fab-border-radius": {
1049
+ "default": "1rem",
1050
+ "note": "M3: large = 16dp"
1051
+ },
1052
+ "--fab-font-size": {
1053
+ "default": "0.875rem",
1054
+ "note": "M3: label-large 14sp"
1055
+ },
1056
+ "--fab-font-weight": {
1057
+ "default": "var(--font-weight-medium)",
1058
+ "note": "M3: 500"
1059
+ },
1060
+ "--fab-line-height": {
1061
+ "default": "1.25rem",
1062
+ "note": "M3: 20sp"
1063
+ },
1064
+ "--fab-letter-spacing": {
1065
+ "default": "0.00625rem",
1066
+ "note": "M3: 0.1px"
1067
+ },
1068
+ "--fab-outline": {
1069
+ "default": "none"
1070
+ },
1071
+ "--fab-outline-offset": {
1072
+ "default": "0"
1073
+ },
1074
+ "--fab-state-layer-color": {
1075
+ "default": "var(--color-primary)"
1076
+ },
1077
+ "--fab-state-hover-opacity": {
1078
+ "default": "0.08",
1079
+ "note": "M3: 8%"
1080
+ },
1081
+ "--fab-state-focus-opacity": {
1082
+ "default": "0.12",
1083
+ "note": "M3: 12%"
1084
+ },
1085
+ "--fab-state-pressed-opacity": {
1086
+ "default": "0.12",
1087
+ "note": "M3: 12%"
1088
+ }
1089
+ },
1090
+ "usage": "<button class=\"m3-fab\">\n <i class=\"m3-icon icon:add\"></i>\n</button>"
1091
+ },
1092
+ {
1093
+ "name": "form",
1094
+ "class": "m3-form",
1095
+ "description": " ====== M3 Form (newtil 확장)\nM3 스펙에는 Form 전용 컴포넌트가 없습니다. 이 컴포넌트는\n폼의 공통 레이아웃 패턴(헤더 / 필드 / 액션 / 메시지)을 표준화하기 위한\nnewtil 확장입니다.\n사용법:\n <form class=\"m3-form\">",
1096
+ "slots": [
1097
+ "form-actions",
1098
+ "form-description",
1099
+ "form-fields",
1100
+ "form-header",
1101
+ "form-headline",
1102
+ "form-message"
1103
+ ],
1104
+ "options": {
1105
+ "form": [
1106
+ "compact",
1107
+ "loose"
1108
+ ]
1109
+ },
1110
+ "flags": [],
1111
+ "variables": {
1112
+ "--form-display": {
1113
+ "default": "flex"
1114
+ },
1115
+ "--form-flex-direction": {
1116
+ "default": "column"
1117
+ },
1118
+ "--form-gap": {
1119
+ "default": "1.5rem"
1120
+ },
1121
+ "--form-width": {
1122
+ "default": "100%"
1123
+ },
1124
+ "--form-header-gap": {
1125
+ "default": "0.25rem"
1126
+ },
1127
+ "--form-headline-size": {
1128
+ "default": "1.5rem"
1129
+ },
1130
+ "--form-headline-weight": {
1131
+ "default": "600"
1132
+ },
1133
+ "--form-headline-color": {
1134
+ "default": "var(--color-text)"
1135
+ },
1136
+ "--form-headline-line-height": {
1137
+ "default": "2rem"
1138
+ },
1139
+ "--form-headline-margin": {
1140
+ "default": "0"
1141
+ },
1142
+ "--form-description-size": {
1143
+ "default": "0.875rem"
1144
+ },
1145
+ "--form-description-color": {
1146
+ "default": "var(--color-text-muted)"
1147
+ },
1148
+ "--form-description-line-height": {
1149
+ "default": "1.25rem"
1150
+ },
1151
+ "--form-description-margin": {
1152
+ "default": "0"
1153
+ },
1154
+ "--form-fields-gap": {
1155
+ "default": "1rem"
1156
+ },
1157
+ "--form-actions-gap": {
1158
+ "default": "0.5rem"
1159
+ },
1160
+ "--form-actions-justify": {
1161
+ "default": "flex-end"
1162
+ },
1163
+ "--form-actions-align": {
1164
+ "default": "center"
1165
+ },
1166
+ "--form-message-padding": {
1167
+ "default": "0.75rem 1rem"
1168
+ },
1169
+ "--form-message-border-radius": {
1170
+ "default": "0.5rem"
1171
+ },
1172
+ "--form-message-font-size": {
1173
+ "default": "0.875rem"
1174
+ },
1175
+ "--form-message-line-height": {
1176
+ "default": "1.25rem"
1177
+ },
1178
+ "--form-message-background": {
1179
+ "default": "var(--color-surface-2)"
1180
+ },
1181
+ "--form-message-color": {
1182
+ "default": "var(--color-text)"
1183
+ }
1184
+ },
1185
+ "usage": "<form class=\"m3-form\" style=\"max-width: 22rem;\">\n <div class=\"form-header\">\n <h2 class=\"form-headline\">로그인</h2>\n <p class=\"form-description\">계정 정보를 입력하세요.</p>\n </div>\n <div class=\"form-message form-message:error\">\n 이메일 또는 비밀번호가 올바르지 않습니다.\n </div>\n <div class=\"form-fields\">\n <div class=\"m3-text-field field:outlined\">\n <input type=\"email\" placeholder=\" \">\n <label>이메일</label>\n </div>\n <div class=\"m3-text-field field:outlined\">\n <input type=\"password\" placeholder=\" \">\n <label>비밀번호</label>\n </div>\n </div>\n <div class=\"form-actions\">\n <button type=\"button\" class=\"m3-btn btn:text\">취소</button>\n <button type=\"button\" class=\"m3-btn\">로그인</button>\n </div>\n</form>"
1186
+ },
1187
+ {
1188
+ "name": "icon-btn",
1189
+ "class": "m3-icon-btn",
1190
+ "description": " ====== M3 Icon Button (Material Design 3 spec-aligned)\nType : standard (default) | filled | tonal | outlined\nToggle: icon-btn-toggle:selected | icon-btn-toggle:unselected\nState: enabled (default) | hover | focus | active | disabled\nM3 spec: 48dp touch target, 40dp visible container\nRef: https://m3.material.io/components/icon-buttons/specs",
1191
+ "slots": [],
1192
+ "options": {
1193
+ "icon-btn-state": [
1194
+ "active",
1195
+ "disabled",
1196
+ "focus",
1197
+ "hover"
1198
+ ],
1199
+ "icon-btn": [
1200
+ "filled",
1201
+ "outlined",
1202
+ "tonal"
1203
+ ],
1204
+ "icon-btn-toggle": [
1205
+ "selected",
1206
+ "unselected"
1207
+ ]
1208
+ },
1209
+ "flags": [],
1210
+ "variables": {
1211
+ "--icon-btn-size": {
1212
+ "default": "2.5rem",
1213
+ "note": "M3: 40dp visible"
1214
+ },
1215
+ "--icon-btn-touch-size": {
1216
+ "default": "3rem",
1217
+ "note": "M3: 48dp touch target"
1218
+ },
1219
+ "--icon-btn-icon-size": {
1220
+ "default": "1.5rem",
1221
+ "note": "M3: 24dp"
1222
+ },
1223
+ "--icon-btn-background": {
1224
+ "default": "transparent"
1225
+ },
1226
+ "--icon-btn-color": {
1227
+ "default": "var(--color-text)",
1228
+ "note": "M3: on-surface-variant"
1229
+ },
1230
+ "--icon-btn-box-shadow": {
1231
+ "default": "none"
1232
+ },
1233
+ "--icon-btn-border-width": {
1234
+ "default": "0"
1235
+ },
1236
+ "--icon-btn-border-color": {
1237
+ "default": "transparent"
1238
+ },
1239
+ "--icon-btn-border-style": {
1240
+ "default": "solid"
1241
+ },
1242
+ "--icon-btn-border-radius": {
1243
+ "default": "var(--radius-full)",
1244
+ "note": "M3: full"
1245
+ },
1246
+ "--icon-btn-outline": {
1247
+ "default": "none"
1248
+ },
1249
+ "--icon-btn-outline-offset": {
1250
+ "default": "0"
1251
+ },
1252
+ "--icon-btn-state-layer-color": {
1253
+ "default": "var(--color-text)"
1254
+ },
1255
+ "--icon-btn-state-hover-opacity": {
1256
+ "default": "0.08",
1257
+ "note": "M3: 8%"
1258
+ },
1259
+ "--icon-btn-state-focus-opacity": {
1260
+ "default": "0.12",
1261
+ "note": "M3: 12%"
1262
+ },
1263
+ "--icon-btn-state-pressed-opacity": {
1264
+ "default": "0.12",
1265
+ "note": "M3: 12%"
1266
+ }
1267
+ },
1268
+ "usage": "<!-- standard (기본) -->\n<button class=\"m3-icon-btn\">\n <i class=\"m3-icon icon:settings\"></i>\n</button>"
1269
+ },
1270
+ {
1271
+ "name": "icon",
1272
+ "class": "m3-icon",
1273
+ "description": " ====== M3 Icon (Material Symbols)\nMaterial Symbols 폰트 기반 아이콘 컴포넌트.\n아이콘 코드포인트는 icon-essential.css (또는 사용자 정의)에서 ::before content로 제공.\n사용법:\n <i class=\"m3-icon icon:home\"></i>\n <i class=\"m3-icon icon:search icon-style:rounded icon-filled:1\"></i>",
1274
+ "slots": [],
1275
+ "options": {
1276
+ "icon-style": [
1277
+ "outlined",
1278
+ "rounded",
1279
+ "sharp"
1280
+ ],
1281
+ "icon-filled": [
1282
+ "0",
1283
+ "1"
1284
+ ],
1285
+ "icon-weight": [
1286
+ "100",
1287
+ "200",
1288
+ "300",
1289
+ "400",
1290
+ "500",
1291
+ "600",
1292
+ "700"
1293
+ ],
1294
+ "icon-grade": [
1295
+ "high",
1296
+ "low",
1297
+ "normal"
1298
+ ],
1299
+ "icon-optical": [
1300
+ "20",
1301
+ "24",
1302
+ "40",
1303
+ "48"
1304
+ ],
1305
+ "icon-size": [
1306
+ "1",
1307
+ "2",
1308
+ "3",
1309
+ "4",
1310
+ "5",
1311
+ "lg",
1312
+ "md",
1313
+ "sm",
1314
+ "xl",
1315
+ "xs"
1316
+ ],
1317
+ "icon-color": [
1318
+ "black",
1319
+ "danger",
1320
+ "on-surface",
1321
+ "primary",
1322
+ "primary-active",
1323
+ "primary-hover",
1324
+ "secondary",
1325
+ "secondary-hover",
1326
+ "success",
1327
+ "surface",
1328
+ "tertiary",
1329
+ "tertiary-hover",
1330
+ "text",
1331
+ "text-muted",
1332
+ "text-subtle",
1333
+ "warning",
1334
+ "white"
1335
+ ]
1336
+ },
1337
+ "flags": [
1338
+ "icon-hover"
1339
+ ],
1340
+ "variables": {
1341
+ "--icon-size": {
1342
+ "default": "1.5rem",
1343
+ "note": "M3: 24dp default"
1344
+ },
1345
+ "--icon-family": {
1346
+ "default": "\"Material Symbols Outlined\""
1347
+ },
1348
+ "--icon-fill": {
1349
+ "default": "0",
1350
+ "note": "0 = outlined, 1 = filled"
1351
+ },
1352
+ "--icon-weight": {
1353
+ "default": "400",
1354
+ "note": "100~700"
1355
+ },
1356
+ "--icon-grade": {
1357
+ "default": "0",
1358
+ "note": "-25, 0, 200"
1359
+ },
1360
+ "--icon-optical-size": {
1361
+ "default": "24",
1362
+ "note": "20, 24, 40, 48"
1363
+ },
1364
+ "--icon-hover-border-radius": {
1365
+ "default": "50%"
1366
+ },
1367
+ "--icon-hover-scale": {
1368
+ "default": "1.3"
1369
+ },
1370
+ "--icon-hover-inner-scale": {
1371
+ "default": "0.8"
1372
+ }
1373
+ },
1374
+ "usage": "<!-- 아이콘이 앞에 -->\n<button class=\"m3-btn btn-icon:leading\">\n <i class=\"m3-icon icon:add\"></i>추가\n</button>\n\n<!-- 아이콘이 뒤에 -->\n<button class=\"m3-btn btn-icon:trailing\">\n 보내기<i class=\"m3-icon icon:send\"></i>\n</button>\n\n<!-- 타입 + 색상 + 아이콘 조합 -->\n<button class=\"m3-btn btn:tonal btn-color:danger btn-icon:leading\">\n <i class=\"m3-icon icon:delete\"></i>삭제\n</button>"
1375
+ },
1376
+ {
1377
+ "name": "layout",
1378
+ "class": "m3-layout",
1379
+ "description": " ====== M3 Adaptive Page Layout\nM3 adaptive guidelines: page shell that arranges Top App Bar,\nNavigation, and Content area with automatic navigation switching.\nBreakpoints:\n Compact (< 600px) — Top App Bar + Content + Bottom Nav Bar\n Medium (600–839px) — Nav Rail (left) + Top App Bar + Content",
1380
+ "slots": [
1381
+ "layout-content",
1382
+ "layout-header"
1383
+ ],
1384
+ "options": {
1385
+ "layout": [
1386
+ "fixed-drawer",
1387
+ "no-header"
1388
+ ]
1389
+ },
1390
+ "flags": [],
1391
+ "variables": {
1392
+ "--layout-drawer-width": {
1393
+ "default": "22.5rem",
1394
+ "note": "360dp"
1395
+ },
1396
+ "--layout-rail-width": {
1397
+ "default": "5rem",
1398
+ "note": "80dp"
1399
+ },
1400
+ "--layout-bar-height": {
1401
+ "default": "5rem",
1402
+ "note": "80dp"
1403
+ },
1404
+ "--layout-header-height": {
1405
+ "default": "4rem",
1406
+ "note": "64dp"
1407
+ },
1408
+ "--layout-background": {
1409
+ "default": "var(--color-surface)"
1410
+ },
1411
+ "--layout-content-padding": {
1412
+ "default": "1.5rem"
1413
+ },
1414
+ "--layout-transition": {
1415
+ "default": "all var(--duration-normal) var(--ease-out)"
1416
+ },
1417
+ "--layout-drawer-display": {
1418
+ "default": "none"
1419
+ },
1420
+ "--layout-rail-display": {
1421
+ "default": "none"
1422
+ },
1423
+ "--layout-bar-display": {
1424
+ "default": "flex"
1425
+ },
1426
+ "--layout-main-margin-left": {
1427
+ "default": "0"
1428
+ },
1429
+ "--layout-main-padding-bottom": {
1430
+ "default": "var(--layout-bar-height)"
1431
+ },
1432
+ "--layout-header-display": {
1433
+ "default": "flex"
1434
+ },
1435
+ "--layout-header-menu-display": {
1436
+ "default": "flex"
1437
+ }
1438
+ },
1439
+ "usage": "<div class=\"m3-layout\">\n <!-- Nav Drawer (Expanded에서 표시) -->\n <nav class=\"m3-nav-drawer layout-drawer\">\n <div class=\"drawer-header\">\n <h2 class=\"drawer-headline\">메뉴</h2>\n </div>\n <div class=\"drawer-content\">\n <a href=\"#\" class=\"drawer-item drawer-item-active\">\n <i class=\"m3-icon icon:home\"></i>\n <span class=\"drawer-label\">홈</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:search\"></i>\n <span class=\"drawer-label\">검색</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:settings\"></i>\n <span class=\"drawer-label\">설정</span>\n </a>\n </div>\n </nav>\n\n <!-- Nav Rail (Medium에서 표시) -->\n <nav class=\"m3-nav-rail layout-rail\">\n <div class=\"rail-header\">\n <button class=\"m3-fab fab:small\"><i class=\"m3-icon icon:edit\"></i></button>\n </div>\n <div class=\"rail-items\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </div>\n </nav>\n\n <!-- Main Content Area -->\n <div class=\"layout-main\">\n <header class=\"m3-top-app-bar layout-header\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>\n <h1 class=\"bar-title\">페이지 제목</h1>\n <div class=\"bar-trailing\">\n <button><i class=\"m3-icon icon:search\"></i></button>\n </div>\n </header>\n <main class=\"layout-content\">\n <h2>콘텐츠 영역</h2>\n <p>페이지의 주요 콘텐츠가 여기에 들어갑니다.</p>\n </main>\n </div>\n\n <!-- Nav Bar (Compact에서 표시) -->\n <nav class=\"m3-nav-bar layout-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </nav>\n</div>"
1440
+ },
1441
+ {
1442
+ "name": "list",
1443
+ "class": "m3-list",
1444
+ "description": " ====== M3 List\nM3 spec: one-line 56dp, two-line 72dp, three-line 88dp\n16dp horizontal padding, on-surface text\n사용법:\n <ul class=\"m3-list\">\n <li class=\"list-item\">항목 1</li>",
1445
+ "slots": [
1446
+ "list-divider",
1447
+ "list-item"
1448
+ ],
1449
+ "options": {
1450
+ "list-size": [
1451
+ "compact",
1452
+ "large"
1453
+ ]
1454
+ },
1455
+ "flags": [],
1456
+ "variables": {
1457
+ "--list-display": {
1458
+ "default": "flex"
1459
+ },
1460
+ "--list-flex-direction": {
1461
+ "default": "column"
1462
+ },
1463
+ "--list-background": {
1464
+ "default": "transparent"
1465
+ },
1466
+ "--list-padding": {
1467
+ "default": "0.5rem 0"
1468
+ },
1469
+ "--list-gap": {
1470
+ "default": "0"
1471
+ },
1472
+ "--list-margin": {
1473
+ "default": "0"
1474
+ },
1475
+ "--list-item-padding": {
1476
+ "default": "0.5rem 1rem"
1477
+ },
1478
+ "--list-item-min-height": {
1479
+ "default": "3rem"
1480
+ },
1481
+ "--list-item-color": {
1482
+ "default": "var(--color-text)"
1483
+ },
1484
+ "--list-item-font-size": {
1485
+ "default": "1rem"
1486
+ },
1487
+ "--list-item-font-weight": {
1488
+ "default": "400"
1489
+ },
1490
+ "--list-item-line-height": {
1491
+ "default": "1.5rem"
1492
+ },
1493
+ "--list-item-cursor": {
1494
+ "default": "default"
1495
+ },
1496
+ "--list-item-background": {
1497
+ "default": "transparent"
1498
+ },
1499
+ "--list-item-gap": {
1500
+ "default": "1rem"
1501
+ },
1502
+ "--list-item-border-radius": {
1503
+ "default": "0"
1504
+ },
1505
+ "--list-secondary-size": {
1506
+ "default": "0.875rem"
1507
+ },
1508
+ "--list-secondary-color": {
1509
+ "default": "var(--color-text-muted)"
1510
+ },
1511
+ "--list-secondary-line-height": {
1512
+ "default": "1.25rem"
1513
+ },
1514
+ "--list-leading-size": {
1515
+ "default": "1.5rem"
1516
+ },
1517
+ "--list-leading-color": {
1518
+ "default": "var(--color-text-muted)"
1519
+ },
1520
+ "--list-avatar-size": {
1521
+ "default": "2.5rem"
1522
+ },
1523
+ "--list-divider-color": {
1524
+ "default": "var(--color-border-subtle)"
1525
+ },
1526
+ "--list-divider-width": {
1527
+ "default": "0.0625rem"
1528
+ },
1529
+ "--list-divider-margin": {
1530
+ "default": "0"
1531
+ },
1532
+ "--list-divider-margin-left": {
1533
+ "default": "0"
1534
+ },
1535
+ "--list-divider-border": {
1536
+ "default": "none"
1537
+ },
1538
+ "--list-avatar-background": {
1539
+ "default": "var(--color-primary-subtle)"
1540
+ },
1541
+ "--list-avatar-color": {
1542
+ "default": "var(--color-primary)"
1543
+ },
1544
+ "--list-avatar-font-weight": {
1545
+ "default": "600"
1546
+ },
1547
+ "--list-avatar-font-size": {
1548
+ "default": "0.875rem"
1549
+ },
1550
+ "--list-avatar-border-radius": {
1551
+ "default": "50%"
1552
+ },
1553
+ "--list-state-hover-opacity": {
1554
+ "default": "0.08"
1555
+ },
1556
+ "--list-transition": {
1557
+ "default": "background-image var(--duration-fast) var(--ease-in-out)"
1558
+ }
1559
+ },
1560
+ "usage": "<ul class=\"m3-list\">\n <li class=\"list-item\">항목 1</li>\n <li class=\"list-item\">항목 2</li>\n <li class=\"list-item\">항목 3</li>\n</ul>"
1561
+ },
1562
+ {
1563
+ "name": "menu",
1564
+ "class": "m3-menu",
1565
+ "description": " ====== M3 Menu\nM3 spec: surface container, 8dp rounded, elevation level2\nMin 112dp, Max 280dp. Hidden by default, shown with menu-open.\n사용법:\n <div class=\"m3-menu menu-open\">\n <button class=\"menu-item\">",
1566
+ "slots": [
1567
+ "menu-divider",
1568
+ "menu-item"
1569
+ ],
1570
+ "options": {},
1571
+ "flags": [
1572
+ "menu-open"
1573
+ ],
1574
+ "variables": {
1575
+ "--menu-background": {
1576
+ "default": "var(--color-surface)"
1577
+ },
1578
+ "--menu-border-radius": {
1579
+ "default": "0.25rem"
1580
+ },
1581
+ "--menu-box-shadow": {
1582
+ "default": "var(--shadow-md)"
1583
+ },
1584
+ "--menu-padding": {
1585
+ "default": "0.5rem 0"
1586
+ },
1587
+ "--menu-min-width": {
1588
+ "default": "7rem"
1589
+ },
1590
+ "--menu-max-width": {
1591
+ "default": "17.5rem"
1592
+ },
1593
+ "--menu-z-index": {
1594
+ "default": "var(--z-dropdown)"
1595
+ },
1596
+ "--menu-border": {
1597
+ "default": "none"
1598
+ },
1599
+ "--menu-color": {
1600
+ "default": "var(--color-text)"
1601
+ },
1602
+ "--menu-item-height": {
1603
+ "default": "3rem"
1604
+ },
1605
+ "--menu-item-padding": {
1606
+ "default": "0 0.75rem"
1607
+ },
1608
+ "--menu-item-color": {
1609
+ "default": "var(--color-text)"
1610
+ },
1611
+ "--menu-item-font-size": {
1612
+ "default": "0.875rem"
1613
+ },
1614
+ "--menu-item-gap": {
1615
+ "default": "0.75rem"
1616
+ },
1617
+ "--menu-item-border-radius": {
1618
+ "default": "0"
1619
+ },
1620
+ "--menu-item-background": {
1621
+ "default": "transparent"
1622
+ },
1623
+ "--menu-item-cursor": {
1624
+ "default": "pointer"
1625
+ },
1626
+ "--menu-item-icon-color": {
1627
+ "default": "var(--color-text)"
1628
+ },
1629
+ "--menu-item-icon-size": {
1630
+ "default": "1.5rem"
1631
+ },
1632
+ "--menu-divider-color": {
1633
+ "default": "var(--color-border-subtle)"
1634
+ },
1635
+ "--menu-divider-margin": {
1636
+ "default": "0.5rem 0"
1637
+ },
1638
+ "--menu-divider-height": {
1639
+ "default": "0.0625rem"
1640
+ },
1641
+ "--menu-state-hover-opacity": {
1642
+ "default": "0.08"
1643
+ },
1644
+ "--menu-state-focus-opacity": {
1645
+ "default": "0.12"
1646
+ },
1647
+ "--menu-state-layer-color": {
1648
+ "default": "var(--color-text)"
1649
+ },
1650
+ "--menu-item-disabled-opacity": {
1651
+ "default": "0.38"
1652
+ },
1653
+ "--menu-item-disabled-cursor": {
1654
+ "default": "default"
1655
+ },
1656
+ "--menu-transition": {
1657
+ "default": "opacity var(--duration-fast) var(--ease-out)"
1658
+ }
1659
+ },
1660
+ "usage": "<div class=\"m3-menu menu-open\">\n <button class=\"menu-item\">\n <span class=\"menu-label\">복사</span>\n </button>\n <button class=\"menu-item\">\n <span class=\"menu-label\">붙여넣기</span>\n </button>\n <button class=\"menu-item\">\n <span class=\"menu-label\">삭제</span>\n </button>\n</div>"
1661
+ },
1662
+ {
1663
+ "name": "nav-bar",
1664
+ "class": "m3-nav-bar",
1665
+ "description": " ====== M3 Navigation Bar (Bottom Navigation)\nM3 spec: 80dp height, fixed bottom, 3-5 destinations, surface bg\n내부 아이템은 m3-deco 컴포넌트를 사용하여 icon+text 렌더링.\n사용법:\n <nav class=\"m3-nav-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>",
1666
+ "slots": [],
1667
+ "options": {
1668
+ "nav-bar": [
1669
+ "elevated",
1670
+ "fixed"
1671
+ ],
1672
+ "nav-bar-color": [
1673
+ "surface-1",
1674
+ "surface-2"
1675
+ ]
1676
+ },
1677
+ "flags": [],
1678
+ "variables": {
1679
+ "--nav-bar-height": {
1680
+ "default": "5rem",
1681
+ "note": "80dp"
1682
+ },
1683
+ "--nav-bar-background": {
1684
+ "default": "var(--color-surface)"
1685
+ },
1686
+ "--nav-bar-border-top": {
1687
+ "default": "0.0625rem solid var(--color-border-subtle)"
1688
+ },
1689
+ "--nav-bar-padding": {
1690
+ "default": "0 0.5rem"
1691
+ },
1692
+ "--nav-bar-gap": {
1693
+ "default": "0"
1694
+ },
1695
+ "--nav-bar-box-shadow": {
1696
+ "default": "none"
1697
+ },
1698
+ "--nav-bar-color": {
1699
+ "default": "var(--color-text)"
1700
+ },
1701
+ "--nav-bar-position": {
1702
+ "default": "static"
1703
+ },
1704
+ "--nav-bar-bottom": {
1705
+ "default": "auto"
1706
+ },
1707
+ "--nav-bar-left": {
1708
+ "default": "auto"
1709
+ },
1710
+ "--nav-bar-right": {
1711
+ "default": "auto"
1712
+ },
1713
+ "--nav-bar-z-index": {
1714
+ "default": "auto"
1715
+ },
1716
+ "--nav-bar-transition": {
1717
+ "default": "box-shadow var(--duration-normal) var(--ease-out)"
1718
+ }
1719
+ },
1720
+ "usage": "<div class=\"m3-layout\">\n <!-- Nav Drawer (Expanded에서 표시) -->\n <nav class=\"m3-nav-drawer layout-drawer\">\n <div class=\"drawer-header\">\n <h2 class=\"drawer-headline\">메뉴</h2>\n </div>\n <div class=\"drawer-content\">\n <a href=\"#\" class=\"drawer-item drawer-item-active\">\n <i class=\"m3-icon icon:home\"></i>\n <span class=\"drawer-label\">홈</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:search\"></i>\n <span class=\"drawer-label\">검색</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:settings\"></i>\n <span class=\"drawer-label\">설정</span>\n </a>\n </div>\n </nav>\n\n <!-- Nav Rail (Medium에서 표시) -->\n <nav class=\"m3-nav-rail layout-rail\">\n <div class=\"rail-header\">\n <button class=\"m3-fab fab:small\"><i class=\"m3-icon icon:edit\"></i></button>\n </div>\n <div class=\"rail-items\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </div>\n </nav>\n\n <!-- Main Content Area -->\n <div class=\"layout-main\">\n <header class=\"m3-top-app-bar layout-header\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>\n <h1 class=\"bar-title\">페이지 제목</h1>\n <div class=\"bar-trailing\">\n <button><i class=\"m3-icon icon:search\"></i></button>\n </div>\n </header>\n <main class=\"layout-content\">\n <h2>콘텐츠 영역</h2>\n <p>페이지의 주요 콘텐츠가 여기에 들어갑니다.</p>\n </main>\n </div>\n\n <!-- Nav Bar (Compact에서 표시) -->\n <nav class=\"m3-nav-bar layout-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </nav>\n</div>"
1721
+ },
1722
+ {
1723
+ "name": "nav-drawer",
1724
+ "class": "m3-nav-drawer",
1725
+ "description": " ====== M3 Navigation Drawer\nM3 spec: 360dp width, surface bg, list-like items\nTypes: standard (inline, default), modal (overlay with scrim)\n사용법 (standard):\n <nav class=\"m3-nav-drawer\">\n <div class=\"drawer-header\">",
1726
+ "slots": [
1727
+ "drawer-content",
1728
+ "drawer-header",
1729
+ "drawer-headline",
1730
+ "drawer-item",
1731
+ "drawer-section-header"
1732
+ ],
1733
+ "options": {
1734
+ "drawer": [
1735
+ "modal"
1736
+ ]
1737
+ },
1738
+ "flags": [],
1739
+ "variables": {
1740
+ "--drawer-width": {
1741
+ "default": "22.5rem",
1742
+ "note": "360dp"
1743
+ },
1744
+ "--drawer-background": {
1745
+ "default": "var(--color-surface)"
1746
+ },
1747
+ "--drawer-border-right": {
1748
+ "default": "0.0625rem solid var(--color-border-subtle)"
1749
+ },
1750
+ "--drawer-padding": {
1751
+ "default": "0.75rem 0"
1752
+ },
1753
+ "--drawer-box-shadow": {
1754
+ "default": "none"
1755
+ },
1756
+ "--drawer-color": {
1757
+ "default": "var(--color-text)"
1758
+ },
1759
+ "--drawer-z-index": {
1760
+ "default": "var(--z-fixed)"
1761
+ },
1762
+ "--drawer-headline-font-size": {
1763
+ "default": "0.875rem"
1764
+ },
1765
+ "--drawer-headline-font-weight": {
1766
+ "default": "600"
1767
+ },
1768
+ "--drawer-headline-color": {
1769
+ "default": "var(--color-text-muted)"
1770
+ },
1771
+ "--drawer-headline-padding": {
1772
+ "default": "1rem 1.75rem 0.5rem"
1773
+ },
1774
+ "--drawer-headline-letter-spacing": {
1775
+ "default": "0.0625rem"
1776
+ },
1777
+ "--drawer-content-padding": {
1778
+ "default": "0 0.75rem"
1779
+ },
1780
+ "--drawer-content-gap": {
1781
+ "default": "0.125rem"
1782
+ },
1783
+ "--drawer-item-height": {
1784
+ "default": "3.5rem",
1785
+ "note": "56dp"
1786
+ },
1787
+ "--drawer-item-padding": {
1788
+ "default": "0 1rem"
1789
+ },
1790
+ "--drawer-item-gap": {
1791
+ "default": "0.75rem",
1792
+ "note": "12dp"
1793
+ },
1794
+ "--drawer-item-color": {
1795
+ "default": "var(--color-text)"
1796
+ },
1797
+ "--drawer-item-font-size": {
1798
+ "default": "0.875rem"
1799
+ },
1800
+ "--drawer-item-font-weight": {
1801
+ "default": "500"
1802
+ },
1803
+ "--drawer-item-line-height": {
1804
+ "default": "1.25rem"
1805
+ },
1806
+ "--drawer-item-border-radius": {
1807
+ "default": "var(--radius-full)"
1808
+ },
1809
+ "--drawer-item-background": {
1810
+ "default": "transparent"
1811
+ },
1812
+ "--drawer-item-cursor": {
1813
+ "default": "pointer"
1814
+ },
1815
+ "--drawer-item-icon-size": {
1816
+ "default": "1.5rem"
1817
+ },
1818
+ "--drawer-item-icon-color": {
1819
+ "default": "var(--color-text-muted)"
1820
+ },
1821
+ "--drawer-item-active-background": {
1822
+ "default": "var(--color-primary-subtle)"
1823
+ },
1824
+ "--drawer-item-active-color": {
1825
+ "default": "var(--color-primary)"
1826
+ },
1827
+ "--drawer-item-active-icon-color": {
1828
+ "default": "var(--color-primary)"
1829
+ },
1830
+ "--drawer-item-active-font-weight": {
1831
+ "default": "700"
1832
+ },
1833
+ "--drawer-section-header-font-size": {
1834
+ "default": "0.875rem"
1835
+ },
1836
+ "--drawer-section-header-font-weight": {
1837
+ "default": "600"
1838
+ },
1839
+ "--drawer-section-header-color": {
1840
+ "default": "var(--color-text-muted)"
1841
+ },
1842
+ "--drawer-section-header-padding": {
1843
+ "default": "1.125rem 1rem 0.5rem"
1844
+ },
1845
+ "--drawer-section-header-letter-spacing": {
1846
+ "default": "0.0625rem"
1847
+ },
1848
+ "--drawer-state-hover-opacity": {
1849
+ "default": "0.08"
1850
+ },
1851
+ "--drawer-scrim-background": {
1852
+ "default": "var(--color-scrim)"
1853
+ },
1854
+ "--drawer-transition": {
1855
+ "default": "transform var(--duration-normal) var(--ease-out)"
1856
+ }
1857
+ },
1858
+ "usage": "<div class=\"m3-layout\">\n <!-- Nav Drawer (Expanded에서 표시) -->\n <nav class=\"m3-nav-drawer layout-drawer\">\n <div class=\"drawer-header\">\n <h2 class=\"drawer-headline\">메뉴</h2>\n </div>\n <div class=\"drawer-content\">\n <a href=\"#\" class=\"drawer-item drawer-item-active\">\n <i class=\"m3-icon icon:home\"></i>\n <span class=\"drawer-label\">홈</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:search\"></i>\n <span class=\"drawer-label\">검색</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:settings\"></i>\n <span class=\"drawer-label\">설정</span>\n </a>\n </div>\n </nav>\n\n <!-- Nav Rail (Medium에서 표시) -->\n <nav class=\"m3-nav-rail layout-rail\">\n <div class=\"rail-header\">\n <button class=\"m3-fab fab:small\"><i class=\"m3-icon icon:edit\"></i></button>\n </div>\n <div class=\"rail-items\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </div>\n </nav>\n\n <!-- Main Content Area -->\n <div class=\"layout-main\">\n <header class=\"m3-top-app-bar layout-header\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>\n <h1 class=\"bar-title\">페이지 제목</h1>\n <div class=\"bar-trailing\">\n <button><i class=\"m3-icon icon:search\"></i></button>\n </div>\n </header>\n <main class=\"layout-content\">\n <h2>콘텐츠 영역</h2>\n <p>페이지의 주요 콘텐츠가 여기에 들어갑니다.</p>\n </main>\n </div>\n\n <!-- Nav Bar (Compact에서 표시) -->\n <nav class=\"m3-nav-bar layout-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </nav>\n</div>"
1859
+ },
1860
+ {
1861
+ "name": "nav-rail",
1862
+ "class": "m3-nav-rail",
1863
+ "description": " ====== M3 Navigation Rail\nM3 spec: 80dp width, vertical, fixed left side, optional FAB at top\n내부 아이템은 m3-deco 컴포넌트를 사용하여 icon+text 렌더링.\n사용법:\n <nav class=\"m3-nav-rail\">\n <div class=\"rail-header\">",
1864
+ "slots": [
1865
+ "rail-header",
1866
+ "rail-items"
1867
+ ],
1868
+ "options": {
1869
+ "rail": [
1870
+ "elevated",
1871
+ "fixed"
1872
+ ],
1873
+ "rail-align": [
1874
+ "center",
1875
+ "end"
1876
+ ],
1877
+ "rail-color": [
1878
+ "surface-1",
1879
+ "surface-2"
1880
+ ]
1881
+ },
1882
+ "flags": [],
1883
+ "variables": {
1884
+ "--rail-width": {
1885
+ "default": "5rem",
1886
+ "note": "80dp"
1887
+ },
1888
+ "--rail-background": {
1889
+ "default": "var(--color-surface)"
1890
+ },
1891
+ "--rail-border-right": {
1892
+ "default": "0.0625rem solid var(--color-border-subtle)"
1893
+ },
1894
+ "--rail-padding": {
1895
+ "default": "0.75rem 0"
1896
+ },
1897
+ "--rail-box-shadow": {
1898
+ "default": "none"
1899
+ },
1900
+ "--rail-color": {
1901
+ "default": "var(--color-text)"
1902
+ },
1903
+ "--rail-position": {
1904
+ "default": "static"
1905
+ },
1906
+ "--rail-top": {
1907
+ "default": "auto"
1908
+ },
1909
+ "--rail-left": {
1910
+ "default": "auto"
1911
+ },
1912
+ "--rail-bottom": {
1913
+ "default": "auto"
1914
+ },
1915
+ "--rail-z-index": {
1916
+ "default": "auto"
1917
+ },
1918
+ "--rail-header-padding": {
1919
+ "default": "0.75rem 0 1rem"
1920
+ },
1921
+ "--rail-header-gap": {
1922
+ "default": "0.75rem"
1923
+ },
1924
+ "--rail-items-gap": {
1925
+ "default": "0.75rem",
1926
+ "note": "12dp"
1927
+ },
1928
+ "--rail-items-padding": {
1929
+ "default": "0"
1930
+ },
1931
+ "--rail-transition": {
1932
+ "default": "box-shadow var(--duration-normal) var(--ease-out)"
1933
+ }
1934
+ },
1935
+ "usage": "<div class=\"m3-layout\">\n <!-- Nav Drawer (Expanded에서 표시) -->\n <nav class=\"m3-nav-drawer layout-drawer\">\n <div class=\"drawer-header\">\n <h2 class=\"drawer-headline\">메뉴</h2>\n </div>\n <div class=\"drawer-content\">\n <a href=\"#\" class=\"drawer-item drawer-item-active\">\n <i class=\"m3-icon icon:home\"></i>\n <span class=\"drawer-label\">홈</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:search\"></i>\n <span class=\"drawer-label\">검색</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:settings\"></i>\n <span class=\"drawer-label\">설정</span>\n </a>\n </div>\n </nav>\n\n <!-- Nav Rail (Medium에서 표시) -->\n <nav class=\"m3-nav-rail layout-rail\">\n <div class=\"rail-header\">\n <button class=\"m3-fab fab:small\"><i class=\"m3-icon icon:edit\"></i></button>\n </div>\n <div class=\"rail-items\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </div>\n </nav>\n\n <!-- Main Content Area -->\n <div class=\"layout-main\">\n <header class=\"m3-top-app-bar layout-header\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>\n <h1 class=\"bar-title\">페이지 제목</h1>\n <div class=\"bar-trailing\">\n <button><i class=\"m3-icon icon:search\"></i></button>\n </div>\n </header>\n <main class=\"layout-content\">\n <h2>콘텐츠 영역</h2>\n <p>페이지의 주요 콘텐츠가 여기에 들어갑니다.</p>\n </main>\n </div>\n\n <!-- Nav Bar (Compact에서 표시) -->\n <nav class=\"m3-nav-bar layout-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </nav>\n</div>"
1936
+ },
1937
+ {
1938
+ "name": "progress",
1939
+ "class": "m3-progress",
1940
+ "description": " ====== M3 Progress Indicator\nType: linear (default) | circular\nM3 spec: primary track color, 4dp height (linear), 48dp (circular)\n사용법:\n <div class=\"m3-progress\" style=\"--progress-value: 60%;\"></div>\n <div class=\"m3-progress progress:indeterminate\"></div>",
1941
+ "slots": [],
1942
+ "options": {
1943
+ "progress": [
1944
+ "circular",
1945
+ "indeterminate"
1946
+ ],
1947
+ "progress-color": [
1948
+ "danger",
1949
+ "primary",
1950
+ "secondary",
1951
+ "success",
1952
+ "tertiary"
1953
+ ]
1954
+ },
1955
+ "flags": [],
1956
+ "variables": {
1957
+ "--progress-height": {
1958
+ "default": "0.25rem"
1959
+ },
1960
+ "--progress-width": {
1961
+ "default": "100%"
1962
+ },
1963
+ "--progress-track-color": {
1964
+ "default": "var(--color-primary-subtle)"
1965
+ },
1966
+ "--progress-indicator-color": {
1967
+ "default": "var(--color-primary)"
1968
+ },
1969
+ "--progress-border-radius": {
1970
+ "default": "var(--radius-full)"
1971
+ },
1972
+ "--progress-value": {
1973
+ "default": "0%"
1974
+ },
1975
+ "--progress-circular-size": {
1976
+ "default": "3rem"
1977
+ },
1978
+ "--progress-circular-stroke": {
1979
+ "default": "0.25rem"
1980
+ },
1981
+ "--progress-circular-border-radius": {
1982
+ "default": "50%"
1983
+ }
1984
+ },
1985
+ "usage": "<div class=\"m3-progress\" style=\"--progress-value: 40%;\"></div>\n<div class=\"m3-progress\" style=\"--progress-value: 75%;\"></div>\n<div class=\"m3-progress\" style=\"--progress-value: 100%;\"></div>"
1986
+ },
1987
+ {
1988
+ "name": "radio",
1989
+ "class": "m3-radio",
1990
+ "description": " ====== M3 Radio Button\nM3 spec: 20dp outer ring, 10dp inner dot, primary when selected\nVariable API: --radio-* 변수로 커스텀 가능",
1991
+ "slots": [],
1992
+ "options": {
1993
+ "radio-color": [
1994
+ "danger",
1995
+ "primary",
1996
+ "secondary",
1997
+ "tertiary"
1998
+ ],
1999
+ "radio-state": [
2000
+ "active",
2001
+ "focus",
2002
+ "hover"
2003
+ ]
2004
+ },
2005
+ "flags": [],
2006
+ "variables": {
2007
+ "--radio-display": {
2008
+ "default": "inline-flex"
2009
+ },
2010
+ "--radio-align-items": {
2011
+ "default": "center"
2012
+ },
2013
+ "--radio-cursor": {
2014
+ "default": "pointer"
2015
+ },
2016
+ "--radio-gap": {
2017
+ "default": "0.75rem"
2018
+ },
2019
+ "--radio-size": {
2020
+ "default": "1.25rem"
2021
+ },
2022
+ "--radio-touch-size": {
2023
+ "default": "2.5rem"
2024
+ },
2025
+ "--radio-stroke-width": {
2026
+ "default": "0.125rem"
2027
+ },
2028
+ "--radio-border-color": {
2029
+ "default": "var(--color-text-muted)"
2030
+ },
2031
+ "--radio-background": {
2032
+ "default": "transparent"
2033
+ },
2034
+ "--radio-dot-size": {
2035
+ "default": "0.625rem"
2036
+ },
2037
+ "--radio-dot-color": {
2038
+ "default": "var(--color-primary)"
2039
+ },
2040
+ "--radio-dot-opacity": {
2041
+ "default": "0"
2042
+ },
2043
+ "--radio-selected-color": {
2044
+ "default": "var(--color-primary)"
2045
+ },
2046
+ "--radio-state-opacity": {
2047
+ "default": "0"
2048
+ },
2049
+ "--radio-state-hover-opacity": {
2050
+ "default": "0.08"
2051
+ },
2052
+ "--radio-state-pressed-opacity": {
2053
+ "default": "0.12"
2054
+ },
2055
+ "--radio-state-size": {
2056
+ "default": "0.625rem"
2057
+ },
2058
+ "--radio-label-size": {
2059
+ "default": "0.875rem"
2060
+ },
2061
+ "--radio-label-color": {
2062
+ "default": "var(--color-text)"
2063
+ },
2064
+ "--radio-outline": {
2065
+ "default": "none"
2066
+ },
2067
+ "--radio-outline-offset": {
2068
+ "default": "0"
2069
+ },
2070
+ "--radio-box-shadow": {
2071
+ "default": "none"
2072
+ },
2073
+ "--radio-transition": {
2074
+ "default": "all 180ms var(--ease-in-out)"
2075
+ }
2076
+ },
2077
+ "usage": "<label class=\"m3-radio\">\n <input type=\"radio\" name=\"option\" value=\"1\">\n <span>옵션 1</span>\n</label>\n\n<label class=\"m3-radio\">\n <input type=\"radio\" name=\"option\" value=\"2\">\n <span>옵션 2</span>\n</label>\n\n<label class=\"m3-radio\">\n <input type=\"radio\" name=\"option\" value=\"3\" checked>\n <span>옵션 3 (선택됨)</span>\n</label>"
2078
+ },
2079
+ {
2080
+ "name": "slider",
2081
+ "class": "m3-slider",
2082
+ "description": " ====== M3 Slider\nM3 spec: Track 4dp height, handle 20dp, active track uses primary\nTypes: continuous (default), discrete (with tick marks)\n사용법:\n <div class=\"m3-slider\">\n <input type=\"range\" min=\"0\" max=\"100\" value=\"50\">",
2083
+ "slots": [],
2084
+ "options": {
2085
+ "slider": [
2086
+ "discrete"
2087
+ ],
2088
+ "slider-color": [
2089
+ "primary",
2090
+ "secondary",
2091
+ "tertiary"
2092
+ ]
2093
+ },
2094
+ "flags": [],
2095
+ "variables": {
2096
+ "--slider-width": {
2097
+ "default": "100%"
2098
+ },
2099
+ "--slider-padding": {
2100
+ "default": "0.5rem 0"
2101
+ },
2102
+ "--slider-track-height": {
2103
+ "default": "0.25rem"
2104
+ },
2105
+ "--slider-track-color": {
2106
+ "default": "var(--color-primary-subtle)"
2107
+ },
2108
+ "--slider-track-active-color": {
2109
+ "default": "var(--color-primary)"
2110
+ },
2111
+ "--slider-track-border-radius": {
2112
+ "default": "var(--radius-full)"
2113
+ },
2114
+ "--slider-handle-size": {
2115
+ "default": "1.25rem"
2116
+ },
2117
+ "--slider-handle-color": {
2118
+ "default": "var(--color-primary)"
2119
+ },
2120
+ "--slider-handle-border-radius": {
2121
+ "default": "var(--radius-full)"
2122
+ },
2123
+ "--slider-handle-shadow": {
2124
+ "default": "var(--shadow-sm)"
2125
+ },
2126
+ "--slider-handle-border": {
2127
+ "default": "none"
2128
+ },
2129
+ "--slider-state-hover-opacity": {
2130
+ "default": "0.08"
2131
+ },
2132
+ "--slider-state-focus-opacity": {
2133
+ "default": "0.12"
2134
+ },
2135
+ "--slider-state-layer-color": {
2136
+ "default": "var(--color-primary)"
2137
+ },
2138
+ "--slider-state-layer-size": {
2139
+ "default": "2.5rem"
2140
+ },
2141
+ "--slider-disabled-track-color": {
2142
+ "default": "color-mix(in srgb, var(--color-text) 12%, transparent)"
2143
+ },
2144
+ "--slider-disabled-active-color": {
2145
+ "default": "color-mix(in srgb, var(--color-text) 38%, transparent)"
2146
+ },
2147
+ "--slider-disabled-handle-color": {
2148
+ "default": "color-mix(in srgb, var(--color-text) 38%, transparent)"
2149
+ },
2150
+ "--slider-disabled-cursor": {
2151
+ "default": "default"
2152
+ },
2153
+ "--slider-transition": {
2154
+ "default": "box-shadow var(--duration-fast) var(--ease-in-out)"
2155
+ },
2156
+ "--slider-tick-size": {
2157
+ "default": "0.125rem"
2158
+ },
2159
+ "--slider-tick-color": {
2160
+ "default": "var(--color-on-primary)"
2161
+ },
2162
+ "--slider-tick-inactive-color": {
2163
+ "default": "var(--color-primary-subtle)"
2164
+ }
2165
+ },
2166
+ "usage": "<div class=\"m3-slider\">\n <input type=\"range\" min=\"0\" max=\"100\" value=\"50\">\n</div>"
2167
+ },
2168
+ {
2169
+ "name": "snackbar",
2170
+ "class": "m3-snackbar",
2171
+ "description": " ====== M3 Snackbar\nM3 spec: inverse-surface bg, inverse-on-surface text, 48dp min height\nPosition: bottom center, auto-dismiss\n사용법:\n <div class=\"m3-snackbar snackbar-open\">\n <span class=\"snackbar-text\">파일이 저장되었습니다</span>",
2172
+ "slots": [
2173
+ "snackbar-action",
2174
+ "snackbar-close",
2175
+ "snackbar-text"
2176
+ ],
2177
+ "options": {
2178
+ "snackbar-color": [
2179
+ "danger",
2180
+ "success",
2181
+ "warning"
2182
+ ]
2183
+ },
2184
+ "flags": [
2185
+ "snackbar-open"
2186
+ ],
2187
+ "variables": {
2188
+ "--snackbar-background": {
2189
+ "default": "var(--color-surface-inverse)"
2190
+ },
2191
+ "--snackbar-color": {
2192
+ "default": "var(--color-text-inverse)"
2193
+ },
2194
+ "--snackbar-border-radius": {
2195
+ "default": "0.25rem"
2196
+ },
2197
+ "--snackbar-padding": {
2198
+ "default": "0 0.5rem 0 1rem"
2199
+ },
2200
+ "--snackbar-min-height": {
2201
+ "default": "3rem"
2202
+ },
2203
+ "--snackbar-max-width": {
2204
+ "default": "35rem"
2205
+ },
2206
+ "--snackbar-box-shadow": {
2207
+ "default": "var(--shadow-md)"
2208
+ },
2209
+ "--snackbar-z-index": {
2210
+ "default": "var(--z-toast)"
2211
+ },
2212
+ "--snackbar-bottom": {
2213
+ "default": "1.5rem"
2214
+ },
2215
+ "--snackbar-left": {
2216
+ "default": "50%"
2217
+ },
2218
+ "--snackbar-transform": {
2219
+ "default": "translateX(-50%)"
2220
+ },
2221
+ "--snackbar-gap": {
2222
+ "default": "0.5rem"
2223
+ },
2224
+ "--snackbar-font-size": {
2225
+ "default": "0.875rem"
2226
+ },
2227
+ "--snackbar-line-height": {
2228
+ "default": "1.25rem"
2229
+ },
2230
+ "--snackbar-action-color": {
2231
+ "default": "var(--color-primary-subtle)"
2232
+ },
2233
+ "--snackbar-action-font-weight": {
2234
+ "default": "var(--font-weight-medium)"
2235
+ },
2236
+ "--snackbar-action-padding": {
2237
+ "default": "0.5rem"
2238
+ },
2239
+ "--snackbar-action-border-radius": {
2240
+ "default": "0.25rem"
2241
+ },
2242
+ "--snackbar-action-hover-opacity": {
2243
+ "default": "0.08"
2244
+ },
2245
+ "--snackbar-close-padding": {
2246
+ "default": "0.5rem"
2247
+ },
2248
+ "--snackbar-close-border-radius": {
2249
+ "default": "50%"
2250
+ },
2251
+ "--snackbar-text-padding": {
2252
+ "default": "0.875rem 0"
2253
+ }
2254
+ },
2255
+ "usage": "<div class=\"m3-snackbar snackbar-open\">\n <span class=\"snackbar-text\">파일이 저장되었습니다</span>\n</div>"
2256
+ },
2257
+ {
2258
+ "name": "switch",
2259
+ "class": "m3-switch",
2260
+ "description": " ====== M3 Switch (Toggle)\nM3 spec: track 52×32dp, handle 16dp(off)/24dp(on)/28dp(pressed)\nVariable API: --switch-* 변수로 커스텀 가능\n사용법:\n <label class=\"m3-switch\">\n <input type=\"checkbox\">",
2261
+ "slots": [
2262
+ "switch-label"
2263
+ ],
2264
+ "options": {
2265
+ "switch-color": [
2266
+ "danger",
2267
+ "primary",
2268
+ "secondary",
2269
+ "success",
2270
+ "tertiary"
2271
+ ],
2272
+ "switch-state": [
2273
+ "checked",
2274
+ "disabled",
2275
+ "focused",
2276
+ "hovered"
2277
+ ]
2278
+ },
2279
+ "flags": [],
2280
+ "variables": {
2281
+ "--switch-display": {
2282
+ "default": "inline-flex"
2283
+ },
2284
+ "--switch-align-items": {
2285
+ "default": "center"
2286
+ },
2287
+ "--switch-cursor": {
2288
+ "default": "pointer"
2289
+ },
2290
+ "--switch-gap": {
2291
+ "default": "0.75rem"
2292
+ },
2293
+ "--switch-track-width": {
2294
+ "default": "3.25rem"
2295
+ },
2296
+ "--switch-track-height": {
2297
+ "default": "2rem"
2298
+ },
2299
+ "--switch-track-radius": {
2300
+ "default": "var(--radius-full)"
2301
+ },
2302
+ "--switch-track-color": {
2303
+ "default": "var(--color-surface-2)"
2304
+ },
2305
+ "--switch-track-border": {
2306
+ "default": "0.125rem solid var(--color-border-strong)"
2307
+ },
2308
+ "--switch-track-color-checked": {
2309
+ "default": "var(--color-primary)"
2310
+ },
2311
+ "--switch-track-border-checked": {
2312
+ "default": "0.125rem solid var(--color-primary)"
2313
+ },
2314
+ "--switch-handle-size": {
2315
+ "default": "1rem"
2316
+ },
2317
+ "--switch-handle-size-checked": {
2318
+ "default": "1.5rem"
2319
+ },
2320
+ "--switch-handle-size-pressed": {
2321
+ "default": "1.75rem"
2322
+ },
2323
+ "--switch-handle-radius": {
2324
+ "default": "var(--radius-full)"
2325
+ },
2326
+ "--switch-handle-color": {
2327
+ "default": "var(--color-border-strong)"
2328
+ },
2329
+ "--switch-handle-color-checked": {
2330
+ "default": "var(--color-on-primary)"
2331
+ },
2332
+ "--switch-handle-offset": {
2333
+ "default": "0.375rem"
2334
+ },
2335
+ "--switch-handle-shadow": {
2336
+ "default": "none"
2337
+ },
2338
+ "--switch-state-size": {
2339
+ "default": "2.5rem"
2340
+ },
2341
+ "--switch-state-opacity": {
2342
+ "default": "0"
2343
+ },
2344
+ "--switch-label-size": {
2345
+ "default": "0.875rem"
2346
+ },
2347
+ "--switch-label-color": {
2348
+ "default": "var(--color-text)"
2349
+ },
2350
+ "--switch-transition": {
2351
+ "default": "all var(--duration-fast) var(--ease-in-out)"
2352
+ }
2353
+ },
2354
+ "usage": "<label class=\"m3-switch\">\n <input type=\"checkbox\">\n <span class=\"switch-label\">Wi-Fi</span>\n</label>\n\n<!-- 켜짐 상태 -->\n<label class=\"m3-switch\">\n <input type=\"checkbox\" checked>\n <span class=\"switch-label\">블루투스</span>\n</label>"
2355
+ },
2356
+ {
2357
+ "name": "tabs",
2358
+ "class": "m3-tabs",
2359
+ "description": " ====== M3 Tabs\nType: primary (default) | secondary\nM3 spec: 48dp height, primary bottom indicator, title-small label\n사용법:\n <div class=\"m3-tabs\">\n <button class=\"tab-item tab-active\">탭 1</button>",
2360
+ "slots": [
2361
+ "tab-item"
2362
+ ],
2363
+ "options": {
2364
+ "tabs": [
2365
+ "full",
2366
+ "secondary",
2367
+ "with-icon"
2368
+ ],
2369
+ "tab-color": [
2370
+ "primary",
2371
+ "secondary",
2372
+ "tertiary"
2373
+ ]
2374
+ },
2375
+ "flags": [],
2376
+ "variables": {
2377
+ "--tab-display": {
2378
+ "default": "flex"
2379
+ },
2380
+ "--tab-background": {
2381
+ "default": "var(--color-surface)"
2382
+ },
2383
+ "--tab-border-bottom": {
2384
+ "default": "0.0625rem solid var(--color-border-subtle)"
2385
+ },
2386
+ "--tab-height": {
2387
+ "default": "3rem"
2388
+ },
2389
+ "--tab-gap": {
2390
+ "default": "0"
2391
+ },
2392
+ "--tab-overflow": {
2393
+ "default": "auto"
2394
+ },
2395
+ "--tab-item-padding": {
2396
+ "default": "0 1.5rem"
2397
+ },
2398
+ "--tab-item-color": {
2399
+ "default": "var(--color-text-muted)"
2400
+ },
2401
+ "--tab-item-color-active": {
2402
+ "default": "var(--color-primary)"
2403
+ },
2404
+ "--tab-item-font-size": {
2405
+ "default": "0.875rem"
2406
+ },
2407
+ "--tab-item-font-weight": {
2408
+ "default": "var(--font-weight-medium)"
2409
+ },
2410
+ "--tab-item-cursor": {
2411
+ "default": "pointer"
2412
+ },
2413
+ "--tab-item-background": {
2414
+ "default": "transparent"
2415
+ },
2416
+ "--tab-item-white-space": {
2417
+ "default": "nowrap"
2418
+ },
2419
+ "--tab-item-flex": {
2420
+ "default": "0 0 auto"
2421
+ },
2422
+ "--tab-item-min-width": {
2423
+ "default": "auto"
2424
+ },
2425
+ "--tab-item-gap": {
2426
+ "default": "0.5rem"
2427
+ },
2428
+ "--tab-icon-size": {
2429
+ "default": "1.5rem"
2430
+ },
2431
+ "--tab-indicator-height": {
2432
+ "default": "0.1875rem"
2433
+ },
2434
+ "--tab-indicator-color": {
2435
+ "default": "var(--color-primary)"
2436
+ },
2437
+ "--tab-indicator-radius": {
2438
+ "default": "0.1875rem 0.1875rem 0 0"
2439
+ },
2440
+ "--tab-state-hover-opacity": {
2441
+ "default": "0.08"
2442
+ },
2443
+ "--tab-transition": {
2444
+ "default": "all var(--duration-fast) var(--ease-in-out)"
2445
+ }
2446
+ },
2447
+ "usage": "<div class=\"m3-tabs\">\n <button class=\"tab-item tab-active\">전체</button>\n <button class=\"tab-item\">사진</button>\n <button class=\"tab-item\">동영상</button>\n <button class=\"tab-item\">음악</button>\n</div>"
2448
+ },
2449
+ {
2450
+ "name": "text-field",
2451
+ "class": "m3-text-field",
2452
+ "description": " ====== M3 Text Field (M3 spec-aligned + newtil extensions)\nType: filled (default) | outlined\nSize: xs | sm | md (M3 default = 56dp) | lg | xl [newtil 확장]\nLabel: (기본=M3 floating) | top | left | right | bottom | none [newtil 확장]\nState: enabled | focused | hovered | error | disabled\nM3 spec: container with floating label, active indicator / outline",
2453
+ "slots": [
2454
+ "field-label",
2455
+ "field-supporting"
2456
+ ],
2457
+ "options": {
2458
+ "field": [
2459
+ "outlined"
2460
+ ],
2461
+ "field-state": [
2462
+ "disabled",
2463
+ "error"
2464
+ ],
2465
+ "field-icon": [
2466
+ "leading"
2467
+ ],
2468
+ "field-color": [
2469
+ "primary",
2470
+ "secondary",
2471
+ "tertiary"
2472
+ ],
2473
+ "field-size": [
2474
+ "1",
2475
+ "2",
2476
+ "3",
2477
+ "4",
2478
+ "5",
2479
+ "lg",
2480
+ "md",
2481
+ "sm",
2482
+ "xl",
2483
+ "xs"
2484
+ ],
2485
+ "field-label": [
2486
+ "bottom",
2487
+ "left",
2488
+ "none",
2489
+ "right",
2490
+ "top"
2491
+ ]
2492
+ },
2493
+ "flags": [],
2494
+ "variables": {
2495
+ "--field-background": {
2496
+ "default": "var(--color-surface-2)"
2497
+ },
2498
+ "--field-border": {
2499
+ "default": "none"
2500
+ },
2501
+ "--field-border-radius": {
2502
+ "default": "0.25rem 0.25rem 0 0"
2503
+ },
2504
+ "--field-padding-x": {
2505
+ "default": "1rem"
2506
+ },
2507
+ "--field-padding-top": {
2508
+ "default": "0.5rem"
2509
+ },
2510
+ "--field-padding-bottom": {
2511
+ "default": "0.5rem"
2512
+ },
2513
+ "--field-min-height": {
2514
+ "default": "3.5rem"
2515
+ },
2516
+ "--field-width": {
2517
+ "default": "100%"
2518
+ },
2519
+ "--field-cursor": {
2520
+ "default": "text"
2521
+ },
2522
+ "--field-input-padding-top": {
2523
+ "default": "1.5rem"
2524
+ },
2525
+ "--field-input-padding-left": {
2526
+ "default": "var(--field-padding-x)"
2527
+ },
2528
+ "--field-select-arrow": {
2529
+ "default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23737373' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E\")"
2530
+ },
2531
+ "--field-select-arrow-size": {
2532
+ "default": "1rem"
2533
+ },
2534
+ "--field-select-padding-right": {
2535
+ "default": "2rem"
2536
+ },
2537
+ "--field-indicator-height": {
2538
+ "default": "0.0625rem"
2539
+ },
2540
+ "--field-indicator-color": {
2541
+ "default": "var(--color-text-muted)"
2542
+ },
2543
+ "--field-indicator-height-focus": {
2544
+ "default": "0.1875rem"
2545
+ },
2546
+ "--field-indicator-color-focus": {
2547
+ "default": "var(--color-primary)"
2548
+ },
2549
+ "--field-indicator-color-hover": {
2550
+ "default": "var(--color-text)"
2551
+ },
2552
+ "--field-outline-width": {
2553
+ "default": "0.0625rem"
2554
+ },
2555
+ "--field-outline-color": {
2556
+ "default": "var(--color-border-strong)"
2557
+ },
2558
+ "--field-outline-width-focus": {
2559
+ "default": "0.1875rem"
2560
+ },
2561
+ "--field-outline-color-focus": {
2562
+ "default": "var(--color-primary)"
2563
+ },
2564
+ "--field-font-size": {
2565
+ "default": "1rem"
2566
+ },
2567
+ "--field-font-weight": {
2568
+ "default": "400"
2569
+ },
2570
+ "--field-color": {
2571
+ "default": "var(--color-text)"
2572
+ },
2573
+ "--field-line-height": {
2574
+ "default": "1.5rem"
2575
+ },
2576
+ "--field-placeholder-color": {
2577
+ "default": "var(--color-text-muted)"
2578
+ },
2579
+ "--field-caret-color": {
2580
+ "default": "var(--color-primary)"
2581
+ },
2582
+ "--field-label-size": {
2583
+ "default": "1rem"
2584
+ },
2585
+ "--field-label-size-float": {
2586
+ "default": "0.75rem"
2587
+ },
2588
+ "--field-label-color": {
2589
+ "default": "var(--color-text-muted)"
2590
+ },
2591
+ "--field-label-weight": {
2592
+ "default": "inherit"
2593
+ },
2594
+ "--field-label-color-focus": {
2595
+ "default": "var(--color-primary)"
2596
+ },
2597
+ "--field-label-left": {
2598
+ "default": "var(--field-padding-x)"
2599
+ },
2600
+ "--field-label-background": {
2601
+ "default": "transparent"
2602
+ },
2603
+ "--field-label-padding": {
2604
+ "default": "0"
2605
+ },
2606
+ "--field-label-position": {
2607
+ "default": "absolute"
2608
+ },
2609
+ "--field-label-top": {
2610
+ "default": "50%"
2611
+ },
2612
+ "--field-label-transform": {
2613
+ "default": "translateY(-50%)"
2614
+ },
2615
+ "--field-label-focus-top": {
2616
+ "default": "0.5rem"
2617
+ },
2618
+ "--field-label-focus-transform": {
2619
+ "default": "translateY(0)"
2620
+ },
2621
+ "--field-label-focus-size": {
2622
+ "default": "var(--field-label-size-float)"
2623
+ },
2624
+ "--field-label-display": {
2625
+ "default": "block"
2626
+ },
2627
+ "--field-flex-direction": {
2628
+ "default": "column"
2629
+ },
2630
+ "--field-justify-content": {
2631
+ "default": "flex-start"
2632
+ },
2633
+ "--field-label-order": {
2634
+ "default": "1"
2635
+ },
2636
+ "--field-input-order": {
2637
+ "default": "0"
2638
+ },
2639
+ "--field-label-gap": {
2640
+ "default": "0"
2641
+ },
2642
+ "--field-label-min-width": {
2643
+ "default": "auto"
2644
+ },
2645
+ "--field-label-align-self": {
2646
+ "default": "auto"
2647
+ },
2648
+ "--field-placeholder-opacity": {
2649
+ "default": "0"
2650
+ },
2651
+ "--field-indicator-display": {
2652
+ "default": "block"
2653
+ },
2654
+ "--field-input-box-background": {
2655
+ "default": "transparent"
2656
+ },
2657
+ "--field-input-box-border": {
2658
+ "default": "none"
2659
+ },
2660
+ "--field-input-box-border-radius": {
2661
+ "default": "0"
2662
+ },
2663
+ "--field-input-box-min-height": {
2664
+ "default": "auto"
2665
+ },
2666
+ "--field-supporting-size": {
2667
+ "default": "0.75rem"
2668
+ },
2669
+ "--field-supporting-color": {
2670
+ "default": "var(--color-text-muted)"
2671
+ },
2672
+ "--field-supporting-padding": {
2673
+ "default": "0.25rem var(--field-padding-x) 0"
2674
+ },
2675
+ "--field-icon-left": {
2676
+ "default": "0.75rem"
2677
+ },
2678
+ "--field-error-color": {
2679
+ "default": "var(--color-danger)"
2680
+ },
2681
+ "--field-disabled-opacity": {
2682
+ "default": "0.38"
2683
+ },
2684
+ "--field-transition": {
2685
+ "default": "all var(--duration-fast) var(--ease-in-out)"
2686
+ }
2687
+ },
2688
+ "usage": "<div style=\"display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center;\">\n <button class=\"m3-btn\">저장</button>\n <div class=\"m3-text-field\" style=\"max-width: 14rem;\">\n <input type=\"text\" placeholder=\" \">\n <label>이름</label>\n </div>\n <label class=\"m3-checkbox\"><input type=\"checkbox\" checked> 동의</label>\n</div>"
2689
+ },
2690
+ {
2691
+ "name": "tooltip",
2692
+ "class": "m3-tooltip",
2693
+ "description": " ====== M3 Tooltip\nM3 spec: Plain tooltip (inverse surface, small text)\n Rich tooltip (surface, larger with title/actions)\n사용법:\n <div class=\"m3-tooltip\">간단한 설명</div>\n <div class=\"m3-tooltip tooltip:rich\">",
2694
+ "slots": [
2695
+ "tooltip-actions",
2696
+ "tooltip-content",
2697
+ "tooltip-title"
2698
+ ],
2699
+ "options": {
2700
+ "tooltip": [
2701
+ "rich"
2702
+ ]
2703
+ },
2704
+ "flags": [],
2705
+ "variables": {
2706
+ "--tooltip-background": {
2707
+ "default": "var(--color-surface-inverse)"
2708
+ },
2709
+ "--tooltip-color": {
2710
+ "default": "var(--color-text-inverse)"
2711
+ },
2712
+ "--tooltip-border-radius": {
2713
+ "default": "var(--radius-2)"
2714
+ },
2715
+ "--tooltip-padding": {
2716
+ "default": "0.25rem 0.5rem"
2717
+ },
2718
+ "--tooltip-font-size": {
2719
+ "default": "0.75rem"
2720
+ },
2721
+ "--tooltip-line-height": {
2722
+ "default": "1rem"
2723
+ },
2724
+ "--tooltip-max-width": {
2725
+ "default": "12.5rem"
2726
+ },
2727
+ "--tooltip-z-index": {
2728
+ "default": "var(--z-tooltip, var(--z-toast))"
2729
+ },
2730
+ "--tooltip-box-shadow": {
2731
+ "default": "none"
2732
+ },
2733
+ "--tooltip-border": {
2734
+ "default": "none"
2735
+ },
2736
+ "--tooltip-font-weight": {
2737
+ "default": "var(--font-weight-medium, 500)"
2738
+ },
2739
+ "--tooltip-rich-background": {
2740
+ "default": "var(--color-surface-2)"
2741
+ },
2742
+ "--tooltip-rich-color": {
2743
+ "default": "var(--color-text)"
2744
+ },
2745
+ "--tooltip-rich-border-radius": {
2746
+ "default": "var(--radius-3)"
2747
+ },
2748
+ "--tooltip-rich-padding": {
2749
+ "default": "0.75rem 1rem"
2750
+ },
2751
+ "--tooltip-rich-max-width": {
2752
+ "default": "20rem"
2753
+ },
2754
+ "--tooltip-rich-box-shadow": {
2755
+ "default": "var(--shadow-md)"
2756
+ },
2757
+ "--tooltip-rich-font-size": {
2758
+ "default": "0.875rem"
2759
+ },
2760
+ "--tooltip-rich-line-height": {
2761
+ "default": "1.25rem"
2762
+ },
2763
+ "--tooltip-title-font-size": {
2764
+ "default": "0.875rem"
2765
+ },
2766
+ "--tooltip-title-font-weight": {
2767
+ "default": "var(--font-weight-medium, 500)"
2768
+ },
2769
+ "--tooltip-title-color": {
2770
+ "default": "var(--color-text)"
2771
+ },
2772
+ "--tooltip-title-margin": {
2773
+ "default": "0 0 0.25rem"
2774
+ },
2775
+ "--tooltip-title-line-height": {
2776
+ "default": "1.25rem"
2777
+ },
2778
+ "--tooltip-content-color": {
2779
+ "default": "var(--color-text-muted)"
2780
+ },
2781
+ "--tooltip-content-margin": {
2782
+ "default": "0 0 0.5rem"
2783
+ },
2784
+ "--tooltip-actions-gap": {
2785
+ "default": "0.5rem"
2786
+ },
2787
+ "--tooltip-actions-margin": {
2788
+ "default": "0.5rem 0 0"
2789
+ }
2790
+ },
2791
+ "usage": "<div class=\"m3-tooltip\">간단한 설명 텍스트</div>"
2792
+ },
2793
+ {
2794
+ "name": "top-app-bar",
2795
+ "class": "m3-top-app-bar",
2796
+ "description": " ====== M3 Top App Bar\nType: center-aligned (default) | small | medium | large\nM3 spec: 64dp height, surface bg, title-large text\n사용법:\n <header class=\"m3-top-app-bar\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>",
2797
+ "slots": [
2798
+ "bar-leading",
2799
+ "bar-title",
2800
+ "bar-trailing"
2801
+ ],
2802
+ "options": {
2803
+ "bar": [
2804
+ "center",
2805
+ "elevated",
2806
+ "fixed",
2807
+ "outlined"
2808
+ ],
2809
+ "bar-color": [
2810
+ "primary",
2811
+ "surface",
2812
+ "surface-1"
2813
+ ]
2814
+ },
2815
+ "flags": [],
2816
+ "variables": {
2817
+ "--bar-display": {
2818
+ "default": "flex"
2819
+ },
2820
+ "--bar-align-items": {
2821
+ "default": "center"
2822
+ },
2823
+ "--bar-background": {
2824
+ "default": "var(--color-surface)"
2825
+ },
2826
+ "--bar-height": {
2827
+ "default": "4rem"
2828
+ },
2829
+ "--bar-padding": {
2830
+ "default": "0 0.5rem"
2831
+ },
2832
+ "--bar-box-shadow": {
2833
+ "default": "none"
2834
+ },
2835
+ "--bar-border-bottom": {
2836
+ "default": "none"
2837
+ },
2838
+ "--bar-color": {
2839
+ "default": "var(--color-text)"
2840
+ },
2841
+ "--bar-position": {
2842
+ "default": "static"
2843
+ },
2844
+ "--bar-top": {
2845
+ "default": "auto"
2846
+ },
2847
+ "--bar-z-index": {
2848
+ "default": "auto"
2849
+ },
2850
+ "--bar-title-size": {
2851
+ "default": "1.375rem"
2852
+ },
2853
+ "--bar-title-weight": {
2854
+ "default": "400"
2855
+ },
2856
+ "--bar-title-color": {
2857
+ "default": "var(--color-text)"
2858
+ },
2859
+ "--bar-title-padding": {
2860
+ "default": "0 0.5rem"
2861
+ },
2862
+ "--bar-title-flex": {
2863
+ "default": "1"
2864
+ },
2865
+ "--bar-title-overflow": {
2866
+ "default": "hidden"
2867
+ },
2868
+ "--bar-title-white-space": {
2869
+ "default": "nowrap"
2870
+ },
2871
+ "--bar-title-text-overflow": {
2872
+ "default": "ellipsis"
2873
+ },
2874
+ "--bar-title-text-align": {
2875
+ "default": "start"
2876
+ },
2877
+ "--bar-icon-size": {
2878
+ "default": "3rem"
2879
+ },
2880
+ "--bar-icon-color": {
2881
+ "default": "var(--color-text)"
2882
+ },
2883
+ "--bar-icon-radius": {
2884
+ "default": "50%"
2885
+ },
2886
+ "--bar-icon-background": {
2887
+ "default": "transparent"
2888
+ },
2889
+ "--bar-icon-cursor": {
2890
+ "default": "pointer"
2891
+ },
2892
+ "--bar-trailing-gap": {
2893
+ "default": "0"
2894
+ },
2895
+ "--bar-state-hover-opacity": {
2896
+ "default": "0.08"
2897
+ },
2898
+ "--bar-transition": {
2899
+ "default": "box-shadow var(--duration-normal) var(--ease-out)"
2900
+ }
2901
+ },
2902
+ "usage": "<div class=\"m3-layout\">\n <!-- Nav Drawer (Expanded에서 표시) -->\n <nav class=\"m3-nav-drawer layout-drawer\">\n <div class=\"drawer-header\">\n <h2 class=\"drawer-headline\">메뉴</h2>\n </div>\n <div class=\"drawer-content\">\n <a href=\"#\" class=\"drawer-item drawer-item-active\">\n <i class=\"m3-icon icon:home\"></i>\n <span class=\"drawer-label\">홈</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:search\"></i>\n <span class=\"drawer-label\">검색</span>\n </a>\n <a href=\"#\" class=\"drawer-item\">\n <i class=\"m3-icon icon:settings\"></i>\n <span class=\"drawer-label\">설정</span>\n </a>\n </div>\n </nav>\n\n <!-- Nav Rail (Medium에서 표시) -->\n <nav class=\"m3-nav-rail layout-rail\">\n <div class=\"rail-header\">\n <button class=\"m3-fab fab:small\"><i class=\"m3-icon icon:edit\"></i></button>\n </div>\n <div class=\"rail-items\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </div>\n </nav>\n\n <!-- Main Content Area -->\n <div class=\"layout-main\">\n <header class=\"m3-top-app-bar layout-header\">\n <button class=\"bar-leading\"><i class=\"m3-icon icon:menu\"></i></button>\n <h1 class=\"bar-title\">페이지 제목</h1>\n <div class=\"bar-trailing\">\n <button><i class=\"m3-icon icon:search\"></i></button>\n </div>\n </header>\n <main class=\"layout-content\">\n <h2>콘텐츠 영역</h2>\n <p>페이지의 주요 콘텐츠가 여기에 들어갑니다.</p>\n </main>\n </div>\n\n <!-- Nav Bar (Compact에서 표시) -->\n <nav class=\"m3-nav-bar layout-bar\">\n <a href=\"#\" class=\"m3-deco icon:home deco-pos:top deco-active\">홈</a>\n <a href=\"#\" class=\"m3-deco icon:search deco-pos:top\">검색</a>\n <a href=\"#\" class=\"m3-deco icon:settings deco-pos:top\">설정</a>\n </nav>\n</div>"
2903
+ }
2904
+ ],
2905
+ "tokens": {
2906
+ "package": "@newtil/design-tokens",
2907
+ "count": 194,
2908
+ "groups": {
2909
+ "border-width": [
2910
+ "--border-width-0",
2911
+ "--border-width-1",
2912
+ "--border-width-2",
2913
+ "--border-width-3",
2914
+ "--border-width-4"
2915
+ ],
2916
+ "color-primary": [
2917
+ "--color-primary",
2918
+ "--color-primary-hover",
2919
+ "--color-primary-active",
2920
+ "--color-primary-subtle"
2921
+ ],
2922
+ "color-on": [
2923
+ "--color-on-primary",
2924
+ "--color-on-secondary",
2925
+ "--color-on-tertiary",
2926
+ "--color-on-success",
2927
+ "--color-on-warning",
2928
+ "--color-on-danger",
2929
+ "--color-on-info",
2930
+ "--color-on-surface",
2931
+ "--color-on-surface-inverse"
2932
+ ],
2933
+ "color-secondary": [
2934
+ "--color-secondary",
2935
+ "--color-secondary-hover",
2936
+ "--color-secondary-active",
2937
+ "--color-secondary-subtle"
2938
+ ],
2939
+ "color-tertiary": [
2940
+ "--color-tertiary",
2941
+ "--color-tertiary-hover",
2942
+ "--color-tertiary-active",
2943
+ "--color-tertiary-subtle"
2944
+ ],
2945
+ "color-surface": [
2946
+ "--color-surface",
2947
+ "--color-surface-1",
2948
+ "--color-surface-2",
2949
+ "--color-surface-3",
2950
+ "--color-surface-4",
2951
+ "--color-surface-inverse",
2952
+ "--color-surface-hover",
2953
+ "--color-surface-active",
2954
+ "--color-surface-disabled"
2955
+ ],
2956
+ "color-text": [
2957
+ "--color-text",
2958
+ "--color-text-muted",
2959
+ "--color-text-subtle",
2960
+ "--color-text-inverse",
2961
+ "--color-text-disabled"
2962
+ ],
2963
+ "color-link": [
2964
+ "--color-link",
2965
+ "--color-link-hover"
2966
+ ],
2967
+ "color-border": [
2968
+ "--color-border",
2969
+ "--color-border-strong",
2970
+ "--color-border-subtle"
2971
+ ],
2972
+ "color-code": [
2973
+ "--color-code-bg",
2974
+ "--color-code-fg",
2975
+ "--color-code-border"
2976
+ ],
2977
+ "color-scrim": [
2978
+ "--color-scrim"
2979
+ ],
2980
+ "color-success": [
2981
+ "--color-success",
2982
+ "--color-success-hover",
2983
+ "--color-success-active",
2984
+ "--color-success-subtle"
2985
+ ],
2986
+ "color-warning": [
2987
+ "--color-warning",
2988
+ "--color-warning-hover",
2989
+ "--color-warning-active",
2990
+ "--color-warning-subtle"
2991
+ ],
2992
+ "color-danger": [
2993
+ "--color-danger",
2994
+ "--color-danger-hover",
2995
+ "--color-danger-active",
2996
+ "--color-danger-subtle"
2997
+ ],
2998
+ "color-info": [
2999
+ "--color-info",
3000
+ "--color-info-hover",
3001
+ "--color-info-active",
3002
+ "--color-info-subtle"
3003
+ ],
3004
+ "color-focus": [
3005
+ "--color-focus-ring"
3006
+ ],
3007
+ "opacity": [
3008
+ "--opacity-0",
3009
+ "--opacity-10",
3010
+ "--opacity-20",
3011
+ "--opacity-30",
3012
+ "--opacity-40",
3013
+ "--opacity-50",
3014
+ "--opacity-60",
3015
+ "--opacity-70",
3016
+ "--opacity-80",
3017
+ "--opacity-90",
3018
+ "--opacity-100",
3019
+ "--opacity-25",
3020
+ "--opacity-75"
3021
+ ],
3022
+ "radius": [
3023
+ "--radius-0",
3024
+ "--radius-1",
3025
+ "--radius-2",
3026
+ "--radius-3",
3027
+ "--radius-4",
3028
+ "--radius-5",
3029
+ "--radius-6"
3030
+ ],
3031
+ "radius-full": [
3032
+ "--radius-full"
3033
+ ],
3034
+ "shadow-sm": [
3035
+ "--shadow-sm"
3036
+ ],
3037
+ "shadow-md": [
3038
+ "--shadow-md"
3039
+ ],
3040
+ "shadow-lg": [
3041
+ "--shadow-lg"
3042
+ ],
3043
+ "shadow-xl": [
3044
+ "--shadow-xl"
3045
+ ],
3046
+ "shadow": [
3047
+ "--shadow-2xl"
3048
+ ],
3049
+ "space": [
3050
+ "--space-0",
3051
+ "--space-1",
3052
+ "--space-2",
3053
+ "--space-3",
3054
+ "--space-4",
3055
+ "--space-5",
3056
+ "--space-6",
3057
+ "--space-7",
3058
+ "--space-8",
3059
+ "--space-9",
3060
+ "--space-10",
3061
+ "--space-11",
3062
+ "--space-12",
3063
+ "--space-13",
3064
+ "--space-14"
3065
+ ],
3066
+ "duration-fast": [
3067
+ "--duration-fast"
3068
+ ],
3069
+ "duration-normal": [
3070
+ "--duration-normal"
3071
+ ],
3072
+ "duration-slow": [
3073
+ "--duration-slow"
3074
+ ],
3075
+ "ease-linear": [
3076
+ "--ease-linear"
3077
+ ],
3078
+ "ease-in": [
3079
+ "--ease-in",
3080
+ "--ease-in-out"
3081
+ ],
3082
+ "ease-out": [
3083
+ "--ease-out"
3084
+ ],
3085
+ "font-size": [
3086
+ "--font-size-caption",
3087
+ "--font-size-body-sm",
3088
+ "--font-size-body",
3089
+ "--font-size-body-lg",
3090
+ "--font-size-heading-sm",
3091
+ "--font-size-heading-md",
3092
+ "--font-size-heading-lg",
3093
+ "--font-size-heading-xl",
3094
+ "--font-size-display",
3095
+ "--font-size-xs",
3096
+ "--font-size-sm",
3097
+ "--font-size-md",
3098
+ "--font-size-lg",
3099
+ "--font-size-xl",
3100
+ "--font-size-2xl",
3101
+ "--font-size-3xl",
3102
+ "--font-size-4xl"
3103
+ ],
3104
+ "font-family": [
3105
+ "--font-family-sans",
3106
+ "--font-family-mono"
3107
+ ],
3108
+ "font-weight": [
3109
+ "--font-weight-regular",
3110
+ "--font-weight-medium",
3111
+ "--font-weight-semibold",
3112
+ "--font-weight-bold"
3113
+ ],
3114
+ "line-height": [
3115
+ "--line-height-tight",
3116
+ "--line-height-normal",
3117
+ "--line-height-loose"
3118
+ ],
3119
+ "letter-spacing": [
3120
+ "--letter-spacing-tight",
3121
+ "--letter-spacing-normal",
3122
+ "--letter-spacing-wide"
3123
+ ],
3124
+ "z-base": [
3125
+ "--z-base"
3126
+ ],
3127
+ "z-dropdown": [
3128
+ "--z-dropdown"
3129
+ ],
3130
+ "z-sticky": [
3131
+ "--z-sticky"
3132
+ ],
3133
+ "z-fixed": [
3134
+ "--z-fixed"
3135
+ ],
3136
+ "z-overlay": [
3137
+ "--z-overlay"
3138
+ ],
3139
+ "z-modal": [
3140
+ "--z-modal"
3141
+ ],
3142
+ "z-popover": [
3143
+ "--z-popover"
3144
+ ],
3145
+ "z-toast": [
3146
+ "--z-toast"
3147
+ ],
3148
+ "z-tooltip": [
3149
+ "--z-tooltip"
3150
+ ],
3151
+ "size": [
3152
+ "--size-0",
3153
+ "--size-1",
3154
+ "--size-2",
3155
+ "--size-3",
3156
+ "--size-4",
3157
+ "--size-5",
3158
+ "--size-6",
3159
+ "--size-7",
3160
+ "--size-8",
3161
+ "--size-9",
3162
+ "--size-10",
3163
+ "--size-11",
3164
+ "--size-12",
3165
+ "--size-13",
3166
+ "--size-14",
3167
+ "--size-1-2",
3168
+ "--size-1-3",
3169
+ "--size-2-3",
3170
+ "--size-1-4",
3171
+ "--size-3-4",
3172
+ "--size-1-5",
3173
+ "--size-2-5",
3174
+ "--size-3-5",
3175
+ "--size-4-5",
3176
+ "--size-1-6",
3177
+ "--size-5-6",
3178
+ "--size-1-12",
3179
+ "--size-5-12",
3180
+ "--size-7-12",
3181
+ "--size-11-12"
3182
+ ],
3183
+ "size-screen": [
3184
+ "--size-screen-w-25",
3185
+ "--size-screen-w-50",
3186
+ "--size-screen-w-75",
3187
+ "--size-screen-w",
3188
+ "--size-screen-h-25",
3189
+ "--size-screen-h-50",
3190
+ "--size-screen-h-75",
3191
+ "--size-screen-h"
3192
+ ],
3193
+ "size-full": [
3194
+ "--size-full"
3195
+ ],
3196
+ "size-half": [
3197
+ "--size-half"
3198
+ ],
3199
+ "size-auto": [
3200
+ "--size-auto"
3201
+ ],
3202
+ "shadow-none": [
3203
+ "--shadow-none"
3204
+ ]
3205
+ }
3206
+ }
3207
+ }