@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.
@@ -1,22 +1,21 @@
1
- @cutting/svg:build: cache hit, replaying output e42e0536ebc27441
2
- @cutting/svg:build: 
3
- @cutting/svg:build: > @cutting/svg@4.41.3 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/slicedToArray' in output.globals – guessing '_slicedToArray'
17
- @cutting/svg:build: No name was provided for external module '@babel/runtime/helpers/objectSpread2' in output.globals – guessing '_objectSpread'
18
- @cutting/svg:build: No name was provided for external module '@babel/runtime/helpers/objectWithoutProperties' in output.globals – guessing '_objectWithoutProperties'
19
- @cutting/svg:build: No name was provided for external module '@cutting/use-get-parent-size' in output.globals – guessing 'useGetParentSize'
20
- @cutting/svg:build: No name was provided for external module 'classnames' in output.globals – guessing 'cx'
21
- @cutting/svg:build:  DONE finished building
22
- @cutting/svg:build: 
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.41.3
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
- - Add nested Mathax svg support
7
+ - d98dd7d1: use browserlistrc and remove babel targets
410
8
 
411
9
  ### Patch Changes
412
10
 
413
- - Updated dependencies
414
- - @cutting/util@4.24.0
415
- - @cutting/hooks@4.24.1
11
+ - Updated dependencies [d98dd7d1]
12
+ - @cutting/use-get-parent-size@1.17.0
13
+ - @cutting/util@4.46.0
@@ -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
- var height = _ref.height,
22
- width = _ref.width,
23
- children = _ref.children,
24
- _ref$origin = _ref.origin,
25
- origin = _ref$origin === void 0 ? {
26
- x: 0,
27
- y: 0
28
- } : _ref$origin,
29
- _ref$preserveAspectRa = _ref.preserveAspectRatio,
30
- preserveAspectRatio = _ref$preserveAspectRa === void 0 ? 'xMaxYMid meet' : _ref$preserveAspectRa,
31
- innerRef = _ref.innerRef,
32
- className = _ref.className;
33
- var aspect = width / height;
34
- var adjustedHeight = Math.ceil(width / aspect);
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
- var _excluded$2 = ["debounceDelay"],
56
- _excluded2 = ["parentRef", "children", "style", "scale", "align", "options"];
57
- var DefaultStyle = {
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
- var parentRef = _ref.parentRef,
67
- children = _ref.children,
68
- _ref$style = _ref.style,
69
- style = _ref$style === void 0 ? DefaultStyle : _ref$style,
70
- _ref$scale = _ref.scale,
71
- scale = _ref$scale === void 0 ? 1 : _ref$scale,
72
- _ref$align = _ref.align,
73
- align = _ref$align === void 0 ? 'none' : _ref$align,
74
- _ref$options = _ref.options;
75
- _ref$options = _ref$options === void 0 ? {} : _ref$options;
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
- var _useParentSize = useGetParentSize.useParentSize(parentRef, _objectSpread__default["default"]({
83
- debounceDelay: debounceDelay
84
- }, optionsRest)),
85
- width = _useParentSize.width,
86
- height = _useParentSize.height;
87
-
88
- react.useEffect(function () {
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 (var _i = 0, _Object$entries = Object.entries(style); _i < _Object$entries.length; _i++) {
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
- var transform = align === 'center' ? "translate(".concat(width / 2, ",").concat(height / 2 - 20, ") scale(").concat(scale, ")") : "translate(0,0) scale(".concat(scale, ")");
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
- var _excluded$1 = ["y", "x", "transform", "className", "children", "innerRef"];
105
+ const _excluded$1 = ["y", "x", "transform", "className", "children", "innerRef"];
115
106
  function Group(_ref) {
116
- var _ref$y = _ref.y,
117
- y = _ref$y === void 0 ? 0 : _ref$y,
118
- _ref$x = _ref.x,
119
- x = _ref$x === void 0 ? 0 : _ref$x,
120
- transform = _ref.transform,
121
- className = _ref.className,
122
- children = _ref.children,
123
- innerRef = _ref.innerRef,
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
- var _excluded = ["from", "to", "fill", "className", "innerRef"];
126
+ const _excluded = ["from", "to", "fill", "className", "innerRef"];
136
127
  function Line(_ref) {
137
- var _ref$from = _ref.from,
138
- from = _ref$from === void 0 ? {
139
- x: 0,
140
- y: 0
141
- } : _ref$from,
142
- _ref$to = _ref.to,
143
- to = _ref$to === void 0 ? {
144
- x: 1,
145
- y: 1
146
- } : _ref$to,
147
- _ref$fill = _ref.fill,
148
- fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,
149
- className = _ref.className,
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
- var isRectilinear = from.x === to.x || from.y === to.y;
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":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/objectSpread2"),i=require("@babel/runtime/helpers/objectWithoutProperties"),a=require("react"),n=require("@cutting/use-get-parent-size"),s=require("classnames");function l(e){return e&&e.__esModule?e:{default:e}}var o=l(r),c=l(t),d=l(i),u=l(s);function f(r){var t=r.width,i=r.children,a=r.origin,n=void 0===a?{x:0,y:0}:a,s=r.preserveAspectRatio,l=void 0===s?"xMaxYMid meet":s,o=r.innerRef,c=r.className,d=Math.ceil(t/(t/r.height));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:l,viewBox:"".concat(n.x," ").concat(n.y," ").concat(t," ").concat(d),ref:o,children:i})})}var v=["debounceDelay"],x=["parentRef","children","style","scale","align","options"],h={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"},p=["y","x","transform","className","children","innerRef"],y=["from","to","fill","className","innerRef"];exports.Group=function(r){var t=r.y,i=void 0===t?0:t,a=r.x,n=void 0===a?0:a,s=r.transform,l=r.className,o=r.children,f=r.innerRef,v=d.default(r,p);return e.jsx("g",c.default(c.default({ref:f,className:u.default("visx-group",l),transform:s||"translate(".concat(n,", ").concat(i,")")},v),{},{children:o}))},exports.Line=function(r){var t=r.from,i=void 0===t?{x:0,y:0}:t,a=r.to,n=void 0===a?{x:1,y:1}:a,s=r.fill,l=void 0===s?"transparent":s,o=r.className,f=r.innerRef,v=d.default(r,y),x=i.x===n.x||i.y===n.y;return e.jsx("line",c.default({ref:f,className:u.default("visx-line",o),x1:i.x,y1:i.y,x2:n.x,y2:n.y,fill:l,shapeRendering:x?"crispEdges":"auto"},v))},exports.ParentsizeSVG=function(r){var t=r.parentRef,i=r.children,s=r.style,l=void 0===s?h:s,u=r.scale,p=void 0===u?1:u,y=r.align,m=void 0===y?"none":y,g=r.options,b=(g=void 0===g?{}:g).debounceDelay,j=void 0===b?50:b,R=d.default(g,v),w=d.default(r,x),N=n.useParentSize(t,c.default({debounceDelay:j},R)),q=N.width,M=N.height;a.useEffect((function(){if(t.current)for(var e=0,r=Object.entries(l);e<r.length;e++){var i=o.default(r[e],2);t.current.style[i[0]]=i[1]}}),[t,l]);var S="center"===m?"translate(".concat(q/2,",").concat(M/2-20,") scale(").concat(p,")"):"translate(0,0) scale(".concat(p,")");return e.jsx(f,c.default(c.default({width:q,height:M},w),{},{children:e.jsx("g",{transform:S,children:i})}))},exports.ResponsiveSVG=f;
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","_ref$origin","origin","x","y","_ref$preserveAspectRa","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","_ref$y","_ref$x","transform","restProps","_objectWithoutProperties","_excluded","_objectSpread","cx","_ref$from","from","_ref$to","to","_ref$fill","fill","isRectilinear","jsx","x1","y1","x2","y2","shapeRendering","parentRef","_ref$style","_ref$scale","scale","_ref$align","align","_ref$options","options","_ref$options$debounce","debounceDelay","optionsRest","rest","_excluded2","useParentSize","useEffect","current","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray"],"mappings":"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"}
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 r from"@babel/runtime/helpers/esm/slicedToArray";import i from"@babel/runtime/helpers/esm/objectSpread2";import t from"@babel/runtime/helpers/esm/objectWithoutProperties";import{useEffect as n}from"react";import{useParentSize as o}from"@cutting/use-get-parent-size";import a from"classnames";function c(r){var i=r.width,t=r.children,n=r.origin,o=void 0===n?{x:0,y:0}:n,a=r.preserveAspectRatio,c=void 0===a?"xMaxYMid meet":a,s=r.innerRef,l=r.className,f=Math.ceil(i/(i/r.height));return e("div",{"data-selector":"cutting-svg-container",style:{position:"relative",overflow:"visible",height:"1px"},children:e("svg",{style:{overflow:"visible"},className:l,preserveAspectRatio:c,viewBox:"".concat(o.x," ").concat(o.y," ").concat(i," ").concat(f),ref:s,children:t})})}var s=["debounceDelay"],l=["parentRef","children","style","scale","align","options"],f={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"};function d(a){var d=a.parentRef,m=a.children,v=a.style,h=void 0===v?f:v,p=a.scale,u=void 0===p?1:p,x=a.align,y=void 0===x?"none":x,g=a.options,b=(g=void 0===g?{}:g).debounceDelay,R=void 0===b?50:b,w=t(g,s),N=t(a,l),j=o(d,i({debounceDelay:R},w)),D=j.width,A=j.height;n((function(){if(d.current)for(var e=0,i=Object.entries(h);e<i.length;e++){var t=r(i[e],2);d.current.style[t[0]]=t[1]}}),[d,h]);var M="center"===y?"translate(".concat(D/2,",").concat(A/2-20,") scale(").concat(u,")"):"translate(0,0) scale(".concat(u,")");return e(c,i(i({width:D,height:A},N),{},{children:e("g",{transform:M,children:m})}))}var m=["y","x","transform","className","children","innerRef"];function v(r){var n=r.y,o=void 0===n?0:n,c=r.x,s=void 0===c?0:c,l=r.transform,f=r.className,d=r.children,v=r.innerRef,h=t(r,m);return e("g",i(i({ref:v,className:a("visx-group",f),transform:l||"translate(".concat(s,", ").concat(o,")")},h),{},{children:d}))}var h=["from","to","fill","className","innerRef"];function p(r){var n=r.from,o=void 0===n?{x:0,y:0}:n,c=r.to,s=void 0===c?{x:1,y:1}:c,l=r.fill,f=void 0===l?"transparent":l,d=r.className,m=r.innerRef,v=t(r,h),p=o.x===s.x||o.y===s.y;return e("line",i({ref:m,className:a("visx-line",d),x1:o.x,y1:o.y,x2:s.x,y2:s.y,fill:f,shapeRendering:p?"crispEdges":"auto"},v))}export{v as Group,p as Line,d as ParentsizeSVG,c as ResponsiveSVG};
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
@@ -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","_ref$origin","origin","x","y","_ref$preserveAspectRa","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","ParentsizeSVG","parentRef","_ref$style","_ref$scale","scale","_ref$align","align","_ref$options","options","_ref$options$debounce","debounceDelay","optionsRest","_objectWithoutProperties","_excluded","rest","_excluded2","useParentSize","_objectSpread","useEffect","current","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","transform","Group","_ref$y","_ref$x","restProps","cx","Line","_ref$from","from","_ref$to","to","_ref$fill","fill","isRectilinear","x1","y1","x2","y2","shapeRendering"],"mappings":"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"}
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/slicedToArray"),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/slicedToArray","@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._slicedToArray,e._objectSpread,e._objectWithoutProperties,e.React,e.useGetParentSize,e.cx)}(this,(function(e,t,r,i,n,a,s,l){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var c=o(r),u=o(i),d=o(n),f=o(l);function h(e){var r=e.width,i=e.children,n=e.origin,a=void 0===n?{x:0,y:0}:n,s=e.preserveAspectRatio,l=void 0===s?"xMaxYMid meet":s,o=e.innerRef,c=e.className,u=Math.ceil(r/(r/e.height));return t.jsx("div",{"data-selector":"cutting-svg-container",style:{position:"relative",overflow:"visible",height:"1px"},children:t.jsx("svg",{style:{overflow:"visible"},className:c,preserveAspectRatio:l,viewBox:"".concat(a.x," ").concat(a.y," ").concat(r," ").concat(u),ref:o,children:i})})}var p=["debounceDelay"],v=["parentRef","children","style","scale","align","options"],x={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:"0%",overflow:"hidden"},m=["y","x","transform","className","children","innerRef"],y=["from","to","fill","className","innerRef"];e.Group=function(e){var r=e.y,i=void 0===r?0:r,n=e.x,a=void 0===n?0:n,s=e.transform,l=e.className,o=e.children,c=e.innerRef,h=d.default(e,m);return t.jsx("g",u.default(u.default({ref:c,className:f.default("visx-group",l),transform:s||"translate(".concat(a,", ").concat(i,")")},h),{},{children:o}))},e.Line=function(e){var r=e.from,i=void 0===r?{x:0,y:0}:r,n=e.to,a=void 0===n?{x:1,y:1}:n,s=e.fill,l=void 0===s?"transparent":s,o=e.className,c=e.innerRef,h=d.default(e,y),p=i.x===a.x||i.y===a.y;return t.jsx("line",u.default({ref:c,className:f.default("visx-line",o),x1:i.x,y1:i.y,x2:a.x,y2:a.y,fill:l,shapeRendering:p?"crispEdges":"auto"},h))},e.ParentsizeSVG=function(e){var r=e.parentRef,i=e.children,n=e.style,l=void 0===n?x:n,o=e.scale,f=void 0===o?1:o,m=e.align,y=void 0===m?"none":m,b=e.options,g=(b=void 0===b?{}:b).debounceDelay,j=void 0===g?50:g,R=d.default(b,p),w=d.default(e,v),N=s.useParentSize(r,u.default({debounceDelay:j},R)),S=N.width,q=N.height;a.useEffect((function(){if(r.current)for(var e=0,t=Object.entries(l);e<t.length;e++){var i=c.default(t[e],2);r.current.style[i[0]]=i[1]}}),[r,l]);var P="center"===y?"translate(".concat(S/2,",").concat(q/2-20,") scale(").concat(f,")"):"translate(0,0) scale(".concat(f,")");return t.jsx(h,u.default(u.default({width:S,height:q},w),{},{children:t.jsx("g",{transform:P,children:i})}))},e.ResponsiveSVG=h}));
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
@@ -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","_ref$origin","origin","x","y","_ref$preserveAspectRa","preserveAspectRatio","innerRef","className","adjustedHeight","Math","ceil","_jsx","style","position","overflow","viewBox","concat","ref","DefaultStyle","display","flexDirection","flexGrow","flexShrink","flexBasis","_ref$y","_ref$x","transform","restProps","_objectWithoutProperties","_excluded","_objectSpread","cx","_ref$from","from","_ref$to","to","_ref$fill","fill","isRectilinear","jsx","x1","y1","x2","y2","shapeRendering","parentRef","_ref$style","_ref$scale","scale","_ref$align","align","_ref$options","options","_ref$options$debounce","debounceDelay","optionsRest","rest","_excluded2","useParentSize","useEffect","current","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray"],"mappings":"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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cutting/svg",
3
- "version": "4.41.3",
3
+ "version": "4.43.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dagda1/cuttingedge.git"