@rslsp1/fa-app-tools 0.1.8 → 0.1.9

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/dist/index.d.mts CHANGED
@@ -86,9 +86,9 @@ interface InspectPanelProps {
86
86
  declare const InspectPanel: React.FC<InspectPanelProps>;
87
87
 
88
88
  interface SetupPanelProps {
89
- onWorkspaceImport: (e: React.ChangeEvent<HTMLInputElement>) => void;
89
+ onWorkspaceImport: (file: File) => void;
90
90
  onProjectExport: () => void;
91
- onProjectImport: (e: React.ChangeEvent<HTMLInputElement>) => void;
91
+ onProjectImport: (file: File) => void;
92
92
  projectActionState: 'idle' | 'working' | 'done' | 'error';
93
93
  }
94
94
  declare const SetupPanel: React.FC<SetupPanelProps>;
package/dist/index.d.ts CHANGED
@@ -86,9 +86,9 @@ interface InspectPanelProps {
86
86
  declare const InspectPanel: React.FC<InspectPanelProps>;
87
87
 
88
88
  interface SetupPanelProps {
89
- onWorkspaceImport: (e: React.ChangeEvent<HTMLInputElement>) => void;
89
+ onWorkspaceImport: (file: File) => void;
90
90
  onProjectExport: () => void;
91
- onProjectImport: (e: React.ChangeEvent<HTMLInputElement>) => void;
91
+ onProjectImport: (file: File) => void;
92
92
  projectActionState: 'idle' | 'working' | 'done' | 'error';
93
93
  }
94
94
  declare const SetupPanel: React.FC<SetupPanelProps>;
package/dist/index.js CHANGED
@@ -263,7 +263,11 @@ var SetupPanel = ({ onWorkspaceImport, onProjectExport, onProjectImport, project
263
263
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-[9px] text-white/30 px-2 italic", children: "Importiere Kategorien und Tags als JSON-Struktur." })
264
264
  ] }),
265
265
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(PillButton, { variant: "outline", icon: "upload_file", onClick: () => workspaceInputRef.current?.click(), children: "Tags laden (.json)" }),
266
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("input", { ref: workspaceInputRef, type: "file", accept: ".json", className: "hidden", onChange: onWorkspaceImport })
266
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("input", { ref: workspaceInputRef, type: "file", accept: ".json", className: "hidden", onChange: (e) => {
267
+ const f = e.target.files?.[0];
268
+ if (f) onWorkspaceImport(f);
269
+ e.target.value = "";
270
+ } })
267
271
  ] }),
268
272
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-4", children: [
269
273
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-1", children: [
@@ -274,8 +278,9 @@ var SetupPanel = ({ onWorkspaceImport, onProjectExport, onProjectImport, project
274
278
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(PillButton, { variant: "filled", icon: "download", onClick: onProjectExport, loading: projectActionState === "working", children: "Exportieren (.zip)" }),
275
279
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(PillButton, { variant: "outline", icon: "upload", onClick: () => projectInputRef.current?.click(), children: "Projekt laden (.zip)" }),
276
280
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("input", { ref: projectInputRef, type: "file", accept: ".zip", className: "hidden", onChange: (e) => {
277
- onProjectImport(e);
278
- if (e.target) e.target.value = "";
281
+ const f = e.target.files?.[0];
282
+ if (f) onProjectImport(f);
283
+ e.target.value = "";
279
284
  } })
280
285
  ] })
281
286
  ] }),
package/dist/index.mjs CHANGED
@@ -228,7 +228,11 @@ var SetupPanel = ({ onWorkspaceImport, onProjectExport, onProjectImport, project
228
228
  /* @__PURE__ */ jsx7("p", { className: "text-[9px] text-white/30 px-2 italic", children: "Importiere Kategorien und Tags als JSON-Struktur." })
229
229
  ] }),
230
230
  /* @__PURE__ */ jsx7(PillButton, { variant: "outline", icon: "upload_file", onClick: () => workspaceInputRef.current?.click(), children: "Tags laden (.json)" }),
231
- /* @__PURE__ */ jsx7("input", { ref: workspaceInputRef, type: "file", accept: ".json", className: "hidden", onChange: onWorkspaceImport })
231
+ /* @__PURE__ */ jsx7("input", { ref: workspaceInputRef, type: "file", accept: ".json", className: "hidden", onChange: (e) => {
232
+ const f = e.target.files?.[0];
233
+ if (f) onWorkspaceImport(f);
234
+ e.target.value = "";
235
+ } })
232
236
  ] }),
233
237
  /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-4", children: [
234
238
  /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-1", children: [
@@ -239,8 +243,9 @@ var SetupPanel = ({ onWorkspaceImport, onProjectExport, onProjectImport, project
239
243
  /* @__PURE__ */ jsx7(PillButton, { variant: "filled", icon: "download", onClick: onProjectExport, loading: projectActionState === "working", children: "Exportieren (.zip)" }),
240
244
  /* @__PURE__ */ jsx7(PillButton, { variant: "outline", icon: "upload", onClick: () => projectInputRef.current?.click(), children: "Projekt laden (.zip)" }),
241
245
  /* @__PURE__ */ jsx7("input", { ref: projectInputRef, type: "file", accept: ".zip", className: "hidden", onChange: (e) => {
242
- onProjectImport(e);
243
- if (e.target) e.target.value = "";
246
+ const f = e.target.files?.[0];
247
+ if (f) onProjectImport(f);
248
+ e.target.value = "";
244
249
  } })
245
250
  ] })
246
251
  ] }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rslsp1/fa-app-tools",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Shared tools and hooks for Fine Art flow apps",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",