@kolkrabbi/kol-icons 0.44.0 → 0.46.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.44.0",
3
+ "version": "0.46.0",
4
4
  "description": "The icon loader and icon sets",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/src/Icon.jsx CHANGED
@@ -57,8 +57,9 @@ const useIconsReady = () => {
57
57
 
58
58
  /* Consumer-registered icons — a repo brings its OWN svg folder and registers it,
59
59
  * so <Icon name> resolves app-specific icons that never ship in the package. They
60
- * win over the packaged set (a repo can also override a shared icon). Resolves
61
- * synchronously, so custom icons render without waiting on the packaged chunk. */
60
+ * fill the names the packaged set has none for and NEVER override a shipped name
61
+ * (2026-10-24; they used to win). Resolves synchronously, so custom icons render
62
+ * without waiting on the packaged chunk. */
62
63
  const CUSTOM = Object.create(null)
63
64
 
64
65
  /**
@@ -95,11 +96,23 @@ export const registerIcons = (globMap) => {
95
96
  * rack → rack-v (2026-10-09: beside the new rack-h) */
96
97
  export const RENAMED_ICONS = { customize: 'nav-settings', 'user-interface': 'metrics', rack: 'rack-v' }
97
98
 
99
+ /* A REGISTERED GLYPH NEVER OVERRIDES A DS NAME (user 2026-10-24: kol-mirror registered its own set over the resolver and
100
+ * its `refresh` replaced the DS's in the settings rail's reset — *"how can it register its own in a FIXED PRESET OF
101
+ * SETTINGS?"*). The packaged sets win for every name they ship; a consumer's glyph resolves only for names the DS has
102
+ * none for. Before the packaged chunk lands a colliding custom glyph may paint once; the DS's takes over on load.
103
+ * Dev warns once per overridden name, so a collision is seen, not silently lost. */
104
+ const overridden = new Set()
98
105
  const resolveIcon = (name) => {
99
- if (CUSTOM[name]) return CUSTOM[name]
100
- if (!ICONS) return undefined
101
106
  const n = RENAMED_ICONS[name] ?? name
102
- return ICONS.V1[n] ?? ICONS.SIGNAL[n]
107
+ const shipped = ICONS ? (ICONS.V1[n] ?? ICONS.SIGNAL[n]) : undefined
108
+ if (shipped) {
109
+ if (CUSTOM[name] && import.meta.env?.DEV && !overridden.has(name)) {
110
+ overridden.add(name)
111
+ console.warn(`kol-icons: "${name}" is a DS glyph — the registered one is ignored (a registration never overrides a shipped name, 2026-10-24). Register it under another name if it is a different drawing.`)
112
+ }
113
+ return shipped
114
+ }
115
+ return CUSTOM[name]
103
116
  }
104
117
 
105
118
  const normalizeSize = (value) => {
package/src/cuts.json CHANGED
@@ -37,6 +37,7 @@
37
37
  "atomic-molecule-01": "stroke",
38
38
  "atomic-molecule-02": "stroke",
39
39
  "atomic-molecule-03": "stroke",
40
+ "atomic-molecule-04": "stroke",
40
41
  "atomic-organism-01": "stroke",
41
42
  "atomic-organism-02": "stroke",
42
43
  "atomic-organism-03": "stroke",
@@ -195,6 +196,7 @@
195
196
  "metrics": "solid",
196
197
  "minus": "stroke",
197
198
  "mirror": "solid",
199
+ "mirror-mir": "solid",
198
200
  "mobile": "stroke",
199
201
  "mode-toggle-01": "stroke",
200
202
  "mode-toggle-02": "stroke",
@@ -224,6 +226,7 @@
224
226
  "ptrn-stripe": "stroke",
225
227
  "pushpin": "solid",
226
228
  "r2b2": "solid",
229
+ "rabbit": "stroke",
227
230
  "rack-h": "stroke",
228
231
  "rack-v": "stroke",
229
232
  "radial-circle": "stroke",
@@ -237,6 +240,7 @@
237
240
  "ramp-tri": "stroke",
238
241
  "ramp-up": "stroke",
239
242
  "rectangle": "stroke",
243
+ "redo": "stroke",
240
244
  "refresh": "stroke",
241
245
  "repeat": "stroke",
242
246
  "resize-auto-h": "stroke",
@@ -336,6 +340,7 @@
336
340
  "type": "solid",
337
341
  "type-02": "stroke",
338
342
  "underline": "stroke",
343
+ "undo": "stroke",
339
344
  "unlock": "stroke",
340
345
  "upload": "stroke",
341
346
  "user": "stroke",
@@ -344,6 +349,7 @@
344
349
  "video": "stroke",
345
350
  "video-off": "stroke",
346
351
  "view-list": "stroke",
352
+ "wave": "stroke",
347
353
  "wave-rnd": "stroke",
348
354
  "wave-saw": "stroke",
349
355
  "wave-sin": "stroke",
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g transform="translate(3 3) scale(0.75)"><clipPath id="kol-mirror-mir-t"><rect x="-4" y="-1.00" width="32" height="13"/></clipPath><clipPath id="kol-mirror-mir-b"><rect x="-4" y="12.00" width="32" height="13"/></clipPath><g clip-path="url(#kol-mirror-mir-t)" transform="translate(-1 0)"><path d="M1.671 0L1.663-5.061C1.663-6.191 1.631-7.368 1.568-8.657L1.743-8.673L2.435 0L4.130 0L4.878-8.657L5.061-8.649C4.981-7.352 4.941-6.191 4.933-5.061L4.894 0L6.413 0L6.413-11.140L3.939-11.140L3.573-6.668C3.525-6.047 3.453-4.599 3.382-2.156L3.215-2.156C3.127-4.599 3.048-6.055 2.992-6.684L2.602-11.140L0.255-11.140L0.255 0" transform="translate(0.768 23.700) scale(1.4613 2.1005)" fill="currentColor"/><path d="M1.759 0L1.759-11.140L0.255-11.140L0.255 0" transform="translate(10.786 23.700) scale(2.1005)" fill="currentColor"/><path d="M1.759 0L1.759-5.347L1.822-5.347C2.164-5.347 2.260-5.204 2.284-3.788L2.308-2.371C2.331-0.947 2.371-0.501 2.459 0L4.058 0L4.090-0.159C3.915-0.390 3.859-0.851 3.811-2.379L3.764-3.899C3.716-5.427 3.517-5.737 2.920-5.888L2.920-6.008C3.541-6.230 3.851-6.803 3.851-7.782L3.851-9.143C3.851-10.488 3.270-11.140 2.069-11.140L0.255-11.140L0.255 0M1.759-9.978L1.910-9.978C2.228-9.978 2.339-9.819 2.339-9.310L2.339-7.169C2.339-6.676 2.228-6.509 1.910-6.509L1.759-6.509" transform="translate(15.182 23.700) scale(1.8773 2.1005)" fill="currentColor"/></g><g clip-path="url(#kol-mirror-mir-b)" transform="translate(1 0)"><path d="M1.671 0L1.663-5.061C1.663-6.191 1.631-7.368 1.568-8.657L1.743-8.673L2.435 0L4.130 0L4.878-8.657L5.061-8.649C4.981-7.352 4.941-6.191 4.933-5.061L4.894 0L6.413 0L6.413-11.140L3.939-11.140L3.573-6.668C3.525-6.047 3.453-4.599 3.382-2.156L3.215-2.156C3.127-4.599 3.048-6.055 2.992-6.684L2.602-11.140L0.255-11.140L0.255 0" transform="translate(0.768 23.700) scale(1.4613 2.1005)" fill="currentColor"/><path d="M1.759 0L1.759-11.140L0.255-11.140L0.255 0" transform="translate(10.786 23.700) scale(2.1005)" fill="currentColor"/><path d="M1.759 0L1.759-5.347L1.822-5.347C2.164-5.347 2.260-5.204 2.284-3.788L2.308-2.371C2.331-0.947 2.371-0.501 2.459 0L4.058 0L4.090-0.159C3.915-0.390 3.859-0.851 3.811-2.379L3.764-3.899C3.716-5.427 3.517-5.737 2.920-5.888L2.920-6.008C3.541-6.230 3.851-6.803 3.851-7.782L3.851-9.143C3.851-10.488 3.270-11.140 2.069-11.140L0.255-11.140L0.255 0M1.759-9.978L1.910-9.978C2.228-9.978 2.339-9.819 2.339-9.310L2.339-7.169C2.339-6.676 2.228-6.509 1.910-6.509L1.759-6.509" transform="translate(15.182 23.700) scale(1.8773 2.1005)" fill="currentColor"/></g></g>
3
+ </svg>
@@ -1,3 +1,3 @@
1
1
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g transform="translate(3 3) scale(0.75)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 12.000) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 12.000) scale(0.8374)" fill="currentColor"/><clipPath id="kol-mirror-t"><rect x="-4" y="5.48" width="32" height="13"/></clipPath><clipPath id="kol-mirror-b"><rect x="-4" y="18.48" width="32" height="13"/></clipPath><g clip-path="url(#kol-mirror-t)" transform="translate(-1 0)"><g transform="translate(0 36.951) scale(1 -1)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 23.140) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 23.140) scale(0.8374)" fill="currentColor"/></g></g><g clip-path="url(#kol-mirror-b)" transform="translate(1 0)"><g transform="translate(0 36.951) scale(1 -1)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 23.140) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 23.140) scale(0.8374)" fill="currentColor"/></g></g></g>
2
+ <g transform="translate(3 3) scale(0.75)"><g transform="translate(-0.142 -2.754) scale(1.0118 1.1432)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 12.000) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 12.000) scale(0.8374)" fill="currentColor"/><clipPath id="kol-mirror-t"><rect x="-4" y="5.48" width="32" height="13"/></clipPath><clipPath id="kol-mirror-b"><rect x="-4" y="18.48" width="32" height="13"/></clipPath><g clip-path="url(#kol-mirror-t)" transform="translate(-1 0)"><g transform="translate(0 36.951) scale(1 -1)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 23.140) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 23.140) scale(0.8374)" fill="currentColor"/></g></g><g clip-path="url(#kol-mirror-b)" transform="translate(1 0)"><g transform="translate(0 36.951) scale(1 -1)"><path d="M4.146 0L4.146-4.146C4.146-4.830 4.122-5.506 4.042-6.461L4.209-6.485L6.445 0L8.960 0L11.196-6.485L11.355-6.461C11.267-5.506 11.251-4.830 11.251-4.146L11.251 0L14.721 0L14.721-11.140L10.400-11.140L8.689-6.803C8.450-6.207 8.156-5.307 7.814-4.082L7.647-4.082C7.321-5.307 7.026-6.191 6.787-6.803L5.037-11.140L0.684-11.140L0.684 0" transform="translate(0.567 23.140) scale(0.8374)" fill="currentColor"/><path d="M4.273 0L4.273-4.201L5.530-4.201C6.469-4.201 6.732-3.819 6.931-2.817L7.122-1.814C7.321-0.812 7.456-0.342 7.695 0L11.554 0L11.586-0.223C11.220-0.493 10.997-0.907 10.710-2.061L10.416-3.215C10.121-4.376 9.724-4.774 8.705-5.045L8.705-5.204C10.249-5.427 11.045-6.310 11.045-7.878L11.045-7.909C11.045-10.034 9.620-11.140 6.795-11.140L0.684-11.140L0.684 0M4.273-8.769L6.135-8.769C7.018-8.769 7.448-8.450 7.448-7.591L7.448-7.567C7.448-6.716 7.010-6.405 6.119-6.405L4.273-6.405" transform="translate(13.158 23.140) scale(0.8374)" fill="currentColor"/></g></g></g></g>
3
3
  </svg>