@nice2dev/icons 1.0.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 (132) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/LICENSE +21 -0
  3. package/README.md +581 -0
  4. package/dist/cjs/NiceIconPicker.js +387 -0
  5. package/dist/cjs/NiceIconPicker.js.map +1 -0
  6. package/dist/cjs/NiceVectorEditor.js +675 -0
  7. package/dist/cjs/NiceVectorEditor.js.map +1 -0
  8. package/dist/cjs/animationControls.js +690 -0
  9. package/dist/cjs/animationControls.js.map +1 -0
  10. package/dist/cjs/createIcon.js +142 -0
  11. package/dist/cjs/createIcon.js.map +1 -0
  12. package/dist/cjs/figmaExport.js +288 -0
  13. package/dist/cjs/figmaExport.js.map +1 -0
  14. package/dist/cjs/icons/actions.js +257 -0
  15. package/dist/cjs/icons/actions.js.map +1 -0
  16. package/dist/cjs/icons/brand.js +128 -0
  17. package/dist/cjs/icons/brand.js.map +1 -0
  18. package/dist/cjs/icons/business.js +228 -0
  19. package/dist/cjs/icons/business.js.map +1 -0
  20. package/dist/cjs/icons/devtech.js +374 -0
  21. package/dist/cjs/icons/devtech.js.map +1 -0
  22. package/dist/cjs/icons/ecommerce.js +171 -0
  23. package/dist/cjs/icons/ecommerce.js.map +1 -0
  24. package/dist/cjs/icons/files.js +286 -0
  25. package/dist/cjs/icons/files.js.map +1 -0
  26. package/dist/cjs/icons/fintech.js +151 -0
  27. package/dist/cjs/icons/fintech.js.map +1 -0
  28. package/dist/cjs/icons/fun.js +124 -0
  29. package/dist/cjs/icons/fun.js.map +1 -0
  30. package/dist/cjs/icons/health.js +132 -0
  31. package/dist/cjs/icons/health.js.map +1 -0
  32. package/dist/cjs/icons/media.js +219 -0
  33. package/dist/cjs/icons/media.js.map +1 -0
  34. package/dist/cjs/icons/navigation.js +147 -0
  35. package/dist/cjs/icons/navigation.js.map +1 -0
  36. package/dist/cjs/icons/saas.js +141 -0
  37. package/dist/cjs/icons/saas.js.map +1 -0
  38. package/dist/cjs/icons/shapes.js +205 -0
  39. package/dist/cjs/icons/shapes.js.map +1 -0
  40. package/dist/cjs/icons/smarthome.js +141 -0
  41. package/dist/cjs/icons/smarthome.js.map +1 -0
  42. package/dist/cjs/icons/social.js +159 -0
  43. package/dist/cjs/icons/social.js.map +1 -0
  44. package/dist/cjs/icons/ui.js +262 -0
  45. package/dist/cjs/icons/ui.js.map +1 -0
  46. package/dist/cjs/icons/weather.js +187 -0
  47. package/dist/cjs/icons/weather.js.map +1 -0
  48. package/dist/cjs/index.js +362 -0
  49. package/dist/cjs/index.js.map +1 -0
  50. package/dist/cjs/nicetodev-icons.css +1 -0
  51. package/dist/cjs/smilAnimations.js +182 -0
  52. package/dist/cjs/smilAnimations.js.map +1 -0
  53. package/dist/cjs/types.js +47 -0
  54. package/dist/cjs/types.js.map +1 -0
  55. package/dist/esm/NiceIconPicker.js +385 -0
  56. package/dist/esm/NiceIconPicker.js.map +1 -0
  57. package/dist/esm/NiceVectorEditor.js +673 -0
  58. package/dist/esm/NiceVectorEditor.js.map +1 -0
  59. package/dist/esm/animationControls.js +680 -0
  60. package/dist/esm/animationControls.js.map +1 -0
  61. package/dist/esm/createIcon.js +140 -0
  62. package/dist/esm/createIcon.js.map +1 -0
  63. package/dist/esm/figmaExport.js +279 -0
  64. package/dist/esm/figmaExport.js.map +1 -0
  65. package/dist/esm/icons/actions.js +231 -0
  66. package/dist/esm/icons/actions.js.map +1 -0
  67. package/dist/esm/icons/brand.js +124 -0
  68. package/dist/esm/icons/brand.js.map +1 -0
  69. package/dist/esm/icons/business.js +209 -0
  70. package/dist/esm/icons/business.js.map +1 -0
  71. package/dist/esm/icons/devtech.js +342 -0
  72. package/dist/esm/icons/devtech.js.map +1 -0
  73. package/dist/esm/icons/ecommerce.js +154 -0
  74. package/dist/esm/icons/ecommerce.js.map +1 -0
  75. package/dist/esm/icons/files.js +254 -0
  76. package/dist/esm/icons/files.js.map +1 -0
  77. package/dist/esm/icons/fintech.js +136 -0
  78. package/dist/esm/icons/fintech.js.map +1 -0
  79. package/dist/esm/icons/fun.js +110 -0
  80. package/dist/esm/icons/fun.js.map +1 -0
  81. package/dist/esm/icons/health.js +118 -0
  82. package/dist/esm/icons/health.js.map +1 -0
  83. package/dist/esm/icons/media.js +195 -0
  84. package/dist/esm/icons/media.js.map +1 -0
  85. package/dist/esm/icons/navigation.js +132 -0
  86. package/dist/esm/icons/navigation.js.map +1 -0
  87. package/dist/esm/icons/saas.js +127 -0
  88. package/dist/esm/icons/saas.js.map +1 -0
  89. package/dist/esm/icons/shapes.js +182 -0
  90. package/dist/esm/icons/shapes.js.map +1 -0
  91. package/dist/esm/icons/smarthome.js +127 -0
  92. package/dist/esm/icons/smarthome.js.map +1 -0
  93. package/dist/esm/icons/social.js +150 -0
  94. package/dist/esm/icons/social.js.map +1 -0
  95. package/dist/esm/icons/ui.js +233 -0
  96. package/dist/esm/icons/ui.js.map +1 -0
  97. package/dist/esm/icons/weather.js +166 -0
  98. package/dist/esm/icons/weather.js.map +1 -0
  99. package/dist/esm/index.js +25 -0
  100. package/dist/esm/index.js.map +1 -0
  101. package/dist/esm/nicetodev-icons.css +1 -0
  102. package/dist/esm/smilAnimations.js +176 -0
  103. package/dist/esm/smilAnimations.js.map +1 -0
  104. package/dist/esm/types.js +44 -0
  105. package/dist/esm/types.js.map +1 -0
  106. package/dist/types/NiceIconPicker.d.ts +149 -0
  107. package/dist/types/NiceVectorEditor.d.ts +75 -0
  108. package/dist/types/animationControls.d.ts +307 -0
  109. package/dist/types/createIcon.d.ts +76 -0
  110. package/dist/types/figmaExport.d.ts +243 -0
  111. package/dist/types/icons/actions.d.ts +25 -0
  112. package/dist/types/icons/brand.d.ts +3 -0
  113. package/dist/types/icons/business.d.ts +25 -0
  114. package/dist/types/icons/devtech.d.ts +39 -0
  115. package/dist/types/icons/ecommerce.d.ts +16 -0
  116. package/dist/types/icons/files.d.ts +31 -0
  117. package/dist/types/icons/fintech.d.ts +14 -0
  118. package/dist/types/icons/fun.d.ts +13 -0
  119. package/dist/types/icons/health.d.ts +14 -0
  120. package/dist/types/icons/index.d.ts +17 -0
  121. package/dist/types/icons/media.d.ts +23 -0
  122. package/dist/types/icons/navigation.d.ts +14 -0
  123. package/dist/types/icons/saas.d.ts +13 -0
  124. package/dist/types/icons/shapes.d.ts +22 -0
  125. package/dist/types/icons/smarthome.d.ts +13 -0
  126. package/dist/types/icons/social.d.ts +18 -0
  127. package/dist/types/icons/ui.d.ts +28 -0
  128. package/dist/types/icons/weather.d.ts +20 -0
  129. package/dist/types/index.d.ts +69 -0
  130. package/dist/types/smilAnimations.d.ts +102 -0
  131. package/dist/types/types.d.ts +179 -0
  132. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationControls.js","sources":["../../src/animationControls.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useId } from 'react';
3
+ import { SIZE_MAP, GRADIENT_PRESETS } from './types.js';
4
+ import { generateSmilAnimation } from './smilAnimations.js';
5
+
6
+ /**
7
+ * Factory function that creates a React icon component from SVG path renderers.
8
+ *
9
+ * Returns a `React.forwardRef` component that accepts {@link NtdIconProps} and
10
+ * renders an accessible `<svg>` element with the correct variant, colors,
11
+ * size, animation class, and ARIA attributes.
12
+ *
13
+ * @param options - Icon configuration (display name, viewBox, variant renderers).
14
+ * @returns A `ForwardRefExoticComponent` ready for use as `<NtdMyIcon />`.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * import { createIcon } from '@nicetodev/icons';
19
+ *
20
+ * export const NtdStar = createIcon({
21
+ * displayName: 'NtdStar',
22
+ * paths: {
23
+ * solid: ({ primaryColor }) => <path d="M12 2l3 7h7l-5.5 4 2 7L12 16l-6.5 4 2-7L2 9h7z" fill={primaryColor} />,
24
+ * outline: ({ primaryColor, strokeWidth }) => <path d="..." stroke={primaryColor} strokeWidth={strokeWidth} fill="none" />,
25
+ * duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (
26
+ * <>
27
+ * <path d="..." fill={secondaryColor} opacity={secondaryOpacity} />
28
+ * <path d="..." stroke={primaryColor} fill="none" />
29
+ * </>
30
+ * ),
31
+ * flat: ({ primaryColor, secondaryColor }) => (
32
+ * <>
33
+ * <rect x="2" y="2" width="20" height="20" rx="4" fill={secondaryColor} />
34
+ * <path d="..." fill={primaryColor} />
35
+ * </>
36
+ * ),
37
+ * },
38
+ * });
39
+ * ```
40
+ */
41
+ /* ── Gradient helper ───────────────────────────────── */
42
+ function renderGradientDef(id, preset, type, angle, animation) {
43
+ const stops = GRADIENT_PRESETS[preset];
44
+ if (!stops)
45
+ return null;
46
+ const stopEls = stops.map((color, i) => {
47
+ const offset = `${Math.round((i / (stops.length - 1)) * 100)}%`;
48
+ const nextColor = stops[(i + 1) % stops.length];
49
+ if (animation === 'pulse') {
50
+ return (jsx("stop", { offset: offset, stopColor: color, children: jsx("animate", { attributeName: "stop-color", values: `${color};${nextColor};${color}`, dur: "3s", repeatCount: "indefinite" }) }, i));
51
+ }
52
+ return jsx("stop", { offset: offset, stopColor: color }, i);
53
+ });
54
+ if (type === 'radial') {
55
+ return (jsx("radialGradient", { id: id, cx: "50%", cy: "50%", r: "50%", children: stopEls }));
56
+ }
57
+ // Linear gradient: use gradientTransform for angle
58
+ const animateEls = [];
59
+ if (animation === 'spin') {
60
+ animateEls.push(jsx("animateTransform", { attributeName: "gradientTransform", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "3s", repeatCount: "indefinite" }, "spin"));
61
+ }
62
+ if (animation === 'shift') {
63
+ animateEls.push(jsx("animate", { attributeName: "x1", values: "-24;24;-24", dur: "3s", repeatCount: "indefinite" }, "shift-x1"), jsx("animate", { attributeName: "x2", values: "0;48;0", dur: "3s", repeatCount: "indefinite" }, "shift-x2"));
64
+ }
65
+ return (jsxs("linearGradient", { id: id, x1: "0", y1: "0", x2: "24", y2: "0", gradientUnits: "userSpaceOnUse", gradientTransform: animation === 'spin' ? undefined : `rotate(${angle}, 12, 12)`, children: [stopEls, animateEls] }));
66
+ }
67
+ /* ── 3D filter helper ───────────────────────────────── */
68
+ function render3dFilterDef(filterId) {
69
+ return (jsxs("filter", { id: filterId, x: "-20%", y: "-20%", width: "140%", height: "140%", children: [jsx("feDropShadow", { dx: "0", dy: "1.5", stdDeviation: "1", floodOpacity: "0.35" }), jsxs("feComponentTransfer", { in: "SourceGraphic", result: "highlight", children: [jsx("feFuncR", { type: "linear", slope: "1.2", intercept: "0.1" }), jsx("feFuncG", { type: "linear", slope: "1.2", intercept: "0.1" }), jsx("feFuncB", { type: "linear", slope: "1.2", intercept: "0.1" })] }), jsx("feComposite", { operator: "in", in: "highlight", in2: "SourceGraphic", result: "highlightMask" }), jsx("feMerge", { children: jsx("feMergeNode", { in: "SourceGraphic" }) })] }));
70
+ }
71
+ function createIcon(options) {
72
+ const { displayName, viewBox = '0 0 24 24', paths } = options;
73
+ const Icon = forwardRef(({ size = 'md', variant = 'solid', primaryColor = 'currentColor', secondaryColor, accentColor, primaryOpacity = 1, secondaryOpacity = 0.4, accentOpacity = 1, strokeWidth = 2, strokeLinecap: propLinecap, strokeLinejoin: propLinejoin, animation, animationDuration, smilAnimation, smilDuration = 1, smilRepeatCount = 'indefinite', smilEasing = 'ease-in-out', smilDelay = 0, gradient, gradientType = 'linear', gradientAngle = 135, gradientAnimation, title, className, style, ...rest }, ref) => {
74
+ var _a, _b, _c, _d, _e, _f;
75
+ const resolvedSize = typeof size === 'number' ? size : ((_a = SIZE_MAP[size]) !== null && _a !== void 0 ? _a : 24);
76
+ const gradId = useId();
77
+ const center = { x: 12, y: 12 }; // Default center for 24x24 viewBox
78
+ const resolvedSecondary = secondaryColor !== null && secondaryColor !== void 0 ? secondaryColor : primaryColor;
79
+ const resolvedAccent = accentColor !== null && accentColor !== void 0 ? accentColor : '#ffffff';
80
+ const effectivePrimary = gradient ? `url(#${gradId})` : primaryColor;
81
+ // Sharp variant uses square line caps and mitered joins
82
+ const strokeLinecap = variant === 'sharp' ? 'square' : (propLinecap !== null && propLinecap !== void 0 ? propLinecap : 'round');
83
+ const strokeLinejoin = variant === 'sharp' ? 'miter' : (propLinejoin !== null && propLinejoin !== void 0 ? propLinejoin : 'round');
84
+ // Mini variant uses thinner strokes
85
+ const effectiveStrokeWidth = variant === 'mini' ? Math.max(1.5, strokeWidth - 0.5) : strokeWidth;
86
+ const renderProps = {
87
+ variant,
88
+ primaryColor: effectivePrimary,
89
+ secondaryColor: resolvedSecondary,
90
+ accentColor: resolvedAccent,
91
+ primaryOpacity,
92
+ secondaryOpacity,
93
+ accentOpacity,
94
+ strokeWidth: effectiveStrokeWidth,
95
+ strokeLinecap,
96
+ strokeLinejoin,
97
+ };
98
+ // Resolve renderer with fallback chain
99
+ const renderer = (_f = (_e = (_d = (_c = (_b = paths[variant]) !== null && _b !== void 0 ? _b : (variant === 'sharp' ? paths.solid : undefined)) !== null && _c !== void 0 ? _c : (variant === 'rounded' ? paths.solid : undefined)) !== null && _d !== void 0 ? _d : (variant === 'mini' ? paths.solid : undefined)) !== null && _e !== void 0 ? _e : (variant === '3d' ? paths.solid : undefined)) !== null && _f !== void 0 ? _f : paths.solid;
100
+ // 3D variant uses a filter for depth effect
101
+ const is3d = variant === '3d';
102
+ const filterId = useId();
103
+ const classes = [
104
+ 'ntd-icon',
105
+ animation ? `ntd-anim-${animation}` : '',
106
+ className !== null && className !== void 0 ? className : '',
107
+ ]
108
+ .filter(Boolean)
109
+ .join(' ');
110
+ const animStyle = animationDuration
111
+ ? { animationDuration, ...style }
112
+ : style;
113
+ // Generate SMIL animation elements if requested
114
+ const smilAnimationElements = smilAnimation
115
+ ? generateSmilAnimation({
116
+ type: smilAnimation,
117
+ duration: smilDuration,
118
+ repeatCount: smilRepeatCount,
119
+ easing: smilEasing,
120
+ delay: smilDelay,
121
+ }, center)
122
+ : null;
123
+ // For scale-based SMIL animations, we need to wrap content in transform groups
124
+ const needsSmilScaleWrapper = smilAnimation && [
125
+ 'heartbeat',
126
+ 'scale-pulse',
127
+ 'grow',
128
+ 'shrink',
129
+ 'rubber',
130
+ 'pop',
131
+ ].includes(smilAnimation);
132
+ const iconContent = renderer(renderProps);
133
+ return (jsxs("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", viewBox: viewBox, width: resolvedSize, height: resolvedSize, fill: "none", strokeLinecap: strokeLinecap, strokeLinejoin: strokeLinejoin, className: classes, style: animStyle, role: title ? 'img' : 'presentation', "aria-hidden": title ? undefined : true, "aria-label": title, ...rest, children: [title && jsx("title", { children: title }), gradient && (jsx("defs", { children: renderGradientDef(gradId, gradient, gradientType, gradientAngle, gradientAnimation) })), is3d && (jsx("defs", { children: render3dFilterDef(filterId) })), smilAnimation ? (needsSmilScaleWrapper ? (jsxs("g", { transform: `translate(${center.x}, ${center.y})`, filter: is3d ? `url(#${filterId})` : undefined, children: [jsx("g", { transform: `translate(-${center.x}, -${center.y})`, children: iconContent }), smilAnimationElements] })) : (jsxs("g", { filter: is3d ? `url(#${filterId})` : undefined, children: [iconContent, smilAnimationElements] }))) : is3d ? (jsx("g", { filter: `url(#${filterId})`, children: iconContent })) : (iconContent)] }));
134
+ });
135
+ Icon.displayName = displayName;
136
+ return Icon;
137
+ }
138
+
139
+ export { createIcon };
140
+ //# sourceMappingURL=createIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIcon.js","sources":["../../src/createIcon.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1,279 @@
1
+ /**
2
+ * @file figmaExport.ts
3
+ * @description Export utilities for Figma/Sketch integration
4
+ *
5
+ * Provides functions to export icons in formats compatible with
6
+ * Figma plugins and Sketch libraries.
7
+ *
8
+ * @version 1.0.0
9
+ * @since 2026-03
10
+ * @license MIT
11
+ */
12
+ /* ────────────────────────────────────────────────────────────────────────────
13
+ 2. HELPER FUNCTIONS
14
+ ───────────────────────────────────────────────────────────────────────────── */
15
+ /**
16
+ * Convert hex color to Figma RGB (0-1 range)
17
+ */
18
+ /**
19
+ * Generate readable name from icon component name
20
+ */
21
+ function getReadableName(name) {
22
+ return name
23
+ .replace(/^Ntd/, '')
24
+ .replace(/([A-Z])/g, ' $1')
25
+ .trim();
26
+ }
27
+ /**
28
+ * Generate search tags from icon name and category
29
+ */
30
+ function generateTags(name, category) {
31
+ const readable = getReadableName(name).toLowerCase();
32
+ const words = readable.split(/\s+/);
33
+ const categoryLower = category.toLowerCase();
34
+ return [...new Set([...words, categoryLower])];
35
+ }
36
+ /* ────────────────────────────────────────────────────────────────────────────
37
+ 3. EXPORT FUNCTIONS
38
+ ───────────────────────────────────────────────────────────────────────────── */
39
+ /**
40
+ * Export a single icon to Figma vector node JSON
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { exportIconToFigmaNode, NtdHome } from '@nice2dev/icons';
45
+ *
46
+ * const figmaNode = exportIconToFigmaNode(NtdHome, {
47
+ * size: 24,
48
+ * variant: 'solid',
49
+ * primaryColor: '#6c5ce7',
50
+ * });
51
+ * // Use in Figma plugin: figma.createNodeFromFigmaNode(figmaNode)
52
+ * ```
53
+ */
54
+ function exportIconToFigmaNode(IconComponent, options = {}) {
55
+ const { size = 24, variant = 'solid', primaryColor = '#000000', strokeWidth = 2 } = options;
56
+ // Render to string (requires a DOM or ReactDOMServer for real impl)
57
+ // This is a simplified structure - actual implementation needs SVG rendering
58
+ const name = IconComponent.displayName || 'Icon';
59
+ return {
60
+ type: 'FRAME',
61
+ name: `${getReadableName(name)} / ${variant}`,
62
+ width: size,
63
+ height: size,
64
+ children: [
65
+ {
66
+ type: 'VECTOR',
67
+ name: 'icon',
68
+ width: size,
69
+ height: size,
70
+ vectorPaths: [],
71
+ constraints: {
72
+ horizontal: 'SCALE',
73
+ vertical: 'SCALE',
74
+ },
75
+ },
76
+ ],
77
+ fills: [],
78
+ padding: { top: 0, right: 0, bottom: 0, left: 0 },
79
+ };
80
+ }
81
+ /**
82
+ * Export icon to SVG string for Figma import
83
+ *
84
+ * Returns a clean SVG string that can be imported into Figma.
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * import { exportIconToSvgString } from '@nice2dev/icons';
89
+ *
90
+ * const svg = exportIconToSvgString(NtdHome, { variant: 'solid', size: 24 });
91
+ * // Copy to clipboard or use in Figma plugin's figma.createNodeFromSvg()
92
+ * ```
93
+ */
94
+ function exportIconToSvgString(svgElement, options = {}) {
95
+ const { size = 24, removeAnimations = true } = options;
96
+ // Clone the element to avoid modifying the original
97
+ const clone = svgElement.cloneNode(true);
98
+ // Set size
99
+ clone.setAttribute('width', String(size));
100
+ clone.setAttribute('height', String(size));
101
+ // Remove animation classes and styles
102
+ if (removeAnimations) {
103
+ clone.classList.remove(...Array.from(clone.classList).filter((c) => c.startsWith('ntd-anim-')));
104
+ clone.style.animation = '';
105
+ clone.style.animationName = '';
106
+ clone.style.animationDuration = '';
107
+ // Remove SMIL animation elements
108
+ clone.querySelectorAll('animate, animateTransform, animateMotion').forEach((el) => el.remove());
109
+ }
110
+ // Remove data- attributes used for interaction
111
+ clone.removeAttribute('data-name');
112
+ // Serialize
113
+ return new XMLSerializer().serializeToString(clone);
114
+ }
115
+ /**
116
+ * Export icon as base64 data URL
117
+ */
118
+ function exportIconToDataUrl(svgElement, options) {
119
+ const svgString = exportIconToSvgString(svgElement, options);
120
+ const base64 = btoa(unescape(encodeURIComponent(svgString)));
121
+ return `data:image/svg+xml;base64,${base64}`;
122
+ }
123
+ /**
124
+ * Generate Figma plugin manifest for all icons
125
+ *
126
+ * Creates a JSON manifest that can be used by a Figma plugin
127
+ * to display and insert icons.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * import { generateFigmaPluginManifest, allIcons } from '@nice2dev/icons';
132
+ *
133
+ * const manifest = generateFigmaPluginManifest(allIcons, {
134
+ * name: 'Nice2Dev Icons',
135
+ * version: '1.0.0',
136
+ * });
137
+ *
138
+ * // Save as icons.json for your Figma plugin
139
+ * ```
140
+ */
141
+ function generateFigmaPluginManifest(icons, options = {}) {
142
+ const { name = '@nice2dev/icons', version = '1.0.0' } = options;
143
+ // Collect categories
144
+ const categorySet = new Set();
145
+ icons.forEach((icon) => categorySet.add(icon.category));
146
+ const categories = Array.from(categorySet).sort();
147
+ // Build icon entries
148
+ const iconEntries = icons.map((icon) => ({
149
+ name: getReadableName(icon.name),
150
+ category: icon.category,
151
+ variants: ['solid', 'outline', 'duotone', 'flat'],
152
+ tags: generateTags(icon.name, icon.category),
153
+ paths: {
154
+ // Paths would be extracted from actual rendering
155
+ // This is a placeholder structure
156
+ },
157
+ }));
158
+ return {
159
+ name,
160
+ version,
161
+ iconCount: icons.length,
162
+ categories,
163
+ icons: iconEntries,
164
+ };
165
+ }
166
+ /**
167
+ * Download icons as SVG files (browser)
168
+ *
169
+ * Triggers a download of the icon as an SVG file.
170
+ */
171
+ function downloadIconAsSvg(svgElement, filename, options) {
172
+ const svgString = exportIconToSvgString(svgElement, options);
173
+ const blob = new Blob([svgString], { type: 'image/svg+xml' });
174
+ const url = URL.createObjectURL(blob);
175
+ const link = document.createElement('a');
176
+ link.href = url;
177
+ link.download = filename.endsWith('.svg') ? filename : `${filename}.svg`;
178
+ document.body.appendChild(link);
179
+ link.click();
180
+ document.body.removeChild(link);
181
+ URL.revokeObjectURL(url);
182
+ }
183
+ /**
184
+ * Download icons as PNG (browser)
185
+ *
186
+ * Renders the SVG to canvas and downloads as PNG.
187
+ */
188
+ async function downloadIconAsPng(svgElement, filename, options = {}) {
189
+ const { size = 24, scale = 2, backgroundColor } = options;
190
+ const svgString = exportIconToSvgString(svgElement, { size });
191
+ const svg64 = btoa(unescape(encodeURIComponent(svgString)));
192
+ const imgSrc = `data:image/svg+xml;base64,${svg64}`;
193
+ return new Promise((resolve, reject) => {
194
+ const img = new Image();
195
+ img.onload = () => {
196
+ const canvas = document.createElement('canvas');
197
+ const scaledSize = size * scale;
198
+ canvas.width = scaledSize;
199
+ canvas.height = scaledSize;
200
+ const ctx = canvas.getContext('2d');
201
+ if (!ctx) {
202
+ reject(new Error('Could not get canvas context'));
203
+ return;
204
+ }
205
+ // Fill background if specified
206
+ if (backgroundColor) {
207
+ ctx.fillStyle = backgroundColor;
208
+ ctx.fillRect(0, 0, scaledSize, scaledSize);
209
+ }
210
+ // Draw image
211
+ ctx.drawImage(img, 0, 0, scaledSize, scaledSize);
212
+ // Download
213
+ canvas.toBlob((blob) => {
214
+ if (!blob) {
215
+ reject(new Error('Could not create blob'));
216
+ return;
217
+ }
218
+ const url = URL.createObjectURL(blob);
219
+ const link = document.createElement('a');
220
+ link.href = url;
221
+ link.download = filename.endsWith('.png') ? filename : `${filename}.png`;
222
+ document.body.appendChild(link);
223
+ link.click();
224
+ document.body.removeChild(link);
225
+ URL.revokeObjectURL(url);
226
+ resolve();
227
+ }, 'image/png');
228
+ };
229
+ img.onerror = () => reject(new Error('Failed to load SVG image'));
230
+ img.src = imgSrc;
231
+ });
232
+ }
233
+ /**
234
+ * Copy icon SVG to clipboard
235
+ */
236
+ async function copyIconToClipboard(svgElement, options) {
237
+ var _a;
238
+ const svgString = exportIconToSvgString(svgElement, options);
239
+ if ((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText) {
240
+ await navigator.clipboard.writeText(svgString);
241
+ }
242
+ else {
243
+ // Fallback for older browsers
244
+ const textarea = document.createElement('textarea');
245
+ textarea.value = svgString;
246
+ textarea.style.position = 'fixed';
247
+ textarea.style.opacity = '0';
248
+ document.body.appendChild(textarea);
249
+ textarea.select();
250
+ document.execCommand('copy');
251
+ document.body.removeChild(textarea);
252
+ }
253
+ }
254
+ /**
255
+ * Batch export multiple icons
256
+ */
257
+ function batchExportIcons(svgElements, format, options) {
258
+ const result = {};
259
+ for (const { element, name } of svgElements) {
260
+ switch (format) {
261
+ case 'svg':
262
+ result[name] = exportIconToSvgString(element, options);
263
+ break;
264
+ case 'data-url':
265
+ result[name] = exportIconToDataUrl(element, options);
266
+ break;
267
+ case 'json':
268
+ result[name] = JSON.stringify({
269
+ name,
270
+ svg: exportIconToSvgString(element, options),
271
+ });
272
+ break;
273
+ }
274
+ }
275
+ return result;
276
+ }
277
+
278
+ export { batchExportIcons, copyIconToClipboard, downloadIconAsPng, downloadIconAsSvg, exportIconToDataUrl, exportIconToFigmaNode, exportIconToSvgString, generateFigmaPluginManifest };
279
+ //# sourceMappingURL=figmaExport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figmaExport.js","sources":["../../src/figmaExport.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}