@kolkrabbi/kol-icons 0.23.0 → 0.24.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-icons",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "KOL icons — <Icon/>, the curated kol-icon-set-v1 + registerIcons (bring-your-own), and the legacy inventory. Vite-only (import.meta.glob).",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/src/cuts.json ADDED
@@ -0,0 +1,214 @@
1
+ {
2
+ "a-framed": "stroke",
3
+ "aa": "stroke",
4
+ "alert-triangle": "solid",
5
+ "align-horizontal-center": "stroke",
6
+ "align-horizontal-left": "stroke",
7
+ "align-horizontal-right": "stroke",
8
+ "align-vertical-bottom": "stroke",
9
+ "align-vertical-center": "stroke",
10
+ "align-vertical-top": "stroke",
11
+ "angle": "stroke",
12
+ "arrow-down": "stroke",
13
+ "arrow-downleft": "stroke",
14
+ "arrow-downright": "stroke",
15
+ "arrow-left": "stroke",
16
+ "arrow-right": "stroke",
17
+ "arrow-up": "stroke",
18
+ "arrow-upleft": "stroke",
19
+ "arrow-upright": "stroke",
20
+ "arrows-vertical": "stroke",
21
+ "atomic-atom": "stroke",
22
+ "atomic-atomic-01": "stroke",
23
+ "atomic-atomic-02": "stroke",
24
+ "atomic-molecule-01": "stroke",
25
+ "atomic-molecule-02": "stroke",
26
+ "atomic-molecule-03": "stroke",
27
+ "atomic-organism-01": "stroke",
28
+ "atomic-organism-02": "stroke",
29
+ "atomic-organism-03": "stroke",
30
+ "atomic-organism-04": "stroke",
31
+ "attach": "stroke",
32
+ "ball": "solid",
33
+ "bell": "stroke",
34
+ "bolt": "stroke",
35
+ "book-open": "stroke",
36
+ "bookmark": "stroke",
37
+ "brightness": "stroke",
38
+ "bucket": "stroke",
39
+ "bug-beetle": "stroke",
40
+ "camera": "stroke",
41
+ "caret-down": "solid",
42
+ "caret-left": "solid",
43
+ "caret-right": "solid",
44
+ "caret-up": "solid",
45
+ "check": "stroke",
46
+ "chess-pawn": "stroke",
47
+ "chess-rook": "stroke",
48
+ "chevron-down": "stroke",
49
+ "chevron-left": "stroke",
50
+ "chevron-right": "stroke",
51
+ "chevron-up": "stroke",
52
+ "chevrons-right": "stroke",
53
+ "circle": "stroke",
54
+ "clipboard": "stroke",
55
+ "cloud": "stroke",
56
+ "code": "stroke",
57
+ "code-simple": "stroke",
58
+ "columns": "stroke",
59
+ "component-01": "solid",
60
+ "component-02": "stroke",
61
+ "cone": "stroke",
62
+ "constrain": "stroke",
63
+ "copy": "solid",
64
+ "corner-radius": "stroke",
65
+ "crown": "stroke",
66
+ "customize": "stroke",
67
+ "cut": "stroke",
68
+ "dashed-circle": "stroke",
69
+ "database": "stroke",
70
+ "desktop": "stroke",
71
+ "diamond": "stroke",
72
+ "direction-cross": "stroke",
73
+ "direction-opposite": "stroke",
74
+ "dith-drift": "stroke",
75
+ "dith-flow": "stroke",
76
+ "download": "stroke",
77
+ "drag-handle": "solid",
78
+ "drop": "stroke",
79
+ "edit": "stroke",
80
+ "email-01": "stroke",
81
+ "email-02": "stroke",
82
+ "external-link": "stroke",
83
+ "eye-off": "stroke",
84
+ "eye-on": "stroke",
85
+ "eyedrop": "solid",
86
+ "file": "stroke",
87
+ "filter": "stroke",
88
+ "filter-lines": "stroke",
89
+ "fingerprint": "stroke",
90
+ "flag": "stroke",
91
+ "folder": "stroke",
92
+ "font-01": "stroke",
93
+ "foundation": "stroke",
94
+ "frequency": "stroke",
95
+ "globe": "stroke",
96
+ "grid": "stroke",
97
+ "grid-horizontal": "solid",
98
+ "hamburger": "stroke",
99
+ "hash-01": "stroke",
100
+ "hash-02": "stroke",
101
+ "heart": "stroke",
102
+ "highlighter-circle": "solid",
103
+ "home-01": "stroke",
104
+ "home-02": "stroke",
105
+ "image": "stroke",
106
+ "info": "solid",
107
+ "instance-01": "stroke",
108
+ "instance-02": "stroke",
109
+ "italic-a": "stroke",
110
+ "journal": "stroke",
111
+ "kol-ds": "solid",
112
+ "kolkrabbi": "solid",
113
+ "layers": "stroke",
114
+ "layout": "stroke",
115
+ "letter-spacing": "stroke",
116
+ "library": "stroke",
117
+ "line-height": "stroke",
118
+ "lock": "stroke",
119
+ "mask": "solid",
120
+ "maximize": "stroke",
121
+ "message": "stroke",
122
+ "minus": "stroke",
123
+ "mobile": "stroke",
124
+ "mode-toggle-01": "stroke",
125
+ "mode-toggle-02": "stroke",
126
+ "more": "solid",
127
+ "music-note": "stroke",
128
+ "nav-create": "stroke",
129
+ "nav-home": "stroke",
130
+ "nav-library": "stroke",
131
+ "nav-rack": "stroke",
132
+ "nav-settings": "stroke",
133
+ "opacity": "solid",
134
+ "overlap": "stroke",
135
+ "paint-drop": "stroke",
136
+ "panel-left": "stroke",
137
+ "panel-right": "stroke",
138
+ "pause": "solid",
139
+ "pen-nib": "solid",
140
+ "play": "solid",
141
+ "plus": "stroke",
142
+ "pointer": "stroke",
143
+ "polygon": "stroke",
144
+ "ptrn-checker": "solid",
145
+ "ptrn-dot": "solid",
146
+ "pushpin": "solid",
147
+ "rack": "stroke",
148
+ "rectangle": "stroke",
149
+ "refresh": "stroke",
150
+ "repeat": "stroke",
151
+ "resize-auto-h": "stroke",
152
+ "resize-auto-w": "stroke",
153
+ "resize-fixed": "stroke",
154
+ "resize-grip": "stroke",
155
+ "rewind": "stroke",
156
+ "roadmap": "stroke",
157
+ "row": "stroke",
158
+ "rows": "stroke",
159
+ "save": "stroke",
160
+ "scribble": "stroke",
161
+ "search": "stroke",
162
+ "settings-01": "stroke",
163
+ "shield-check": "stroke",
164
+ "skip-back": "stroke",
165
+ "skip-back-15": "stroke",
166
+ "skip-back-bold": "stroke",
167
+ "skip-end": "stroke",
168
+ "skip-forward": "stroke",
169
+ "skip-forward-15": "stroke",
170
+ "skip-forward-bold": "stroke",
171
+ "skip-start": "stroke",
172
+ "slider-01": "solid",
173
+ "slider-02": "solid",
174
+ "social-behance": "solid",
175
+ "social-dribbble": "solid",
176
+ "social-facebook": "solid",
177
+ "social-github": "solid",
178
+ "social-instagram": "solid",
179
+ "social-instagram-2": "solid",
180
+ "social-linkedin": "solid",
181
+ "social-tiktok": "solid",
182
+ "social-twitter": "solid",
183
+ "social-youtube": "solid",
184
+ "speaker": "stroke",
185
+ "square": "stroke",
186
+ "star": "stroke",
187
+ "star-solid": "solid",
188
+ "stat-chart-a": "stroke",
189
+ "stop": "stroke",
190
+ "stopwatch": "stroke",
191
+ "sum": "stroke",
192
+ "swap": "stroke",
193
+ "tablet": "stroke",
194
+ "target": "solid",
195
+ "terminal": "stroke",
196
+ "toggle-overlay": "solid",
197
+ "trash": "stroke",
198
+ "trending-down": "stroke",
199
+ "trending-up": "stroke",
200
+ "triangle": "stroke",
201
+ "trophy": "stroke",
202
+ "type": "solid",
203
+ "type-02": "stroke",
204
+ "underline": "stroke",
205
+ "unlock": "stroke",
206
+ "upload": "stroke",
207
+ "user": "stroke",
208
+ "user-interface": "solid",
209
+ "users": "stroke",
210
+ "variant-01": "stroke",
211
+ "video": "stroke",
212
+ "view-list": "stroke",
213
+ "x": "stroke"
214
+ }
package/src/index.js CHANGED
@@ -10,6 +10,7 @@
10
10
  */
11
11
 
12
12
  export { default as Icon, registerIcons } from './Icon.jsx';
13
+ import CUTS from './cuts.json';
13
14
 
14
15
  /* kol-icon-set-v1 — the curated set, grouped by folder (keys-only, no SVG
15
16
  * content): `{ group: names[] }`. KOL_ICON_SET_V1_NAMES is the flat sorted list. */
@@ -27,6 +28,16 @@ export const KOL_ICON_SET_V1 = (() => {
27
28
 
28
29
  export const KOL_ICON_SET_V1_NAMES = Object.values(KOL_ICON_SET_V1).flat().sort()
29
30
 
31
+ /* Per-glyph META — `{ name: { group, cut } }` (IconSetCut, kol-website 2026-08-27):
32
+ * the set carries how each glyph is DRAWN — `cut: 'stroke' | 'solid'` — so a
33
+ * gallery filters by type without globbing the package's SVGs. The cut is
34
+ * derived from the markup at build (scripts/extract-icon-cuts.mjs → cuts.json,
35
+ * a gate keeps it fresh): `fill="currentColor"` anywhere = solid, else stroke. */
36
+ export const KOL_ICON_SET_V1_META = Object.fromEntries(
37
+ Object.entries(KOL_ICON_SET_V1).flatMap(([group, names]) => names.map((name) => [name, { group, cut: CUTS[name] ?? 'stroke' }])),
38
+ )
39
+ export const getCut = (name) => KOL_ICON_SET_V1_META[name]?.cut ?? null
40
+
30
41
  /* Canonical grouped registry — alias of the v1 index (legacy inventories
31
42
  * ICON_ENTRIES / SOLID_ICON_ENTRIES / ICON_INDEX died with the legacy sets). */
32
43
  export const ICONS = KOL_ICON_SET_V1;