@seed-design/rootage-artifacts 0.0.0-alpha-20260414104312

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.
Files changed (91) hide show
  1. package/README.md +10 -0
  2. package/collections.yaml +24 -0
  3. package/color.yaml +855 -0
  4. package/components/action-button.yaml +460 -0
  5. package/components/action-chip.yaml +150 -0
  6. package/components/action-sheet-close-button.yaml +45 -0
  7. package/components/action-sheet-item.yaml +52 -0
  8. package/components/action-sheet.yaml +115 -0
  9. package/components/avatar-stack.yaml +86 -0
  10. package/components/avatar.yaml +161 -0
  11. package/components/badge.yaml +210 -0
  12. package/components/bottom-sheet-close-button.yaml +38 -0
  13. package/components/bottom-sheet-handle.yaml +48 -0
  14. package/components/bottom-sheet.yaml +156 -0
  15. package/components/callout.yaml +213 -0
  16. package/components/checkbox-group.yaml +17 -0
  17. package/components/checkbox.yaml +59 -0
  18. package/components/checkmark.yaml +152 -0
  19. package/components/chip-tablist.yaml +28 -0
  20. package/components/chip.yaml +267 -0
  21. package/components/content-placeholder.yaml +45 -0
  22. package/components/contextual-floating-button.yaml +161 -0
  23. package/components/control-chip.yaml +169 -0
  24. package/components/dialog.yaml +131 -0
  25. package/components/divider.yaml +17 -0
  26. package/components/extended-action-sheet-close-button.yaml +48 -0
  27. package/components/extended-action-sheet-item.yaml +67 -0
  28. package/components/extended-action-sheet.yaml +134 -0
  29. package/components/extended-fab.yaml +109 -0
  30. package/components/fab.yaml +46 -0
  31. package/components/field-label.yaml +33 -0
  32. package/components/field.yaml +159 -0
  33. package/components/floating-action-button.yaml +99 -0
  34. package/components/help-bubble.yaml +127 -0
  35. package/components/identity-placeholder.yaml +23 -0
  36. package/components/image-frame-floater.yaml +18 -0
  37. package/components/image-frame-indicator.yaml +42 -0
  38. package/components/image-frame-reaction-button.yaml +60 -0
  39. package/components/image-frame.yaml +37 -0
  40. package/components/inline-banner.yaml +197 -0
  41. package/components/input-button.yaml +171 -0
  42. package/components/link-content.yaml +61 -0
  43. package/components/list-header.yaml +43 -0
  44. package/components/list-item.yaml +149 -0
  45. package/components/manner-temp-badge.yaml +102 -0
  46. package/components/manner-temp.yaml +80 -0
  47. package/components/menu-item.yaml +156 -0
  48. package/components/menu-sheet-close-button.yaml +48 -0
  49. package/components/menu-sheet-item.yaml +104 -0
  50. package/components/menu-sheet.yaml +136 -0
  51. package/components/menu.yaml +117 -0
  52. package/components/notification-badge.yaml +74 -0
  53. package/components/page-banner.yaml +302 -0
  54. package/components/progress-circle.yaml +105 -0
  55. package/components/radio-group.yaml +17 -0
  56. package/components/radio.yaml +59 -0
  57. package/components/radiomark.yaml +113 -0
  58. package/components/reaction-button.yaml +161 -0
  59. package/components/scroll-fog.yaml +23 -0
  60. package/components/segmented-control-indicator.yaml +38 -0
  61. package/components/segmented-control-item.yaml +76 -0
  62. package/components/segmented-control.yaml +23 -0
  63. package/components/select-box-checkmark.yaml +52 -0
  64. package/components/select-box-group.yaml +20 -0
  65. package/components/select-box.yaml +176 -0
  66. package/components/skeleton.yaml +73 -0
  67. package/components/slider-thumb.yaml +45 -0
  68. package/components/slider-tick.yaml +27 -0
  69. package/components/slider.yaml +169 -0
  70. package/components/snackbar.yaml +137 -0
  71. package/components/switch.yaml +66 -0
  72. package/components/switchmark.yaml +147 -0
  73. package/components/tab.yaml +57 -0
  74. package/components/tablist.yaml +64 -0
  75. package/components/tag-group-item.yaml +119 -0
  76. package/components/tag-group.yaml +40 -0
  77. package/components/text-button.yaml +46 -0
  78. package/components/text-input.yaml +234 -0
  79. package/components/toggle-button.yaml +201 -0
  80. package/components/top-navigation.yaml +106 -0
  81. package/components/typography.yaml +380 -0
  82. package/dimension.yaml +88 -0
  83. package/duration.yaml +29 -0
  84. package/font-size.yaml +77 -0
  85. package/font-weight.yaml +16 -0
  86. package/gradient.yaml +134 -0
  87. package/line-height.yaml +77 -0
  88. package/package.json +20 -0
  89. package/radius.yaml +40 -0
  90. package/shadow.yaml +63 -0
  91. package/timing-function.yaml +37 -0
@@ -0,0 +1,115 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: action-sheet
5
+ name: Action Sheet
6
+ deprecated: Use menu-sheet instead.
7
+ data:
8
+ schema:
9
+ slots:
10
+ backdrop:
11
+ properties:
12
+ color:
13
+ type: color
14
+ enterDuration:
15
+ type: duration
16
+ enterTimingFunction:
17
+ type: cubicBezier
18
+ enterOpacity:
19
+ type: number
20
+ exitDuration:
21
+ type: duration
22
+ exitTimingFunction:
23
+ type: cubicBezier
24
+ exitOpacity:
25
+ type: number
26
+ content:
27
+ properties:
28
+ color:
29
+ type: color
30
+ maxWidth:
31
+ type: dimension
32
+ topCornerRadius:
33
+ type: dimension
34
+ enterDuration:
35
+ type: duration
36
+ enterTimingFunction:
37
+ type: cubicBezier
38
+ exitDuration:
39
+ type: duration
40
+ exitTimingFunction:
41
+ type: cubicBezier
42
+ header:
43
+ properties:
44
+ paddingX:
45
+ type: dimension
46
+ paddingY:
47
+ type: dimension
48
+ gap:
49
+ type: dimension
50
+ title:
51
+ properties:
52
+ fontSize:
53
+ type: dimension
54
+ lineHeight:
55
+ type: dimension
56
+ fontWeight:
57
+ type: number
58
+ color:
59
+ type: color
60
+ description:
61
+ properties:
62
+ fontSize:
63
+ type: dimension
64
+ lineHeight:
65
+ type: dimension
66
+ fontWeight:
67
+ type: number
68
+ color:
69
+ type: color
70
+ divider:
71
+ properties:
72
+ strokeWidth:
73
+ type: dimension
74
+ strokeColor:
75
+ type: color
76
+ marginX:
77
+ type: dimension
78
+ definitions:
79
+ base:
80
+ enabled:
81
+ backdrop:
82
+ color: $color.bg.overlay
83
+ enterDuration: $duration.d2
84
+ enterTimingFunction: $timing-function.enter
85
+ enterOpacity: 0
86
+ exitDuration: $duration.d2
87
+ exitTimingFunction: $timing-function.exit
88
+ exitOpacity: 0
89
+ content:
90
+ color: $color.bg.layer-floating
91
+ maxWidth: 480px
92
+ topCornerRadius: $radius.r5
93
+ enterDuration: $duration.d6
94
+ enterTimingFunction: $timing-function.enter-expressive
95
+ # Do we need translateY definition here?
96
+ exitDuration: $duration.d4
97
+ exitTimingFunction: $timing-function.exit
98
+ header:
99
+ paddingX: $dimension.spacing-x.global-gutter
100
+ paddingY: $dimension.x3_5
101
+ gap: $dimension.x1
102
+ title:
103
+ fontSize: $font-size.t4
104
+ lineHeight: $line-height.t4
105
+ fontWeight: $font-weight.bold
106
+ color: $color.fg.neutral-muted
107
+ description:
108
+ fontSize: $font-size.t3
109
+ lineHeight: $line-height.t3
110
+ fontWeight: $font-weight.regular
111
+ color: $color.fg.neutral-muted
112
+ divider:
113
+ strokeWidth: 1px
114
+ strokeColor: $color.stroke.neutral-muted
115
+ marginX: $dimension.spacing-x.global-gutter
@@ -0,0 +1,86 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: avatar-stack
5
+ name: Avatar Stack
6
+ data:
7
+ schema:
8
+ slots:
9
+ root:
10
+ properties:
11
+ gap:
12
+ type: dimension
13
+ item:
14
+ properties:
15
+ cornerRadius:
16
+ type: dimension
17
+ strokeColor:
18
+ type: color
19
+ strokeWidth:
20
+ type: dimension
21
+ definitions:
22
+ base:
23
+ enabled:
24
+ item:
25
+ cornerRadius: $radius.full
26
+ strokeColor: $color.bg.layer-default
27
+ size=20:
28
+ enabled:
29
+ root:
30
+ gap: -5px
31
+ item:
32
+ strokeWidth: 1px
33
+ size=24:
34
+ enabled:
35
+ root:
36
+ gap: -6px
37
+ item:
38
+ strokeWidth: 1px
39
+ size=36:
40
+ enabled:
41
+ root:
42
+ gap: -8px
43
+ item:
44
+ strokeWidth: 2px
45
+ size=42:
46
+ enabled:
47
+ root:
48
+ gap: -10px
49
+ item:
50
+ strokeWidth: 2px
51
+ size=48:
52
+ enabled:
53
+ root:
54
+ gap: -12px
55
+ item:
56
+ strokeWidth: 2px
57
+ size=56:
58
+ enabled:
59
+ root:
60
+ gap: -13px
61
+ item:
62
+ strokeWidth: 3px
63
+ size=64:
64
+ enabled:
65
+ root:
66
+ gap: -16px
67
+ item:
68
+ strokeWidth: 3px
69
+ size=80:
70
+ enabled:
71
+ root:
72
+ gap: -20px
73
+ item:
74
+ strokeWidth: 4px
75
+ size=96:
76
+ enabled:
77
+ root:
78
+ gap: -24px
79
+ item:
80
+ strokeWidth: 5px
81
+ size=108:
82
+ enabled:
83
+ root:
84
+ gap: -27px
85
+ item:
86
+ strokeWidth: 5px
@@ -0,0 +1,161 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: avatar
5
+ name: Avatar
6
+ data:
7
+ schema:
8
+ variants:
9
+ size:
10
+ values:
11
+ 20:
12
+ description: "대표 사용처: 댓글을 남긴 사용자"
13
+ 24:
14
+ description: "대표 사용처: 답글 프로필"
15
+ 36:
16
+ description: "대표 사용처: 댓글 프로필"
17
+ 42:
18
+ description: "대표 사용처: 게시글 상세 내 프로필"
19
+ 48:
20
+ description: "대표 사용처: 작은 리스트"
21
+ 56:
22
+ description: "대표 사용처: 큰 리스트"
23
+ 64:
24
+ description: "대표 사용처: 프로필 상세, 캐러셀"
25
+ 108:
26
+ description: "대표 사용처: 프로필 수정"
27
+ slots:
28
+ root:
29
+ properties:
30
+ cornerRadius:
31
+ type: dimension
32
+ size:
33
+ type: dimension
34
+ strokeColor:
35
+ type: color
36
+ strokeWidth:
37
+ type: dimension
38
+ badgeMask:
39
+ description: size=20에서는 지원되지 않습니다.
40
+ properties:
41
+ offset:
42
+ type: dimension
43
+ size:
44
+ type: dimension
45
+ badge:
46
+ description: size=20에서는 지원되지 않습니다.
47
+ properties:
48
+ offset:
49
+ type: dimension
50
+ size:
51
+ type: dimension
52
+ definitions:
53
+ base:
54
+ enabled:
55
+ root:
56
+ cornerRadius: $radius.full
57
+ strokeColor: $color.stroke.neutral-subtle
58
+ size=20:
59
+ enabled:
60
+ root:
61
+ size: 20px
62
+ strokeWidth: 1px
63
+ size=24:
64
+ enabled:
65
+ root:
66
+ size: 24px
67
+ strokeWidth: 1px
68
+ badgeMask:
69
+ offset: 14px
70
+ size: 12px
71
+ badge:
72
+ offset: 15px
73
+ size: 10px
74
+ size=36:
75
+ enabled:
76
+ root:
77
+ size: 36px
78
+ strokeWidth: 1px
79
+ badgeMask:
80
+ offset: 20px
81
+ size: 18px
82
+ badge:
83
+ offset: 22px
84
+ size: 14px
85
+ size=42:
86
+ enabled:
87
+ root:
88
+ size: 42px
89
+ strokeWidth: 1px
90
+ badgeMask:
91
+ offset: 24px
92
+ size: 20px
93
+ badge:
94
+ offset: 26px
95
+ size: 16px
96
+ size=48:
97
+ enabled:
98
+ root:
99
+ size: 48px
100
+ strokeWidth: 1px
101
+ badgeMask:
102
+ offset: 28px
103
+ size: 22px
104
+ badge:
105
+ offset: 30px
106
+ size: 18px
107
+ size=56:
108
+ enabled:
109
+ root:
110
+ size: 56px
111
+ strokeWidth: 1px
112
+ badgeMask:
113
+ offset: 34px
114
+ size: 24px
115
+ badge:
116
+ offset: 36px
117
+ size: 20px
118
+ size=64:
119
+ enabled:
120
+ root:
121
+ size: 64px
122
+ strokeWidth: 1px
123
+ badgeMask:
124
+ offset: 40px
125
+ size: 26px
126
+ badge:
127
+ offset: 42px
128
+ size: 22px
129
+ size=80:
130
+ enabled:
131
+ root:
132
+ size: 80px
133
+ strokeWidth: 1px
134
+ badgeMask:
135
+ offset: 52px
136
+ size: 32px
137
+ badge:
138
+ offset: 54px
139
+ size: 28px
140
+ size=96:
141
+ enabled:
142
+ root:
143
+ size: 96px
144
+ strokeWidth: 1px
145
+ badgeMask:
146
+ offset: 62px
147
+ size: 38px
148
+ badge:
149
+ offset: 65px
150
+ size: 32px
151
+ size=108:
152
+ enabled:
153
+ root:
154
+ size: 108px
155
+ strokeWidth: 1px
156
+ badgeMask:
157
+ offset: 70px
158
+ size: 44px
159
+ badge:
160
+ offset: 74px
161
+ size: 36px
@@ -0,0 +1,210 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: badge
5
+ name: Badge
6
+ data:
7
+ schema:
8
+ slots:
9
+ root:
10
+ properties:
11
+ maxWidth:
12
+ type: dimension
13
+ description: 10글자 이상의 텍스트를 말줄임 처리하기 위해 설정된 최대 너비입니다.
14
+ minHeight:
15
+ type: dimension
16
+ paddingX:
17
+ type: dimension
18
+ paddingY:
19
+ type: dimension
20
+ cornerRadius:
21
+ type: dimension
22
+ strokeWidth:
23
+ type: dimension
24
+ strokeColor:
25
+ type: color
26
+ color:
27
+ type: color
28
+ label:
29
+ properties:
30
+ fontSize:
31
+ type: dimension
32
+ lineHeight:
33
+ type: dimension
34
+ fontWeight:
35
+ type: number
36
+ color:
37
+ type: color
38
+ variants:
39
+ variant:
40
+ values:
41
+ solid:
42
+ description: 배경이 복잡하거나 이미지 위에 Badge가 겹치는 경우 사용합니다.
43
+ outline:
44
+ description: 중간 정도의 주목도가 필요한 본문 또는 상세 화면에서 사용합니다.
45
+ weak:
46
+ description: 반복적인 구조를 가진 환경에서 사용합니다. 배경색이 있는 경우에는 권장하지 않습니다.
47
+ tone:
48
+ values:
49
+ neutral:
50
+ description: 상태가 특별히 없거나, 상태값이 명확하지 않은 초기 상태
51
+ informative:
52
+ description: 베타 기능 안내, 사용자 권한 제한, 정보 기반 메시지
53
+ positive:
54
+ description: 완료, 적용됨, 승인됨, 발행됨, 저장 성공, 검토 통과
55
+ warning:
56
+ description: 만료 임박, 제출 누락, 필수 정보 부족 등 잠재적 문제 상태
57
+ critical:
58
+ description: 검수 거절, 제재 상태, 편집 불가, 유효성 검증 실패
59
+ definitions:
60
+ size=large:
61
+ enabled:
62
+ root:
63
+ maxWidth: 6.75rem # 108px ÷ 16
64
+ minHeight: $dimension.x6
65
+ paddingX: $dimension.x2
66
+ paddingY: $dimension.x1
67
+ cornerRadius: $radius.r1_5
68
+ label:
69
+ fontSize: $font-size.t2
70
+ lineHeight: $line-height.t2
71
+ size=medium:
72
+ enabled:
73
+ root:
74
+ maxWidth: 7.5rem # 120px ÷ 16
75
+ minHeight: $dimension.x5
76
+ paddingX: $dimension.x1_5
77
+ paddingY: $dimension.x0_5
78
+ cornerRadius: $radius.r1
79
+ label:
80
+ fontSize: $font-size.t1
81
+ lineHeight: $line-height.t1
82
+
83
+ variant=weak:
84
+ enabled:
85
+ label:
86
+ fontWeight: $font-weight.medium
87
+ variant=solid:
88
+ enabled:
89
+ label:
90
+ fontWeight: $font-weight.bold
91
+ variant=outline:
92
+ enabled:
93
+ root:
94
+ strokeWidth: 1px
95
+ label:
96
+ fontWeight: $font-weight.bold
97
+
98
+ tone=neutral, variant=weak:
99
+ enabled:
100
+ root:
101
+ color: $color.bg.neutral-weak
102
+ label:
103
+ color: $color.fg.neutral-muted
104
+ tone=neutral, variant=solid:
105
+ enabled:
106
+ root:
107
+ color: $color.palette.gray-800
108
+ label:
109
+ color: $color.fg.neutral-inverted
110
+ tone=neutral, variant=outline:
111
+ enabled:
112
+ root:
113
+ strokeColor: $color.stroke.neutral-muted
114
+ label:
115
+ color: $color.fg.neutral-muted
116
+
117
+ tone=brand, variant=weak:
118
+ enabled:
119
+ root:
120
+ color: $color.bg.brand-weak
121
+ label:
122
+ color: $color.fg.brand-contrast
123
+ tone=brand, variant=solid:
124
+ enabled:
125
+ root:
126
+ color: $color.bg.brand-solid
127
+ label:
128
+ color: $color.palette.static-white
129
+ tone=brand, variant=outline:
130
+ enabled:
131
+ root:
132
+ strokeColor: $color.stroke.brand-weak
133
+ label:
134
+ color: $color.fg.brand
135
+
136
+ tone=informative, variant=weak:
137
+ enabled:
138
+ root:
139
+ color: $color.bg.informative-weak
140
+ label:
141
+ color: $color.fg.informative-contrast
142
+ tone=informative, variant=solid:
143
+ enabled:
144
+ root:
145
+ color: $color.bg.informative-solid
146
+ label:
147
+ color: $color.palette.static-white
148
+ tone=informative, variant=outline:
149
+ enabled:
150
+ root:
151
+ strokeColor: $color.stroke.informative-weak
152
+ label:
153
+ color: $color.fg.informative
154
+
155
+ tone=positive, variant=weak:
156
+ enabled:
157
+ root:
158
+ color: $color.bg.positive-weak
159
+ label:
160
+ color: $color.fg.positive-contrast
161
+ tone=positive, variant=solid:
162
+ enabled:
163
+ root:
164
+ color: $color.bg.positive-solid
165
+ label:
166
+ color: $color.palette.static-white
167
+ tone=positive, variant=outline:
168
+ enabled:
169
+ root:
170
+ strokeColor: $color.stroke.positive-weak
171
+ label:
172
+ color: $color.fg.positive
173
+
174
+ tone=warning, variant=weak:
175
+ enabled:
176
+ root:
177
+ color: $color.bg.warning-weak
178
+ label:
179
+ color: $color.fg.warning-contrast
180
+ tone=warning, variant=solid:
181
+ enabled:
182
+ root:
183
+ color: $color.bg.warning-solid
184
+ label:
185
+ color: $color.palette.static-black-alpha-900
186
+ tone=warning, variant=outline:
187
+ enabled:
188
+ root:
189
+ strokeColor: $color.stroke.warning-weak
190
+ label:
191
+ color: $color.fg.warning
192
+
193
+ tone=critical, variant=weak:
194
+ enabled:
195
+ root:
196
+ color: $color.bg.critical-weak
197
+ label:
198
+ color: $color.fg.critical-contrast
199
+ tone=critical, variant=solid:
200
+ enabled:
201
+ root:
202
+ color: $color.bg.critical-solid
203
+ label:
204
+ color: $color.palette.static-white
205
+ tone=critical, variant=outline:
206
+ enabled:
207
+ root:
208
+ strokeColor: $color.stroke.critical-weak
209
+ label:
210
+ color: $color.fg.critical
@@ -0,0 +1,38 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: bottom-sheet-close-button
5
+ name: Bottom Sheet Close Button
6
+ data:
7
+ schema:
8
+ slots:
9
+ root:
10
+ properties:
11
+ color:
12
+ type: color
13
+ cornerRadius:
14
+ type: dimension
15
+ targetSize:
16
+ type: dimension
17
+ size:
18
+ type: dimension
19
+ icon:
20
+ properties:
21
+ color:
22
+ type: color
23
+ size:
24
+ type: dimension
25
+ definitions:
26
+ base:
27
+ enabled:
28
+ root:
29
+ color: $color.bg.neutral-weak
30
+ cornerRadius: $radius.full
31
+ targetSize: 44px
32
+ size: 28px
33
+ icon:
34
+ color: $color.fg.neutral
35
+ size: 14px
36
+ pressed:
37
+ root:
38
+ color: $color.bg.neutral-weak-pressed
@@ -0,0 +1,48 @@
1
+ # yaml-language-server: $schema=./schema.json
2
+ kind: ComponentSpec
3
+ metadata:
4
+ id: bottom-sheet-handle
5
+ name: Bottom Sheet Handle
6
+ data:
7
+ schema:
8
+ slots:
9
+ root:
10
+ properties:
11
+ fromTop:
12
+ type: dimension
13
+ width:
14
+ type: dimension
15
+ height:
16
+ type: dimension
17
+ color:
18
+ type: color
19
+ borderRadius:
20
+ type: dimension
21
+ colorDuration:
22
+ type: duration
23
+ colorTimingFunction:
24
+ type: cubicBezier
25
+ touchArea:
26
+ properties:
27
+ width:
28
+ type: dimension
29
+ height:
30
+ type: dimension
31
+
32
+ definitions:
33
+ base:
34
+ enabled:
35
+ root:
36
+ fromTop: 6px
37
+ width: 36px
38
+ height: 4px
39
+ color: $color.palette.gray-400
40
+ borderRadius: 9999px
41
+ colorDuration: $duration.color-transition
42
+ colorTimingFunction: $timing-function.easing
43
+ touchArea:
44
+ width: 44px
45
+ height: 44px
46
+ pressed:
47
+ root:
48
+ color: $color.palette.gray-500