@mich8060/chg-design-system 0.1.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 (260) hide show
  1. package/.github/workflows/figma-sync.yml +30 -0
  2. package/ARCHITECTURE_FIX.md +241 -0
  3. package/LICENSE +21 -0
  4. package/README.lib.md +103 -0
  5. package/README.md +177 -0
  6. package/figma.config.json +9 -0
  7. package/package.json +67 -0
  8. package/package.lib.json +49 -0
  9. package/public/data/figma-variables.json +40026 -0
  10. package/public/favicon.ico +0 -0
  11. package/public/index.html +46 -0
  12. package/public/logo192.png +0 -0
  13. package/public/logo512.png +0 -0
  14. package/public/manifest.json +25 -0
  15. package/public/robots.txt +3 -0
  16. package/public/styles/tokens.css +1994 -0
  17. package/scripts/index.js +896 -0
  18. package/scripts/publish-lib.js +150 -0
  19. package/scripts/validate.js +94 -0
  20. package/src/App.css +457 -0
  21. package/src/App.css.map +1 -0
  22. package/src/App.js +161 -0
  23. package/src/App.scss +548 -0
  24. package/src/App.test.js +8 -0
  25. package/src/assets/images/.gitkeep +0 -0
  26. package/src/assets/images/doctors/Avatar-1.png +0 -0
  27. package/src/assets/images/doctors/Avatar-10.png +0 -0
  28. package/src/assets/images/doctors/Avatar-11.png +0 -0
  29. package/src/assets/images/doctors/Avatar-12.png +0 -0
  30. package/src/assets/images/doctors/Avatar-13.png +0 -0
  31. package/src/assets/images/doctors/Avatar-14.png +0 -0
  32. package/src/assets/images/doctors/Avatar-15.png +0 -0
  33. package/src/assets/images/doctors/Avatar-16.png +0 -0
  34. package/src/assets/images/doctors/Avatar-17.png +0 -0
  35. package/src/assets/images/doctors/Avatar-18.png +0 -0
  36. package/src/assets/images/doctors/Avatar-19.png +0 -0
  37. package/src/assets/images/doctors/Avatar-2.png +0 -0
  38. package/src/assets/images/doctors/Avatar-20.png +0 -0
  39. package/src/assets/images/doctors/Avatar-21.png +0 -0
  40. package/src/assets/images/doctors/Avatar-3.png +0 -0
  41. package/src/assets/images/doctors/Avatar-4.png +0 -0
  42. package/src/assets/images/doctors/Avatar-5.png +0 -0
  43. package/src/assets/images/doctors/Avatar-6.png +0 -0
  44. package/src/assets/images/doctors/Avatar-7.png +0 -0
  45. package/src/assets/images/doctors/Avatar-8.png +0 -0
  46. package/src/assets/images/doctors/Avatar-9.png +0 -0
  47. package/src/assets/images/doctors/Avatar.png +0 -0
  48. package/src/assets/images/doctors/index.js +141 -0
  49. package/src/data/figma-variables.json +90305 -0
  50. package/src/index.js +20 -0
  51. package/src/index.scss +10 -0
  52. package/src/pages/AccordionDemo.jsx +206 -0
  53. package/src/pages/AccordionDemo.scss +34 -0
  54. package/src/pages/ActionMenuDemo.jsx +957 -0
  55. package/src/pages/ActionMenuDemo.scss +34 -0
  56. package/src/pages/AvatarDemo.jsx +328 -0
  57. package/src/pages/AvatarDemo.scss +40 -0
  58. package/src/pages/BadgeDemo.jsx +254 -0
  59. package/src/pages/BadgeDemo.scss +40 -0
  60. package/src/pages/BorderRadiusDemo.jsx +112 -0
  61. package/src/pages/BorderRadiusDemo.scss +50 -0
  62. package/src/pages/BrandingDemo.jsx +117 -0
  63. package/src/pages/BreadcrumbDemo.jsx +172 -0
  64. package/src/pages/ButtonDemo.jsx +708 -0
  65. package/src/pages/ButtonDemo.scss +34 -0
  66. package/src/pages/CheckboxDemo.jsx +194 -0
  67. package/src/pages/ChipDemo.jsx +359 -0
  68. package/src/pages/ChipDemo.scss +40 -0
  69. package/src/pages/ColorsDemo.jsx +566 -0
  70. package/src/pages/ColorsDemo.scss +243 -0
  71. package/src/pages/ComponentsUsage.jsx +401 -0
  72. package/src/pages/DatepickerDemo.jsx +223 -0
  73. package/src/pages/DividerDemo.jsx +337 -0
  74. package/src/pages/DotStatusDemo.jsx +223 -0
  75. package/src/pages/DropdownDemo.jsx +229 -0
  76. package/src/pages/FieldDemo.jsx +253 -0
  77. package/src/pages/FigmaVariablesDemo.jsx +426 -0
  78. package/src/pages/FigmaVariablesDemo.scss +316 -0
  79. package/src/pages/FileUploadDemo.jsx +186 -0
  80. package/src/pages/FlexDemo.jsx +144 -0
  81. package/src/pages/FlexDemo.scss +119 -0
  82. package/src/pages/FontInstallation.jsx +252 -0
  83. package/src/pages/FontInstallation.scss +40 -0
  84. package/src/pages/Home.jsx +3156 -0
  85. package/src/pages/IconDemo.jsx +1680 -0
  86. package/src/pages/ImageAspectDemo.jsx +152 -0
  87. package/src/pages/InputDemo.jsx +245 -0
  88. package/src/pages/Installation.jsx +257 -0
  89. package/src/pages/Installation.scss +40 -0
  90. package/src/pages/KeyDemo.jsx +184 -0
  91. package/src/pages/MenuDemo.jsx +139 -0
  92. package/src/pages/MicroCalendarDemo.jsx +165 -0
  93. package/src/pages/PaginationDemo.jsx +176 -0
  94. package/src/pages/PillToggleDemo.jsx +212 -0
  95. package/src/pages/ProgressCircleDemo.jsx +206 -0
  96. package/src/pages/ProgressIndicatorDemo.jsx +227 -0
  97. package/src/pages/RadioDemo.jsx +282 -0
  98. package/src/pages/ShadowsDemo.jsx +118 -0
  99. package/src/pages/ShadowsDemo.scss +93 -0
  100. package/src/pages/SliderDemo.jsx +226 -0
  101. package/src/pages/SpacingDemo.jsx +160 -0
  102. package/src/pages/SpacingDemo.scss +107 -0
  103. package/src/pages/StatusDemo.jsx +196 -0
  104. package/src/pages/StepsDemo.jsx +308 -0
  105. package/src/pages/TableDemo.jsx +376 -0
  106. package/src/pages/TabsDemo.jsx +221 -0
  107. package/src/pages/ToastDemo.jsx +195 -0
  108. package/src/pages/ToggleDemo.jsx +187 -0
  109. package/src/pages/TokensDemo.jsx +637 -0
  110. package/src/pages/TokensDemo.scss +270 -0
  111. package/src/pages/TokensUsage.jsx +220 -0
  112. package/src/pages/TooltipDemo.jsx +170 -0
  113. package/src/pages/TypographyDemo.jsx +229 -0
  114. package/src/pages/TypographyDemo.scss +105 -0
  115. package/src/pages/UtilitiesDemo.jsx +381 -0
  116. package/src/pages/UtilitiesDemo.scss +214 -0
  117. package/src/reportWebVitals.js +13 -0
  118. package/src/setupTests.js +5 -0
  119. package/src/styles/_typography.scss +932 -0
  120. package/src/styles/_utilities.scss +3635 -0
  121. package/src/styles/_variables.scss +887 -0
  122. package/src/styles/prism-custom.css +206 -0
  123. package/src/styles/prism-custom.css.map +1 -0
  124. package/src/styles/prism-custom.scss +205 -0
  125. package/src/styles/tokens.css +4416 -0
  126. package/src/styles/tokens.css.map +1 -0
  127. package/src/styles/tokens.scss +1456 -0
  128. package/src/ui/Accordion/Accordion.jsx +70 -0
  129. package/src/ui/Accordion/Accordion.scss +82 -0
  130. package/src/ui/Accordion/index.js +1 -0
  131. package/src/ui/ActionMenu/ActionMenu.jsx +383 -0
  132. package/src/ui/ActionMenu/ActionMenu.scss +198 -0
  133. package/src/ui/ActionMenu/index.js +1 -0
  134. package/src/ui/Avatar/Avatar.jsx +49 -0
  135. package/src/ui/Avatar/Avatar.scss +82 -0
  136. package/src/ui/Avatar/index.js +1 -0
  137. package/src/ui/Badge/Badge.jsx +64 -0
  138. package/src/ui/Badge/Badge.scss +84 -0
  139. package/src/ui/Badge/index.js +1 -0
  140. package/src/ui/Branding/Branding.jsx +65 -0
  141. package/src/ui/Branding/Branding.scss +116 -0
  142. package/src/ui/Branding/index.js +1 -0
  143. package/src/ui/Breadcrumb/Breadcrumb.jsx +162 -0
  144. package/src/ui/Breadcrumb/Breadcrumb.scss +46 -0
  145. package/src/ui/Breadcrumb/index.js +2 -0
  146. package/src/ui/Button/Button.figma.tsx +49 -0
  147. package/src/ui/Button/Button.jsx +135 -0
  148. package/src/ui/Button/Button.scss +188 -0
  149. package/src/ui/Button/index.js +1 -0
  150. package/src/ui/Card/Card.jsx +25 -0
  151. package/src/ui/Card/Card.scss +47 -0
  152. package/src/ui/Card/index.js +1 -0
  153. package/src/ui/Checkbox/Checkbox.jsx +70 -0
  154. package/src/ui/Checkbox/Checkbox.scss +96 -0
  155. package/src/ui/Checkbox/index.js +1 -0
  156. package/src/ui/Chip/Chip.jsx +104 -0
  157. package/src/ui/Chip/Chip.scss +118 -0
  158. package/src/ui/Chip/index.js +1 -0
  159. package/src/ui/CopyButton/CopyButton.jsx +102 -0
  160. package/src/ui/CopyButton/CopyButton.scss +56 -0
  161. package/src/ui/CopyButton/index.js +1 -0
  162. package/src/ui/Datepicker/Datepicker.jsx +326 -0
  163. package/src/ui/Datepicker/Datepicker.scss +187 -0
  164. package/src/ui/Datepicker/index.js +2 -0
  165. package/src/ui/Divider/Divider.jsx +89 -0
  166. package/src/ui/Divider/Divider.scss +112 -0
  167. package/src/ui/Divider/index.js +1 -0
  168. package/src/ui/DotStatus/DotStatus.jsx +64 -0
  169. package/src/ui/DotStatus/DotStatus.scss +87 -0
  170. package/src/ui/DotStatus/index.js +1 -0
  171. package/src/ui/Dropdown/Dropdown.jsx +200 -0
  172. package/src/ui/Dropdown/Dropdown.scss +156 -0
  173. package/src/ui/Dropdown/index.js +1 -0
  174. package/src/ui/Field/Field.jsx +89 -0
  175. package/src/ui/Field/Field.scss +119 -0
  176. package/src/ui/Field/index.js +1 -0
  177. package/src/ui/FileUpload/FileUpload.figma.tsx +28 -0
  178. package/src/ui/FileUpload/FileUpload.jsx +153 -0
  179. package/src/ui/FileUpload/FileUpload.scss +78 -0
  180. package/src/ui/FileUpload/index.js +2 -0
  181. package/src/ui/Flex/Flex.jsx +42 -0
  182. package/src/ui/Flex/Flex.scss +119 -0
  183. package/src/ui/Flex/index.js +1 -0
  184. package/src/ui/Icon/Icon.figma.tsx +22 -0
  185. package/src/ui/Icon/Icon.jsx +47 -0
  186. package/src/ui/Icon/index.js +1 -0
  187. package/src/ui/ImageAspect/ImageAspect.jsx +56 -0
  188. package/src/ui/ImageAspect/ImageAspect.scss +62 -0
  189. package/src/ui/ImageAspect/index.js +1 -0
  190. package/src/ui/Input/Input.figma.tsx +35 -0
  191. package/src/ui/Input/Input.jsx +68 -0
  192. package/src/ui/Input/Input.scss +64 -0
  193. package/src/ui/Input/index.js +2 -0
  194. package/src/ui/Key/Key.jsx +37 -0
  195. package/src/ui/Key/Key.scss +34 -0
  196. package/src/ui/Key/index.js +1 -0
  197. package/src/ui/Menu/Menu.jsx +389 -0
  198. package/src/ui/Menu/Menu.scss +382 -0
  199. package/src/ui/Menu/index.js +1 -0
  200. package/src/ui/MicroCalendar/MicroCalendar.jsx +392 -0
  201. package/src/ui/MicroCalendar/MicroCalendar.scss +277 -0
  202. package/src/ui/MicroCalendar/index.js +1 -0
  203. package/src/ui/Pagination/Pagination.jsx +237 -0
  204. package/src/ui/Pagination/Pagination.scss +182 -0
  205. package/src/ui/Pagination/index.js +1 -0
  206. package/src/ui/PillToggle/PillToggle.jsx +56 -0
  207. package/src/ui/PillToggle/PillToggle.scss +84 -0
  208. package/src/ui/PillToggle/index.js +1 -0
  209. package/src/ui/Playground/Playground.jsx +524 -0
  210. package/src/ui/Playground/Playground.scss +310 -0
  211. package/src/ui/Playground/index.js +2 -0
  212. package/src/ui/ProgressCircle/ProgressCircle.jsx +147 -0
  213. package/src/ui/ProgressCircle/ProgressCircle.scss +143 -0
  214. package/src/ui/ProgressCircle/index.js +1 -0
  215. package/src/ui/ProgressIndicator/ProgressIndicator.jsx +92 -0
  216. package/src/ui/ProgressIndicator/ProgressIndicator.scss +133 -0
  217. package/src/ui/ProgressIndicator/index.js +1 -0
  218. package/src/ui/Radio/Radio.jsx +57 -0
  219. package/src/ui/Radio/Radio.scss +84 -0
  220. package/src/ui/Radio/index.js +1 -0
  221. package/src/ui/Slider/Slider.jsx +283 -0
  222. package/src/ui/Slider/Slider.scss +156 -0
  223. package/src/ui/Slider/index.js +1 -0
  224. package/src/ui/Status/Status.jsx +66 -0
  225. package/src/ui/Status/Status.scss +90 -0
  226. package/src/ui/Status/index.js +1 -0
  227. package/src/ui/Steps/Steps.jsx +201 -0
  228. package/src/ui/Steps/Steps.scss +240 -0
  229. package/src/ui/Steps/index.js +1 -0
  230. package/src/ui/Table/Table.jsx +143 -0
  231. package/src/ui/Table/Table.scss +90 -0
  232. package/src/ui/Table/index.js +1 -0
  233. package/src/ui/Tabs/TabItem.jsx +86 -0
  234. package/src/ui/Tabs/Tabs.figma.tsx +30 -0
  235. package/src/ui/Tabs/Tabs.jsx +318 -0
  236. package/src/ui/Tabs/Tabs.scss +164 -0
  237. package/src/ui/Tabs/Untitled +1 -0
  238. package/src/ui/Tabs/index.js +3 -0
  239. package/src/ui/Tag/Tag.figma.tsx +29 -0
  240. package/src/ui/Tag/Tag.jsx +93 -0
  241. package/src/ui/Tag/Tag.scss +229 -0
  242. package/src/ui/Tag/index.js +2 -0
  243. package/src/ui/Textarea/Textarea.figma.tsx +35 -0
  244. package/src/ui/Textarea/Textarea.jsx +68 -0
  245. package/src/ui/Textarea/Textarea.scss +69 -0
  246. package/src/ui/Textarea/index.js +2 -0
  247. package/src/ui/Toast/Toast.jsx +75 -0
  248. package/src/ui/Toast/Toast.scss +132 -0
  249. package/src/ui/Toast/index.js +2 -0
  250. package/src/ui/Toggle/Toggle.jsx +73 -0
  251. package/src/ui/Toggle/Toggle.scss +139 -0
  252. package/src/ui/Toggle/index.js +1 -0
  253. package/src/ui/Tooltip/Tooltip.figma.tsx +24 -0
  254. package/src/ui/Tooltip/Tooltip.jsx +123 -0
  255. package/src/ui/Tooltip/Tooltip.scss +80 -0
  256. package/src/ui/Tooltip/index.js +2 -0
  257. package/src/ui/index.js +63 -0
  258. package/src/utils/formatDate.js +27 -0
  259. package/src/utils/headerVariants.js +69 -0
  260. package/vite.config.lib.js +55 -0
@@ -0,0 +1,1680 @@
1
+ import React, { useState, useMemo } from "react";
2
+ import { Link } from "react-router-dom";
3
+ import Icon from "../ui/Icon/Icon";
4
+ import Flex from "../ui/Flex/Flex";
5
+ import Breadcrumb from "../ui/Breadcrumb/Breadcrumb";
6
+ import Divider from "../ui/Divider/Divider";
7
+ import Tabs from "../ui/Tabs/Tabs";
8
+ import { formatLastUpdated } from "../utils/formatDate";
9
+
10
+ // All available icon names from Phosphor
11
+ const allIconNames = [
12
+ "acorn",
13
+ "address-book",
14
+ "address-book-tabs",
15
+ "air-traffic-control",
16
+ "airplane",
17
+ "airplane-in-flight",
18
+ "airplane-landing",
19
+ "airplane-takeoff",
20
+ "airplane-taxiing",
21
+ "airplane-tilt",
22
+ "airplay",
23
+ "alarm",
24
+ "alien",
25
+ "align-bottom",
26
+ "align-bottom-simple",
27
+ "align-center-horizontal",
28
+ "align-center-horizontal-simple",
29
+ "align-center-vertical",
30
+ "align-center-vertical-simple",
31
+ "align-left",
32
+ "align-left-simple",
33
+ "align-right",
34
+ "align-right-simple",
35
+ "align-top",
36
+ "align-top-simple",
37
+ "amazon-logo",
38
+ "ambulance",
39
+ "anchor",
40
+ "anchor-simple",
41
+ "android-logo",
42
+ "angle",
43
+ "angular-logo",
44
+ "aperture",
45
+ "app-store-logo",
46
+ "app-window",
47
+ "apple-logo",
48
+ "apple-podcasts-logo",
49
+ "approximate-equals",
50
+ "archive",
51
+ "armchair",
52
+ "arrow-arc-left",
53
+ "arrow-arc-right",
54
+ "arrow-bend-double-up-left",
55
+ "arrow-bend-double-up-right",
56
+ "arrow-bend-down-left",
57
+ "arrow-bend-down-right",
58
+ "arrow-bend-left-down",
59
+ "arrow-bend-left-up",
60
+ "arrow-bend-right-down",
61
+ "arrow-bend-right-up",
62
+ "arrow-bend-up-left",
63
+ "arrow-bend-up-right",
64
+ "arrow-circle-down",
65
+ "arrow-circle-down-left",
66
+ "arrow-circle-down-right",
67
+ "arrow-circle-left",
68
+ "arrow-circle-right",
69
+ "arrow-circle-up",
70
+ "arrow-circle-up-left",
71
+ "arrow-circle-up-right",
72
+ "arrow-clockwise",
73
+ "arrow-counter-clockwise",
74
+ "arrow-down",
75
+ "arrow-down-left",
76
+ "arrow-down-right",
77
+ "arrow-elbow-down-left",
78
+ "arrow-elbow-down-right",
79
+ "arrow-elbow-left",
80
+ "arrow-elbow-left-down",
81
+ "arrow-elbow-left-up",
82
+ "arrow-elbow-right",
83
+ "arrow-elbow-right-down",
84
+ "arrow-elbow-right-up",
85
+ "arrow-elbow-up-left",
86
+ "arrow-elbow-up-right",
87
+ "arrow-fat-down",
88
+ "arrow-fat-left",
89
+ "arrow-fat-line-down",
90
+ "arrow-fat-line-left",
91
+ "arrow-fat-line-right",
92
+ "arrow-fat-line-up",
93
+ "arrow-fat-lines-down",
94
+ "arrow-fat-lines-left",
95
+ "arrow-fat-lines-right",
96
+ "arrow-fat-lines-up",
97
+ "arrow-fat-right",
98
+ "arrow-fat-up",
99
+ "arrow-left",
100
+ "arrow-line-down",
101
+ "arrow-line-down-left",
102
+ "arrow-line-down-right",
103
+ "arrow-line-left",
104
+ "arrow-line-right",
105
+ "arrow-line-up",
106
+ "arrow-line-up-left",
107
+ "arrow-line-up-right",
108
+ "arrow-right",
109
+ "arrow-square-down",
110
+ "arrow-square-down-left",
111
+ "arrow-square-down-right",
112
+ "arrow-square-in",
113
+ "arrow-square-left",
114
+ "arrow-square-out",
115
+ "arrow-square-right",
116
+ "arrow-square-up",
117
+ "arrow-square-up-left",
118
+ "arrow-square-up-right",
119
+ "arrow-u-down-left",
120
+ "arrow-u-down-right",
121
+ "arrow-u-left-down",
122
+ "arrow-u-left-up",
123
+ "arrow-u-right-down",
124
+ "arrow-u-right-up",
125
+ "arrow-u-up-left",
126
+ "arrow-u-up-right",
127
+ "arrow-up",
128
+ "arrow-up-left",
129
+ "arrow-up-right",
130
+ "arrows-clockwise",
131
+ "arrows-counter-clockwise",
132
+ "arrows-down-up",
133
+ "arrows-horizontal",
134
+ "arrows-in",
135
+ "arrows-in-cardinal",
136
+ "arrows-in-line-horizontal",
137
+ "arrows-in-line-vertical",
138
+ "arrows-in-simple",
139
+ "arrows-left-right",
140
+ "arrows-merge",
141
+ "arrows-out",
142
+ "arrows-out-cardinal",
143
+ "arrows-out-line-horizontal",
144
+ "arrows-out-line-vertical",
145
+ "arrows-out-simple",
146
+ "arrows-split",
147
+ "arrows-vertical",
148
+ "article",
149
+ "article-medium",
150
+ "article-ny-times",
151
+ "asclepius",
152
+ "asterisk",
153
+ "asterisk-simple",
154
+ "at",
155
+ "atom",
156
+ "avocado",
157
+ "axe",
158
+ "baby",
159
+ "baby-carriage",
160
+ "backpack",
161
+ "backspace",
162
+ "bag",
163
+ "bag-simple",
164
+ "balloon",
165
+ "bandaids",
166
+ "bank",
167
+ "barbell",
168
+ "barcode",
169
+ "barn",
170
+ "barricade",
171
+ "baseball",
172
+ "baseball-cap",
173
+ "baseball-helmet",
174
+ "basket",
175
+ "basketball",
176
+ "bathtub",
177
+ "battery-charging",
178
+ "battery-charging-vertical",
179
+ "battery-empty",
180
+ "battery-full",
181
+ "battery-high",
182
+ "battery-low",
183
+ "battery-medium",
184
+ "battery-plus",
185
+ "battery-plus-vertical",
186
+ "battery-vertical-empty",
187
+ "battery-vertical-full",
188
+ "battery-vertical-high",
189
+ "battery-vertical-low",
190
+ "battery-vertical-medium",
191
+ "battery-warning",
192
+ "battery-warning-vertical",
193
+ "beach-ball",
194
+ "beanie",
195
+ "bed",
196
+ "beer-bottle",
197
+ "beer-stein",
198
+ "behance-logo",
199
+ "bell",
200
+ "bell-ringing",
201
+ "bell-simple",
202
+ "bell-simple-ringing",
203
+ "bell-simple-slash",
204
+ "bell-simple-z",
205
+ "bell-slash",
206
+ "bell-z",
207
+ "belt",
208
+ "bezier-curve",
209
+ "bicycle",
210
+ "binary",
211
+ "binoculars",
212
+ "biohazard",
213
+ "bird",
214
+ "blueprint",
215
+ "bluetooth",
216
+ "bluetooth-connected",
217
+ "bluetooth-slash",
218
+ "bluetooth-x",
219
+ "boat",
220
+ "bomb",
221
+ "bone",
222
+ "book",
223
+ "book-bookmark",
224
+ "book-open",
225
+ "book-open-text",
226
+ "book-open-user",
227
+ "bookmark",
228
+ "bookmark-simple",
229
+ "bookmarks",
230
+ "bookmarks-simple",
231
+ "books",
232
+ "boot",
233
+ "boules",
234
+ "bounding-box",
235
+ "bowl-food",
236
+ "bowl-steam",
237
+ "bowling-ball",
238
+ "box-arrow-down",
239
+ "box-arrow-up",
240
+ "boxing-glove",
241
+ "brackets-angle",
242
+ "brackets-curly",
243
+ "brackets-round",
244
+ "brackets-square",
245
+ "brain",
246
+ "brandy",
247
+ "bread",
248
+ "bridge",
249
+ "briefcase",
250
+ "briefcase-metal",
251
+ "broadcast",
252
+ "broom",
253
+ "browser",
254
+ "browsers",
255
+ "bug",
256
+ "bug-beetle",
257
+ "bug-droid",
258
+ "building",
259
+ "building-apartment",
260
+ "building-office",
261
+ "buildings",
262
+ "bulldozer",
263
+ "bus",
264
+ "butterfly",
265
+ "cable-car",
266
+ "cactus",
267
+ "cake",
268
+ "calculator",
269
+ "calendar",
270
+ "calendar-blank",
271
+ "calendar-check",
272
+ "calendar-dot",
273
+ "calendar-dots",
274
+ "calendar-heart",
275
+ "calendar-minus",
276
+ "calendar-plus",
277
+ "calendar-slash",
278
+ "calendar-star",
279
+ "calendar-x",
280
+ "call-bell",
281
+ "camera",
282
+ "camera-plus",
283
+ "camera-rotate",
284
+ "camera-slash",
285
+ "campfire",
286
+ "car",
287
+ "car-battery",
288
+ "car-profile",
289
+ "car-simple",
290
+ "cardholder",
291
+ "cards",
292
+ "cards-three",
293
+ "caret-circle-double-down",
294
+ "caret-circle-double-left",
295
+ "caret-circle-double-right",
296
+ "caret-circle-double-up",
297
+ "caret-circle-down",
298
+ "caret-circle-left",
299
+ "caret-circle-right",
300
+ "caret-circle-up",
301
+ "caret-circle-up-down",
302
+ "caret-double-down",
303
+ "caret-double-left",
304
+ "caret-double-right",
305
+ "caret-double-up",
306
+ "caret-down",
307
+ "caret-left",
308
+ "caret-line-down",
309
+ "caret-line-left",
310
+ "caret-line-right",
311
+ "caret-line-up",
312
+ "caret-right",
313
+ "caret-up",
314
+ "caret-up-down",
315
+ "carrot",
316
+ "cash-register",
317
+ "cassette-tape",
318
+ "castle-turret",
319
+ "cat",
320
+ "cell-signal-full",
321
+ "cell-signal-high",
322
+ "cell-signal-low",
323
+ "cell-signal-medium",
324
+ "cell-signal-none",
325
+ "cell-signal-slash",
326
+ "cell-signal-x",
327
+ "cell-tower",
328
+ "certificate",
329
+ "chair",
330
+ "chalkboard",
331
+ "chalkboard-simple",
332
+ "chalkboard-teacher",
333
+ "champagne",
334
+ "charging-station",
335
+ "chart-bar",
336
+ "chart-bar-horizontal",
337
+ "chart-donut",
338
+ "chart-line",
339
+ "chart-line-down",
340
+ "chart-line-up",
341
+ "chart-pie",
342
+ "chart-pie-slice",
343
+ "chart-polar",
344
+ "chart-scatter",
345
+ "chat",
346
+ "chat-centered",
347
+ "chat-centered-dots",
348
+ "chat-centered-slash",
349
+ "chat-centered-text",
350
+ "chat-circle",
351
+ "chat-circle-dots",
352
+ "chat-circle-slash",
353
+ "chat-circle-text",
354
+ "chat-dots",
355
+ "chat-slash",
356
+ "chat-teardrop",
357
+ "chat-teardrop-dots",
358
+ "chat-teardrop-slash",
359
+ "chat-teardrop-text",
360
+ "chat-text",
361
+ "chats",
362
+ "chats-circle",
363
+ "chats-teardrop",
364
+ "check",
365
+ "check-circle",
366
+ "check-fat",
367
+ "check-square",
368
+ "check-square-offset",
369
+ "checkerboard",
370
+ "checks",
371
+ "cheers",
372
+ "cheese",
373
+ "chef-hat",
374
+ "cherries",
375
+ "church",
376
+ "cigarette",
377
+ "cigarette-slash",
378
+ "circle",
379
+ "circle-dashed",
380
+ "circle-half",
381
+ "circle-half-tilt",
382
+ "circle-notch",
383
+ "circles-four",
384
+ "circles-three",
385
+ "circles-three-plus",
386
+ "circuitry",
387
+ "city",
388
+ "clipboard",
389
+ "clipboard-text",
390
+ "clock",
391
+ "clock-afternoon",
392
+ "clock-clockwise",
393
+ "clock-countdown",
394
+ "clock-counter-clockwise",
395
+ "clock-user",
396
+ "closed-captioning",
397
+ "cloud",
398
+ "cloud-arrow-down",
399
+ "cloud-arrow-up",
400
+ "cloud-check",
401
+ "cloud-fog",
402
+ "cloud-lightning",
403
+ "cloud-moon",
404
+ "cloud-rain",
405
+ "cloud-slash",
406
+ "cloud-snow",
407
+ "cloud-sun",
408
+ "cloud-warning",
409
+ "cloud-x",
410
+ "clover",
411
+ "club",
412
+ "coat-hanger",
413
+ "coda-logo",
414
+ "code",
415
+ "code-block",
416
+ "code-simple",
417
+ "codepen-logo",
418
+ "codesandbox-logo",
419
+ "coffee",
420
+ "coffee-bean",
421
+ "coin",
422
+ "coin-vertical",
423
+ "coins",
424
+ "columns",
425
+ "columns-plus-left",
426
+ "columns-plus-right",
427
+ "command",
428
+ "compass",
429
+ "compass-rose",
430
+ "compass-tool",
431
+ "computer-tower",
432
+ "confetti",
433
+ "contactless-payment",
434
+ "control",
435
+ "cookie",
436
+ "cooking-pot",
437
+ "copy",
438
+ "copy-simple",
439
+ "copyleft",
440
+ "copyright",
441
+ "corners-in",
442
+ "corners-out",
443
+ "couch",
444
+ "court-basketball",
445
+ "cow",
446
+ "cowboy-hat",
447
+ "cpu",
448
+ "crane",
449
+ "crane-tower",
450
+ "credit-card",
451
+ "cricket",
452
+ "crop",
453
+ "cross",
454
+ "crosshair",
455
+ "crosshair-simple",
456
+ "crown",
457
+ "crown-cross",
458
+ "crown-simple",
459
+ "cube",
460
+ "cube-focus",
461
+ "cube-transparent",
462
+ "currency-btc",
463
+ "currency-circle-dollar",
464
+ "currency-cny",
465
+ "currency-dollar",
466
+ "currency-dollar-simple",
467
+ "currency-eth",
468
+ "currency-eur",
469
+ "currency-gbp",
470
+ "currency-inr",
471
+ "currency-jpy",
472
+ "currency-krw",
473
+ "currency-kzt",
474
+ "currency-ngn",
475
+ "currency-rub",
476
+ "cursor",
477
+ "cursor-click",
478
+ "cursor-text",
479
+ "cylinder",
480
+ "database",
481
+ "desk",
482
+ "desktop",
483
+ "desktop-tower",
484
+ "detective",
485
+ "dev-to-logo",
486
+ "device-mobile",
487
+ "device-mobile-camera",
488
+ "device-mobile-slash",
489
+ "device-mobile-speaker",
490
+ "device-rotate",
491
+ "device-tablet",
492
+ "device-tablet-camera",
493
+ "device-tablet-speaker",
494
+ "devices",
495
+ "diamond",
496
+ "diamonds-four",
497
+ "dice-five",
498
+ "dice-four",
499
+ "dice-one",
500
+ "dice-six",
501
+ "dice-three",
502
+ "dice-two",
503
+ "disc",
504
+ "disco-ball",
505
+ "discord-logo",
506
+ "divide",
507
+ "dna",
508
+ "dog",
509
+ "door",
510
+ "door-open",
511
+ "dot",
512
+ "dot-outline",
513
+ "dots-nine",
514
+ "dots-six",
515
+ "dots-six-vertical",
516
+ "dots-three",
517
+ "dots-three-circle",
518
+ "dots-three-circle-vertical",
519
+ "dots-three-outline",
520
+ "dots-three-outline-vertical",
521
+ "dots-three-vertical",
522
+ "download",
523
+ "download-simple",
524
+ "dress",
525
+ "dresser",
526
+ "dribbble-logo",
527
+ "drone",
528
+ "drop",
529
+ "drop-half",
530
+ "drop-half-bottom",
531
+ "drop-simple",
532
+ "drop-slash",
533
+ "dropbox-logo",
534
+ "ear",
535
+ "ear-slash",
536
+ "egg",
537
+ "egg-crack",
538
+ "eject",
539
+ "eject-simple",
540
+ "elevator",
541
+ "empty",
542
+ "engine",
543
+ "envelope",
544
+ "envelope-open",
545
+ "envelope-simple",
546
+ "envelope-simple-open",
547
+ "equalizer",
548
+ "equals",
549
+ "eraser",
550
+ "escalator-down",
551
+ "escalator-up",
552
+ "exam",
553
+ "exclamation-mark",
554
+ "exclude",
555
+ "exclude-square",
556
+ "export",
557
+ "eye",
558
+ "eye-closed",
559
+ "eye-slash",
560
+ "eyedropper",
561
+ "eyedropper-sample",
562
+ "eyeglasses",
563
+ "eyes",
564
+ "face-mask",
565
+ "facebook-logo",
566
+ "factory",
567
+ "faders",
568
+ "faders-horizontal",
569
+ "fallout-shelter",
570
+ "fan",
571
+ "farm",
572
+ "fast-forward",
573
+ "fast-forward-circle",
574
+ "feather",
575
+ "fediverse-logo",
576
+ "figma-logo",
577
+ "file",
578
+ "file-archive",
579
+ "file-arrow-down",
580
+ "file-arrow-up",
581
+ "file-audio",
582
+ "file-c",
583
+ "file-c-sharp",
584
+ "file-cloud",
585
+ "file-code",
586
+ "file-cpp",
587
+ "file-css",
588
+ "file-csv",
589
+ "file-dashed",
590
+ "file-doc",
591
+ "file-html",
592
+ "file-image",
593
+ "file-ini",
594
+ "file-jpg",
595
+ "file-js",
596
+ "file-jsx",
597
+ "file-lock",
598
+ "file-magnifying-glass",
599
+ "file-md",
600
+ "file-minus",
601
+ "file-pdf",
602
+ "file-plus",
603
+ "file-png",
604
+ "file-ppt",
605
+ "file-py",
606
+ "file-rs",
607
+ "file-sql",
608
+ "file-svg",
609
+ "file-text",
610
+ "file-ts",
611
+ "file-tsx",
612
+ "file-txt",
613
+ "file-video",
614
+ "file-vue",
615
+ "file-x",
616
+ "file-xls",
617
+ "file-zip",
618
+ "files",
619
+ "film-reel",
620
+ "film-script",
621
+ "film-slate",
622
+ "film-strip",
623
+ "fingerprint",
624
+ "fingerprint-simple",
625
+ "finn-the-human",
626
+ "fire",
627
+ "fire-extinguisher",
628
+ "fire-simple",
629
+ "fire-truck",
630
+ "first-aid",
631
+ "first-aid-kit",
632
+ "fish",
633
+ "fish-simple",
634
+ "flag",
635
+ "flag-banner",
636
+ "flag-banner-fold",
637
+ "flag-checkered",
638
+ "flag-pennant",
639
+ "flame",
640
+ "flashlight",
641
+ "flask",
642
+ "flip-horizontal",
643
+ "flip-vertical",
644
+ "floppy-disk",
645
+ "floppy-disk-back",
646
+ "flow-arrow",
647
+ "flower",
648
+ "flower-lotus",
649
+ "flower-tulip",
650
+ "flying-saucer",
651
+ "folder",
652
+ "folder-dashed",
653
+ "folder-lock",
654
+ "folder-minus",
655
+ "folder-open",
656
+ "folder-plus",
657
+ "folder-simple",
658
+ "folder-simple-dashed",
659
+ "folder-simple-lock",
660
+ "folder-simple-minus",
661
+ "folder-simple-plus",
662
+ "folder-simple-star",
663
+ "folder-simple-user",
664
+ "folder-star",
665
+ "folder-user",
666
+ "folders",
667
+ "football",
668
+ "football-helmet",
669
+ "footprints",
670
+ "fork-knife",
671
+ "four-k",
672
+ "frame-corners",
673
+ "framer-logo",
674
+ "function",
675
+ "funnel",
676
+ "funnel-simple",
677
+ "funnel-simple-x",
678
+ "funnel-x",
679
+ "game-controller",
680
+ "garage",
681
+ "gas-can",
682
+ "gas-pump",
683
+ "gauge",
684
+ "gavel",
685
+ "gear",
686
+ "gear-fine",
687
+ "gear-six",
688
+ "gender-female",
689
+ "gender-intersex",
690
+ "gender-male",
691
+ "gender-neuter",
692
+ "gender-nonbinary",
693
+ "gender-transgender",
694
+ "ghost",
695
+ "gif",
696
+ "gift",
697
+ "git-branch",
698
+ "git-commit",
699
+ "git-diff",
700
+ "git-fork",
701
+ "git-merge",
702
+ "git-pull-request",
703
+ "github-logo",
704
+ "gitlab-logo",
705
+ "gitlab-logo-simple",
706
+ "globe",
707
+ "globe-hemisphere-east",
708
+ "globe-hemisphere-west",
709
+ "globe-simple",
710
+ "globe-simple-x",
711
+ "globe-stand",
712
+ "globe-x",
713
+ "goggles",
714
+ "golf",
715
+ "goodreads-logo",
716
+ "google-cardboard-logo",
717
+ "google-chrome-logo",
718
+ "google-drive-logo",
719
+ "google-logo",
720
+ "google-photos-logo",
721
+ "google-play-logo",
722
+ "google-podcasts-logo",
723
+ "gps",
724
+ "gps-fix",
725
+ "gps-slash",
726
+ "gradient",
727
+ "graduation-cap",
728
+ "grains",
729
+ "grains-slash",
730
+ "graph",
731
+ "graphics-card",
732
+ "greater-than",
733
+ "greater-than-or-equal",
734
+ "grid-four",
735
+ "grid-nine",
736
+ "guitar",
737
+ "hair-dryer",
738
+ "hamburger",
739
+ "hammer",
740
+ "hand",
741
+ "hand-arrow-down",
742
+ "hand-arrow-up",
743
+ "hand-coins",
744
+ "hand-deposit",
745
+ "hand-eye",
746
+ "hand-fist",
747
+ "hand-grabbing",
748
+ "hand-heart",
749
+ "hand-palm",
750
+ "hand-peace",
751
+ "hand-pointing",
752
+ "hand-soap",
753
+ "hand-swipe-left",
754
+ "hand-swipe-right",
755
+ "hand-tap",
756
+ "hand-waving",
757
+ "hand-withdraw",
758
+ "handbag",
759
+ "handbag-simple",
760
+ "hands-clapping",
761
+ "hands-praying",
762
+ "handshake",
763
+ "hard-drive",
764
+ "hard-drives",
765
+ "hard-hat",
766
+ "hash",
767
+ "hash-straight",
768
+ "head-circuit",
769
+ "headlights",
770
+ "headphones",
771
+ "headset",
772
+ "heart",
773
+ "heart-break",
774
+ "heart-half",
775
+ "heart-straight",
776
+ "heart-straight-break",
777
+ "heartbeat",
778
+ "hexagon",
779
+ "high-definition",
780
+ "high-heel",
781
+ "highlighter",
782
+ "highlighter-circle",
783
+ "hockey",
784
+ "hoodie",
785
+ "horse",
786
+ "hospital",
787
+ "hourglass",
788
+ "hourglass-high",
789
+ "hourglass-low",
790
+ "hourglass-medium",
791
+ "hourglass-simple",
792
+ "hourglass-simple-high",
793
+ "hourglass-simple-low",
794
+ "hourglass-simple-medium",
795
+ "house",
796
+ "house-line",
797
+ "house-simple",
798
+ "hurricane",
799
+ "ice-cream",
800
+ "identification-badge",
801
+ "identification-card",
802
+ "image",
803
+ "image-broken",
804
+ "image-square",
805
+ "images",
806
+ "images-square",
807
+ "infinity",
808
+ "info",
809
+ "instagram-logo",
810
+ "intersect",
811
+ "intersect-square",
812
+ "intersect-three",
813
+ "intersection",
814
+ "invoice",
815
+ "island",
816
+ "jar",
817
+ "jar-label",
818
+ "jeep",
819
+ "joystick",
820
+ "kanban",
821
+ "key",
822
+ "key-return",
823
+ "keyboard",
824
+ "keyhole",
825
+ "knife",
826
+ "ladder",
827
+ "ladder-simple",
828
+ "lamp",
829
+ "lamp-pendant",
830
+ "laptop",
831
+ "lasso",
832
+ "lastfm-logo",
833
+ "layout",
834
+ "leaf",
835
+ "lectern",
836
+ "lego",
837
+ "lego-smiley",
838
+ "less-than",
839
+ "less-than-or-equal",
840
+ "letter-circle-h",
841
+ "letter-circle-p",
842
+ "letter-circle-v",
843
+ "lifebuoy",
844
+ "lightbulb",
845
+ "lightbulb-filament",
846
+ "lighthouse",
847
+ "lightning",
848
+ "lightning-a",
849
+ "lightning-slash",
850
+ "line-segment",
851
+ "line-segments",
852
+ "line-vertical",
853
+ "link",
854
+ "link-break",
855
+ "link-simple",
856
+ "link-simple-break",
857
+ "link-simple-horizontal",
858
+ "link-simple-horizontal-break",
859
+ "linkedin-logo",
860
+ "linktree-logo",
861
+ "linux-logo",
862
+ "list",
863
+ "list-bullets",
864
+ "list-checks",
865
+ "list-dashes",
866
+ "list-heart",
867
+ "list-magnifying-glass",
868
+ "list-numbers",
869
+ "list-plus",
870
+ "list-star",
871
+ "lock",
872
+ "lock-key",
873
+ "lock-key-open",
874
+ "lock-laminated",
875
+ "lock-laminated-open",
876
+ "lock-open",
877
+ "lock-simple",
878
+ "lock-simple-open",
879
+ "lockers",
880
+ "log",
881
+ "magic-wand",
882
+ "magnet",
883
+ "magnet-straight",
884
+ "magnifying-glass",
885
+ "magnifying-glass-minus",
886
+ "magnifying-glass-plus",
887
+ "mailbox",
888
+ "map-pin",
889
+ "map-pin-area",
890
+ "map-pin-line",
891
+ "map-pin-plus",
892
+ "map-pin-simple",
893
+ "map-pin-simple-area",
894
+ "map-pin-simple-line",
895
+ "map-trifold",
896
+ "markdown-logo",
897
+ "marker-circle",
898
+ "martini",
899
+ "mask-happy",
900
+ "mask-sad",
901
+ "mastodon-logo",
902
+ "math-operations",
903
+ "matrix-logo",
904
+ "medal",
905
+ "medal-military",
906
+ "medium-logo",
907
+ "megaphone",
908
+ "megaphone-simple",
909
+ "member-of",
910
+ "memory",
911
+ "messenger-logo",
912
+ "meta-logo",
913
+ "meteor",
914
+ "metronome",
915
+ "microphone",
916
+ "microphone-slash",
917
+ "microphone-stage",
918
+ "microscope",
919
+ "microsoft-excel-logo",
920
+ "microsoft-outlook-logo",
921
+ "microsoft-powerpoint-logo",
922
+ "microsoft-teams-logo",
923
+ "microsoft-word-logo",
924
+ "minus",
925
+ "minus-circle",
926
+ "minus-square",
927
+ "money",
928
+ "money-wavy",
929
+ "monitor",
930
+ "monitor-arrow-up",
931
+ "monitor-play",
932
+ "moon",
933
+ "moon-stars",
934
+ "moped",
935
+ "moped-front",
936
+ "mosque",
937
+ "motorcycle",
938
+ "mountains",
939
+ "mouse",
940
+ "mouse-left-click",
941
+ "mouse-middle-click",
942
+ "mouse-right-click",
943
+ "mouse-scroll",
944
+ "mouse-simple",
945
+ "music-note",
946
+ "music-note-simple",
947
+ "music-notes",
948
+ "music-notes-minus",
949
+ "music-notes-plus",
950
+ "music-notes-simple",
951
+ "navigation-arrow",
952
+ "needle",
953
+ "network",
954
+ "network-slash",
955
+ "network-x",
956
+ "newspaper",
957
+ "newspaper-clipping",
958
+ "not-equals",
959
+ "not-member-of",
960
+ "not-subset-of",
961
+ "not-superset-of",
962
+ "notches",
963
+ "note",
964
+ "note-blank",
965
+ "note-pencil",
966
+ "notebook",
967
+ "notepad",
968
+ "notification",
969
+ "notion-logo",
970
+ "nuclear-plant",
971
+ "number-circle-eight",
972
+ "number-circle-five",
973
+ "number-circle-four",
974
+ "number-circle-nine",
975
+ "number-circle-one",
976
+ "number-circle-seven",
977
+ "number-circle-six",
978
+ "number-circle-three",
979
+ "number-circle-two",
980
+ "number-circle-zero",
981
+ "number-eight",
982
+ "number-five",
983
+ "number-four",
984
+ "number-nine",
985
+ "number-one",
986
+ "number-seven",
987
+ "number-six",
988
+ "number-square-eight",
989
+ "number-square-five",
990
+ "number-square-four",
991
+ "number-square-nine",
992
+ "number-square-one",
993
+ "number-square-seven",
994
+ "number-square-six",
995
+ "number-square-three",
996
+ "number-square-two",
997
+ "number-square-zero",
998
+ "number-three",
999
+ "number-two",
1000
+ "number-zero",
1001
+ "numpad",
1002
+ "nut",
1003
+ "ny-times-logo",
1004
+ "octagon",
1005
+ "office-chair",
1006
+ "onigiri",
1007
+ "open-ai-logo",
1008
+ "option",
1009
+ "orange",
1010
+ "orange-slice",
1011
+ "oven",
1012
+ "package",
1013
+ "paint-brush",
1014
+ "paint-brush-broad",
1015
+ "paint-brush-household",
1016
+ "paint-bucket",
1017
+ "paint-roller",
1018
+ "palette",
1019
+ "panorama",
1020
+ "pants",
1021
+ "paper-plane",
1022
+ "paper-plane-right",
1023
+ "paper-plane-tilt",
1024
+ "paperclip",
1025
+ "paperclip-horizontal",
1026
+ "parachute",
1027
+ "paragraph",
1028
+ "parallelogram",
1029
+ "park",
1030
+ "password",
1031
+ "path",
1032
+ "patreon-logo",
1033
+ "pause",
1034
+ "pause-circle",
1035
+ "paw-print",
1036
+ "paypal-logo",
1037
+ "peace",
1038
+ "pen",
1039
+ "pen-nib",
1040
+ "pen-nib-straight",
1041
+ "pencil",
1042
+ "pencil-circle",
1043
+ "pencil-line",
1044
+ "pencil-ruler",
1045
+ "pencil-simple",
1046
+ "pencil-simple-line",
1047
+ "pencil-simple-slash",
1048
+ "pencil-slash",
1049
+ "pentagon",
1050
+ "pentagram",
1051
+ "pepper",
1052
+ "percent",
1053
+ "person",
1054
+ "person-arms-spread",
1055
+ "person-simple",
1056
+ "person-simple-bike",
1057
+ "person-simple-circle",
1058
+ "person-simple-hike",
1059
+ "person-simple-run",
1060
+ "person-simple-ski",
1061
+ "person-simple-snowboard",
1062
+ "person-simple-swim",
1063
+ "person-simple-tai-chi",
1064
+ "person-simple-throw",
1065
+ "person-simple-walk",
1066
+ "perspective",
1067
+ "phone",
1068
+ "phone-call",
1069
+ "phone-disconnect",
1070
+ "phone-incoming",
1071
+ "phone-list",
1072
+ "phone-outgoing",
1073
+ "phone-pause",
1074
+ "phone-plus",
1075
+ "phone-slash",
1076
+ "phone-transfer",
1077
+ "phone-x",
1078
+ "phosphor-logo",
1079
+ "pi",
1080
+ "piano-keys",
1081
+ "picnic-table",
1082
+ "picture-in-picture",
1083
+ "piggy-bank",
1084
+ "pill",
1085
+ "ping-pong",
1086
+ "pint-glass",
1087
+ "pinterest-logo",
1088
+ "pinwheel",
1089
+ "pipe",
1090
+ "pipe-wrench",
1091
+ "pix-logo",
1092
+ "pizza",
1093
+ "placeholder",
1094
+ "planet",
1095
+ "plant",
1096
+ "play",
1097
+ "play-circle",
1098
+ "play-pause",
1099
+ "playlist",
1100
+ "plug",
1101
+ "plug-charging",
1102
+ "plugs",
1103
+ "plugs-connected",
1104
+ "plus",
1105
+ "plus-circle",
1106
+ "plus-minus",
1107
+ "plus-square",
1108
+ "poker-chip",
1109
+ "police-car",
1110
+ "polygon",
1111
+ "popcorn",
1112
+ "popsicle",
1113
+ "potted-plant",
1114
+ "power",
1115
+ "prescription",
1116
+ "presentation",
1117
+ "presentation-chart",
1118
+ "printer",
1119
+ "prohibit",
1120
+ "prohibit-inset",
1121
+ "projector-screen",
1122
+ "projector-screen-chart",
1123
+ "pulse",
1124
+ "push-pin",
1125
+ "push-pin-simple",
1126
+ "push-pin-simple-slash",
1127
+ "push-pin-slash",
1128
+ "puzzle-piece",
1129
+ "qr-code",
1130
+ "question",
1131
+ "question-mark",
1132
+ "queue",
1133
+ "quotes",
1134
+ "rabbit",
1135
+ "racquet",
1136
+ "radical",
1137
+ "radio",
1138
+ "radio-button",
1139
+ "radioactive",
1140
+ "rainbow",
1141
+ "rainbow-cloud",
1142
+ "ranking",
1143
+ "read-cv-logo",
1144
+ "receipt",
1145
+ "receipt-x",
1146
+ "record",
1147
+ "rectangle",
1148
+ "rectangle-dashed",
1149
+ "recycle",
1150
+ "reddit-logo",
1151
+ "repeat",
1152
+ "repeat-once",
1153
+ "replit-logo",
1154
+ "resize",
1155
+ "rewind",
1156
+ "rewind-circle",
1157
+ "road-horizon",
1158
+ "robot",
1159
+ "rocket",
1160
+ "rocket-launch",
1161
+ "rows",
1162
+ "rows-plus-bottom",
1163
+ "rows-plus-top",
1164
+ "rss",
1165
+ "rss-simple",
1166
+ "rug",
1167
+ "ruler",
1168
+ "sailboat",
1169
+ "scales",
1170
+ "scan",
1171
+ "scan-smiley",
1172
+ "scissors",
1173
+ "scooter",
1174
+ "screencast",
1175
+ "screwdriver",
1176
+ "scribble",
1177
+ "scribble-loop",
1178
+ "scroll",
1179
+ "seal",
1180
+ "seal-check",
1181
+ "seal-percent",
1182
+ "seal-question",
1183
+ "seal-warning",
1184
+ "seat",
1185
+ "seatbelt",
1186
+ "security-camera",
1187
+ "selection",
1188
+ "selection-all",
1189
+ "selection-background",
1190
+ "selection-foreground",
1191
+ "selection-inverse",
1192
+ "selection-plus",
1193
+ "selection-slash",
1194
+ "shapes",
1195
+ "share",
1196
+ "share-fat",
1197
+ "share-network",
1198
+ "shield",
1199
+ "shield-check",
1200
+ "shield-checkered",
1201
+ "shield-chevron",
1202
+ "shield-plus",
1203
+ "shield-slash",
1204
+ "shield-star",
1205
+ "shield-warning",
1206
+ "shipping-container",
1207
+ "shirt-folded",
1208
+ "shooting-star",
1209
+ "shopping-bag",
1210
+ "shopping-bag-open",
1211
+ "shopping-cart",
1212
+ "shopping-cart-simple",
1213
+ "shovel",
1214
+ "shower",
1215
+ "shrimp",
1216
+ "shuffle",
1217
+ "shuffle-angular",
1218
+ "shuffle-simple",
1219
+ "sidebar",
1220
+ "sidebar-simple",
1221
+ "sigma",
1222
+ "sign-in",
1223
+ "sign-out",
1224
+ "signature",
1225
+ "signpost",
1226
+ "sim-card",
1227
+ "siren",
1228
+ "sketch-logo",
1229
+ "skip-back",
1230
+ "skip-back-circle",
1231
+ "skip-forward",
1232
+ "skip-forward-circle",
1233
+ "skull",
1234
+ "skype-logo",
1235
+ "slack-logo",
1236
+ "sliders",
1237
+ "sliders-horizontal",
1238
+ "slideshow",
1239
+ "smiley",
1240
+ "smiley-angry",
1241
+ "smiley-blank",
1242
+ "smiley-meh",
1243
+ "smiley-melting",
1244
+ "smiley-nervous",
1245
+ "smiley-sad",
1246
+ "smiley-sticker",
1247
+ "smiley-wink",
1248
+ "smiley-x-eyes",
1249
+ "snapchat-logo",
1250
+ "sneaker",
1251
+ "sneaker-move",
1252
+ "snowflake",
1253
+ "soccer-ball",
1254
+ "sock",
1255
+ "solar-panel",
1256
+ "solar-roof",
1257
+ "sort-ascending",
1258
+ "sort-descending",
1259
+ "soundcloud-logo",
1260
+ "spade",
1261
+ "sparkle",
1262
+ "speaker-hifi",
1263
+ "speaker-high",
1264
+ "speaker-low",
1265
+ "speaker-none",
1266
+ "speaker-simple-high",
1267
+ "speaker-simple-low",
1268
+ "speaker-simple-none",
1269
+ "speaker-simple-slash",
1270
+ "speaker-simple-x",
1271
+ "speaker-slash",
1272
+ "speaker-x",
1273
+ "speedometer",
1274
+ "sphere",
1275
+ "spinner",
1276
+ "spinner-ball",
1277
+ "spinner-gap",
1278
+ "spiral",
1279
+ "split-horizontal",
1280
+ "split-vertical",
1281
+ "spotify-logo",
1282
+ "spray-bottle",
1283
+ "square",
1284
+ "square-half",
1285
+ "square-half-bottom",
1286
+ "square-logo",
1287
+ "square-split-horizontal",
1288
+ "square-split-vertical",
1289
+ "squares-four",
1290
+ "stack",
1291
+ "stack-minus",
1292
+ "stack-overflow-logo",
1293
+ "stack-plus",
1294
+ "stack-simple",
1295
+ "stairs",
1296
+ "stamp",
1297
+ "standard-definition",
1298
+ "star",
1299
+ "star-and-crescent",
1300
+ "star-four",
1301
+ "star-half",
1302
+ "star-of-david",
1303
+ "steam-logo",
1304
+ "steering-wheel",
1305
+ "steps",
1306
+ "stethoscope",
1307
+ "sticker",
1308
+ "stool",
1309
+ "stop",
1310
+ "stop-circle",
1311
+ "storefront",
1312
+ "strategy",
1313
+ "stripe-logo",
1314
+ "student",
1315
+ "subset-of",
1316
+ "subset-proper-of",
1317
+ "subtitles",
1318
+ "subtitles-slash",
1319
+ "subtract",
1320
+ "subtract-square",
1321
+ "subway",
1322
+ "suitcase",
1323
+ "suitcase-rolling",
1324
+ "suitcase-simple",
1325
+ "sun",
1326
+ "sun-dim",
1327
+ "sun-horizon",
1328
+ "sunglasses",
1329
+ "superset-of",
1330
+ "superset-proper-of",
1331
+ "swap",
1332
+ "swatches",
1333
+ "swimming-pool",
1334
+ "sword",
1335
+ "synagogue",
1336
+ "syringe",
1337
+ "t-shirt",
1338
+ "table",
1339
+ "tabs",
1340
+ "tag",
1341
+ "tag-chevron",
1342
+ "tag-simple",
1343
+ "target",
1344
+ "taxi",
1345
+ "tea-bag",
1346
+ "telegram-logo",
1347
+ "television",
1348
+ "television-simple",
1349
+ "tennis-ball",
1350
+ "tent",
1351
+ "terminal",
1352
+ "terminal-window",
1353
+ "test-tube",
1354
+ "text-a-underline",
1355
+ "text-aa",
1356
+ "text-align-center",
1357
+ "text-align-justify",
1358
+ "text-align-left",
1359
+ "text-align-right",
1360
+ "text-b",
1361
+ "text-columns",
1362
+ "text-h",
1363
+ "text-h-five",
1364
+ "text-h-four",
1365
+ "text-h-one",
1366
+ "text-h-six",
1367
+ "text-h-three",
1368
+ "text-h-two",
1369
+ "text-indent",
1370
+ "text-italic",
1371
+ "text-outdent",
1372
+ "text-strikethrough",
1373
+ "text-subscript",
1374
+ "text-superscript",
1375
+ "text-t",
1376
+ "text-t-slash",
1377
+ "text-underline",
1378
+ "textbox",
1379
+ "thermometer",
1380
+ "thermometer-cold",
1381
+ "thermometer-hot",
1382
+ "thermometer-simple",
1383
+ "threads-logo",
1384
+ "three-d",
1385
+ "thumbs-down",
1386
+ "thumbs-up",
1387
+ "ticket",
1388
+ "tidal-logo",
1389
+ "tiktok-logo",
1390
+ "tilde",
1391
+ "timer",
1392
+ "tip-jar",
1393
+ "tipi",
1394
+ "tire",
1395
+ "toggle-left",
1396
+ "toggle-right",
1397
+ "toilet",
1398
+ "toilet-paper",
1399
+ "toolbox",
1400
+ "tooth",
1401
+ "tornado",
1402
+ "tote",
1403
+ "tote-simple",
1404
+ "towel",
1405
+ "tractor",
1406
+ "trademark",
1407
+ "trademark-registered",
1408
+ "traffic-cone",
1409
+ "traffic-sign",
1410
+ "traffic-signal",
1411
+ "train",
1412
+ "train-regional",
1413
+ "train-simple",
1414
+ "tram",
1415
+ "translate",
1416
+ "trash",
1417
+ "trash-simple",
1418
+ "tray",
1419
+ "tray-arrow-down",
1420
+ "tray-arrow-up",
1421
+ "treasure-chest",
1422
+ "tree",
1423
+ "tree-evergreen",
1424
+ "tree-palm",
1425
+ "tree-structure",
1426
+ "tree-view",
1427
+ "trend-down",
1428
+ "trend-up",
1429
+ "triangle",
1430
+ "triangle-dashed",
1431
+ "trolley",
1432
+ "trolley-suitcase",
1433
+ "trophy",
1434
+ "truck",
1435
+ "truck-trailer",
1436
+ "tumblr-logo",
1437
+ "twitch-logo",
1438
+ "twitter-logo",
1439
+ "umbrella",
1440
+ "umbrella-simple",
1441
+ "union",
1442
+ "unite",
1443
+ "unite-square",
1444
+ "upload",
1445
+ "upload-simple",
1446
+ "usb",
1447
+ "user",
1448
+ "user-check",
1449
+ "user-circle",
1450
+ "user-circle-check",
1451
+ "user-circle-dashed",
1452
+ "user-circle-gear",
1453
+ "user-circle-minus",
1454
+ "user-circle-plus",
1455
+ "user-focus",
1456
+ "user-gear",
1457
+ "user-list",
1458
+ "user-minus",
1459
+ "user-plus",
1460
+ "user-rectangle",
1461
+ "user-sound",
1462
+ "user-square",
1463
+ "user-switch",
1464
+ "users",
1465
+ "users-four",
1466
+ "users-three",
1467
+ "van",
1468
+ "vault",
1469
+ "vector-three",
1470
+ "vector-two",
1471
+ "vibrate",
1472
+ "video",
1473
+ "video-camera",
1474
+ "video-camera-slash",
1475
+ "video-conference",
1476
+ "vignette",
1477
+ "vinyl-record",
1478
+ "virtual-reality",
1479
+ "virus",
1480
+ "visor",
1481
+ "voicemail",
1482
+ "volleyball",
1483
+ "wall",
1484
+ "wallet",
1485
+ "warehouse",
1486
+ "warning",
1487
+ "warning-circle",
1488
+ "warning-diamond",
1489
+ "warning-octagon",
1490
+ "washing-machine",
1491
+ "watch",
1492
+ "wave-sawtooth",
1493
+ "wave-sine",
1494
+ "wave-square",
1495
+ "wave-triangle",
1496
+ "waveform",
1497
+ "waveform-slash",
1498
+ "waves",
1499
+ "webcam",
1500
+ "webcam-slash",
1501
+ "webhooks-logo",
1502
+ "wechat-logo",
1503
+ "whatsapp-logo",
1504
+ "wheelchair",
1505
+ "wheelchair-motion",
1506
+ "wifi-high",
1507
+ "wifi-low",
1508
+ "wifi-medium",
1509
+ "wifi-none",
1510
+ "wifi-slash",
1511
+ "wifi-x",
1512
+ "wind",
1513
+ "windmill",
1514
+ "windows-logo",
1515
+ "wine",
1516
+ "wrench",
1517
+ "x",
1518
+ "x-circle",
1519
+ "x-logo",
1520
+ "x-square",
1521
+ "yarn",
1522
+ "yin-yang",
1523
+ "youtube-logo",
1524
+ ];
1525
+
1526
+ const appearances = ["thin", "light", "regular", "bold", "fill", "duotone"];
1527
+
1528
+ // Helper function to convert kebab-case to PascalCase (matching Phosphor icon export names)
1529
+ function toPascalCase(str) {
1530
+ return str
1531
+ .split(/(?=[A-Z])|[-_\s]/)
1532
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
1533
+ .join("");
1534
+ }
1535
+
1536
+ export default function IconDemo() {
1537
+ const [searchTerm, setSearchTerm] = useState("");
1538
+ const [selectedAppearance, setSelectedAppearance] = useState("regular");
1539
+
1540
+ // Filter icons based on search term
1541
+ const filteredIcons = useMemo(() => {
1542
+ if (!searchTerm.trim()) {
1543
+ return allIconNames;
1544
+ }
1545
+ return allIconNames.filter((iconName) =>
1546
+ iconName.toLowerCase().includes(searchTerm.toLowerCase()),
1547
+ );
1548
+ }, [searchTerm]);
1549
+
1550
+ return (
1551
+ <section className="page page--icons">
1552
+ <header className="page__header">
1553
+ <div className="page__header-container">
1554
+ <Breadcrumb />
1555
+ <div className="page__header-info">
1556
+ <div className="page__header-content">
1557
+ <h1 className="page__header-title">Icon Gallery</h1>
1558
+ <p className="page__header-description">
1559
+ Browse all {allIconNames.length} Phosphor icons available in the
1560
+ design system. Use the search to find specific icons. Icons can be
1561
+ customized with different weights and sizes.
1562
+ </p>
1563
+ </div>
1564
+ <div className="page__header-metadata">
1565
+ <div className="page__metadata-row">
1566
+ <p className="page__metadata-label">Author</p>
1567
+ <a
1568
+ href="https://chgit.slack.com/team/U06V9C0K06S"
1569
+ className="page__metadata-link"
1570
+ target="_blank"
1571
+ rel="noopener noreferrer"
1572
+ >
1573
+ @Michael-Stevens
1574
+ </a>
1575
+ </div>
1576
+ <div className="page__metadata-row">
1577
+ <p className="page__metadata-label">Last updated</p>
1578
+ <p className="page__metadata-value">{formatLastUpdated()}</p>
1579
+ </div>
1580
+ <div className="page__metadata-row">
1581
+ <p className="page__metadata-label">Version</p>
1582
+ <Flex direction="row" gap="8" alignItems="center">
1583
+ <p className="page__metadata-value">1.0.0</p>
1584
+ <span className="page__version-badge">BETA</span>
1585
+ </Flex>
1586
+ </div>
1587
+ </div>
1588
+ </div>
1589
+ </div>
1590
+ </header>
1591
+
1592
+ <main className="page__content">
1593
+ <div className="page__examples-section">
1594
+ <div className="demo-group">
1595
+ <h2 className="demo-group__heading">Icon Search</h2>
1596
+ <p className="demo-group__description">
1597
+ Search through all available icons by name. Icons are from the Phosphor icon library.
1598
+ </p>
1599
+ <div style={{ marginBottom: "24px" }}>
1600
+ <input
1601
+ type="text"
1602
+ placeholder="Search icons..."
1603
+ value={searchTerm}
1604
+ onChange={(e) => setSearchTerm(e.target.value)}
1605
+ style={{
1606
+ width: "100%",
1607
+ maxWidth: "400px",
1608
+ padding: "12px 16px",
1609
+ border: "1px solid var(--uds-border-primary)",
1610
+ borderRadius: "8px",
1611
+ fontSize: "14px",
1612
+ }}
1613
+ />
1614
+ </div>
1615
+ <div style={{ marginBottom: "24px" }}>
1616
+ <label style={{ display: "block", marginBottom: "8px", fontSize: "14px", color: "var(--uds-text-secondary)" }}>
1617
+ Appearance:
1618
+ </label>
1619
+ <Flex direction="row" gap="8" wrap={true}>
1620
+ {appearances.map((appearance) => (
1621
+ <button
1622
+ key={appearance}
1623
+ onClick={() => setSelectedAppearance(appearance)}
1624
+ style={{
1625
+ padding: "8px 16px",
1626
+ border: `1px solid ${selectedAppearance === appearance ? "var(--uds-border-brand-primary)" : "var(--uds-border-primary)"}`,
1627
+ borderRadius: "4px",
1628
+ background: selectedAppearance === appearance ? "var(--uds-surface-brand-secondary)" : "var(--uds-surface-primary)",
1629
+ color: selectedAppearance === appearance ? "var(--uds-text-brand-primary)" : "var(--uds-text-primary)",
1630
+ cursor: "pointer",
1631
+ fontSize: "14px",
1632
+ }}
1633
+ >
1634
+ {appearance}
1635
+ </button>
1636
+ ))}
1637
+ </Flex>
1638
+ </div>
1639
+ <div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(120px, 1fr))", gap: "16px" }}>
1640
+ {filteredIcons.slice(0, 100).map((iconName) => (
1641
+ <Flex
1642
+ key={iconName}
1643
+ direction="column"
1644
+ gap="8"
1645
+ alignItems="center"
1646
+ style={{
1647
+ padding: "16px",
1648
+ border: "1px solid var(--uds-border-secondary)",
1649
+ borderRadius: "8px",
1650
+ background: "var(--uds-surface-primary)",
1651
+ cursor: "pointer",
1652
+ transition: "all 0.2s ease",
1653
+ }}
1654
+ onMouseEnter={(e) => {
1655
+ e.currentTarget.style.background = "var(--uds-surface-secondary)";
1656
+ }}
1657
+ onMouseLeave={(e) => {
1658
+ e.currentTarget.style.background = "var(--uds-surface-primary)";
1659
+ }}
1660
+ >
1661
+ <Icon name={iconName} size={24} appearance={selectedAppearance} />
1662
+ <span style={{ fontSize: "11px", color: "var(--uds-text-secondary)", textAlign: "center", wordBreak: "break-word" }}>
1663
+ {iconName}
1664
+ </span>
1665
+ </Flex>
1666
+ ))}
1667
+ </div>
1668
+ {filteredIcons.length > 100 && (
1669
+ <p style={{ marginTop: "24px", fontSize: "14px", color: "var(--uds-text-secondary)" }}>
1670
+ Showing first 100 of {filteredIcons.length} matching icons. Refine your search to see more.
1671
+ </p>
1672
+ )}
1673
+ </div>
1674
+ </div>
1675
+
1676
+ <Divider variant="solid" />
1677
+ </main>
1678
+ </section>
1679
+ );
1680
+ }