@nice2dev/ui-graphics 1.0.0 → 1.0.3

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 (146) hide show
  1. package/CHANGELOG.md +147 -1
  2. package/dist/cjs/animation/AnimatedPerson.js +2 -2
  3. package/dist/cjs/animation/AnimatedPerson.js.map +1 -1
  4. package/dist/cjs/animation/AnimationEditor.js +11 -6
  5. package/dist/cjs/animation/AnimationEditor.js.map +1 -1
  6. package/dist/cjs/animation/Audience.js +4 -3
  7. package/dist/cjs/animation/Audience.js.map +1 -1
  8. package/dist/cjs/animation/BodyRenderer.js +5 -2
  9. package/dist/cjs/animation/BodyRenderer.js.map +1 -1
  10. package/dist/cjs/animation/rig/RigPlayer.js +2 -2
  11. package/dist/cjs/animation/rig/RigPlayer.js.map +1 -1
  12. package/dist/cjs/animation/rig/RiggedBody.js +2 -2
  13. package/dist/cjs/animation/rig/RiggedBody.js.map +1 -1
  14. package/dist/cjs/animation/shapes/heads.js +4 -1
  15. package/dist/cjs/animation/shapes/heads.js.map +1 -1
  16. package/dist/cjs/core/LocalUI.js +1 -1
  17. package/dist/cjs/core/NiceBrushEngine.js +446 -0
  18. package/dist/cjs/core/NiceBrushEngine.js.map +1 -0
  19. package/dist/cjs/core/yjsCollaboration.js +292 -0
  20. package/dist/cjs/core/yjsCollaboration.js.map +1 -0
  21. package/dist/cjs/font/NiceFontEditor.js +89 -85
  22. package/dist/cjs/font/NiceFontEditor.js.map +1 -1
  23. package/dist/cjs/font/fontFormatUtils.js +468 -0
  24. package/dist/cjs/font/fontFormatUtils.js.map +1 -0
  25. package/dist/cjs/game/GameAsset2dEditor.js +38 -24
  26. package/dist/cjs/game/GameAsset2dEditor.js.map +1 -1
  27. package/dist/cjs/icon/NiceIconEditor.js +218 -133
  28. package/dist/cjs/icon/NiceIconEditor.js.map +1 -1
  29. package/dist/cjs/index.js +83 -1
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/nice2dev-ui-graphics.css +1 -1
  32. package/dist/cjs/photo/NiceAITools.js +446 -0
  33. package/dist/cjs/photo/NiceAITools.js.map +1 -0
  34. package/dist/cjs/photo/PhotoEditor.js +2 -2
  35. package/dist/cjs/photo/PhotoEditor.js.map +1 -1
  36. package/dist/cjs/pixel/PixelEditor.js +16 -5
  37. package/dist/cjs/pixel/PixelEditor.js.map +1 -1
  38. package/dist/cjs/pixel/PixelEditor.module.css.js +1 -1
  39. package/dist/cjs/pixel/PixelEditorMenuBar.js +2 -1
  40. package/dist/cjs/pixel/PixelEditorMenuBar.js.map +1 -1
  41. package/dist/cjs/pixel/PixelEditorRightPanel.js +3 -2
  42. package/dist/cjs/pixel/PixelEditorRightPanel.js.map +1 -1
  43. package/dist/cjs/pixel/PixelEditorTimeline.js +2 -1
  44. package/dist/cjs/pixel/PixelEditorTimeline.js.map +1 -1
  45. package/dist/cjs/pixel/PixelEditorToolbar.js +2 -1
  46. package/dist/cjs/pixel/PixelEditorToolbar.js.map +1 -1
  47. package/dist/cjs/pixel/SpriteGeneratorPanel.js +224 -0
  48. package/dist/cjs/pixel/SpriteGeneratorPanel.js.map +1 -0
  49. package/dist/cjs/pixel/animalGeneratorPresets.js +654 -0
  50. package/dist/cjs/pixel/animalGeneratorPresets.js.map +1 -0
  51. package/dist/cjs/pixel/buildingGeneratorPresets.js +573 -0
  52. package/dist/cjs/pixel/buildingGeneratorPresets.js.map +1 -0
  53. package/dist/cjs/pixel/characterGeneratorPresets.js +563 -0
  54. package/dist/cjs/pixel/characterGeneratorPresets.js.map +1 -0
  55. package/dist/cjs/pixel/spriteGeneratorCore.js +297 -0
  56. package/dist/cjs/pixel/spriteGeneratorCore.js.map +1 -0
  57. package/dist/cjs/pixel/usePixelEditor.js +16 -0
  58. package/dist/cjs/pixel/usePixelEditor.js.map +1 -1
  59. package/dist/cjs/texture/Nice3DTexturePainter.js +123 -79
  60. package/dist/cjs/texture/Nice3DTexturePainter.js.map +1 -1
  61. package/dist/cjs/ui/NiceUIDesigner.js +175 -62
  62. package/dist/cjs/ui/NiceUIDesigner.js.map +1 -1
  63. package/dist/cjs/ui/dist/index.js +50089 -0
  64. package/dist/cjs/ui/dist/index.js.map +1 -0
  65. package/dist/cjs/vector/NiceSvgToCode.js +427 -0
  66. package/dist/cjs/vector/NiceSvgToCode.js.map +1 -0
  67. package/dist/cjs/vector/VectorEditor.js +7 -3
  68. package/dist/cjs/vector/VectorEditor.js.map +1 -1
  69. package/dist/cjs/vector/VectorEditor.module.css.js +1 -1
  70. package/dist/cjs/vector/VectorEditorMenuBar.js +5 -1
  71. package/dist/cjs/vector/VectorEditorMenuBar.js.map +1 -1
  72. package/dist/cjs/vector/VectorEditorRightPanel.js +23 -19
  73. package/dist/cjs/vector/VectorEditorRightPanel.js.map +1 -1
  74. package/dist/esm/animation/AnimatedPerson.js +2 -2
  75. package/dist/esm/animation/AnimatedPerson.js.map +1 -1
  76. package/dist/esm/animation/AnimationEditor.js +12 -8
  77. package/dist/esm/animation/AnimationEditor.js.map +1 -1
  78. package/dist/esm/animation/Audience.js +5 -4
  79. package/dist/esm/animation/Audience.js.map +1 -1
  80. package/dist/esm/animation/BodyRenderer.js +4 -2
  81. package/dist/esm/animation/BodyRenderer.js.map +1 -1
  82. package/dist/esm/animation/rig/RigPlayer.js +4 -4
  83. package/dist/esm/animation/rig/RigPlayer.js.map +1 -1
  84. package/dist/esm/animation/rig/RiggedBody.js +2 -2
  85. package/dist/esm/animation/rig/RiggedBody.js.map +1 -1
  86. package/dist/esm/animation/shapes/heads.js +4 -2
  87. package/dist/esm/animation/shapes/heads.js.map +1 -1
  88. package/dist/esm/core/LocalUI.js +4 -4
  89. package/dist/esm/core/NiceBrushEngine.js +442 -0
  90. package/dist/esm/core/NiceBrushEngine.js.map +1 -0
  91. package/dist/esm/core/yjsCollaboration.js +283 -0
  92. package/dist/esm/core/yjsCollaboration.js.map +1 -0
  93. package/dist/esm/font/NiceFontEditor.js +89 -85
  94. package/dist/esm/font/NiceFontEditor.js.map +1 -1
  95. package/dist/esm/font/fontFormatUtils.js +461 -0
  96. package/dist/esm/font/fontFormatUtils.js.map +1 -0
  97. package/dist/esm/game/GameAsset2dEditor.js +38 -25
  98. package/dist/esm/game/GameAsset2dEditor.js.map +1 -1
  99. package/dist/esm/icon/NiceIconEditor.js +218 -133
  100. package/dist/esm/icon/NiceIconEditor.js.map +1 -1
  101. package/dist/esm/index.js +21 -11
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/nice2dev-ui-graphics.css +1 -1
  104. package/dist/esm/photo/NiceAITools.js +439 -0
  105. package/dist/esm/photo/NiceAITools.js.map +1 -0
  106. package/dist/esm/photo/PhotoEditor.js +2 -2
  107. package/dist/esm/photo/PhotoEditor.js.map +1 -1
  108. package/dist/esm/pixel/PixelEditor.js +16 -6
  109. package/dist/esm/pixel/PixelEditor.js.map +1 -1
  110. package/dist/esm/pixel/PixelEditor.module.css.js +1 -1
  111. package/dist/esm/pixel/PixelEditorMenuBar.js +2 -1
  112. package/dist/esm/pixel/PixelEditorMenuBar.js.map +1 -1
  113. package/dist/esm/pixel/PixelEditorRightPanel.js +3 -2
  114. package/dist/esm/pixel/PixelEditorRightPanel.js.map +1 -1
  115. package/dist/esm/pixel/PixelEditorTimeline.js +2 -1
  116. package/dist/esm/pixel/PixelEditorTimeline.js.map +1 -1
  117. package/dist/esm/pixel/PixelEditorToolbar.js +2 -1
  118. package/dist/esm/pixel/PixelEditorToolbar.js.map +1 -1
  119. package/dist/esm/pixel/SpriteGeneratorPanel.js +222 -0
  120. package/dist/esm/pixel/SpriteGeneratorPanel.js.map +1 -0
  121. package/dist/esm/pixel/animalGeneratorPresets.js +647 -0
  122. package/dist/esm/pixel/animalGeneratorPresets.js.map +1 -0
  123. package/dist/esm/pixel/buildingGeneratorPresets.js +566 -0
  124. package/dist/esm/pixel/buildingGeneratorPresets.js.map +1 -0
  125. package/dist/esm/pixel/characterGeneratorPresets.js +556 -0
  126. package/dist/esm/pixel/characterGeneratorPresets.js.map +1 -0
  127. package/dist/esm/pixel/spriteGeneratorCore.js +279 -0
  128. package/dist/esm/pixel/spriteGeneratorCore.js.map +1 -0
  129. package/dist/esm/pixel/usePixelEditor.js +16 -0
  130. package/dist/esm/pixel/usePixelEditor.js.map +1 -1
  131. package/dist/esm/texture/Nice3DTexturePainter.js +123 -79
  132. package/dist/esm/texture/Nice3DTexturePainter.js.map +1 -1
  133. package/dist/esm/ui/NiceUIDesigner.js +175 -62
  134. package/dist/esm/ui/NiceUIDesigner.js.map +1 -1
  135. package/dist/esm/ui/dist/index.js +49686 -0
  136. package/dist/esm/ui/dist/index.js.map +1 -0
  137. package/dist/esm/vector/NiceSvgToCode.js +423 -0
  138. package/dist/esm/vector/NiceSvgToCode.js.map +1 -0
  139. package/dist/esm/vector/VectorEditor.js +7 -4
  140. package/dist/esm/vector/VectorEditor.js.map +1 -1
  141. package/dist/esm/vector/VectorEditor.module.css.js +1 -1
  142. package/dist/esm/vector/VectorEditorMenuBar.js +5 -1
  143. package/dist/esm/vector/VectorEditorMenuBar.js.map +1 -1
  144. package/dist/esm/vector/VectorEditorRightPanel.js +23 -19
  145. package/dist/esm/vector/VectorEditorRightPanel.js.map +1 -1
  146. package/package.json +3 -4
@@ -1,19 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
3
4
  var React = require('react');
4
5
 
5
- /**
6
- * NiceIconEditor.tsx — SVG icon editor integrated with @nice2dev/icons.
7
- *
8
- * Features:
9
- * - SVG icon creation and editing (paths, shapes)
10
- * - Grid-aligned design (24×24, 32×32, 48×48 grids)
11
- * - Outline/filled style variants
12
- * - Stroke width and cap adjustments
13
- * - Export to SVG, React component, PNG (multiple sizes)
14
- * - Icon set management
15
- * - Preview on different backgrounds
16
- */
17
6
  // ── Default Config ──────────────────────────────────────────────
18
7
  const DEFAULT_ICON_CONFIG = {
19
8
  viewBox: 24,
@@ -30,33 +19,66 @@ function useIconEditor(initialSvg) {
30
19
  const [shapes, setShapes] = React.useState([]);
31
20
  const [selectedId, setSelectedId] = React.useState(null);
32
21
  const [tool, setTool] = React.useState("select");
22
+ const [snapToGrid, setSnapToGrid] = React.useState(true);
23
+ const [historyIdx, setHistoryIdx] = React.useState(0);
24
+ const historyRef = React.useRef([[]]);
33
25
  // Parse initial SVG
34
26
  React.useEffect(() => {
35
27
  if (!initialSvg)
36
28
  return;
37
- // Basic SVG path extraction
38
29
  const pathMatches = initialSvg.matchAll(/<path[^>]*d="([^"]*)"[^>]*\/?>/g);
39
30
  const parsed = [];
40
31
  let id = 0;
41
32
  for (const match of pathMatches) {
42
33
  parsed.push({ id: `shape-${id++}`, type: "path", d: match[1] });
43
34
  }
44
- if (parsed.length > 0)
35
+ if (parsed.length > 0) {
45
36
  setShapes(parsed);
37
+ historyRef.current = [JSON.parse(JSON.stringify(parsed))];
38
+ setHistoryIdx(0);
39
+ }
46
40
  }, [initialSvg]);
41
+ const pushHistory = React.useCallback((newShapes) => {
42
+ const snap = JSON.parse(JSON.stringify(newShapes));
43
+ historyRef.current = historyRef.current.slice(0, historyIdx + 1);
44
+ historyRef.current.push(snap);
45
+ if (historyRef.current.length > 50)
46
+ historyRef.current.shift();
47
+ setHistoryIdx(historyRef.current.length - 1);
48
+ }, [historyIdx]);
49
+ const undo = React.useCallback(() => {
50
+ if (historyIdx <= 0)
51
+ return;
52
+ const newIdx = historyIdx - 1;
53
+ setHistoryIdx(newIdx);
54
+ setShapes(JSON.parse(JSON.stringify(historyRef.current[newIdx])));
55
+ }, [historyIdx]);
56
+ const redo = React.useCallback(() => {
57
+ if (historyIdx >= historyRef.current.length - 1)
58
+ return;
59
+ const newIdx = historyIdx + 1;
60
+ setHistoryIdx(newIdx);
61
+ setShapes(JSON.parse(JSON.stringify(historyRef.current[newIdx])));
62
+ }, [historyIdx]);
47
63
  const addShape = React.useCallback((shape) => {
48
64
  const id = `shape-${Date.now()}`;
49
- setShapes((prev) => [...prev, { ...shape, id }]);
65
+ const newShapes = [...shapes, { ...shape, id }];
66
+ setShapes(newShapes);
50
67
  setSelectedId(id);
51
- }, []);
68
+ pushHistory(newShapes);
69
+ }, [shapes, pushHistory]);
52
70
  const updateShape = React.useCallback((id, updates) => {
53
- setShapes((prev) => prev.map((s) => (s.id === id ? { ...s, ...updates } : s)));
54
- }, []);
71
+ const newShapes = shapes.map((s) => (s.id === id ? { ...s, ...updates } : s));
72
+ setShapes(newShapes);
73
+ pushHistory(newShapes);
74
+ }, [shapes, pushHistory]);
55
75
  const deleteShape = React.useCallback((id) => {
56
- setShapes((prev) => prev.filter((s) => s.id !== id));
76
+ const newShapes = shapes.filter((s) => s.id !== id);
77
+ setShapes(newShapes);
57
78
  if (selectedId === id)
58
79
  setSelectedId(null);
59
- }, [selectedId]);
80
+ pushHistory(newShapes);
81
+ }, [shapes, selectedId, pushHistory]);
60
82
  const toSvg = React.useCallback(() => {
61
83
  const vb = config.viewBox;
62
84
  const children = shapes.map((s) => {
@@ -99,17 +121,162 @@ function useIconEditor(initialSvg) {
99
121
  tool, setTool,
100
122
  addShape, updateShape, deleteShape,
101
123
  toSvg, toReactComponent,
124
+ undo, redo,
125
+ canUndo: historyIdx > 0,
126
+ canRedo: historyIdx < historyRef.current.length - 1,
127
+ snapToGrid, setSnapToGrid,
102
128
  };
103
129
  }
104
130
  // ── Component ───────────────────────────────────────────────────
105
- /** SVG icon editor with grid, snap, and export capabilities. */
131
+ /** SVG icon editor with grid, snap, drawing, and export capabilities. */
106
132
  const NiceIconEditor = ({ initialSvg, gridSize = 24, onSave, onExport, className = "", }) => {
107
133
  const editor = useIconEditor(initialSvg);
108
134
  const svgRef = React.useRef(null);
109
- const handleSave = () => {
110
- const svg = editor.toSvg();
111
- onSave === null || onSave === void 0 ? void 0 : onSave(svg);
135
+ const drawing = React.useRef(false);
136
+ const drawStart = React.useRef({ x: 0, y: 0 });
137
+ const dragStart = React.useRef({ x: 0, y: 0 });
138
+ const draggingShape = React.useRef(null);
139
+ const [pendingShape, setPendingShape] = React.useState(null);
140
+ const vb = editor.config.viewBox;
141
+ // Keyboard shortcuts
142
+ React.useEffect(() => {
143
+ const handler = (e) => {
144
+ if (e.key === "Delete" && editor.selectedId) {
145
+ editor.deleteShape(editor.selectedId);
146
+ return;
147
+ }
148
+ if (e.ctrlKey && e.key === "z") {
149
+ e.preventDefault();
150
+ editor.undo();
151
+ return;
152
+ }
153
+ if (e.ctrlKey && e.key === "y") {
154
+ e.preventDefault();
155
+ editor.redo();
156
+ return;
157
+ }
158
+ if (e.key === "v" && !e.ctrlKey)
159
+ editor.setTool("select");
160
+ if (e.key === "c" && !e.ctrlKey)
161
+ editor.setTool("circle");
162
+ if (e.key === "r" && !e.ctrlKey)
163
+ editor.setTool("rect");
164
+ if (e.key === "l" && !e.ctrlKey)
165
+ editor.setTool("line");
166
+ if (e.key === "p" && !e.ctrlKey)
167
+ editor.setTool("path");
168
+ if (e.key === "g" && !e.ctrlKey)
169
+ editor.setSnapToGrid(s => !s);
170
+ if (e.key === "Escape")
171
+ editor.setSelectedId(null);
172
+ };
173
+ window.addEventListener("keydown", handler);
174
+ return () => window.removeEventListener("keydown", handler);
175
+ }, [editor]);
176
+ const snapCoord = (v) => {
177
+ if (!editor.snapToGrid)
178
+ return v;
179
+ return Math.round(v * 2) / 2; // snap to 0.5 grid
112
180
  };
181
+ const getSvgCoord = (e) => {
182
+ const svg = svgRef.current;
183
+ if (!svg)
184
+ return { x: 0, y: 0 };
185
+ const rect = svg.getBoundingClientRect();
186
+ return {
187
+ x: snapCoord(((e.clientX - rect.left) / rect.width) * vb),
188
+ y: snapCoord(((e.clientY - rect.top) / rect.height) * vb),
189
+ };
190
+ };
191
+ const handleMouseDown = (e) => {
192
+ const { x, y } = getSvgCoord(e);
193
+ if (editor.tool === "select") {
194
+ // Check if clicking on a shape for drag
195
+ const hit = editor.shapes.find(s => {
196
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
197
+ if (s.type === "rect")
198
+ return x >= ((_a = s.x) !== null && _a !== void 0 ? _a : 0) && x <= ((_b = s.x) !== null && _b !== void 0 ? _b : 0) + ((_c = s.width) !== null && _c !== void 0 ? _c : 0) && y >= ((_d = s.y) !== null && _d !== void 0 ? _d : 0) && y <= ((_e = s.y) !== null && _e !== void 0 ? _e : 0) + ((_f = s.height) !== null && _f !== void 0 ? _f : 0);
199
+ if (s.type === "circle")
200
+ return Math.hypot(x - ((_g = s.cx) !== null && _g !== void 0 ? _g : 0), y - ((_h = s.cy) !== null && _h !== void 0 ? _h : 0)) <= ((_j = s.r) !== null && _j !== void 0 ? _j : 0);
201
+ return false;
202
+ });
203
+ if (hit) {
204
+ editor.setSelectedId(hit.id);
205
+ draggingShape.current = hit.id;
206
+ dragStart.current = { x, y };
207
+ }
208
+ else {
209
+ editor.setSelectedId(null);
210
+ }
211
+ return;
212
+ }
213
+ drawing.current = true;
214
+ drawStart.current = { x, y };
215
+ if (editor.tool === "circle") {
216
+ setPendingShape({ id: "pending", type: "circle", cx: x, cy: y, r: 0 });
217
+ }
218
+ else if (editor.tool === "rect") {
219
+ setPendingShape({ id: "pending", type: "rect", x, y, width: 0, height: 0 });
220
+ }
221
+ else if (editor.tool === "line") {
222
+ setPendingShape({ id: "pending", type: "line", x1: x, y1: y, x2: x, y2: y });
223
+ }
224
+ };
225
+ const handleMouseMove = (e) => {
226
+ var _a, _b, _c, _d;
227
+ const { x, y } = getSvgCoord(e);
228
+ // Dragging existing shape
229
+ if (draggingShape.current) {
230
+ const dx = x - dragStart.current.x;
231
+ const dy = y - dragStart.current.y;
232
+ const shape = editor.shapes.find(s => s.id === draggingShape.current);
233
+ if (shape) {
234
+ if (shape.type === "rect")
235
+ editor.updateShape(shape.id, { x: ((_a = shape.x) !== null && _a !== void 0 ? _a : 0) + dx, y: ((_b = shape.y) !== null && _b !== void 0 ? _b : 0) + dy });
236
+ if (shape.type === "circle")
237
+ editor.updateShape(shape.id, { cx: ((_c = shape.cx) !== null && _c !== void 0 ? _c : 0) + dx, cy: ((_d = shape.cy) !== null && _d !== void 0 ? _d : 0) + dy });
238
+ dragStart.current = { x, y };
239
+ }
240
+ return;
241
+ }
242
+ if (!drawing.current)
243
+ return;
244
+ const sx = drawStart.current.x, sy = drawStart.current.y;
245
+ if (editor.tool === "circle") {
246
+ setPendingShape({ id: "pending", type: "circle", cx: sx, cy: sy, r: Math.hypot(x - sx, y - sy) });
247
+ }
248
+ else if (editor.tool === "rect") {
249
+ setPendingShape({ id: "pending", type: "rect", x: Math.min(sx, x), y: Math.min(sy, y), width: Math.abs(x - sx), height: Math.abs(y - sy) });
250
+ }
251
+ else if (editor.tool === "line") {
252
+ setPendingShape({ id: "pending", type: "line", x1: sx, y1: sy, x2: x, y2: y });
253
+ }
254
+ };
255
+ const handleMouseUp = () => {
256
+ var _a, _b, _c, _d, _e, _f, _g;
257
+ draggingShape.current = null;
258
+ if (!drawing.current || !pendingShape) {
259
+ drawing.current = false;
260
+ return;
261
+ }
262
+ drawing.current = false;
263
+ // Only add if shape has non-zero size
264
+ const { id: _, ...shapeData } = pendingShape;
265
+ if (pendingShape.type === "circle" && ((_a = pendingShape.r) !== null && _a !== void 0 ? _a : 0) > 0.2) {
266
+ editor.addShape(shapeData);
267
+ }
268
+ else if (pendingShape.type === "rect" && ((_b = pendingShape.width) !== null && _b !== void 0 ? _b : 0) > 0.2 && ((_c = pendingShape.height) !== null && _c !== void 0 ? _c : 0) > 0.2) {
269
+ editor.addShape(shapeData);
270
+ }
271
+ else if (pendingShape.type === "line") {
272
+ const dx = ((_d = pendingShape.x2) !== null && _d !== void 0 ? _d : 0) - ((_e = pendingShape.x1) !== null && _e !== void 0 ? _e : 0);
273
+ const dy = ((_f = pendingShape.y2) !== null && _f !== void 0 ? _f : 0) - ((_g = pendingShape.y1) !== null && _g !== void 0 ? _g : 0);
274
+ if (Math.hypot(dx, dy) > 0.2)
275
+ editor.addShape(shapeData);
276
+ }
277
+ setPendingShape(null);
278
+ };
279
+ const handleSave = () => onSave === null || onSave === void 0 ? void 0 : onSave(editor.toSvg());
113
280
  const handleExportPng = async (sizes = [16, 24, 32, 48, 64, 128]) => {
114
281
  const svg = editor.toSvg();
115
282
  const pngSizes = new Map();
@@ -122,126 +289,44 @@ const NiceIconEditor = ({ initialSvg, gridSize = 24, onSave, onExport, className
122
289
  const blob = new Blob([svg], { type: "image/svg+xml" });
123
290
  const url = URL.createObjectURL(blob);
124
291
  await new Promise((resolve) => {
125
- img.onload = () => {
126
- ctx.drawImage(img, 0, 0, size, size);
127
- canvas.toBlob((b) => {
128
- if (b)
129
- pngSizes.set(size, b);
130
- URL.revokeObjectURL(url);
131
- resolve();
132
- }, "image/png");
133
- };
292
+ img.onload = () => { ctx.drawImage(img, 0, 0, size, size); canvas.toBlob((b) => { if (b)
293
+ pngSizes.set(size, b); URL.revokeObjectURL(url); resolve(); }, "image/png"); };
134
294
  img.src = url;
135
295
  });
136
296
  }
137
- onExport === null || onExport === void 0 ? void 0 : onExport({
138
- svg,
139
- reactComponent: editor.toReactComponent("MyIcon"),
140
- pngSizes,
141
- });
297
+ onExport === null || onExport === void 0 ? void 0 : onExport({ svg, reactComponent: editor.toReactComponent("MyIcon"), pngSizes });
142
298
  };
143
- const vb = editor.config.viewBox;
144
- return React.createElement("div", {
145
- className: `nice-icon-editor ${className}`,
146
- style: { display: "flex", flexDirection: "column", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 },
147
- },
148
- // Toolbar
149
- React.createElement("div", { style: { display: "flex", gap: 4, fontSize: 12 } }, ["select", "path", "circle", "rect", "line"].map((t) => React.createElement("button", {
150
- key: t,
151
- onClick: () => editor.setTool(t),
152
- style: {
153
- padding: "4px 8px", borderRadius: 4, border: "none", cursor: "pointer",
154
- background: editor.tool === t ? "#339af0" : "#2c2e33",
155
- color: editor.tool === t ? "#fff" : "#c1c2c5",
156
- },
157
- }, t)), React.createElement("div", { style: { flex: 1 } }), React.createElement("button", {
158
- onClick: handleSave,
159
- style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#2f9e44", color: "#fff" },
160
- }, "Save SVG"), React.createElement("button", {
161
- onClick: () => handleExportPng(),
162
- style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#228be6", color: "#fff" },
163
- }, "Export PNG")),
164
- // Canvas
165
- React.createElement("div", { style: { display: "flex", gap: 12 } }, React.createElement("div", {
166
- style: { width: 400, height: 400, background: "#141517", borderRadius: 6, position: "relative", overflow: "hidden" },
167
- },
168
- // Grid
169
- React.createElement("svg", {
170
- ref: svgRef,
171
- width: 400, height: 400,
172
- viewBox: `0 0 ${vb} ${vb}`,
173
- style: { position: "absolute", inset: 0 },
174
- },
175
- // Grid lines
176
- ...Array.from({ length: vb + 1 }, (_, i) => React.createElement("line", {
177
- key: `grid-${i}`,
178
- x1: i, y1: 0, x2: i, y2: vb,
179
- stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05,
180
- })), ...Array.from({ length: vb + 1 }, (_, i) => React.createElement("line", {
181
- key: `gridh-${i}`,
182
- x1: 0, y1: i, x2: vb, y2: i,
183
- stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05,
184
- })),
185
- // Shapes
186
- ...editor.shapes.map((s) => {
299
+ const renderShape = (s, isPending = false) => {
187
300
  var _a, _b, _c;
188
301
  const fill = (_a = s.fill) !== null && _a !== void 0 ? _a : editor.config.fill;
189
302
  const stroke = (_b = s.stroke) !== null && _b !== void 0 ? _b : editor.config.stroke;
190
303
  const sw = (_c = s.strokeWidth) !== null && _c !== void 0 ? _c : editor.config.strokeWidth;
304
+ const isSelected = !isPending && s.id === editor.selectedId;
305
+ const selProps = isSelected ? { strokeDasharray: "0.5 0.3" } : {};
306
+ const evtProps = isPending ? {} : { onClick: (e) => { e.stopPropagation(); editor.setSelectedId(s.id); }, style: { cursor: "pointer" } };
191
307
  switch (s.type) {
192
- case "path":
193
- return React.createElement("path", {
194
- key: s.id, d: s.d, fill, stroke,
195
- strokeWidth: sw / (400 / vb),
196
- strokeLinecap: editor.config.strokeLinecap,
197
- strokeLinejoin: editor.config.strokeLinejoin,
198
- onClick: () => editor.setSelectedId(s.id),
199
- style: { cursor: "pointer" },
200
- });
201
- case "circle":
202
- return React.createElement("circle", {
203
- key: s.id, cx: s.cx, cy: s.cy, r: s.r,
204
- fill, stroke, strokeWidth: sw / (400 / vb),
205
- onClick: () => editor.setSelectedId(s.id),
206
- style: { cursor: "pointer" },
207
- });
208
- case "rect":
209
- return React.createElement("rect", {
210
- key: s.id, x: s.x, y: s.y, width: s.width, height: s.height,
211
- fill, stroke, strokeWidth: sw / (400 / vb), rx: 0.5,
212
- onClick: () => editor.setSelectedId(s.id),
213
- style: { cursor: "pointer" },
214
- });
308
+ case "path": return jsxRuntime.jsx("path", { d: s.d, fill: fill, stroke: isSelected ? "#339af0" : stroke, strokeWidth: sw * (vb / 400), strokeLinecap: editor.config.strokeLinecap, strokeLinejoin: editor.config.strokeLinejoin, ...evtProps }, s.id);
309
+ case "circle": return jsxRuntime.jsx("circle", { cx: s.cx, cy: s.cy, r: s.r, fill: isPending ? "rgba(51,154,240,0.15)" : fill, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), ...selProps, ...evtProps }, s.id);
310
+ case "rect": return jsxRuntime.jsx("rect", { x: s.x, y: s.y, width: s.width, height: s.height, fill: isPending ? "rgba(51,154,240,0.15)" : fill, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), rx: 0.3, ...selProps, ...evtProps }, s.id);
311
+ case "line": return jsxRuntime.jsx("line", { x1: s.x1, y1: s.y1, x2: s.x2, y2: s.y2, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), strokeLinecap: editor.config.strokeLinecap, ...selProps, ...evtProps }, s.id);
215
312
  default: return null;
216
313
  }
217
- }))),
218
- // Side panel config
219
- React.createElement("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8, fontSize: 12 } }, React.createElement("div", null, React.createElement("label", null, "Grid Size: "), React.createElement("select", {
220
- value: editor.config.viewBox,
221
- onChange: (e) => editor.setConfig({ ...editor.config, viewBox: Number(e.target.value) }),
222
- style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 2 },
223
- }, React.createElement("option", { value: 16 }, "16×16"), React.createElement("option", { value: 24 }, "24×24"), React.createElement("option", { value: 32 }, "32×32"), React.createElement("option", { value: 48 }, "48×48"))), React.createElement("div", null, React.createElement("label", null, "Stroke Width: "), React.createElement("input", {
224
- type: "range", min: 0.5, max: 4, step: 0.25, value: editor.config.strokeWidth,
225
- onChange: (e) => editor.setConfig({ ...editor.config, strokeWidth: Number(e.target.value) }),
226
- style: { width: 100 },
227
- }), React.createElement("span", null, ` ${editor.config.strokeWidth}`)), React.createElement("div", null, React.createElement("label", null, "Variant: "), ["outline", "filled", "duotone"].map((v) => React.createElement("button", {
228
- key: v,
229
- onClick: () => editor.setConfig({ ...editor.config, variant: v }),
230
- style: {
231
- padding: "2px 6px", marginLeft: 2, borderRadius: 3, border: "none", cursor: "pointer",
232
- background: editor.config.variant === v ? "#339af0" : "#2c2e33",
233
- color: editor.config.variant === v ? "#fff" : "#c1c2c5",
234
- fontSize: 11,
235
- },
236
- }, v))),
237
- // Preview at multiple sizes
238
- React.createElement("div", { style: { marginTop: 16 } }, React.createElement("strong", null, "Preview"), React.createElement("div", { style: { display: "flex", gap: 8, marginTop: 8, alignItems: "end" } }, ...[16, 24, 32, 48].map((size) => React.createElement("div", {
239
- key: size,
240
- style: { textAlign: "center", fontSize: 10, color: "#868e96" },
241
- dangerouslySetInnerHTML: {
242
- __html: `<div style="background:#fff;display:inline-block;padding:4px;border-radius:3px">${editor.toSvg().replace(/width="\d+"/, `width="${size}"`).replace(/height="\d+"/, `height="${size}"`)}</div><div>${size}px</div>`,
243
- },
244
- })))), React.createElement("div", { style: { marginTop: 8 } }, React.createElement("strong", null, "Shapes: "), React.createElement("span", null, editor.shapes.length)))));
314
+ };
315
+ const toolBtnStyle = (active) => ({
316
+ padding: "4px 8px", borderRadius: 4, border: "none", cursor: "pointer",
317
+ background: active ? "#339af0" : "#2c2e33", color: active ? "#fff" : "#c1c2c5", fontSize: 11,
318
+ });
319
+ return (jsxRuntime.jsxs("div", { className: `nice-icon-editor ${className}`, style: { display: "flex", flexDirection: "column", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 }, children: [jsxRuntime.jsxs("div", { style: { display: "flex", gap: 4, fontSize: 12, alignItems: "center", flexWrap: "wrap" }, children: [["select", "path", "circle", "rect", "line"].map((t) => (jsxRuntime.jsxs("button", { onClick: () => editor.setTool(t), style: toolBtnStyle(editor.tool === t), children: [t, " (", t[0], ")"] }, t))), jsxRuntime.jsx("div", { style: { width: 1, height: 20, background: "#373a40" } }), jsxRuntime.jsx("button", { onClick: editor.undo, disabled: !editor.canUndo, style: toolBtnStyle(false), title: "Undo (Ctrl+Z)", children: "\u21A9" }), jsxRuntime.jsx("button", { onClick: editor.redo, disabled: !editor.canRedo, style: toolBtnStyle(false), title: "Redo (Ctrl+Y)", children: "\u21AA" }), jsxRuntime.jsx("div", { style: { width: 1, height: 20, background: "#373a40" } }), jsxRuntime.jsx("button", { onClick: () => editor.setSnapToGrid(s => !s), style: toolBtnStyle(editor.snapToGrid), title: "Snap to Grid (G)", children: "\u229E" }), editor.selectedId && jsxRuntime.jsx("button", { onClick: () => editor.deleteShape(editor.selectedId), style: { ...toolBtnStyle(false), color: "#ff6b6b" }, title: "Delete (Del)", children: "\u2715" }), jsxRuntime.jsx("div", { style: { flex: 1 } }), jsxRuntime.jsx("button", { onClick: handleSave, style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#2f9e44", color: "#fff", fontSize: 11 }, children: "Save SVG" }), jsxRuntime.jsx("button", { onClick: () => handleExportPng(), style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#228be6", color: "#fff", fontSize: 11 }, children: "Export PNG" })] }), jsxRuntime.jsxs("div", { style: { display: "flex", gap: 12 }, children: [jsxRuntime.jsx("div", { style: { width: 400, height: 400, background: "#141517", borderRadius: 6, position: "relative", overflow: "hidden" }, children: jsxRuntime.jsxs("svg", { ref: svgRef, width: 400, height: 400, viewBox: `0 0 ${vb} ${vb}`, style: { position: "absolute", inset: 0, cursor: editor.tool === "select" ? "default" : "crosshair" }, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp, children: [Array.from({ length: vb + 1 }, (_, i) => (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsx("line", { x1: i, y1: 0, x2: i, y2: vb, stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05 }), jsxRuntime.jsx("line", { x1: 0, y1: i, x2: vb, y2: i, stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05 })] }, `g${i}`))), jsxRuntime.jsx("line", { x1: vb / 2, y1: 0, x2: vb / 2, y2: vb, stroke: "rgba(255,255,255,0.15)", strokeWidth: 0.05 }), jsxRuntime.jsx("line", { x1: 0, y1: vb / 2, x2: vb, y2: vb / 2, stroke: "rgba(255,255,255,0.15)", strokeWidth: 0.05 }), editor.shapes.map(s => renderShape(s)), pendingShape && renderShape(pendingShape, true)] }) }), jsxRuntime.jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8, fontSize: 12 }, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("label", { children: "Grid Size: " }), jsxRuntime.jsxs("select", { value: editor.config.viewBox, onChange: e => editor.setConfig({ ...editor.config, viewBox: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 2 }, children: [jsxRuntime.jsx("option", { value: 16, children: "16\u00D716" }), jsxRuntime.jsx("option", { value: 24, children: "24\u00D724" }), jsxRuntime.jsx("option", { value: 32, children: "32\u00D732" }), jsxRuntime.jsx("option", { value: 48, children: "48\u00D748" })] })] }), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("label", { children: "Stroke Width: " }), jsxRuntime.jsx("input", { type: "range", min: 0.5, max: 4, step: 0.25, value: editor.config.strokeWidth, onChange: e => editor.setConfig({ ...editor.config, strokeWidth: Number(e.target.value) }), style: { width: 100 } }), jsxRuntime.jsxs("span", { children: [" ", editor.config.strokeWidth] })] }), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("label", { children: "Variant: " }), ["outline", "filled", "duotone"].map(v => (jsxRuntime.jsx("button", { onClick: () => editor.setConfig({ ...editor.config, variant: v }), style: { padding: "2px 6px", marginLeft: 2, borderRadius: 3, border: "none", cursor: "pointer",
320
+ background: editor.config.variant === v ? "#339af0" : "#2c2e33",
321
+ color: editor.config.variant === v ? "#fff" : "#c1c2c5", fontSize: 11 }, children: v }, v)))] }), editor.selectedId && (() => {
322
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
323
+ const sel = editor.shapes.find(s => s.id === editor.selectedId);
324
+ if (!sel)
325
+ return null;
326
+ return (jsxRuntime.jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsxRuntime.jsxs("strong", { children: ["Selected: ", sel.type] }), sel.type === "rect" && (jsxRuntime.jsxs("div", { style: { display: "grid", gridTemplateColumns: "60px 1fr", gap: 2, marginTop: 4, fontSize: 11 }, children: [jsxRuntime.jsx("span", { children: "X:" }), jsxRuntime.jsx("input", { type: "number", value: (_a = sel.x) !== null && _a !== void 0 ? _a : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { x: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsxRuntime.jsx("span", { children: "Y:" }), jsxRuntime.jsx("input", { type: "number", value: (_b = sel.y) !== null && _b !== void 0 ? _b : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { y: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsxRuntime.jsx("span", { children: "Width:" }), jsxRuntime.jsx("input", { type: "number", value: (_c = sel.width) !== null && _c !== void 0 ? _c : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { width: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsxRuntime.jsx("span", { children: "Height:" }), jsxRuntime.jsx("input", { type: "number", value: (_d = sel.height) !== null && _d !== void 0 ? _d : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { height: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } })] })), sel.type === "circle" && (jsxRuntime.jsxs("div", { style: { display: "grid", gridTemplateColumns: "60px 1fr", gap: 2, marginTop: 4, fontSize: 11 }, children: [jsxRuntime.jsx("span", { children: "CX:" }), jsxRuntime.jsx("input", { type: "number", value: (_e = sel.cx) !== null && _e !== void 0 ? _e : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { cx: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsxRuntime.jsx("span", { children: "CY:" }), jsxRuntime.jsx("input", { type: "number", value: (_f = sel.cy) !== null && _f !== void 0 ? _f : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { cy: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsxRuntime.jsx("span", { children: "Radius:" }), jsxRuntime.jsx("input", { type: "number", value: (_g = sel.r) !== null && _g !== void 0 ? _g : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { r: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } })] })), sel.type === "path" && (jsxRuntime.jsxs("div", { style: { marginTop: 4 }, children: [jsxRuntime.jsx("label", { style: { fontSize: 10 }, children: "SVG Path:" }), jsxRuntime.jsx("textarea", { value: (_h = sel.d) !== null && _h !== void 0 ? _h : "", onChange: e => editor.updateShape(sel.id, { d: e.target.value }), rows: 3, style: { width: "100%", background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 4, fontSize: 10, fontFamily: "monospace", resize: "vertical" } })] })), jsxRuntime.jsxs("div", { style: { marginTop: 4, display: "flex", gap: 4, alignItems: "center" }, children: [jsxRuntime.jsx("span", { style: { fontSize: 10 }, children: "Fill:" }), jsxRuntime.jsx("input", { type: "color", value: (_j = sel.fill) !== null && _j !== void 0 ? _j : "#000000", onChange: e => editor.updateShape(sel.id, { fill: e.target.value }), style: { width: 24, height: 18, border: "none", padding: 0, cursor: "pointer" } }), jsxRuntime.jsx("span", { style: { fontSize: 10 }, children: "Stroke:" }), jsxRuntime.jsx("input", { type: "color", value: (_k = sel.stroke) !== null && _k !== void 0 ? _k : "#000000", onChange: e => editor.updateShape(sel.id, { stroke: e.target.value }), style: { width: 24, height: 18, border: "none", padding: 0, cursor: "pointer" } })] })] }));
327
+ })(), jsxRuntime.jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsxRuntime.jsxs("strong", { children: ["Shapes (", editor.shapes.length, ")"] }), jsxRuntime.jsx("div", { style: { marginTop: 4, maxHeight: 120, overflowY: "auto" }, children: editor.shapes.map(s => (jsxRuntime.jsxs("div", { onClick: () => editor.setSelectedId(s.id), style: { padding: "2px 4px", cursor: "pointer", borderRadius: 2, fontSize: 11,
328
+ background: editor.selectedId === s.id ? "#339af0" : "transparent",
329
+ color: editor.selectedId === s.id ? "#fff" : "#c1c2c5" }, children: [s.type, " ", s.id.slice(-4)] }, s.id))) })] }), jsxRuntime.jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsxRuntime.jsx("strong", { children: "Preview" }), jsxRuntime.jsx("div", { style: { display: "flex", gap: 8, marginTop: 8, alignItems: "end" }, children: [16, 24, 32, 48].map(size => (jsxRuntime.jsxs("div", { style: { textAlign: "center", fontSize: 10, color: "#868e96" }, children: [jsxRuntime.jsx("div", { style: { background: "#fff", display: "inline-block", padding: 4, borderRadius: 3 }, dangerouslySetInnerHTML: { __html: editor.toSvg().replace(/width="\d+"/, `width="${size}"`).replace(/height="\d+"/, `height="${size}"`) } }), jsxRuntime.jsxs("div", { children: [size, "px"] })] }, size))) })] })] })] })] }));
245
330
  };
246
331
 
247
332
  exports.NiceIconEditor = NiceIconEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"NiceIconEditor.js","sources":["../../../src/icon/NiceIconEditor.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NiceIconEditor.js","sources":["../../../src/icon/NiceIconEditor.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}