@nice2dev/icons 1.0.0 → 1.0.2

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 (152) hide show
  1. package/CHANGELOG.md +169 -7
  2. package/README.md +247 -2
  3. package/bin/ntd-icons.mjs +732 -0
  4. package/dist/cjs/NtdIconBadge.js +375 -0
  5. package/dist/cjs/NtdIconBadge.js.map +1 -0
  6. package/dist/cjs/NtdIconMorph.js +386 -0
  7. package/dist/cjs/NtdIconMorph.js.map +1 -0
  8. package/dist/cjs/NtdStateMorph.js +177 -0
  9. package/dist/cjs/NtdStateMorph.js.map +1 -0
  10. package/dist/cjs/createIcon.js +51 -4
  11. package/dist/cjs/createIcon.js.map +1 -1
  12. package/dist/cjs/figmaSync.js +308 -0
  13. package/dist/cjs/figmaSync.js.map +1 -0
  14. package/dist/cjs/iconAnalytics.js +189 -0
  15. package/dist/cjs/iconAnalytics.js.map +1 -0
  16. package/dist/cjs/iconMetadata.js +523 -0
  17. package/dist/cjs/iconMetadata.js.map +1 -0
  18. package/dist/cjs/iconStyles.js +597 -0
  19. package/dist/cjs/iconStyles.js.map +1 -0
  20. package/dist/cjs/icons/accessibility.js +168 -0
  21. package/dist/cjs/icons/accessibility.js.map +1 -0
  22. package/dist/cjs/icons/ai.js +191 -0
  23. package/dist/cjs/icons/ai.js.map +1 -0
  24. package/dist/cjs/icons/brand.js +70 -0
  25. package/dist/cjs/icons/brand.js.map +1 -1
  26. package/dist/cjs/icons/education.js +212 -0
  27. package/dist/cjs/icons/education.js.map +1 -0
  28. package/dist/cjs/icons/food.js +198 -0
  29. package/dist/cjs/icons/food.js.map +1 -0
  30. package/dist/cjs/icons/gaming.js +191 -0
  31. package/dist/cjs/icons/gaming.js.map +1 -0
  32. package/dist/cjs/icons/index.js +520 -0
  33. package/dist/cjs/icons/index.js.map +1 -0
  34. package/dist/cjs/icons/legal.js +168 -0
  35. package/dist/cjs/icons/legal.js.map +1 -0
  36. package/dist/cjs/icons/realestate.js +212 -0
  37. package/dist/cjs/icons/realestate.js.map +1 -0
  38. package/dist/cjs/icons/science.js +201 -0
  39. package/dist/cjs/icons/science.js.map +1 -0
  40. package/dist/cjs/icons/sports.js +176 -0
  41. package/dist/cjs/icons/sports.js.map +1 -0
  42. package/dist/cjs/icons/sustainability.js +193 -0
  43. package/dist/cjs/icons/sustainability.js.map +1 -0
  44. package/dist/cjs/icons/travel.js +184 -0
  45. package/dist/cjs/icons/travel.js.map +1 -0
  46. package/dist/cjs/index.js +265 -2
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/lottieIntegration.js +286 -0
  49. package/dist/cjs/lottieIntegration.js.map +1 -0
  50. package/dist/cjs/nicetodev-icons.css +1 -1
  51. package/dist/cjs/particleEffects.js +259 -0
  52. package/dist/cjs/particleEffects.js.map +1 -0
  53. package/dist/cjs/resolver.js +224 -0
  54. package/dist/cjs/resolver.js.map +1 -0
  55. package/dist/cjs/tailwind-plugin.js +340 -0
  56. package/dist/cjs/tailwind-plugin.js.map +1 -0
  57. package/dist/cjs/types.js +38 -0
  58. package/dist/cjs/types.js.map +1 -1
  59. package/dist/cjs/variantProps.js +78 -0
  60. package/dist/cjs/variantProps.js.map +1 -0
  61. package/dist/esm/NtdIconBadge.js +370 -0
  62. package/dist/esm/NtdIconBadge.js.map +1 -0
  63. package/dist/esm/NtdIconMorph.js +381 -0
  64. package/dist/esm/NtdIconMorph.js.map +1 -0
  65. package/dist/esm/NtdStateMorph.js +174 -0
  66. package/dist/esm/NtdStateMorph.js.map +1 -0
  67. package/dist/esm/createIcon.js +53 -6
  68. package/dist/esm/createIcon.js.map +1 -1
  69. package/dist/esm/figmaSync.js +304 -0
  70. package/dist/esm/figmaSync.js.map +1 -0
  71. package/dist/esm/iconAnalytics.js +185 -0
  72. package/dist/esm/iconAnalytics.js.map +1 -0
  73. package/dist/esm/iconMetadata.js +510 -0
  74. package/dist/esm/iconMetadata.js.map +1 -0
  75. package/dist/esm/iconStyles.js +585 -0
  76. package/dist/esm/iconStyles.js.map +1 -0
  77. package/dist/esm/icons/accessibility.js +153 -0
  78. package/dist/esm/icons/accessibility.js.map +1 -0
  79. package/dist/esm/icons/ai.js +174 -0
  80. package/dist/esm/icons/ai.js.map +1 -0
  81. package/dist/esm/icons/brand.js +67 -1
  82. package/dist/esm/icons/brand.js.map +1 -1
  83. package/dist/esm/icons/education.js +193 -0
  84. package/dist/esm/icons/education.js.map +1 -0
  85. package/dist/esm/icons/food.js +180 -0
  86. package/dist/esm/icons/food.js.map +1 -0
  87. package/dist/esm/icons/gaming.js +174 -0
  88. package/dist/esm/icons/gaming.js.map +1 -0
  89. package/dist/esm/icons/index.js +31 -0
  90. package/dist/esm/icons/index.js.map +1 -0
  91. package/dist/esm/icons/legal.js +153 -0
  92. package/dist/esm/icons/legal.js.map +1 -0
  93. package/dist/esm/icons/realestate.js +193 -0
  94. package/dist/esm/icons/realestate.js.map +1 -0
  95. package/dist/esm/icons/science.js +183 -0
  96. package/dist/esm/icons/science.js.map +1 -0
  97. package/dist/esm/icons/sports.js +160 -0
  98. package/dist/esm/icons/sports.js.map +1 -0
  99. package/dist/esm/icons/sustainability.js +176 -0
  100. package/dist/esm/icons/sustainability.js.map +1 -0
  101. package/dist/esm/icons/travel.js +167 -0
  102. package/dist/esm/icons/travel.js.map +1 -0
  103. package/dist/esm/index.js +27 -5
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/lottieIntegration.js +282 -0
  106. package/dist/esm/lottieIntegration.js.map +1 -0
  107. package/dist/esm/nicetodev-icons.css +1 -1
  108. package/dist/esm/particleEffects.js +257 -0
  109. package/dist/esm/particleEffects.js.map +1 -0
  110. package/dist/esm/resolver.js +221 -0
  111. package/dist/esm/resolver.js.map +1 -0
  112. package/dist/esm/tailwind-plugin.js +337 -0
  113. package/dist/esm/tailwind-plugin.js.map +1 -0
  114. package/dist/esm/types.js +37 -1
  115. package/dist/esm/types.js.map +1 -1
  116. package/dist/esm/variantProps.js +68 -0
  117. package/dist/esm/variantProps.js.map +1 -0
  118. package/dist/types/NtdIconBadge.d.ts +209 -0
  119. package/dist/types/NtdIconMorph.d.ts +183 -0
  120. package/dist/types/NtdStateMorph.d.ts +100 -0
  121. package/dist/types/client.d.ts +27 -0
  122. package/dist/types/design-tokens.d.ts +281 -0
  123. package/dist/types/figmaSync.d.ts +135 -0
  124. package/dist/types/headless-ui.d.ts +462 -0
  125. package/dist/types/iconAnalytics.d.ts +131 -0
  126. package/dist/types/iconMetadata.d.ts +123 -0
  127. package/dist/types/iconStyles.d.ts +104 -0
  128. package/dist/types/icons/accessibility.d.ts +39 -0
  129. package/dist/types/icons/ai.d.ts +43 -0
  130. package/dist/types/icons/brand.d.ts +4 -0
  131. package/dist/types/icons/education.d.ts +47 -0
  132. package/dist/types/icons/food.d.ts +45 -0
  133. package/dist/types/icons/gaming.d.ts +42 -0
  134. package/dist/types/icons/index.d.ts +12 -1
  135. package/dist/types/icons/legal.d.ts +39 -0
  136. package/dist/types/icons/realestate.d.ts +47 -0
  137. package/dist/types/icons/science.d.ts +45 -0
  138. package/dist/types/icons/sports.d.ts +41 -0
  139. package/dist/types/icons/sustainability.d.ts +43 -0
  140. package/dist/types/icons/travel.d.ts +43 -0
  141. package/dist/types/index.d.ts +28 -6
  142. package/dist/types/lottieIntegration.d.ts +173 -0
  143. package/dist/types/micro-interactions.d.ts +146 -0
  144. package/dist/types/microInteractions.d.ts +174 -0
  145. package/dist/types/particleEffects.d.ts +69 -0
  146. package/dist/types/resolver.d.ts +58 -0
  147. package/dist/types/rsc.d.ts +159 -0
  148. package/dist/types/tailwind-plugin.d.ts +100 -0
  149. package/dist/types/types.d.ts +100 -0
  150. package/dist/types/utilities.d.ts +221 -0
  151. package/dist/types/variantProps.d.ts +122 -0
  152. package/package.json +58 -5
@@ -0,0 +1,257 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React, { forwardRef, useRef, useState, useCallback, useEffect } from 'react';
3
+ import { SIZE_MAP } from './types.js';
4
+
5
+ /* ────────────────────────────────────────────────────────────────────────────
6
+ PRESET CONFIGURATIONS
7
+ ───────────────────────────────────────────────────────────────────────────── */
8
+ const PRESETS = {
9
+ confetti: {
10
+ count: 40,
11
+ lifetime: 1200,
12
+ shapes: ['rect', 'rect', 'circle'],
13
+ colors: ['#ff6b6b', '#feca57', '#48dbfb', '#ff9ff3', '#54a0ff', '#5f27cd', '#00d2d3', '#1dd1a1'],
14
+ sizeRange: [4, 8],
15
+ velocityRange: [3, 8],
16
+ gravity: 0.15,
17
+ spread: 360,
18
+ fadeOut: 0.8,
19
+ rotationRange: [-10, 10],
20
+ },
21
+ sparkles: {
22
+ count: 15,
23
+ lifetime: 800,
24
+ shapes: ['star', 'circle'],
25
+ colors: ['#ffd700', '#ffec8b', '#fff8dc', '#fffacd'],
26
+ sizeRange: [2, 6],
27
+ velocityRange: [1, 3],
28
+ gravity: -0.05,
29
+ spread: 360,
30
+ fadeOut: 1,
31
+ rotationRange: [-5, 5],
32
+ },
33
+ smoke: {
34
+ count: 20,
35
+ lifetime: 1000,
36
+ shapes: ['circle'],
37
+ colors: ['#94a3b8', '#64748b', '#475569', '#cbd5e1'],
38
+ sizeRange: [4, 12],
39
+ velocityRange: [0.5, 2],
40
+ gravity: -0.08,
41
+ spread: 120,
42
+ fadeOut: 1,
43
+ rotationRange: [0, 0],
44
+ },
45
+ dust: {
46
+ count: 25,
47
+ lifetime: 600,
48
+ shapes: ['circle'],
49
+ colors: ['#d4a574', '#c69c6d', '#b8860b', '#deb887'],
50
+ sizeRange: [2, 5],
51
+ velocityRange: [1, 4],
52
+ gravity: 0.12,
53
+ spread: 180,
54
+ fadeOut: 0.9,
55
+ rotationRange: [-3, 3],
56
+ },
57
+ firework: {
58
+ count: 50,
59
+ lifetime: 1000,
60
+ shapes: ['circle'],
61
+ colors: ['#ff0000', '#ff7700', '#ffff00', '#00ff00', '#0000ff', '#ff00ff'],
62
+ sizeRange: [2, 4],
63
+ velocityRange: [4, 10],
64
+ gravity: 0.2,
65
+ spread: 360,
66
+ fadeOut: 0.9,
67
+ rotationRange: [0, 0],
68
+ },
69
+ hearts: {
70
+ count: 12,
71
+ lifetime: 1200,
72
+ shapes: ['circle'], // drawn as hearts via custom render
73
+ colors: ['#e74c3c', '#ff6b81', '#ff4757', '#ff6348', '#c44569'],
74
+ sizeRange: [6, 12],
75
+ velocityRange: [1, 3],
76
+ gravity: -0.06,
77
+ spread: 120,
78
+ fadeOut: 1,
79
+ rotationRange: [-5, 5],
80
+ },
81
+ stars: {
82
+ count: 15,
83
+ lifetime: 1000,
84
+ shapes: ['star'],
85
+ colors: ['#ffd700', '#ffa500', '#ffec8b', '#f0e68c'],
86
+ sizeRange: [4, 10],
87
+ velocityRange: [2, 5],
88
+ gravity: 0.05,
89
+ spread: 360,
90
+ fadeOut: 0.9,
91
+ rotationRange: [-8, 8],
92
+ },
93
+ };
94
+ function createParticles(config, cx, cy) {
95
+ const particles = [];
96
+ for (let i = 0; i < config.count; i++) {
97
+ const angle = (Math.random() * config.spread - config.spread / 2) * (Math.PI / 180) - Math.PI / 2;
98
+ const speed = config.velocityRange[0] + Math.random() * (config.velocityRange[1] - config.velocityRange[0]);
99
+ particles.push({
100
+ x: cx,
101
+ y: cy,
102
+ vx: Math.cos(angle) * speed,
103
+ vy: Math.sin(angle) * speed,
104
+ size: config.sizeRange[0] + Math.random() * (config.sizeRange[1] - config.sizeRange[0]),
105
+ color: config.colors[Math.floor(Math.random() * config.colors.length)],
106
+ shape: config.shapes[Math.floor(Math.random() * config.shapes.length)],
107
+ rotation: Math.random() * 360,
108
+ rotationSpeed: config.rotationRange[0] + Math.random() * (config.rotationRange[1] - config.rotationRange[0]),
109
+ alpha: 1,
110
+ life: 0,
111
+ maxLife: config.lifetime * (0.6 + Math.random() * 0.4),
112
+ });
113
+ }
114
+ return particles;
115
+ }
116
+ function drawParticle(ctx, p) {
117
+ ctx.save();
118
+ ctx.translate(p.x, p.y);
119
+ ctx.rotate((p.rotation * Math.PI) / 180);
120
+ ctx.globalAlpha = p.alpha;
121
+ ctx.fillStyle = p.color;
122
+ const s = p.size;
123
+ switch (p.shape) {
124
+ case 'circle':
125
+ ctx.beginPath();
126
+ ctx.arc(0, 0, s / 2, 0, Math.PI * 2);
127
+ ctx.fill();
128
+ break;
129
+ case 'rect':
130
+ ctx.fillRect(-s / 2, -s / 4, s, s / 2);
131
+ break;
132
+ case 'triangle':
133
+ ctx.beginPath();
134
+ ctx.moveTo(0, -s / 2);
135
+ ctx.lineTo(s / 2, s / 2);
136
+ ctx.lineTo(-s / 2, s / 2);
137
+ ctx.closePath();
138
+ ctx.fill();
139
+ break;
140
+ case 'star': {
141
+ ctx.beginPath();
142
+ for (let i = 0; i < 5; i++) {
143
+ const outerAngle = (i * 72 - 90) * (Math.PI / 180);
144
+ const innerAngle = ((i * 72 + 36) - 90) * (Math.PI / 180);
145
+ const outer = s / 2;
146
+ const inner = s / 4;
147
+ if (i === 0)
148
+ ctx.moveTo(Math.cos(outerAngle) * outer, Math.sin(outerAngle) * outer);
149
+ else
150
+ ctx.lineTo(Math.cos(outerAngle) * outer, Math.sin(outerAngle) * outer);
151
+ ctx.lineTo(Math.cos(innerAngle) * inner, Math.sin(innerAngle) * inner);
152
+ }
153
+ ctx.closePath();
154
+ ctx.fill();
155
+ break;
156
+ }
157
+ }
158
+ ctx.restore();
159
+ }
160
+ /* ────────────────────────────────────────────────────────────────────────────
161
+ COMPONENT
162
+ ───────────────────────────────────────────────────────────────────────────── */
163
+ const NtdParticleIcon = forwardRef(({ icon: Icon, particle, trigger = 'click', active, size = 'md', iconProps, className, style, onEffectEnd, }, ref) => {
164
+ var _a;
165
+ const containerRef = useRef(null);
166
+ const canvasRef = useRef(null);
167
+ const animRef = useRef(0);
168
+ const [isPlaying, setIsPlaying] = useState(false);
169
+ const resolvedSize = typeof size === 'number' ? size : ((_a = SIZE_MAP[size]) !== null && _a !== void 0 ? _a : 24);
170
+ const config = typeof particle === 'string' ? PRESETS[particle] : particle;
171
+ // Canvas dimensions (larger than icon for particle spread)
172
+ const canvasSize = resolvedSize * 4;
173
+ const canvasOffset = (canvasSize - resolvedSize) / 2;
174
+ const emit = useCallback(() => {
175
+ const canvas = canvasRef.current;
176
+ if (!canvas)
177
+ return;
178
+ const ctx = canvas.getContext('2d');
179
+ if (!ctx)
180
+ return;
181
+ const cx = canvasSize / 2;
182
+ const cy = canvasSize / 2;
183
+ const particles = createParticles(config, cx, cy);
184
+ const startTime = performance.now();
185
+ setIsPlaying(true);
186
+ if (animRef.current)
187
+ cancelAnimationFrame(animRef.current);
188
+ function animate(now) {
189
+ const elapsed = now - startTime;
190
+ ctx.clearRect(0, 0, canvasSize, canvasSize);
191
+ let alive = 0;
192
+ for (const p of particles) {
193
+ p.life = elapsed;
194
+ if (p.life >= p.maxLife)
195
+ continue;
196
+ alive++;
197
+ const progress = p.life / p.maxLife;
198
+ // Physics
199
+ p.x += p.vx;
200
+ p.y += p.vy;
201
+ p.vy += config.gravity;
202
+ p.rotation += p.rotationSpeed;
203
+ p.alpha = 1 - progress * config.fadeOut;
204
+ drawParticle(ctx, p);
205
+ }
206
+ if (alive > 0) {
207
+ animRef.current = requestAnimationFrame(animate);
208
+ }
209
+ else {
210
+ ctx.clearRect(0, 0, canvasSize, canvasSize);
211
+ setIsPlaying(false);
212
+ onEffectEnd === null || onEffectEnd === void 0 ? void 0 : onEffectEnd();
213
+ }
214
+ }
215
+ animRef.current = requestAnimationFrame(animate);
216
+ }, [config, canvasSize, onEffectEnd]);
217
+ // Cleanup on unmount
218
+ useEffect(() => {
219
+ return () => {
220
+ if (animRef.current)
221
+ cancelAnimationFrame(animRef.current);
222
+ };
223
+ }, []);
224
+ // Trigger on mount
225
+ useEffect(() => {
226
+ if (trigger === 'mount')
227
+ emit();
228
+ }, [trigger, emit]);
229
+ // Manual trigger
230
+ useEffect(() => {
231
+ if (trigger === 'manual' && active)
232
+ emit();
233
+ }, [trigger, active, emit]);
234
+ // Forward ref
235
+ React.useImperativeHandle(ref, () => containerRef.current);
236
+ return (jsxs("div", { ref: containerRef, className: className, style: {
237
+ position: 'relative',
238
+ display: 'inline-flex',
239
+ alignItems: 'center',
240
+ justifyContent: 'center',
241
+ width: resolvedSize,
242
+ height: resolvedSize,
243
+ cursor: trigger === 'click' || trigger === 'hover' ? 'pointer' : undefined,
244
+ ...style,
245
+ }, onClick: trigger === 'click' ? emit : undefined, onMouseEnter: trigger === 'hover' ? emit : undefined, children: [jsx(Icon, { size: size, ...iconProps }), jsx("canvas", { ref: canvasRef, width: canvasSize, height: canvasSize, style: {
246
+ position: 'absolute',
247
+ top: -canvasOffset,
248
+ left: -canvasOffset,
249
+ width: canvasSize,
250
+ height: canvasSize,
251
+ pointerEvents: 'none',
252
+ } })] }));
253
+ });
254
+ NtdParticleIcon.displayName = 'NtdParticleIcon';
255
+
256
+ export { NtdParticleIcon };
257
+ //# sourceMappingURL=particleEffects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"particleEffects.js","sources":["../../src/particleEffects.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ import React from 'react';
2
+ import * as index from './icons/index.js';
3
+
4
+ /**
5
+ * resolver.ts — Integration with @nice2dev/ui NiceIconProvider.
6
+ *
7
+ * Creates a resolver function that maps NiceIcon name strings
8
+ * to @nice2dev/icons React components.
9
+ *
10
+ * Usage:
11
+ * ```tsx
12
+ * import { NiceIconProvider } from '@nice2dev/ui';
13
+ * import { createNiceIconResolver } from '@nice2dev/icons';
14
+ *
15
+ * <NiceIconProvider resolver={createNiceIconResolver()}>
16
+ * <App />
17
+ * </NiceIconProvider>
18
+ * ```
19
+ */
20
+ /* ═══════════════════════════════════════════
21
+ Name Mapping
22
+ ═══════════════════════════════════════════ */
23
+ /**
24
+ * Map from NiceIcon names (kebab-case) to Ntd component names.
25
+ * Covers all 78 built-in NiceIcon names + common aliases.
26
+ */
27
+ const NAME_MAP = {
28
+ // Navigation
29
+ 'chevron-up': 'NtdChevronUp',
30
+ 'chevron-down': 'NtdChevronDown',
31
+ 'chevron-left': 'NtdChevronLeft',
32
+ 'chevron-right': 'NtdChevronRight',
33
+ 'arrow-up': 'NtdArrowUp',
34
+ 'arrow-down': 'NtdArrowDown',
35
+ 'arrow-left': 'NtdArrowLeft',
36
+ 'arrow-right': 'NtdArrowRight',
37
+ 'menu': 'NtdMenu',
38
+ 'more-horizontal': 'NtdMoreHorizontal',
39
+ 'more-vertical': 'NtdMoreVertical',
40
+ 'external-link': 'NtdExternalLink',
41
+ 'refresh': 'NtdRefresh',
42
+ // Actions
43
+ 'close': 'NtdClose',
44
+ 'plus': 'NtdPlus',
45
+ 'minus': 'NtdMinus',
46
+ 'check': 'NtdCheck',
47
+ 'edit': 'NtdEdit',
48
+ 'trash': 'NtdTrash',
49
+ 'copy': 'NtdCopy',
50
+ 'download': 'NtdDownload',
51
+ 'upload': 'NtdUpload',
52
+ 'search': 'NtdSearch',
53
+ 'filter': 'NtdFilter',
54
+ 'sort': 'NtdSort',
55
+ 'sort-asc': 'NtdSort',
56
+ 'sort-desc': 'NtdSort',
57
+ 'settings': 'NtdSettings',
58
+ 'eye': 'NtdEye',
59
+ 'eye-off': 'NtdEyeOff',
60
+ 'lock': 'NtdLock',
61
+ 'unlock': 'NtdUnlock',
62
+ 'save': 'NtdSave',
63
+ 'share': 'NtdShare',
64
+ 'clipboard': 'NtdClipboard',
65
+ 'print': 'NtdPrint',
66
+ 'zoom-in': 'NtdZoomIn',
67
+ 'zoom-out': 'NtdZoomOut',
68
+ 'undo': 'NtdUndo',
69
+ 'redo': 'NtdRedo',
70
+ 'link': 'NtdLink',
71
+ 'login': 'NtdLogIn',
72
+ 'logout': 'NtdLogOut',
73
+ // Status
74
+ 'info': 'NtdInfo',
75
+ 'warning': 'NtdWarning',
76
+ 'error': 'NtdError',
77
+ 'success': 'NtdSuccess',
78
+ 'help': 'NtdHelp',
79
+ // Content
80
+ 'calendar': 'NtdCalendar',
81
+ 'clock': 'NtdClock',
82
+ 'file': 'NtdFile',
83
+ 'file-text': 'NtdFileText',
84
+ 'folder': 'NtdFolder',
85
+ 'folder-open': 'NtdFolderOpen',
86
+ 'image': 'NtdImage',
87
+ 'link-2': 'NtdLink',
88
+ 'mail': 'NtdMail',
89
+ 'phone': 'NtdPhone',
90
+ 'user': 'NtdUser',
91
+ 'users': 'NtdUsers',
92
+ 'home': 'NtdHome',
93
+ 'star': 'NtdStar',
94
+ 'heart': 'NtdHeart',
95
+ 'bell': 'NtdBell',
96
+ 'grip': 'NtdGrid',
97
+ 'tag': 'NtdTag',
98
+ 'bookmark': 'NtdBookmark',
99
+ 'flag': 'NtdFlag',
100
+ 'globe': 'NtdGlobe',
101
+ 'map': 'NtdMap',
102
+ 'pin': 'NtdPin',
103
+ 'shield': 'NtdShield',
104
+ // Media
105
+ 'play': 'NtdPlay',
106
+ 'pause': 'NtdPause',
107
+ 'stop': 'NtdStop',
108
+ 'skip-forward': 'NtdSkipForward',
109
+ 'skip-back': 'NtdSkipBack',
110
+ 'volume': 'NtdVolume',
111
+ 'volume-mute': 'NtdVolumeMute',
112
+ 'camera': 'NtdCamera',
113
+ 'video': 'NtdVideo',
114
+ 'microphone': 'NtdMicrophone',
115
+ 'music': 'NtdMusic',
116
+ 'palette': 'NtdPalette',
117
+ // Misc
118
+ 'expand': 'NtdMaximize',
119
+ 'collapse': 'NtdMinimize',
120
+ 'database': 'NtdDatabase',
121
+ 'cloud': 'NtdCloud',
122
+ 'terminal': 'NtdTerminal',
123
+ 'code': 'NtdCode',
124
+ 'git': 'NtdGit',
125
+ 'package': 'NtdPackage',
126
+ 'layers': 'NtdLayers',
127
+ 'grid': 'NtdGrid',
128
+ 'list': 'NtdList',
129
+ 'table': 'NtdTable',
130
+ 'monitor': 'NtdMonitor',
131
+ 'cpu': 'NtdCpu',
132
+ 'zap': 'NtdZap',
133
+ 'key': 'NtdKey',
134
+ 'award': 'NtdAward',
135
+ 'coffee': 'NtdCoffee',
136
+ 'cart': 'NtdCart',
137
+ 'credit-card': 'NtdCreditCard',
138
+ 'pie-chart': 'NtdPieChart',
139
+ 'bar-chart': 'NtdBarChart',
140
+ 'activity': 'NtdActivity',
141
+ 'target': 'NtdTarget',
142
+ 'sun': 'NtdSun',
143
+ 'moon': 'NtdMoon',
144
+ 'cursor': 'NtdCursor',
145
+ // Common aliases
146
+ 'delete': 'NtdTrash',
147
+ 'remove': 'NtdClose',
148
+ 'add': 'NtdPlus',
149
+ 'x': 'NtdClose',
150
+ 'pencil': 'NtdEdit',
151
+ 'cog': 'NtdSettings',
152
+ 'gear': 'NtdSettings',
153
+ 'magnify': 'NtdSearch',
154
+ 'bell-ring': 'NtdBellRing',
155
+ 'chat': 'NtdChat',
156
+ 'send': 'NtdSend',
157
+ 'notification': 'NtdNotification',
158
+ 'dashboard': 'NtdDashboard',
159
+ 'analytics': 'NtdAnalytics',
160
+ 'rocket': 'NtdRocket',
161
+ };
162
+ /** Build lookup of component references keyed by component name */
163
+ const iconComponents = index;
164
+ /* ═══════════════════════════════════════════
165
+ Resolver Factory
166
+ ═══════════════════════════════════════════ */
167
+ /**
168
+ * Creates a resolver function compatible with NiceIconProvider from @nice2dev/ui.
169
+ *
170
+ * @example
171
+ * ```tsx
172
+ * import { NiceIconProvider } from '@nice2dev/ui';
173
+ * import { createNiceIconResolver } from '@nice2dev/icons';
174
+ *
175
+ * // Basic usage
176
+ * <NiceIconProvider resolver={createNiceIconResolver()}>
177
+ * <NiceIcon name="home" size="lg" />
178
+ * </NiceIconProvider>
179
+ *
180
+ * // With options
181
+ * <NiceIconProvider resolver={createNiceIconResolver({
182
+ * variant: 'duotone',
183
+ * primaryColor: '#3b82f6',
184
+ * secondaryColor: '#e0e7ff',
185
+ * })}>
186
+ * <App />
187
+ * </NiceIconProvider>
188
+ * ```
189
+ */
190
+ function createNiceIconResolver(options = {}) {
191
+ const { variant = 'outline', primaryColor, secondaryColor, customMappings = {}, fallback, } = options;
192
+ const mergedMap = { ...NAME_MAP, ...customMappings };
193
+ return (name, size) => {
194
+ // 1. Try direct name mapping
195
+ const componentName = mergedMap[name];
196
+ // 2. Try PascalCase conversion: "arrow-up" → "NtdArrowUp"
197
+ const pascalized = componentName !== null && componentName !== void 0 ? componentName : `Ntd${name.split('-').map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join('')}`;
198
+ const IconComponent = iconComponents[pascalized];
199
+ if (!IconComponent) {
200
+ if (fallback) {
201
+ return React.createElement(fallback, { size, variant, primaryColor, secondaryColor });
202
+ }
203
+ return undefined;
204
+ }
205
+ const props = { size, variant };
206
+ if (primaryColor)
207
+ props.primaryColor = primaryColor;
208
+ if (secondaryColor)
209
+ props.secondaryColor = secondaryColor;
210
+ return React.createElement(IconComponent, props);
211
+ };
212
+ }
213
+ /**
214
+ * Get a list of all available icon names that can be resolved.
215
+ */
216
+ function getResolverIconNames() {
217
+ return Object.keys(NAME_MAP);
218
+ }
219
+
220
+ export { createNiceIconResolver, getResolverIconNames };
221
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sources":["../../src/resolver.ts"],"sourcesContent":[null],"names":["allIcons"],"mappings":"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"}