@cutting/svg 4.41.3 → 4.43.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.
- package/.turbo/turbo-build.log +21 -22
- package/CHANGELOG.md +5 -407
- package/{cutting-svg-4.41.3.tgz → cutting-svg-4.43.0.tgz} +0 -0
- package/dist/cjs/svg.cjs.development.js +61 -71
- package/dist/cjs/svg.cjs.development.js.map +1 -1
- package/dist/cjs/svg.cjs.production.min.js +1 -1
- package/dist/cjs/svg.cjs.production.min.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
[34m@cutting/svg:build: [0m
|
|
1
|
+
@cutting/svg:build: cache hit, replaying output d9f3a0515fa31f9d
|
|
2
|
+
@cutting/svg:build:
|
|
3
|
+
@cutting/svg:build: > @cutting/svg@4.43.0 build /home/runner/work/cuttingedge/cuttingedge/packages/svg
|
|
4
|
+
@cutting/svg:build: > NODE_ENV=production devtools rollup
|
|
5
|
+
@cutting/svg:build:
|
|
6
|
+
@cutting/svg:build: DEBUG using tsconfig.dist.json
|
|
7
|
+
@cutting/svg:build: WARNING emptying dist /home/runner/work/cuttingedge/cuttingedge/packages/svg/dist
|
|
8
|
+
@cutting/svg:build: START using input file index.ts for @cutting/svg
|
|
9
|
+
@cutting/svg:build:
|
|
10
|
+
@cutting/svg:build: INFO Generating @cutting/svg bundle.
|
|
11
|
+
@cutting/svg:build: INFO writing svg.cjs.development.js for @cutting/svg
|
|
12
|
+
@cutting/svg:build: INFO writing svg.cjs.production.min.js for @cutting/svg
|
|
13
|
+
@cutting/svg:build: INFO writing index.js for @cutting/svg
|
|
14
|
+
@cutting/svg:build: INFO writing index.js for @cutting/svg
|
|
15
|
+
@cutting/svg:build: No name was provided for external module 'react/jsx-runtime' in output.globals – guessing 'jsxRuntime'
|
|
16
|
+
@cutting/svg:build: No name was provided for external module '@babel/runtime/helpers/objectSpread2' in output.globals – guessing '_objectSpread'
|
|
17
|
+
@cutting/svg:build: No name was provided for external module '@babel/runtime/helpers/objectWithoutProperties' in output.globals – guessing '_objectWithoutProperties'
|
|
18
|
+
@cutting/svg:build: No name was provided for external module '@cutting/use-get-parent-size' in output.globals – guessing 'useGetParentSize'
|
|
19
|
+
@cutting/svg:build: No name was provided for external module 'classnames' in output.globals – guessing 'cx'
|
|
20
|
+
@cutting/svg:build: DONE finished building
|
|
21
|
+
@cutting/svg:build:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,415 +1,13 @@
|
|
|
1
1
|
# @cutting/svg
|
|
2
2
|
|
|
3
|
-
## 4.
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- Updated dependencies
|
|
8
|
-
- @cutting/util@4.43.0
|
|
9
|
-
- @cutting/use-get-parent-size@1.15.3
|
|
10
|
-
|
|
11
|
-
## 4.41.2
|
|
12
|
-
|
|
13
|
-
### Patch Changes
|
|
14
|
-
|
|
15
|
-
- Updated dependencies [b7c32b0d]
|
|
16
|
-
- @cutting/util@4.42.0
|
|
17
|
-
- @cutting/use-get-parent-size@1.15.2
|
|
18
|
-
|
|
19
|
-
## 4.41.1
|
|
20
|
-
|
|
21
|
-
### Patch Changes
|
|
22
|
-
|
|
23
|
-
- Updated dependencies [bdc75fe3]
|
|
24
|
-
- @cutting/util@4.41.0
|
|
25
|
-
- @cutting/use-get-parent-size@1.15.1
|
|
26
|
-
|
|
27
|
-
## 4.41.0
|
|
28
|
-
|
|
29
|
-
### Minor Changes
|
|
30
|
-
|
|
31
|
-
- d542ad8f: version
|
|
32
|
-
|
|
33
|
-
### Patch Changes
|
|
34
|
-
|
|
35
|
-
- Updated dependencies [d542ad8f]
|
|
36
|
-
- @cutting/use-get-parent-size@1.15.0
|
|
37
|
-
- @cutting/util@4.40.0
|
|
38
|
-
|
|
39
|
-
## 4.40.1
|
|
40
|
-
|
|
41
|
-
### Patch Changes
|
|
42
|
-
|
|
43
|
-
- Updated dependencies [22996a38]
|
|
44
|
-
- @cutting/use-get-parent-size@1.14.1
|
|
45
|
-
|
|
46
|
-
## 4.40.0
|
|
47
|
-
|
|
48
|
-
### Minor Changes
|
|
49
|
-
|
|
50
|
-
- is not well
|
|
51
|
-
|
|
52
|
-
### Patch Changes
|
|
53
|
-
|
|
54
|
-
- Updated dependencies
|
|
55
|
-
- @cutting/use-get-parent-size@1.14.0
|
|
56
|
-
- @cutting/util@4.39.0
|
|
57
|
-
|
|
58
|
-
## 4.39.1
|
|
59
|
-
|
|
60
|
-
### Patch Changes
|
|
61
|
-
|
|
62
|
-
- Updated dependencies [92d64693]
|
|
63
|
-
- @cutting/util@4.38.1
|
|
64
|
-
- @cutting/use-get-parent-size@1.13.1
|
|
65
|
-
|
|
66
|
-
## 4.39.0
|
|
67
|
-
|
|
68
|
-
### Minor Changes
|
|
69
|
-
|
|
70
|
-
- aaa
|
|
71
|
-
|
|
72
|
-
### Patch Changes
|
|
73
|
-
|
|
74
|
-
- Updated dependencies
|
|
75
|
-
- @cutting/use-get-parent-size@1.13.0
|
|
76
|
-
- @cutting/util@4.38.0
|
|
77
|
-
|
|
78
|
-
## 4.38.0
|
|
79
|
-
|
|
80
|
-
### Minor Changes
|
|
81
|
-
|
|
82
|
-
- e08c3939: again
|
|
83
|
-
|
|
84
|
-
### Patch Changes
|
|
85
|
-
|
|
86
|
-
- Updated dependencies [e08c3939]
|
|
87
|
-
- @cutting/use-get-parent-size@1.12.0
|
|
88
|
-
- @cutting/util@4.37.0
|
|
89
|
-
|
|
90
|
-
## 4.37.2
|
|
91
|
-
|
|
92
|
-
### Patch Changes
|
|
93
|
-
|
|
94
|
-
- Updated dependencies [578d0a1a]
|
|
95
|
-
- @cutting/util@4.36.0
|
|
96
|
-
- @cutting/use-get-parent-size@1.11.2
|
|
97
|
-
|
|
98
|
-
## 4.37.1
|
|
99
|
-
|
|
100
|
-
### Patch Changes
|
|
101
|
-
|
|
102
|
-
- dfb5f7bd: prefer workspace packages
|
|
103
|
-
- Updated dependencies [dfb5f7bd]
|
|
104
|
-
- @cutting/use-get-parent-size@1.11.1
|
|
105
|
-
- @cutting/util@4.35.0
|
|
106
|
-
|
|
107
|
-
## 4.37.0
|
|
108
|
-
|
|
109
|
-
### Minor Changes
|
|
110
|
-
|
|
111
|
-
- 72d1169e: run changesets
|
|
112
|
-
|
|
113
|
-
### Patch Changes
|
|
114
|
-
|
|
115
|
-
- Updated dependencies [72d1169e]
|
|
116
|
-
- @cutting/use-get-parent-size@1.11.0
|
|
117
|
-
- @cutting/util@4.34.0
|
|
118
|
-
|
|
119
|
-
## 4.36.0
|
|
120
|
-
|
|
121
|
-
### Minor Changes
|
|
122
|
-
|
|
123
|
-
- 11095849: component-library fixes
|
|
124
|
-
|
|
125
|
-
### Patch Changes
|
|
126
|
-
|
|
127
|
-
- Updated dependencies [11095849]
|
|
128
|
-
- @cutting/use-get-parent-size@1.10.0
|
|
129
|
-
- @cutting/util@4.33.0
|
|
130
|
-
|
|
131
|
-
## 4.35.0
|
|
132
|
-
|
|
133
|
-
### Minor Changes
|
|
134
|
-
|
|
135
|
-
- fe4c8c00: run pnpm -r update
|
|
136
|
-
|
|
137
|
-
### Patch Changes
|
|
138
|
-
|
|
139
|
-
- Updated dependencies [fe4c8c00]
|
|
140
|
-
- @cutting/use-get-parent-size@1.9.0
|
|
141
|
-
- @cutting/util@4.32.0
|
|
142
|
-
|
|
143
|
-
## 4.34.1
|
|
144
|
-
|
|
145
|
-
### Patch Changes
|
|
146
|
-
|
|
147
|
-
- e0188472: run changesets
|
|
148
|
-
- Updated dependencies [e0188472]
|
|
149
|
-
- @cutting/use-get-parent-size@1.8.1
|
|
150
|
-
- @cutting/util@4.31.2
|
|
151
|
-
|
|
152
|
-
## 4.34.0
|
|
153
|
-
|
|
154
|
-
### Minor Changes
|
|
155
|
-
|
|
156
|
-
- 8c139b38: rename elementRef parentRef
|
|
157
|
-
|
|
158
|
-
### Patch Changes
|
|
159
|
-
|
|
160
|
-
- Updated dependencies [8c139b38]
|
|
161
|
-
- @cutting/use-get-parent-size@1.8.0
|
|
162
|
-
|
|
163
|
-
## 4.33.0
|
|
164
|
-
|
|
165
|
-
### Minor Changes
|
|
166
|
-
|
|
167
|
-
- 96855ac9: rename elementRef parentRef
|
|
168
|
-
|
|
169
|
-
### Patch Changes
|
|
170
|
-
|
|
171
|
-
- Updated dependencies [96855ac9]
|
|
172
|
-
- @cutting/use-get-parent-size@1.7.0
|
|
173
|
-
|
|
174
|
-
## 4.32.1
|
|
175
|
-
|
|
176
|
-
### Patch Changes
|
|
177
|
-
|
|
178
|
-
- 0f3d2133: changesets fixes
|
|
179
|
-
- Updated dependencies [0f3d2133]
|
|
180
|
-
- @cutting/use-get-parent-size@1.6.11
|
|
181
|
-
- @cutting/util@4.31.1
|
|
182
|
-
|
|
183
|
-
## 4.32.0
|
|
184
|
-
|
|
185
|
-
### Minor Changes
|
|
186
|
-
|
|
187
|
-
- 3413251c: build in production
|
|
188
|
-
|
|
189
|
-
### Patch Changes
|
|
190
|
-
|
|
191
|
-
- Updated dependencies [3413251c]
|
|
192
|
-
- @cutting/util@4.31.0
|
|
193
|
-
- @cutting/use-get-parent-size@1.6.10
|
|
194
|
-
|
|
195
|
-
## 4.31.9
|
|
196
|
-
|
|
197
|
-
### Patch Changes
|
|
198
|
-
|
|
199
|
-
- Updated dependencies [e6a06fa0]
|
|
200
|
-
- @cutting/util@4.30.0
|
|
201
|
-
- @cutting/use-get-parent-size@1.6.9
|
|
202
|
-
|
|
203
|
-
## 4.31.8
|
|
204
|
-
|
|
205
|
-
### Patch Changes
|
|
206
|
-
|
|
207
|
-
- 128579ea: fix changesets
|
|
208
|
-
- Updated dependencies [128579ea]
|
|
209
|
-
- @cutting/use-get-parent-size@1.6.8
|
|
210
|
-
- @cutting/util@4.29.8
|
|
211
|
-
|
|
212
|
-
## 4.31.7
|
|
213
|
-
|
|
214
|
-
### Patch Changes
|
|
215
|
-
|
|
216
|
-
- 565b42ff: yes
|
|
217
|
-
- Updated dependencies [565b42ff]
|
|
218
|
-
- @cutting/use-get-parent-size@1.6.7
|
|
219
|
-
- @cutting/util@4.29.7
|
|
220
|
-
|
|
221
|
-
## 4.31.6
|
|
222
|
-
|
|
223
|
-
### Patch Changes
|
|
224
|
-
|
|
225
|
-
- 0bdf3e9d: yarn.lock
|
|
226
|
-
- 3bfd4f40: remove ignored packages
|
|
227
|
-
- Updated dependencies [0bdf3e9d]
|
|
228
|
-
- Updated dependencies [3bfd4f40]
|
|
229
|
-
- @cutting/use-get-parent-size@1.6.6
|
|
230
|
-
- @cutting/util@4.29.6
|
|
231
|
-
|
|
232
|
-
## 4.31.5
|
|
233
|
-
|
|
234
|
-
### Patch Changes
|
|
235
|
-
|
|
236
|
-
- Updated dependencies [fe3eba28]
|
|
237
|
-
- @cutting/util@4.29.5
|
|
238
|
-
- @cutting/use-get-parent-size@1.6.5
|
|
239
|
-
|
|
240
|
-
## 4.31.4
|
|
241
|
-
|
|
242
|
-
### Patch Changes
|
|
243
|
-
|
|
244
|
-
- 7262245f: consolidate versioning changes
|
|
245
|
-
- Updated dependencies [7262245f]
|
|
246
|
-
- @cutting/use-get-parent-size@1.6.4
|
|
247
|
-
- @cutting/util@4.29.4
|
|
248
|
-
|
|
249
|
-
## 4.31.3
|
|
250
|
-
|
|
251
|
-
### Patch Changes
|
|
252
|
-
|
|
253
|
-
- e8934df2: Add <Aliert />
|
|
254
|
-
- 7262245f: consolidate versioning changes
|
|
255
|
-
- Updated dependencies [e8934df2]
|
|
256
|
-
- Updated dependencies [7262245f]
|
|
257
|
-
- @cutting/use-get-parent-size@1.6.3
|
|
258
|
-
- @cutting/util@4.29.3
|
|
259
|
-
|
|
260
|
-
## 4.31.2
|
|
261
|
-
|
|
262
|
-
### Patch Changes
|
|
263
|
-
|
|
264
|
-
- 68080fa3: more
|
|
265
|
-
- Updated dependencies [68080fa3]
|
|
266
|
-
- @cutting/use-get-parent-size@1.6.2
|
|
267
|
-
- @cutting/util@4.29.2
|
|
268
|
-
|
|
269
|
-
## 4.31.1
|
|
270
|
-
|
|
271
|
-
### Patch Changes
|
|
272
|
-
|
|
273
|
-
- 8a44b1b8: add @cutting/vercel-wait-for-preview-url
|
|
274
|
-
- Updated dependencies [8a44b1b8]
|
|
275
|
-
- @cutting/use-get-parent-size@1.6.1
|
|
276
|
-
- @cutting/util@4.29.1
|
|
277
|
-
|
|
278
|
-
## 4.31.0
|
|
279
|
-
|
|
280
|
-
### Minor Changes
|
|
281
|
-
|
|
282
|
-
- 7edd9a89: upgrade to typescript 4.5
|
|
283
|
-
|
|
284
|
-
### Patch Changes
|
|
285
|
-
|
|
286
|
-
- Updated dependencies [7edd9a89]
|
|
287
|
-
- @cutting/use-get-parent-size@1.6.0
|
|
288
|
-
- @cutting/util@4.29.0
|
|
289
|
-
|
|
290
|
-
## 4.30.1
|
|
291
|
-
|
|
292
|
-
### Patch Changes
|
|
293
|
-
|
|
294
|
-
- Updated dependencies
|
|
295
|
-
- @cutting/util@4.28.2
|
|
296
|
-
- @cutting/use-get-parent-size@1.5.2
|
|
297
|
-
|
|
298
|
-
## 4.30.0
|
|
299
|
-
|
|
300
|
-
### Minor Changes
|
|
301
|
-
|
|
302
|
-
- Make innerRef Ref
|
|
303
|
-
|
|
304
|
-
## 4.29.1
|
|
305
|
-
|
|
306
|
-
### Patch Changes
|
|
307
|
-
|
|
308
|
-
- publish onBlur for component library
|
|
309
|
-
- Updated dependencies
|
|
310
|
-
- @cutting/use-get-parent-size@1.5.1
|
|
311
|
-
- @cutting/util@4.28.1
|
|
312
|
-
|
|
313
|
-
## 4.29.0
|
|
314
|
-
|
|
315
|
-
### Minor Changes
|
|
316
|
-
|
|
317
|
-
- clear vulnearabilities and upgrade effection
|
|
318
|
-
|
|
319
|
-
### Patch Changes
|
|
320
|
-
|
|
321
|
-
- Updated dependencies
|
|
322
|
-
- @cutting/use-get-parent-size@1.5.0
|
|
323
|
-
- @cutting/util@4.28.0
|
|
324
|
-
|
|
325
|
-
## 4.28.2
|
|
326
|
-
|
|
327
|
-
### Patch Changes
|
|
328
|
-
|
|
329
|
-
- eslint peerDependencies
|
|
330
|
-
- Updated dependencies
|
|
331
|
-
- @cutting/use-get-parent-size@1.4.2
|
|
332
|
-
- @cutting/util@4.27.2
|
|
333
|
-
|
|
334
|
-
## 4.28.1
|
|
335
|
-
|
|
336
|
-
### Patch Changes
|
|
337
|
-
|
|
338
|
-
- upgrade to webpack 5
|
|
339
|
-
- Updated dependencies
|
|
340
|
-
- @cutting/use-get-parent-size@1.4.1
|
|
341
|
-
- @cutting/util@4.27.1
|
|
342
|
-
|
|
343
|
-
## 4.28.0
|
|
344
|
-
|
|
345
|
-
### Minor Changes
|
|
346
|
-
|
|
347
|
-
- upgrade to new exports
|
|
348
|
-
|
|
349
|
-
### Patch Changes
|
|
350
|
-
|
|
351
|
-
- Updated dependencies
|
|
352
|
-
- @cutting/use-get-parent-size@1.4.0
|
|
353
|
-
- @cutting/util@4.27.0
|
|
354
|
-
|
|
355
|
-
## 4.27.1
|
|
356
|
-
|
|
357
|
-
### Patch Changes
|
|
358
|
-
|
|
359
|
-
- Updated dependencies [96c1f3d4fabbdad9315c8325a5951a9bcca2b0d8]
|
|
360
|
-
- @cutting/util@4.26.0
|
|
361
|
-
- @cutting/use-get-parent-size@1.3.1
|
|
362
|
-
|
|
363
|
-
## 4.26.1
|
|
364
|
-
|
|
365
|
-
### Patch Changes
|
|
366
|
-
|
|
367
|
-
- fix postcss vulnerabilities
|
|
368
|
-
- Updated dependencies
|
|
369
|
-
- @cutting/use-get-parent-size@1.2.1
|
|
370
|
-
- @cutting/util@4.24.2
|
|
371
|
-
|
|
372
|
-
## 4.26.0
|
|
373
|
-
|
|
374
|
-
### Minor Changes
|
|
375
|
-
|
|
376
|
-
- use-parent-get-size
|
|
377
|
-
|
|
378
|
-
### Patch Changes
|
|
379
|
-
|
|
380
|
-
- Updated dependencies
|
|
381
|
-
- @cutting/use-get-parent-size@1.2.0
|
|
382
|
-
|
|
383
|
-
## 4.25.1
|
|
384
|
-
|
|
385
|
-
### Patch Changes
|
|
386
|
-
|
|
387
|
-
- Updated dependencies
|
|
388
|
-
- @cutting/use-get-parent-size@1.1.0
|
|
389
|
-
|
|
390
|
-
## 4.25.0
|
|
391
|
-
|
|
392
|
-
### Minor Changes
|
|
393
|
-
|
|
394
|
-
- Add Point type
|
|
395
|
-
|
|
396
|
-
## 4.24.1
|
|
397
|
-
|
|
398
|
-
### Patch Changes
|
|
399
|
-
|
|
400
|
-
- Fix babel issues and include a umd build for browser
|
|
401
|
-
- Updated dependencies
|
|
402
|
-
- @cutting/hooks@4.24.2
|
|
403
|
-
- @cutting/util@4.24.1
|
|
404
|
-
|
|
405
|
-
## 4.24.0
|
|
3
|
+
## 4.43.0
|
|
406
4
|
|
|
407
5
|
### Minor Changes
|
|
408
6
|
|
|
409
|
-
-
|
|
7
|
+
- d98dd7d1: use browserlistrc and remove babel targets
|
|
410
8
|
|
|
411
9
|
### Patch Changes
|
|
412
10
|
|
|
413
|
-
- Updated dependencies
|
|
414
|
-
- @cutting/
|
|
415
|
-
- @cutting/
|
|
11
|
+
- Updated dependencies [d98dd7d1]
|
|
12
|
+
- @cutting/use-get-parent-size@1.17.0
|
|
13
|
+
- @cutting/util@4.46.0
|
|
Binary file
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
6
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
8
7
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
9
8
|
var react = require('react');
|
|
@@ -12,26 +11,25 @@ var cx = require('classnames');
|
|
|
12
11
|
|
|
13
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
14
13
|
|
|
15
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
|
|
16
14
|
var _objectSpread__default = /*#__PURE__*/_interopDefault(_objectSpread);
|
|
17
15
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWithoutProperties);
|
|
18
16
|
var cx__default = /*#__PURE__*/_interopDefault(cx);
|
|
19
17
|
|
|
20
18
|
function ResponsiveSVG(_ref) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
let {
|
|
20
|
+
height,
|
|
21
|
+
width,
|
|
22
|
+
children,
|
|
23
|
+
origin = {
|
|
24
|
+
x: 0,
|
|
25
|
+
y: 0
|
|
26
|
+
},
|
|
27
|
+
preserveAspectRatio = 'xMaxYMid meet',
|
|
28
|
+
innerRef,
|
|
29
|
+
className
|
|
30
|
+
} = _ref;
|
|
31
|
+
const aspect = width / height;
|
|
32
|
+
const adjustedHeight = Math.ceil(width / aspect);
|
|
35
33
|
return jsxRuntime.jsx("div", {
|
|
36
34
|
"data-selector": "cutting-svg-container",
|
|
37
35
|
style: {
|
|
@@ -52,9 +50,9 @@ function ResponsiveSVG(_ref) {
|
|
|
52
50
|
});
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
const _excluded$2 = ["debounceDelay"],
|
|
54
|
+
_excluded2 = ["parentRef", "children", "style", "scale", "align", "options"];
|
|
55
|
+
const DefaultStyle = {
|
|
58
56
|
display: 'flex',
|
|
59
57
|
flexDirection: 'column',
|
|
60
58
|
flexGrow: 1,
|
|
@@ -63,43 +61,36 @@ var DefaultStyle = {
|
|
|
63
61
|
overflow: 'hidden'
|
|
64
62
|
};
|
|
65
63
|
function ParentsizeSVG(_ref) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var _ref$options$debounce = _ref$options.debounceDelay,
|
|
78
|
-
debounceDelay = _ref$options$debounce === void 0 ? 50 : _ref$options$debounce,
|
|
79
|
-
optionsRest = _objectWithoutProperties__default["default"](_ref$options, _excluded$2),
|
|
64
|
+
let {
|
|
65
|
+
parentRef,
|
|
66
|
+
children,
|
|
67
|
+
style = DefaultStyle,
|
|
68
|
+
scale = 1,
|
|
69
|
+
align = 'none',
|
|
70
|
+
options: {
|
|
71
|
+
debounceDelay = 50
|
|
72
|
+
} = {}
|
|
73
|
+
} = _ref,
|
|
74
|
+
optionsRest = _objectWithoutProperties__default["default"](_ref.options, _excluded$2),
|
|
80
75
|
rest = _objectWithoutProperties__default["default"](_ref, _excluded2);
|
|
81
76
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
react.useEffect(
|
|
77
|
+
const {
|
|
78
|
+
width,
|
|
79
|
+
height
|
|
80
|
+
} = useGetParentSize.useParentSize(parentRef, _objectSpread__default["default"]({
|
|
81
|
+
debounceDelay
|
|
82
|
+
}, optionsRest));
|
|
83
|
+
react.useEffect(() => {
|
|
89
84
|
if (!parentRef.current) {
|
|
90
85
|
return;
|
|
91
86
|
}
|
|
92
87
|
|
|
93
|
-
for (
|
|
94
|
-
var _Object$entries$_i = _slicedToArray__default["default"](_Object$entries[_i], 2),
|
|
95
|
-
key = _Object$entries$_i[0],
|
|
96
|
-
value = _Object$entries$_i[1];
|
|
97
|
-
|
|
88
|
+
for (const [key, value] of Object.entries(style)) {
|
|
98
89
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
90
|
parentRef.current.style[key] = value;
|
|
100
91
|
}
|
|
101
92
|
}, [parentRef, style]);
|
|
102
|
-
|
|
93
|
+
const transform = align === 'center' ? "translate(".concat(width / 2, ",").concat(height / 2 - 20, ") scale(").concat(scale, ")") : "translate(0,0) scale(".concat(scale, ")");
|
|
103
94
|
return jsxRuntime.jsx(ResponsiveSVG, _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
104
95
|
width: width,
|
|
105
96
|
height: height
|
|
@@ -111,16 +102,16 @@ function ParentsizeSVG(_ref) {
|
|
|
111
102
|
}));
|
|
112
103
|
}
|
|
113
104
|
|
|
114
|
-
|
|
105
|
+
const _excluded$1 = ["y", "x", "transform", "className", "children", "innerRef"];
|
|
115
106
|
function Group(_ref) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
107
|
+
let {
|
|
108
|
+
y = 0,
|
|
109
|
+
x = 0,
|
|
110
|
+
transform,
|
|
111
|
+
className,
|
|
112
|
+
children,
|
|
113
|
+
innerRef
|
|
114
|
+
} = _ref,
|
|
124
115
|
restProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
125
116
|
|
|
126
117
|
return jsxRuntime.jsx("g", _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
@@ -132,25 +123,24 @@ function Group(_ref) {
|
|
|
132
123
|
}));
|
|
133
124
|
}
|
|
134
125
|
|
|
135
|
-
|
|
126
|
+
const _excluded = ["from", "to", "fill", "className", "innerRef"];
|
|
136
127
|
function Line(_ref) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
innerRef = _ref.innerRef,
|
|
128
|
+
let {
|
|
129
|
+
from = {
|
|
130
|
+
x: 0,
|
|
131
|
+
y: 0
|
|
132
|
+
},
|
|
133
|
+
to = {
|
|
134
|
+
x: 1,
|
|
135
|
+
y: 1
|
|
136
|
+
},
|
|
137
|
+
fill = 'transparent',
|
|
138
|
+
className,
|
|
139
|
+
innerRef
|
|
140
|
+
} = _ref,
|
|
151
141
|
restProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
152
142
|
|
|
153
|
-
|
|
143
|
+
const isRectilinear = from.x === to.x || from.y === to.y;
|
|
154
144
|
return jsxRuntime.jsx("line", _objectSpread__default["default"]({
|
|
155
145
|
ref: innerRef,
|
|
156
146
|
className: cx__default["default"]('visx-line', className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.cjs.development.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","height","width","children","origin","x","y","preserveAspectRatio","innerRef","className","aspect","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","ParentsizeSVG","parentRef","scale","align","options","debounceDelay","optionsRest","_objectWithoutProperties","_excluded","rest","useParentSize","_objectSpread","useEffect","current","Object","entries","_slicedToArray","key","value","transform","Group","restProps","cx","Line","from","to","fill","isRectilinear","x1","y1","x2","y2","shapeRendering"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"svg.cjs.development.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","height","width","children","origin","x","y","preserveAspectRatio","innerRef","className","aspect","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","ParentsizeSVG","parentRef","scale","align","options","debounceDelay","optionsRest","_excluded","rest","_objectWithoutProperties","useParentSize","_objectSpread","useEffect","current","key","value","Object","entries","transform","Group","restProps","cx","Line","from","to","fill","isRectilinear","x1","y1","x2","y2","shapeRendering"],"mappings":";;;;;;;;;;;;;;;;;AAmBgB,SAAAA,aAAA,CAQK,IAAA,EAAA;AAAA,EARS,IAAA;AAC5BC,IAAAA,MAD4B;AAE5BC,IAAAA,KAF4B;AAG5BC,IAAAA,QAH4B;AAI5BC,IAAAA,MAAM,GAAG;AAAEC,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE,CAAA;AAAX,KAJmB;AAK5BC,IAAAA,mBAAmB,GAAG,eALM;AAM5BC,IAAAA,QAN4B;AAO5BC,IAAAA,SAAAA;AAP4B,GAQT,GAAA,IAAA,CAAA;AACnB,EAAA,MAAMC,MAAM,GAAGR,KAAK,GAAGD,MAAvB,CAAA;AAEA,EAAMU,MAAAA,cAAc,GAAGC,IAAI,CAACC,IAAL,CAAUX,KAAK,GAAGQ,MAAlB,CAAvB,CAAA;AAEA,EACEI,OAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,IAAA,eAAA,EACgB,uBADhB;AAEEC,IAAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAAE,UADL;AAELC,MAAAA,QAAQ,EAAE,SAFL;AAGLhB,MAAAA,MAAM,EAAE,KAAA;AAHH,KAFT;AAMGE,IAAAA,QAAA,EAEDW;AACEC,MAAAA,KAAK,EAAE;AAAEE,QAAAA,QAAQ,EAAE,SAAA;AAAZ;AACPR,MAAAA,SAAS,EAAEA;AACXF,MAAAA,mBAAmB,EAAEA;AACrBW,MAAAA,OAAO,EAAA,EAAA,CAAA,MAAA,CAAKd,MAAM,CAACC,CAAZ,EAAA,GAAA,CAAA,CAAA,MAAA,CAAiBD,MAAM,CAACE,CAAxB,EAAA,GAAA,CAAA,CAAA,MAAA,CAA6BJ,KAA7B,EAAA,GAAA,CAAA,CAAA,MAAA,CAAsCS,cAAtC;AACPQ,MAAAA,GAAG,EAAEX;AAAQL,MAAAA,QAAA,EAEZA,QAAAA;;AAfL,GAAA,CADF,CAAA;AAoBD;;;;ACnCM,MAAMiB,YAAY,GAAkB;AACzCC,EAAAA,OAAO,EAAE,MADgC;AAEzCC,EAAAA,aAAa,EAAE,QAF0B;AAGzCC,EAAAA,QAAQ,EAAE,CAH+B;AAIzCC,EAAAA,UAAU,EAAE,CAJ6B;AAKzCC,EAAAA,SAAS,EAAE,IAL8B;AAMzCR,EAAAA,QAAQ,EAAE,QAAA;AAN+B,CAApC,CAAA;AASS,SAAAS,aAAA,CAQ2B,IAAA,EAAA;AAAA,EARU,IAAA;AACnDC,IAAAA,SADmD;AAEnDxB,IAAAA,QAFmD;AAGnDY,IAAAA,KAAK,GAAGK,YAH2C;AAInDQ,IAAAA,KAAK,GAAG,CAJ2C;AAKnDC,IAAAA,KAAK,GAAG,MAL2C;AAMnDC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,aAAa,GAAG,EAAA;AAAlB,KAAyC,GAAA,EAAA;AANC,GAQV,GAAA,IAAA;AAAA,MAFPC,WAEO,qDAFzCF,OAEyC,EAAAG,WAAA,CAAA;AAAA,MADtCC,IACsC,GAAAC,4CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;;AACzC,EAAM,MAAA;AAAEjC,IAAAA,KAAF;AAASD,IAAAA,MAAAA;AAAT,GAAoBmC,GAAAA,8BAAa,CAACT,SAAD,EAAAU,iCAAA,CAAA;AAAcN,IAAAA,aAAAA;AAAd,GAAA,EAAgCC,WAAhC,CAAvC,CAAA,CAAA;AAEAM,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAI,CAACX,SAAS,CAACY,OAAf,EAAwB;AACtB,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,KAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAe5B,KAAf,CAA3B,EAAkD;AAChD;AACAY,MAAAA,SAAS,CAACY,OAAV,CAAkBxB,KAAlB,CAAwByB,GAAxB,IAAsCC,KAAtC,CAAA;AACD,KAAA;AACF,GATQ,EASN,CAACd,SAAD,EAAYZ,KAAZ,CATM,CAAT,CAAA;AAWA,EAAA,MAAM6B,SAAS,GACbf,KAAK,KAAK,QAAV,GAAA,YAAA,CAAA,MAAA,CACiB3B,KAAK,GAAG,CADzB,cAC8BD,MAAM,GAAG,CAAT,GAAa,EAD3C,qBACwD2B,KADxD,EAAA,GAAA,CAAA,GAAA,uBAAA,CAAA,MAAA,CAE4BA,KAF5B,EADF,GAAA,CAAA,CAAA;AAKA,EACEd,OAAAA,eAACd;AAAcE,IAAAA,KAAK,EAAEA;AAAOD,IAAAA,MAAM,EAAEA,MAAAA;KAAYiC;AAAI/B,IAAAA,QAAA,EACnDW,cAAG,CAAA,GAAA,EAAA;AAAA8B,MAAAA,SAAS,EAAEA,SAAX;gBAAuBzC,QAAAA;AAAvB,KAAA,CAAA;GAFP,CAAA,CAAA,CAAA;AAKD;;;AC1CK,SAAU0C,KAAV,CAQO,IAAA,EAAA;AAAA,EARS,IAAA;AACpBvC,IAAAA,CAAC,GAAG,CADgB;AAEpBD,IAAAA,CAAC,GAAG,CAFgB;AAGpBuC,IAAAA,SAHoB;AAIpBnC,IAAAA,SAJoB;AAKpBN,IAAAA,QALoB;AAMpBK,IAAAA,QAAAA;AANoB,GAQT,GAAA,IAAA;AAAA,MADRsC,SACQ,GAAAX,4CAAA,CAAA,IAAA,EAAAF,WAAA,CAAA,CAAA;;AACX,EACEnB,OAAAA,cAAA,CAAA,GAAA,EAAAuB,iCAAA,CAAAA,iCAAA,CAAA;AACElB,IAAAA,GAAG,EAAEX,QADP;AAEEC,IAAAA,SAAS,EAAEsC,sBAAE,CAAC,YAAD,EAAetC,SAAf,CAFf;AAGEmC,IAAAA,SAAS,EAAEA,SAAS,IAAiBvC,YAAAA,CAAAA,MAAAA,CAAAA,CAAjB,eAAuBC,CAAvB,EAAA,GAAA,CAAA;AAHtB,GAAA,EAIMwC,SAJN,CAAA,EAAA,EAAA,EAAA;AAIe3C,IAAAA,QAAA,EAEZA,QAAAA;AANH,GADF,CAAA,CAAA,CAAA;AAUD;;;SCtBe6C,KAOyB,IAAA,EAAA;AAAA,EAPpB,IAAA;AACnBC,IAAAA,IAAI,GAAG;AAAE5C,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE,CAAA;AAAX,KADY;AAEnB4C,IAAAA,EAAE,GAAG;AAAE7C,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE,CAAA;AAAX,KAFc;AAGnB6C,IAAAA,IAAI,GAAG,aAHY;AAInB1C,IAAAA,SAJmB;AAKnBD,IAAAA,QAAAA;AALmB,GAOoB,GAAA,IAAA;AAAA,MADpCsC,SACoC,GAAAX,4CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;AACvC,EAAA,MAAMiB,aAAa,GAAGH,IAAI,CAAC5C,CAAL,KAAW6C,EAAE,CAAC7C,CAAd,IAAmB4C,IAAI,CAAC3C,CAAL,KAAW4C,EAAE,CAAC5C,CAAvD,CAAA;AAEA,EACEQ,OAAAA,cACE,CAAA,MAAA,EAAAuB,iCAAA,CAAA;AAAAlB,IAAAA,GAAG,EAAEX,QAAL;AACAC,IAAAA,SAAS,EAAEsC,sBAAE,CAAC,WAAD,EAActC,SAAd,CADb;AAEA4C,IAAAA,EAAE,EAAEJ,IAAI,CAAC5C,CAFT;AAGAiD,IAAAA,EAAE,EAAEL,IAAI,CAAC3C,CAHT;AAIAiD,IAAAA,EAAE,EAAEL,EAAE,CAAC7C,CAJP;AAKAmD,IAAAA,EAAE,EAAEN,EAAE,CAAC5C,CALP;AAMA6C,IAAAA,IAAI,EAAEA,IANN;AAOAM,IAAAA,cAAc,EAAEL,aAAa,GAAG,YAAH,GAAkB,MAAA;AAP/C,GAAA,EAQIN,SARJ,CAFJ,CAAA,CAAA;AAaD;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@babel/runtime/helpers/objectSpread2"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),s=require("@cutting/use-get-parent-size"),a=require("classnames");function i(e){return e&&e.__esModule?e:{default:e}}var l=i(t),c=i(r),o=i(a);function f(t){let{height:r,width:n,children:s,origin:a={x:0,y:0},preserveAspectRatio:i="xMaxYMid meet",innerRef:l,className:c}=t;const o=Math.ceil(n/(n/r));return e.jsx("div",{"data-selector":"cutting-svg-container",style:{position:"relative",overflow:"visible",height:"1px"},children:e.jsx("svg",{style:{overflow:"visible"},className:c,preserveAspectRatio:i,viewBox:"".concat(a.x," ").concat(a.y," ").concat(n," ").concat(o),ref:l,children:s})})}const u=["debounceDelay"],d=["parentRef","children","style","scale","align","options"],x={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"},p=["y","x","transform","className","children","innerRef"],h=["from","to","fill","className","innerRef"];exports.Group=function(t){let{y:r=0,x:n=0,transform:s,className:a,children:i,innerRef:f}=t,u=c.default(t,p);return e.jsx("g",l.default(l.default({ref:f,className:o.default("visx-group",a),transform:s||"translate(".concat(n,", ").concat(r,")")},u),{},{children:i}))},exports.Line=function(t){let{from:r={x:0,y:0},to:n={x:1,y:1},fill:s="transparent",className:a,innerRef:i}=t,f=c.default(t,h);const u=r.x===n.x||r.y===n.y;return e.jsx("line",l.default({ref:i,className:o.default("visx-line",a),x1:r.x,y1:r.y,x2:n.x,y2:n.y,fill:s,shapeRendering:u?"crispEdges":"auto"},f))},exports.ParentsizeSVG=function(t){let{parentRef:r,children:a,style:i=x,scale:o=1,align:p="none",options:{debounceDelay:h=50}={}}=t,y=c.default(t.options,u),m=c.default(t,d);const{width:v,height:g}=s.useParentSize(r,l.default({debounceDelay:h},y));n.useEffect((()=>{if(r.current)for(const[e,t]of Object.entries(i))r.current.style[e]=t}),[r,i]);const b="center"===p?"translate(".concat(v/2,",").concat(g/2-20,") scale(").concat(o,")"):"translate(0,0) scale(".concat(o,")");return e.jsx(f,l.default(l.default({width:v,height:g},m),{},{children:e.jsx("g",{transform:b,children:a})}))},exports.ResponsiveSVG=f;
|
|
2
2
|
//# sourceMappingURL=svg.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.cjs.production.min.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","
|
|
1
|
+
{"version":3,"file":"svg.cjs.production.min.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","origin","x","y","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","transform","restProps","_objectWithoutProperties","_excluded","_objectSpread","cx","from","to","fill","isRectilinear","jsx","x1","y1","x2","y2","shapeRendering","parentRef","scale","align","options","debounceDelay","optionsRest","rest","_excluded2","useParentSize","useEffect","current","key","value","Object","entries"],"mappings":"sXAmBgB,SAAAA,EAQKC,GARS,IAAAC,OAC5BA,EAD4BC,MAE5BA,EAF4BC,SAG5BA,EAH4BC,OAI5BA,EAAS,CAAEC,EAAG,EAAGC,EAAG,GAJQC,oBAK5BA,EAAsB,gBALMC,SAM5BA,EAN4BC,UAO5BA,GACmBT,EACnB,MAEMU,EAAiBC,KAAKC,KAAKV,GAFlBA,EAAQD,IAKrBY,OAAAA,EAAAA,IAAA,MAAA,CAAA,gBACgB,wBACdC,MAAO,CACLC,SAAU,WACVC,SAAU,UACVf,OAAQ,OACTE,SAEDU,aACEC,MAAO,CAAEE,SAAU,WACnBP,UAAWA,EACXF,oBAAqBA,EACrBU,QAAO,GAAAC,OAAKd,EAAOC,EAAZ,KAAAa,OAAiBd,EAAOE,EAAxB,KAAAY,OAA6BhB,EAA7B,KAAAgB,OAAsCR,GAC7CS,IAAKX,EAAQL,SAEZA,6FC/BIiB,EAA8B,CACzCC,QAAS,OACTC,cAAe,SACfC,SAAU,EACVC,WAAY,EACZC,UAAW,KACXT,SAAU,gICPN,SAQOhB,GARS,IAAAM,EACpBA,EAAI,EADgBD,EAEpBA,EAAI,EAFgBqB,UAGpBA,EAHoBjB,UAIpBA,EAJoBN,SAKpBA,EALoBK,SAMpBA,GAEWR,EADR2B,EACQC,EAAA,QAAA5B,EAAA6B,GAEThB,OAAAA,MAAA,IAAAiB,EAAA,QAAAA,UAAA,CACEX,IAAKX,EACLC,UAAWsB,EAAAA,QAAG,aAActB,GAC5BiB,UAAWA,GAA0BrB,aAAAA,OAAAA,eAAMC,EAAvB,MAChBqB,GAJN,GAAA,CAIexB,SAEZA,4BCZkCH,GAPpB,IAAAgC,KACnBA,EAAO,CAAE3B,EAAG,EAAGC,EAAG,GADC2B,GAEnBA,EAAK,CAAE5B,EAAG,EAAGC,EAAG,GAFG4B,KAGnBA,EAAO,cAHYzB,UAInBA,EAJmBD,SAKnBA,GAEuCR,EADpC2B,EACoCC,EAAA,QAAA5B,EAAA6B,GACvC,MAAMM,EAAgBH,EAAK3B,IAAM4B,EAAG5B,GAAK2B,EAAK1B,IAAM2B,EAAG3B,EAGrDO,OAAAA,EACEuB,IAAA,OAAAN,UAAA,CAAAX,IAAKX,EACLC,UAAWsB,EAAAA,QAAG,YAAatB,GAC3B4B,GAAIL,EAAK3B,EACTiC,GAAIN,EAAK1B,EACTiC,GAAIN,EAAG5B,EACPmC,GAAIP,EAAG3B,EACP4B,KAAMA,EACNO,eAAgBN,EAAgB,aAAe,QAC3CR,2BFPM,SAQ2B3B,GARU,IAAA0C,UACnDA,EADmDvC,SAEnDA,EAFmDW,MAGnDA,EAAQM,EAH2CuB,MAInDA,EAAQ,EAJ2CC,MAKnDA,EAAQ,OACRC,SAASC,cAAEA,EAAgB,IAAuB,IAET9C,EAFP+C,cAAlCF,QAEyChB,GADtCmB,EACsCpB,EAAA,QAAA5B,EAAAiD,GACnC,MAAA/C,MAAEA,EAAFD,OAASA,GAAWiD,EAAaA,cAACR,EAADZ,UAAA,CAAcgB,cAAAA,GAAkBC,IAEvEI,EAAAA,WAAU,KACR,GAAKT,EAAUU,QAIf,IAAK,MAAOC,EAAKC,KAAUC,OAAOC,QAAQ1C,GAExC4B,EAAUU,QAAQtC,MAAMuC,GAAcC,IAEvC,CAACZ,EAAW5B,IAEf,MAAMY,EACM,WAAVkB,EAAA,aAAA1B,OACiBhB,EAAQ,cAAKD,EAAS,EAAI,sBAAa0C,EADxD,KAAA,wBAAAzB,OAE4ByB,EAH9B,KAME9B,OAAAA,MAACd,uBAAcG,MAAOA,EAAOD,OAAQA,GAAY+C,OAAI7C,SACnDU,EAAGuB,IAAA,IAAA,CAAAV,UAAWA,WAAYvB"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"@babel/runtime/helpers/esm/objectSpread2";import n from"@babel/runtime/helpers/esm/objectWithoutProperties";import{useEffect as r}from"react";import{useParentSize as i}from"@cutting/use-get-parent-size";import o from"classnames";function c(t){let{height:n,width:r,children:i,origin:o={x:0,y:0},preserveAspectRatio:c="xMaxYMid meet",innerRef:s,className:a}=t;const l=Math.ceil(r/(r/n));return e("div",{"data-selector":"cutting-svg-container",style:{position:"relative",overflow:"visible",height:"1px"},children:e("svg",{style:{overflow:"visible"},className:a,preserveAspectRatio:c,viewBox:"".concat(o.x," ").concat(o.y," ").concat(r," ").concat(l),ref:s,children:i})})}const s=["debounceDelay"],a=["parentRef","children","style","scale","align","options"],l={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"};function f(o){let{parentRef:f,children:m,style:h=l,scale:p=1,align:d="none",options:{debounceDelay:x=50}={}}=o,u=n(o.options,s),y=n(o,a);const{width:g,height:v}=i(f,t({debounceDelay:x},u));r((()=>{if(f.current)for(const[e,t]of Object.entries(h))f.current.style[e]=t}),[f,h]);const b="center"===d?"translate(".concat(g/2,",").concat(v/2-20,") scale(").concat(p,")"):"translate(0,0) scale(".concat(p,")");return e(c,t(t({width:g,height:v},y),{},{children:e("g",{transform:b,children:m})}))}const m=["y","x","transform","className","children","innerRef"];function h(r){let{y:i=0,x:c=0,transform:s,className:a,children:l,innerRef:f}=r,h=n(r,m);return e("g",t(t({ref:f,className:o("visx-group",a),transform:s||"translate(".concat(c,", ").concat(i,")")},h),{},{children:l}))}const p=["from","to","fill","className","innerRef"];function d(r){let{from:i={x:0,y:0},to:c={x:1,y:1},fill:s="transparent",className:a,innerRef:l}=r,f=n(r,p);const m=i.x===c.x||i.y===c.y;return e("line",t({ref:l,className:o("visx-line",a),x1:i.x,y1:i.y,x2:c.x,y2:c.y,fill:s,shapeRendering:m?"crispEdges":"auto"},f))}export{h as Group,d as Line,f as ParentsizeSVG,c as ResponsiveSVG};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","origin","x","y","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","ParentsizeSVG","parentRef","scale","align","options","debounceDelay","optionsRest","_excluded","rest","_objectWithoutProperties","_excluded2","useParentSize","_objectSpread","useEffect","current","key","value","Object","entries","transform","Group","restProps","cx","Line","from","to","fill","isRectilinear","x1","y1","x2","y2","shapeRendering"],"mappings":"2RAmBgB,SAAAA,EAQKC,GARS,IAAAC,OAC5BA,EAD4BC,MAE5BA,EAF4BC,SAG5BA,EAH4BC,OAI5BA,EAAS,CAAEC,EAAG,EAAGC,EAAG,GAJQC,oBAK5BA,EAAsB,gBALMC,SAM5BA,EAN4BC,UAO5BA,GACmBT,EACnB,MAEMU,EAAiBC,KAAKC,KAAKV,GAFlBA,EAAQD,IAKrBY,OAAAA,EAAA,MAAA,CAAA,gBACgB,wBACdC,MAAO,CACLC,SAAU,WACVC,SAAU,UACVf,OAAQ,OACTE,SAEDU,SACEC,MAAO,CAAEE,SAAU,WACnBP,UAAWA,EACXF,oBAAqBA,EACrBU,QAAO,GAAAC,OAAKd,EAAOC,EAAZ,KAAAa,OAAiBd,EAAOE,EAAxB,KAAAY,OAA6BhB,EAA7B,KAAAgB,OAAsCR,GAC7CS,IAAKX,EAAQL,SAEZA,6FC/BIiB,EAA8B,CACzCC,QAAS,OACTC,cAAe,SACfC,SAAU,EACVC,WAAY,EACZC,UAAW,KACXT,SAAU,UAGI,SAAAU,EAQ2B1B,GARU,IAAA2B,UACnDA,EADmDxB,SAEnDA,EAFmDW,MAGnDA,EAAQM,EAH2CQ,MAInDA,EAAQ,EAJ2CC,MAKnDA,EAAQ,OACRC,SAASC,cAAEA,EAAgB,IAAuB,IAET/B,EAFPgC,MAAlCF,QAEyCG,GADtCC,EACsCC,EAAAnC,EAAAoC,GACnC,MAAAlC,MAAEA,EAAFD,OAASA,GAAWoC,EAAcV,EAADW,EAAA,CAAcP,cAAAA,GAAkBC,IAEvEO,GAAU,KACR,GAAKZ,EAAUa,QAIf,IAAK,MAAOC,EAAKC,KAAUC,OAAOC,QAAQ9B,GAExCa,EAAUa,QAAQ1B,MAAM2B,GAAcC,IAEvC,CAACf,EAAWb,IAEf,MAAM+B,EACM,WAAVhB,EAAA,aAAAX,OACiBhB,EAAQ,cAAKD,EAAS,EAAI,sBAAa2B,EADxD,KAAA,wBAAAV,OAE4BU,EAH9B,KAMEf,OAAAA,EAACd,OAAcG,MAAOA,EAAOD,OAAQA,GAAYiC,OAAI/B,SACnDU,EAAG,IAAA,CAAAgC,UAAWA,WAAY1C,uECvC1B,SAAU2C,EAQH9C,GARS,IAAAM,EACpBA,EAAI,EADgBD,EAEpBA,EAAI,EAFgBwC,UAGpBA,EAHoBpC,UAIpBA,EAJoBN,SAKpBA,EALoBK,SAMpBA,GAEWR,EADR+C,EACQZ,EAAAnC,EAAAiC,GAETpB,OAAAA,EAAA,IAAAyB,EAAAA,EAAA,CACEnB,IAAKX,EACLC,UAAWuC,EAAG,aAAcvC,GAC5BoC,UAAWA,GAA0BxC,aAAAA,OAAAA,eAAMC,EAAvB,MAChByC,GAJN,GAAA,CAIe5C,SAEZA,kECnBS8C,EAOyBjD,GAPpB,IAAAkD,KACnBA,EAAO,CAAE7C,EAAG,EAAGC,EAAG,GADC6C,GAEnBA,EAAK,CAAE9C,EAAG,EAAGC,EAAG,GAFG8C,KAGnBA,EAAO,cAHY3C,UAInBA,EAJmBD,SAKnBA,GAEuCR,EADpC+C,EACoCZ,EAAAnC,EAAAiC,GACvC,MAAMoB,EAAgBH,EAAK7C,IAAM8C,EAAG9C,GAAK6C,EAAK5C,IAAM6C,EAAG7C,EAGrDO,OAAAA,EACE,OAAAyB,EAAA,CAAAnB,IAAKX,EACLC,UAAWuC,EAAG,YAAavC,GAC3B6C,GAAIJ,EAAK7C,EACTkD,GAAIL,EAAK5C,EACTkD,GAAIL,EAAG9C,EACPoD,GAAIN,EAAG7C,EACP8C,KAAMA,EACNM,eAAgBL,EAAgB,aAAe,QAC3CN"}
|
package/dist/umd/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("@babel/runtime/helpers/
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@cutting/use-get-parent-size"),require("classnames")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/objectWithoutProperties","react","@cutting/use-get-parent-size","classnames"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@cutting/svg"]={},e.jsxRuntime,e._objectSpread,e._objectWithoutProperties,e.React,e.useGetParentSize,e.cx)}(this,(function(e,t,n,r,i,s,a){"use strict";function c(e){return e&&e.__esModule?e:{default:e}}var l=c(n),o=c(r),u=c(a);function f(e){let{height:n,width:r,children:i,origin:s={x:0,y:0},preserveAspectRatio:a="xMaxYMid meet",innerRef:c,className:l}=e;const o=Math.ceil(r/(r/n));return t.jsx("div",{"data-selector":"cutting-svg-container",style:{position:"relative",overflow:"visible",height:"1px"},children:t.jsx("svg",{style:{overflow:"visible"},className:l,preserveAspectRatio:a,viewBox:"".concat(s.x," ").concat(s.y," ").concat(r," ").concat(o),ref:c,children:i})})}const d=["debounceDelay"],p=["parentRef","children","style","scale","align","options"],x={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"},h=["y","x","transform","className","children","innerRef"],m=["from","to","fill","className","innerRef"];e.Group=function(e){let{y:n=0,x:r=0,transform:i,className:s,children:a,innerRef:c}=e,f=o.default(e,h);return t.jsx("g",l.default(l.default({ref:c,className:u.default("visx-group",s),transform:i||"translate(".concat(r,", ").concat(n,")")},f),{},{children:a}))},e.Line=function(e){let{from:n={x:0,y:0},to:r={x:1,y:1},fill:i="transparent",className:s,innerRef:a}=e,c=o.default(e,m);const f=n.x===r.x||n.y===r.y;return t.jsx("line",l.default({ref:a,className:u.default("visx-line",s),x1:n.x,y1:n.y,x2:r.x,y2:r.y,fill:i,shapeRendering:f?"crispEdges":"auto"},c))},e.ParentsizeSVG=function(e){let{parentRef:n,children:r,style:a=x,scale:c=1,align:u="none",options:{debounceDelay:h=50}={}}=e,m=o.default(e.options,d),y=o.default(e,p);const{width:b,height:g}=s.useParentSize(n,l.default({debounceDelay:h},m));i.useEffect((()=>{if(n.current)for(const[e,t]of Object.entries(a))n.current.style[e]=t}),[n,a]);const j="center"===u?"translate(".concat(b/2,",").concat(g/2-20,") scale(").concat(c,")"):"translate(0,0) scale(".concat(c,")");return t.jsx(f,l.default(l.default({width:b,height:g},y),{},{children:t.jsx("g",{transform:j,children:r})}))},e.ResponsiveSVG=f}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/umd/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/ResponsiveSVG/ResponsiveSVG.tsx","../../src/components/ParentsizeSVG/ParentsizeSVG.tsx","../../src/components/Group/Group.tsx","../../src/components/Line/Line.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { PreserveAspectRatio } from '../../types/types';\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface ResponsiveSVGProps {\n width: number;\n height: number;\n origin?: Point;\n preserveAspectRatio?: PreserveAspectRatio;\n innerRef?: Ref<SVGSVGElement>;\n className?: string;\n hide?: boolean;\n children: ReactNode;\n}\n\nexport function ResponsiveSVG({\n height,\n width,\n children,\n origin = { x: 0, y: 0 },\n preserveAspectRatio = 'xMaxYMid meet',\n innerRef,\n className,\n}: ResponsiveSVGProps): JSX.Element {\n const aspect = width / height;\n\n const adjustedHeight = Math.ceil(width / aspect);\n\n return (\n <div\n data-selector=\"cutting-svg-container\"\n style={{\n position: 'relative',\n overflow: 'visible',\n height: '1px',\n }}\n >\n <svg\n style={{ overflow: 'visible' }}\n className={className}\n preserveAspectRatio={preserveAspectRatio}\n viewBox={`${origin.x} ${origin.y} ${width} ${adjustedHeight}`}\n ref={innerRef}\n >\n {children}\n </svg>\n </div>\n );\n}\n","import type { CSSProperties, PropsWithChildren, RefObject } from 'react';\nimport { useEffect } from 'react';\nimport type { UseParentSizeOptions } from '@cutting/use-get-parent-size';\nimport { useParentSize } from '@cutting/use-get-parent-size';\nimport type { ResponsiveSVGProps } from '../ResponsiveSVG/ResponsiveSVG';\nimport { ResponsiveSVG } from '../ResponsiveSVG/ResponsiveSVG';\n\ntype Align = 'none' | 'center';\n\nexport type ParentsizeSVGProps<E extends HTMLElement = HTMLElement> = {\n parentRef: RefObject<E>;\n style?: CSSProperties;\n align?: Align;\n scale?: number;\n options?: Partial<UseParentSizeOptions>;\n} & Partial<Omit<ResponsiveSVGProps, 'innerRef' | 'height' | 'height'>>;\n\nexport const DefaultStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: '0%',\n overflow: 'hidden',\n} as const;\n\nexport function ParentsizeSVG<E extends HTMLElement>({\n parentRef,\n children,\n style = DefaultStyle,\n scale = 1,\n align = 'none',\n options: { debounceDelay = 50, ...optionsRest } = {},\n ...rest\n}: PropsWithChildren<ParentsizeSVGProps<E>>): JSX.Element | null {\n const { width, height } = useParentSize(parentRef, { debounceDelay, ...optionsRest });\n\n useEffect(() => {\n if (!parentRef.current) {\n return;\n }\n\n for (const [key, value] of Object.entries(style)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentRef.current.style[key as any] = value;\n }\n }, [parentRef, style]);\n\n const transform =\n align === 'center'\n ? `translate(${width / 2},${height / 2 - 20}) scale(${scale})`\n : `translate(0,0) scale(${scale})`;\n\n return (\n <ResponsiveSVG width={width} height={height} {...rest}>\n <g transform={transform}>{children}</g>\n </ResponsiveSVG>\n );\n}\n","import cx from 'classnames';\n\ntype GroupOnlyProps = {\n /** Top offset applied to `<g/>`. */\n y?: number;\n /** Left offset applied to `<g/>`. */\n x?: number;\n /** Override `x` and `y` to provide the entire `transform` string. */\n transform?: string;\n className?: string;\n children?: React.ReactNode;\n innerRef?: React.Ref<SVGGElement>;\n};\n\ntype GroupProps = GroupOnlyProps & Omit<React.SVGProps<SVGGElement>, keyof GroupOnlyProps>;\n\nexport function Group({\n y = 0,\n x = 0,\n transform,\n className,\n children,\n innerRef,\n ...restProps\n}: GroupProps): JSX.Element {\n return (\n <g\n ref={innerRef}\n className={cx('visx-group', className)}\n transform={transform || `translate(${x}, ${y})`}\n {...restProps}\n >\n {children}\n </g>\n );\n}\n","import cx from 'classnames';\nimport type { AddSVGProps, Point } from '../../types/types';\n\nexport type LineProps = {\n className?: string;\n innerRef?: React.Ref<SVGLineElement>;\n fill?: string;\n /** Starting x,y point of the line. */\n from?: Point;\n /** Ending x,y point of the line. */\n to?: Point;\n};\n\nexport function Line({\n from = { x: 0, y: 0 },\n to = { x: 1, y: 1 },\n fill = 'transparent',\n className,\n innerRef,\n ...restProps\n}: AddSVGProps<LineProps, SVGLineElement>): JSX.Element {\n const isRectilinear = from.x === to.x || from.y === to.y;\n\n return (\n <line\n ref={innerRef}\n className={cx('visx-line', className)}\n x1={from.x}\n y1={from.y}\n x2={to.x}\n y2={to.y}\n fill={fill}\n shapeRendering={isRectilinear ? 'crispEdges' : 'auto'}\n {...restProps}\n />\n );\n}\n"],"names":["ResponsiveSVG","_ref","height","width","children","origin","x","y","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","transform","restProps","_objectWithoutProperties","_excluded","_objectSpread","cx","from","to","fill","isRectilinear","jsx","x1","y1","x2","y2","shapeRendering","parentRef","scale","align","options","debounceDelay","optionsRest","rest","_excluded2","useParentSize","useEffect","current","key","value","Object","entries"],"mappings":"6xBAmBgB,SAAAA,EAQKC,GARS,IAAAC,OAC5BA,EAD4BC,MAE5BA,EAF4BC,SAG5BA,EAH4BC,OAI5BA,EAAS,CAAEC,EAAG,EAAGC,EAAG,GAJQC,oBAK5BA,EAAsB,gBALMC,SAM5BA,EAN4BC,UAO5BA,GACmBT,EACnB,MAEMU,EAAiBC,KAAKC,KAAKV,GAFlBA,EAAQD,IAKrBY,OAAAA,EAAAA,IAAA,MAAA,CAAA,gBACgB,wBACdC,MAAO,CACLC,SAAU,WACVC,SAAU,UACVf,OAAQ,OACTE,SAEDU,aACEC,MAAO,CAAEE,SAAU,WACnBP,UAAWA,EACXF,oBAAqBA,EACrBU,QAAO,GAAAC,OAAKd,EAAOC,EAAZ,KAAAa,OAAiBd,EAAOE,EAAxB,KAAAY,OAA6BhB,EAA7B,KAAAgB,OAAsCR,GAC7CS,IAAKX,EAAQL,SAEZA,6FC/BIiB,EAA8B,CACzCC,QAAS,OACTC,cAAe,SACfC,SAAU,EACVC,WAAY,EACZC,UAAW,KACXT,SAAU,0HCPN,SAQOhB,GARS,IAAAM,EACpBA,EAAI,EADgBD,EAEpBA,EAAI,EAFgBqB,UAGpBA,EAHoBjB,UAIpBA,EAJoBN,SAKpBA,EALoBK,SAMpBA,GAEWR,EADR2B,EACQC,EAAA,QAAA5B,EAAA6B,GAEThB,OAAAA,MAAA,IAAAiB,EAAA,QAAAA,UAAA,CACEX,IAAKX,EACLC,UAAWsB,EAAAA,QAAG,aAActB,GAC5BiB,UAAWA,GAA0BrB,aAAAA,OAAAA,eAAMC,EAAvB,MAChBqB,GAJN,GAAA,CAIexB,SAEZA,sBCZkCH,GAPpB,IAAAgC,KACnBA,EAAO,CAAE3B,EAAG,EAAGC,EAAG,GADC2B,GAEnBA,EAAK,CAAE5B,EAAG,EAAGC,EAAG,GAFG4B,KAGnBA,EAAO,cAHYzB,UAInBA,EAJmBD,SAKnBA,GAEuCR,EADpC2B,EACoCC,EAAA,QAAA5B,EAAA6B,GACvC,MAAMM,EAAgBH,EAAK3B,IAAM4B,EAAG5B,GAAK2B,EAAK1B,IAAM2B,EAAG3B,EAGrDO,OAAAA,EACEuB,IAAA,OAAAN,UAAA,CAAAX,IAAKX,EACLC,UAAWsB,EAAAA,QAAG,YAAatB,GAC3B4B,GAAIL,EAAK3B,EACTiC,GAAIN,EAAK1B,EACTiC,GAAIN,EAAG5B,EACPmC,GAAIP,EAAG3B,EACP4B,KAAMA,EACNO,eAAgBN,EAAgB,aAAe,QAC3CR,qBFPM,SAQ2B3B,GARU,IAAA0C,UACnDA,EADmDvC,SAEnDA,EAFmDW,MAGnDA,EAAQM,EAH2CuB,MAInDA,EAAQ,EAJ2CC,MAKnDA,EAAQ,OACRC,SAASC,cAAEA,EAAgB,IAAuB,IAET9C,EAFP+C,cAAlCF,QAEyChB,GADtCmB,EACsCpB,EAAA,QAAA5B,EAAAiD,GACnC,MAAA/C,MAAEA,EAAFD,OAASA,GAAWiD,EAAaA,cAACR,EAADZ,UAAA,CAAcgB,cAAAA,GAAkBC,IAEvEI,EAAAA,WAAU,KACR,GAAKT,EAAUU,QAIf,IAAK,MAAOC,EAAKC,KAAUC,OAAOC,QAAQ1C,GAExC4B,EAAUU,QAAQtC,MAAMuC,GAAcC,IAEvC,CAACZ,EAAW5B,IAEf,MAAMY,EACM,WAAVkB,EAAA,aAAA1B,OACiBhB,EAAQ,cAAKD,EAAS,EAAI,sBAAa0C,EADxD,KAAA,wBAAAzB,OAE4ByB,EAH9B,KAME9B,OAAAA,MAACd,uBAAcG,MAAOA,EAAOD,OAAQA,GAAY+C,OAAI7C,SACnDU,EAAGuB,IAAA,IAAA,CAAAV,UAAWA,WAAYvB"}
|