banhaten 0.1.3 → 0.2.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 (258) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/CONTRIBUTING.md +44 -0
  3. package/README.md +65 -13
  4. package/SECURITY.md +15 -0
  5. package/banhaten.config.example.json +0 -2
  6. package/docs/design-system/README.md +9 -0
  7. package/docs/design-system/adoption-quality-remediation.md +87 -0
  8. package/docs/design-system/agent-usage.md +13 -0
  9. package/docs/design-system/appearance-presets.md +6 -1
  10. package/docs/design-system/component-docs-pattern.md +81 -0
  11. package/docs/design-system/component-token-consistency-audit.md +13 -3
  12. package/docs/design-system/components/README.md +3 -2
  13. package/docs/design-system/components/accordion.md +16 -0
  14. package/docs/design-system/components/activity-feed.md +15 -1
  15. package/docs/design-system/components/alert-dialog.md +17 -0
  16. package/docs/design-system/components/alert.md +46 -14
  17. package/docs/design-system/components/aspect-ratio.md +15 -0
  18. package/docs/design-system/components/attribute.md +16 -0
  19. package/docs/design-system/components/autocomplete.md +19 -0
  20. package/docs/design-system/components/avatar.md +18 -0
  21. package/docs/design-system/components/badge.md +19 -0
  22. package/docs/design-system/components/banner.md +15 -1
  23. package/docs/design-system/components/breadcrumbs.md +14 -0
  24. package/docs/design-system/components/button-group.md +34 -0
  25. package/docs/design-system/components/button.md +18 -0
  26. package/docs/design-system/components/card.md +18 -1
  27. package/docs/design-system/components/carousel.md +20 -3
  28. package/docs/design-system/components/catalog-components.md +15 -1
  29. package/docs/design-system/components/chart.md +15 -0
  30. package/docs/design-system/components/checkbox.md +16 -0
  31. package/docs/design-system/components/collapsible.md +15 -0
  32. package/docs/design-system/components/command.md +15 -0
  33. package/docs/design-system/components/context-menu.md +15 -0
  34. package/docs/design-system/components/date-picker.md +21 -1
  35. package/docs/design-system/components/divider.md +16 -0
  36. package/docs/design-system/components/empty-state.md +17 -0
  37. package/docs/design-system/components/field.md +17 -0
  38. package/docs/design-system/components/file-upload.md +14 -0
  39. package/docs/design-system/components/hover-card.md +15 -0
  40. package/docs/design-system/components/input-group.md +17 -0
  41. package/docs/design-system/components/input-otp.md +18 -0
  42. package/docs/design-system/components/input.md +43 -7
  43. package/docs/design-system/components/item.md +72 -0
  44. package/docs/design-system/components/kbd.md +18 -0
  45. package/docs/design-system/components/label.md +16 -0
  46. package/docs/design-system/components/menu.md +17 -0
  47. package/docs/design-system/components/menubar.md +15 -0
  48. package/docs/design-system/components/modal.md +25 -4
  49. package/docs/design-system/components/native-select.md +18 -0
  50. package/docs/design-system/components/navigation-menu.md +15 -0
  51. package/docs/design-system/components/onboarding-step-list-item.md +15 -1
  52. package/docs/design-system/components/page-header.md +15 -1
  53. package/docs/design-system/components/pagination.md +30 -8
  54. package/docs/design-system/components/popover.md +19 -0
  55. package/docs/design-system/components/progress-slider.md +18 -0
  56. package/docs/design-system/components/progress.md +17 -0
  57. package/docs/design-system/components/radio-card.md +16 -0
  58. package/docs/design-system/components/radio-group.md +17 -0
  59. package/docs/design-system/components/resizable.md +15 -0
  60. package/docs/design-system/components/scroll-area.md +15 -0
  61. package/docs/design-system/components/segmented-control.md +71 -0
  62. package/docs/design-system/components/select.md +44 -7
  63. package/docs/design-system/components/sheet.md +17 -0
  64. package/docs/design-system/components/sidebar.md +15 -0
  65. package/docs/design-system/components/skeleton.md +18 -0
  66. package/docs/design-system/components/slideout.md +14 -0
  67. package/docs/design-system/components/slider.md +20 -0
  68. package/docs/design-system/components/social-button.md +21 -3
  69. package/docs/design-system/components/spinner.md +16 -0
  70. package/docs/design-system/components/steps.md +14 -0
  71. package/docs/design-system/components/table.md +15 -1
  72. package/docs/design-system/components/tabs.md +17 -0
  73. package/docs/design-system/components/tag.md +17 -0
  74. package/docs/design-system/components/textarea.md +16 -0
  75. package/docs/design-system/components/timeline.md +14 -0
  76. package/docs/design-system/components/toast.md +17 -0
  77. package/docs/design-system/components/toggle.md +17 -0
  78. package/docs/design-system/components/toolbar.md +21 -1
  79. package/docs/design-system/components/tooltip.md +18 -1
  80. package/docs/design-system/density-and-elevation.md +44 -0
  81. package/docs/design-system/direction-and-localization.md +23 -0
  82. package/docs/design-system/form-recipes.md +73 -0
  83. package/docs/design-system/gap-promotion-policy.md +21 -0
  84. package/docs/design-system/gap-promotion-report.md +166 -0
  85. package/docs/design-system/installation.md +68 -0
  86. package/docs/design-system/launch-comparison-shadcn.md +98 -0
  87. package/docs/design-system/registry-and-cli.md +30 -7
  88. package/docs/design-system/release-policy.md +30 -0
  89. package/docs/design-system/roadmap.md +14 -0
  90. package/docs/design-system/support-matrix.md +23 -0
  91. package/docs/design-system/tabs.md +1 -1
  92. package/docs/design-system/token-governance.md +23 -1
  93. package/package.json +29 -15
  94. package/registry/component-contract.json +40 -0
  95. package/registry/components/alert-dialog.tsx +1 -1
  96. package/registry/components/alert.tsx +86 -65
  97. package/registry/components/autocomplete.tsx +23 -9
  98. package/registry/components/avatar.tsx +7 -7
  99. package/registry/components/badge.tsx +1 -1
  100. package/registry/components/button-group.tsx +321 -4
  101. package/registry/components/button.tsx +38 -17
  102. package/registry/components/card.tsx +68 -59
  103. package/registry/components/carousel.tsx +53 -5
  104. package/registry/components/chart.tsx +36 -3
  105. package/registry/components/checkbox.tsx +3 -3
  106. package/registry/components/collapsible.tsx +1 -1
  107. package/registry/components/command.tsx +1 -1
  108. package/registry/components/context-menu.tsx +1 -1
  109. package/registry/components/date-picker.tsx +245 -104
  110. package/registry/components/expanded/ActivityFeed.tsx +6 -15
  111. package/registry/components/expanded/Banner.tsx +3 -3
  112. package/registry/components/expanded/Breadcrumbs.tsx +5 -5
  113. package/registry/components/expanded/CatalogComponentsShowcase.tsx +13 -13
  114. package/registry/components/expanded/CatalogDivider.tsx +1 -1
  115. package/registry/components/expanded/EmptyState.tsx +1 -1
  116. package/registry/components/expanded/FileUpload.tsx +9 -2
  117. package/registry/components/expanded/OnboardingStepListItem.tsx +2 -4
  118. package/registry/components/expanded/PageHeader.tsx +13 -13
  119. package/registry/components/expanded/Slideout.tsx +15 -415
  120. package/registry/components/expanded/Steps.tsx +4 -4
  121. package/registry/components/expanded/Table.tsx +116 -69
  122. package/registry/components/expanded/Timeline.tsx +3 -3
  123. package/registry/components/expanded/activityFeed.css +1 -1
  124. package/registry/components/expanded/breadcrumbs.css +1 -1
  125. package/registry/components/expanded/divider.css +1 -1
  126. package/registry/components/expanded/emptyState.css +1 -1
  127. package/registry/components/expanded/fileUpload.css +6 -6
  128. package/registry/components/expanded/slideout.css +9 -685
  129. package/registry/components/expanded/steps.css +3 -3
  130. package/registry/components/expanded/table.css +2 -2
  131. package/registry/components/expanded/timeline.css +2 -2
  132. package/registry/components/input-content.ts +1 -0
  133. package/registry/components/input-otp.tsx +13 -3
  134. package/registry/components/input.tsx +68 -43
  135. package/registry/components/item.tsx +189 -0
  136. package/registry/components/kbd.tsx +111 -4
  137. package/registry/components/menu.tsx +31 -245
  138. package/registry/components/menubar.tsx +1 -1
  139. package/registry/components/modal.tsx +142 -102
  140. package/registry/components/native-select.tsx +2 -2
  141. package/registry/components/pagination.tsx +80 -58
  142. package/registry/components/popover.tsx +162 -664
  143. package/registry/components/radio-card.tsx +116 -87
  144. package/registry/components/segmented-control.tsx +87 -0
  145. package/registry/components/select-content.tsx +2 -2
  146. package/registry/components/select.tsx +52 -16
  147. package/registry/components/sheet.tsx +1 -1
  148. package/registry/components/sidebar.tsx +1 -1
  149. package/registry/components/skeleton.css +0 -3
  150. package/registry/components/social-button.tsx +47 -25
  151. package/registry/components/spinner.tsx +18 -55
  152. package/registry/components/tabs.css +1 -1
  153. package/registry/components/tabs.tsx +8 -4
  154. package/registry/components/tag.tsx +2 -2
  155. package/registry/components/textarea.tsx +3 -3
  156. package/registry/components/toast.tsx +16 -11
  157. package/registry/components/toggle.tsx +2 -2
  158. package/registry/components/toolbar.tsx +89 -17
  159. package/registry/components/tooltip.tsx +1 -1
  160. package/registry/examples/alert-demo.tsx +25 -5
  161. package/registry/examples/attribute-demo.tsx +1 -1
  162. package/registry/examples/autocomplete-demo.tsx +3 -3
  163. package/registry/examples/avatar-demo.tsx +7 -7
  164. package/registry/examples/badge-demo.tsx +1 -1
  165. package/registry/examples/button-demo.tsx +6 -6
  166. package/registry/examples/button-group-demo.tsx +23 -2
  167. package/registry/examples/card-demo.tsx +46 -8
  168. package/registry/examples/carousel-demo.tsx +20 -2
  169. package/registry/examples/chart-demo.tsx +1 -1
  170. package/registry/examples/checkbox-demo.tsx +5 -5
  171. package/registry/examples/collection-filter-bar-demo.tsx +135 -0
  172. package/registry/examples/command-demo.tsx +3 -3
  173. package/registry/examples/{expanded/command-bar-demo.tsx → command-palette-demo.tsx} +5 -15
  174. package/registry/examples/context-menu-demo.tsx +1 -1
  175. package/registry/examples/control-density-contract-demo.tsx +61 -0
  176. package/registry/examples/date-picker-demo.tsx +12 -12
  177. package/registry/examples/divider-demo.tsx +3 -3
  178. package/registry/examples/expanded/banner-demo.tsx +1 -1
  179. package/registry/examples/expanded/breadcrumbs-demo.tsx +1 -1
  180. package/registry/examples/expanded/empty-state-demo.tsx +1 -1
  181. package/registry/examples/expanded/file-upload-demo.tsx +1 -1
  182. package/registry/examples/expanded/onboarding-step-demo.tsx +1 -1
  183. package/registry/examples/expanded/slideout-demo.tsx +2 -2
  184. package/registry/examples/expanded/steps-demo.tsx +1 -1
  185. package/registry/examples/expanded/tabs-demo.tsx +1 -1
  186. package/registry/examples/expanded/timeline-demo.tsx +1 -1
  187. package/registry/examples/hover-card-demo.tsx +2 -2
  188. package/registry/examples/input-demo.tsx +6 -6
  189. package/registry/examples/input-otp-demo.tsx +4 -4
  190. package/registry/examples/item-demo.tsx +46 -0
  191. package/registry/examples/kbd-demo.tsx +1 -1
  192. package/registry/examples/label-demo.tsx +1 -1
  193. package/registry/examples/menu-demo.tsx +1 -1
  194. package/registry/examples/modal-demo.tsx +67 -9
  195. package/registry/examples/navigation-menu-demo.tsx +1 -1
  196. package/registry/examples/pagination-demo.tsx +6 -3
  197. package/registry/examples/popover-demo.tsx +19 -19
  198. package/registry/examples/progress-demo.tsx +1 -1
  199. package/registry/examples/progress-slider-demo.tsx +1 -1
  200. package/registry/examples/radio-card-demo.tsx +4 -4
  201. package/registry/examples/radio-group-demo.tsx +2 -2
  202. package/registry/examples/resizable-demo.tsx +1 -1
  203. package/registry/examples/results-toolbar-demo.tsx +44 -0
  204. package/registry/examples/scroll-area-demo.tsx +3 -3
  205. package/registry/examples/segmented-control-demo.tsx +39 -0
  206. package/registry/examples/select-demo.tsx +1 -1
  207. package/registry/examples/sidebar-demo.tsx +1 -1
  208. package/registry/examples/slider-demo.tsx +3 -3
  209. package/registry/examples/social-button-demo.tsx +18 -8
  210. package/registry/examples/spinner-demo.tsx +13 -13
  211. package/registry/examples/tabs-demo.tsx +1 -1
  212. package/registry/examples/tag-demo.tsx +1 -1
  213. package/registry/examples/textarea-demo.tsx +4 -4
  214. package/registry/examples/toast-demo.tsx +1 -1
  215. package/registry/examples/toggle-demo.tsx +6 -6
  216. package/registry/examples/tooltip-demo.tsx +4 -4
  217. package/registry/guidance/USAGE.md +27 -0
  218. package/registry/hooks/use-direction.ts +193 -13
  219. package/registry/index.json +5311 -377
  220. package/registry/styles/globals.css +2440 -4061
  221. package/registry.json +119 -149
  222. package/schema/config.schema.json +11 -8
  223. package/schema/registry.schema.json +150 -45
  224. package/schema/tokens.schema.json +134 -34
  225. package/src/cli/command-line.js +194 -0
  226. package/src/cli/config-editors.js +9 -0
  227. package/src/cli/doctor.js +399 -0
  228. package/src/cli/file-transaction.js +295 -0
  229. package/src/cli/global-css.js +153 -0
  230. package/src/cli/index.js +567 -1613
  231. package/src/cli/install-plan.js +592 -0
  232. package/src/cli/install-receipt.js +171 -0
  233. package/src/cli/jsonc.js +203 -0
  234. package/src/cli/package-install-state.js +254 -0
  235. package/src/cli/package-manager.js +238 -0
  236. package/src/cli/package-plan.js +185 -0
  237. package/src/cli/package-version.js +97 -0
  238. package/src/cli/registry-query.js +207 -0
  239. package/src/cli/reporting.js +55 -0
  240. package/src/cli/schema-validation.js +19 -0
  241. package/src/cli/source-scanner.js +686 -0
  242. package/src/cli/vite-config.js +478 -0
  243. package/tokens/banhaten.tokens.json +4312 -309
  244. package/docs/design-system/components/command-bar.md +0 -57
  245. package/registry/components/expanded/BannerBoard.tsx +0 -225
  246. package/registry/components/expanded/CatalogTag.tsx +0 -85
  247. package/registry/components/expanded/CommandBar.tsx +0 -386
  248. package/registry/components/expanded/IconExplorer.tsx +0 -612
  249. package/registry/components/expanded/TimelineShowcase.tsx +0 -158
  250. package/registry/components/expanded/commandBar.css +0 -470
  251. package/registry/components/expanded/iconExplorer.css +0 -764
  252. package/registry/components/expanded/iconPacks.ts +0 -866
  253. package/registry/components/expanded/tag.css +0 -148
  254. package/registry/examples/expanded/icons-demo.tsx +0 -5
  255. package/tokens/Color mode.zip +0 -0
  256. package/tokens/Numbers.zip +0 -0
  257. package/tokens/Radius.zip +0 -0
  258. package/tokens/Theme.zip +0 -0
@@ -1,866 +0,0 @@
1
- export type IconPosture = "shortlist" | "broad" | "specialized" | "brand";
2
- export type IconVariantMode = "prefix" | "suffix";
3
-
4
- export type IconSemantic =
5
- | "home"
6
- | "search"
7
- | "settings"
8
- | "bell"
9
- | "users"
10
- | "chevron"
11
- | "check"
12
- | "close"
13
- | "add"
14
- | "download"
15
- | "trash"
16
- | "calendar"
17
- | "filter"
18
- | "chart"
19
- | "warning"
20
- | "menu"
21
- | "more"
22
- | "edit";
23
-
24
- export type IconVariant = {
25
- id: string;
26
- label: string;
27
- prefix?: string;
28
- suffix?: string;
29
- overrides?: Partial<Record<IconSemantic, string>>;
30
- };
31
-
32
- export type IconPack = {
33
- id: string;
34
- prefix: string;
35
- name: string;
36
- posture: IconPosture;
37
- total: number;
38
- license: string;
39
- licenseUrl: string;
40
- officialUrl: string;
41
- summary: string;
42
- tags: string[];
43
- scores: {
44
- fit: number;
45
- coverage: number;
46
- variants: number;
47
- density: number;
48
- };
49
- variantMode?: IconVariantMode;
50
- variants: IconVariant[];
51
- icons: Record<IconSemantic, string>;
52
- };
53
-
54
- export const iconSemantics: Array<[IconSemantic, string]> = [
55
- ["home", "Home"],
56
- ["search", "Search"],
57
- ["settings", "Settings"],
58
- ["bell", "Bell"],
59
- ["users", "Users"],
60
- ["chevron", "Chevron"],
61
- ["check", "Check"],
62
- ["close", "Close"],
63
- ["add", "Add"],
64
- ["download", "Download"],
65
- ["trash", "Trash"],
66
- ["calendar", "Calendar"],
67
- ["filter", "Filter"],
68
- ["chart", "Chart"],
69
- ["warning", "Warning"],
70
- ["menu", "Menu"],
71
- ["more", "More"],
72
- ["edit", "Edit"],
73
- ];
74
-
75
- export const iconPacks: IconPack[] = [
76
- {
77
- id: "material-symbols",
78
- prefix: "material-symbols",
79
- name: "Google Material Symbols",
80
- posture: "shortlist",
81
- total: 15450,
82
- license: "Apache-2.0",
83
- licenseUrl: "https://github.com/google/material-design-icons/blob/master/LICENSE",
84
- officialUrl: "https://fonts.google.com/icons",
85
- summary: "The newer Google icon family with the strongest built-in shape variants and broad recognizability.",
86
- tags: ["Google", "variable family", "large catalog"],
87
- scores: { fit: 84, coverage: 94, variants: 96, density: 78 },
88
- variantMode: "suffix",
89
- variants: [
90
- { id: "regular", label: "Regular", suffix: "" },
91
- { id: "rounded", label: "Rounded", suffix: "-rounded", overrides: { more: "more-vert" } },
92
- { id: "sharp", label: "Sharp", suffix: "-sharp" },
93
- {
94
- id: "outline",
95
- label: "Outline",
96
- suffix: "-outline",
97
- overrides: {
98
- search: "search",
99
- chevron: "expand-more",
100
- close: "close",
101
- add: "add",
102
- download: "download",
103
- filter: "filter-list",
104
- chart: "bar-chart",
105
- menu: "menu",
106
- more: "more-vert",
107
- },
108
- },
109
- {
110
- id: "outline-rounded",
111
- label: "Outline Rounded",
112
- suffix: "-outline-rounded",
113
- overrides: {
114
- search: "search-rounded",
115
- chevron: "expand-more-rounded",
116
- close: "close-rounded",
117
- add: "add-rounded",
118
- download: "download-rounded",
119
- filter: "filter-list-rounded",
120
- chart: "bar-chart-rounded",
121
- menu: "menu-rounded",
122
- more: "more-vert",
123
- },
124
- },
125
- {
126
- id: "outline-sharp",
127
- label: "Outline Sharp",
128
- suffix: "-outline-sharp",
129
- overrides: {
130
- search: "search-sharp",
131
- chevron: "expand-more-sharp",
132
- add: "add-sharp",
133
- download: "download-sharp",
134
- filter: "filter-list-sharp",
135
- chart: "bar-chart-sharp",
136
- menu: "menu-sharp",
137
- more: "more-vert-sharp",
138
- },
139
- },
140
- ],
141
- icons: {
142
- home: "home",
143
- search: "search",
144
- settings: "settings",
145
- bell: "notifications",
146
- users: "group",
147
- chevron: "expand-more",
148
- check: "check-circle",
149
- close: "close",
150
- add: "add",
151
- download: "download",
152
- trash: "delete",
153
- calendar: "calendar-month",
154
- filter: "filter-list",
155
- chart: "bar-chart",
156
- warning: "warning",
157
- menu: "menu",
158
- more: "more-vert",
159
- edit: "edit",
160
- },
161
- },
162
- {
163
- id: "ic",
164
- prefix: "ic",
165
- name: "Google Material Icons Classic",
166
- posture: "broad",
167
- total: 10955,
168
- license: "Apache-2.0",
169
- licenseUrl: "https://github.com/google/material-design-icons/blob/master/LICENSE",
170
- officialUrl: "https://fonts.google.com/icons?icon.set=Material+Icons",
171
- summary: "The classic Material Icons set with the older two-tone style and familiar Material metaphors.",
172
- tags: ["Google", "classic", "two-tone"],
173
- scores: { fit: 78, coverage: 90, variants: 88, density: 76 },
174
- variantMode: "prefix",
175
- variants: [
176
- { id: "baseline", label: "Filled", prefix: "baseline-" },
177
- { id: "outline", label: "Outlined", prefix: "outline-" },
178
- { id: "round", label: "Rounded", prefix: "round-" },
179
- { id: "sharp", label: "Sharp", prefix: "sharp-" },
180
- { id: "twotone", label: "Two tone", prefix: "twotone-" },
181
- ],
182
- icons: {
183
- home: "home",
184
- search: "search",
185
- settings: "settings",
186
- bell: "notifications",
187
- users: "group",
188
- chevron: "expand-more",
189
- check: "check-circle",
190
- close: "close",
191
- add: "add",
192
- download: "file-download",
193
- trash: "delete",
194
- calendar: "date-range",
195
- filter: "filter-list",
196
- chart: "bar-chart",
197
- warning: "warning",
198
- menu: "menu",
199
- more: "more-vert",
200
- edit: "edit",
201
- },
202
- },
203
- {
204
- id: "mdi",
205
- prefix: "mdi",
206
- name: "Material Design Icons by Pictogrammers",
207
- posture: "broad",
208
- total: 7447,
209
- license: "Apache-2.0",
210
- licenseUrl: "https://pictogrammers.com/docs/general/license/",
211
- officialUrl: "https://pictogrammers.com/library/mdi/",
212
- summary: "A very large community Material-style set for cases Google Material does not cover.",
213
- tags: ["community", "utility coverage", "Material-like"],
214
- scores: { fit: 74, coverage: 96, variants: 50, density: 72 },
215
- variants: [{ id: "regular", label: "Regular" }],
216
- icons: {
217
- home: "home",
218
- search: "magnify",
219
- settings: "cog",
220
- bell: "bell",
221
- users: "account-group",
222
- chevron: "chevron-down",
223
- check: "check-circle",
224
- close: "close",
225
- add: "plus",
226
- download: "download",
227
- trash: "trash-can",
228
- calendar: "calendar-month",
229
- filter: "filter-variant",
230
- chart: "chart-bar",
231
- warning: "alert-circle-outline",
232
- menu: "menu",
233
- more: "dots-vertical",
234
- edit: "pencil",
235
- },
236
- },
237
- {
238
- id: "radix-icons",
239
- prefix: "radix-icons",
240
- name: "Radix Icons",
241
- posture: "shortlist",
242
- total: 332,
243
- license: "MIT",
244
- licenseUrl: "https://github.com/radix-ui/icons/blob/master/LICENSE",
245
- officialUrl: "https://www.radix-ui.com/icons",
246
- summary: "Crisp 15px icons from the Radix ecosystem, excellent for compact controls and primitives.",
247
- tags: ["15px grid", "compact UI", "primitives"],
248
- scores: { fit: 86, coverage: 54, variants: 42, density: 96 },
249
- variants: [{ id: "regular", label: "Regular" }],
250
- icons: {
251
- home: "home",
252
- search: "magnifying-glass",
253
- settings: "gear",
254
- bell: "bell",
255
- users: "people",
256
- chevron: "chevron-down",
257
- check: "check-circled",
258
- close: "cross-1",
259
- add: "plus",
260
- download: "download",
261
- trash: "trash",
262
- calendar: "calendar",
263
- filter: "mixer-horizontal",
264
- chart: "bar-chart",
265
- warning: "exclamation-triangle",
266
- menu: "hamburger-menu",
267
- more: "dots-vertical",
268
- edit: "pencil-2",
269
- },
270
- },
271
- {
272
- id: "lucide",
273
- prefix: "lucide",
274
- name: "Lucide",
275
- posture: "shortlist",
276
- total: 1714,
277
- license: "ISC",
278
- licenseUrl: "https://github.com/lucide-icons/lucide/blob/main/LICENSE",
279
- officialUrl: "https://lucide.dev",
280
- summary: "A broad, consistent Feather fork and often the safest modern default for product UI.",
281
- tags: ["outline", "modern default", "React-friendly"],
282
- scores: { fit: 92, coverage: 82, variants: 45, density: 84 },
283
- variants: [{ id: "regular", label: "Regular" }],
284
- icons: {
285
- home: "home",
286
- search: "search",
287
- settings: "settings",
288
- bell: "bell",
289
- users: "users",
290
- chevron: "chevron-down",
291
- check: "circle-check",
292
- close: "x",
293
- add: "plus",
294
- download: "download",
295
- trash: "trash-2",
296
- calendar: "calendar",
297
- filter: "funnel",
298
- chart: "chart-bar",
299
- warning: "triangle-alert",
300
- menu: "menu",
301
- more: "ellipsis-vertical",
302
- edit: "pencil",
303
- },
304
- },
305
- {
306
- id: "heroicons",
307
- prefix: "heroicons",
308
- name: "Heroicons",
309
- posture: "specialized",
310
- total: 1288,
311
- license: "MIT",
312
- licenseUrl: "https://github.com/tailwindlabs/heroicons/blob/master/LICENSE",
313
- officialUrl: "https://heroicons.com",
314
- summary: "Hand-crafted icons from the Tailwind CSS team. Strong if the product leans Tailwind-first.",
315
- tags: ["Tailwind", "outline/solid", "hand-crafted"],
316
- scores: { fit: 82, coverage: 68, variants: 78, density: 78 },
317
- variantMode: "suffix",
318
- variants: [
319
- { id: "outline", label: "Outline 24", suffix: "" },
320
- { id: "solid", label: "Solid 24", suffix: "-solid" },
321
- { id: "solid-20", label: "Solid 20", suffix: "-20-solid" },
322
- { id: "solid-16", label: "Solid 16", suffix: "-16-solid" },
323
- ],
324
- icons: {
325
- home: "home",
326
- search: "magnifying-glass",
327
- settings: "cog-6-tooth",
328
- bell: "bell",
329
- users: "user-group",
330
- chevron: "chevron-down",
331
- check: "check-circle",
332
- close: "x-mark",
333
- add: "plus",
334
- download: "arrow-down-tray",
335
- trash: "trash",
336
- calendar: "calendar",
337
- filter: "funnel",
338
- chart: "chart-bar",
339
- warning: "exclamation-triangle",
340
- menu: "bars-3",
341
- more: "ellipsis-vertical",
342
- edit: "pencil-square",
343
- },
344
- },
345
- {
346
- id: "tabler",
347
- prefix: "tabler",
348
- name: "Tabler Icons",
349
- posture: "shortlist",
350
- total: 6146,
351
- license: "MIT",
352
- licenseUrl: "https://github.com/tabler/tabler-icons/blob/master/LICENSE",
353
- officialUrl: "https://tabler.io/icons",
354
- summary: "A strong coverage-first choice with a consistent 24px outline style and filled variants.",
355
- tags: ["huge set", "24px grid", "outline/fill"],
356
- scores: { fit: 88, coverage: 96, variants: 72, density: 82 },
357
- variantMode: "suffix",
358
- variants: [
359
- { id: "outline", label: "Outline", suffix: "" },
360
- {
361
- id: "filled",
362
- label: "Filled",
363
- suffix: "-filled",
364
- overrides: {
365
- users: "users-group",
366
- chevron: "chevron-down",
367
- close: "x",
368
- add: "plus",
369
- download: "download",
370
- chart: "chart-bar",
371
- menu: "menu-2",
372
- more: "dots-vertical",
373
- edit: "pencil",
374
- },
375
- },
376
- ],
377
- icons: {
378
- home: "home",
379
- search: "search",
380
- settings: "settings",
381
- bell: "bell",
382
- users: "users-group",
383
- chevron: "chevron-down",
384
- check: "circle-check",
385
- close: "x",
386
- add: "plus",
387
- download: "download",
388
- trash: "trash",
389
- calendar: "calendar",
390
- filter: "filter",
391
- chart: "chart-bar",
392
- warning: "alert-triangle",
393
- menu: "menu-2",
394
- more: "dots-vertical",
395
- edit: "pencil",
396
- },
397
- },
398
- {
399
- id: "ph",
400
- prefix: "ph",
401
- name: "Phosphor",
402
- posture: "shortlist",
403
- total: 9072,
404
- license: "MIT",
405
- licenseUrl: "https://github.com/phosphor-icons/core/blob/main/LICENSE",
406
- officialUrl: "https://phosphoricons.com",
407
- summary: "A flexible family with unusually useful weight variants, including fill and duotone.",
408
- tags: ["six weights", "duotone", "expressive"],
409
- scores: { fit: 88, coverage: 88, variants: 98, density: 80 },
410
- variantMode: "suffix",
411
- variants: [
412
- { id: "thin", label: "Thin", suffix: "-thin" },
413
- { id: "light", label: "Light", suffix: "-light" },
414
- { id: "regular", label: "Regular", suffix: "" },
415
- { id: "bold", label: "Bold", suffix: "-bold" },
416
- { id: "fill", label: "Fill", suffix: "-fill" },
417
- { id: "duotone", label: "Duotone", suffix: "-duotone" },
418
- ],
419
- icons: {
420
- home: "house",
421
- search: "magnifying-glass",
422
- settings: "gear-six",
423
- bell: "bell",
424
- users: "users",
425
- chevron: "caret-down",
426
- check: "check-circle",
427
- close: "x",
428
- add: "plus",
429
- download: "download-simple",
430
- trash: "trash",
431
- calendar: "calendar",
432
- filter: "funnel",
433
- chart: "chart-bar",
434
- warning: "warning-circle",
435
- menu: "list",
436
- more: "dots-three-vertical",
437
- edit: "pencil-simple",
438
- },
439
- },
440
- {
441
- id: "ri",
442
- prefix: "ri",
443
- name: "Remix Icon",
444
- posture: "broad",
445
- total: 3188,
446
- license: "Apache-2.0",
447
- licenseUrl: "https://github.com/Remix-Design/RemixIcon/blob/master/License",
448
- officialUrl: "https://www.remixicon.com",
449
- summary: "Neutral line/fill symbols with a practical catalog for product and marketing surfaces.",
450
- tags: ["line/fill", "neutral", "web/app"],
451
- scores: { fit: 82, coverage: 86, variants: 78, density: 78 },
452
- variantMode: "suffix",
453
- variants: [
454
- { id: "line", label: "Line", suffix: "-line" },
455
- { id: "fill", label: "Fill", suffix: "-fill" },
456
- ],
457
- icons: {
458
- home: "home",
459
- search: "search",
460
- settings: "settings-3",
461
- bell: "notification-3",
462
- users: "group",
463
- chevron: "arrow-down-s",
464
- check: "checkbox-circle",
465
- close: "close",
466
- add: "add",
467
- download: "download",
468
- trash: "delete-bin",
469
- calendar: "calendar",
470
- filter: "filter-3",
471
- chart: "bar-chart",
472
- warning: "error-warning",
473
- menu: "menu",
474
- more: "more-2",
475
- edit: "edit",
476
- },
477
- },
478
- {
479
- id: "bi",
480
- prefix: "bi",
481
- name: "Bootstrap Icons",
482
- posture: "broad",
483
- total: 2078,
484
- license: "MIT",
485
- licenseUrl: "https://github.com/twbs/icons/blob/main/LICENSE.md",
486
- officialUrl: "https://icons.getbootstrap.com",
487
- summary: "Bootstrap's official SVG library. Broad, practical, and usable outside Bootstrap.",
488
- tags: ["Bootstrap", "SVG/font", "practical"],
489
- scores: { fit: 76, coverage: 82, variants: 62, density: 74 },
490
- variants: [{ id: "regular", label: "Regular" }],
491
- icons: {
492
- home: "house",
493
- search: "search",
494
- settings: "gear",
495
- bell: "bell",
496
- users: "people",
497
- chevron: "chevron-down",
498
- check: "check-circle",
499
- close: "x",
500
- add: "plus",
501
- download: "download",
502
- trash: "trash",
503
- calendar: "calendar",
504
- filter: "funnel",
505
- chart: "bar-chart",
506
- warning: "exclamation-triangle",
507
- menu: "list",
508
- more: "three-dots-vertical",
509
- edit: "pencil",
510
- },
511
- },
512
- {
513
- id: "fluent",
514
- prefix: "fluent",
515
- name: "Fluent UI System Icons",
516
- posture: "broad",
517
- total: 19448,
518
- license: "MIT",
519
- licenseUrl: "https://github.com/microsoft/fluentui-system-icons/blob/main/LICENSE",
520
- officialUrl: "https://github.com/microsoft/fluentui-system-icons",
521
- summary: "Microsoft's massive system icon family, polished for enterprise and productivity UI.",
522
- tags: ["Microsoft", "regular/fill", "very large"],
523
- scores: { fit: 82, coverage: 96, variants: 82, density: 82 },
524
- variantMode: "suffix",
525
- variants: [
526
- { id: "regular", label: "Regular", suffix: "-regular" },
527
- { id: "filled", label: "Filled", suffix: "-filled" },
528
- ],
529
- icons: {
530
- home: "home-24",
531
- search: "search-24",
532
- settings: "settings-24",
533
- bell: "alert-24",
534
- users: "people-24",
535
- chevron: "chevron-down-24",
536
- check: "checkmark-circle-24",
537
- close: "dismiss-24",
538
- add: "add-24",
539
- download: "arrow-download-24",
540
- trash: "delete-24",
541
- calendar: "calendar-24",
542
- filter: "filter-24",
543
- chart: "chart-multiple-24",
544
- warning: "warning-24",
545
- menu: "navigation-24",
546
- more: "more-vertical-24",
547
- edit: "edit-24",
548
- },
549
- },
550
- {
551
- id: "carbon",
552
- prefix: "carbon",
553
- name: "Carbon Icons",
554
- posture: "specialized",
555
- total: 2529,
556
- license: "Apache-2.0",
557
- licenseUrl: "https://github.com/carbon-design-system/carbon/blob/main/LICENSE",
558
- officialUrl: "https://carbondesignsystem.com/elements/icons/code",
559
- summary: "IBM Carbon's icon set, strong for data-heavy enterprise tools and technical workflows.",
560
- tags: ["IBM", "enterprise", "data tools"],
561
- scores: { fit: 80, coverage: 84, variants: 60, density: 86 },
562
- variants: [{ id: "regular", label: "Regular" }],
563
- icons: {
564
- home: "home",
565
- search: "search",
566
- settings: "settings",
567
- bell: "notification",
568
- users: "group",
569
- chevron: "chevron-down",
570
- check: "checkmark-filled",
571
- close: "close",
572
- add: "add",
573
- download: "download",
574
- trash: "trash-can",
575
- calendar: "calendar",
576
- filter: "filter",
577
- chart: "chart-bar",
578
- warning: "warning",
579
- menu: "menu",
580
- more: "overflow-menu-vertical",
581
- edit: "edit",
582
- },
583
- },
584
- {
585
- id: "ant-design",
586
- prefix: "ant-design",
587
- name: "Ant Design Icons",
588
- posture: "specialized",
589
- total: 830,
590
- license: "MIT",
591
- licenseUrl: "https://github.com/ant-design/ant-design-icons/blob/master/LICENSE",
592
- officialUrl: "https://ant.design/components/icon",
593
- summary: "Enterprise-oriented SVG icons from Ant Design, with Outlined, Filled, and TwoTone families.",
594
- tags: ["enterprise", "React", "twotone"],
595
- scores: { fit: 76, coverage: 68, variants: 76, density: 78 },
596
- variantMode: "suffix",
597
- variants: [
598
- { id: "outlined", label: "Outlined", suffix: "-outlined" },
599
- {
600
- id: "filled",
601
- label: "Filled",
602
- suffix: "-filled",
603
- overrides: {
604
- search: "search-outlined",
605
- users: "team-outlined",
606
- chevron: "down-outlined",
607
- close: "close-outlined",
608
- add: "plus-outlined",
609
- download: "download-outlined",
610
- chart: "bar-chart-outlined",
611
- menu: "menu-outlined",
612
- more: "more-outlined",
613
- },
614
- },
615
- {
616
- id: "twotone",
617
- label: "TwoTone",
618
- suffix: "-twotone",
619
- overrides: {
620
- search: "search-outlined",
621
- users: "team-outlined",
622
- chevron: "down-outlined",
623
- close: "close-outlined",
624
- add: "plus-outlined",
625
- download: "download-outlined",
626
- chart: "bar-chart-outlined",
627
- menu: "menu-outlined",
628
- more: "more-outlined",
629
- },
630
- },
631
- ],
632
- icons: {
633
- home: "home",
634
- search: "search",
635
- settings: "setting",
636
- bell: "bell",
637
- users: "team",
638
- chevron: "down",
639
- check: "check-circle",
640
- close: "close",
641
- add: "plus",
642
- download: "download",
643
- trash: "delete",
644
- calendar: "calendar",
645
- filter: "filter",
646
- chart: "bar-chart",
647
- warning: "warning",
648
- menu: "menu",
649
- more: "more",
650
- edit: "edit",
651
- },
652
- },
653
- {
654
- id: "octicon",
655
- prefix: "octicon",
656
- name: "Octicons",
657
- posture: "specialized",
658
- total: 732,
659
- license: "MIT",
660
- licenseUrl: "https://github.com/primer/octicons/blob/main/LICENSE",
661
- officialUrl: "https://primer.style/octicons",
662
- summary: "GitHub's icon family, strong for developer products, repositories, files, and technical UI.",
663
- tags: ["GitHub", "developer tools", "Primer"],
664
- scores: { fit: 78, coverage: 64, variants: 58, density: 86 },
665
- variants: [{ id: "regular", label: "24px" }],
666
- icons: {
667
- home: "home-24",
668
- search: "search-24",
669
- settings: "gear-24",
670
- bell: "bell-24",
671
- users: "people-24",
672
- chevron: "chevron-down-24",
673
- check: "check-circle-24",
674
- close: "x-24",
675
- add: "plus-24",
676
- download: "download-24",
677
- trash: "trash-24",
678
- calendar: "calendar-24",
679
- filter: "filter-24",
680
- chart: "graph-24",
681
- warning: "alert-24",
682
- menu: "three-bars-24",
683
- more: "kebab-horizontal-24",
684
- edit: "pencil-24",
685
- },
686
- },
687
- {
688
- id: "feather",
689
- prefix: "feather",
690
- name: "Feather Icons",
691
- posture: "specialized",
692
- total: 286,
693
- license: "MIT",
694
- licenseUrl: "https://github.com/feathericons/feather/blob/master/LICENSE",
695
- officialUrl: "https://feathericons.com",
696
- summary: "The original minimal outline set. Beautiful, but small compared with Lucide and Tabler.",
697
- tags: ["minimal", "outline", "small set"],
698
- scores: { fit: 80, coverage: 44, variants: 34, density: 80 },
699
- variants: [{ id: "regular", label: "Regular" }],
700
- icons: {
701
- home: "home",
702
- search: "search",
703
- settings: "settings",
704
- bell: "bell",
705
- users: "users",
706
- chevron: "chevron-down",
707
- check: "check-circle",
708
- close: "x",
709
- add: "plus",
710
- download: "download",
711
- trash: "trash-2",
712
- calendar: "calendar",
713
- filter: "filter",
714
- chart: "bar-chart-2",
715
- warning: "alert-triangle",
716
- menu: "menu",
717
- more: "more-vertical",
718
- edit: "edit-2",
719
- },
720
- },
721
- {
722
- id: "iconoir",
723
- prefix: "iconoir",
724
- name: "Iconoir",
725
- posture: "broad",
726
- total: 1671,
727
- license: "MIT",
728
- licenseUrl: "https://github.com/iconoir-icons/iconoir/blob/main/LICENSE",
729
- officialUrl: "https://iconoir.com",
730
- summary: "A modern open-source outline library with broad coverage and a distinct visual personality.",
731
- tags: ["outline", "modern", "multi-platform"],
732
- scores: { fit: 82, coverage: 78, variants: 44, density: 80 },
733
- variants: [{ id: "regular", label: "Regular" }],
734
- icons: {
735
- home: "home",
736
- search: "search",
737
- settings: "settings",
738
- bell: "bell",
739
- users: "group",
740
- chevron: "nav-arrow-down",
741
- check: "check-circle",
742
- close: "xmark",
743
- add: "plus",
744
- download: "download",
745
- trash: "trash",
746
- calendar: "calendar",
747
- filter: "filter",
748
- chart: "graph-up",
749
- warning: "warning-triangle",
750
- menu: "menu",
751
- more: "more-vert",
752
- edit: "edit-pencil",
753
- },
754
- },
755
- {
756
- id: "flowbite",
757
- prefix: "flowbite",
758
- name: "Flowbite Icons",
759
- posture: "specialized",
760
- total: 751,
761
- license: "MIT",
762
- licenseUrl: "https://github.com/themesberg/flowbite-icons/blob/main/LICENSE",
763
- officialUrl: "https://flowbite.com/icons",
764
- summary: "Tailwind/Flowbite-aligned icons with solid and outline styles.",
765
- tags: ["Tailwind", "outline/solid", "Figma"],
766
- scores: { fit: 76, coverage: 62, variants: 72, density: 74 },
767
- variantMode: "suffix",
768
- variants: [
769
- { id: "outline", label: "Outline", suffix: "-outline" },
770
- { id: "solid", label: "Solid", suffix: "-solid" },
771
- ],
772
- icons: {
773
- home: "home",
774
- search: "search",
775
- settings: "cog",
776
- bell: "bell",
777
- users: "users-group",
778
- chevron: "chevron-down",
779
- check: "check-circle",
780
- close: "x",
781
- add: "plus",
782
- download: "download",
783
- trash: "trash-bin",
784
- calendar: "calendar-month",
785
- filter: "filter",
786
- chart: "chart-pie",
787
- warning: "exclamation-circle",
788
- menu: "bars",
789
- more: "dots-vertical",
790
- edit: "pen",
791
- },
792
- },
793
- {
794
- id: "ion",
795
- prefix: "ion",
796
- name: "Ionicons",
797
- posture: "specialized",
798
- total: 1357,
799
- license: "MIT",
800
- licenseUrl: "https://github.com/ionic-team/ionicons/blob/main/LICENSE",
801
- officialUrl: "https://ionic.io/ionicons",
802
- summary: "Ionic's app icon set. Good for mobile-facing products with outline, filled, and sharp needs.",
803
- tags: ["mobile", "outline/fill/sharp", "Ionic"],
804
- scores: { fit: 76, coverage: 70, variants: 82, density: 74 },
805
- variantMode: "suffix",
806
- variants: [
807
- { id: "outline", label: "Outline", suffix: "-outline" },
808
- { id: "filled", label: "Filled", suffix: "" },
809
- { id: "sharp", label: "Sharp", suffix: "-sharp" },
810
- ],
811
- icons: {
812
- home: "home",
813
- search: "search",
814
- settings: "settings",
815
- bell: "notifications",
816
- users: "people",
817
- chevron: "chevron-down",
818
- check: "checkmark-circle",
819
- close: "close",
820
- add: "add",
821
- download: "download",
822
- trash: "trash",
823
- calendar: "calendar",
824
- filter: "filter",
825
- chart: "bar-chart",
826
- warning: "warning",
827
- menu: "menu",
828
- more: "ellipsis-vertical",
829
- edit: "create",
830
- },
831
- },
832
- {
833
- id: "simple-icons",
834
- prefix: "simple-icons",
835
- name: "Simple Icons",
836
- posture: "brand",
837
- total: 3438,
838
- license: "CC0-1.0",
839
- licenseUrl: "https://github.com/simple-icons/simple-icons/blob/develop/LICENSE.md",
840
- officialUrl: "https://simpleicons.org",
841
- summary: "A brand-logo library, not a system UI icon set. Keep it separate for integrations and company marks.",
842
- tags: ["brand logos", "CC0", "trademark caveat"],
843
- scores: { fit: 34, coverage: 70, variants: 30, density: 50 },
844
- variants: [{ id: "brands", label: "Brands" }],
845
- icons: {
846
- home: "github",
847
- search: "google",
848
- settings: "figma",
849
- bell: "slack",
850
- users: "discord",
851
- chevron: "vercel",
852
- check: "stripe",
853
- close: "x",
854
- add: "openai",
855
- download: "apple",
856
- trash: "notion",
857
- calendar: "linear",
858
- filter: "tailwindcss",
859
- chart: "react",
860
- warning: "typescript",
861
- menu: "vite",
862
- more: "npm",
863
- edit: "githubactions",
864
- },
865
- },
866
- ];