@sudobility/svgr_lib 0.0.39 → 0.0.42

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.
@@ -1,4 +1,4 @@
1
- import type { ImageType, SvgrClient } from '@sudobility/svgr_client';
1
+ import type { ImageType, JobResult, SvgrClient } from '@sudobility/svgr_client';
2
2
  export declare const OCR_SUPPORTED_IMAGE_TYPES: ReadonlySet<ImageType>;
3
3
  export declare const TRANSPARENT_BG_SUPPORTED_IMAGE_TYPES: ReadonlySet<ImageType>;
4
4
  export interface ImageConverterState {
@@ -7,11 +7,17 @@ export interface ImageConverterState {
7
7
  ocr: boolean;
8
8
  mergePaths: boolean;
9
9
  imageType: ImageType;
10
- svgResult: string | null;
11
- error: string | null;
12
- isConverting: boolean;
13
10
  supportsOcr: boolean;
14
11
  supportsTransparentBg: boolean;
12
+ imageId: string | null;
13
+ isUploading: boolean;
14
+ currentJobId: string | null;
15
+ currentJob: JobResult | null;
16
+ isConverting: boolean;
17
+ previewUrl: string | null;
18
+ svgFilename: string | null;
19
+ jobs: JobResult[];
20
+ error: string | null;
15
21
  }
16
22
  export interface UseImageConverterReturn extends ImageConverterState {
17
23
  setQuality: (q: number) => void;
@@ -19,11 +25,14 @@ export interface UseImageConverterReturn extends ImageConverterState {
19
25
  setOcr: (v: boolean) => void;
20
26
  setMergePaths: (v: boolean) => void;
21
27
  setImageType: (v: ImageType) => void;
22
- convert: (base64: string, filename: string) => void;
28
+ upload: (file: File) => Promise<void>;
29
+ convert: () => void;
23
30
  reset: () => void;
31
+ selectJob: (jobId: string) => void;
32
+ fetchSvg: () => Promise<Blob | null>;
24
33
  }
25
34
  export type ScaleImageFn = (base64: string, maxPixels: number) => Promise<string>;
26
35
  export declare function supportsOcrOption(imageType: ImageType): boolean;
27
36
  export declare function supportsTransparentBgOption(imageType: ImageType): boolean;
28
- export declare function useImageConverter(client: SvgrClient, scaleImage?: ScaleImageFn): UseImageConverterReturn;
37
+ export declare function useImageConverter(client: SvgrClient, _scaleImage?: ScaleImageFn): UseImageConverterReturn;
29
38
  //# sourceMappingURL=useImageConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useImageConverter.d.ts","sourceRoot":"","sources":["../../src/hooks/useImageConverter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAUrE,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,SAAS,CAkB3D,CAAC;AAEH,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,SAAS,CAoBpE,CAAC;AAEL,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,MAAM,CAAC;IAEhB,aAAa,EAAE,OAAO,CAAC;IAEvB,GAAG,EAAE,OAAO,CAAC;IAEb,UAAU,EAAE,OAAO,CAAC;IAEpB,SAAS,EAAE,SAAS,CAAC;IAErB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,YAAY,EAAE,OAAO,CAAC;IAEtB,WAAW,EAAE,OAAO,CAAC;IAErB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAQD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAElE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7B,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAMrC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA0CD,MAAM,MAAM,YAAY,GAAG,CACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE/D;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,UAAU,CAAC,EAAE,YAAY,GACxB,uBAAuB,CA2GzB"}
1
+ {"version":3,"file":"useImageConverter.d.ts","sourceRoot":"","sources":["../../src/hooks/useImageConverter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIhF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,SAAS,CAkB3D,CAAC;AAEH,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,SAAS,CAoBpE,CAAC;AAEL,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAG/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,WAAW,EAAE,OAAO,CAAC;IAGrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAE7B,YAAY,EAAE,OAAO,CAAC;IAGtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,IAAI,EAAE,SAAS,EAAE,CAAC;IAElB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7B,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAGrC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACtC;AAMD,MAAM,MAAM,YAAY,GAAG,CACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE/D;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,WAAW,CAAC,EAAE,YAAY,GACzB,uBAAuB,CAiNzB"}
@@ -1,6 +1,7 @@
1
- import { useCallback, useState } from 'react';
2
- import { useConvert } from '@sudobility/svgr_client';
3
- import { MAX_PIXELS, QUALITY_DEFAULT } from '../config/constants';
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { svgrKeys, useCreateJob, useImageJobs, useJobStatus, useUploadImage, } from '@sudobility/svgr_client';
3
+ import { useQueryClient } from '@tanstack/react-query';
4
+ import { QUALITY_DEFAULT } from '../config/constants';
4
5
  export const OCR_SUPPORTED_IMAGE_TYPES = new Set([
5
6
  'auto',
6
7
  'design',
@@ -46,16 +47,50 @@ export function supportsOcrOption(imageType) {
46
47
  export function supportsTransparentBgOption(imageType) {
47
48
  return TRANSPARENT_BG_SUPPORTED_IMAGE_TYPES.has(imageType);
48
49
  }
49
- export function useImageConverter(client, scaleImage) {
50
- const convertMutation = useConvert(client);
50
+ export function useImageConverter(client, _scaleImage) {
51
+ const queryClient = useQueryClient();
52
+ const uploadMutation = useUploadImage(client);
53
+ const createJobMutation = useCreateJob(client);
51
54
  const [quality, setQuality] = useState(QUALITY_DEFAULT);
52
55
  const [transparentBg, setTransparentBgState] = useState(false);
53
56
  const [ocr, setOcrState] = useState(true);
54
57
  const [mergePaths, setMergePaths] = useState(false);
55
58
  const [imageType, setImageTypeState] = useState('auto');
56
- const [svgResult, setSvgResult] = useState(null);
59
+ const [imageId, setImageId] = useState(null);
60
+ const [currentJobId, setCurrentJobId] = useState(null);
61
+ const [previewUrl, setPreviewUrl] = useState(null);
62
+ const [svgFilename, setSvgFilename] = useState(null);
57
63
  const [error, setError] = useState(null);
58
- const [isFetchingSvg, setIsFetchingSvg] = useState(false);
64
+ const jobStatusQuery = useJobStatus(client, currentJobId);
65
+ const currentJob = jobStatusQuery.data?.data ?? null;
66
+ const imageJobsQuery = useImageJobs(client, imageId);
67
+ const jobs = imageJobsQuery.data?.data ?? [];
68
+ useEffect(() => {
69
+ if (!currentJob)
70
+ return;
71
+ if (currentJob.status === 'done' && currentJob.previewFilename) {
72
+ setSvgFilename(currentJob.svgFilename ?? null);
73
+ client
74
+ .fetchFile(currentJob.previewFilename)
75
+ .then(blob => {
76
+ const url = URL.createObjectURL(blob);
77
+ setPreviewUrl(prev => {
78
+ if (prev)
79
+ URL.revokeObjectURL(prev);
80
+ return url;
81
+ });
82
+ })
83
+ .catch(err => {
84
+ console.error('Failed to fetch preview:', err);
85
+ });
86
+ queryClient.invalidateQueries({
87
+ queryKey: svgrKeys.imageJobs(currentJob.imageId),
88
+ });
89
+ }
90
+ else if (currentJob.status === 'error') {
91
+ setError(currentJob.errorMessage ?? 'Conversion failed');
92
+ }
93
+ }, [currentJob?.status, currentJob?.previewFilename]);
59
94
  const setTransparentBg = useCallback((v) => {
60
95
  setTransparentBgState(supportsTransparentBgOption(imageType) ? v : false);
61
96
  }, [imageType]);
@@ -71,71 +106,133 @@ export function useImageConverter(client, scaleImage) {
71
106
  setOcrState(false);
72
107
  }
73
108
  }, []);
74
- const convert = useCallback(async (base64, filename) => {
109
+ const upload = useCallback(async (file) => {
75
110
  setError(null);
76
111
  try {
77
- const scaled = scaleImage && imageType !== 'design'
78
- ? await scaleImage(base64, MAX_PIXELS)
79
- : base64;
80
- const response = await convertMutation.mutateAsync({
81
- original: scaled,
82
- filename,
83
- quality,
84
- transparentBg,
85
- ocr,
86
- mergePaths,
87
- imageType,
88
- });
112
+ const response = await uploadMutation.mutateAsync(file);
89
113
  if (response.success && response.data) {
90
- setIsFetchingSvg(true);
91
- try {
92
- const svg = await client.fetchSvg(response.data.cacheId);
93
- setSvgResult(svg);
94
- }
95
- finally {
96
- setIsFetchingSvg(false);
97
- }
114
+ setImageId(response.data.imageId);
98
115
  }
99
116
  else {
100
- setError(response.error || 'Conversion failed');
117
+ setError(response.error ?? 'Upload failed');
101
118
  }
102
119
  }
103
120
  catch (err) {
104
- setError(err instanceof Error ? err.message : 'Conversion failed');
105
- setIsFetchingSvg(false);
121
+ setError(err instanceof Error ? err.message : 'Upload failed');
106
122
  }
123
+ }, [uploadMutation]);
124
+ const convert = useCallback(() => {
125
+ if (!imageId)
126
+ return;
127
+ setError(null);
128
+ setPreviewUrl(prev => {
129
+ if (prev)
130
+ URL.revokeObjectURL(prev);
131
+ return null;
132
+ });
133
+ setSvgFilename(null);
134
+ createJobMutation
135
+ .mutateAsync({
136
+ imageId,
137
+ quality,
138
+ transparentBg,
139
+ ocr,
140
+ mergePaths,
141
+ imageType,
142
+ })
143
+ .then(response => {
144
+ if (response.success && response.data) {
145
+ setCurrentJobId(response.data.jobId);
146
+ }
147
+ else {
148
+ setError(response.error ?? 'Failed to create job');
149
+ }
150
+ })
151
+ .catch(err => {
152
+ setError(err instanceof Error ? err.message : 'Failed to create job');
153
+ });
107
154
  }, [
108
- convertMutation,
109
- client,
110
- scaleImage,
155
+ imageId,
111
156
  quality,
112
157
  transparentBg,
113
158
  ocr,
114
159
  mergePaths,
115
160
  imageType,
161
+ createJobMutation,
116
162
  ]);
117
163
  const reset = useCallback(() => {
118
- setSvgResult(null);
164
+ setImageId(null);
165
+ setCurrentJobId(null);
166
+ setPreviewUrl(prev => {
167
+ if (prev)
168
+ URL.revokeObjectURL(prev);
169
+ return null;
170
+ });
171
+ setSvgFilename(null);
119
172
  setError(null);
120
173
  }, []);
174
+ const selectJob = useCallback((jobId) => {
175
+ const job = jobs.find(j => j.jobId === jobId);
176
+ if (!job || job.status !== 'done')
177
+ return;
178
+ setCurrentJobId(jobId);
179
+ setSvgFilename(job.svgFilename ?? null);
180
+ if (job.previewFilename) {
181
+ client
182
+ .fetchFile(job.previewFilename)
183
+ .then(blob => {
184
+ const url = URL.createObjectURL(blob);
185
+ setPreviewUrl(prev => {
186
+ if (prev)
187
+ URL.revokeObjectURL(prev);
188
+ return url;
189
+ });
190
+ })
191
+ .catch(err => console.error('Failed to fetch preview:', err));
192
+ }
193
+ }, [jobs, client]);
194
+ const fetchSvg = useCallback(async () => {
195
+ if (!svgFilename)
196
+ return null;
197
+ try {
198
+ return await client.fetchFile(svgFilename);
199
+ }
200
+ catch (err) {
201
+ console.error('Failed to fetch SVG:', err);
202
+ return null;
203
+ }
204
+ }, [svgFilename, client]);
205
+ const isConverting = createJobMutation.isPending ||
206
+ (currentJob !== null &&
207
+ currentJob.status !== 'done' &&
208
+ currentJob.status !== 'error');
121
209
  return {
122
210
  quality,
123
211
  transparentBg,
124
212
  ocr,
125
213
  mergePaths,
126
214
  imageType,
127
- svgResult,
128
- error,
129
- isConverting: convertMutation.isPending || isFetchingSvg,
130
215
  supportsOcr: supportsOcrOption(imageType),
131
216
  supportsTransparentBg: supportsTransparentBgOption(imageType),
217
+ imageId,
218
+ isUploading: uploadMutation.isPending,
219
+ currentJobId,
220
+ currentJob,
221
+ isConverting,
222
+ previewUrl,
223
+ svgFilename,
224
+ jobs,
225
+ error,
132
226
  setQuality,
133
227
  setTransparentBg,
134
228
  setOcr,
135
229
  setMergePaths,
136
230
  setImageType,
231
+ upload,
137
232
  convert,
138
233
  reset,
234
+ selectJob,
235
+ fetchSvg,
139
236
  };
140
237
  }
141
238
  //# sourceMappingURL=useImageConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useImageConverter.js","sourceRoot":"","sources":["../../src/hooks/useImageConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useImageConverter.js","sourceRoot":"","sources":["../../src/hooks/useImageConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,yBAAyB,GAA2B,IAAI,GAAG,CAAC;IACvE,MAAM;IACN,QAAQ;IACR,UAAU;IACV,MAAM;IACN,OAAO;IACP,QAAQ;IACR,eAAe;IACf,SAAS;IACT,eAAe;IACf,KAAK;IACL,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,IAAI,GAAG,CAAC;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,MAAM;IACN,cAAc;IACd,OAAO;IACP,eAAe;IACf,WAAW;IACX,WAAW;IACX,SAAS;IACT,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,eAAe;IACf,cAAc;IACd,mBAAmB;IACnB,YAAY;CACb,CAAC,CAAC;AA8DL,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,oCAAoC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,WAA0B;IAE1B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAY,MAAM,CAAC,CAAC;IACnE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAGxD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;IAGrD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IAG7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/D,cAAc,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YAE/C,MAAM;iBACH,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACX,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACnB,IAAI,IAAI;wBAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEL,WAAW,CAAC,iBAAiB,CAAC;gBAC5B,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACzC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAAI,mBAAmB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,CAAU,EAAE,EAAE;QACb,qBAAqB,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,CAAU,EAAE,EAAE;QACb,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,aAAwB,EAAE,EAAE;QAC5D,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,IAAU,EAAE,EAAE;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAE,QAA+B,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,aAAa,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI;gBAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,iBAAiB;aACd,WAAW,CAAC;YACX,OAAO;YACP,OAAO;YACP,aAAa;YACb,GAAG;YACH,UAAU;YACV,SAAS;SACV,CAAC;aACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CACL,QAA+B,CAAC,KAAK,IAAI,sBAAsB,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,EAAE;QACD,OAAO;QACP,OAAO;QACP,aAAa;QACb,GAAG;QACH,UAAU;QACV,SAAS;QACT,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI;gBAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAAa,EAAE,EAAE;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QAC1C,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,cAAc,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM;iBACH,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;iBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE;gBACX,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACnB,IAAI,IAAI;wBAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,MAAM,CAAC,CACf,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAA0B,EAAE;QAC5D,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1B,MAAM,YAAY,GAChB,iBAAiB,CAAC,SAAS;QAC3B,CAAC,UAAU,KAAK,IAAI;YAClB,UAAU,CAAC,MAAM,KAAK,MAAM;YAC5B,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAEnC,OAAO;QACL,OAAO;QACP,aAAa;QACb,GAAG;QACH,UAAU;QACV,SAAS;QACT,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC;QACzC,qBAAqB,EAAE,2BAA2B,CAAC,SAAS,CAAC;QAC7D,OAAO;QACP,WAAW,EAAE,cAAc,CAAC,SAAS;QACrC,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,UAAU;QACV,WAAW;QACX,IAAI;QACJ,KAAK;QACL,UAAU;QACV,gBAAgB;QAChB,MAAM;QACN,aAAa;QACb,YAAY;QACZ,MAAM;QACN,OAAO;QACP,KAAK;QACL,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/svgr_lib",
3
- "version": "0.0.39",
3
+ "version": "0.0.42",
4
4
  "description": "Shared business logic library for SVGR web and React Native apps",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,16 +35,16 @@
35
35
  "author": "John Huang",
36
36
  "license": "BUSL-1.1",
37
37
  "peerDependencies": {
38
- "@sudobility/svgr_client": "^1.0.33",
39
- "@sudobility/svgr_types": "^1.0.21",
38
+ "@sudobility/svgr_client": "^1.0.36",
39
+ "@sudobility/svgr_types": "^1.0.24",
40
40
  "@sudobility/types": "^1.9.62",
41
41
  "@tanstack/react-query": ">=5.0.0",
42
42
  "react": ">=18.0.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@eslint/js": "^9.39.2",
46
- "@sudobility/svgr_client": "^1.0.33",
47
- "@sudobility/svgr_types": "^1.0.21",
46
+ "@sudobility/svgr_client": "^1.0.36",
47
+ "@sudobility/svgr_types": "^1.0.24",
48
48
  "@sudobility/types": "^1.9.62",
49
49
  "@tanstack/react-query": "^5.90.5",
50
50
  "@types/node": "^24.9.1",