@highpixel-co/palda-design-system 0.4.1 → 0.6.0

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 (38) hide show
  1. package/README.md +21 -2
  2. package/dist/{chunk-GPCPGABI.js → chunk-6JZPK2W5.js} +10 -2
  3. package/dist/{chunk-Q4UXASZH.js → chunk-QW2SD3XV.js} +13 -5
  4. package/dist/guide/LICENSE +21 -0
  5. package/dist/guide/NOTICE +29 -0
  6. package/dist/guide/README.md +57 -0
  7. package/dist/guide/catalog/components.yml +272 -0
  8. package/dist/guide/catalog/drafts.yml +333 -0
  9. package/dist/guide/catalog/icons.yml +309 -0
  10. package/dist/guide/catalog/patterns.yml +132 -0
  11. package/dist/guide/catalog/tokens.yml +14 -0
  12. package/dist/guide/docs/ACCESSIBILITY.md +36 -0
  13. package/dist/guide/docs/AI_UI_DESIGNER_HANDOFF.md +258 -0
  14. package/dist/guide/docs/COMPONENT_POLICY.md +105 -0
  15. package/dist/guide/docs/CONSUMER_GUIDE.md +131 -0
  16. package/dist/guide/docs/CONTENT.md +148 -0
  17. package/dist/guide/docs/DESIGN_GRAMMAR.md +480 -0
  18. package/dist/guide/docs/DESIGN_PRINCIPLES.md +263 -0
  19. package/dist/guide/docs/FIGMA_ALIGNMENT_DELTA.md +141 -0
  20. package/dist/guide/docs/FIGMA_NAME_MAPPING.md +84 -0
  21. package/dist/guide/docs/FIGMA_WORKFLOW.md +33 -0
  22. package/dist/guide/docs/ICON_POLICY.md +175 -0
  23. package/dist/guide/docs/LAYOUT.md +221 -0
  24. package/dist/guide/docs/PATTERN_POLICY.md +13 -0
  25. package/dist/guide/docs/TOKEN_POLICY.md +266 -0
  26. package/dist/guide/icons/manifest.json +572 -0
  27. package/dist/harness/check.mjs +330 -0
  28. package/dist/harness/cli.mjs +88 -0
  29. package/dist/harness/metadata.json +1325 -0
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +2 -2
  32. package/dist/patterns.d.ts +15 -2
  33. package/dist/patterns.js +2 -2
  34. package/dist/scripts/check-examples.mjs +406 -0
  35. package/dist/styles.css +11 -0
  36. package/dist/ui.d.ts +6 -1
  37. package/dist/ui.js +1 -1
  38. package/package.json +13 -2
@@ -0,0 +1,333 @@
1
+ # Draft는 승인 대기열이 아니라 추적 가능한 임시 결정이다. based_on에는 Stable catalog key만 쓴다.
2
+ # 기존 Stable 컴포넌트 기반이 없으면 based_on_none_reason으로 그 이유를 명시한다.
3
+
4
+ layout-popup-width:
5
+ catalog: tokens
6
+ entry: layout-popup-width
7
+ based_on_none_reason: 브라우저 확장 팝업과 같은 역할의 Stable layout width token이 없다
8
+ reused:
9
+ - 기존 layout namespace와 전역 palda 접두사
10
+ - 기존 팝업의 310px content와 좌우 20px inset이 만든 350px 외곽 폭
11
+ gap: sidebar와 page content가 아닌 브라우저 확장 팝업 표면의 폭 token이 없다
12
+ rejected_alternatives:
13
+ - sidebar-width 220px은 내비게이션 열 전용이라 팝업 역할과 실제 폭을 모두 왜곡한다
14
+ - content-width 1220px은 페이지 본문 전용이라 팝업에 사용할 수 없다
15
+ added:
16
+ - 브라우저 확장과 좁은 독립 팝업 표면용 350px layout width
17
+ unchanged:
18
+ - sidebar와 content width 및 기존 spacing scale
19
+ feedback_questions:
20
+ - 기존 외곽 폭 350px을 유지하는 것이 새 DS 밀도에서도 적절한가
21
+
22
+ alert:
23
+ catalog: components
24
+ entry: alert
25
+ based_on_none_reason: 흐름을 끊지 않고 화면에 남아 안내를 전하는 Stable 표면이 없다
26
+ reused:
27
+ - Badge와 같은 축의 틴트 조합 — 배경 {family}/subtle, 글자 text/{family}
28
+ - 기존 아이콘 세트와 본문 typography
29
+ gap: 화면에 남아 있는 안내·경고·오류를 담을 자리가 없다
30
+ rejected_alternatives:
31
+ - Toast는 잠깐 떴다 사라져서 남아 있어야 하는 안내에 못 쓴다
32
+ - Modal은 흐름을 끊어서 읽고 넘어가는 안내에 과하다
33
+ - TextField의 error는 필드 하나에, FormSection의 오류는 섹션 하나에 붙는다
34
+ added:
35
+ - neutral·accent·warning·danger 4종과 이어서 할 액션 슬롯 하나
36
+ unchanged:
37
+ - 보더를 주지 않는 기본값(0011)과 role을 variant에서 파생하는 규칙(0004)
38
+ feedback_questions:
39
+ - 파랑 계열 primitive가 없어 info variant를 두지 않았는데 파란 배너가 필요한가
40
+ - 닫을 수 있는 배너가 필요한가 — 지금은 닫기 버튼을 두지 않았다
41
+
42
+ checkbox:
43
+ catalog: components
44
+ entry: checkbox
45
+ based_on_none_reason: 다중 선택을 나타내는 Stable form control이 없다
46
+ reused:
47
+ - 기존 control size와 focus token
48
+ - 기존 label typography
49
+ gap: 다중 선택과 약관 동의를 네이티브 의미로 제공할 요소가 없다
50
+ rejected_alternatives:
51
+ - Switch는 즉시 반영되는 설정 의미다
52
+ - Chip은 필터와 선택 목록 의미다
53
+ added:
54
+ - checked와 unchecked와 disabled 상태
55
+ unchanged:
56
+ - label 클릭과 focus-visible 접근성 원칙
57
+ feedback_questions:
58
+ - disabled checked 표시의 대비가 충분한가
59
+
60
+ dropdown-button:
61
+ catalog: components
62
+ entry: dropdown-button
63
+ based_on:
64
+ - button
65
+ reused:
66
+ - Button trigger의 typography와 높이와 focus
67
+ - 기존 surface와 shadow token
68
+ gap: 하나의 트리거에 여러 액션을 연결하는 Stable 요소가 없다
69
+ rejected_alternatives:
70
+ - Button 여러 개는 좁은 공간에서 액션 우선순위를 흐린다
71
+ - Radio는 액션 목록을 표현하지 않는다
72
+ added:
73
+ - trigger 주변 menu surface와 keyboard selection
74
+ unchanged:
75
+ - Button의 visual contract
76
+ feedback_questions:
77
+ - 메뉴 폭과 정렬과 chevron 표현이 적절한가
78
+
79
+ link:
80
+ catalog: components
81
+ entry: link
82
+ based_on_none_reason: 주소 이동 의미를 가진 Stable text component가 없다
83
+ reused:
84
+ - 기존 text와 accent와 focus token
85
+ - 기존 typography class
86
+ gap: 새 탭과 주소 복사 의미를 보존하는 inline navigation 요소가 없다
87
+ rejected_alternatives:
88
+ - Button은 주소 이동의 브라우저 기본 동작을 제공하지 않는다
89
+ added:
90
+ - primary와 accent link 및 external 표시
91
+ unchanged:
92
+ - 네이티브 anchor 동작
93
+ feedback_questions:
94
+ - 기본 밑줄과 visited 저강도 표현이 적절한가
95
+
96
+ modal:
97
+ catalog: components
98
+ entry: modal
99
+ based_on:
100
+ - button
101
+ - icon-button
102
+ reused:
103
+ - 기존 Button과 IconButton action
104
+ - 기존 surface와 shadow와 spacing token
105
+ gap: 흐름을 멈추고 포커스를 관리하는 Stable dialog surface가 없다
106
+ rejected_alternatives:
107
+ - Card는 포커스를 가두거나 배경을 inert 처리하지 않는다
108
+ added:
109
+ - dim과 focus trap과 scroll lock과 Escape close
110
+ unchanged:
111
+ - action button contract와 typography
112
+ feedback_questions:
113
+ - 기본 폭과 dim 강도와 close 위치가 적절한가
114
+
115
+ navigation-button:
116
+ catalog: components
117
+ entry: navigation-button
118
+ based_on:
119
+ - button
120
+ reused:
121
+ - Button typography와 focus와 icon spacing
122
+ - 기존 navigation semantic color
123
+ gap: 현재 위치를 표시하는 사이드바 전용 이동 항목이 없다
124
+ rejected_alternatives:
125
+ - 일반 Button은 현재 위치와 주소 이동 의미를 제공하지 않는다
126
+ - Chip은 보기 필터 의미다
127
+ added:
128
+ - 주소 이동용 anchor와 동작용 button 의미 분리
129
+ - aria-current와 selected navigation 표현
130
+ unchanged:
131
+ - 기존 action size와 icon rules
132
+ feedback_questions:
133
+ - 비선택 항목 대비와 모바일 줄 배치가 적절한가
134
+
135
+ progress-bar:
136
+ catalog: components
137
+ entry: progress-bar
138
+ based_on_none_reason: 끝이 정해진 작업의 진행률을 값으로 보여주는 Stable 요소가 없다
139
+ reused:
140
+ - 기존 primary 채움과 트랙의 surface/sunken
141
+ - 기존 label typography와 radius scale
142
+ gap: 작업이 얼마나 찼는지를 값으로 보여줄 요소가 없다
143
+ rejected_alternatives:
144
+ - 스피너는 끝을 모르는 대기용이라 진행률을 못 전한다
145
+ - 단계 목록은 진행률이 아니라 구조다. 진행률은 값 하나다
146
+ added:
147
+ - label과 값이 짝인 막대 하나. label은 필수다
148
+ unchanged:
149
+ - 값과 aria가 같은 수를 쓰는 접근성 원칙
150
+ feedback_questions:
151
+ - 높이 8px은 명세 실측값이고 대응 토큰이 없다. 반복이 확인되면 토큰으로 올릴 것인가
152
+ - 색으로 상태를 가르는 variant가 필요한가 — 지금은 채움이 accent가 아니라 primary 하나다
153
+
154
+ tab:
155
+ catalog: components
156
+ entry: tab
157
+ based_on:
158
+ - button
159
+ reused:
160
+ - Button typography와 focus token
161
+ - 기존 accent semantic color
162
+ gap: 같은 화면 안의 단일 view를 전환하는 Stable tab control이 없다
163
+ rejected_alternatives:
164
+ - Chip은 다중 filter toggle 의미가 있다
165
+ - Button은 tab 관계와 선택 상태를 전달하지 않는다
166
+ added:
167
+ - tab role과 selected underline state
168
+ unchanged:
169
+ - 기존 text와 focus 체계
170
+ feedback_questions:
171
+ - 활성 underline과 탭 간격이 적절한가
172
+
173
+ toast:
174
+ catalog: components
175
+ entry: toast
176
+ based_on:
177
+ - button
178
+ - icon-button
179
+ reused:
180
+ - Stable action controls
181
+ - 기존 floating surface와 semantic token
182
+ gap: 작업 결과를 흐름을 막지 않고 잠시 알리는 Stable feedback component가 없다
183
+ rejected_alternatives:
184
+ - Alert는 화면 안에 계속 남는 메시지다
185
+ - Modal은 확인이 필요 없는 결과의 흐름을 막는다
186
+ added:
187
+ - timed live-region message와 dismiss action
188
+ unchanged:
189
+ - Button과 IconButton action contract
190
+ feedback_questions:
191
+ - 위치와 유지 시간과 최대 폭이 적절한가
192
+
193
+ tooltip:
194
+ catalog: components
195
+ entry: tooltip
196
+ based_on:
197
+ - icon-button
198
+ reused:
199
+ - Stable trigger focus behavior
200
+ - 기존 floating surface와 typography token
201
+ gap: 아이콘과 축약 UI의 짧은 설명을 hover와 focus 모두에 제공할 요소가 없다
202
+ rejected_alternatives:
203
+ - Popover는 상호작용 콘텐츠를 위한 더 무거운 표면이다
204
+ added:
205
+ - hover와 focus description surface
206
+ unchanged:
207
+ - trigger의 accessible name 책임
208
+ feedback_questions:
209
+ - 지연 시간과 위치와 최대 폭이 적절한가
210
+
211
+ app-shell:
212
+ catalog: patterns
213
+ entry: app-shell
214
+ based_on_none_reason: 페이지 전체 레이아웃을 정의하는 Stable pattern이 없다
215
+ reused:
216
+ - 기존 layout과 spacing과 breakpoint token
217
+ - Stable navigation action
218
+ gap: sidebar와 top row와 status와 body를 일관되게 배치하는 canonical shell이 없다
219
+ rejected_alternatives:
220
+ - 화면별 layout은 여백과 배경 위계를 반복해서 달리 만든다
221
+ added:
222
+ - full-height sidebar와 content bands와 responsive collapse
223
+ unchanged:
224
+ - 각 화면이 자신의 상태를 소유하는 원칙
225
+ feedback_questions:
226
+ - sidebar 폭과 mobile 전환과 상단 행 밀도가 적절한가
227
+
228
+ card:
229
+ catalog: patterns
230
+ entry: card
231
+ based_on:
232
+ - button
233
+ reused:
234
+ - Button의 selectable interaction semantics
235
+ - 기존 surface와 border와 radius token
236
+ gap: 선택 가능한 객체와 최상위 요약 면을 일관되게 담는 Stable pattern이 없다
237
+ rejected_alternatives:
238
+ - FormSection은 설정 묶음이고 surface를 만들지 않는다
239
+ - ListRow는 행 나열과 요약 값에 맞는다
240
+ added:
241
+ - selectable button card와 noninteractive section card
242
+ unchanged:
243
+ - shadow는 floating surface에만 쓰는 원칙
244
+ feedback_questions:
245
+ - 선택 border와 container padding과 사용 범위가 적절한가
246
+
247
+ list-row:
248
+ catalog: patterns
249
+ entry: list-row
250
+ based_on:
251
+ - icon-button
252
+ reused:
253
+ - Stable trailing action과 icon size
254
+ - 기존 divider와 typography token
255
+ gap: 제목과 설명과 좌우 slot을 가진 정보 행 pattern이 없다
256
+ rejected_alternatives:
257
+ - Card 반복은 목록 밀도와 위계를 과도하게 높인다
258
+ added:
259
+ - divider row와 filled summary tone과 optional selection
260
+ unchanged:
261
+ - action은 별도 control이 소유하는 원칙
262
+ feedback_questions:
263
+ - 긴 trailing 줄바꿈과 모바일 정렬이 적절한가
264
+
265
+ form-section:
266
+ catalog: patterns
267
+ entry: form-section
268
+ based_on_none_reason: 제목과 설명과 상태를 가진 무표면 section Stable pattern이 없다
269
+ reused:
270
+ - 기존 typography와 vertical spacing token
271
+ - field component 자체 spacing
272
+ gap: 설정과 정보 섹션을 Card 없이 일관되게 묶을 pattern이 없다
273
+ rejected_alternatives:
274
+ - Card는 모든 섹션을 불필요한 표면으로 만든다
275
+ added:
276
+ - title와 description과 error와 content grouping
277
+ unchanged:
278
+ - 개별 field spacing은 field가 소유하는 원칙
279
+ feedback_questions:
280
+ - 섹션 간격과 제목 위계가 긴 설정 화면에 적절한가
281
+
282
+ live-preview:
283
+ catalog: patterns
284
+ entry: live-preview
285
+ based_on_none_reason: form 결과를 옆에서 비추는 Stable layout pattern이 없다
286
+ reused:
287
+ - 기존 layout breakpoint와 surface token
288
+ - 기존 loading과 empty와 error components
289
+ gap: editor와 preview의 responsive 2-column 상태 구성을 반복해서 사용한다
290
+ rejected_alternatives:
291
+ - 화면별 grid는 sticky와 상태 표현을 중복 구현한다
292
+ added:
293
+ - ready와 loading과 empty와 error preview column
294
+ unchanged:
295
+ - form state는 부모가 소유하는 원칙
296
+ feedback_questions:
297
+ - 319px preview 폭과 1-column 전환 지점이 적절한가
298
+
299
+ bottom-bar:
300
+ catalog: patterns
301
+ entry: bottom-bar
302
+ based_on:
303
+ - button
304
+ reused:
305
+ - Stable action controls
306
+ - 기존 layout inset과 content width token
307
+ gap: 페이지 전체 저장 행동과 상태를 하단에 일관되게 배치할 pattern이 없다
308
+ rejected_alternatives:
309
+ - 화면 본문 Button은 긴 편집 화면에서 행동 위치를 잃는다
310
+ added:
311
+ - full-bleed footer와 constrained inner action band
312
+ unchanged:
313
+ - loading은 Button disabled가 소유하는 원칙
314
+ feedback_questions:
315
+ - mobile 고정 여부와 배경 구분 강도가 적절한가
316
+
317
+ empty-state:
318
+ catalog: patterns
319
+ entry: empty-state
320
+ based_on:
321
+ - button
322
+ reused:
323
+ - Stable primary action
324
+ - 기존 typography와 icon size와 spacing token
325
+ gap: 빈 목록과 검색 결과에서 설명과 다음 행동을 일관되게 제시할 pattern이 없다
326
+ rejected_alternatives:
327
+ - Alert는 문제나 정보를 알리지만 다음 행동 중심의 빈 상태가 아니다
328
+ added:
329
+ - optional icon과 description과 single action layout
330
+ unchanged:
331
+ - Button action contract와 semantic text hierarchy
332
+ feedback_questions:
333
+ - 최대 폭과 vertical spacing과 action 강조가 적절한가
@@ -0,0 +1,309 @@
1
+ blank:
2
+ status: draft
3
+ source: icons/svg/blank.svg
4
+ figma: TODO
5
+
6
+ search:
7
+ status: draft
8
+ source: icons/svg/search.svg
9
+ figma: TODO
10
+
11
+ filter:
12
+ status: draft
13
+ source: icons/svg/filter.svg
14
+ figma: TODO
15
+
16
+ info:
17
+ status: draft
18
+ source: icons/svg/info.svg
19
+ figma: TODO
20
+
21
+ dashboard:
22
+ status: draft
23
+ source: icons/svg/dashboard.svg
24
+ figma: TODO
25
+
26
+ close:
27
+ status: draft
28
+ source: icons/svg/close.svg
29
+ figma: TODO
30
+
31
+ home:
32
+ status: draft
33
+ source: icons/svg/home.svg
34
+ figma: TODO
35
+
36
+ report:
37
+ status: draft
38
+ source: icons/svg/report.svg
39
+ figma: TODO
40
+
41
+ product:
42
+ status: draft
43
+ source: icons/svg/product.svg
44
+ figma: TODO
45
+
46
+ chevron-up:
47
+ status: draft
48
+ source: icons/svg/chevron-up.svg
49
+ figma: TODO
50
+
51
+ chevron-down:
52
+ status: draft
53
+ source: icons/svg/chevron-down.svg
54
+ figma: TODO
55
+
56
+ chevron-left:
57
+ status: draft
58
+ source: icons/svg/chevron-left.svg
59
+ figma: TODO
60
+
61
+ chevron-right:
62
+ status: draft
63
+ source: icons/svg/chevron-right.svg
64
+ figma: TODO
65
+
66
+ arrow-right:
67
+ status: draft
68
+ source: icons/svg/arrow-right.svg
69
+ figma: TODO
70
+
71
+ arrow-left:
72
+ status: draft
73
+ source: icons/svg/arrow-left.svg
74
+ figma: TODO
75
+
76
+ person:
77
+ status: draft
78
+ source: icons/svg/person.svg
79
+ figma: TODO
80
+
81
+ plus:
82
+ status: draft
83
+ source: icons/svg/plus.svg
84
+ figma: TODO
85
+
86
+ check:
87
+ status: draft
88
+ source: icons/svg/check.svg
89
+ figma: TODO
90
+
91
+ alert:
92
+ status: draft
93
+ source: icons/svg/alert.svg
94
+ figma: TODO
95
+
96
+ alarm:
97
+ status: draft
98
+ source: icons/svg/alarm.svg
99
+ figma: TODO
100
+
101
+ card:
102
+ status: draft
103
+ source: icons/svg/card.svg
104
+ figma: TODO
105
+
106
+ history:
107
+ status: draft
108
+ source: icons/svg/history.svg
109
+ figma: TODO
110
+
111
+ logout:
112
+ status: draft
113
+ source: icons/svg/logout.svg
114
+ figma: TODO
115
+
116
+ external-link:
117
+ status: draft
118
+ source: icons/svg/external-link.svg
119
+ figma: TODO
120
+
121
+ menu:
122
+ status: draft
123
+ source: icons/svg/menu.svg
124
+ figma: TODO
125
+
126
+ help:
127
+ status: draft
128
+ source: icons/svg/help.svg
129
+ figma: TODO
130
+
131
+ more-vertical:
132
+ status: draft
133
+ source: icons/svg/more-vertical.svg
134
+ figma: TODO
135
+
136
+ refresh:
137
+ status: draft
138
+ source: icons/svg/refresh.svg
139
+ figma: TODO
140
+
141
+ send:
142
+ status: draft
143
+ source: icons/svg/send.svg
144
+ figma: TODO
145
+
146
+ pencil:
147
+ status: draft
148
+ source: icons/svg/pencil.svg
149
+ figma: TODO
150
+
151
+ trash:
152
+ status: draft
153
+ source: icons/svg/trash.svg
154
+ figma: TODO
155
+
156
+ upload:
157
+ status: draft
158
+ source: icons/svg/upload.svg
159
+ figma: TODO
160
+
161
+ copy:
162
+ status: draft
163
+ source: icons/svg/copy.svg
164
+ figma: TODO
165
+
166
+ link:
167
+ status: draft
168
+ source: icons/svg/link.svg
169
+ figma: TODO
170
+
171
+ eye:
172
+ status: draft
173
+ source: icons/svg/eye.svg
174
+ figma: TODO
175
+
176
+ eye-off:
177
+ status: draft
178
+ source: icons/svg/eye-off.svg
179
+ figma: TODO
180
+
181
+ pause:
182
+ status: draft
183
+ source: icons/svg/pause.svg
184
+ figma: TODO
185
+
186
+ camera:
187
+ status: draft
188
+ source: icons/svg/camera.svg
189
+ figma: TODO
190
+
191
+ sliders:
192
+ status: draft
193
+ source: icons/svg/sliders.svg
194
+ figma: TODO
195
+
196
+ type:
197
+ status: draft
198
+ source: icons/svg/type.svg
199
+ figma: TODO
200
+
201
+ unplug:
202
+ status: draft
203
+ source: icons/svg/unplug.svg
204
+ figma: TODO
205
+
206
+ store:
207
+ status: draft
208
+ source: icons/svg/store.svg
209
+ figma: TODO
210
+
211
+ message:
212
+ status: draft
213
+ source: icons/svg/message.svg
214
+ figma: TODO
215
+
216
+ smartphone:
217
+ status: draft
218
+ source: icons/svg/smartphone.svg
219
+ figma: TODO
220
+
221
+ monitor:
222
+ status: draft
223
+ source: icons/svg/monitor.svg
224
+ figma: TODO
225
+
226
+ phone:
227
+ status: draft
228
+ source: icons/svg/phone.svg
229
+ figma: TODO
230
+
231
+ truck:
232
+ status: draft
233
+ source: icons/svg/truck.svg
234
+ figma: TODO
235
+
236
+ image:
237
+ status: draft
238
+ source: icons/svg/image.svg
239
+ figma: TODO
240
+
241
+ cable:
242
+ status: draft
243
+ source: icons/svg/cable.svg
244
+ figma: TODO
245
+
246
+ mouse-pointer-click:
247
+ status: draft
248
+ source: icons/svg/mouse-pointer-click.svg
249
+ figma: TODO
250
+
251
+ trending-up:
252
+ status: draft
253
+ source: icons/svg/trending-up.svg
254
+ figma: TODO
255
+
256
+ lock:
257
+ status: draft
258
+ source: icons/svg/lock.svg
259
+ figma: TODO
260
+
261
+ key:
262
+ status: draft
263
+ source: icons/svg/key.svg
264
+ figma: TODO
265
+
266
+ shield-check:
267
+ status: draft
268
+ source: icons/svg/shield-check.svg
269
+ figma: TODO
270
+
271
+ gift:
272
+ status: draft
273
+ source: icons/svg/gift.svg
274
+ figma: TODO
275
+
276
+ star:
277
+ status: draft
278
+ source: icons/svg/star.svg
279
+ figma: TODO
280
+
281
+ sparkles:
282
+ status: draft
283
+ source: icons/svg/sparkles.svg
284
+ figma: TODO
285
+
286
+ thumbs-up:
287
+ status: draft
288
+ source: icons/svg/thumbs-up.svg
289
+ figma: TODO
290
+
291
+ lightbulb:
292
+ status: draft
293
+ source: icons/svg/lightbulb.svg
294
+ figma: TODO
295
+
296
+ timer:
297
+ status: draft
298
+ source: icons/svg/timer.svg
299
+ figma: TODO
300
+
301
+ loading:
302
+ status: draft
303
+ source: icons/svg/loading.svg
304
+ figma: TODO
305
+
306
+ success:
307
+ status: draft
308
+ source: icons/svg/success.svg
309
+ figma: TODO