fabric 6.4.1 → 6.4.2
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/CHANGELOG.md +4 -0
- package/dist/index.js +123 -95
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +123 -95
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +123 -95
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +123 -95
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +1 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.mjs +0 -1
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
- package/dist/src/config.d.ts +5 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.min.mjs +1 -1
- package/dist/src/config.min.mjs.map +1 -1
- package/dist/src/config.mjs +6 -2
- package/dist/src/config.mjs.map +1 -1
- package/dist/src/parser/constants.d.ts +0 -1
- package/dist/src/parser/constants.d.ts.map +1 -1
- package/dist/src/parser/constants.min.mjs +1 -1
- package/dist/src/parser/constants.min.mjs.map +1 -1
- package/dist/src/parser/constants.mjs +1 -2
- package/dist/src/parser/constants.mjs.map +1 -1
- package/dist/src/shapes/Line.min.mjs +1 -1
- package/dist/src/shapes/Line.min.mjs.map +1 -1
- package/dist/src/shapes/Line.mjs +0 -1
- package/dist/src/shapes/Line.mjs.map +1 -1
- package/dist/src/shapes/Path.min.mjs +1 -1
- package/dist/src/shapes/Path.min.mjs.map +1 -1
- package/dist/src/shapes/Path.mjs +7 -1
- package/dist/src/shapes/Path.mjs.map +1 -1
- package/dist/src/shapes/Text/StyledText.min.mjs +1 -1
- package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -1
- package/dist/src/shapes/Text/StyledText.mjs +0 -1
- package/dist/src/shapes/Text/StyledText.mjs.map +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +17 -30
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -1
- package/dist/src/util/path/index.d.ts.map +1 -1
- package/dist/src/util/path/index.min.mjs +1 -1
- package/dist/src/util/path/index.min.mjs.map +1 -1
- package/dist/src/util/path/index.mjs +51 -47
- package/dist/src/util/path/index.mjs.map +1 -1
- package/dist/src/util/path/regex.d.ts +2 -1
- package/dist/src/util/path/regex.d.ts.map +1 -1
- package/dist/src/util/path/regex.min.mjs +1 -1
- package/dist/src/util/path/regex.min.mjs.map +1 -1
- package/dist/src/util/path/regex.mjs +41 -16
- package/dist/src/util/path/regex.mjs.map +1 -1
- package/dist/src/util/path/typedefs.d.ts +1 -0
- package/dist/src/util/path/typedefs.d.ts.map +1 -1
- package/dist-extensions/src/config.d.ts +5 -1
- package/dist-extensions/src/config.d.ts.map +1 -1
- package/dist-extensions/src/parser/constants.d.ts +0 -1
- package/dist-extensions/src/parser/constants.d.ts.map +1 -1
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -1
- package/dist-extensions/src/util/path/index.d.ts.map +1 -1
- package/dist-extensions/src/util/path/regex.d.ts +2 -1
- package/dist-extensions/src/util/path/regex.d.ts.map +1 -1
- package/dist-extensions/src/util/path/typedefs.d.ts +1 -0
- package/dist-extensions/src/util/path/typedefs.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +6 -2
- package/src/parser/constants.ts +0 -2
- package/src/shapes/Path.ts +1 -1
- package/src/util/misc/boundingBoxFromPoints.ts +15 -24
- package/src/util/path/__snapshots__/index.spec.ts.snap +462 -0
- package/src/util/path/index.spec.ts +107 -1
- package/src/util/path/index.ts +56 -51
- package/src/util/path/regex.ts +29 -22
- package/src/util/path/typedefs.ts +22 -0
package/src/util/path/regex.ts
CHANGED
|
@@ -1,39 +1,46 @@
|
|
|
1
1
|
import { reNum } from '../../parser/constants';
|
|
2
2
|
|
|
3
|
+
const commaWsp = `\\s*,?\\s*`;
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* p for param
|
|
5
7
|
* using "bad naming" here because it makes the regex much easier to read
|
|
8
|
+
* p is a number that is preceded by an arbitary number of spaces, maybe 0,
|
|
9
|
+
* a comma or not, and then possibly more spaces or not.
|
|
6
10
|
*/
|
|
7
|
-
const p =
|
|
11
|
+
const p = `${commaWsp}(${reNum})`;
|
|
12
|
+
|
|
13
|
+
// const reMoveToCommand = `(M) ?(?:${p}${p} ?)+`;
|
|
8
14
|
|
|
9
|
-
const
|
|
15
|
+
// const reLineCommand = `(L) ?(?:${p}${p} ?)+`;
|
|
10
16
|
|
|
11
|
-
const
|
|
17
|
+
// const reHorizontalLineCommand = `(H) ?(?:${p} ?)+`;
|
|
12
18
|
|
|
13
|
-
const
|
|
19
|
+
// const reVerticalLineCommand = `(V) ?(?:${p} ?)+`;
|
|
14
20
|
|
|
15
|
-
const
|
|
21
|
+
// const reClosePathCommand = String.raw`(Z)\s*`;
|
|
16
22
|
|
|
17
|
-
const
|
|
23
|
+
// const reCubicCurveCommand = `(C) ?(?:${p}${p}${p}${p}${p}${p} ?)+`;
|
|
18
24
|
|
|
19
|
-
const
|
|
25
|
+
// const reCubicCurveShortcutCommand = `(S) ?(?:${p}${p}${p}${p} ?)+`;
|
|
20
26
|
|
|
21
|
-
const
|
|
27
|
+
// const reQuadraticCurveCommand = `(Q) ?(?:${p}${p}${p}${p} ?)+`;
|
|
22
28
|
|
|
23
|
-
const
|
|
29
|
+
// const reQuadraticCurveShortcutCommand = `(T) ?(?:${p}${p} ?)+`;
|
|
24
30
|
|
|
25
|
-
const
|
|
31
|
+
export const reArcCommandPoints = `${p}${p}${p}${commaWsp}([01])${commaWsp}([01])${p}${p}`;
|
|
32
|
+
// const reArcCommand = `(A) ?(?:${reArcCommandPoints} ?)+`;
|
|
26
33
|
|
|
27
|
-
const
|
|
34
|
+
// export const rePathCommandGroups =
|
|
35
|
+
// `(?:(?:${reMoveToCommand})` +
|
|
36
|
+
// `|(?:${reLineCommand})` +
|
|
37
|
+
// `|(?:${reHorizontalLineCommand})` +
|
|
38
|
+
// `|(?:${reVerticalLineCommand})` +
|
|
39
|
+
// `|(?:${reClosePathCommand})` +
|
|
40
|
+
// `|(?:${reCubicCurveCommand})` +
|
|
41
|
+
// `|(?:${reCubicCurveShortcutCommand})` +
|
|
42
|
+
// `|(?:${reQuadraticCurveCommand})` +
|
|
43
|
+
// `|(?:${reQuadraticCurveShortcutCommand})` +
|
|
44
|
+
// `|(?:${reArcCommand}))`;
|
|
28
45
|
|
|
29
|
-
export const rePathCommand =
|
|
30
|
-
`(?:(?:${reMoveToCommand})` +
|
|
31
|
-
`|(?:${reLineCommand})` +
|
|
32
|
-
`|(?:${reHorizontalLineCommand})` +
|
|
33
|
-
`|(?:${reVerticalLineCommand})` +
|
|
34
|
-
`|(?:${reClosePathCommand})` +
|
|
35
|
-
`|(?:${reCubicCurveCommand})` +
|
|
36
|
-
`|(?:${reCubicCurveShortcutCommand})` +
|
|
37
|
-
`|(?:${reQuadraticCurveCommand})` +
|
|
38
|
-
`|(?:${reQuadraticCurveShortcutCommand})` +
|
|
39
|
-
`|(?:${reArcCommand}))`;
|
|
46
|
+
export const rePathCommand = '[mzlhvcsqta][^mzlhvcsqta]*';
|
|
@@ -293,6 +293,28 @@ export type TSimpleParsedCommand =
|
|
|
293
293
|
|
|
294
294
|
export type TSimpleParseCommandType = 'L' | 'M' | 'C' | 'Q' | 'Z';
|
|
295
295
|
|
|
296
|
+
export type TComplexParsedCommandType =
|
|
297
|
+
| 'M'
|
|
298
|
+
| 'L'
|
|
299
|
+
| 'C'
|
|
300
|
+
| 'Q'
|
|
301
|
+
| 'Z'
|
|
302
|
+
| 'z'
|
|
303
|
+
| 'm'
|
|
304
|
+
| 'l'
|
|
305
|
+
| 'h'
|
|
306
|
+
| 'v'
|
|
307
|
+
| 'c'
|
|
308
|
+
| 's'
|
|
309
|
+
| 'q'
|
|
310
|
+
| 't'
|
|
311
|
+
| 'a'
|
|
312
|
+
| 'H'
|
|
313
|
+
| 'V'
|
|
314
|
+
| 'S'
|
|
315
|
+
| 'T'
|
|
316
|
+
| 'A';
|
|
317
|
+
|
|
296
318
|
/**
|
|
297
319
|
* A series of simple paths
|
|
298
320
|
*/
|