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.
Files changed (85) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/index.js +123 -95
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.min.js +1 -1
  5. package/dist/index.min.js.map +1 -1
  6. package/dist/index.min.mjs +1 -1
  7. package/dist/index.min.mjs.map +1 -1
  8. package/dist/index.mjs +123 -95
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/index.node.cjs +123 -95
  11. package/dist/index.node.cjs.map +1 -1
  12. package/dist/index.node.mjs +123 -95
  13. package/dist/index.node.mjs.map +1 -1
  14. package/dist/package.json.min.mjs +1 -1
  15. package/dist/package.json.mjs +1 -1
  16. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +1 -1
  17. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -1
  18. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -1
  19. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -1
  20. package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
  21. package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
  22. package/dist/src/canvas/SelectableCanvas.mjs +0 -1
  23. package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
  24. package/dist/src/config.d.ts +5 -1
  25. package/dist/src/config.d.ts.map +1 -1
  26. package/dist/src/config.min.mjs +1 -1
  27. package/dist/src/config.min.mjs.map +1 -1
  28. package/dist/src/config.mjs +6 -2
  29. package/dist/src/config.mjs.map +1 -1
  30. package/dist/src/parser/constants.d.ts +0 -1
  31. package/dist/src/parser/constants.d.ts.map +1 -1
  32. package/dist/src/parser/constants.min.mjs +1 -1
  33. package/dist/src/parser/constants.min.mjs.map +1 -1
  34. package/dist/src/parser/constants.mjs +1 -2
  35. package/dist/src/parser/constants.mjs.map +1 -1
  36. package/dist/src/shapes/Line.min.mjs +1 -1
  37. package/dist/src/shapes/Line.min.mjs.map +1 -1
  38. package/dist/src/shapes/Line.mjs +0 -1
  39. package/dist/src/shapes/Line.mjs.map +1 -1
  40. package/dist/src/shapes/Path.min.mjs +1 -1
  41. package/dist/src/shapes/Path.min.mjs.map +1 -1
  42. package/dist/src/shapes/Path.mjs +7 -1
  43. package/dist/src/shapes/Path.mjs.map +1 -1
  44. package/dist/src/shapes/Text/StyledText.min.mjs +1 -1
  45. package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -1
  46. package/dist/src/shapes/Text/StyledText.mjs +0 -1
  47. package/dist/src/shapes/Text/StyledText.mjs.map +1 -1
  48. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -1
  49. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +1 -1
  50. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -1
  51. package/dist/src/util/misc/boundingBoxFromPoints.mjs +17 -30
  52. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -1
  53. package/dist/src/util/path/index.d.ts.map +1 -1
  54. package/dist/src/util/path/index.min.mjs +1 -1
  55. package/dist/src/util/path/index.min.mjs.map +1 -1
  56. package/dist/src/util/path/index.mjs +51 -47
  57. package/dist/src/util/path/index.mjs.map +1 -1
  58. package/dist/src/util/path/regex.d.ts +2 -1
  59. package/dist/src/util/path/regex.d.ts.map +1 -1
  60. package/dist/src/util/path/regex.min.mjs +1 -1
  61. package/dist/src/util/path/regex.min.mjs.map +1 -1
  62. package/dist/src/util/path/regex.mjs +41 -16
  63. package/dist/src/util/path/regex.mjs.map +1 -1
  64. package/dist/src/util/path/typedefs.d.ts +1 -0
  65. package/dist/src/util/path/typedefs.d.ts.map +1 -1
  66. package/dist-extensions/src/config.d.ts +5 -1
  67. package/dist-extensions/src/config.d.ts.map +1 -1
  68. package/dist-extensions/src/parser/constants.d.ts +0 -1
  69. package/dist-extensions/src/parser/constants.d.ts.map +1 -1
  70. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -1
  71. package/dist-extensions/src/util/path/index.d.ts.map +1 -1
  72. package/dist-extensions/src/util/path/regex.d.ts +2 -1
  73. package/dist-extensions/src/util/path/regex.d.ts.map +1 -1
  74. package/dist-extensions/src/util/path/typedefs.d.ts +1 -0
  75. package/dist-extensions/src/util/path/typedefs.d.ts.map +1 -1
  76. package/package.json +1 -1
  77. package/src/config.ts +6 -2
  78. package/src/parser/constants.ts +0 -2
  79. package/src/shapes/Path.ts +1 -1
  80. package/src/util/misc/boundingBoxFromPoints.ts +15 -24
  81. package/src/util/path/__snapshots__/index.spec.ts.snap +462 -0
  82. package/src/util/path/index.spec.ts +107 -1
  83. package/src/util/path/index.ts +56 -51
  84. package/src/util/path/regex.ts +29 -22
  85. package/src/util/path/typedefs.ts +22 -0
@@ -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 = `(${reNum})`;
11
+ const p = `${commaWsp}(${reNum})`;
12
+
13
+ // const reMoveToCommand = `(M) ?(?:${p}${p} ?)+`;
8
14
 
9
- const reMoveToCommand = `(M) (?:${p} ${p} ?)+`;
15
+ // const reLineCommand = `(L) ?(?:${p}${p} ?)+`;
10
16
 
11
- const reLineCommand = `(L) (?:${p} ${p} ?)+`;
17
+ // const reHorizontalLineCommand = `(H) ?(?:${p} ?)+`;
12
18
 
13
- const reHorizontalLineCommand = `(H) (?:${p} ?)+`;
19
+ // const reVerticalLineCommand = `(V) ?(?:${p} ?)+`;
14
20
 
15
- const reVerticalLineCommand = `(V) (?:${p} ?)+`;
21
+ // const reClosePathCommand = String.raw`(Z)\s*`;
16
22
 
17
- const reClosePathCommand = String.raw`(Z)\s*`;
23
+ // const reCubicCurveCommand = `(C) ?(?:${p}${p}${p}${p}${p}${p} ?)+`;
18
24
 
19
- const reCubicCurveCommand = `(C) (?:${p} ${p} ${p} ${p} ${p} ${p} ?)+`;
25
+ // const reCubicCurveShortcutCommand = `(S) ?(?:${p}${p}${p}${p} ?)+`;
20
26
 
21
- const reCubicCurveShortcutCommand = `(S) (?:${p} ${p} ${p} ${p} ?)+`;
27
+ // const reQuadraticCurveCommand = `(Q) ?(?:${p}${p}${p}${p} ?)+`;
22
28
 
23
- const reQuadraticCurveCommand = `(Q) (?:${p} ${p} ${p} ${p} ?)+`;
29
+ // const reQuadraticCurveShortcutCommand = `(T) ?(?:${p}${p} ?)+`;
24
30
 
25
- const reQuadraticCurveShortcutCommand = `(T) (?:${p} ${p} ?)+`;
31
+ export const reArcCommandPoints = `${p}${p}${p}${commaWsp}([01])${commaWsp}([01])${p}${p}`;
32
+ // const reArcCommand = `(A) ?(?:${reArcCommandPoints} ?)+`;
26
33
 
27
- const reArcCommand = `(A) (?:${p} ${p} ${p} ([01]) ?([01]) ${p} ${p} ?)+`;
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
  */