@nasser-sw/fabric 7.0.0-beta1

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 (2504) hide show
  1. package/.babelrc +11 -0
  2. package/.babelrcAlt +19 -0
  3. package/.browserslistrc +8 -0
  4. package/.editorconfig +12 -0
  5. package/.gitattributes +2 -0
  6. package/.gitpod.yml +22 -0
  7. package/.prettierignore +22 -0
  8. package/.prettierrc +4 -0
  9. package/CHANGELOG.md +1993 -0
  10. package/CODE_OF_CONDUCT.md +15 -0
  11. package/CONTRIBUTING.md +277 -0
  12. package/LICENSE +16 -0
  13. package/OVERLAY_EDITOR_MIGRATION.md +432 -0
  14. package/README.md +253 -0
  15. package/SECURITY.md +5 -0
  16. package/debug/konva/CHANGELOG.md +1474 -0
  17. package/debug/konva/LICENSE +22 -0
  18. package/debug/konva/README.md +205 -0
  19. package/debug/konva/gulpfile.mjs +110 -0
  20. package/debug/konva/package.json +139 -0
  21. package/debug/konva/release.sh +65 -0
  22. package/debug/konva/resources/doc-includes/ContainerParams.txt +6 -0
  23. package/debug/konva/resources/doc-includes/NodeParams.txt +20 -0
  24. package/debug/konva/resources/doc-includes/ShapeParams.txt +53 -0
  25. package/debug/konva/resources/jsdoc.conf.json +28 -0
  26. package/debug/konva/rollup.config.mjs +32 -0
  27. package/debug/konva/src/Animation.ts +237 -0
  28. package/debug/konva/src/BezierFunctions.ts +826 -0
  29. package/debug/konva/src/Canvas.ts +193 -0
  30. package/debug/konva/src/Container.ts +649 -0
  31. package/debug/konva/src/Context.ts +1017 -0
  32. package/debug/konva/src/Core.ts +5 -0
  33. package/debug/konva/src/DragAndDrop.ts +173 -0
  34. package/debug/konva/src/Factory.ts +246 -0
  35. package/debug/konva/src/FastLayer.ts +29 -0
  36. package/debug/konva/src/Global.ts +210 -0
  37. package/debug/konva/src/Group.ts +31 -0
  38. package/debug/konva/src/Layer.ts +546 -0
  39. package/debug/konva/src/Node.ts +3477 -0
  40. package/debug/konva/src/PointerEvents.ts +67 -0
  41. package/debug/konva/src/Shape.ts +2081 -0
  42. package/debug/konva/src/Stage.ts +1000 -0
  43. package/debug/konva/src/Tween.ts +811 -0
  44. package/debug/konva/src/Util.ts +1123 -0
  45. package/debug/konva/src/Validators.ts +210 -0
  46. package/debug/konva/src/_CoreInternals.ts +85 -0
  47. package/debug/konva/src/_FullInternals.ts +171 -0
  48. package/debug/konva/src/canvas-backend.ts +36 -0
  49. package/debug/konva/src/filters/Blur.ts +388 -0
  50. package/debug/konva/src/filters/Brighten.ts +48 -0
  51. package/debug/konva/src/filters/Brightness.ts +30 -0
  52. package/debug/konva/src/filters/Contrast.ts +75 -0
  53. package/debug/konva/src/filters/Emboss.ts +207 -0
  54. package/debug/konva/src/filters/Enhance.ts +154 -0
  55. package/debug/konva/src/filters/Grayscale.ts +25 -0
  56. package/debug/konva/src/filters/HSL.ts +108 -0
  57. package/debug/konva/src/filters/HSV.ts +106 -0
  58. package/debug/konva/src/filters/Invert.ts +23 -0
  59. package/debug/konva/src/filters/Kaleidoscope.ts +274 -0
  60. package/debug/konva/src/filters/Mask.ts +220 -0
  61. package/debug/konva/src/filters/Noise.ts +44 -0
  62. package/debug/konva/src/filters/Pixelate.ts +107 -0
  63. package/debug/konva/src/filters/Posterize.ts +46 -0
  64. package/debug/konva/src/filters/RGB.ts +82 -0
  65. package/debug/konva/src/filters/RGBA.ts +103 -0
  66. package/debug/konva/src/filters/Sepia.ts +27 -0
  67. package/debug/konva/src/filters/Solarize.ts +29 -0
  68. package/debug/konva/src/filters/Threshold.ts +44 -0
  69. package/debug/konva/src/index.ts +3 -0
  70. package/debug/konva/src/shapes/Arc.ts +176 -0
  71. package/debug/konva/src/shapes/Arrow.ts +231 -0
  72. package/debug/konva/src/shapes/Circle.ts +76 -0
  73. package/debug/konva/src/shapes/Ellipse.ts +121 -0
  74. package/debug/konva/src/shapes/Image.ts +319 -0
  75. package/debug/konva/src/shapes/Label.ts +386 -0
  76. package/debug/konva/src/shapes/Line.ts +364 -0
  77. package/debug/konva/src/shapes/Path.ts +1013 -0
  78. package/debug/konva/src/shapes/Rect.ts +79 -0
  79. package/debug/konva/src/shapes/RegularPolygon.ts +167 -0
  80. package/debug/konva/src/shapes/Ring.ts +94 -0
  81. package/debug/konva/src/shapes/Sprite.ts +370 -0
  82. package/debug/konva/src/shapes/Star.ts +125 -0
  83. package/debug/konva/src/shapes/Text.ts +1065 -0
  84. package/debug/konva/src/shapes/TextPath.ts +583 -0
  85. package/debug/konva/src/shapes/Transformer.ts +1889 -0
  86. package/debug/konva/src/shapes/Wedge.ts +129 -0
  87. package/debug/konva/src/skia-backend.ts +35 -0
  88. package/debug/konva/src/types.ts +84 -0
  89. package/debug/konva/tsconfig.json +31 -0
  90. package/debug/konva/tsconfig.test.json +7 -0
  91. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +2 -0
  92. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +1 -0
  93. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +25 -0
  94. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
  95. package/dist/extensions/aligning_guidelines/constant.d.ts +3 -0
  96. package/dist/extensions/aligning_guidelines/constant.d.ts.map +1 -0
  97. package/dist/extensions/aligning_guidelines/index.d.ts +5 -0
  98. package/dist/extensions/aligning_guidelines/index.d.ts.map +1 -0
  99. package/dist/extensions/aligning_guidelines/typedefs.d.ts +33 -0
  100. package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
  101. package/dist/extensions/aligning_guidelines/util/basic.d.ts +4 -0
  102. package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
  103. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
  104. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
  105. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
  106. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
  107. package/dist/extensions/aligning_guidelines/util/draw.d.ts +6 -0
  108. package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
  109. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
  110. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
  111. package/dist/extensions/data_updaters/gradient/index.d.ts +11 -0
  112. package/dist/extensions/data_updaters/gradient/index.d.ts.map +1 -0
  113. package/dist/extensions/data_updaters/origins/index.d.ts +21 -0
  114. package/dist/extensions/data_updaters/origins/index.d.ts.map +1 -0
  115. package/dist/extensions/index.d.ts +4 -0
  116. package/dist/extensions/index.d.ts.map +1 -0
  117. package/dist/fabric.d.ts +115 -0
  118. package/dist/fabric.d.ts.map +1 -0
  119. package/dist/fabric.min.mjs +2 -0
  120. package/dist/fabric.min.mjs.map +1 -0
  121. package/dist/fabric.mjs +60 -0
  122. package/dist/fabric.mjs.map +1 -0
  123. package/dist/index.d.ts +2 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +30983 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/index.min.js +2 -0
  128. package/dist/index.min.js.map +1 -0
  129. package/dist/index.min.mjs +2 -0
  130. package/dist/index.min.mjs.map +1 -0
  131. package/dist/index.mjs +30910 -0
  132. package/dist/index.mjs.map +1 -0
  133. package/dist/index.node.cjs +31067 -0
  134. package/dist/index.node.cjs.map +1 -0
  135. package/dist/index.node.d.ts +20 -0
  136. package/dist/index.node.d.ts.map +1 -0
  137. package/dist/index.node.mjs +31000 -0
  138. package/dist/index.node.mjs.map +1 -0
  139. package/dist/package.json.min.mjs +2 -0
  140. package/dist/package.json.min.mjs.map +1 -0
  141. package/dist/package.json.mjs +4 -0
  142. package/dist/package.json.mjs.map +1 -0
  143. package/dist/src/ClassRegistry.d.ts +14 -0
  144. package/dist/src/ClassRegistry.d.ts.map +1 -0
  145. package/dist/src/ClassRegistry.min.mjs +2 -0
  146. package/dist/src/ClassRegistry.min.mjs.map +1 -0
  147. package/dist/src/ClassRegistry.mjs +52 -0
  148. package/dist/src/ClassRegistry.mjs.map +1 -0
  149. package/dist/src/Collection.d.ts +141 -0
  150. package/dist/src/Collection.d.ts.map +1 -0
  151. package/dist/src/Collection.min.mjs +2 -0
  152. package/dist/src/Collection.min.mjs.map +1 -0
  153. package/dist/src/Collection.mjs +337 -0
  154. package/dist/src/Collection.mjs.map +1 -0
  155. package/dist/src/CommonMethods.d.ts +32 -0
  156. package/dist/src/CommonMethods.d.ts.map +1 -0
  157. package/dist/src/CommonMethods.min.mjs +2 -0
  158. package/dist/src/CommonMethods.min.mjs.map +1 -0
  159. package/dist/src/CommonMethods.mjs +65 -0
  160. package/dist/src/CommonMethods.mjs.map +1 -0
  161. package/dist/src/EventTypeDefs.d.ts +270 -0
  162. package/dist/src/EventTypeDefs.d.ts.map +1 -0
  163. package/dist/src/Intersection.d.ts +112 -0
  164. package/dist/src/Intersection.d.ts.map +1 -0
  165. package/dist/src/Intersection.min.mjs +2 -0
  166. package/dist/src/Intersection.min.mjs.map +1 -0
  167. package/dist/src/Intersection.mjs +257 -0
  168. package/dist/src/Intersection.mjs.map +1 -0
  169. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
  170. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
  171. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +2 -0
  172. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +1 -0
  173. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +50 -0
  174. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +1 -0
  175. package/dist/src/LayoutManager/LayoutManager.d.ts +56 -0
  176. package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -0
  177. package/dist/src/LayoutManager/LayoutManager.min.mjs +2 -0
  178. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +1 -0
  179. package/dist/src/LayoutManager/LayoutManager.mjs +266 -0
  180. package/dist/src/LayoutManager/LayoutManager.mjs.map +1 -0
  181. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
  182. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
  183. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +2 -0
  184. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +1 -0
  185. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +71 -0
  186. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +1 -0
  187. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
  188. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
  189. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +2 -0
  190. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +1 -0
  191. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +22 -0
  192. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +1 -0
  193. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
  194. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
  195. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +2 -0
  196. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +1 -0
  197. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +27 -0
  198. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +1 -0
  199. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
  200. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
  201. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +2 -0
  202. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +1 -0
  203. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +97 -0
  204. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +1 -0
  205. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
  206. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
  207. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +2 -0
  208. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +1 -0
  209. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +29 -0
  210. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +1 -0
  211. package/dist/src/LayoutManager/constants.d.ts +7 -0
  212. package/dist/src/LayoutManager/constants.d.ts.map +1 -0
  213. package/dist/src/LayoutManager/constants.min.mjs +2 -0
  214. package/dist/src/LayoutManager/constants.min.mjs.map +1 -0
  215. package/dist/src/LayoutManager/constants.mjs +9 -0
  216. package/dist/src/LayoutManager/constants.mjs.map +1 -0
  217. package/dist/src/LayoutManager/index.d.ts +7 -0
  218. package/dist/src/LayoutManager/index.d.ts.map +1 -0
  219. package/dist/src/LayoutManager/types.d.ts +106 -0
  220. package/dist/src/LayoutManager/types.d.ts.map +1 -0
  221. package/dist/src/Observable.d.ts +68 -0
  222. package/dist/src/Observable.d.ts.map +1 -0
  223. package/dist/src/Observable.min.mjs +2 -0
  224. package/dist/src/Observable.min.mjs.map +1 -0
  225. package/dist/src/Observable.mjs +159 -0
  226. package/dist/src/Observable.mjs.map +1 -0
  227. package/dist/src/Pattern/Pattern.d.ts +95 -0
  228. package/dist/src/Pattern/Pattern.d.ts.map +1 -0
  229. package/dist/src/Pattern/Pattern.min.mjs +2 -0
  230. package/dist/src/Pattern/Pattern.min.mjs.map +1 -0
  231. package/dist/src/Pattern/Pattern.mjs +183 -0
  232. package/dist/src/Pattern/Pattern.mjs.map +1 -0
  233. package/dist/src/Pattern/index.d.ts +3 -0
  234. package/dist/src/Pattern/index.d.ts.map +1 -0
  235. package/dist/src/Pattern/types.d.ts +12 -0
  236. package/dist/src/Pattern/types.d.ts.map +1 -0
  237. package/dist/src/Point.d.ts +219 -0
  238. package/dist/src/Point.d.ts.map +1 -0
  239. package/dist/src/Point.min.mjs +2 -0
  240. package/dist/src/Point.min.mjs.map +1 -0
  241. package/dist/src/Point.mjs +358 -0
  242. package/dist/src/Point.mjs.map +1 -0
  243. package/dist/src/Shadow.d.ts +89 -0
  244. package/dist/src/Shadow.d.ts.map +1 -0
  245. package/dist/src/Shadow.min.mjs +2 -0
  246. package/dist/src/Shadow.min.mjs.map +1 -0
  247. package/dist/src/Shadow.mjs +162 -0
  248. package/dist/src/Shadow.mjs.map +1 -0
  249. package/dist/src/brushes/BaseBrush.d.ts +94 -0
  250. package/dist/src/brushes/BaseBrush.d.ts.map +1 -0
  251. package/dist/src/brushes/BaseBrush.min.mjs +2 -0
  252. package/dist/src/brushes/BaseBrush.min.mjs.map +1 -0
  253. package/dist/src/brushes/BaseBrush.mjs +131 -0
  254. package/dist/src/brushes/BaseBrush.mjs.map +1 -0
  255. package/dist/src/brushes/CircleBrush.d.ts +43 -0
  256. package/dist/src/brushes/CircleBrush.d.ts.map +1 -0
  257. package/dist/src/brushes/CircleBrush.min.mjs +2 -0
  258. package/dist/src/brushes/CircleBrush.min.mjs.map +1 -0
  259. package/dist/src/brushes/CircleBrush.mjs +138 -0
  260. package/dist/src/brushes/CircleBrush.mjs.map +1 -0
  261. package/dist/src/brushes/PatternBrush.d.ts +23 -0
  262. package/dist/src/brushes/PatternBrush.d.ts.map +1 -0
  263. package/dist/src/brushes/PatternBrush.min.mjs +2 -0
  264. package/dist/src/brushes/PatternBrush.min.mjs.map +1 -0
  265. package/dist/src/brushes/PatternBrush.mjs +59 -0
  266. package/dist/src/brushes/PatternBrush.mjs.map +1 -0
  267. package/dist/src/brushes/PencilBrush.d.ts +92 -0
  268. package/dist/src/brushes/PencilBrush.d.ts.map +1 -0
  269. package/dist/src/brushes/PencilBrush.min.mjs +2 -0
  270. package/dist/src/brushes/PencilBrush.min.mjs.map +1 -0
  271. package/dist/src/brushes/PencilBrush.mjs +293 -0
  272. package/dist/src/brushes/PencilBrush.mjs.map +1 -0
  273. package/dist/src/brushes/SprayBrush.d.ts +68 -0
  274. package/dist/src/brushes/SprayBrush.d.ts.map +1 -0
  275. package/dist/src/brushes/SprayBrush.min.mjs +2 -0
  276. package/dist/src/brushes/SprayBrush.min.mjs.map +1 -0
  277. package/dist/src/brushes/SprayBrush.mjs +179 -0
  278. package/dist/src/brushes/SprayBrush.mjs.map +1 -0
  279. package/dist/src/brushes/typedefs.d.ts +18 -0
  280. package/dist/src/brushes/typedefs.d.ts.map +1 -0
  281. package/dist/src/cache.d.ts +47 -0
  282. package/dist/src/cache.d.ts.map +1 -0
  283. package/dist/src/cache.min.mjs +2 -0
  284. package/dist/src/cache.min.mjs.map +1 -0
  285. package/dist/src/cache.mjs +80 -0
  286. package/dist/src/cache.mjs.map +1 -0
  287. package/dist/src/canvas/Canvas.d.ts +334 -0
  288. package/dist/src/canvas/Canvas.d.ts.map +1 -0
  289. package/dist/src/canvas/Canvas.min.mjs +2 -0
  290. package/dist/src/canvas/Canvas.min.mjs.map +1 -0
  291. package/dist/src/canvas/Canvas.mjs +1366 -0
  292. package/dist/src/canvas/Canvas.mjs.map +1 -0
  293. package/dist/src/canvas/CanvasOptions.d.ts +210 -0
  294. package/dist/src/canvas/CanvasOptions.d.ts.map +1 -0
  295. package/dist/src/canvas/CanvasOptions.min.mjs +2 -0
  296. package/dist/src/canvas/CanvasOptions.min.mjs.map +1 -0
  297. package/dist/src/canvas/CanvasOptions.mjs +32 -0
  298. package/dist/src/canvas/CanvasOptions.mjs.map +1 -0
  299. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -0
  300. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
  301. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +2 -0
  302. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -0
  303. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +125 -0
  304. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -0
  305. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
  306. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
  307. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +2 -0
  308. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +1 -0
  309. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +75 -0
  310. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +1 -0
  311. package/dist/src/canvas/DOMManagers/util.d.ts +23 -0
  312. package/dist/src/canvas/DOMManagers/util.d.ts.map +1 -0
  313. package/dist/src/canvas/DOMManagers/util.min.mjs +2 -0
  314. package/dist/src/canvas/DOMManagers/util.min.mjs.map +1 -0
  315. package/dist/src/canvas/DOMManagers/util.mjs +76 -0
  316. package/dist/src/canvas/DOMManagers/util.mjs.map +1 -0
  317. package/dist/src/canvas/SelectableCanvas.d.ts +544 -0
  318. package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -0
  319. package/dist/src/canvas/SelectableCanvas.min.mjs +2 -0
  320. package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -0
  321. package/dist/src/canvas/SelectableCanvas.mjs +1196 -0
  322. package/dist/src/canvas/SelectableCanvas.mjs.map +1 -0
  323. package/dist/src/canvas/StaticCanvas.d.ts +596 -0
  324. package/dist/src/canvas/StaticCanvas.d.ts.map +1 -0
  325. package/dist/src/canvas/StaticCanvas.min.mjs +2 -0
  326. package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -0
  327. package/dist/src/canvas/StaticCanvas.mjs +1238 -0
  328. package/dist/src/canvas/StaticCanvas.mjs.map +1 -0
  329. package/dist/src/canvas/StaticCanvasOptions.d.ts +142 -0
  330. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
  331. package/dist/src/canvas/StaticCanvasOptions.min.mjs +2 -0
  332. package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +1 -0
  333. package/dist/src/canvas/StaticCanvasOptions.mjs +26 -0
  334. package/dist/src/canvas/StaticCanvasOptions.mjs.map +1 -0
  335. package/dist/src/canvas/TextEditingManager.d.ts +21 -0
  336. package/dist/src/canvas/TextEditingManager.d.ts.map +1 -0
  337. package/dist/src/canvas/TextEditingManager.min.mjs +2 -0
  338. package/dist/src/canvas/TextEditingManager.min.mjs.map +1 -0
  339. package/dist/src/canvas/TextEditingManager.mjs +61 -0
  340. package/dist/src/canvas/TextEditingManager.mjs.map +1 -0
  341. package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
  342. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +1 -0
  343. package/dist/src/color/Color.d.ts +146 -0
  344. package/dist/src/color/Color.d.ts.map +1 -0
  345. package/dist/src/color/Color.min.mjs +2 -0
  346. package/dist/src/color/Color.min.mjs.map +1 -0
  347. package/dist/src/color/Color.mjs +305 -0
  348. package/dist/src/color/Color.mjs.map +1 -0
  349. package/dist/src/color/color_map.d.ts +155 -0
  350. package/dist/src/color/color_map.d.ts.map +1 -0
  351. package/dist/src/color/color_map.min.mjs +2 -0
  352. package/dist/src/color/color_map.min.mjs.map +1 -0
  353. package/dist/src/color/color_map.mjs +157 -0
  354. package/dist/src/color/color_map.mjs.map +1 -0
  355. package/dist/src/color/constants.d.ts +111 -0
  356. package/dist/src/color/constants.d.ts.map +1 -0
  357. package/dist/src/color/constants.min.mjs +2 -0
  358. package/dist/src/color/constants.min.mjs.map +1 -0
  359. package/dist/src/color/constants.mjs +115 -0
  360. package/dist/src/color/constants.mjs.map +1 -0
  361. package/dist/src/color/typedefs.d.ts +16 -0
  362. package/dist/src/color/typedefs.d.ts.map +1 -0
  363. package/dist/src/color/util.d.ts +27 -0
  364. package/dist/src/color/util.d.ts.map +1 -0
  365. package/dist/src/color/util.min.mjs +2 -0
  366. package/dist/src/color/util.min.mjs.map +1 -0
  367. package/dist/src/color/util.mjs +82 -0
  368. package/dist/src/color/util.mjs.map +1 -0
  369. package/dist/src/config.d.ts +113 -0
  370. package/dist/src/config.d.ts.map +1 -0
  371. package/dist/src/config.min.mjs +2 -0
  372. package/dist/src/config.min.mjs.map +1 -0
  373. package/dist/src/config.mjs +145 -0
  374. package/dist/src/config.mjs.map +1 -0
  375. package/dist/src/constants.d.ts +36 -0
  376. package/dist/src/constants.d.ts.map +1 -0
  377. package/dist/src/constants.min.mjs +2 -0
  378. package/dist/src/constants.min.mjs.map +1 -0
  379. package/dist/src/constants.mjs +43 -0
  380. package/dist/src/constants.mjs.map +1 -0
  381. package/dist/src/controls/Control.d.ts +229 -0
  382. package/dist/src/controls/Control.d.ts.map +1 -0
  383. package/dist/src/controls/Control.min.mjs +2 -0
  384. package/dist/src/controls/Control.min.mjs.map +1 -0
  385. package/dist/src/controls/Control.mjs +286 -0
  386. package/dist/src/controls/Control.mjs.map +1 -0
  387. package/dist/src/controls/changeHeight.d.ts +13 -0
  388. package/dist/src/controls/changeHeight.d.ts.map +1 -0
  389. package/dist/src/controls/changeWidth.d.ts +13 -0
  390. package/dist/src/controls/changeWidth.d.ts.map +1 -0
  391. package/dist/src/controls/changeWidth.min.mjs +2 -0
  392. package/dist/src/controls/changeWidth.min.mjs.map +1 -0
  393. package/dist/src/controls/changeWidth.mjs +36 -0
  394. package/dist/src/controls/changeWidth.mjs.map +1 -0
  395. package/dist/src/controls/commonControls.d.ts +26 -0
  396. package/dist/src/controls/commonControls.d.ts.map +1 -0
  397. package/dist/src/controls/commonControls.min.mjs +2 -0
  398. package/dist/src/controls/commonControls.min.mjs.map +1 -0
  399. package/dist/src/controls/commonControls.mjs +103 -0
  400. package/dist/src/controls/commonControls.mjs.map +1 -0
  401. package/dist/src/controls/controlRendering.d.ts +29 -0
  402. package/dist/src/controls/controlRendering.d.ts.map +1 -0
  403. package/dist/src/controls/controlRendering.min.mjs +2 -0
  404. package/dist/src/controls/controlRendering.min.mjs.map +1 -0
  405. package/dist/src/controls/controlRendering.mjs +87 -0
  406. package/dist/src/controls/controlRendering.mjs.map +1 -0
  407. package/dist/src/controls/drag.d.ts +12 -0
  408. package/dist/src/controls/drag.d.ts.map +1 -0
  409. package/dist/src/controls/drag.min.mjs +2 -0
  410. package/dist/src/controls/drag.min.mjs.map +1 -0
  411. package/dist/src/controls/drag.mjs +33 -0
  412. package/dist/src/controls/drag.mjs.map +1 -0
  413. package/dist/src/controls/fireEvent.d.ts +3 -0
  414. package/dist/src/controls/fireEvent.d.ts.map +1 -0
  415. package/dist/src/controls/fireEvent.min.mjs +2 -0
  416. package/dist/src/controls/fireEvent.min.mjs.map +1 -0
  417. package/dist/src/controls/fireEvent.mjs +16 -0
  418. package/dist/src/controls/fireEvent.mjs.map +1 -0
  419. package/dist/src/controls/index.d.ts +14 -0
  420. package/dist/src/controls/index.d.ts.map +1 -0
  421. package/dist/src/controls/index.min.mjs +2 -0
  422. package/dist/src/controls/index.min.mjs.map +1 -0
  423. package/dist/src/controls/index.mjs +14 -0
  424. package/dist/src/controls/index.mjs.map +1 -0
  425. package/dist/src/controls/pathControl.d.ts +12 -0
  426. package/dist/src/controls/pathControl.d.ts.map +1 -0
  427. package/dist/src/controls/pathControl.min.mjs +2 -0
  428. package/dist/src/controls/pathControl.min.mjs.map +1 -0
  429. package/dist/src/controls/pathControl.mjs +159 -0
  430. package/dist/src/controls/pathControl.mjs.map +1 -0
  431. package/dist/src/controls/polyControl.d.ts +30 -0
  432. package/dist/src/controls/polyControl.d.ts.map +1 -0
  433. package/dist/src/controls/polyControl.min.mjs +2 -0
  434. package/dist/src/controls/polyControl.min.mjs.map +1 -0
  435. package/dist/src/controls/polyControl.mjs +78 -0
  436. package/dist/src/controls/polyControl.mjs.map +1 -0
  437. package/dist/src/controls/rotate.d.ts +12 -0
  438. package/dist/src/controls/rotate.d.ts.map +1 -0
  439. package/dist/src/controls/rotate.min.mjs +2 -0
  440. package/dist/src/controls/rotate.min.mjs.map +1 -0
  441. package/dist/src/controls/rotate.mjs +73 -0
  442. package/dist/src/controls/rotate.mjs.map +1 -0
  443. package/dist/src/controls/scale.d.ts +47 -0
  444. package/dist/src/controls/scale.d.ts.map +1 -0
  445. package/dist/src/controls/scale.min.mjs +2 -0
  446. package/dist/src/controls/scale.min.mjs.map +1 -0
  447. package/dist/src/controls/scale.mjs +210 -0
  448. package/dist/src/controls/scale.mjs.map +1 -0
  449. package/dist/src/controls/scaleSkew.d.ts +39 -0
  450. package/dist/src/controls/scaleSkew.d.ts.map +1 -0
  451. package/dist/src/controls/scaleSkew.min.mjs +2 -0
  452. package/dist/src/controls/scaleSkew.min.mjs.map +1 -0
  453. package/dist/src/controls/scaleSkew.mjs +66 -0
  454. package/dist/src/controls/scaleSkew.mjs.map +1 -0
  455. package/dist/src/controls/skew.d.ts +33 -0
  456. package/dist/src/controls/skew.d.ts.map +1 -0
  457. package/dist/src/controls/skew.min.mjs +2 -0
  458. package/dist/src/controls/skew.min.mjs.map +1 -0
  459. package/dist/src/controls/skew.mjs +181 -0
  460. package/dist/src/controls/skew.mjs.map +1 -0
  461. package/dist/src/controls/util.d.ts +42 -0
  462. package/dist/src/controls/util.d.ts.map +1 -0
  463. package/dist/src/controls/util.min.mjs +2 -0
  464. package/dist/src/controls/util.min.mjs.map +1 -0
  465. package/dist/src/controls/util.mjs +105 -0
  466. package/dist/src/controls/util.mjs.map +1 -0
  467. package/dist/src/controls/wrapWithFireEvent.d.ts +10 -0
  468. package/dist/src/controls/wrapWithFireEvent.d.ts.map +1 -0
  469. package/dist/src/controls/wrapWithFireEvent.min.mjs +2 -0
  470. package/dist/src/controls/wrapWithFireEvent.min.mjs.map +1 -0
  471. package/dist/src/controls/wrapWithFireEvent.mjs +25 -0
  472. package/dist/src/controls/wrapWithFireEvent.mjs.map +1 -0
  473. package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
  474. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
  475. package/dist/src/controls/wrapWithFixedAnchor.min.mjs +2 -0
  476. package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +1 -0
  477. package/dist/src/controls/wrapWithFixedAnchor.mjs +25 -0
  478. package/dist/src/controls/wrapWithFixedAnchor.mjs.map +1 -0
  479. package/dist/src/env/browser.d.ts +3 -0
  480. package/dist/src/env/browser.d.ts.map +1 -0
  481. package/dist/src/env/browser.min.mjs +2 -0
  482. package/dist/src/env/browser.min.mjs.map +1 -0
  483. package/dist/src/env/browser.mjs +19 -0
  484. package/dist/src/env/browser.mjs.map +1 -0
  485. package/dist/src/env/index.d.ts +34 -0
  486. package/dist/src/env/index.d.ts.map +1 -0
  487. package/dist/src/env/index.min.mjs +2 -0
  488. package/dist/src/env/index.min.mjs.map +1 -0
  489. package/dist/src/env/index.mjs +47 -0
  490. package/dist/src/env/index.mjs.map +1 -0
  491. package/dist/src/env/node.d.ts +6 -0
  492. package/dist/src/env/node.d.ts.map +1 -0
  493. package/dist/src/env/types.d.ts +16 -0
  494. package/dist/src/env/types.d.ts.map +1 -0
  495. package/dist/src/filters/BaseFilter.d.ts +153 -0
  496. package/dist/src/filters/BaseFilter.d.ts.map +1 -0
  497. package/dist/src/filters/BaseFilter.min.mjs +2 -0
  498. package/dist/src/filters/BaseFilter.min.mjs.map +1 -0
  499. package/dist/src/filters/BaseFilter.mjs +334 -0
  500. package/dist/src/filters/BaseFilter.mjs.map +1 -0
  501. package/dist/src/filters/BlendColor.d.ts +65 -0
  502. package/dist/src/filters/BlendColor.d.ts.map +1 -0
  503. package/dist/src/filters/BlendColor.min.mjs +2 -0
  504. package/dist/src/filters/BlendColor.min.mjs.map +1 -0
  505. package/dist/src/filters/BlendColor.mjs +164 -0
  506. package/dist/src/filters/BlendColor.mjs.map +1 -0
  507. package/dist/src/filters/BlendImage.d.ts +97 -0
  508. package/dist/src/filters/BlendImage.d.ts.map +1 -0
  509. package/dist/src/filters/BlendImage.min.mjs +2 -0
  510. package/dist/src/filters/BlendImage.min.mjs.map +1 -0
  511. package/dist/src/filters/BlendImage.mjs +185 -0
  512. package/dist/src/filters/BlendImage.mjs.map +1 -0
  513. package/dist/src/filters/Blur.d.ts +49 -0
  514. package/dist/src/filters/Blur.d.ts.map +1 -0
  515. package/dist/src/filters/Blur.min.mjs +2 -0
  516. package/dist/src/filters/Blur.min.mjs.map +1 -0
  517. package/dist/src/filters/Blur.mjs +194 -0
  518. package/dist/src/filters/Blur.mjs.map +1 -0
  519. package/dist/src/filters/Boilerplate.d.ts +45 -0
  520. package/dist/src/filters/Boilerplate.d.ts.map +1 -0
  521. package/dist/src/filters/Brightness.d.ts +45 -0
  522. package/dist/src/filters/Brightness.d.ts.map +1 -0
  523. package/dist/src/filters/Brightness.min.mjs +2 -0
  524. package/dist/src/filters/Brightness.min.mjs.map +1 -0
  525. package/dist/src/filters/Brightness.mjs +69 -0
  526. package/dist/src/filters/Brightness.mjs.map +1 -0
  527. package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
  528. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
  529. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +2 -0
  530. package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +1 -0
  531. package/dist/src/filters/Canvas2dFilterBackend.mjs +65 -0
  532. package/dist/src/filters/Canvas2dFilterBackend.mjs.map +1 -0
  533. package/dist/src/filters/ColorMatrix.d.ts +62 -0
  534. package/dist/src/filters/ColorMatrix.d.ts.map +1 -0
  535. package/dist/src/filters/ColorMatrix.min.mjs +2 -0
  536. package/dist/src/filters/ColorMatrix.min.mjs.map +1 -0
  537. package/dist/src/filters/ColorMatrix.mjs +99 -0
  538. package/dist/src/filters/ColorMatrix.mjs.map +1 -0
  539. package/dist/src/filters/ColorMatrixFilters.d.ts +15 -0
  540. package/dist/src/filters/ColorMatrixFilters.d.ts.map +1 -0
  541. package/dist/src/filters/ColorMatrixFilters.min.mjs +2 -0
  542. package/dist/src/filters/ColorMatrixFilters.min.mjs.map +1 -0
  543. package/dist/src/filters/ColorMatrixFilters.mjs +30 -0
  544. package/dist/src/filters/ColorMatrixFilters.mjs.map +1 -0
  545. package/dist/src/filters/Composed.d.ts +51 -0
  546. package/dist/src/filters/Composed.d.ts.map +1 -0
  547. package/dist/src/filters/Composed.min.mjs +2 -0
  548. package/dist/src/filters/Composed.min.mjs.map +1 -0
  549. package/dist/src/filters/Composed.mjs +65 -0
  550. package/dist/src/filters/Composed.mjs.map +1 -0
  551. package/dist/src/filters/Contrast.d.ts +44 -0
  552. package/dist/src/filters/Contrast.d.ts.map +1 -0
  553. package/dist/src/filters/Contrast.min.mjs +2 -0
  554. package/dist/src/filters/Contrast.min.mjs.map +1 -0
  555. package/dist/src/filters/Contrast.mjs +69 -0
  556. package/dist/src/filters/Contrast.mjs.map +1 -0
  557. package/dist/src/filters/Convolute.d.ts +81 -0
  558. package/dist/src/filters/Convolute.d.ts.map +1 -0
  559. package/dist/src/filters/Convolute.min.mjs +2 -0
  560. package/dist/src/filters/Convolute.min.mjs.map +1 -0
  561. package/dist/src/filters/Convolute.mjs +154 -0
  562. package/dist/src/filters/Convolute.mjs.map +1 -0
  563. package/dist/src/filters/FilterBackend.d.ts +15 -0
  564. package/dist/src/filters/FilterBackend.d.ts.map +1 -0
  565. package/dist/src/filters/FilterBackend.min.mjs +2 -0
  566. package/dist/src/filters/FilterBackend.min.mjs.map +1 -0
  567. package/dist/src/filters/FilterBackend.mjs +43 -0
  568. package/dist/src/filters/FilterBackend.mjs.map +1 -0
  569. package/dist/src/filters/GLProbes/GLProbe.d.ts +7 -0
  570. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
  571. package/dist/src/filters/GLProbes/GLProbe.min.mjs +2 -0
  572. package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +1 -0
  573. package/dist/src/filters/GLProbes/GLProbe.mjs +4 -0
  574. package/dist/src/filters/GLProbes/GLProbe.mjs.map +1 -0
  575. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
  576. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +1 -0
  577. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
  578. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
  579. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +2 -0
  580. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +1 -0
  581. package/dist/src/filters/GLProbes/WebGLProbe.mjs +43 -0
  582. package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +1 -0
  583. package/dist/src/filters/Gamma.d.ts +57 -0
  584. package/dist/src/filters/Gamma.d.ts.map +1 -0
  585. package/dist/src/filters/Gamma.min.mjs +2 -0
  586. package/dist/src/filters/Gamma.min.mjs.map +1 -0
  587. package/dist/src/filters/Gamma.mjs +101 -0
  588. package/dist/src/filters/Gamma.mjs.map +1 -0
  589. package/dist/src/filters/Grayscale.d.ts +44 -0
  590. package/dist/src/filters/Grayscale.d.ts.map +1 -0
  591. package/dist/src/filters/Grayscale.min.mjs +2 -0
  592. package/dist/src/filters/Grayscale.min.mjs.map +1 -0
  593. package/dist/src/filters/Grayscale.mjs +81 -0
  594. package/dist/src/filters/Grayscale.mjs.map +1 -0
  595. package/dist/src/filters/HueRotation.d.ts +34 -0
  596. package/dist/src/filters/HueRotation.d.ts.map +1 -0
  597. package/dist/src/filters/HueRotation.min.mjs +2 -0
  598. package/dist/src/filters/HueRotation.min.mjs.map +1 -0
  599. package/dist/src/filters/HueRotation.mjs +53 -0
  600. package/dist/src/filters/HueRotation.mjs.map +1 -0
  601. package/dist/src/filters/Invert.d.ts +51 -0
  602. package/dist/src/filters/Invert.d.ts.map +1 -0
  603. package/dist/src/filters/Invert.min.mjs +2 -0
  604. package/dist/src/filters/Invert.min.mjs.map +1 -0
  605. package/dist/src/filters/Invert.mjs +78 -0
  606. package/dist/src/filters/Invert.mjs.map +1 -0
  607. package/dist/src/filters/Noise.d.ts +43 -0
  608. package/dist/src/filters/Noise.d.ts.map +1 -0
  609. package/dist/src/filters/Noise.min.mjs +2 -0
  610. package/dist/src/filters/Noise.min.mjs.map +1 -0
  611. package/dist/src/filters/Noise.mjs +70 -0
  612. package/dist/src/filters/Noise.mjs.map +1 -0
  613. package/dist/src/filters/Pixelate.d.ts +41 -0
  614. package/dist/src/filters/Pixelate.d.ts.map +1 -0
  615. package/dist/src/filters/Pixelate.min.mjs +2 -0
  616. package/dist/src/filters/Pixelate.min.mjs.map +1 -0
  617. package/dist/src/filters/Pixelate.mjs +80 -0
  618. package/dist/src/filters/Pixelate.mjs.map +1 -0
  619. package/dist/src/filters/RemoveColor.d.ts +51 -0
  620. package/dist/src/filters/RemoveColor.d.ts.map +1 -0
  621. package/dist/src/filters/RemoveColor.min.mjs +2 -0
  622. package/dist/src/filters/RemoveColor.min.mjs.map +1 -0
  623. package/dist/src/filters/RemoveColor.mjs +84 -0
  624. package/dist/src/filters/RemoveColor.mjs.map +1 -0
  625. package/dist/src/filters/Resize.d.ts +134 -0
  626. package/dist/src/filters/Resize.d.ts.map +1 -0
  627. package/dist/src/filters/Resize.min.mjs +2 -0
  628. package/dist/src/filters/Resize.min.mjs.map +1 -0
  629. package/dist/src/filters/Resize.mjs +444 -0
  630. package/dist/src/filters/Resize.mjs.map +1 -0
  631. package/dist/src/filters/Saturation.d.ts +45 -0
  632. package/dist/src/filters/Saturation.d.ts.map +1 -0
  633. package/dist/src/filters/Saturation.min.mjs +2 -0
  634. package/dist/src/filters/Saturation.min.mjs.map +1 -0
  635. package/dist/src/filters/Saturation.mjs +74 -0
  636. package/dist/src/filters/Saturation.mjs.map +1 -0
  637. package/dist/src/filters/Vibrance.d.ts +45 -0
  638. package/dist/src/filters/Vibrance.d.ts.map +1 -0
  639. package/dist/src/filters/Vibrance.min.mjs +2 -0
  640. package/dist/src/filters/Vibrance.min.mjs.map +1 -0
  641. package/dist/src/filters/Vibrance.mjs +76 -0
  642. package/dist/src/filters/Vibrance.mjs.map +1 -0
  643. package/dist/src/filters/WebGLFilterBackend.d.ts +131 -0
  644. package/dist/src/filters/WebGLFilterBackend.d.ts.map +1 -0
  645. package/dist/src/filters/WebGLFilterBackend.min.mjs +2 -0
  646. package/dist/src/filters/WebGLFilterBackend.min.mjs.map +1 -0
  647. package/dist/src/filters/WebGLFilterBackend.mjs +312 -0
  648. package/dist/src/filters/WebGLFilterBackend.mjs.map +1 -0
  649. package/dist/src/filters/filters.d.ts +23 -0
  650. package/dist/src/filters/filters.d.ts.map +1 -0
  651. package/dist/src/filters/filters.min.mjs +2 -0
  652. package/dist/src/filters/filters.min.mjs.map +1 -0
  653. package/dist/src/filters/filters.mjs +21 -0
  654. package/dist/src/filters/filters.mjs.map +1 -0
  655. package/dist/src/filters/index.d.ts +7 -0
  656. package/dist/src/filters/index.d.ts.map +1 -0
  657. package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
  658. package/dist/src/filters/shaders/baseFilter.d.ts.map +1 -0
  659. package/dist/src/filters/shaders/baseFilter.min.mjs +2 -0
  660. package/dist/src/filters/shaders/baseFilter.min.mjs.map +1 -0
  661. package/dist/src/filters/shaders/baseFilter.mjs +18 -0
  662. package/dist/src/filters/shaders/baseFilter.mjs.map +1 -0
  663. package/dist/src/filters/shaders/blendColor.d.ts +13 -0
  664. package/dist/src/filters/shaders/blendColor.d.ts.map +1 -0
  665. package/dist/src/filters/shaders/blendColor.min.mjs +2 -0
  666. package/dist/src/filters/shaders/blendColor.min.mjs.map +1 -0
  667. package/dist/src/filters/shaders/blendColor.mjs +34 -0
  668. package/dist/src/filters/shaders/blendColor.mjs.map +1 -0
  669. package/dist/src/filters/shaders/blendImage.d.ts +4 -0
  670. package/dist/src/filters/shaders/blendImage.d.ts.map +1 -0
  671. package/dist/src/filters/shaders/blendImage.min.mjs +2 -0
  672. package/dist/src/filters/shaders/blendImage.min.mjs.map +1 -0
  673. package/dist/src/filters/shaders/blendImage.mjs +44 -0
  674. package/dist/src/filters/shaders/blendImage.mjs.map +1 -0
  675. package/dist/src/filters/shaders/blur.d.ts +2 -0
  676. package/dist/src/filters/shaders/blur.d.ts.map +1 -0
  677. package/dist/src/filters/shaders/blur.min.mjs +2 -0
  678. package/dist/src/filters/shaders/blur.min.mjs.map +1 -0
  679. package/dist/src/filters/shaders/blur.mjs +33 -0
  680. package/dist/src/filters/shaders/blur.mjs.map +1 -0
  681. package/dist/src/filters/shaders/brightness.d.ts +2 -0
  682. package/dist/src/filters/shaders/brightness.d.ts.map +1 -0
  683. package/dist/src/filters/shaders/brightness.min.mjs +2 -0
  684. package/dist/src/filters/shaders/brightness.min.mjs.map +1 -0
  685. package/dist/src/filters/shaders/brightness.mjs +14 -0
  686. package/dist/src/filters/shaders/brightness.mjs.map +1 -0
  687. package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
  688. package/dist/src/filters/shaders/colorMatrix.d.ts.map +1 -0
  689. package/dist/src/filters/shaders/colorMatrix.min.mjs +2 -0
  690. package/dist/src/filters/shaders/colorMatrix.min.mjs.map +1 -0
  691. package/dist/src/filters/shaders/colorMatrix.mjs +15 -0
  692. package/dist/src/filters/shaders/colorMatrix.mjs.map +1 -0
  693. package/dist/src/filters/shaders/constrast.d.ts +2 -0
  694. package/dist/src/filters/shaders/constrast.d.ts.map +1 -0
  695. package/dist/src/filters/shaders/constrast.min.mjs +2 -0
  696. package/dist/src/filters/shaders/constrast.min.mjs.map +1 -0
  697. package/dist/src/filters/shaders/constrast.mjs +14 -0
  698. package/dist/src/filters/shaders/constrast.mjs.map +1 -0
  699. package/dist/src/filters/shaders/convolute.d.ts +11 -0
  700. package/dist/src/filters/shaders/convolute.d.ts.map +1 -0
  701. package/dist/src/filters/shaders/convolute.min.mjs +2 -0
  702. package/dist/src/filters/shaders/convolute.min.mjs.map +1 -0
  703. package/dist/src/filters/shaders/convolute.mjs +157 -0
  704. package/dist/src/filters/shaders/convolute.mjs.map +1 -0
  705. package/dist/src/filters/shaders/gamma.d.ts +2 -0
  706. package/dist/src/filters/shaders/gamma.d.ts.map +1 -0
  707. package/dist/src/filters/shaders/gamma.min.mjs +2 -0
  708. package/dist/src/filters/shaders/gamma.min.mjs.map +1 -0
  709. package/dist/src/filters/shaders/gamma.mjs +18 -0
  710. package/dist/src/filters/shaders/gamma.mjs.map +1 -0
  711. package/dist/src/filters/shaders/grayscale.d.ts +3 -0
  712. package/dist/src/filters/shaders/grayscale.d.ts.map +1 -0
  713. package/dist/src/filters/shaders/grayscale.min.mjs +2 -0
  714. package/dist/src/filters/shaders/grayscale.min.mjs.map +1 -0
  715. package/dist/src/filters/shaders/grayscale.mjs +37 -0
  716. package/dist/src/filters/shaders/grayscale.mjs.map +1 -0
  717. package/dist/src/filters/shaders/invert.d.ts +2 -0
  718. package/dist/src/filters/shaders/invert.d.ts.map +1 -0
  719. package/dist/src/filters/shaders/invert.min.mjs +2 -0
  720. package/dist/src/filters/shaders/invert.min.mjs.map +1 -0
  721. package/dist/src/filters/shaders/invert.mjs +22 -0
  722. package/dist/src/filters/shaders/invert.mjs.map +1 -0
  723. package/dist/src/filters/shaders/noise.d.ts +2 -0
  724. package/dist/src/filters/shaders/noise.d.ts.map +1 -0
  725. package/dist/src/filters/shaders/noise.min.mjs +2 -0
  726. package/dist/src/filters/shaders/noise.min.mjs.map +1 -0
  727. package/dist/src/filters/shaders/noise.mjs +19 -0
  728. package/dist/src/filters/shaders/noise.mjs.map +1 -0
  729. package/dist/src/filters/shaders/pixelate.d.ts +2 -0
  730. package/dist/src/filters/shaders/pixelate.d.ts.map +1 -0
  731. package/dist/src/filters/shaders/pixelate.min.mjs +2 -0
  732. package/dist/src/filters/shaders/pixelate.min.mjs.map +1 -0
  733. package/dist/src/filters/shaders/pixelate.mjs +22 -0
  734. package/dist/src/filters/shaders/pixelate.mjs.map +1 -0
  735. package/dist/src/filters/shaders/removeColor.d.ts +2 -0
  736. package/dist/src/filters/shaders/removeColor.d.ts.map +1 -0
  737. package/dist/src/filters/shaders/removeColor.min.mjs +2 -0
  738. package/dist/src/filters/shaders/removeColor.min.mjs.map +1 -0
  739. package/dist/src/filters/shaders/removeColor.mjs +16 -0
  740. package/dist/src/filters/shaders/removeColor.mjs.map +1 -0
  741. package/dist/src/filters/shaders/saturation.d.ts +2 -0
  742. package/dist/src/filters/shaders/saturation.d.ts.map +1 -0
  743. package/dist/src/filters/shaders/saturation.min.mjs +2 -0
  744. package/dist/src/filters/shaders/saturation.min.mjs.map +1 -0
  745. package/dist/src/filters/shaders/saturation.mjs +18 -0
  746. package/dist/src/filters/shaders/saturation.mjs.map +1 -0
  747. package/dist/src/filters/shaders/vibrance.d.ts +2 -0
  748. package/dist/src/filters/shaders/vibrance.d.ts.map +1 -0
  749. package/dist/src/filters/shaders/vibrance.min.mjs +2 -0
  750. package/dist/src/filters/shaders/vibrance.min.mjs.map +1 -0
  751. package/dist/src/filters/shaders/vibrance.mjs +19 -0
  752. package/dist/src/filters/shaders/vibrance.mjs.map +1 -0
  753. package/dist/src/filters/typedefs.d.ts +70 -0
  754. package/dist/src/filters/typedefs.d.ts.map +1 -0
  755. package/dist/src/filters/utils.d.ts +10 -0
  756. package/dist/src/filters/utils.d.ts.map +1 -0
  757. package/dist/src/filters/utils.min.mjs +2 -0
  758. package/dist/src/filters/utils.min.mjs.map +1 -0
  759. package/dist/src/filters/utils.mjs +43 -0
  760. package/dist/src/filters/utils.mjs.map +1 -0
  761. package/dist/src/gradient/Gradient.d.ts +142 -0
  762. package/dist/src/gradient/Gradient.d.ts.map +1 -0
  763. package/dist/src/gradient/Gradient.min.mjs +2 -0
  764. package/dist/src/gradient/Gradient.min.mjs.map +1 -0
  765. package/dist/src/gradient/Gradient.mjs +328 -0
  766. package/dist/src/gradient/Gradient.mjs.map +1 -0
  767. package/dist/src/gradient/constants.d.ts +15 -0
  768. package/dist/src/gradient/constants.d.ts.map +1 -0
  769. package/dist/src/gradient/constants.min.mjs +2 -0
  770. package/dist/src/gradient/constants.min.mjs.map +1 -0
  771. package/dist/src/gradient/constants.mjs +14 -0
  772. package/dist/src/gradient/constants.mjs.map +1 -0
  773. package/dist/src/gradient/index.d.ts +3 -0
  774. package/dist/src/gradient/index.d.ts.map +1 -0
  775. package/dist/src/gradient/parser/misc.d.ts +4 -0
  776. package/dist/src/gradient/parser/misc.d.ts.map +1 -0
  777. package/dist/src/gradient/parser/misc.min.mjs +2 -0
  778. package/dist/src/gradient/parser/misc.min.mjs.map +1 -0
  779. package/dist/src/gradient/parser/misc.mjs +9 -0
  780. package/dist/src/gradient/parser/misc.mjs.map +1 -0
  781. package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
  782. package/dist/src/gradient/parser/parseColorStops.d.ts.map +1 -0
  783. package/dist/src/gradient/parser/parseColorStops.min.mjs +2 -0
  784. package/dist/src/gradient/parser/parseColorStops.min.mjs.map +1 -0
  785. package/dist/src/gradient/parser/parseColorStops.mjs +44 -0
  786. package/dist/src/gradient/parser/parseColorStops.mjs.map +1 -0
  787. package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
  788. package/dist/src/gradient/parser/parseCoords.d.ts.map +1 -0
  789. package/dist/src/gradient/parser/parseCoords.min.mjs +2 -0
  790. package/dist/src/gradient/parser/parseCoords.min.mjs.map +1 -0
  791. package/dist/src/gradient/parser/parseCoords.mjs +65 -0
  792. package/dist/src/gradient/parser/parseCoords.mjs.map +1 -0
  793. package/dist/src/gradient/typedefs.d.ts +93 -0
  794. package/dist/src/gradient/typedefs.d.ts.map +1 -0
  795. package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
  796. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +1 -0
  797. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
  798. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +1 -0
  799. package/dist/src/parkinglot/straighten.d.ts +12 -0
  800. package/dist/src/parkinglot/straighten.d.ts.map +1 -0
  801. package/dist/src/parser/applyViewboxTransform.d.ts +13 -0
  802. package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -0
  803. package/dist/src/parser/applyViewboxTransform.min.mjs +2 -0
  804. package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -0
  805. package/dist/src/parser/applyViewboxTransform.mjs +127 -0
  806. package/dist/src/parser/applyViewboxTransform.mjs.map +1 -0
  807. package/dist/src/parser/attributes.d.ts +6 -0
  808. package/dist/src/parser/attributes.d.ts.map +1 -0
  809. package/dist/src/parser/attributes.min.mjs +2 -0
  810. package/dist/src/parser/attributes.min.mjs.map +1 -0
  811. package/dist/src/parser/attributes.mjs +10 -0
  812. package/dist/src/parser/attributes.mjs.map +1 -0
  813. package/dist/src/parser/constants.d.ts +42 -0
  814. package/dist/src/parser/constants.d.ts.map +1 -0
  815. package/dist/src/parser/constants.min.mjs +2 -0
  816. package/dist/src/parser/constants.min.mjs.map +1 -0
  817. package/dist/src/parser/constants.mjs +58 -0
  818. package/dist/src/parser/constants.mjs.map +1 -0
  819. package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
  820. package/dist/src/parser/doesSomeParentMatch.d.ts.map +1 -0
  821. package/dist/src/parser/doesSomeParentMatch.min.mjs +2 -0
  822. package/dist/src/parser/doesSomeParentMatch.min.mjs.map +1 -0
  823. package/dist/src/parser/doesSomeParentMatch.mjs +17 -0
  824. package/dist/src/parser/doesSomeParentMatch.mjs.map +1 -0
  825. package/dist/src/parser/elementMatchesRule.d.ts +5 -0
  826. package/dist/src/parser/elementMatchesRule.d.ts.map +1 -0
  827. package/dist/src/parser/elementMatchesRule.min.mjs +2 -0
  828. package/dist/src/parser/elementMatchesRule.min.mjs.map +1 -0
  829. package/dist/src/parser/elementMatchesRule.mjs +19 -0
  830. package/dist/src/parser/elementMatchesRule.mjs.map +1 -0
  831. package/dist/src/parser/elements_parser.d.ts +33 -0
  832. package/dist/src/parser/elements_parser.d.ts.map +1 -0
  833. package/dist/src/parser/elements_parser.min.mjs +2 -0
  834. package/dist/src/parser/elements_parser.min.mjs.map +1 -0
  835. package/dist/src/parser/elements_parser.mjs +139 -0
  836. package/dist/src/parser/elements_parser.mjs.map +1 -0
  837. package/dist/src/parser/getCSSRules.d.ts +8 -0
  838. package/dist/src/parser/getCSSRules.d.ts.map +1 -0
  839. package/dist/src/parser/getCSSRules.min.mjs +2 -0
  840. package/dist/src/parser/getCSSRules.min.mjs.map +1 -0
  841. package/dist/src/parser/getCSSRules.mjs +60 -0
  842. package/dist/src/parser/getCSSRules.mjs.map +1 -0
  843. package/dist/src/parser/getGlobalStylesForElement.d.ts +6 -0
  844. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
  845. package/dist/src/parser/getGlobalStylesForElement.min.mjs +2 -0
  846. package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +1 -0
  847. package/dist/src/parser/getGlobalStylesForElement.mjs +22 -0
  848. package/dist/src/parser/getGlobalStylesForElement.mjs.map +1 -0
  849. package/dist/src/parser/getGradientDefs.d.ts +7 -0
  850. package/dist/src/parser/getGradientDefs.d.ts.map +1 -0
  851. package/dist/src/parser/getGradientDefs.min.mjs +2 -0
  852. package/dist/src/parser/getGradientDefs.min.mjs.map +1 -0
  853. package/dist/src/parser/getGradientDefs.mjs +29 -0
  854. package/dist/src/parser/getGradientDefs.mjs.map +1 -0
  855. package/dist/src/parser/getMultipleNodes.d.ts +2 -0
  856. package/dist/src/parser/getMultipleNodes.d.ts.map +1 -0
  857. package/dist/src/parser/getMultipleNodes.min.mjs +2 -0
  858. package/dist/src/parser/getMultipleNodes.min.mjs.map +1 -0
  859. package/dist/src/parser/getMultipleNodes.mjs +16 -0
  860. package/dist/src/parser/getMultipleNodes.mjs.map +1 -0
  861. package/dist/src/parser/getSvgRegex.d.ts +2 -0
  862. package/dist/src/parser/getSvgRegex.d.ts.map +1 -0
  863. package/dist/src/parser/getSvgRegex.min.mjs +2 -0
  864. package/dist/src/parser/getSvgRegex.min.mjs.map +1 -0
  865. package/dist/src/parser/getSvgRegex.mjs +6 -0
  866. package/dist/src/parser/getSvgRegex.mjs.map +1 -0
  867. package/dist/src/parser/getTagName.d.ts +2 -0
  868. package/dist/src/parser/getTagName.d.ts.map +1 -0
  869. package/dist/src/parser/getTagName.min.mjs +2 -0
  870. package/dist/src/parser/getTagName.min.mjs.map +1 -0
  871. package/dist/src/parser/getTagName.mjs +4 -0
  872. package/dist/src/parser/getTagName.mjs.map +1 -0
  873. package/dist/src/parser/hasInvalidAncestor.d.ts +2 -0
  874. package/dist/src/parser/hasInvalidAncestor.d.ts.map +1 -0
  875. package/dist/src/parser/hasInvalidAncestor.min.mjs +2 -0
  876. package/dist/src/parser/hasInvalidAncestor.min.mjs.map +1 -0
  877. package/dist/src/parser/hasInvalidAncestor.mjs +17 -0
  878. package/dist/src/parser/hasInvalidAncestor.mjs.map +1 -0
  879. package/dist/src/parser/loadSVGFromString.d.ts +17 -0
  880. package/dist/src/parser/loadSVGFromString.d.ts.map +1 -0
  881. package/dist/src/parser/loadSVGFromString.min.mjs +2 -0
  882. package/dist/src/parser/loadSVGFromString.min.mjs.map +1 -0
  883. package/dist/src/parser/loadSVGFromString.mjs +25 -0
  884. package/dist/src/parser/loadSVGFromString.mjs.map +1 -0
  885. package/dist/src/parser/loadSVGFromURL.d.ts +18 -0
  886. package/dist/src/parser/loadSVGFromURL.d.ts.map +1 -0
  887. package/dist/src/parser/loadSVGFromURL.min.mjs +2 -0
  888. package/dist/src/parser/loadSVGFromURL.min.mjs.map +1 -0
  889. package/dist/src/parser/loadSVGFromURL.mjs +37 -0
  890. package/dist/src/parser/loadSVGFromURL.mjs.map +1 -0
  891. package/dist/src/parser/normalizeAttr.d.ts +3 -0
  892. package/dist/src/parser/normalizeAttr.d.ts.map +1 -0
  893. package/dist/src/parser/normalizeAttr.min.mjs +2 -0
  894. package/dist/src/parser/normalizeAttr.min.mjs.map +1 -0
  895. package/dist/src/parser/normalizeAttr.mjs +9 -0
  896. package/dist/src/parser/normalizeAttr.mjs.map +1 -0
  897. package/dist/src/parser/normalizeValue.d.ts +2 -0
  898. package/dist/src/parser/normalizeValue.d.ts.map +1 -0
  899. package/dist/src/parser/normalizeValue.min.mjs +2 -0
  900. package/dist/src/parser/normalizeValue.min.mjs.map +1 -0
  901. package/dist/src/parser/normalizeValue.mjs +63 -0
  902. package/dist/src/parser/normalizeValue.mjs.map +1 -0
  903. package/dist/src/parser/parseAttributes.d.ts +10 -0
  904. package/dist/src/parser/parseAttributes.d.ts.map +1 -0
  905. package/dist/src/parser/parseAttributes.min.mjs +2 -0
  906. package/dist/src/parser/parseAttributes.min.mjs.map +1 -0
  907. package/dist/src/parser/parseAttributes.mjs +73 -0
  908. package/dist/src/parser/parseAttributes.mjs.map +1 -0
  909. package/dist/src/parser/parseFontDeclaration.d.ts +7 -0
  910. package/dist/src/parser/parseFontDeclaration.d.ts.map +1 -0
  911. package/dist/src/parser/parseFontDeclaration.min.mjs +2 -0
  912. package/dist/src/parser/parseFontDeclaration.min.mjs.map +1 -0
  913. package/dist/src/parser/parseFontDeclaration.mjs +39 -0
  914. package/dist/src/parser/parseFontDeclaration.mjs.map +1 -0
  915. package/dist/src/parser/parsePointsAttribute.d.ts +8 -0
  916. package/dist/src/parser/parsePointsAttribute.d.ts.map +1 -0
  917. package/dist/src/parser/parsePointsAttribute.min.mjs +2 -0
  918. package/dist/src/parser/parsePointsAttribute.min.mjs.map +1 -0
  919. package/dist/src/parser/parsePointsAttribute.mjs +30 -0
  920. package/dist/src/parser/parsePointsAttribute.mjs.map +1 -0
  921. package/dist/src/parser/parseSVGDocument.d.ts +19 -0
  922. package/dist/src/parser/parseSVGDocument.d.ts.map +1 -0
  923. package/dist/src/parser/parseSVGDocument.min.mjs +2 -0
  924. package/dist/src/parser/parseSVGDocument.min.mjs.map +1 -0
  925. package/dist/src/parser/parseSVGDocument.mjs +79 -0
  926. package/dist/src/parser/parseSVGDocument.mjs.map +1 -0
  927. package/dist/src/parser/parseStyleAttribute.d.ts +7 -0
  928. package/dist/src/parser/parseStyleAttribute.d.ts.map +1 -0
  929. package/dist/src/parser/parseStyleAttribute.min.mjs +2 -0
  930. package/dist/src/parser/parseStyleAttribute.min.mjs.map +1 -0
  931. package/dist/src/parser/parseStyleAttribute.mjs +24 -0
  932. package/dist/src/parser/parseStyleAttribute.mjs.map +1 -0
  933. package/dist/src/parser/parseStyleObject.d.ts +8 -0
  934. package/dist/src/parser/parseStyleObject.d.ts.map +1 -0
  935. package/dist/src/parser/parseStyleObject.min.mjs +2 -0
  936. package/dist/src/parser/parseStyleObject.min.mjs.map +1 -0
  937. package/dist/src/parser/parseStyleObject.mjs +18 -0
  938. package/dist/src/parser/parseStyleObject.mjs.map +1 -0
  939. package/dist/src/parser/parseStyleString.d.ts +8 -0
  940. package/dist/src/parser/parseStyleString.d.ts.map +1 -0
  941. package/dist/src/parser/parseStyleString.min.mjs +2 -0
  942. package/dist/src/parser/parseStyleString.min.mjs.map +1 -0
  943. package/dist/src/parser/parseStyleString.mjs +16 -0
  944. package/dist/src/parser/parseStyleString.mjs.map +1 -0
  945. package/dist/src/parser/parseTransformAttribute.d.ts +8 -0
  946. package/dist/src/parser/parseTransformAttribute.d.ts.map +1 -0
  947. package/dist/src/parser/parseTransformAttribute.min.mjs +2 -0
  948. package/dist/src/parser/parseTransformAttribute.min.mjs.map +1 -0
  949. package/dist/src/parser/parseTransformAttribute.mjs +84 -0
  950. package/dist/src/parser/parseTransformAttribute.mjs.map +1 -0
  951. package/dist/src/parser/parseUseDirectives.d.ts +2 -0
  952. package/dist/src/parser/parseUseDirectives.d.ts.map +1 -0
  953. package/dist/src/parser/parseUseDirectives.min.mjs +2 -0
  954. package/dist/src/parser/parseUseDirectives.min.mjs.map +1 -0
  955. package/dist/src/parser/parseUseDirectives.mjs +88 -0
  956. package/dist/src/parser/parseUseDirectives.mjs.map +1 -0
  957. package/dist/src/parser/percent.d.ts +9 -0
  958. package/dist/src/parser/percent.d.ts.map +1 -0
  959. package/dist/src/parser/percent.min.mjs +2 -0
  960. package/dist/src/parser/percent.min.mjs.map +1 -0
  961. package/dist/src/parser/percent.mjs +21 -0
  962. package/dist/src/parser/percent.mjs.map +1 -0
  963. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
  964. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
  965. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +2 -0
  966. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +1 -0
  967. package/dist/src/parser/recursivelyParseGradientsXlink.mjs +28 -0
  968. package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +1 -0
  969. package/dist/src/parser/selectorMatches.d.ts +2 -0
  970. package/dist/src/parser/selectorMatches.d.ts.map +1 -0
  971. package/dist/src/parser/selectorMatches.min.mjs +2 -0
  972. package/dist/src/parser/selectorMatches.min.mjs.map +1 -0
  973. package/dist/src/parser/selectorMatches.mjs +26 -0
  974. package/dist/src/parser/selectorMatches.mjs.map +1 -0
  975. package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
  976. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
  977. package/dist/src/parser/setStrokeFillOpacity.min.mjs +2 -0
  978. package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +1 -0
  979. package/dist/src/parser/setStrokeFillOpacity.mjs +38 -0
  980. package/dist/src/parser/setStrokeFillOpacity.mjs.map +1 -0
  981. package/dist/src/parser/typedefs.d.ts +10 -0
  982. package/dist/src/parser/typedefs.d.ts.map +1 -0
  983. package/dist/src/shapes/ActiveSelection.d.ts +105 -0
  984. package/dist/src/shapes/ActiveSelection.d.ts.map +1 -0
  985. package/dist/src/shapes/ActiveSelection.min.mjs +2 -0
  986. package/dist/src/shapes/ActiveSelection.min.mjs.map +1 -0
  987. package/dist/src/shapes/ActiveSelection.mjs +236 -0
  988. package/dist/src/shapes/ActiveSelection.mjs.map +1 -0
  989. package/dist/src/shapes/Circle.d.ts +107 -0
  990. package/dist/src/shapes/Circle.d.ts.map +1 -0
  991. package/dist/src/shapes/Circle.min.mjs +2 -0
  992. package/dist/src/shapes/Circle.min.mjs.map +1 -0
  993. package/dist/src/shapes/Circle.mjs +172 -0
  994. package/dist/src/shapes/Circle.mjs.map +1 -0
  995. package/dist/src/shapes/Ellipse.d.ts +82 -0
  996. package/dist/src/shapes/Ellipse.d.ts.map +1 -0
  997. package/dist/src/shapes/Ellipse.min.mjs +2 -0
  998. package/dist/src/shapes/Ellipse.min.mjs.map +1 -0
  999. package/dist/src/shapes/Ellipse.mjs +138 -0
  1000. package/dist/src/shapes/Ellipse.mjs.map +1 -0
  1001. package/dist/src/shapes/Group.d.ts +301 -0
  1002. package/dist/src/shapes/Group.d.ts.map +1 -0
  1003. package/dist/src/shapes/Group.min.mjs +2 -0
  1004. package/dist/src/shapes/Group.min.mjs.map +1 -0
  1005. package/dist/src/shapes/Group.mjs +601 -0
  1006. package/dist/src/shapes/Group.mjs.map +1 -0
  1007. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
  1008. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
  1009. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +2 -0
  1010. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +1 -0
  1011. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +347 -0
  1012. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +1 -0
  1013. package/dist/src/shapes/IText/IText.d.ts +347 -0
  1014. package/dist/src/shapes/IText/IText.d.ts.map +1 -0
  1015. package/dist/src/shapes/IText/IText.min.mjs +2 -0
  1016. package/dist/src/shapes/IText/IText.min.mjs.map +1 -0
  1017. package/dist/src/shapes/IText/IText.mjs +699 -0
  1018. package/dist/src/shapes/IText/IText.mjs.map +1 -0
  1019. package/dist/src/shapes/IText/ITextBehavior.d.ts +321 -0
  1020. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
  1021. package/dist/src/shapes/IText/ITextBehavior.min.mjs +2 -0
  1022. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -0
  1023. package/dist/src/shapes/IText/ITextBehavior.mjs +989 -0
  1024. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -0
  1025. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
  1026. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
  1027. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +2 -0
  1028. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -0
  1029. package/dist/src/shapes/IText/ITextClickBehavior.mjs +220 -0
  1030. package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -0
  1031. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +197 -0
  1032. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
  1033. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +2 -0
  1034. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -0
  1035. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +602 -0
  1036. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -0
  1037. package/dist/src/shapes/IText/constants.d.ts +13 -0
  1038. package/dist/src/shapes/IText/constants.d.ts.map +1 -0
  1039. package/dist/src/shapes/IText/constants.min.mjs +2 -0
  1040. package/dist/src/shapes/IText/constants.min.mjs.map +1 -0
  1041. package/dist/src/shapes/IText/constants.mjs +52 -0
  1042. package/dist/src/shapes/IText/constants.mjs.map +1 -0
  1043. package/dist/src/shapes/Image.d.ts +296 -0
  1044. package/dist/src/shapes/Image.d.ts.map +1 -0
  1045. package/dist/src/shapes/Image.min.mjs +2 -0
  1046. package/dist/src/shapes/Image.min.mjs.map +1 -0
  1047. package/dist/src/shapes/Image.mjs +661 -0
  1048. package/dist/src/shapes/Image.mjs.map +1 -0
  1049. package/dist/src/shapes/Line.d.ts +118 -0
  1050. package/dist/src/shapes/Line.d.ts.map +1 -0
  1051. package/dist/src/shapes/Line.min.mjs +2 -0
  1052. package/dist/src/shapes/Line.min.mjs.map +1 -0
  1053. package/dist/src/shapes/Line.mjs +283 -0
  1054. package/dist/src/shapes/Line.mjs.map +1 -0
  1055. package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
  1056. package/dist/src/shapes/Object/FabricObject.d.ts.map +1 -0
  1057. package/dist/src/shapes/Object/FabricObject.min.mjs +2 -0
  1058. package/dist/src/shapes/Object/FabricObject.min.mjs.map +1 -0
  1059. package/dist/src/shapes/Object/FabricObject.mjs +17 -0
  1060. package/dist/src/shapes/Object/FabricObject.mjs.map +1 -0
  1061. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
  1062. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
  1063. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +2 -0
  1064. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -0
  1065. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +166 -0
  1066. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -0
  1067. package/dist/src/shapes/Object/InteractiveObject.d.ts +317 -0
  1068. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
  1069. package/dist/src/shapes/Object/InteractiveObject.min.mjs +2 -0
  1070. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -0
  1071. package/dist/src/shapes/Object/InteractiveObject.mjs +556 -0
  1072. package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -0
  1073. package/dist/src/shapes/Object/Object.d.ts +716 -0
  1074. package/dist/src/shapes/Object/Object.d.ts.map +1 -0
  1075. package/dist/src/shapes/Object/Object.min.mjs +2 -0
  1076. package/dist/src/shapes/Object/Object.min.mjs.map +1 -0
  1077. package/dist/src/shapes/Object/Object.mjs +1531 -0
  1078. package/dist/src/shapes/Object/Object.mjs.map +1 -0
  1079. package/dist/src/shapes/Object/ObjectGeometry.d.ts +338 -0
  1080. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
  1081. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +2 -0
  1082. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -0
  1083. package/dist/src/shapes/Object/ObjectGeometry.mjs +657 -0
  1084. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -0
  1085. package/dist/src/shapes/Object/defaultValues.d.ts +8 -0
  1086. package/dist/src/shapes/Object/defaultValues.d.ts.map +1 -0
  1087. package/dist/src/shapes/Object/defaultValues.min.mjs +2 -0
  1088. package/dist/src/shapes/Object/defaultValues.min.mjs.map +1 -0
  1089. package/dist/src/shapes/Object/defaultValues.mjs +81 -0
  1090. package/dist/src/shapes/Object/defaultValues.mjs.map +1 -0
  1091. package/dist/src/shapes/Object/types/BaseProps.d.ts +92 -0
  1092. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
  1093. package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
  1094. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
  1095. package/dist/src/shapes/Object/types/ControlProps.d.ts +63 -0
  1096. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
  1097. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +62 -0
  1098. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
  1099. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
  1100. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
  1101. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
  1102. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
  1103. package/dist/src/shapes/Object/types/ObjectProps.d.ts +41 -0
  1104. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
  1105. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
  1106. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
  1107. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -0
  1108. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
  1109. package/dist/src/shapes/Object/types/index.d.ts +6 -0
  1110. package/dist/src/shapes/Object/types/index.d.ts.map +1 -0
  1111. package/dist/src/shapes/Path.d.ts +208 -0
  1112. package/dist/src/shapes/Path.d.ts.map +1 -0
  1113. package/dist/src/shapes/Path.min.mjs +2 -0
  1114. package/dist/src/shapes/Path.min.mjs.map +1 -0
  1115. package/dist/src/shapes/Path.mjs +318 -0
  1116. package/dist/src/shapes/Path.mjs.map +1 -0
  1117. package/dist/src/shapes/Polygon.d.ts +7 -0
  1118. package/dist/src/shapes/Polygon.d.ts.map +1 -0
  1119. package/dist/src/shapes/Polygon.min.mjs +2 -0
  1120. package/dist/src/shapes/Polygon.min.mjs.map +1 -0
  1121. package/dist/src/shapes/Polygon.mjs +16 -0
  1122. package/dist/src/shapes/Polygon.mjs.map +1 -0
  1123. package/dist/src/shapes/Polyline.d.ts +149 -0
  1124. package/dist/src/shapes/Polyline.d.ts.map +1 -0
  1125. package/dist/src/shapes/Polyline.min.mjs +2 -0
  1126. package/dist/src/shapes/Polyline.min.mjs.map +1 -0
  1127. package/dist/src/shapes/Polyline.mjs +358 -0
  1128. package/dist/src/shapes/Polyline.mjs.map +1 -0
  1129. package/dist/src/shapes/Rect.d.ts +77 -0
  1130. package/dist/src/shapes/Rect.d.ts.map +1 -0
  1131. package/dist/src/shapes/Rect.min.mjs +2 -0
  1132. package/dist/src/shapes/Rect.min.mjs.map +1 -0
  1133. package/dist/src/shapes/Rect.mjs +151 -0
  1134. package/dist/src/shapes/Rect.mjs.map +1 -0
  1135. package/dist/src/shapes/Text/StyledText.d.ts +126 -0
  1136. package/dist/src/shapes/Text/StyledText.d.ts.map +1 -0
  1137. package/dist/src/shapes/Text/StyledText.min.mjs +2 -0
  1138. package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -0
  1139. package/dist/src/shapes/Text/StyledText.mjs +291 -0
  1140. package/dist/src/shapes/Text/StyledText.mjs.map +1 -0
  1141. package/dist/src/shapes/Text/Text.d.ts +761 -0
  1142. package/dist/src/shapes/Text/Text.d.ts.map +1 -0
  1143. package/dist/src/shapes/Text/Text.min.mjs +2 -0
  1144. package/dist/src/shapes/Text/Text.min.mjs.map +1 -0
  1145. package/dist/src/shapes/Text/Text.mjs +1475 -0
  1146. package/dist/src/shapes/Text/Text.mjs.map +1 -0
  1147. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
  1148. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
  1149. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +2 -0
  1150. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -0
  1151. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +245 -0
  1152. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -0
  1153. package/dist/src/shapes/Text/constants.d.ts +14 -0
  1154. package/dist/src/shapes/Text/constants.d.ts.map +1 -0
  1155. package/dist/src/shapes/Text/constants.min.mjs +2 -0
  1156. package/dist/src/shapes/Text/constants.min.mjs.map +1 -0
  1157. package/dist/src/shapes/Text/constants.mjs +74 -0
  1158. package/dist/src/shapes/Text/constants.mjs.map +1 -0
  1159. package/dist/src/shapes/Textbox.d.ts +233 -0
  1160. package/dist/src/shapes/Textbox.d.ts.map +1 -0
  1161. package/dist/src/shapes/Textbox.min.mjs +2 -0
  1162. package/dist/src/shapes/Textbox.min.mjs.map +1 -0
  1163. package/dist/src/shapes/Textbox.mjs +585 -0
  1164. package/dist/src/shapes/Textbox.mjs.map +1 -0
  1165. package/dist/src/shapes/Triangle.d.ts +27 -0
  1166. package/dist/src/shapes/Triangle.d.ts.map +1 -0
  1167. package/dist/src/shapes/Triangle.min.mjs +2 -0
  1168. package/dist/src/shapes/Triangle.min.mjs.map +1 -0
  1169. package/dist/src/shapes/Triangle.mjs +60 -0
  1170. package/dist/src/shapes/Triangle.mjs.map +1 -0
  1171. package/dist/src/text/browserLines.d.ts +42 -0
  1172. package/dist/src/text/browserLines.d.ts.map +1 -0
  1173. package/dist/src/text/browserLines.min.mjs +2 -0
  1174. package/dist/src/text/browserLines.min.mjs.map +1 -0
  1175. package/dist/src/text/browserLines.mjs +168 -0
  1176. package/dist/src/text/browserLines.mjs.map +1 -0
  1177. package/dist/src/text/ellipsis.d.ts +47 -0
  1178. package/dist/src/text/ellipsis.d.ts.map +1 -0
  1179. package/dist/src/text/ellipsis.min.mjs +2 -0
  1180. package/dist/src/text/ellipsis.min.mjs.map +1 -0
  1181. package/dist/src/text/ellipsis.mjs +182 -0
  1182. package/dist/src/text/ellipsis.mjs.map +1 -0
  1183. package/dist/src/text/hitTest.d.ts +82 -0
  1184. package/dist/src/text/hitTest.d.ts.map +1 -0
  1185. package/dist/src/text/hitTest.min.mjs +2 -0
  1186. package/dist/src/text/hitTest.min.mjs.map +1 -0
  1187. package/dist/src/text/hitTest.mjs +309 -0
  1188. package/dist/src/text/hitTest.mjs.map +1 -0
  1189. package/dist/src/text/layout.d.ts +66 -0
  1190. package/dist/src/text/layout.d.ts.map +1 -0
  1191. package/dist/src/text/layout.min.mjs +2 -0
  1192. package/dist/src/text/layout.min.mjs.map +1 -0
  1193. package/dist/src/text/layout.mjs +454 -0
  1194. package/dist/src/text/layout.mjs.map +1 -0
  1195. package/dist/src/text/measure.d.ts +131 -0
  1196. package/dist/src/text/measure.d.ts.map +1 -0
  1197. package/dist/src/text/measure.min.mjs +2 -0
  1198. package/dist/src/text/measure.min.mjs.map +1 -0
  1199. package/dist/src/text/measure.mjs +316 -0
  1200. package/dist/src/text/measure.mjs.map +1 -0
  1201. package/dist/src/text/overlayEditor.d.ts +113 -0
  1202. package/dist/src/text/overlayEditor.d.ts.map +1 -0
  1203. package/dist/src/text/overlayEditor.min.mjs +2 -0
  1204. package/dist/src/text/overlayEditor.min.mjs.map +1 -0
  1205. package/dist/src/text/overlayEditor.mjs +553 -0
  1206. package/dist/src/text/overlayEditor.mjs.map +1 -0
  1207. package/dist/src/text/unicode.d.ts +106 -0
  1208. package/dist/src/text/unicode.d.ts.map +1 -0
  1209. package/dist/src/text/unicode.min.mjs +2 -0
  1210. package/dist/src/text/unicode.min.mjs.map +1 -0
  1211. package/dist/src/text/unicode.mjs +34 -0
  1212. package/dist/src/text/unicode.mjs.map +1 -0
  1213. package/dist/src/typedefs.d.ts +99 -0
  1214. package/dist/src/typedefs.d.ts.map +1 -0
  1215. package/dist/src/util/animation/AnimationBase.d.ts +54 -0
  1216. package/dist/src/util/animation/AnimationBase.d.ts.map +1 -0
  1217. package/dist/src/util/animation/AnimationBase.min.mjs +2 -0
  1218. package/dist/src/util/animation/AnimationBase.min.mjs.map +1 -0
  1219. package/dist/src/util/animation/AnimationBase.mjs +128 -0
  1220. package/dist/src/util/animation/AnimationBase.mjs.map +1 -0
  1221. package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
  1222. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
  1223. package/dist/src/util/animation/AnimationFrameProvider.min.mjs +2 -0
  1224. package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +1 -0
  1225. package/dist/src/util/animation/AnimationFrameProvider.mjs +11 -0
  1226. package/dist/src/util/animation/AnimationFrameProvider.mjs.map +1 -0
  1227. package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
  1228. package/dist/src/util/animation/AnimationRegistry.d.ts.map +1 -0
  1229. package/dist/src/util/animation/AnimationRegistry.min.mjs +2 -0
  1230. package/dist/src/util/animation/AnimationRegistry.min.mjs.map +1 -0
  1231. package/dist/src/util/animation/AnimationRegistry.mjs +55 -0
  1232. package/dist/src/util/animation/AnimationRegistry.mjs.map +1 -0
  1233. package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
  1234. package/dist/src/util/animation/ArrayAnimation.d.ts.map +1 -0
  1235. package/dist/src/util/animation/ArrayAnimation.min.mjs +2 -0
  1236. package/dist/src/util/animation/ArrayAnimation.min.mjs.map +1 -0
  1237. package/dist/src/util/animation/ArrayAnimation.mjs +26 -0
  1238. package/dist/src/util/animation/ArrayAnimation.mjs.map +1 -0
  1239. package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
  1240. package/dist/src/util/animation/ColorAnimation.d.ts.map +1 -0
  1241. package/dist/src/util/animation/ColorAnimation.min.mjs +2 -0
  1242. package/dist/src/util/animation/ColorAnimation.min.mjs.map +1 -0
  1243. package/dist/src/util/animation/ColorAnimation.mjs +47 -0
  1244. package/dist/src/util/animation/ColorAnimation.mjs.map +1 -0
  1245. package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
  1246. package/dist/src/util/animation/ValueAnimation.d.ts.map +1 -0
  1247. package/dist/src/util/animation/ValueAnimation.min.mjs +2 -0
  1248. package/dist/src/util/animation/ValueAnimation.min.mjs.map +1 -0
  1249. package/dist/src/util/animation/ValueAnimation.mjs +26 -0
  1250. package/dist/src/util/animation/ValueAnimation.mjs.map +1 -0
  1251. package/dist/src/util/animation/animate.d.ts +37 -0
  1252. package/dist/src/util/animation/animate.d.ts.map +1 -0
  1253. package/dist/src/util/animation/animate.min.mjs +2 -0
  1254. package/dist/src/util/animation/animate.min.mjs.map +1 -0
  1255. package/dist/src/util/animation/animate.mjs +48 -0
  1256. package/dist/src/util/animation/animate.mjs.map +1 -0
  1257. package/dist/src/util/animation/easing.d.ts +130 -0
  1258. package/dist/src/util/animation/easing.d.ts.map +1 -0
  1259. package/dist/src/util/animation/easing.min.mjs +2 -0
  1260. package/dist/src/util/animation/easing.min.mjs.map +1 -0
  1261. package/dist/src/util/animation/easing.mjs +315 -0
  1262. package/dist/src/util/animation/easing.mjs.map +1 -0
  1263. package/dist/src/util/animation/index.d.ts +3 -0
  1264. package/dist/src/util/animation/index.d.ts.map +1 -0
  1265. package/dist/src/util/animation/types.d.ts +87 -0
  1266. package/dist/src/util/animation/types.d.ts.map +1 -0
  1267. package/dist/src/util/applyMixins.d.ts +8 -0
  1268. package/dist/src/util/applyMixins.d.ts.map +1 -0
  1269. package/dist/src/util/applyMixins.min.mjs +2 -0
  1270. package/dist/src/util/applyMixins.min.mjs.map +1 -0
  1271. package/dist/src/util/applyMixins.mjs +14 -0
  1272. package/dist/src/util/applyMixins.mjs.map +1 -0
  1273. package/dist/src/util/dom_event.d.ts +6 -0
  1274. package/dist/src/util/dom_event.d.ts.map +1 -0
  1275. package/dist/src/util/dom_event.min.mjs +2 -0
  1276. package/dist/src/util/dom_event.min.mjs.map +1 -0
  1277. package/dist/src/util/dom_event.mjs +25 -0
  1278. package/dist/src/util/dom_event.mjs.map +1 -0
  1279. package/dist/src/util/dom_misc.d.ts +12 -0
  1280. package/dist/src/util/dom_misc.d.ts.map +1 -0
  1281. package/dist/src/util/dom_misc.min.mjs +2 -0
  1282. package/dist/src/util/dom_misc.min.mjs.map +1 -0
  1283. package/dist/src/util/dom_misc.mjs +51 -0
  1284. package/dist/src/util/dom_misc.mjs.map +1 -0
  1285. package/dist/src/util/index.d.ts +35 -0
  1286. package/dist/src/util/index.d.ts.map +1 -0
  1287. package/dist/src/util/index.min.mjs +2 -0
  1288. package/dist/src/util/index.min.mjs.map +1 -0
  1289. package/dist/src/util/index.mjs +33 -0
  1290. package/dist/src/util/index.mjs.map +1 -0
  1291. package/dist/src/util/internals/applyCanvasTransform.d.ts +11 -0
  1292. package/dist/src/util/internals/applyCanvasTransform.d.ts.map +1 -0
  1293. package/dist/src/util/internals/applyCanvasTransform.min.mjs +2 -0
  1294. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +1 -0
  1295. package/dist/src/util/internals/applyCanvasTransform.mjs +17 -0
  1296. package/dist/src/util/internals/applyCanvasTransform.mjs.map +1 -0
  1297. package/dist/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
  1298. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
  1299. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +2 -0
  1300. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +1 -0
  1301. package/dist/src/util/internals/cleanupSvgAttribute.mjs +9 -0
  1302. package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +1 -0
  1303. package/dist/src/util/internals/cloneStyles.d.ts +3 -0
  1304. package/dist/src/util/internals/cloneStyles.d.ts.map +1 -0
  1305. package/dist/src/util/internals/cloneStyles.min.mjs +2 -0
  1306. package/dist/src/util/internals/cloneStyles.min.mjs.map +1 -0
  1307. package/dist/src/util/internals/cloneStyles.mjs +15 -0
  1308. package/dist/src/util/internals/cloneStyles.mjs.map +1 -0
  1309. package/dist/src/util/internals/console.d.ts +8 -0
  1310. package/dist/src/util/internals/console.d.ts.map +1 -0
  1311. package/dist/src/util/internals/console.min.mjs +2 -0
  1312. package/dist/src/util/internals/console.min.mjs.map +1 -0
  1313. package/dist/src/util/internals/console.mjs +22 -0
  1314. package/dist/src/util/internals/console.mjs.map +1 -0
  1315. package/dist/src/util/internals/dom_style.d.ts +7 -0
  1316. package/dist/src/util/internals/dom_style.d.ts.map +1 -0
  1317. package/dist/src/util/internals/dom_style.min.mjs +2 -0
  1318. package/dist/src/util/internals/dom_style.min.mjs.map +1 -0
  1319. package/dist/src/util/internals/dom_style.mjs +20 -0
  1320. package/dist/src/util/internals/dom_style.mjs.map +1 -0
  1321. package/dist/src/util/internals/findRight.d.ts +2 -0
  1322. package/dist/src/util/internals/findRight.d.ts.map +1 -0
  1323. package/dist/src/util/internals/findRight.min.mjs +2 -0
  1324. package/dist/src/util/internals/findRight.min.mjs.map +1 -0
  1325. package/dist/src/util/internals/findRight.mjs +11 -0
  1326. package/dist/src/util/internals/findRight.mjs.map +1 -0
  1327. package/dist/src/util/internals/getRandomInt.d.ts +8 -0
  1328. package/dist/src/util/internals/getRandomInt.d.ts.map +1 -0
  1329. package/dist/src/util/internals/getRandomInt.min.mjs +2 -0
  1330. package/dist/src/util/internals/getRandomInt.min.mjs.map +1 -0
  1331. package/dist/src/util/internals/getRandomInt.mjs +10 -0
  1332. package/dist/src/util/internals/getRandomInt.mjs.map +1 -0
  1333. package/dist/src/util/internals/ifNaN.d.ts +8 -0
  1334. package/dist/src/util/internals/ifNaN.d.ts.map +1 -0
  1335. package/dist/src/util/internals/ifNaN.min.mjs +2 -0
  1336. package/dist/src/util/internals/ifNaN.min.mjs.map +1 -0
  1337. package/dist/src/util/internals/ifNaN.mjs +12 -0
  1338. package/dist/src/util/internals/ifNaN.mjs.map +1 -0
  1339. package/dist/src/util/internals/removeFromArray.d.ts +9 -0
  1340. package/dist/src/util/internals/removeFromArray.d.ts.map +1 -0
  1341. package/dist/src/util/internals/removeFromArray.min.mjs +2 -0
  1342. package/dist/src/util/internals/removeFromArray.min.mjs.map +1 -0
  1343. package/dist/src/util/internals/removeFromArray.mjs +17 -0
  1344. package/dist/src/util/internals/removeFromArray.mjs.map +1 -0
  1345. package/dist/src/util/internals/uid.d.ts +2 -0
  1346. package/dist/src/util/internals/uid.d.ts.map +1 -0
  1347. package/dist/src/util/internals/uid.min.mjs +2 -0
  1348. package/dist/src/util/internals/uid.min.mjs.map +1 -0
  1349. package/dist/src/util/internals/uid.mjs +5 -0
  1350. package/dist/src/util/internals/uid.mjs.map +1 -0
  1351. package/dist/src/util/lang_string.d.ts +22 -0
  1352. package/dist/src/util/lang_string.d.ts.map +1 -0
  1353. package/dist/src/util/lang_string.min.mjs +2 -0
  1354. package/dist/src/util/lang_string.min.mjs.map +1 -0
  1355. package/dist/src/util/lang_string.mjs +102 -0
  1356. package/dist/src/util/lang_string.mjs.map +1 -0
  1357. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
  1358. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
  1359. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +2 -0
  1360. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -0
  1361. package/dist/src/util/misc/boundingBoxFromPoints.mjs +30 -0
  1362. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -0
  1363. package/dist/src/util/misc/capValue.d.ts +2 -0
  1364. package/dist/src/util/misc/capValue.d.ts.map +1 -0
  1365. package/dist/src/util/misc/capValue.min.mjs +2 -0
  1366. package/dist/src/util/misc/capValue.min.mjs.map +1 -0
  1367. package/dist/src/util/misc/capValue.mjs +4 -0
  1368. package/dist/src/util/misc/capValue.mjs.map +1 -0
  1369. package/dist/src/util/misc/cos.d.ts +10 -0
  1370. package/dist/src/util/misc/cos.d.ts.map +1 -0
  1371. package/dist/src/util/misc/cos.min.mjs +2 -0
  1372. package/dist/src/util/misc/cos.min.mjs.map +1 -0
  1373. package/dist/src/util/misc/cos.mjs +26 -0
  1374. package/dist/src/util/misc/cos.mjs.map +1 -0
  1375. package/dist/src/util/misc/dom.d.ts +35 -0
  1376. package/dist/src/util/misc/dom.d.ts.map +1 -0
  1377. package/dist/src/util/misc/dom.min.mjs +2 -0
  1378. package/dist/src/util/misc/dom.min.mjs.map +1 -0
  1379. package/dist/src/util/misc/dom.mjs +63 -0
  1380. package/dist/src/util/misc/dom.mjs.map +1 -0
  1381. package/dist/src/util/misc/findScaleTo.d.ts +20 -0
  1382. package/dist/src/util/misc/findScaleTo.d.ts.map +1 -0
  1383. package/dist/src/util/misc/findScaleTo.min.mjs +2 -0
  1384. package/dist/src/util/misc/findScaleTo.min.mjs.map +1 -0
  1385. package/dist/src/util/misc/findScaleTo.mjs +22 -0
  1386. package/dist/src/util/misc/findScaleTo.mjs.map +1 -0
  1387. package/dist/src/util/misc/groupSVGElements.d.ts +10 -0
  1388. package/dist/src/util/misc/groupSVGElements.d.ts.map +1 -0
  1389. package/dist/src/util/misc/groupSVGElements.min.mjs +2 -0
  1390. package/dist/src/util/misc/groupSVGElements.min.mjs.map +1 -0
  1391. package/dist/src/util/misc/groupSVGElements.mjs +17 -0
  1392. package/dist/src/util/misc/groupSVGElements.mjs.map +1 -0
  1393. package/dist/src/util/misc/isTransparent.d.ts +11 -0
  1394. package/dist/src/util/misc/isTransparent.d.ts.map +1 -0
  1395. package/dist/src/util/misc/isTransparent.min.mjs +2 -0
  1396. package/dist/src/util/misc/isTransparent.min.mjs.map +1 -0
  1397. package/dist/src/util/misc/isTransparent.mjs +28 -0
  1398. package/dist/src/util/misc/isTransparent.mjs.map +1 -0
  1399. package/dist/src/util/misc/matrix.d.ts +170 -0
  1400. package/dist/src/util/misc/matrix.d.ts.map +1 -0
  1401. package/dist/src/util/misc/matrix.min.mjs +2 -0
  1402. package/dist/src/util/misc/matrix.min.mjs.map +1 -0
  1403. package/dist/src/util/misc/matrix.mjs +249 -0
  1404. package/dist/src/util/misc/matrix.mjs.map +1 -0
  1405. package/dist/src/util/misc/mergeClipPaths.d.ts +22 -0
  1406. package/dist/src/util/misc/mergeClipPaths.d.ts.map +1 -0
  1407. package/dist/src/util/misc/mergeClipPaths.min.mjs +2 -0
  1408. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +1 -0
  1409. package/dist/src/util/misc/mergeClipPaths.mjs +46 -0
  1410. package/dist/src/util/misc/mergeClipPaths.mjs.map +1 -0
  1411. package/dist/src/util/misc/objectEnlive.d.ts +45 -0
  1412. package/dist/src/util/misc/objectEnlive.d.ts.map +1 -0
  1413. package/dist/src/util/misc/objectEnlive.min.mjs +2 -0
  1414. package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -0
  1415. package/dist/src/util/misc/objectEnlive.mjs +145 -0
  1416. package/dist/src/util/misc/objectEnlive.mjs.map +1 -0
  1417. package/dist/src/util/misc/objectTransforms.d.ts +62 -0
  1418. package/dist/src/util/misc/objectTransforms.d.ts.map +1 -0
  1419. package/dist/src/util/misc/objectTransforms.min.mjs +2 -0
  1420. package/dist/src/util/misc/objectTransforms.min.mjs.map +1 -0
  1421. package/dist/src/util/misc/objectTransforms.mjs +105 -0
  1422. package/dist/src/util/misc/objectTransforms.mjs.map +1 -0
  1423. package/dist/src/util/misc/pick.d.ts +9 -0
  1424. package/dist/src/util/misc/pick.d.ts.map +1 -0
  1425. package/dist/src/util/misc/pick.min.mjs +2 -0
  1426. package/dist/src/util/misc/pick.min.mjs.map +1 -0
  1427. package/dist/src/util/misc/pick.mjs +26 -0
  1428. package/dist/src/util/misc/pick.mjs.map +1 -0
  1429. package/dist/src/util/misc/planeChange.d.ts +64 -0
  1430. package/dist/src/util/misc/planeChange.d.ts.map +1 -0
  1431. package/dist/src/util/misc/planeChange.min.mjs +2 -0
  1432. package/dist/src/util/misc/planeChange.min.mjs.map +1 -0
  1433. package/dist/src/util/misc/planeChange.mjs +86 -0
  1434. package/dist/src/util/misc/planeChange.mjs.map +1 -0
  1435. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
  1436. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
  1437. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +2 -0
  1438. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +1 -0
  1439. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +111 -0
  1440. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +1 -0
  1441. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
  1442. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
  1443. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +2 -0
  1444. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -0
  1445. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +230 -0
  1446. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +1 -0
  1447. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
  1448. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
  1449. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +2 -0
  1450. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +1 -0
  1451. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +44 -0
  1452. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +1 -0
  1453. package/dist/src/util/misc/projectStroke/index.d.ts +12 -0
  1454. package/dist/src/util/misc/projectStroke/index.d.ts.map +1 -0
  1455. package/dist/src/util/misc/projectStroke/index.min.mjs +2 -0
  1456. package/dist/src/util/misc/projectStroke/index.min.mjs.map +1 -0
  1457. package/dist/src/util/misc/projectStroke/index.mjs +60 -0
  1458. package/dist/src/util/misc/projectStroke/index.mjs.map +1 -0
  1459. package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
  1460. package/dist/src/util/misc/projectStroke/types.d.ts.map +1 -0
  1461. package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
  1462. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
  1463. package/dist/src/util/misc/radiansDegreesConversion.min.mjs +2 -0
  1464. package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +1 -0
  1465. package/dist/src/util/misc/radiansDegreesConversion.mjs +18 -0
  1466. package/dist/src/util/misc/radiansDegreesConversion.mjs.map +1 -0
  1467. package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
  1468. package/dist/src/util/misc/resolveOrigin.d.ts.map +1 -0
  1469. package/dist/src/util/misc/resolveOrigin.min.mjs +2 -0
  1470. package/dist/src/util/misc/resolveOrigin.min.mjs.map +1 -0
  1471. package/dist/src/util/misc/resolveOrigin.mjs +18 -0
  1472. package/dist/src/util/misc/resolveOrigin.mjs.map +1 -0
  1473. package/dist/src/util/misc/sin.d.ts +10 -0
  1474. package/dist/src/util/misc/sin.d.ts.map +1 -0
  1475. package/dist/src/util/misc/sin.min.mjs +2 -0
  1476. package/dist/src/util/misc/sin.min.mjs.map +1 -0
  1477. package/dist/src/util/misc/sin.mjs +28 -0
  1478. package/dist/src/util/misc/sin.mjs.map +1 -0
  1479. package/dist/src/util/misc/svgExport.d.ts +8 -0
  1480. package/dist/src/util/misc/svgExport.d.ts.map +1 -0
  1481. package/dist/src/util/misc/svgExport.min.mjs +2 -0
  1482. package/dist/src/util/misc/svgExport.min.mjs.map +1 -0
  1483. package/dist/src/util/misc/svgExport.mjs +12 -0
  1484. package/dist/src/util/misc/svgExport.mjs.map +1 -0
  1485. package/dist/src/util/misc/svgParsing.d.ts +40 -0
  1486. package/dist/src/util/misc/svgParsing.d.ts.map +1 -0
  1487. package/dist/src/util/misc/svgParsing.min.mjs +2 -0
  1488. package/dist/src/util/misc/svgParsing.min.mjs.map +1 -0
  1489. package/dist/src/util/misc/svgParsing.mjs +128 -0
  1490. package/dist/src/util/misc/svgParsing.mjs.map +1 -0
  1491. package/dist/src/util/misc/textStyles.d.ts +32 -0
  1492. package/dist/src/util/misc/textStyles.d.ts.map +1 -0
  1493. package/dist/src/util/misc/textStyles.min.mjs +2 -0
  1494. package/dist/src/util/misc/textStyles.min.mjs.map +1 -0
  1495. package/dist/src/util/misc/textStyles.mjs +107 -0
  1496. package/dist/src/util/misc/textStyles.mjs.map +1 -0
  1497. package/dist/src/util/misc/toFixed.d.ts +8 -0
  1498. package/dist/src/util/misc/toFixed.d.ts.map +1 -0
  1499. package/dist/src/util/misc/toFixed.min.mjs +2 -0
  1500. package/dist/src/util/misc/toFixed.min.mjs.map +1 -0
  1501. package/dist/src/util/misc/toFixed.mjs +10 -0
  1502. package/dist/src/util/misc/toFixed.mjs.map +1 -0
  1503. package/dist/src/util/misc/vectors.d.ts +72 -0
  1504. package/dist/src/util/misc/vectors.d.ts.map +1 -0
  1505. package/dist/src/util/misc/vectors.min.mjs +2 -0
  1506. package/dist/src/util/misc/vectors.min.mjs.map +1 -0
  1507. package/dist/src/util/misc/vectors.mjs +94 -0
  1508. package/dist/src/util/misc/vectors.mjs.map +1 -0
  1509. package/dist/src/util/path/index.d.ts +95 -0
  1510. package/dist/src/util/path/index.d.ts.map +1 -0
  1511. package/dist/src/util/path/index.min.mjs +2 -0
  1512. package/dist/src/util/path/index.min.mjs.map +1 -0
  1513. package/dist/src/util/path/index.mjs +826 -0
  1514. package/dist/src/util/path/index.mjs.map +1 -0
  1515. package/dist/src/util/path/regex.d.ts +3 -0
  1516. package/dist/src/util/path/regex.d.ts.map +1 -0
  1517. package/dist/src/util/path/regex.min.mjs +2 -0
  1518. package/dist/src/util/path/regex.min.mjs.map +1 -0
  1519. package/dist/src/util/path/regex.mjs +49 -0
  1520. package/dist/src/util/path/regex.mjs.map +1 -0
  1521. package/dist/src/util/path/typechecks.d.ts +24 -0
  1522. package/dist/src/util/path/typechecks.d.ts.map +1 -0
  1523. package/dist/src/util/path/typedefs.d.ts +222 -0
  1524. package/dist/src/util/path/typedefs.d.ts.map +1 -0
  1525. package/dist/src/util/transform_matrix_removal.d.ts +14 -0
  1526. package/dist/src/util/transform_matrix_removal.d.ts.map +1 -0
  1527. package/dist/src/util/transform_matrix_removal.min.mjs +2 -0
  1528. package/dist/src/util/transform_matrix_removal.min.mjs.map +1 -0
  1529. package/dist/src/util/transform_matrix_removal.mjs +55 -0
  1530. package/dist/src/util/transform_matrix_removal.mjs.map +1 -0
  1531. package/dist/src/util/typeAssertions.d.ts +13 -0
  1532. package/dist/src/util/typeAssertions.d.ts.map +1 -0
  1533. package/dist/src/util/typeAssertions.min.mjs +2 -0
  1534. package/dist/src/util/typeAssertions.min.mjs.map +1 -0
  1535. package/dist/src/util/typeAssertions.mjs +21 -0
  1536. package/dist/src/util/typeAssertions.mjs.map +1 -0
  1537. package/dist-extensions/aligning_guidelines/constant.mjs +11 -0
  1538. package/dist-extensions/aligning_guidelines/constant.mjs.map +1 -0
  1539. package/dist-extensions/aligning_guidelines/index.mjs +130 -0
  1540. package/dist-extensions/aligning_guidelines/index.mjs.map +1 -0
  1541. package/dist-extensions/aligning_guidelines/util/basic.mjs +11 -0
  1542. package/dist-extensions/aligning_guidelines/util/basic.mjs.map +1 -0
  1543. package/dist-extensions/aligning_guidelines/util/collect-line.mjs +193 -0
  1544. package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +1 -0
  1545. package/dist-extensions/aligning_guidelines/util/collect-point.mjs +102 -0
  1546. package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +1 -0
  1547. package/dist-extensions/aligning_guidelines/util/draw.mjs +75 -0
  1548. package/dist-extensions/aligning_guidelines/util/draw.mjs.map +1 -0
  1549. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +42 -0
  1550. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +1 -0
  1551. package/dist-extensions/data_updaters/gradient/index.mjs +54 -0
  1552. package/dist-extensions/data_updaters/gradient/index.mjs.map +1 -0
  1553. package/dist-extensions/data_updaters/origins/index.mjs +51 -0
  1554. package/dist-extensions/data_updaters/origins/index.mjs.map +1 -0
  1555. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +3 -0
  1556. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +1 -0
  1557. package/dist-extensions/extensions/aligning_guidelines/index.d.ts +5 -0
  1558. package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +1 -0
  1559. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +33 -0
  1560. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
  1561. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +4 -0
  1562. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
  1563. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
  1564. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
  1565. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
  1566. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
  1567. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +6 -0
  1568. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
  1569. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
  1570. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
  1571. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +11 -0
  1572. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +1 -0
  1573. package/dist-extensions/extensions/data_updaters/origins/index.d.ts +21 -0
  1574. package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +1 -0
  1575. package/dist-extensions/extensions/index.d.ts +4 -0
  1576. package/dist-extensions/extensions/index.d.ts.map +1 -0
  1577. package/dist-extensions/fabric-extensions.min.js +2 -0
  1578. package/dist-extensions/fabric-extensions.min.js.map +1 -0
  1579. package/dist-extensions/fabric.d.ts +115 -0
  1580. package/dist-extensions/fabric.d.ts.map +1 -0
  1581. package/dist-extensions/index.d.ts +2 -0
  1582. package/dist-extensions/index.d.ts.map +1 -0
  1583. package/dist-extensions/index.mjs +4 -0
  1584. package/dist-extensions/index.mjs.map +1 -0
  1585. package/dist-extensions/src/ClassRegistry.d.ts +14 -0
  1586. package/dist-extensions/src/ClassRegistry.d.ts.map +1 -0
  1587. package/dist-extensions/src/Collection.d.ts +141 -0
  1588. package/dist-extensions/src/Collection.d.ts.map +1 -0
  1589. package/dist-extensions/src/CommonMethods.d.ts +32 -0
  1590. package/dist-extensions/src/CommonMethods.d.ts.map +1 -0
  1591. package/dist-extensions/src/EventTypeDefs.d.ts +270 -0
  1592. package/dist-extensions/src/EventTypeDefs.d.ts.map +1 -0
  1593. package/dist-extensions/src/Intersection.d.ts +112 -0
  1594. package/dist-extensions/src/Intersection.d.ts.map +1 -0
  1595. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
  1596. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
  1597. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +56 -0
  1598. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +1 -0
  1599. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
  1600. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
  1601. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
  1602. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
  1603. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
  1604. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
  1605. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
  1606. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
  1607. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
  1608. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
  1609. package/dist-extensions/src/LayoutManager/constants.d.ts +7 -0
  1610. package/dist-extensions/src/LayoutManager/constants.d.ts.map +1 -0
  1611. package/dist-extensions/src/LayoutManager/index.d.ts +7 -0
  1612. package/dist-extensions/src/LayoutManager/index.d.ts.map +1 -0
  1613. package/dist-extensions/src/LayoutManager/types.d.ts +106 -0
  1614. package/dist-extensions/src/LayoutManager/types.d.ts.map +1 -0
  1615. package/dist-extensions/src/Observable.d.ts +68 -0
  1616. package/dist-extensions/src/Observable.d.ts.map +1 -0
  1617. package/dist-extensions/src/Pattern/Pattern.d.ts +95 -0
  1618. package/dist-extensions/src/Pattern/Pattern.d.ts.map +1 -0
  1619. package/dist-extensions/src/Pattern/index.d.ts +3 -0
  1620. package/dist-extensions/src/Pattern/index.d.ts.map +1 -0
  1621. package/dist-extensions/src/Pattern/types.d.ts +12 -0
  1622. package/dist-extensions/src/Pattern/types.d.ts.map +1 -0
  1623. package/dist-extensions/src/Point.d.ts +219 -0
  1624. package/dist-extensions/src/Point.d.ts.map +1 -0
  1625. package/dist-extensions/src/Shadow.d.ts +89 -0
  1626. package/dist-extensions/src/Shadow.d.ts.map +1 -0
  1627. package/dist-extensions/src/brushes/BaseBrush.d.ts +94 -0
  1628. package/dist-extensions/src/brushes/BaseBrush.d.ts.map +1 -0
  1629. package/dist-extensions/src/brushes/CircleBrush.d.ts +43 -0
  1630. package/dist-extensions/src/brushes/CircleBrush.d.ts.map +1 -0
  1631. package/dist-extensions/src/brushes/PatternBrush.d.ts +23 -0
  1632. package/dist-extensions/src/brushes/PatternBrush.d.ts.map +1 -0
  1633. package/dist-extensions/src/brushes/PencilBrush.d.ts +92 -0
  1634. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +1 -0
  1635. package/dist-extensions/src/brushes/SprayBrush.d.ts +68 -0
  1636. package/dist-extensions/src/brushes/SprayBrush.d.ts.map +1 -0
  1637. package/dist-extensions/src/brushes/typedefs.d.ts +18 -0
  1638. package/dist-extensions/src/brushes/typedefs.d.ts.map +1 -0
  1639. package/dist-extensions/src/cache.d.ts +47 -0
  1640. package/dist-extensions/src/cache.d.ts.map +1 -0
  1641. package/dist-extensions/src/canvas/Canvas.d.ts +334 -0
  1642. package/dist-extensions/src/canvas/Canvas.d.ts.map +1 -0
  1643. package/dist-extensions/src/canvas/CanvasOptions.d.ts +210 -0
  1644. package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +1 -0
  1645. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -0
  1646. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
  1647. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
  1648. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
  1649. package/dist-extensions/src/canvas/DOMManagers/util.d.ts +23 -0
  1650. package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +1 -0
  1651. package/dist-extensions/src/canvas/SelectableCanvas.d.ts +544 -0
  1652. package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +1 -0
  1653. package/dist-extensions/src/canvas/StaticCanvas.d.ts +596 -0
  1654. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -0
  1655. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +142 -0
  1656. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
  1657. package/dist-extensions/src/canvas/TextEditingManager.d.ts +21 -0
  1658. package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +1 -0
  1659. package/dist-extensions/src/color/Color.d.ts +146 -0
  1660. package/dist-extensions/src/color/Color.d.ts.map +1 -0
  1661. package/dist-extensions/src/color/color_map.d.ts +155 -0
  1662. package/dist-extensions/src/color/color_map.d.ts.map +1 -0
  1663. package/dist-extensions/src/color/constants.d.ts +111 -0
  1664. package/dist-extensions/src/color/constants.d.ts.map +1 -0
  1665. package/dist-extensions/src/color/typedefs.d.ts +16 -0
  1666. package/dist-extensions/src/color/typedefs.d.ts.map +1 -0
  1667. package/dist-extensions/src/color/util.d.ts +27 -0
  1668. package/dist-extensions/src/color/util.d.ts.map +1 -0
  1669. package/dist-extensions/src/config.d.ts +113 -0
  1670. package/dist-extensions/src/config.d.ts.map +1 -0
  1671. package/dist-extensions/src/constants.d.ts +36 -0
  1672. package/dist-extensions/src/constants.d.ts.map +1 -0
  1673. package/dist-extensions/src/controls/Control.d.ts +229 -0
  1674. package/dist-extensions/src/controls/Control.d.ts.map +1 -0
  1675. package/dist-extensions/src/controls/changeHeight.d.ts +13 -0
  1676. package/dist-extensions/src/controls/changeHeight.d.ts.map +1 -0
  1677. package/dist-extensions/src/controls/changeWidth.d.ts +13 -0
  1678. package/dist-extensions/src/controls/changeWidth.d.ts.map +1 -0
  1679. package/dist-extensions/src/controls/commonControls.d.ts +26 -0
  1680. package/dist-extensions/src/controls/commonControls.d.ts.map +1 -0
  1681. package/dist-extensions/src/controls/controlRendering.d.ts +29 -0
  1682. package/dist-extensions/src/controls/controlRendering.d.ts.map +1 -0
  1683. package/dist-extensions/src/controls/drag.d.ts +12 -0
  1684. package/dist-extensions/src/controls/drag.d.ts.map +1 -0
  1685. package/dist-extensions/src/controls/fireEvent.d.ts +3 -0
  1686. package/dist-extensions/src/controls/fireEvent.d.ts.map +1 -0
  1687. package/dist-extensions/src/controls/index.d.ts +14 -0
  1688. package/dist-extensions/src/controls/index.d.ts.map +1 -0
  1689. package/dist-extensions/src/controls/pathControl.d.ts +12 -0
  1690. package/dist-extensions/src/controls/pathControl.d.ts.map +1 -0
  1691. package/dist-extensions/src/controls/polyControl.d.ts +30 -0
  1692. package/dist-extensions/src/controls/polyControl.d.ts.map +1 -0
  1693. package/dist-extensions/src/controls/rotate.d.ts +12 -0
  1694. package/dist-extensions/src/controls/rotate.d.ts.map +1 -0
  1695. package/dist-extensions/src/controls/scale.d.ts +47 -0
  1696. package/dist-extensions/src/controls/scale.d.ts.map +1 -0
  1697. package/dist-extensions/src/controls/scaleSkew.d.ts +39 -0
  1698. package/dist-extensions/src/controls/scaleSkew.d.ts.map +1 -0
  1699. package/dist-extensions/src/controls/skew.d.ts +33 -0
  1700. package/dist-extensions/src/controls/skew.d.ts.map +1 -0
  1701. package/dist-extensions/src/controls/util.d.ts +42 -0
  1702. package/dist-extensions/src/controls/util.d.ts.map +1 -0
  1703. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +10 -0
  1704. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +1 -0
  1705. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +9 -0
  1706. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
  1707. package/dist-extensions/src/env/browser.d.ts +3 -0
  1708. package/dist-extensions/src/env/browser.d.ts.map +1 -0
  1709. package/dist-extensions/src/env/index.d.ts +34 -0
  1710. package/dist-extensions/src/env/index.d.ts.map +1 -0
  1711. package/dist-extensions/src/env/types.d.ts +16 -0
  1712. package/dist-extensions/src/env/types.d.ts.map +1 -0
  1713. package/dist-extensions/src/filters/BaseFilter.d.ts +153 -0
  1714. package/dist-extensions/src/filters/BaseFilter.d.ts.map +1 -0
  1715. package/dist-extensions/src/filters/BlendColor.d.ts +65 -0
  1716. package/dist-extensions/src/filters/BlendColor.d.ts.map +1 -0
  1717. package/dist-extensions/src/filters/BlendImage.d.ts +97 -0
  1718. package/dist-extensions/src/filters/BlendImage.d.ts.map +1 -0
  1719. package/dist-extensions/src/filters/Blur.d.ts +49 -0
  1720. package/dist-extensions/src/filters/Blur.d.ts.map +1 -0
  1721. package/dist-extensions/src/filters/Brightness.d.ts +45 -0
  1722. package/dist-extensions/src/filters/Brightness.d.ts.map +1 -0
  1723. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +27 -0
  1724. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
  1725. package/dist-extensions/src/filters/ColorMatrix.d.ts +62 -0
  1726. package/dist-extensions/src/filters/ColorMatrix.d.ts.map +1 -0
  1727. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +15 -0
  1728. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +1 -0
  1729. package/dist-extensions/src/filters/Composed.d.ts +51 -0
  1730. package/dist-extensions/src/filters/Composed.d.ts.map +1 -0
  1731. package/dist-extensions/src/filters/Contrast.d.ts +44 -0
  1732. package/dist-extensions/src/filters/Contrast.d.ts.map +1 -0
  1733. package/dist-extensions/src/filters/Convolute.d.ts +81 -0
  1734. package/dist-extensions/src/filters/Convolute.d.ts.map +1 -0
  1735. package/dist-extensions/src/filters/FilterBackend.d.ts +15 -0
  1736. package/dist-extensions/src/filters/FilterBackend.d.ts.map +1 -0
  1737. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +7 -0
  1738. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
  1739. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
  1740. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
  1741. package/dist-extensions/src/filters/Gamma.d.ts +57 -0
  1742. package/dist-extensions/src/filters/Gamma.d.ts.map +1 -0
  1743. package/dist-extensions/src/filters/Grayscale.d.ts +44 -0
  1744. package/dist-extensions/src/filters/Grayscale.d.ts.map +1 -0
  1745. package/dist-extensions/src/filters/HueRotation.d.ts +34 -0
  1746. package/dist-extensions/src/filters/HueRotation.d.ts.map +1 -0
  1747. package/dist-extensions/src/filters/Invert.d.ts +51 -0
  1748. package/dist-extensions/src/filters/Invert.d.ts.map +1 -0
  1749. package/dist-extensions/src/filters/Noise.d.ts +43 -0
  1750. package/dist-extensions/src/filters/Noise.d.ts.map +1 -0
  1751. package/dist-extensions/src/filters/Pixelate.d.ts +41 -0
  1752. package/dist-extensions/src/filters/Pixelate.d.ts.map +1 -0
  1753. package/dist-extensions/src/filters/RemoveColor.d.ts +51 -0
  1754. package/dist-extensions/src/filters/RemoveColor.d.ts.map +1 -0
  1755. package/dist-extensions/src/filters/Resize.d.ts +134 -0
  1756. package/dist-extensions/src/filters/Resize.d.ts.map +1 -0
  1757. package/dist-extensions/src/filters/Saturation.d.ts +45 -0
  1758. package/dist-extensions/src/filters/Saturation.d.ts.map +1 -0
  1759. package/dist-extensions/src/filters/Vibrance.d.ts +45 -0
  1760. package/dist-extensions/src/filters/Vibrance.d.ts.map +1 -0
  1761. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +131 -0
  1762. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +1 -0
  1763. package/dist-extensions/src/filters/filters.d.ts +23 -0
  1764. package/dist-extensions/src/filters/filters.d.ts.map +1 -0
  1765. package/dist-extensions/src/filters/index.d.ts +7 -0
  1766. package/dist-extensions/src/filters/index.d.ts.map +1 -0
  1767. package/dist-extensions/src/filters/shaders/baseFilter.d.ts +4 -0
  1768. package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +1 -0
  1769. package/dist-extensions/src/filters/shaders/blendColor.d.ts +13 -0
  1770. package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +1 -0
  1771. package/dist-extensions/src/filters/shaders/blendImage.d.ts +4 -0
  1772. package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +1 -0
  1773. package/dist-extensions/src/filters/shaders/blur.d.ts +2 -0
  1774. package/dist-extensions/src/filters/shaders/blur.d.ts.map +1 -0
  1775. package/dist-extensions/src/filters/shaders/brightness.d.ts +2 -0
  1776. package/dist-extensions/src/filters/shaders/brightness.d.ts.map +1 -0
  1777. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +2 -0
  1778. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +1 -0
  1779. package/dist-extensions/src/filters/shaders/constrast.d.ts +2 -0
  1780. package/dist-extensions/src/filters/shaders/constrast.d.ts.map +1 -0
  1781. package/dist-extensions/src/filters/shaders/convolute.d.ts +11 -0
  1782. package/dist-extensions/src/filters/shaders/convolute.d.ts.map +1 -0
  1783. package/dist-extensions/src/filters/shaders/gamma.d.ts +2 -0
  1784. package/dist-extensions/src/filters/shaders/gamma.d.ts.map +1 -0
  1785. package/dist-extensions/src/filters/shaders/grayscale.d.ts +3 -0
  1786. package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +1 -0
  1787. package/dist-extensions/src/filters/shaders/invert.d.ts +2 -0
  1788. package/dist-extensions/src/filters/shaders/invert.d.ts.map +1 -0
  1789. package/dist-extensions/src/filters/shaders/noise.d.ts +2 -0
  1790. package/dist-extensions/src/filters/shaders/noise.d.ts.map +1 -0
  1791. package/dist-extensions/src/filters/shaders/pixelate.d.ts +2 -0
  1792. package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +1 -0
  1793. package/dist-extensions/src/filters/shaders/removeColor.d.ts +2 -0
  1794. package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +1 -0
  1795. package/dist-extensions/src/filters/shaders/saturation.d.ts +2 -0
  1796. package/dist-extensions/src/filters/shaders/saturation.d.ts.map +1 -0
  1797. package/dist-extensions/src/filters/shaders/vibrance.d.ts +2 -0
  1798. package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +1 -0
  1799. package/dist-extensions/src/filters/typedefs.d.ts +70 -0
  1800. package/dist-extensions/src/filters/typedefs.d.ts.map +1 -0
  1801. package/dist-extensions/src/filters/utils.d.ts +10 -0
  1802. package/dist-extensions/src/filters/utils.d.ts.map +1 -0
  1803. package/dist-extensions/src/gradient/Gradient.d.ts +142 -0
  1804. package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -0
  1805. package/dist-extensions/src/gradient/constants.d.ts +15 -0
  1806. package/dist-extensions/src/gradient/constants.d.ts.map +1 -0
  1807. package/dist-extensions/src/gradient/index.d.ts +3 -0
  1808. package/dist-extensions/src/gradient/index.d.ts.map +1 -0
  1809. package/dist-extensions/src/gradient/parser/misc.d.ts +4 -0
  1810. package/dist-extensions/src/gradient/parser/misc.d.ts.map +1 -0
  1811. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +3 -0
  1812. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +1 -0
  1813. package/dist-extensions/src/gradient/parser/parseCoords.d.ts +17 -0
  1814. package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +1 -0
  1815. package/dist-extensions/src/gradient/typedefs.d.ts +93 -0
  1816. package/dist-extensions/src/gradient/typedefs.d.ts.map +1 -0
  1817. package/dist-extensions/src/parser/applyViewboxTransform.d.ts +13 -0
  1818. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +1 -0
  1819. package/dist-extensions/src/parser/attributes.d.ts +6 -0
  1820. package/dist-extensions/src/parser/attributes.d.ts.map +1 -0
  1821. package/dist-extensions/src/parser/constants.d.ts +42 -0
  1822. package/dist-extensions/src/parser/constants.d.ts.map +1 -0
  1823. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +2 -0
  1824. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +1 -0
  1825. package/dist-extensions/src/parser/elementMatchesRule.d.ts +5 -0
  1826. package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +1 -0
  1827. package/dist-extensions/src/parser/elements_parser.d.ts +33 -0
  1828. package/dist-extensions/src/parser/elements_parser.d.ts.map +1 -0
  1829. package/dist-extensions/src/parser/getCSSRules.d.ts +8 -0
  1830. package/dist-extensions/src/parser/getCSSRules.d.ts.map +1 -0
  1831. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +6 -0
  1832. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
  1833. package/dist-extensions/src/parser/getGradientDefs.d.ts +7 -0
  1834. package/dist-extensions/src/parser/getGradientDefs.d.ts.map +1 -0
  1835. package/dist-extensions/src/parser/getMultipleNodes.d.ts +2 -0
  1836. package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +1 -0
  1837. package/dist-extensions/src/parser/getSvgRegex.d.ts +2 -0
  1838. package/dist-extensions/src/parser/getSvgRegex.d.ts.map +1 -0
  1839. package/dist-extensions/src/parser/getTagName.d.ts +2 -0
  1840. package/dist-extensions/src/parser/getTagName.d.ts.map +1 -0
  1841. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +2 -0
  1842. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +1 -0
  1843. package/dist-extensions/src/parser/loadSVGFromString.d.ts +17 -0
  1844. package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +1 -0
  1845. package/dist-extensions/src/parser/loadSVGFromURL.d.ts +18 -0
  1846. package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +1 -0
  1847. package/dist-extensions/src/parser/normalizeAttr.d.ts +3 -0
  1848. package/dist-extensions/src/parser/normalizeAttr.d.ts.map +1 -0
  1849. package/dist-extensions/src/parser/normalizeValue.d.ts +2 -0
  1850. package/dist-extensions/src/parser/normalizeValue.d.ts.map +1 -0
  1851. package/dist-extensions/src/parser/parseAttributes.d.ts +10 -0
  1852. package/dist-extensions/src/parser/parseAttributes.d.ts.map +1 -0
  1853. package/dist-extensions/src/parser/parseFontDeclaration.d.ts +7 -0
  1854. package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +1 -0
  1855. package/dist-extensions/src/parser/parsePointsAttribute.d.ts +8 -0
  1856. package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +1 -0
  1857. package/dist-extensions/src/parser/parseSVGDocument.d.ts +19 -0
  1858. package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +1 -0
  1859. package/dist-extensions/src/parser/parseStyleAttribute.d.ts +7 -0
  1860. package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +1 -0
  1861. package/dist-extensions/src/parser/parseStyleObject.d.ts +8 -0
  1862. package/dist-extensions/src/parser/parseStyleObject.d.ts.map +1 -0
  1863. package/dist-extensions/src/parser/parseStyleString.d.ts +8 -0
  1864. package/dist-extensions/src/parser/parseStyleString.d.ts.map +1 -0
  1865. package/dist-extensions/src/parser/parseTransformAttribute.d.ts +8 -0
  1866. package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +1 -0
  1867. package/dist-extensions/src/parser/parseUseDirectives.d.ts +2 -0
  1868. package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +1 -0
  1869. package/dist-extensions/src/parser/percent.d.ts +9 -0
  1870. package/dist-extensions/src/parser/percent.d.ts.map +1 -0
  1871. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
  1872. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
  1873. package/dist-extensions/src/parser/selectorMatches.d.ts +2 -0
  1874. package/dist-extensions/src/parser/selectorMatches.d.ts.map +1 -0
  1875. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +6 -0
  1876. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
  1877. package/dist-extensions/src/parser/typedefs.d.ts +10 -0
  1878. package/dist-extensions/src/parser/typedefs.d.ts.map +1 -0
  1879. package/dist-extensions/src/shapes/ActiveSelection.d.ts +105 -0
  1880. package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +1 -0
  1881. package/dist-extensions/src/shapes/Circle.d.ts +107 -0
  1882. package/dist-extensions/src/shapes/Circle.d.ts.map +1 -0
  1883. package/dist-extensions/src/shapes/Ellipse.d.ts +82 -0
  1884. package/dist-extensions/src/shapes/Ellipse.d.ts.map +1 -0
  1885. package/dist-extensions/src/shapes/Group.d.ts +301 -0
  1886. package/dist-extensions/src/shapes/Group.d.ts.map +1 -0
  1887. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
  1888. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
  1889. package/dist-extensions/src/shapes/IText/IText.d.ts +347 -0
  1890. package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -0
  1891. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +321 -0
  1892. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
  1893. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
  1894. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
  1895. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +197 -0
  1896. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
  1897. package/dist-extensions/src/shapes/IText/constants.d.ts +13 -0
  1898. package/dist-extensions/src/shapes/IText/constants.d.ts.map +1 -0
  1899. package/dist-extensions/src/shapes/Image.d.ts +296 -0
  1900. package/dist-extensions/src/shapes/Image.d.ts.map +1 -0
  1901. package/dist-extensions/src/shapes/Line.d.ts +118 -0
  1902. package/dist-extensions/src/shapes/Line.d.ts.map +1 -0
  1903. package/dist-extensions/src/shapes/Object/FabricObject.d.ts +11 -0
  1904. package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +1 -0
  1905. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
  1906. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
  1907. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +317 -0
  1908. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
  1909. package/dist-extensions/src/shapes/Object/Object.d.ts +716 -0
  1910. package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -0
  1911. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +338 -0
  1912. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
  1913. package/dist-extensions/src/shapes/Object/defaultValues.d.ts +8 -0
  1914. package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +1 -0
  1915. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +92 -0
  1916. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
  1917. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +37 -0
  1918. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
  1919. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +63 -0
  1920. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
  1921. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +62 -0
  1922. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
  1923. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
  1924. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
  1925. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
  1926. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
  1927. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +41 -0
  1928. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
  1929. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
  1930. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
  1931. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -0
  1932. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
  1933. package/dist-extensions/src/shapes/Object/types/index.d.ts +6 -0
  1934. package/dist-extensions/src/shapes/Object/types/index.d.ts.map +1 -0
  1935. package/dist-extensions/src/shapes/Path.d.ts +208 -0
  1936. package/dist-extensions/src/shapes/Path.d.ts.map +1 -0
  1937. package/dist-extensions/src/shapes/Polygon.d.ts +7 -0
  1938. package/dist-extensions/src/shapes/Polygon.d.ts.map +1 -0
  1939. package/dist-extensions/src/shapes/Polyline.d.ts +149 -0
  1940. package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -0
  1941. package/dist-extensions/src/shapes/Rect.d.ts +77 -0
  1942. package/dist-extensions/src/shapes/Rect.d.ts.map +1 -0
  1943. package/dist-extensions/src/shapes/Text/StyledText.d.ts +126 -0
  1944. package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +1 -0
  1945. package/dist-extensions/src/shapes/Text/Text.d.ts +761 -0
  1946. package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -0
  1947. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
  1948. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
  1949. package/dist-extensions/src/shapes/Text/constants.d.ts +14 -0
  1950. package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -0
  1951. package/dist-extensions/src/shapes/Textbox.d.ts +233 -0
  1952. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -0
  1953. package/dist-extensions/src/shapes/Triangle.d.ts +27 -0
  1954. package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -0
  1955. package/dist-extensions/src/text/browserLines.d.ts +42 -0
  1956. package/dist-extensions/src/text/browserLines.d.ts.map +1 -0
  1957. package/dist-extensions/src/text/ellipsis.d.ts +47 -0
  1958. package/dist-extensions/src/text/ellipsis.d.ts.map +1 -0
  1959. package/dist-extensions/src/text/hitTest.d.ts +82 -0
  1960. package/dist-extensions/src/text/hitTest.d.ts.map +1 -0
  1961. package/dist-extensions/src/text/layout.d.ts +66 -0
  1962. package/dist-extensions/src/text/layout.d.ts.map +1 -0
  1963. package/dist-extensions/src/text/measure.d.ts +131 -0
  1964. package/dist-extensions/src/text/measure.d.ts.map +1 -0
  1965. package/dist-extensions/src/text/overlayEditor.d.ts +113 -0
  1966. package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -0
  1967. package/dist-extensions/src/text/unicode.d.ts +106 -0
  1968. package/dist-extensions/src/text/unicode.d.ts.map +1 -0
  1969. package/dist-extensions/src/typedefs.d.ts +99 -0
  1970. package/dist-extensions/src/typedefs.d.ts.map +1 -0
  1971. package/dist-extensions/src/util/animation/AnimationBase.d.ts +54 -0
  1972. package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +1 -0
  1973. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +3 -0
  1974. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
  1975. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +29 -0
  1976. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +1 -0
  1977. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +10 -0
  1978. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +1 -0
  1979. package/dist-extensions/src/util/animation/ColorAnimation.d.ts +11 -0
  1980. package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +1 -0
  1981. package/dist-extensions/src/util/animation/ValueAnimation.d.ts +10 -0
  1982. package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +1 -0
  1983. package/dist-extensions/src/util/animation/animate.d.ts +37 -0
  1984. package/dist-extensions/src/util/animation/animate.d.ts.map +1 -0
  1985. package/dist-extensions/src/util/animation/easing.d.ts +130 -0
  1986. package/dist-extensions/src/util/animation/easing.d.ts.map +1 -0
  1987. package/dist-extensions/src/util/animation/index.d.ts +3 -0
  1988. package/dist-extensions/src/util/animation/index.d.ts.map +1 -0
  1989. package/dist-extensions/src/util/animation/types.d.ts +87 -0
  1990. package/dist-extensions/src/util/animation/types.d.ts.map +1 -0
  1991. package/dist-extensions/src/util/applyMixins.d.ts +8 -0
  1992. package/dist-extensions/src/util/applyMixins.d.ts.map +1 -0
  1993. package/dist-extensions/src/util/dom_event.d.ts +6 -0
  1994. package/dist-extensions/src/util/dom_event.d.ts.map +1 -0
  1995. package/dist-extensions/src/util/dom_misc.d.ts +12 -0
  1996. package/dist-extensions/src/util/dom_misc.d.ts.map +1 -0
  1997. package/dist-extensions/src/util/index.d.ts +35 -0
  1998. package/dist-extensions/src/util/index.d.ts.map +1 -0
  1999. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +11 -0
  2000. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +1 -0
  2001. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
  2002. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
  2003. package/dist-extensions/src/util/internals/cloneStyles.d.ts +3 -0
  2004. package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +1 -0
  2005. package/dist-extensions/src/util/internals/console.d.ts +8 -0
  2006. package/dist-extensions/src/util/internals/console.d.ts.map +1 -0
  2007. package/dist-extensions/src/util/internals/dom_style.d.ts +7 -0
  2008. package/dist-extensions/src/util/internals/dom_style.d.ts.map +1 -0
  2009. package/dist-extensions/src/util/internals/findRight.d.ts +2 -0
  2010. package/dist-extensions/src/util/internals/findRight.d.ts.map +1 -0
  2011. package/dist-extensions/src/util/internals/getRandomInt.d.ts +8 -0
  2012. package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +1 -0
  2013. package/dist-extensions/src/util/internals/ifNaN.d.ts +8 -0
  2014. package/dist-extensions/src/util/internals/ifNaN.d.ts.map +1 -0
  2015. package/dist-extensions/src/util/internals/removeFromArray.d.ts +9 -0
  2016. package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +1 -0
  2017. package/dist-extensions/src/util/internals/uid.d.ts +2 -0
  2018. package/dist-extensions/src/util/internals/uid.d.ts.map +1 -0
  2019. package/dist-extensions/src/util/lang_string.d.ts +22 -0
  2020. package/dist-extensions/src/util/lang_string.d.ts.map +1 -0
  2021. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
  2022. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
  2023. package/dist-extensions/src/util/misc/capValue.d.ts +2 -0
  2024. package/dist-extensions/src/util/misc/capValue.d.ts.map +1 -0
  2025. package/dist-extensions/src/util/misc/cos.d.ts +10 -0
  2026. package/dist-extensions/src/util/misc/cos.d.ts.map +1 -0
  2027. package/dist-extensions/src/util/misc/dom.d.ts +35 -0
  2028. package/dist-extensions/src/util/misc/dom.d.ts.map +1 -0
  2029. package/dist-extensions/src/util/misc/findScaleTo.d.ts +20 -0
  2030. package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +1 -0
  2031. package/dist-extensions/src/util/misc/groupSVGElements.d.ts +10 -0
  2032. package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +1 -0
  2033. package/dist-extensions/src/util/misc/isTransparent.d.ts +11 -0
  2034. package/dist-extensions/src/util/misc/isTransparent.d.ts.map +1 -0
  2035. package/dist-extensions/src/util/misc/matrix.d.ts +170 -0
  2036. package/dist-extensions/src/util/misc/matrix.d.ts.map +1 -0
  2037. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +22 -0
  2038. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +1 -0
  2039. package/dist-extensions/src/util/misc/objectEnlive.d.ts +45 -0
  2040. package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +1 -0
  2041. package/dist-extensions/src/util/misc/objectTransforms.d.ts +62 -0
  2042. package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +1 -0
  2043. package/dist-extensions/src/util/misc/pick.d.ts +9 -0
  2044. package/dist-extensions/src/util/misc/pick.d.ts.map +1 -0
  2045. package/dist-extensions/src/util/misc/planeChange.d.ts +64 -0
  2046. package/dist-extensions/src/util/misc/planeChange.d.ts.map +1 -0
  2047. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
  2048. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
  2049. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
  2050. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
  2051. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
  2052. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
  2053. package/dist-extensions/src/util/misc/projectStroke/index.d.ts +12 -0
  2054. package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +1 -0
  2055. package/dist-extensions/src/util/misc/projectStroke/types.d.ts +23 -0
  2056. package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +1 -0
  2057. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +14 -0
  2058. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
  2059. package/dist-extensions/src/util/misc/resolveOrigin.d.ts +9 -0
  2060. package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +1 -0
  2061. package/dist-extensions/src/util/misc/sin.d.ts +10 -0
  2062. package/dist-extensions/src/util/misc/sin.d.ts.map +1 -0
  2063. package/dist-extensions/src/util/misc/svgExport.d.ts +8 -0
  2064. package/dist-extensions/src/util/misc/svgExport.d.ts.map +1 -0
  2065. package/dist-extensions/src/util/misc/svgParsing.d.ts +40 -0
  2066. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -0
  2067. package/dist-extensions/src/util/misc/textStyles.d.ts +32 -0
  2068. package/dist-extensions/src/util/misc/textStyles.d.ts.map +1 -0
  2069. package/dist-extensions/src/util/misc/toFixed.d.ts +8 -0
  2070. package/dist-extensions/src/util/misc/toFixed.d.ts.map +1 -0
  2071. package/dist-extensions/src/util/misc/vectors.d.ts +72 -0
  2072. package/dist-extensions/src/util/misc/vectors.d.ts.map +1 -0
  2073. package/dist-extensions/src/util/path/index.d.ts +95 -0
  2074. package/dist-extensions/src/util/path/index.d.ts.map +1 -0
  2075. package/dist-extensions/src/util/path/regex.d.ts +3 -0
  2076. package/dist-extensions/src/util/path/regex.d.ts.map +1 -0
  2077. package/dist-extensions/src/util/path/typedefs.d.ts +222 -0
  2078. package/dist-extensions/src/util/path/typedefs.d.ts.map +1 -0
  2079. package/dist-extensions/src/util/transform_matrix_removal.d.ts +14 -0
  2080. package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +1 -0
  2081. package/dist-extensions/src/util/typeAssertions.d.ts +13 -0
  2082. package/dist-extensions/src/util/typeAssertions.d.ts.map +1 -0
  2083. package/docs/fabric-konva-gap-analysis.md +274 -0
  2084. package/docs/konva-text-behavior-spec.md +265 -0
  2085. package/docs/text-engine-design.md +698 -0
  2086. package/eslint.config.mjs +96 -0
  2087. package/examples/overlay-edit.html +417 -0
  2088. package/extensions/README.MD +27 -0
  2089. package/extensions/aligning_guidelines/README.MD +22 -0
  2090. package/extensions/aligning_guidelines/constant.ts +10 -0
  2091. package/extensions/aligning_guidelines/index.ts +166 -0
  2092. package/extensions/aligning_guidelines/typedefs.ts +36 -0
  2093. package/extensions/aligning_guidelines/util/basic.spec.ts +32 -0
  2094. package/extensions/aligning_guidelines/util/basic.ts +20 -0
  2095. package/extensions/aligning_guidelines/util/collect-line.ts +172 -0
  2096. package/extensions/aligning_guidelines/util/collect-point.ts +83 -0
  2097. package/extensions/aligning_guidelines/util/draw.ts +74 -0
  2098. package/extensions/aligning_guidelines/util/get-objects-by-target.ts +45 -0
  2099. package/extensions/data_updaters/README.md +9 -0
  2100. package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +75 -0
  2101. package/extensions/data_updaters/gradient/index.spec.ts +126 -0
  2102. package/extensions/data_updaters/gradient/index.ts +58 -0
  2103. package/extensions/data_updaters/origins/README.md +32 -0
  2104. package/extensions/data_updaters/origins/index.spec.ts +100 -0
  2105. package/extensions/data_updaters/origins/index.ts +71 -0
  2106. package/extensions/index.ts +14 -0
  2107. package/fabric.ts +182 -0
  2108. package/index.node.ts +49 -0
  2109. package/index.ts +1 -0
  2110. package/lib/aligning_guidelines.js +286 -0
  2111. package/lib/centering_guidelines.js +90 -0
  2112. package/lib/event.js +1963 -0
  2113. package/package.json +164 -0
  2114. package/playwright.config.ts +77 -0
  2115. package/playwright.setup.ts +87 -0
  2116. package/publish-next.js +15 -0
  2117. package/publish.js +17 -0
  2118. package/rollup.config.mjs +180 -0
  2119. package/scripts/bench-text.js +592 -0
  2120. package/scripts/build.mjs +49 -0
  2121. package/scripts/buildLock.mjs +115 -0
  2122. package/scripts/buildReporter.mjs +15 -0
  2123. package/scripts/buildStats.mjs +40 -0
  2124. package/scripts/dirname.mjs +14 -0
  2125. package/scripts/git.mjs +36 -0
  2126. package/scripts/index.mjs +201 -0
  2127. package/scripts/sandbox.mjs +149 -0
  2128. package/src/ClassRegistry.spec.ts +91 -0
  2129. package/src/ClassRegistry.ts +62 -0
  2130. package/src/Collection.spec.ts +463 -0
  2131. package/src/Collection.ts +355 -0
  2132. package/src/CommonMethods.ts +62 -0
  2133. package/src/EventTypeDefs.ts +351 -0
  2134. package/src/Intersection.spec.ts +753 -0
  2135. package/src/Intersection.ts +324 -0
  2136. package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +189 -0
  2137. package/src/LayoutManager/ActiveSelectionLayoutManager.ts +54 -0
  2138. package/src/LayoutManager/LayoutManager.spec.ts +866 -0
  2139. package/src/LayoutManager/LayoutManager.ts +358 -0
  2140. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +74 -0
  2141. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +21 -0
  2142. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +27 -0
  2143. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +109 -0
  2144. package/src/LayoutManager/LayoutStrategies/utils.ts +56 -0
  2145. package/src/LayoutManager/README.md +125 -0
  2146. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +71 -0
  2147. package/src/LayoutManager/constants.ts +6 -0
  2148. package/src/LayoutManager/index.ts +6 -0
  2149. package/src/LayoutManager/types.ts +149 -0
  2150. package/src/Observable.spec.ts +449 -0
  2151. package/src/Observable.ts +179 -0
  2152. package/src/Pattern/Pattern.spec.ts +190 -0
  2153. package/src/Pattern/Pattern.ts +216 -0
  2154. package/src/Pattern/index.ts +2 -0
  2155. package/src/Pattern/types.ts +20 -0
  2156. package/src/Point.spec.ts +573 -0
  2157. package/src/Point.ts +374 -0
  2158. package/src/Shadow.spec.ts +283 -0
  2159. package/src/Shadow.ts +236 -0
  2160. package/src/__snapshots__/Shadow.spec.ts.snap +27 -0
  2161. package/src/brushes/BaseBrush.spec.ts +17 -0
  2162. package/src/brushes/BaseBrush.ts +154 -0
  2163. package/src/brushes/CircleBrush.test.ts +13 -0
  2164. package/src/brushes/CircleBrush.ts +139 -0
  2165. package/src/brushes/PatternBrush.ts +70 -0
  2166. package/src/brushes/PencilBrush.spec.ts +275 -0
  2167. package/src/brushes/PencilBrush.ts +302 -0
  2168. package/src/brushes/SprayBrush.ts +207 -0
  2169. package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +59 -0
  2170. package/src/brushes/typedefs.ts +18 -0
  2171. package/src/cache.spec.ts +67 -0
  2172. package/src/cache.ts +90 -0
  2173. package/src/canvas/Canvas-dispose.spec.ts +538 -0
  2174. package/src/canvas/Canvas-events.spec.ts +1735 -0
  2175. package/src/canvas/Canvas.spec.ts +2686 -0
  2176. package/src/canvas/Canvas.ts +1560 -0
  2177. package/src/canvas/CanvasOptions.ts +278 -0
  2178. package/src/canvas/DOMManagers/CanvasDOMManager.ts +129 -0
  2179. package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +80 -0
  2180. package/src/canvas/DOMManagers/util.spec.ts +28 -0
  2181. package/src/canvas/DOMManagers/util.ts +85 -0
  2182. package/src/canvas/SelectableCanvas.spec.ts +504 -0
  2183. package/src/canvas/SelectableCanvas.ts +1459 -0
  2184. package/src/canvas/StaticCanvas.spec.ts +2385 -0
  2185. package/src/canvas/StaticCanvas.ts +1480 -0
  2186. package/src/canvas/StaticCanvasOptions.ts +187 -0
  2187. package/src/canvas/TextEditingManager.ts +68 -0
  2188. package/src/canvas/__tests__/SelectableCanvas.spec.ts +62 -0
  2189. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +743 -0
  2190. package/src/canvas/__tests__/eventData.test.ts +935 -0
  2191. package/src/canvas/canvas_gestures.mixin.ts +208 -0
  2192. package/src/color/Color.ts +333 -0
  2193. package/src/color/color.test.ts +329 -0
  2194. package/src/color/color_map.ts +154 -0
  2195. package/src/color/constants.ts +114 -0
  2196. package/src/color/typedefs.ts +18 -0
  2197. package/src/color/util.ts +93 -0
  2198. package/src/config.ts +158 -0
  2199. package/src/constants.ts +46 -0
  2200. package/src/controls/Control-cursor.spec.ts +65 -0
  2201. package/src/controls/Control-handlers.spec.ts +299 -0
  2202. package/src/controls/Control.spec.ts +70 -0
  2203. package/src/controls/Control.ts +382 -0
  2204. package/src/controls/changeHeight.ts +55 -0
  2205. package/src/controls/changeWidth.test.ts +147 -0
  2206. package/src/controls/changeWidth.ts +55 -0
  2207. package/src/controls/commonControls.ts +112 -0
  2208. package/src/controls/controlRendering.ts +136 -0
  2209. package/src/controls/drag.ts +32 -0
  2210. package/src/controls/fireEvent.ts +18 -0
  2211. package/src/controls/index.ts +23 -0
  2212. package/src/controls/pathControl.spec.ts +77 -0
  2213. package/src/controls/pathControl.ts +293 -0
  2214. package/src/controls/polyControl.spec.ts +51 -0
  2215. package/src/controls/polyControl.ts +131 -0
  2216. package/src/controls/rotate.ts +88 -0
  2217. package/src/controls/scale.test.ts +137 -0
  2218. package/src/controls/scale.ts +288 -0
  2219. package/src/controls/scaleSkew.ts +94 -0
  2220. package/src/controls/skew.ts +251 -0
  2221. package/src/controls/util.ts +162 -0
  2222. package/src/controls/wrapWithFireEvent.ts +34 -0
  2223. package/src/controls/wrapWithFixedAnchor.spec.ts +124 -0
  2224. package/src/controls/wrapWithFixedAnchor.ts +26 -0
  2225. package/src/env/browser.ts +21 -0
  2226. package/src/env/env.spec.ts +47 -0
  2227. package/src/env/index.ts +47 -0
  2228. package/src/env/node.ts +50 -0
  2229. package/src/env/types.ts +16 -0
  2230. package/src/filters/BaseFilter.spec.ts +16 -0
  2231. package/src/filters/BaseFilter.ts +416 -0
  2232. package/src/filters/BlendColor.ts +197 -0
  2233. package/src/filters/BlendImage.ts +220 -0
  2234. package/src/filters/Blur.ts +205 -0
  2235. package/src/filters/Boilerplate.ts +84 -0
  2236. package/src/filters/Brightness.ts +75 -0
  2237. package/src/filters/Canvas2dFilterBackend.ts +68 -0
  2238. package/src/filters/ColorMatrix.spec.ts +39 -0
  2239. package/src/filters/ColorMatrix.ts +141 -0
  2240. package/src/filters/ColorMatrixFilters.ts +84 -0
  2241. package/src/filters/Composed.ts +87 -0
  2242. package/src/filters/Contrast.ts +76 -0
  2243. package/src/filters/Convolute.ts +174 -0
  2244. package/src/filters/FilterBackend.ts +38 -0
  2245. package/src/filters/GLProbes/GLProbe.ts +7 -0
  2246. package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
  2247. package/src/filters/GLProbes/WebGLProbe.ts +49 -0
  2248. package/src/filters/Gamma.ts +119 -0
  2249. package/src/filters/Grayscale.ts +91 -0
  2250. package/src/filters/HueRotation.ts +95 -0
  2251. package/src/filters/Invert.ts +88 -0
  2252. package/src/filters/Noise.ts +76 -0
  2253. package/src/filters/Pixelate.ts +85 -0
  2254. package/src/filters/RemoveColor.ts +121 -0
  2255. package/src/filters/Resize.ts +545 -0
  2256. package/src/filters/Saturation.ts +80 -0
  2257. package/src/filters/Vibrance.ts +82 -0
  2258. package/src/filters/WebGLFilterBackend.spec.ts +50 -0
  2259. package/src/filters/WebGLFilterBackend.ts +416 -0
  2260. package/src/filters/filters.ts +30 -0
  2261. package/src/filters/index.ts +12 -0
  2262. package/src/filters/shaders/baseFilter.ts +17 -0
  2263. package/src/filters/shaders/blendColor.ts +33 -0
  2264. package/src/filters/shaders/blendImage.ts +44 -0
  2265. package/src/filters/shaders/blur.ts +30 -0
  2266. package/src/filters/shaders/brightness.ts +11 -0
  2267. package/src/filters/shaders/colorMatrix.ts +12 -0
  2268. package/src/filters/shaders/constrast.ts +11 -0
  2269. package/src/filters/shaders/convolute.ts +154 -0
  2270. package/src/filters/shaders/gamma.ts +15 -0
  2271. package/src/filters/shaders/grayscale.ts +36 -0
  2272. package/src/filters/shaders/invert.ts +19 -0
  2273. package/src/filters/shaders/noise.ts +16 -0
  2274. package/src/filters/shaders/pixelate.ts +19 -0
  2275. package/src/filters/shaders/removeColor.ts +13 -0
  2276. package/src/filters/shaders/saturation.ts +15 -0
  2277. package/src/filters/shaders/vibrance.ts +16 -0
  2278. package/src/filters/typedefs.ts +81 -0
  2279. package/src/filters/utils.ts +52 -0
  2280. package/src/gradient/Gradient.spec.ts +821 -0
  2281. package/src/gradient/Gradient.ts +404 -0
  2282. package/src/gradient/constants.ts +12 -0
  2283. package/src/gradient/index.ts +2 -0
  2284. package/src/gradient/parser/misc.ts +13 -0
  2285. package/src/gradient/parser/parseColorStops.ts +58 -0
  2286. package/src/gradient/parser/parseCoords.ts +76 -0
  2287. package/src/gradient/typedefs.ts +108 -0
  2288. package/src/mixins/eraser_brush.mixin.ts +869 -0
  2289. package/src/parkinglot/canvas_animation.mixin.ts +120 -0
  2290. package/src/parkinglot/straighten.ts +76 -0
  2291. package/src/parser/applyViewboxTransform.spec.ts +397 -0
  2292. package/src/parser/applyViewboxTransform.ts +174 -0
  2293. package/src/parser/attributes.ts +27 -0
  2294. package/src/parser/constants.spec.ts +36 -0
  2295. package/src/parser/constants.ts +88 -0
  2296. package/src/parser/doesSomeParentMatch.ts +21 -0
  2297. package/src/parser/elementMatchesRule.ts +19 -0
  2298. package/src/parser/elements_parser.ts +230 -0
  2299. package/src/parser/getCSSRules.spec.ts +51 -0
  2300. package/src/parser/getCSSRules.ts +68 -0
  2301. package/src/parser/getGlobalStylesForElement.ts +22 -0
  2302. package/src/parser/getGradientDefs.ts +33 -0
  2303. package/src/parser/getMultipleNodes.ts +19 -0
  2304. package/src/parser/getSvgRegex.ts +3 -0
  2305. package/src/parser/getTagName.ts +1 -0
  2306. package/src/parser/hasInvalidAncestor.ts +20 -0
  2307. package/src/parser/loadSVGFromString.test.ts +75 -0
  2308. package/src/parser/loadSVGFromString.ts +28 -0
  2309. package/src/parser/loadSVGFromURL.ts +42 -0
  2310. package/src/parser/normalizeAttr.ts +5 -0
  2311. package/src/parser/normalizeValue.ts +76 -0
  2312. package/src/parser/parseAttributes.ts +92 -0
  2313. package/src/parser/parseFontDeclaration.ts +43 -0
  2314. package/src/parser/parsePointsAttribute.ts +31 -0
  2315. package/src/parser/parseSVGDocument.ts +93 -0
  2316. package/src/parser/parseStyleAttribute.ts +26 -0
  2317. package/src/parser/parseStyleObject.ts +17 -0
  2318. package/src/parser/parseStyleString.ts +19 -0
  2319. package/src/parser/parseTransformAttribute.ts +92 -0
  2320. package/src/parser/parseUseDirectives.test.ts +115 -0
  2321. package/src/parser/parseUseDirectives.ts +91 -0
  2322. package/src/parser/parser.spec.ts +816 -0
  2323. package/src/parser/percent.ts +27 -0
  2324. package/src/parser/recursivelyParseGradientsXlink.ts +40 -0
  2325. package/src/parser/selectorMatches.ts +26 -0
  2326. package/src/parser/setStrokeFillOpacity.ts +41 -0
  2327. package/src/parser/typedefs.ts +15 -0
  2328. package/src/shapes/ActiveSelection.spec.ts +405 -0
  2329. package/src/shapes/ActiveSelection.ts +254 -0
  2330. package/src/shapes/Circle.spec.ts +307 -0
  2331. package/src/shapes/Circle.ts +257 -0
  2332. package/src/shapes/Ellipse.spec.ts +237 -0
  2333. package/src/shapes/Ellipse.ts +181 -0
  2334. package/src/shapes/Group.spec.ts +1805 -0
  2335. package/src/shapes/Group.ts +717 -0
  2336. package/src/shapes/IText/DraggableTextDelegate.ts +387 -0
  2337. package/src/shapes/IText/IText-click-behavior.spec.ts +443 -0
  2338. package/src/shapes/IText/IText.test.ts +1226 -0
  2339. package/src/shapes/IText/IText.ts +846 -0
  2340. package/src/shapes/IText/ITextBehavior.test.ts +251 -0
  2341. package/src/shapes/IText/ITextBehavior.ts +1177 -0
  2342. package/src/shapes/IText/ITextClickBehavior.ts +254 -0
  2343. package/src/shapes/IText/ITextKeyBehavior.test.ts +348 -0
  2344. package/src/shapes/IText/ITextKeyBehavior.ts +691 -0
  2345. package/src/shapes/IText/__snapshots__/IText.test.ts.snap +50 -0
  2346. package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +1110 -0
  2347. package/src/shapes/IText/constants.ts +65 -0
  2348. package/src/shapes/Image-filters.spec.ts +1904 -0
  2349. package/src/shapes/Image.spec.ts +1043 -0
  2350. package/src/shapes/Image.ts +846 -0
  2351. package/src/shapes/Line.spec.ts +208 -0
  2352. package/src/shapes/Line.ts +288 -0
  2353. package/src/shapes/Object/FabricObject.spec.ts +18 -0
  2354. package/src/shapes/Object/FabricObject.ts +33 -0
  2355. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +253 -0
  2356. package/src/shapes/Object/InteractiveObject.spec.ts +70 -0
  2357. package/src/shapes/Object/InteractiveObject.ts +727 -0
  2358. package/src/shapes/Object/Object-clip-path.spec.ts +197 -0
  2359. package/src/shapes/Object/Object-interactivity.spec.ts +833 -0
  2360. package/src/shapes/Object/Object.spec.ts +1873 -0
  2361. package/src/shapes/Object/Object.ts +1941 -0
  2362. package/src/shapes/Object/ObjectGeometry.spec.ts +1149 -0
  2363. package/src/shapes/Object/ObjectGeometry.ts +798 -0
  2364. package/src/shapes/Object/ObjectOrigin.spec.ts +469 -0
  2365. package/src/shapes/Object/ObjectSerialization.spec.ts +63 -0
  2366. package/src/shapes/Object/StackedObject.spec.ts +369 -0
  2367. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +75 -0
  2368. package/src/shapes/Object/defaultValues.ts +128 -0
  2369. package/src/shapes/Object/types/BaseProps.ts +104 -0
  2370. package/src/shapes/Object/types/BorderProps.ts +40 -0
  2371. package/src/shapes/Object/types/ControlProps.ts +70 -0
  2372. package/src/shapes/Object/types/FabricObjectProps.ts +73 -0
  2373. package/src/shapes/Object/types/FillStrokeProps.ts +88 -0
  2374. package/src/shapes/Object/types/LockInteractionProps.ts +49 -0
  2375. package/src/shapes/Object/types/ObjectProps.ts +51 -0
  2376. package/src/shapes/Object/types/ObjectTransformProps.ts +35 -0
  2377. package/src/shapes/Object/types/SerializedObjectProps.ts +70 -0
  2378. package/src/shapes/Object/types/index.ts +7 -0
  2379. package/src/shapes/Path.spec.ts +659 -0
  2380. package/src/shapes/Path.ts +414 -0
  2381. package/src/shapes/Polygon.spec.ts +566 -0
  2382. package/src/shapes/Polygon.ts +15 -0
  2383. package/src/shapes/Polyline.spec.ts +404 -0
  2384. package/src/shapes/Polyline.ts +429 -0
  2385. package/src/shapes/Rect.spec.ts +270 -0
  2386. package/src/shapes/Rect.ts +221 -0
  2387. package/src/shapes/Text/StyledText.spec.ts +61 -0
  2388. package/src/shapes/Text/StyledText.ts +335 -0
  2389. package/src/shapes/Text/Text.spec.ts +1315 -0
  2390. package/src/shapes/Text/Text.ts +2161 -0
  2391. package/src/shapes/Text/TextSVGExportMixin.spec.ts +104 -0
  2392. package/src/shapes/Text/TextSVGExportMixin.ts +384 -0
  2393. package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +225 -0
  2394. package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +53 -0
  2395. package/src/shapes/Text/constants.ts +134 -0
  2396. package/src/shapes/Textbox.spec.ts +975 -0
  2397. package/src/shapes/Textbox.ts +669 -0
  2398. package/src/shapes/Triangle.ts +69 -0
  2399. package/src/shapes/__snapshots__/Image.spec.ts.snap +22 -0
  2400. package/src/shapes/__snapshots__/Textbox.spec.ts.snap +165 -0
  2401. package/src/text/browserLines.ts +234 -0
  2402. package/src/text/ellipsis.ts +517 -0
  2403. package/src/text/hitTest.ts +624 -0
  2404. package/src/text/layout.ts +587 -0
  2405. package/src/text/measure.ts +476 -0
  2406. package/src/text/overlayEditor.ts +637 -0
  2407. package/src/text/unicode.ts +455 -0
  2408. package/src/typedefs.ts +132 -0
  2409. package/src/util/__snapshots__/index.spec.ts.snap +124 -0
  2410. package/src/util/animation/AnimationBase.ts +166 -0
  2411. package/src/util/animation/AnimationFrameProvider.ts +9 -0
  2412. package/src/util/animation/AnimationRegistry.ts +59 -0
  2413. package/src/util/animation/ArrayAnimation.ts +27 -0
  2414. package/src/util/animation/ColorAnimation.ts +74 -0
  2415. package/src/util/animation/ValueAnimation.ts +29 -0
  2416. package/src/util/animation/__snapshots__/animations.spec.ts.snap +2772 -0
  2417. package/src/util/animation/animate.ts +74 -0
  2418. package/src/util/animation/animations.spec.ts +488 -0
  2419. package/src/util/animation/easing.ts +327 -0
  2420. package/src/util/animation/index.ts +2 -0
  2421. package/src/util/animation/types.ts +136 -0
  2422. package/src/util/applyMixins.ts +22 -0
  2423. package/src/util/dom_event.spec.ts +23 -0
  2424. package/src/util/dom_event.ts +29 -0
  2425. package/src/util/dom_misc.ts +55 -0
  2426. package/src/util/index.spec.ts +24 -0
  2427. package/src/util/index.ts +116 -0
  2428. package/src/util/internals/applyCanvasTransform.ts +19 -0
  2429. package/src/util/internals/cleanupSvgAttribute.test.ts +17 -0
  2430. package/src/util/internals/cleanupSvgAttribute.ts +10 -0
  2431. package/src/util/internals/cloneStyles.spec.ts +48 -0
  2432. package/src/util/internals/cloneStyles.ts +12 -0
  2433. package/src/util/internals/console.ts +18 -0
  2434. package/src/util/internals/dom_style.spec.ts +17 -0
  2435. package/src/util/internals/dom_style.ts +16 -0
  2436. package/src/util/internals/findRight.ts +11 -0
  2437. package/src/util/internals/getRandomInt.test.ts +49 -0
  2438. package/src/util/internals/getRandomInt.ts +8 -0
  2439. package/src/util/internals/ifNaN.ts +9 -0
  2440. package/src/util/internals/removeFromArray.spec.ts +30 -0
  2441. package/src/util/internals/removeFromArray.ts +14 -0
  2442. package/src/util/internals/uid.ts +3 -0
  2443. package/src/util/lang_string.spec.ts +51 -0
  2444. package/src/util/lang_string.ts +106 -0
  2445. package/src/util/misc/boundingBoxFromPoints.spec.ts +25 -0
  2446. package/src/util/misc/boundingBoxFromPoints.ts +29 -0
  2447. package/src/util/misc/capValue.spec.ts +22 -0
  2448. package/src/util/misc/capValue.ts +2 -0
  2449. package/src/util/misc/cos.spec.ts +12 -0
  2450. package/src/util/misc/cos.ts +24 -0
  2451. package/src/util/misc/dom.spec.ts +75 -0
  2452. package/src/util/misc/dom.ts +77 -0
  2453. package/src/util/misc/findScaleTo.spec.ts +68 -0
  2454. package/src/util/misc/findScaleTo.ts +29 -0
  2455. package/src/util/misc/groupSVGElements.spec.ts +41 -0
  2456. package/src/util/misc/groupSVGElements.ts +19 -0
  2457. package/src/util/misc/isTransparent.ts +28 -0
  2458. package/src/util/misc/matrix.spec.ts +199 -0
  2459. package/src/util/misc/matrix.ts +323 -0
  2460. package/src/util/misc/mergeClipPaths.spec.ts +109 -0
  2461. package/src/util/misc/mergeClipPaths.ts +39 -0
  2462. package/src/util/misc/objectEnlive.spec.ts +129 -0
  2463. package/src/util/misc/objectEnlive.ts +192 -0
  2464. package/src/util/misc/objectTransforms.spec.ts +67 -0
  2465. package/src/util/misc/objectTransforms.ts +122 -0
  2466. package/src/util/misc/pick.spec.ts +32 -0
  2467. package/src/util/misc/pick.ts +29 -0
  2468. package/src/util/misc/planeChange.spec.ts +102 -0
  2469. package/src/util/misc/planeChange.ts +92 -0
  2470. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +148 -0
  2471. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +314 -0
  2472. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +66 -0
  2473. package/src/util/misc/projectStroke/index.ts +81 -0
  2474. package/src/util/misc/projectStroke/types.ts +24 -0
  2475. package/src/util/misc/radiansDegreesConversion.spec.ts +27 -0
  2476. package/src/util/misc/radiansDegreesConversion.ts +18 -0
  2477. package/src/util/misc/resolveOrigin.ts +22 -0
  2478. package/src/util/misc/sin.ts +26 -0
  2479. package/src/util/misc/svgExport.ts +15 -0
  2480. package/src/util/misc/svgParsing.spec.ts +103 -0
  2481. package/src/util/misc/svgParsing.ts +167 -0
  2482. package/src/util/misc/textStyles.ts +137 -0
  2483. package/src/util/misc/toFixed.spec.ts +26 -0
  2484. package/src/util/misc/toFixed.ts +8 -0
  2485. package/src/util/misc/vectors.spec.ts +136 -0
  2486. package/src/util/misc/vectors.ts +100 -0
  2487. package/src/util/path/__snapshots__/index.spec.ts.snap +844 -0
  2488. package/src/util/path/index.spec.ts +165 -0
  2489. package/src/util/path/index.ts +1044 -0
  2490. package/src/util/path/regex.ts +46 -0
  2491. package/src/util/path/typechecks.ts +145 -0
  2492. package/src/util/path/typedefs.ts +326 -0
  2493. package/src/util/transform_matrix_removal.ts +61 -0
  2494. package/src/util/typeAssertions.spec.ts +127 -0
  2495. package/src/util/typeAssertions.ts +47 -0
  2496. package/tsconfig-extensions.json +108 -0
  2497. package/tsconfig.json +118 -0
  2498. package/tsconfig.spec.json +24 -0
  2499. package/typedoc.config.json +12 -0
  2500. package/vitest.config.ts +100 -0
  2501. package/vitest.d.ts +32 -0
  2502. package/vitest.env.d.ts +14 -0
  2503. package/vitest.extend.ts +195 -0
  2504. package/vitest.setup.ts +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas.mjs","sources":["../../../src/canvas/Canvas.ts"],"sourcesContent":["import { classRegistry } from '../ClassRegistry';\nimport { NONE } from '../constants';\nimport type {\n CanvasEvents,\n DragEventData,\n ObjectEvents,\n TEventsExtraData,\n TPointerEvent,\n TPointerEventNames,\n Transform,\n} from '../EventTypeDefs';\nimport { Point } from '../Point';\nimport type { ActiveSelection } from '../shapes/ActiveSelection';\nimport type { Group } from '../shapes/Group';\nimport type { IText } from '../shapes/IText/IText';\nimport type { FabricObject } from '../shapes/Object/FabricObject';\nimport { isTouchEvent, stopEvent } from '../util/dom_event';\nimport { getDocumentFromElement, getWindowFromElement } from '../util/dom_misc';\nimport { sendPointToPlane } from '../util/misc/planeChange';\nimport { isActiveSelection } from '../util/typeAssertions';\nimport type { CanvasOptions, TCanvasOptions } from './CanvasOptions';\nimport { SelectableCanvas } from './SelectableCanvas';\nimport { TextEditingManager } from './TextEditingManager';\n\nconst addEventOptions = { passive: false } as EventListenerOptions;\n\nconst getEventPoints = (canvas: Canvas, e: TPointerEvent) => {\n const viewportPoint = canvas.getViewportPoint(e);\n const scenePoint = canvas.getScenePoint(e);\n return {\n viewportPoint,\n scenePoint,\n };\n};\n\n// just to be clear, the utils are now deprecated and those are here exactly as minifier helpers\n// because el.addEventListener can't me be minified while a const yes and we use it 47 times in this file.\n// few bytes but why give it away.\nconst addListener = (\n el: HTMLElement | Document,\n ...args: Parameters<HTMLElement['addEventListener']>\n) => el.addEventListener(...args);\nconst removeListener = (\n el: HTMLElement | Document,\n ...args: Parameters<HTMLElement['removeEventListener']>\n) => el.removeEventListener(...args);\n\nconst syntheticEventConfig = {\n mouse: {\n in: 'over',\n out: 'out',\n targetIn: 'mouseover',\n targetOut: 'mouseout',\n canvasIn: 'mouse:over',\n canvasOut: 'mouse:out',\n },\n drag: {\n in: 'enter',\n out: 'leave',\n targetIn: 'dragenter',\n targetOut: 'dragleave',\n canvasIn: 'drag:enter',\n canvasOut: 'drag:leave',\n },\n} as const;\n\ntype TSyntheticEventContext = {\n mouse: { e: TPointerEvent };\n drag: DragEventData;\n};\n\nexport class Canvas extends SelectableCanvas implements CanvasOptions {\n /**\n * Contains the id of the touch event that owns the fabric transform\n * @type Number\n * @private\n */\n declare mainTouchId?: number;\n\n declare enablePointerEvents: boolean;\n\n /**\n * Holds a reference to a setTimeout timer for event synchronization\n * @type number\n * @private\n */\n declare private _willAddMouseDown: number;\n\n /**\n * Holds a reference to an object on the canvas that is receiving the drag over event.\n * @type FabricObject\n * @private\n */\n declare private _draggedoverTarget?: FabricObject;\n\n /**\n * Holds a reference to an object on the canvas from where the drag operation started\n * @type FabricObject\n * @private\n */\n declare private _dragSource?: FabricObject;\n\n /**\n * Holds a reference to an object on the canvas that is the current drop target\n * May differ from {@link _draggedoverTarget}\n * @todo inspect whether {@link _draggedoverTarget} and {@link _dropTarget} should be merged somehow\n * @type FabricObject\n * @private\n */\n declare private _dropTarget: FabricObject<ObjectEvents> | undefined;\n\n /**\n * a boolean that keeps track of the click state during a cycle of mouse down/up.\n * If a mouse move occurs it becomes false.\n * Is true by default, turns false on mouse move.\n * Used to determine if a mouseUp is a click\n */\n private _isClick: boolean;\n\n textEditingManager = new TextEditingManager(this);\n\n constructor(el?: string | HTMLCanvasElement, options: TCanvasOptions = {}) {\n super(el, options);\n // bind event handlers\n (\n [\n '_onMouseDown',\n '_onTouchStart',\n '_onMouseMove',\n '_onMouseUp',\n '_onTouchEnd',\n '_onResize',\n // '_onGesture',\n // '_onDrag',\n // '_onShake',\n // '_onLongPress',\n // '_onOrientationChange',\n '_onMouseWheel',\n '_onMouseOut',\n '_onMouseEnter',\n '_onContextMenu',\n '_onClick',\n '_onDragStart',\n '_onDragEnd',\n '_onDragProgress',\n '_onDragOver',\n '_onDragEnter',\n '_onDragLeave',\n '_onDrop',\n ] as (keyof this)[]\n ).forEach((eventHandler) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n this[eventHandler] = (this[eventHandler] as Function).bind(this);\n });\n // register event handlers\n this.addOrRemove(addListener, 'add');\n }\n\n /**\n * return an event prefix pointer or mouse.\n * @private\n */\n private _getEventPrefix() {\n return this.enablePointerEvents ? 'pointer' : 'mouse';\n }\n\n addOrRemove(functor: any, _eventjsFunctor: 'add' | 'remove') {\n const canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n functor(getWindowFromElement(canvasElement), 'resize', this._onResize);\n functor(canvasElement, eventTypePrefix + 'down', this._onMouseDown);\n functor(\n canvasElement,\n `${eventTypePrefix}move`,\n this._onMouseMove,\n addEventOptions,\n );\n functor(canvasElement, `${eventTypePrefix}out`, this._onMouseOut);\n functor(canvasElement, `${eventTypePrefix}enter`, this._onMouseEnter);\n functor(canvasElement, 'wheel', this._onMouseWheel, { passive: false });\n functor(canvasElement, 'contextmenu', this._onContextMenu);\n functor(canvasElement, 'click', this._onClick);\n // decide if to remove in fabric 7.0\n functor(canvasElement, 'dblclick', this._onClick);\n functor(canvasElement, 'dragstart', this._onDragStart);\n functor(canvasElement, 'dragend', this._onDragEnd);\n functor(canvasElement, 'dragover', this._onDragOver);\n functor(canvasElement, 'dragenter', this._onDragEnter);\n functor(canvasElement, 'dragleave', this._onDragLeave);\n functor(canvasElement, 'drop', this._onDrop);\n if (!this.enablePointerEvents) {\n functor(canvasElement, 'touchstart', this._onTouchStart, addEventOptions);\n }\n // if (typeof eventjs !== 'undefined' && eventjsFunctor in eventjs) {\n // eventjs[eventjsFunctor](canvasElement, 'gesture', this._onGesture);\n // eventjs[eventjsFunctor](canvasElement, 'drag', this._onDrag);\n // eventjs[eventjsFunctor](\n // canvasElement,\n // 'orientation',\n // this._onOrientationChange\n // );\n // eventjs[eventjsFunctor](canvasElement, 'shake', this._onShake);\n // eventjs[eventjsFunctor](canvasElement, 'longpress', this._onLongPress);\n // }\n }\n\n /**\n * Removes all event listeners, used when disposing the instance\n */\n removeListeners() {\n this.addOrRemove(removeListener, 'remove');\n // if you dispose on a mouseDown, before mouse up, you need to clean document to...\n const eventTypePrefix = this._getEventPrefix();\n const doc = getDocumentFromElement(this.upperCanvasEl);\n removeListener(\n doc,\n `${eventTypePrefix}up`,\n this._onMouseUp as EventListener,\n );\n removeListener(\n doc,\n 'touchend',\n this._onTouchEnd as EventListener,\n addEventOptions,\n );\n removeListener(\n doc,\n `${eventTypePrefix}move`,\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n removeListener(\n doc,\n 'touchmove',\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n clearTimeout(this._willAddMouseDown);\n }\n\n /**\n * @private\n * @param {Event} [e] Event object fired on wheel event\n */\n private _onMouseWheel(e: MouseEvent) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'wheel');\n this._resetTransformEventData();\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n private _onMouseOut(e: TPointerEvent) {\n const target = this._hoveredTarget;\n const shared = {\n e,\n ...getEventPoints(this, e),\n };\n this.fire('mouse:out', { ...shared, target });\n this._hoveredTarget = undefined;\n target && target.fire('mouseout', { ...shared });\n this._hoveredTargets.forEach((nestedTarget) => {\n this.fire('mouse:out', { ...shared, target: nestedTarget });\n nestedTarget && nestedTarget.fire('mouseout', { ...shared });\n });\n this._hoveredTargets = [];\n }\n\n /**\n * @private\n * Used when the mouse cursor enter the canvas from outside\n * @param {Event} e Event object fired on mouseenter\n */\n private _onMouseEnter(e: TPointerEvent) {\n // This find target and consequent 'mouse:over' is used to\n // clear old instances on hovered target.\n // calling findTarget has the side effect of killing target.__corner.\n // as a short term fix we are not firing this if we are currently transforming.\n // as a long term fix we need to separate the action of finding a target with the\n // side effects we added to it.\n const { target } = this.findTarget(e);\n // we fire the event only when there is no target, if there is a target, the specific\n // target event will fire.\n if (!this._currentTransform && !target) {\n this.fire('mouse:over', {\n e,\n ...getEventPoints(this, e),\n });\n this._hoveredTarget = undefined;\n this._hoveredTargets = [];\n }\n }\n\n /**\n * supports native like text dragging\n * @private\n * @param {DragEvent} e\n */\n private _onDragStart(e: DragEvent) {\n this._isClick = false;\n const activeObject = this.getActiveObject();\n if (activeObject && activeObject.onDragStart(e)) {\n this._dragSource = activeObject;\n const options = { e, target: activeObject };\n this.fire('dragstart', options);\n activeObject.fire('dragstart', options);\n addListener(\n this.upperCanvasEl,\n 'drag',\n this._onDragProgress as EventListener,\n );\n return;\n }\n stopEvent(e);\n }\n\n /**\n * First we clear top context where the effects are being rendered.\n * Then we render the effects.\n * Doing so will render the correct effect for all cases including an overlap between `source` and `target`.\n * @private\n */\n private _renderDragEffects(\n e: DragEvent,\n source?: FabricObject,\n target?: FabricObject,\n ) {\n let dirty = false;\n // clear top context\n const dropTarget = this._dropTarget;\n if (dropTarget && dropTarget !== source && dropTarget !== target) {\n dropTarget.clearContextTop();\n dirty = true;\n }\n source?.clearContextTop();\n target !== source && target?.clearContextTop();\n // render effects\n const ctx = this.contextTop;\n ctx.save();\n ctx.transform(...this.viewportTransform);\n if (source) {\n ctx.save();\n source.transform(ctx);\n source.renderDragSourceEffect(e);\n ctx.restore();\n dirty = true;\n }\n if (target) {\n ctx.save();\n target.transform(ctx);\n target.renderDropTargetEffect(e);\n ctx.restore();\n dirty = true;\n }\n ctx.restore();\n dirty && (this.contextTopDirty = true);\n }\n\n /**\n * supports native like text dragging\n * https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#finishing_a_drag\n * @private\n * @param {DragEvent} e\n */\n private _onDragEnd(e: DragEvent) {\n const { currentSubTargets } = this.findTarget(e);\n const didDrop = !!e.dataTransfer && e.dataTransfer.dropEffect !== NONE,\n dropTarget = didDrop ? this._activeObject : undefined,\n options = {\n e,\n target: this._dragSource as FabricObject,\n subTargets: currentSubTargets,\n dragSource: this._dragSource as FabricObject,\n didDrop,\n dropTarget: dropTarget as FabricObject,\n };\n removeListener(\n this.upperCanvasEl,\n 'drag',\n this._onDragProgress as EventListener,\n );\n this.fire('dragend', options);\n this._dragSource && this._dragSource.fire('dragend', options);\n delete this._dragSource;\n // we need to call mouse up synthetically because the browser won't\n this._onMouseUp(e);\n }\n\n /**\n * fire `drag` event on canvas and drag source\n * @private\n * @param {DragEvent} e\n */\n private _onDragProgress(e: DragEvent) {\n const options = {\n e,\n target: this._dragSource,\n dragSource: this._dragSource,\n dropTarget: this._draggedoverTarget as FabricObject,\n };\n this.fire('drag', options);\n this._dragSource && this._dragSource.fire('drag', options);\n }\n\n /**\n * prevent default to allow drop event to be fired\n * https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#specifying_drop_targets\n * @private\n * @param {DragEvent} [e] Event object fired on Event.js shake\n */\n private _onDragOver(e: DragEvent) {\n const eventType = 'dragover';\n const { currentContainer: target, currentSubTargets } = this.findTarget(e);\n const dragSource = this._dragSource as FabricObject;\n const options = {\n e,\n target,\n subTargets: currentSubTargets,\n dragSource,\n canDrop: false,\n dropTarget: undefined,\n };\n let dropTarget;\n // fire on canvas\n this.fire(eventType, options);\n // make sure we fire dragenter events before dragover\n // if dragleave is needed, object will not fire dragover so we don't need to trouble ourselves with it\n this._fireEnterLeaveEvents(e, target, options);\n if (target) {\n if (target.canDrop(e)) {\n dropTarget = target;\n }\n target.fire(eventType, options);\n }\n // propagate the event to subtargets\n for (let i = 0; i < currentSubTargets.length; i++) {\n const subTarget = currentSubTargets[i];\n // accept event only if previous targets didn't (the accepting target calls `preventDefault` to inform that the event is taken)\n // TODO: verify if those should loop in inverse order then?\n // what is the order of subtargets?\n if (subTarget.canDrop(e)) {\n dropTarget = subTarget;\n }\n subTarget.fire(eventType, options);\n }\n // render drag effects now that relations between source and target is clear\n this._renderDragEffects(e, dragSource, dropTarget);\n this._dropTarget = dropTarget;\n }\n\n /**\n * fire `dragleave` on `dragover` targets\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */\n private _onDragEnter(e: DragEvent) {\n const { currentContainer, currentSubTargets } = this.findTarget(e);\n const options = {\n e,\n target: currentContainer,\n subTargets: currentSubTargets,\n dragSource: this._dragSource,\n };\n this.fire('dragenter', options);\n // fire dragenter on targets\n this._fireEnterLeaveEvents(e, currentContainer, options);\n }\n\n /**\n * fire `dragleave` on `dragover` targets\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */\n private _onDragLeave(e: DragEvent) {\n const { currentSubTargets } = this.findTarget(e);\n const options = {\n e,\n target: this._draggedoverTarget,\n subTargets: currentSubTargets,\n dragSource: this._dragSource,\n };\n this.fire('dragleave', options);\n\n // fire dragleave on targets\n this._fireEnterLeaveEvents(e, undefined, options);\n this._renderDragEffects(e, this._dragSource);\n this._dropTarget = undefined;\n this._hoveredTargets = [];\n }\n\n /**\n * `drop:before` is a an event that allows you to schedule logic\n * before the `drop` event. Prefer `drop` event always, but if you need\n * to run some drop-disabling logic on an event, since there is no way\n * to handle event handlers ordering, use `drop:before`\n * @private\n * @param {Event} e\n */\n private _onDrop(e: DragEvent) {\n const { currentContainer, currentSubTargets } = this.findTarget(e);\n const options = this._basicEventHandler('drop:before', {\n e,\n target: currentContainer,\n subTargets: currentSubTargets,\n dragSource: this._dragSource,\n ...getEventPoints(this, e),\n });\n // will be set by the drop target\n options.didDrop = false;\n // will be set by the drop target, used in case options.target refuses the drop\n options.dropTarget = undefined;\n // fire `drop`\n this._basicEventHandler('drop', options);\n // inform canvas of the drop\n // we do this because canvas was unaware of what happened at the time the `drop` event was fired on it\n // use for side effects\n this.fire('drop:after', options);\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n private _onContextMenu(e: TPointerEvent): false {\n const { target, subTargets } = this.findTarget(e);\n const options = this._basicEventHandler('contextmenu:before', {\n e,\n target,\n subTargets,\n });\n // TODO: this line is silly because the dev can subscribe to the event and prevent it themselves\n this.stopContextMenu && stopEvent(e);\n this._basicEventHandler('contextmenu', options);\n return false;\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n private _onClick(e: TPointerEvent) {\n const clicks = e.detail;\n if (clicks > 3 || clicks < 2) return;\n this._cacheTransformEventData(e);\n clicks == 2 && e.type === 'dblclick' && this._handleEvent(e, 'dblclick');\n clicks == 3 && this._handleEvent(e, 'tripleclick');\n this._resetTransformEventData();\n }\n\n /**\n * Return a the id of an event.\n * returns either the pointerId or the identifier or 0 for the mouse event\n * @private\n * @param {Event} evt Event object\n */\n getPointerId(evt: TouchEvent | PointerEvent): number {\n const changedTouches = (evt as TouchEvent).changedTouches;\n\n if (changedTouches) {\n return changedTouches[0] && changedTouches[0].identifier;\n }\n\n if (this.enablePointerEvents) {\n return (evt as PointerEvent).pointerId;\n }\n\n return -1;\n }\n\n /**\n * Determines if an event has the id of the event that is considered main\n * @private\n * @param {evt} event Event object\n */\n _isMainEvent(evt: TPointerEvent): boolean {\n if ((evt as PointerEvent).isPrimary === true) {\n return true;\n }\n if ((evt as PointerEvent).isPrimary === false) {\n return false;\n }\n if (evt.type === 'touchend' && (evt as TouchEvent).touches.length === 0) {\n return true;\n }\n if ((evt as TouchEvent).changedTouches) {\n return (\n (evt as TouchEvent).changedTouches[0].identifier === this.mainTouchId\n );\n }\n return true;\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchStart(e: TouchEvent) {\n this._cacheTransformEventData(e);\n // we will prevent scrolling if allowTouchScrolling is not enabled and\n let shouldPreventScrolling = !this.allowTouchScrolling;\n const currentActiveObject = this._activeObject;\n if (this.mainTouchId === undefined) {\n this.mainTouchId = this.getPointerId(e);\n }\n this.__onMouseDown(e);\n const { target } = this.findTarget(e);\n // after executing fabric logic for mouse down let's see\n // if we didn't change target or if we are drawing\n // we want to prevent scrolling anyway\n if (\n this.isDrawingMode ||\n (currentActiveObject && target === currentActiveObject)\n ) {\n shouldPreventScrolling = true;\n }\n // prevent default, will block scrolling from start\n shouldPreventScrolling && e.preventDefault();\n const canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n const doc = getDocumentFromElement(canvasElement);\n addListener(\n doc,\n 'touchend',\n this._onTouchEnd as EventListener,\n addEventOptions,\n );\n // if we scroll don't register the touch move event\n shouldPreventScrolling &&\n addListener(\n doc,\n 'touchmove',\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n // Unbind mousedown to prevent double triggers from touch devices\n removeListener(\n canvasElement,\n `${eventTypePrefix}down`,\n this._onMouseDown as EventListener,\n );\n this._resetTransformEventData();\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDown(e: TPointerEvent) {\n this._cacheTransformEventData(e);\n this.__onMouseDown(e);\n const canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n // switch from moving on the canvas element to moving on the document\n removeListener(\n canvasElement,\n `${eventTypePrefix}move`,\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n const doc = getDocumentFromElement(canvasElement);\n addListener(doc, `${eventTypePrefix}up`, this._onMouseUp as EventListener);\n addListener(\n doc,\n `${eventTypePrefix}move`,\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n this._resetTransformEventData();\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchEnd(e: TouchEvent) {\n if (e.touches.length > 0) {\n // if there are still touches stop here\n return;\n }\n this._cacheTransformEventData(e);\n this.__onMouseUp(e);\n this._resetTransformEventData();\n delete this.mainTouchId;\n const eventTypePrefix = this._getEventPrefix();\n const doc = getDocumentFromElement(this.upperCanvasEl);\n removeListener(\n doc,\n 'touchend',\n this._onTouchEnd as EventListener,\n addEventOptions,\n );\n removeListener(\n doc,\n 'touchmove',\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n if (this._willAddMouseDown) {\n clearTimeout(this._willAddMouseDown);\n }\n this._willAddMouseDown = setTimeout(() => {\n // Wait 400ms before rebinding mousedown to prevent double triggers\n // from touch devices\n addListener(\n this.upperCanvasEl,\n `${eventTypePrefix}down`,\n this._onMouseDown as EventListener,\n );\n this._willAddMouseDown = 0;\n }, 400) as unknown as number;\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUp(e: TPointerEvent) {\n this._cacheTransformEventData(e);\n this.__onMouseUp(e);\n const canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n if (this._isMainEvent(e)) {\n const doc = getDocumentFromElement(this.upperCanvasEl);\n removeListener(\n doc,\n `${eventTypePrefix}up`,\n this._onMouseUp as EventListener,\n );\n removeListener(\n doc,\n `${eventTypePrefix}move`,\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n addListener(\n canvasElement,\n `${eventTypePrefix}move`,\n this._onMouseMove as EventListener,\n addEventOptions,\n );\n }\n this._resetTransformEventData();\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMove(e: TPointerEvent) {\n this._cacheTransformEventData(e);\n\n const activeObject = this.getActiveObject();\n !this.allowTouchScrolling &&\n (!activeObject ||\n // a drag event sequence is started by the active object flagging itself on mousedown / mousedown:before\n // we must not prevent the event's default behavior in order for the window to start dragging\n !activeObject.shouldStartDragging(e)) &&\n e.preventDefault &&\n e.preventDefault();\n this.__onMouseMove(e);\n this._resetTransformEventData();\n }\n\n /**\n * @private\n */\n _onResize() {\n this.calcOffset();\n this._resetTransformEventData();\n }\n\n /**\n * Decides whether the canvas should be redrawn in mouseup and mousedown events.\n * @private\n * @param {Object} target\n */\n _shouldRender(target: FabricObject | undefined) {\n const activeObject = this.getActiveObject();\n // if just one of them is available or if they are both but are different objects\n // this covers: switch of target, from target to no target, selection of target\n // multiSelection with key and mouse\n return (\n !!activeObject !== !!target ||\n (activeObject && target && activeObject !== target)\n );\n }\n\n /**\n * Method that defines the actions when mouse is released on canvas.\n * The method resets the currentTransform parameters, store the image corner\n * position in the image object and render the canvas on top.\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n __onMouseUp(e: TPointerEvent) {\n this._handleEvent(e, 'up:before');\n\n const transform = this._currentTransform;\n const isClick = this._isClick;\n const { target } = this.findTarget(e);\n\n // if right/middle click just fire events and return\n // target undefined will make the _handleEvent search the target\n const { button } = e as MouseEvent;\n if (button) {\n ((this.fireMiddleClick && button === 1) ||\n (this.fireRightClick && button === 2)) &&\n this._handleEvent(e, 'up');\n return;\n }\n\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this._onMouseUpInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n let shouldRender = false;\n if (transform) {\n this._finalizeCurrentTransform(e);\n shouldRender = transform.actionPerformed;\n }\n if (!isClick) {\n const targetWasActive = target === this._activeObject;\n this.handleSelection(e);\n if (!shouldRender) {\n shouldRender =\n this._shouldRender(target) ||\n (!targetWasActive && target === this._activeObject);\n }\n }\n let pointer, corner;\n if (target) {\n const found = target.findControl(\n this.getViewportPoint(e),\n isTouchEvent(e),\n );\n const { key, control } = found || {};\n corner = key;\n if (\n target.selectable &&\n target !== this._activeObject &&\n target.activeOn === 'up'\n ) {\n this.setActiveObject(target, e);\n shouldRender = true;\n } else if (control) {\n const mouseUpHandler = control.getMouseUpHandler(e, target, control);\n if (mouseUpHandler) {\n pointer = this.getScenePoint(e);\n mouseUpHandler.call(control, e, transform!, pointer.x, pointer.y);\n }\n }\n target.isMoving = false;\n }\n // if we are ending up a transform on a different control or a new object\n // fire the original mouse up from the corner that started the transform\n if (\n transform &&\n (transform.target !== target || transform.corner !== corner)\n ) {\n const originalControl =\n transform.target && transform.target.controls[transform.corner],\n originalMouseUpHandler =\n originalControl &&\n originalControl.getMouseUpHandler(\n e,\n transform.target,\n originalControl,\n );\n pointer = pointer || this.getScenePoint(e);\n originalMouseUpHandler &&\n originalMouseUpHandler.call(\n originalControl,\n e,\n transform,\n pointer.x,\n pointer.y,\n );\n }\n this._setCursorFromEvent(e, target);\n this._handleEvent(e, 'up');\n this._groupSelector = null;\n this._currentTransform = null;\n // reset the target information about which corner is selected\n target && (target.__corner = undefined);\n if (shouldRender) {\n this.requestRenderAll();\n } else if (!isClick && !(this._activeObject as IText)?.isEditing) {\n this.renderTop();\n }\n }\n\n _basicEventHandler<T extends keyof (CanvasEvents | ObjectEvents)>(\n eventType: T,\n options: (CanvasEvents & ObjectEvents)[T],\n ) {\n const { target, subTargets = [] } = options as {\n target?: FabricObject;\n subTargets: FabricObject[];\n };\n this.fire(eventType, options);\n target && target.fire(eventType, options);\n for (let i = 0; i < subTargets.length; i++) {\n subTargets[i] !== target && subTargets[i].fire(eventType, options);\n }\n return options;\n }\n\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {TPointerEvent} e event from mouse\n * @param {TPointerEventNames} eventType\n */\n _handleEvent<T extends TPointerEventNames>(\n e: TPointerEvent,\n eventType: T,\n extraData?: TEventsExtraData[T],\n ) {\n const { target, subTargets } = this.findTarget(e),\n options: CanvasEvents[`mouse:${T}`] = {\n e,\n target,\n subTargets,\n ...getEventPoints(this, e),\n transform: this._currentTransform,\n ...(eventType === 'down:before' || eventType === 'down'\n ? extraData\n : {}),\n } as CanvasEvents[`mouse:${T}`];\n if (eventType === 'up:before' || eventType === 'up') {\n (options as CanvasEvents[`mouse:up`]).isClick = this._isClick;\n }\n this.fire(`mouse:${eventType}`, options);\n // this may be a little be more complicated of what we want to handle\n target && target.fire(`mouse${eventType}`, options);\n for (let i = 0; i < subTargets.length; i++) {\n subTargets[i] !== target &&\n subTargets[i].fire(`mouse${eventType}`, options);\n }\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDownInDrawingMode(e: TPointerEvent) {\n this._isCurrentlyDrawing = true;\n if (this.getActiveObject()) {\n this.discardActiveObject(e);\n this.requestRenderAll();\n }\n // TODO: this is a scene point so it should be renamed\n const pointer = this.getScenePoint(e);\n this.freeDrawingBrush &&\n this.freeDrawingBrush.onMouseDown(pointer, { e, pointer });\n this._handleEvent(e, 'down', { alreadySelected: false });\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMoveInDrawingMode(e: TPointerEvent) {\n if (this._isCurrentlyDrawing) {\n const pointer = this.getScenePoint(e);\n this.freeDrawingBrush &&\n this.freeDrawingBrush.onMouseMove(pointer, {\n e,\n // this is an absolute pointer, the naming is wrong\n pointer,\n });\n }\n this.setCursor(this.freeDrawingCursor);\n this._handleEvent(e, 'move');\n }\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUpInDrawingMode(e: TPointerEvent) {\n const pointer = this.getScenePoint(e);\n if (this.freeDrawingBrush) {\n this._isCurrentlyDrawing = !!this.freeDrawingBrush.onMouseUp({\n e: e,\n // this is an absolute pointer, the naming is wrong\n pointer,\n });\n } else {\n this._isCurrentlyDrawing = false;\n }\n this._handleEvent(e, 'up');\n }\n\n /**\n * Method that defines the actions when mouse is clicked on canvas.\n * The method inits the currentTransform parameters and renders all the\n * canvas so the current image can be placed on the top canvas and the rest\n * in on the container one.\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n __onMouseDown(e: TPointerEvent) {\n this._isClick = true;\n this._handleEvent(e, 'down:before');\n\n let { target } = this.findTarget(e);\n let alreadySelected = !!target && target === this._activeObject;\n // if right/middle click just fire events\n const { button } = e as MouseEvent;\n if (button) {\n ((this.fireMiddleClick && button === 1) ||\n (this.fireRightClick && button === 2)) &&\n this._handleEvent(e, 'down', {\n alreadySelected,\n });\n return;\n }\n\n if (this.isDrawingMode) {\n this._onMouseDownInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n // ignore if some object is being transformed at this moment\n if (this._currentTransform) {\n return;\n }\n\n let shouldRender = this._shouldRender(target);\n let grouped = false;\n if (this.handleMultiSelection(e, target)) {\n // active object might have changed while grouping\n target = this._activeObject;\n grouped = true;\n shouldRender = true;\n } else if (this._shouldClearSelection(e, target)) {\n this.discardActiveObject(e);\n }\n // we start a group selector rectangle if\n // selection is enabled\n // and there is no target, or the following 3 conditions are satisfied:\n // target is not selectable ( otherwise we selected it )\n // target is not editing\n // target is not already selected ( otherwise we drag )\n if (\n this.selection &&\n (!target ||\n (!target.selectable &&\n !(target as IText).isEditing &&\n target !== this._activeObject))\n ) {\n const p = this.getScenePoint(e);\n this._groupSelector = {\n x: p.x,\n y: p.y,\n deltaY: 0,\n deltaX: 0,\n };\n }\n\n // check again because things could have changed\n alreadySelected = !!target && target === this._activeObject;\n if (target) {\n if (target.selectable && target.activeOn === 'down') {\n this.setActiveObject(target, e);\n }\n const handle = target.findControl(\n this.getViewportPoint(e),\n isTouchEvent(e),\n );\n if (target === this._activeObject && (handle || !grouped)) {\n this._setupCurrentTransform(e, target, alreadySelected);\n const control = handle ? handle.control : undefined,\n pointer = this.getScenePoint(e),\n mouseDownHandler =\n control && control.getMouseDownHandler(e, target, control);\n mouseDownHandler &&\n mouseDownHandler.call(\n control,\n e,\n this._currentTransform!,\n pointer.x,\n pointer.y,\n );\n }\n }\n // we clear `_objectsToRender` in case of a change in order to repopulate it at rendering\n // run before firing the `down` event to give the dev a chance to populate it themselves\n shouldRender && (this._objectsToRender = undefined);\n this._handleEvent(e, 'down', { alreadySelected: alreadySelected });\n // we must renderAll so that we update the visuals\n shouldRender && this.requestRenderAll();\n }\n\n /**\n * reset cache form common information needed during event processing\n * @private\n */\n _resetTransformEventData() {\n this._targetInfo = this._viewportPoint = this._scenePoint = undefined;\n }\n\n /**\n * Cache common information needed during event processing\n * @private\n * @param {Event} e Event object fired on event\n */\n _cacheTransformEventData(e: TPointerEvent) {\n // reset in order to avoid stale caching\n this._resetTransformEventData();\n this._viewportPoint = this.getViewportPoint(e);\n this._scenePoint = sendPointToPlane(\n this._viewportPoint,\n undefined,\n this.viewportTransform,\n );\n this._targetInfo = this.findTarget(e);\n // TODO: investigate better if this can be made less implicit in the code\n if (this._currentTransform) {\n this._targetInfo.target = this._currentTransform.target;\n }\n }\n\n /**\n * Method that defines the actions when mouse is hovering the canvas.\n * The currentTransform parameter will define whether the user is rotating/scaling/translating\n * an image or neither of them (only hovering). A group selection is also possible and would cancel\n * all any other type of action.\n * In case of an image transformation only the top canvas will be rendered.\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n __onMouseMove(e: TPointerEvent) {\n this._isClick = false;\n this._handleEvent(e, 'move:before');\n\n if (this.isDrawingMode) {\n this._onMouseMoveInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n const groupSelector = this._groupSelector;\n\n // We initially clicked in an empty area, so we draw a box for multiple selection\n if (groupSelector) {\n const pointer = this.getScenePoint(e);\n\n groupSelector.deltaX = pointer.x - groupSelector.x;\n groupSelector.deltaY = pointer.y - groupSelector.y;\n\n this.renderTop();\n } else if (!this._currentTransform) {\n const { target } = this.findTarget(e);\n this._setCursorFromEvent(e, target);\n this._fireOverOutEvents(e, target);\n } else {\n this._transformObject(e);\n }\n this.textEditingManager.onMouseMove(e);\n this._handleEvent(e, 'move');\n }\n\n /**\n * Manage the mouseout, mouseover events for the fabric object on the canvas\n * @param {Fabric.Object} target the target where the target from the mousemove event\n * @param {Event} e Event object fired on mousemove\n * @private\n */\n _fireOverOutEvents(e: TPointerEvent, target?: FabricObject) {\n const _hoveredTarget = this._hoveredTarget,\n _hoveredTargets = this._hoveredTargets,\n { subTargets } = this.findTarget(e),\n length = Math.max(_hoveredTargets.length, subTargets.length);\n\n this.fireSyntheticInOutEvents('mouse', {\n e,\n target,\n oldTarget: _hoveredTarget,\n fireCanvas: true,\n });\n for (let i = 0; i < length; i++) {\n this.fireSyntheticInOutEvents('mouse', {\n e,\n target: subTargets[i],\n oldTarget: _hoveredTargets[i],\n });\n }\n this._hoveredTarget = target;\n this._hoveredTargets = subTargets;\n }\n\n /**\n * Manage the dragEnter, dragLeave events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the onDrag event\n * @param {Object} data Event object fired on dragover\n * @private\n */\n _fireEnterLeaveEvents(\n e: TPointerEvent,\n target: FabricObject | undefined,\n data: DragEventData,\n ) {\n const draggedoverTarget = this._draggedoverTarget,\n _hoveredTargets = this._hoveredTargets,\n { subTargets } = this.findTarget(e),\n length = Math.max(_hoveredTargets.length, subTargets.length);\n\n this.fireSyntheticInOutEvents('drag', {\n ...data,\n target,\n oldTarget: draggedoverTarget,\n fireCanvas: true,\n });\n for (let i = 0; i < length; i++) {\n this.fireSyntheticInOutEvents('drag', {\n ...data,\n target: subTargets[i],\n oldTarget: _hoveredTargets[i],\n });\n }\n this._draggedoverTarget = target;\n }\n\n /**\n * Manage the synthetic in/out events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the supported events\n * @param {Object} data Event object fired\n * @param {Object} config configuration for the function to work\n * @param {String} config.targetName property on the canvas where the old target is stored\n * @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out\n * @param {String} config.evtOut name of the event to fire for out\n * @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in\n * @param {String} config.evtIn name of the event to fire for in\n * @private\n */\n fireSyntheticInOutEvents<T extends keyof TSyntheticEventContext>(\n type: T,\n {\n target,\n oldTarget,\n fireCanvas,\n e,\n ...data\n }: TSyntheticEventContext[T] & {\n target?: FabricObject;\n oldTarget?: FabricObject;\n fireCanvas?: boolean;\n },\n ) {\n const { targetIn, targetOut, canvasIn, canvasOut } =\n syntheticEventConfig[type];\n const targetChanged = oldTarget !== target;\n\n if (oldTarget && targetChanged) {\n const outOpt: CanvasEvents[typeof canvasOut] = {\n ...data,\n e,\n target: oldTarget,\n nextTarget: target,\n ...getEventPoints(this, e),\n };\n fireCanvas && this.fire(canvasOut, outOpt);\n oldTarget.fire(targetOut, outOpt);\n }\n if (target && targetChanged) {\n const inOpt: CanvasEvents[typeof canvasIn] = {\n ...data,\n e,\n target,\n previousTarget: oldTarget,\n ...getEventPoints(this, e),\n };\n fireCanvas && this.fire(canvasIn, inOpt);\n target.fire(targetIn, inOpt);\n }\n }\n\n /**\n * @private\n * @param {Event} e Event fired on mousemove\n */\n _transformObject(e: TPointerEvent) {\n const scenePoint = this.getScenePoint(e),\n transform = this._currentTransform!,\n target = transform.target,\n // transform pointer to target's containing coordinate plane\n // both pointer and object should agree on every point\n localPointer = target.group\n ? sendPointToPlane(\n scenePoint,\n undefined,\n target.group.calcTransformMatrix(),\n )\n : scenePoint;\n transform.shiftKey = e.shiftKey;\n transform.altKey = !!this.centeredKey && e[this.centeredKey];\n\n this._performTransformAction(e, transform, localPointer);\n transform.actionPerformed && this.requestRenderAll();\n }\n\n /**\n * @private\n */\n _performTransformAction(\n e: TPointerEvent,\n transform: Transform,\n pointer: Point,\n ) {\n const { action, actionHandler, target } = transform;\n\n const actionPerformed =\n !!actionHandler && actionHandler(e, transform, pointer.x, pointer.y);\n actionPerformed && target.setCoords();\n\n // this object could be created from the function in the control handlers\n if (action === 'drag' && actionPerformed) {\n transform.target.isMoving = true;\n this.setCursor(transform.target.moveCursor || this.moveCursor);\n }\n transform.actionPerformed = transform.actionPerformed || actionPerformed;\n }\n\n /**\n * Sets the cursor depending on where the canvas is being hovered.\n * Note: very buggy in Opera\n * @param {Event} e Event object\n * @param {Object} target Object that the mouse is hovering, if so.\n */\n _setCursorFromEvent(e: TPointerEvent, target?: FabricObject) {\n if (!target) {\n this.setCursor(this.defaultCursor);\n return;\n }\n let hoverCursor = target.hoverCursor || this.hoverCursor;\n const activeSelection = isActiveSelection(this._activeObject)\n ? this._activeObject\n : null,\n // only show proper corner when group selection is not active\n corner =\n (!activeSelection || target.group !== activeSelection) &&\n // here we call findTargetCorner always with undefined for the touch parameter.\n // we assume that if you are using a cursor you do not need to interact with\n // the bigger touch area.\n target.findControl(this.getViewportPoint(e));\n\n if (!corner) {\n if ((target as Group).subTargetCheck) {\n // hoverCursor should come from top-most subTarget,\n // so we walk the array backwards\n const { subTargets } = this.findTarget(e);\n subTargets\n .concat()\n .reverse()\n .forEach((_target) => {\n hoverCursor = _target.hoverCursor || hoverCursor;\n });\n }\n this.setCursor(hoverCursor);\n } else {\n const { control, coord } = corner;\n this.setCursor(control.cursorStyleHandler(e, control, target, coord));\n }\n }\n\n /**\n * ## Handles multiple selection\n * - toggles `target` selection (selects/deselects `target` if it isn't/is selected respectively)\n * - sets the active object in case it is not set or in case there is a single active object left under active selection.\n * ---\n * - If the active object is the active selection we add/remove `target` from it\n * - If not, add the active object and `target` to the active selection and make it the active object.\n * @TODO rewrite this after find target is refactored\n * @private\n * @param {TPointerEvent} e Event object\n * @param {FabricObject} target target of event to select/deselect\n * @returns true if grouping occurred\n */\n protected handleMultiSelection(e: TPointerEvent, target?: FabricObject) {\n const activeObject = this._activeObject;\n const isAS = isActiveSelection(activeObject);\n if (\n // check if an active object exists on canvas and if the user is pressing the `selectionKey` while canvas supports multi selection.\n !!activeObject &&\n this._isSelectionKeyPressed(e) &&\n this.selection &&\n // on top of that the user also has to hit a target that is selectable.\n !!target &&\n target.selectable &&\n // group target and active object only if they are different objects\n // else we try to find a subtarget of `ActiveSelection`\n (activeObject !== target || isAS) &&\n // make sure `activeObject` and `target` aren't ancestors of each other in case `activeObject` is not `ActiveSelection`\n // if it is then we want to remove `target` from it\n (isAS ||\n (!target.isDescendantOf(activeObject) &&\n !activeObject.isDescendantOf(target))) &&\n // target accepts selection\n !target.onSelect({ e }) &&\n // make sure we are not on top of a control\n !activeObject.getActiveControl()\n ) {\n if (isAS) {\n const prevActiveObjects = activeObject.getObjects();\n let subTargets: FabricObject[] = [];\n // const { subTargets: testSubTargets } = this.findTarget(e);\n if (target === activeObject) {\n const pointer = this.getScenePoint(e);\n let targetInfo = this.searchPossibleTargets(\n prevActiveObjects,\n pointer,\n );\n // console.log(testSubTargets.includes(targetInfo.target));\n if (targetInfo.target) {\n target = targetInfo.target;\n subTargets = targetInfo.subTargets;\n } else {\n targetInfo = this.searchPossibleTargets(this._objects, pointer);\n target = targetInfo.target;\n subTargets = targetInfo.subTargets;\n }\n // if nothing is found bail out\n if (!target || !target.selectable) {\n return false;\n }\n }\n if (target.group === activeObject) {\n // `target` is part of active selection => remove it\n activeObject.remove(target);\n this._hoveredTarget = target;\n this._hoveredTargets = subTargets;\n // if after removing an object we are left with one only...\n if (activeObject.size() === 1) {\n // activate last remaining object\n // deselecting the active selection will remove the remaining object from it\n this._setActiveObject(activeObject.item(0), e);\n }\n } else {\n // `target` isn't part of active selection => add it\n activeObject.multiSelectAdd(target);\n this._hoveredTarget = activeObject;\n this._hoveredTargets = subTargets;\n }\n this._fireSelectionEvents(prevActiveObjects, e);\n } else {\n (activeObject as IText).isEditing &&\n (activeObject as IText).exitEditing();\n // add the active object and the target to the active selection and set it as the active object\n const klass =\n classRegistry.getClass<typeof ActiveSelection>('ActiveSelection');\n const newActiveSelection = new klass([], {\n /**\n * it is crucial to pass the canvas ref before calling {@link ActiveSelection#multiSelectAdd}\n * since it uses {@link FabricObject#isInFrontOf} which relies on the canvas ref\n */\n canvas: this,\n });\n newActiveSelection.multiSelectAdd(activeObject, target);\n this._hoveredTarget = newActiveSelection;\n // ISSUE 4115: should we consider subTargets here?\n // this._hoveredTargets = [];\n // this._hoveredTargets = this.targets.concat();\n this._setActiveObject(newActiveSelection, e);\n this._fireSelectionEvents([activeObject], e);\n }\n return true;\n }\n return false;\n }\n\n /**\n * ## Handles selection\n * - selects objects that are contained in (and possibly intersecting) the selection bounding box\n * - sets the active object\n * ---\n * runs on mouse up after a mouse move\n */\n protected handleSelection(e: TPointerEvent) {\n if (!this.selection || !this._groupSelector) {\n return false;\n }\n const { x, y, deltaX, deltaY } = this._groupSelector,\n point1 = new Point(x, y),\n point2 = point1.add(new Point(deltaX, deltaY)),\n tl = point1.min(point2),\n br = point1.max(point2),\n size = br.subtract(tl);\n\n const collectedObjects = this.collectObjects(\n {\n left: tl.x,\n top: tl.y,\n width: size.x,\n height: size.y,\n },\n { includeIntersecting: !this.selectionFullyContained },\n ) as FabricObject[];\n\n const objects =\n // though this method runs only after mouse move the pointer could do a mouse up on the same position as mouse down\n // should it be handled as is?\n point1.eq(point2)\n ? collectedObjects[0]\n ? [collectedObjects[0]]\n : []\n : collectedObjects.length > 1\n ? collectedObjects\n .filter((object) => !object.onSelect({ e }))\n .reverse()\n : // `setActiveObject` will call `onSelect(collectedObjects[0])` in this case\n collectedObjects;\n\n // set active object\n if (objects.length === 1) {\n // set as active object\n this.setActiveObject(objects[0], e);\n } else if (objects.length > 1) {\n // add to active selection and make it the active object\n const klass =\n classRegistry.getClass<typeof ActiveSelection>('ActiveSelection');\n this.setActiveObject(new klass(objects, { canvas: this }), e);\n }\n\n // cleanup\n this._groupSelector = null;\n return true;\n }\n\n /**\n * @override clear {@link textEditingManager}\n */\n clear() {\n this.textEditingManager.clear();\n super.clear();\n }\n\n /**\n * @override clear {@link textEditingManager}\n */\n destroy() {\n this.removeListeners();\n this.textEditingManager.dispose();\n super.destroy();\n }\n}\n"],"names":["addEventOptions","passive","getEventPoints","canvas","e","viewportPoint","getViewportPoint","scenePoint","getScenePoint","addListener","el","_len","arguments","length","args","Array","_key","addEventListener","removeListener","_len2","_key2","removeEventListener","syntheticEventConfig","mouse","in","out","targetIn","targetOut","canvasIn","canvasOut","drag","Canvas","SelectableCanvas","constructor","options","undefined","_defineProperty","TextEditingManager","forEach","eventHandler","bind","addOrRemove","_getEventPrefix","enablePointerEvents","functor","_eventjsFunctor","canvasElement","upperCanvasEl","eventTypePrefix","getWindowFromElement","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","removeListeners","doc","getDocumentFromElement","_onMouseUp","_onTouchEnd","clearTimeout","_willAddMouseDown","_cacheTransformEventData","_handleEvent","_resetTransformEventData","target","_hoveredTarget","shared","fire","_hoveredTargets","nestedTarget","findTarget","_currentTransform","_isClick","activeObject","getActiveObject","onDragStart","_dragSource","_onDragProgress","stopEvent","_renderDragEffects","source","dirty","dropTarget","_dropTarget","clearContextTop","ctx","contextTop","save","transform","viewportTransform","renderDragSourceEffect","restore","renderDropTargetEffect","contextTopDirty","currentSubTargets","didDrop","dataTransfer","dropEffect","NONE","_activeObject","subTargets","dragSource","_draggedoverTarget","eventType","currentContainer","canDrop","_fireEnterLeaveEvents","i","subTarget","_basicEventHandler","stopContextMenu","clicks","detail","type","getPointerId","evt","changedTouches","identifier","pointerId","_isMainEvent","isPrimary","touches","mainTouchId","shouldPreventScrolling","allowTouchScrolling","currentActiveObject","__onMouseDown","isDrawingMode","preventDefault","__onMouseUp","setTimeout","shouldStartDragging","__onMouseMove","calcOffset","_shouldRender","_this$_activeObject","isClick","button","fireMiddleClick","fireRightClick","_isCurrentlyDrawing","_onMouseUpInDrawingMode","shouldRender","_finalizeCurrentTransform","actionPerformed","targetWasActive","handleSelection","pointer","corner","found","findControl","isTouchEvent","key","control","selectable","activeOn","setActiveObject","mouseUpHandler","getMouseUpHandler","call","x","y","isMoving","originalControl","controls","originalMouseUpHandler","_setCursorFromEvent","_groupSelector","__corner","requestRenderAll","isEditing","renderTop","extraData","_onMouseDownInDrawingMode","discardActiveObject","freeDrawingBrush","onMouseDown","alreadySelected","_onMouseMoveInDrawingMode","onMouseMove","setCursor","freeDrawingCursor","onMouseUp","grouped","handleMultiSelection","_shouldClearSelection","selection","p","deltaY","deltaX","handle","_setupCurrentTransform","mouseDownHandler","getMouseDownHandler","_objectsToRender","_targetInfo","_viewportPoint","_scenePoint","sendPointToPlane","groupSelector","_fireOverOutEvents","_transformObject","textEditingManager","Math","max","fireSyntheticInOutEvents","oldTarget","fireCanvas","data","draggedoverTarget","_ref","targetChanged","outOpt","nextTarget","inOpt","previousTarget","localPointer","group","calcTransformMatrix","shiftKey","altKey","centeredKey","_performTransformAction","action","actionHandler","setCoords","moveCursor","defaultCursor","hoverCursor","activeSelection","isActiveSelection","subTargetCheck","concat","reverse","_target","coord","cursorStyleHandler","isAS","_isSelectionKeyPressed","isDescendantOf","onSelect","getActiveControl","prevActiveObjects","getObjects","targetInfo","searchPossibleTargets","_objects","remove","size","_setActiveObject","item","multiSelectAdd","_fireSelectionEvents","exitEditing","klass","classRegistry","getClass","newActiveSelection","point1","Point","point2","add","tl","min","br","subtract","collectedObjects","collectObjects","left","top","width","height","includeIntersecting","selectionFullyContained","objects","eq","filter","object","clear","destroy","dispose"],"mappings":";;;;;;;;;;;AAwBA,MAAMA,eAAe,GAAG;AAAEC,EAAAA,OAAO,EAAE;AAAM,CAAyB;AAElE,MAAMC,cAAc,GAAGA,CAACC,MAAc,EAAEC,CAAgB,KAAK;AAC3D,EAAA,MAAMC,aAAa,GAAGF,MAAM,CAACG,gBAAgB,CAACF,CAAC,CAAC;AAChD,EAAA,MAAMG,UAAU,GAAGJ,MAAM,CAACK,aAAa,CAACJ,CAAC,CAAC;EAC1C,OAAO;IACLC,aAAa;AACbE,IAAAA;GACD;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAME,WAAW,GAAG,UAClBC,EAA0B,EAAA;EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EACvBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAA,CAAA,GAAAA,IAAA,WAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,GAAA,CAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACJN,EAAE,CAACO,gBAAgB,CAAC,GAAGH,IAAI,CAAC;AAAA,CAAA;AACjC,MAAMI,cAAc,GAAG,UACrBR,EAA0B,EAAA;EAAA,KAAA,IAAAS,KAAA,GAAAP,SAAA,CAAAC,MAAA,EACvBC,IAAI,OAAAC,KAAA,CAAAI,KAAA,GAAA,CAAA,GAAAA,KAAA,WAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAJN,IAAAA,IAAI,CAAAM,KAAA,GAAA,CAAA,CAAA,GAAAR,SAAA,CAAAQ,KAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACJV,EAAE,CAACW,mBAAmB,CAAC,GAAGP,IAAI,CAAC;AAAA,CAAA;AAEpC,MAAMQ,oBAAoB,GAAG;AAC3BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,EAAE,EAAE,MAAM;AACVC,IAAAA,GAAG,EAAE,KAAK;AACVC,IAAAA,QAAQ,EAAE,WAAW;AACrBC,IAAAA,SAAS,EAAE,UAAU;AACrBC,IAAAA,QAAQ,EAAE,YAAY;AACtBC,IAAAA,SAAS,EAAE;GACZ;AACDC,EAAAA,IAAI,EAAE;AACJN,IAAAA,EAAE,EAAE,OAAO;AACXC,IAAAA,GAAG,EAAE,OAAO;AACZC,IAAAA,QAAQ,EAAE,WAAW;AACrBC,IAAAA,SAAS,EAAE,WAAW;AACtBC,IAAAA,QAAQ,EAAE,YAAY;AACtBC,IAAAA,SAAS,EAAE;AACb;AACF,CAAU;AAOH,MAAME,MAAM,SAASC,gBAAgB,CAA0B;EAkDpEC,WAAWA,CAACvB,EAA+B,EAAgC;AAAA,IAAA,IAA9BwB,OAAuB,GAAAtB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAuB,SAAA,GAAAvB,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AACvE,IAAA,KAAK,CAACF,EAAE,EAAEwB,OAAO,CAAC;AAClB;AAnDF;AACF;AACA;AACA;AACA;AAKE;AACF;AACA;AACA;AACA;AAGE;AACF;AACA;AACA;AACA;AAGE;AACF;AACA;AACA;AACA;AAGE;AACF;AACA;AACA;AACA;AACA;AACA;AAGE;AACF;AACA;AACA;AACA;AACA;IALEE,eAAA,CAAA,IAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAAAA,IAAAA,eAAA,CAAA,IAAA,EAAA,oBAAA,EAQqB,IAAIC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAM7C,CACE,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW;AACX;AACA;AACA;AACA;AACA;IACA,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,CACV,CACDC,OAAO,CAAEC,YAAY,IAAK;AAC1B;AACA,MAAA,IAAI,CAACA,YAAY,CAAC,GAAI,IAAI,CAACA,YAAY,CAAC,CAAcC,IAAI,CAAC,IAAI,CAAC;AAClE,IAAA,CAAC,CAAC;AACF;AACA,IAAA,IAAI,CAACC,WAAW,CAAChC,WAAW,EAAE,KAAK,CAAC;AACtC,EAAA;;AAEA;AACF;AACA;AACA;AACUiC,EAAAA,eAAeA,GAAG;AACxB,IAAA,OAAO,IAAI,CAACC,mBAAmB,GAAG,SAAS,GAAG,OAAO;AACvD,EAAA;AAEAF,EAAAA,WAAWA,CAACG,OAAY,EAAEC,eAAiC,EAAE;AAC3D,IAAA,MAAMC,aAAa,GAAG,IAAI,CAACC,aAAa;AACtCC,MAAAA,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;IAC1CE,OAAO,CAACK,oBAAoB,CAACH,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,CAACI,SAAS,CAAC;IACtEN,OAAO,CAACE,aAAa,EAAEE,eAAe,GAAG,MAAM,EAAE,IAAI,CAACG,YAAY,CAAC;AACnEP,IAAAA,OAAO,CACLE,aAAa,EACb,CAAA,EAAGE,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;IACD4C,OAAO,CAACE,aAAa,EAAE,CAAA,EAAGE,eAAe,KAAK,EAAE,IAAI,CAACK,WAAW,CAAC;IACjET,OAAO,CAACE,aAAa,EAAE,CAAA,EAAGE,eAAe,OAAO,EAAE,IAAI,CAACM,aAAa,CAAC;IACrEV,OAAO,CAACE,aAAa,EAAE,OAAO,EAAE,IAAI,CAACS,aAAa,EAAE;AAAEtD,MAAAA,OAAO,EAAE;AAAM,KAAC,CAAC;IACvE2C,OAAO,CAACE,aAAa,EAAE,aAAa,EAAE,IAAI,CAACU,cAAc,CAAC;IAC1DZ,OAAO,CAACE,aAAa,EAAE,OAAO,EAAE,IAAI,CAACW,QAAQ,CAAC;AAC9C;IACAb,OAAO,CAACE,aAAa,EAAE,UAAU,EAAE,IAAI,CAACW,QAAQ,CAAC;IACjDb,OAAO,CAACE,aAAa,EAAE,WAAW,EAAE,IAAI,CAACY,YAAY,CAAC;IACtDd,OAAO,CAACE,aAAa,EAAE,SAAS,EAAE,IAAI,CAACa,UAAU,CAAC;IAClDf,OAAO,CAACE,aAAa,EAAE,UAAU,EAAE,IAAI,CAACc,WAAW,CAAC;IACpDhB,OAAO,CAACE,aAAa,EAAE,WAAW,EAAE,IAAI,CAACe,YAAY,CAAC;IACtDjB,OAAO,CAACE,aAAa,EAAE,WAAW,EAAE,IAAI,CAACgB,YAAY,CAAC;IACtDlB,OAAO,CAACE,aAAa,EAAE,MAAM,EAAE,IAAI,CAACiB,OAAO,CAAC;AAC5C,IAAA,IAAI,CAAC,IAAI,CAACpB,mBAAmB,EAAE;MAC7BC,OAAO,CAACE,aAAa,EAAE,YAAY,EAAE,IAAI,CAACkB,aAAa,EAAEhE,eAAe,CAAC;AAC3E,IAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,EAAA;;AAEA;AACF;AACA;AACEiE,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,CAACxB,WAAW,CAACvB,cAAc,EAAE,QAAQ,CAAC;AAC1C;AACA,IAAA,MAAM8B,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;AAC9C,IAAA,MAAMwB,GAAG,GAAGC,sBAAsB,CAAC,IAAI,CAACpB,aAAa,CAAC;IACtD7B,cAAc,CACZgD,GAAG,EACH,CAAA,EAAGlB,eAAe,IAAI,EACtB,IAAI,CAACoB,UACP,CAAC;IACDlD,cAAc,CACZgD,GAAG,EACH,UAAU,EACV,IAAI,CAACG,WAAW,EAChBrE,eACF,CAAC;AACDkB,IAAAA,cAAc,CACZgD,GAAG,EACH,CAAA,EAAGlB,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;IACDkB,cAAc,CACZgD,GAAG,EACH,WAAW,EACX,IAAI,CAACd,YAAY,EACjBpD,eACF,CAAC;AACDsE,IAAAA,YAAY,CAAC,IAAI,CAACC,iBAAiB,CAAC;AACtC,EAAA;;AAEA;AACF;AACA;AACA;EACUhB,aAAaA,CAACnD,CAAa,EAAE;AACnC,IAAA,IAAI,CAACoE,wBAAwB,CAACpE,CAAC,CAAC;AAChC,IAAA,IAAI,CAACqE,YAAY,CAACrE,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAACsE,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;EACUrB,WAAWA,CAACjD,CAAgB,EAAE;AACpC,IAAA,MAAMuE,MAAM,GAAG,IAAI,CAACC,cAAc;AAClC,IAAA,MAAMC,MAAM,GAAG;MACbzE,CAAC;AACD,MAAA,GAAGF,cAAc,CAAC,IAAI,EAAEE,CAAC;KAC1B;AACD,IAAA,IAAI,CAAC0E,IAAI,CAAC,WAAW,EAAE;AAAE,MAAA,GAAGD,MAAM;AAAEF,MAAAA;AAAO,KAAC,CAAC;IAC7C,IAAI,CAACC,cAAc,GAAGzC,SAAS;AAC/BwC,IAAAA,MAAM,IAAIA,MAAM,CAACG,IAAI,CAAC,UAAU,EAAE;MAAE,GAAGD;AAAO,KAAC,CAAC;AAChD,IAAA,IAAI,CAACE,eAAe,CAACzC,OAAO,CAAE0C,YAAY,IAAK;AAC7C,MAAA,IAAI,CAACF,IAAI,CAAC,WAAW,EAAE;AAAE,QAAA,GAAGD,MAAM;AAAEF,QAAAA,MAAM,EAAEK;AAAa,OAAC,CAAC;AAC3DA,MAAAA,YAAY,IAAIA,YAAY,CAACF,IAAI,CAAC,UAAU,EAAE;QAAE,GAAGD;AAAO,OAAC,CAAC;AAC9D,IAAA,CAAC,CAAC;IACF,IAAI,CAACE,eAAe,GAAG,EAAE;AAC3B,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACUzB,aAAaA,CAAClD,CAAgB,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;IACA,MAAM;AAAEuE,MAAAA;AAAO,KAAC,GAAG,IAAI,CAACM,UAAU,CAAC7E,CAAC,CAAC;AACrC;AACA;AACA,IAAA,IAAI,CAAC,IAAI,CAAC8E,iBAAiB,IAAI,CAACP,MAAM,EAAE;AACtC,MAAA,IAAI,CAACG,IAAI,CAAC,YAAY,EAAE;QACtB1E,CAAC;AACD,QAAA,GAAGF,cAAc,CAAC,IAAI,EAAEE,CAAC;AAC3B,OAAC,CAAC;MACF,IAAI,CAACwE,cAAc,GAAGzC,SAAS;MAC/B,IAAI,CAAC4C,eAAe,GAAG,EAAE;AAC3B,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACUrB,YAAYA,CAACtD,CAAY,EAAE;IACjC,IAAI,CAAC+E,QAAQ,GAAG,KAAK;AACrB,IAAA,MAAMC,YAAY,GAAG,IAAI,CAACC,eAAe,EAAE;IAC3C,IAAID,YAAY,IAAIA,YAAY,CAACE,WAAW,CAAClF,CAAC,CAAC,EAAE;MAC/C,IAAI,CAACmF,WAAW,GAAGH,YAAY;AAC/B,MAAA,MAAMlD,OAAO,GAAG;QAAE9B,CAAC;AAAEuE,QAAAA,MAAM,EAAES;OAAc;AAC3C,MAAA,IAAI,CAACN,IAAI,CAAC,WAAW,EAAE5C,OAAO,CAAC;AAC/BkD,MAAAA,YAAY,CAACN,IAAI,CAAC,WAAW,EAAE5C,OAAO,CAAC;MACvCzB,WAAW,CACT,IAAI,CAACsC,aAAa,EAClB,MAAM,EACN,IAAI,CAACyC,eACP,CAAC;AACD,MAAA;AACF,IAAA;IACAC,SAAS,CAACrF,CAAC,CAAC;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACUsF,EAAAA,kBAAkBA,CACxBtF,CAAY,EACZuF,MAAqB,EACrBhB,MAAqB,EACrB;IACA,IAAIiB,KAAK,GAAG,KAAK;AACjB;AACA,IAAA,MAAMC,UAAU,GAAG,IAAI,CAACC,WAAW;IACnC,IAAID,UAAU,IAAIA,UAAU,KAAKF,MAAM,IAAIE,UAAU,KAAKlB,MAAM,EAAE;MAChEkB,UAAU,CAACE,eAAe,EAAE;AAC5BH,MAAAA,KAAK,GAAG,IAAI;AACd,IAAA;AACAD,IAAAA,MAAM,aAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEI,eAAe,EAAE;IACzBpB,MAAM,KAAKgB,MAAM,KAAIhB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEoB,eAAe,EAAE,CAAA;AAC9C;AACA,IAAA,MAAMC,GAAG,GAAG,IAAI,CAACC,UAAU;IAC3BD,GAAG,CAACE,IAAI,EAAE;AACVF,IAAAA,GAAG,CAACG,SAAS,CAAC,GAAG,IAAI,CAACC,iBAAiB,CAAC;AACxC,IAAA,IAAIT,MAAM,EAAE;MACVK,GAAG,CAACE,IAAI,EAAE;AACVP,MAAAA,MAAM,CAACQ,SAAS,CAACH,GAAG,CAAC;AACrBL,MAAAA,MAAM,CAACU,sBAAsB,CAACjG,CAAC,CAAC;MAChC4F,GAAG,CAACM,OAAO,EAAE;AACbV,MAAAA,KAAK,GAAG,IAAI;AACd,IAAA;AACA,IAAA,IAAIjB,MAAM,EAAE;MACVqB,GAAG,CAACE,IAAI,EAAE;AACVvB,MAAAA,MAAM,CAACwB,SAAS,CAACH,GAAG,CAAC;AACrBrB,MAAAA,MAAM,CAAC4B,sBAAsB,CAACnG,CAAC,CAAC;MAChC4F,GAAG,CAACM,OAAO,EAAE;AACbV,MAAAA,KAAK,GAAG,IAAI;AACd,IAAA;IACAI,GAAG,CAACM,OAAO,EAAE;AACbV,IAAAA,KAAK,KAAK,IAAI,CAACY,eAAe,GAAG,IAAI,CAAC;AACxC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACU7C,UAAUA,CAACvD,CAAY,EAAE;IAC/B,MAAM;AAAEqG,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACxB,UAAU,CAAC7E,CAAC,CAAC;AAChD,IAAA,MAAMsG,OAAO,GAAG,CAAC,CAACtG,CAAC,CAACuG,YAAY,IAAIvG,CAAC,CAACuG,YAAY,CAACC,UAAU,KAAKC,IAAI;AACpEhB,MAAAA,UAAU,GAAGa,OAAO,GAAG,IAAI,CAACI,aAAa,GAAG3E,SAAS;AACrDD,MAAAA,OAAO,GAAG;QACR9B,CAAC;QACDuE,MAAM,EAAE,IAAI,CAACY,WAA2B;AACxCwB,QAAAA,UAAU,EAAEN,iBAAiB;QAC7BO,UAAU,EAAE,IAAI,CAACzB,WAA2B;QAC5CmB,OAAO;AACPb,QAAAA,UAAU,EAAEA;OACb;IACH3E,cAAc,CACZ,IAAI,CAAC6B,aAAa,EAClB,MAAM,EACN,IAAI,CAACyC,eACP,CAAC;AACD,IAAA,IAAI,CAACV,IAAI,CAAC,SAAS,EAAE5C,OAAO,CAAC;AAC7B,IAAA,IAAI,CAACqD,WAAW,IAAI,IAAI,CAACA,WAAW,CAACT,IAAI,CAAC,SAAS,EAAE5C,OAAO,CAAC;IAC7D,OAAO,IAAI,CAACqD,WAAW;AACvB;AACA,IAAA,IAAI,CAACnB,UAAU,CAAChE,CAAC,CAAC;AACpB,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACUoF,eAAeA,CAACpF,CAAY,EAAE;AACpC,IAAA,MAAM8B,OAAO,GAAG;MACd9B,CAAC;MACDuE,MAAM,EAAE,IAAI,CAACY,WAAW;MACxByB,UAAU,EAAE,IAAI,CAACzB,WAAW;MAC5BM,UAAU,EAAE,IAAI,CAACoB;KAClB;AACD,IAAA,IAAI,CAACnC,IAAI,CAAC,MAAM,EAAE5C,OAAO,CAAC;AAC1B,IAAA,IAAI,CAACqD,WAAW,IAAI,IAAI,CAACA,WAAW,CAACT,IAAI,CAAC,MAAM,EAAE5C,OAAO,CAAC;AAC5D,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACU0B,WAAWA,CAACxD,CAAY,EAAE;IAChC,MAAM8G,SAAS,GAAG,UAAU;IAC5B,MAAM;AAAEC,MAAAA,gBAAgB,EAAExC,MAAM;AAAE8B,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACxB,UAAU,CAAC7E,CAAC,CAAC;AAC1E,IAAA,MAAM4G,UAAU,GAAG,IAAI,CAACzB,WAA2B;AACnD,IAAA,MAAMrD,OAAO,GAAG;MACd9B,CAAC;MACDuE,MAAM;AACNoC,MAAAA,UAAU,EAAEN,iBAAiB;MAC7BO,UAAU;AACVI,MAAAA,OAAO,EAAE,KAAK;AACdvB,MAAAA,UAAU,EAAE1D;KACb;AACD,IAAA,IAAI0D,UAAU;AACd;AACA,IAAA,IAAI,CAACf,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;AAC7B;AACA;IACA,IAAI,CAACmF,qBAAqB,CAACjH,CAAC,EAAEuE,MAAM,EAAEzC,OAAO,CAAC;AAC9C,IAAA,IAAIyC,MAAM,EAAE;AACV,MAAA,IAAIA,MAAM,CAACyC,OAAO,CAAChH,CAAC,CAAC,EAAE;AACrByF,QAAAA,UAAU,GAAGlB,MAAM;AACrB,MAAA;AACAA,MAAAA,MAAM,CAACG,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;AACjC,IAAA;AACA;AACA,IAAA,KAAK,IAAIoF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,iBAAiB,CAAC5F,MAAM,EAAEyG,CAAC,EAAE,EAAE;AACjD,MAAA,MAAMC,SAAS,GAAGd,iBAAiB,CAACa,CAAC,CAAC;AACtC;AACA;AACA;AACA,MAAA,IAAIC,SAAS,CAACH,OAAO,CAAChH,CAAC,CAAC,EAAE;AACxByF,QAAAA,UAAU,GAAG0B,SAAS;AACxB,MAAA;AACAA,MAAAA,SAAS,CAACzC,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;AACpC,IAAA;AACA;IACA,IAAI,CAACwD,kBAAkB,CAACtF,CAAC,EAAE4G,UAAU,EAAEnB,UAAU,CAAC;IAClD,IAAI,CAACC,WAAW,GAAGD,UAAU;AAC/B,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACUhC,YAAYA,CAACzD,CAAY,EAAE;IACjC,MAAM;MAAE+G,gBAAgB;AAAEV,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACxB,UAAU,CAAC7E,CAAC,CAAC;AAClE,IAAA,MAAM8B,OAAO,GAAG;MACd9B,CAAC;AACDuE,MAAAA,MAAM,EAAEwC,gBAAgB;AACxBJ,MAAAA,UAAU,EAAEN,iBAAiB;MAC7BO,UAAU,EAAE,IAAI,CAACzB;KAClB;AACD,IAAA,IAAI,CAACT,IAAI,CAAC,WAAW,EAAE5C,OAAO,CAAC;AAC/B;IACA,IAAI,CAACmF,qBAAqB,CAACjH,CAAC,EAAE+G,gBAAgB,EAAEjF,OAAO,CAAC;AAC1D,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACU4B,YAAYA,CAAC1D,CAAY,EAAE;IACjC,MAAM;AAAEqG,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACxB,UAAU,CAAC7E,CAAC,CAAC;AAChD,IAAA,MAAM8B,OAAO,GAAG;MACd9B,CAAC;MACDuE,MAAM,EAAE,IAAI,CAACsC,kBAAkB;AAC/BF,MAAAA,UAAU,EAAEN,iBAAiB;MAC7BO,UAAU,EAAE,IAAI,CAACzB;KAClB;AACD,IAAA,IAAI,CAACT,IAAI,CAAC,WAAW,EAAE5C,OAAO,CAAC;;AAE/B;IACA,IAAI,CAACmF,qBAAqB,CAACjH,CAAC,EAAE+B,SAAS,EAAED,OAAO,CAAC;IACjD,IAAI,CAACwD,kBAAkB,CAACtF,CAAC,EAAE,IAAI,CAACmF,WAAW,CAAC;IAC5C,IAAI,CAACO,WAAW,GAAG3D,SAAS;IAC5B,IAAI,CAAC4C,eAAe,GAAG,EAAE;AAC3B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUhB,OAAOA,CAAC3D,CAAY,EAAE;IAC5B,MAAM;MAAE+G,gBAAgB;AAAEV,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACxB,UAAU,CAAC7E,CAAC,CAAC;AAClE,IAAA,MAAM8B,OAAO,GAAG,IAAI,CAACsF,kBAAkB,CAAC,aAAa,EAAE;MACrDpH,CAAC;AACDuE,MAAAA,MAAM,EAAEwC,gBAAgB;AACxBJ,MAAAA,UAAU,EAAEN,iBAAiB;MAC7BO,UAAU,EAAE,IAAI,CAACzB,WAAW;AAC5B,MAAA,GAAGrF,cAAc,CAAC,IAAI,EAAEE,CAAC;AAC3B,KAAC,CAAC;AACF;IACA8B,OAAO,CAACwE,OAAO,GAAG,KAAK;AACvB;IACAxE,OAAO,CAAC2D,UAAU,GAAG1D,SAAS;AAC9B;AACA,IAAA,IAAI,CAACqF,kBAAkB,CAAC,MAAM,EAAEtF,OAAO,CAAC;AACxC;AACA;AACA;AACA,IAAA,IAAI,CAAC4C,IAAI,CAAC,YAAY,EAAE5C,OAAO,CAAC;AAClC,EAAA;;AAEA;AACF;AACA;AACA;EACUsB,cAAcA,CAACpD,CAAgB,EAAS;IAC9C,MAAM;MAAEuE,MAAM;AAAEoC,MAAAA;AAAW,KAAC,GAAG,IAAI,CAAC9B,UAAU,CAAC7E,CAAC,CAAC;AACjD,IAAA,MAAM8B,OAAO,GAAG,IAAI,CAACsF,kBAAkB,CAAC,oBAAoB,EAAE;MAC5DpH,CAAC;MACDuE,MAAM;AACNoC,MAAAA;AACF,KAAC,CAAC;AACF;AACA,IAAA,IAAI,CAACU,eAAe,IAAIhC,SAAS,CAACrF,CAAC,CAAC;AACpC,IAAA,IAAI,CAACoH,kBAAkB,CAAC,aAAa,EAAEtF,OAAO,CAAC;AAC/C,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;EACUuB,QAAQA,CAACrD,CAAgB,EAAE;AACjC,IAAA,MAAMsH,MAAM,GAAGtH,CAAC,CAACuH,MAAM;AACvB,IAAA,IAAID,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE;AAC9B,IAAA,IAAI,CAAClD,wBAAwB,CAACpE,CAAC,CAAC;AAChCsH,IAAAA,MAAM,IAAI,CAAC,IAAItH,CAAC,CAACwH,IAAI,KAAK,UAAU,IAAI,IAAI,CAACnD,YAAY,CAACrE,CAAC,EAAE,UAAU,CAAC;IACxEsH,MAAM,IAAI,CAAC,IAAI,IAAI,CAACjD,YAAY,CAACrE,CAAC,EAAE,aAAa,CAAC;IAClD,IAAI,CAACsE,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEmD,YAAYA,CAACC,GAA8B,EAAU;AACnD,IAAA,MAAMC,cAAc,GAAID,GAAG,CAAgBC,cAAc;AAEzD,IAAA,IAAIA,cAAc,EAAE;MAClB,OAAOA,cAAc,CAAC,CAAC,CAAC,IAAIA,cAAc,CAAC,CAAC,CAAC,CAACC,UAAU;AAC1D,IAAA;IAEA,IAAI,IAAI,CAACrF,mBAAmB,EAAE;MAC5B,OAAQmF,GAAG,CAAkBG,SAAS;AACxC,IAAA;AAEA,IAAA,OAAO,EAAE;AACX,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACEC,YAAYA,CAACJ,GAAkB,EAAW;AACxC,IAAA,IAAKA,GAAG,CAAkBK,SAAS,KAAK,IAAI,EAAE;AAC5C,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,IAAKL,GAAG,CAAkBK,SAAS,KAAK,KAAK,EAAE;AAC7C,MAAA,OAAO,KAAK;AACd,IAAA;AACA,IAAA,IAAIL,GAAG,CAACF,IAAI,KAAK,UAAU,IAAKE,GAAG,CAAgBM,OAAO,CAACvH,MAAM,KAAK,CAAC,EAAE;AACvE,MAAA,OAAO,IAAI;AACb,IAAA;IACA,IAAKiH,GAAG,CAAgBC,cAAc,EAAE;MACtC,OACGD,GAAG,CAAgBC,cAAc,CAAC,CAAC,CAAC,CAACC,UAAU,KAAK,IAAI,CAACK,WAAW;AAEzE,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;EACErE,aAAaA,CAAC5D,CAAa,EAAE;AAC3B,IAAA,IAAI,CAACoE,wBAAwB,CAACpE,CAAC,CAAC;AAChC;AACA,IAAA,IAAIkI,sBAAsB,GAAG,CAAC,IAAI,CAACC,mBAAmB;AACtD,IAAA,MAAMC,mBAAmB,GAAG,IAAI,CAAC1B,aAAa;AAC9C,IAAA,IAAI,IAAI,CAACuB,WAAW,KAAKlG,SAAS,EAAE;MAClC,IAAI,CAACkG,WAAW,GAAG,IAAI,CAACR,YAAY,CAACzH,CAAC,CAAC;AACzC,IAAA;AACA,IAAA,IAAI,CAACqI,aAAa,CAACrI,CAAC,CAAC;IACrB,MAAM;AAAEuE,MAAAA;AAAO,KAAC,GAAG,IAAI,CAACM,UAAU,CAAC7E,CAAC,CAAC;AACrC;AACA;AACA;IACA,IACE,IAAI,CAACsI,aAAa,IACjBF,mBAAmB,IAAI7D,MAAM,KAAK6D,mBAAoB,EACvD;AACAF,MAAAA,sBAAsB,GAAG,IAAI;AAC/B,IAAA;AACA;AACAA,IAAAA,sBAAsB,IAAIlI,CAAC,CAACuI,cAAc,EAAE;AAC5C,IAAA,MAAM7F,aAAa,GAAG,IAAI,CAACC,aAAa;AACtCC,MAAAA,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;AAC1C,IAAA,MAAMwB,GAAG,GAAGC,sBAAsB,CAACrB,aAAa,CAAC;IACjDrC,WAAW,CACTyD,GAAG,EACH,UAAU,EACV,IAAI,CAACG,WAAW,EAChBrE,eACF,CAAC;AACD;AACAsI,IAAAA,sBAAsB,IACpB7H,WAAW,CACTyD,GAAG,EACH,WAAW,EACX,IAAI,CAACd,YAAY,EACjBpD,eACF,CAAC;AACH;IACAkB,cAAc,CACZ4B,aAAa,EACb,CAAA,EAAGE,eAAe,MAAM,EACxB,IAAI,CAACG,YACP,CAAC;IACD,IAAI,CAACuB,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;EACEvB,YAAYA,CAAC/C,CAAgB,EAAE;AAC7B,IAAA,IAAI,CAACoE,wBAAwB,CAACpE,CAAC,CAAC;AAChC,IAAA,IAAI,CAACqI,aAAa,CAACrI,CAAC,CAAC;AACrB,IAAA,MAAM0C,aAAa,GAAG,IAAI,CAACC,aAAa;AACtCC,MAAAA,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;AAC1C;AACAxB,IAAAA,cAAc,CACZ4B,aAAa,EACb,CAAA,EAAGE,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;AACD,IAAA,MAAMkE,GAAG,GAAGC,sBAAsB,CAACrB,aAAa,CAAC;IACjDrC,WAAW,CAACyD,GAAG,EAAE,CAAA,EAAGlB,eAAe,IAAI,EAAE,IAAI,CAACoB,UAA2B,CAAC;AAC1E3D,IAAAA,WAAW,CACTyD,GAAG,EACH,CAAA,EAAGlB,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;IACD,IAAI,CAAC0E,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;EACEL,WAAWA,CAACjE,CAAa,EAAE;AACzB,IAAA,IAAIA,CAAC,CAACgI,OAAO,CAACvH,MAAM,GAAG,CAAC,EAAE;AACxB;AACA,MAAA;AACF,IAAA;AACA,IAAA,IAAI,CAAC2D,wBAAwB,CAACpE,CAAC,CAAC;AAChC,IAAA,IAAI,CAACwI,WAAW,CAACxI,CAAC,CAAC;IACnB,IAAI,CAACsE,wBAAwB,EAAE;IAC/B,OAAO,IAAI,CAAC2D,WAAW;AACvB,IAAA,MAAMrF,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;AAC9C,IAAA,MAAMwB,GAAG,GAAGC,sBAAsB,CAAC,IAAI,CAACpB,aAAa,CAAC;IACtD7B,cAAc,CACZgD,GAAG,EACH,UAAU,EACV,IAAI,CAACG,WAAW,EAChBrE,eACF,CAAC;IACDkB,cAAc,CACZgD,GAAG,EACH,WAAW,EACX,IAAI,CAACd,YAAY,EACjBpD,eACF,CAAC;IACD,IAAI,IAAI,CAACuE,iBAAiB,EAAE;AAC1BD,MAAAA,YAAY,CAAC,IAAI,CAACC,iBAAiB,CAAC;AACtC,IAAA;AACA,IAAA,IAAI,CAACA,iBAAiB,GAAGsE,UAAU,CAAC,MAAM;AACxC;AACA;AACApI,MAAAA,WAAW,CACT,IAAI,CAACsC,aAAa,EAClB,CAAA,EAAGC,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACG,YACP,CAAC;MACD,IAAI,CAACoB,iBAAiB,GAAG,CAAC;IAC5B,CAAC,EAAE,GAAG,CAAsB;AAC9B,EAAA;;AAEA;AACF;AACA;AACA;EACEH,UAAUA,CAAChE,CAAgB,EAAE;AAC3B,IAAA,IAAI,CAACoE,wBAAwB,CAACpE,CAAC,CAAC;AAChC,IAAA,IAAI,CAACwI,WAAW,CAACxI,CAAC,CAAC;AACnB,IAAA,MAAM0C,aAAa,GAAG,IAAI,CAACC,aAAa;AACtCC,MAAAA,eAAe,GAAG,IAAI,CAACN,eAAe,EAAE;AAC1C,IAAA,IAAI,IAAI,CAACwF,YAAY,CAAC9H,CAAC,CAAC,EAAE;AACxB,MAAA,MAAM8D,GAAG,GAAGC,sBAAsB,CAAC,IAAI,CAACpB,aAAa,CAAC;MACtD7B,cAAc,CACZgD,GAAG,EACH,CAAA,EAAGlB,eAAe,IAAI,EACtB,IAAI,CAACoB,UACP,CAAC;AACDlD,MAAAA,cAAc,CACZgD,GAAG,EACH,CAAA,EAAGlB,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;AACDS,MAAAA,WAAW,CACTqC,aAAa,EACb,CAAA,EAAGE,eAAe,CAAA,IAAA,CAAM,EACxB,IAAI,CAACI,YAAY,EACjBpD,eACF,CAAC;AACH,IAAA;IACA,IAAI,CAAC0E,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;EACEtB,YAAYA,CAAChD,CAAgB,EAAE;AAC7B,IAAA,IAAI,CAACoE,wBAAwB,CAACpE,CAAC,CAAC;AAEhC,IAAA,MAAMgF,YAAY,GAAG,IAAI,CAACC,eAAe,EAAE;AAC3C,IAAA,CAAC,IAAI,CAACkD,mBAAmB,KACtB,CAACnD,YAAY;AACZ;AACA;AACA,IAAA,CAACA,YAAY,CAAC0D,mBAAmB,CAAC1I,CAAC,CAAC,CAAC,IACvCA,CAAC,CAACuI,cAAc,IAChBvI,CAAC,CAACuI,cAAc,EAAE;AACpB,IAAA,IAAI,CAACI,aAAa,CAAC3I,CAAC,CAAC;IACrB,IAAI,CAACsE,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACExB,EAAAA,SAASA,GAAG;IACV,IAAI,CAAC8F,UAAU,EAAE;IACjB,IAAI,CAACtE,wBAAwB,EAAE;AACjC,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACEuE,aAAaA,CAACtE,MAAgC,EAAE;AAC9C,IAAA,MAAMS,YAAY,GAAG,IAAI,CAACC,eAAe,EAAE;AAC3C;AACA;AACA;AACA,IAAA,OACE,CAAC,CAACD,YAAY,KAAK,CAAC,CAACT,MAAM,IAC1BS,YAAY,IAAIT,MAAM,IAAIS,YAAY,KAAKT,MAAO;AAEvD,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEiE,WAAWA,CAACxI,CAAgB,EAAE;AAAA,IAAA,IAAA8I,mBAAA;AAC5B,IAAA,IAAI,CAACzE,YAAY,CAACrE,CAAC,EAAE,WAAW,CAAC;AAEjC,IAAA,MAAM+F,SAAS,GAAG,IAAI,CAACjB,iBAAiB;AACxC,IAAA,MAAMiE,OAAO,GAAG,IAAI,CAAChE,QAAQ;IAC7B,MAAM;AAAER,MAAAA;AAAO,KAAC,GAAG,IAAI,CAACM,UAAU,CAAC7E,CAAC,CAAC;;AAErC;AACA;IACA,MAAM;AAAEgJ,MAAAA;AAAO,KAAC,GAAGhJ,CAAe;AAClC,IAAA,IAAIgJ,MAAM,EAAE;MACV,CAAE,IAAI,CAACC,eAAe,IAAID,MAAM,KAAK,CAAC,IACnC,IAAI,CAACE,cAAc,IAAIF,MAAM,KAAK,CAAE,KACrC,IAAI,CAAC3E,YAAY,CAACrE,CAAC,EAAE,IAAI,CAAC;AAC5B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACsI,aAAa,IAAI,IAAI,CAACa,mBAAmB,EAAE;AAClD,MAAA,IAAI,CAACC,uBAAuB,CAACpJ,CAAC,CAAC;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAAC8H,YAAY,CAAC9H,CAAC,CAAC,EAAE;AACzB,MAAA;AACF,IAAA;IACA,IAAIqJ,YAAY,GAAG,KAAK;AACxB,IAAA,IAAItD,SAAS,EAAE;AACb,MAAA,IAAI,CAACuD,yBAAyB,CAACtJ,CAAC,CAAC;MACjCqJ,YAAY,GAAGtD,SAAS,CAACwD,eAAe;AAC1C,IAAA;IACA,IAAI,CAACR,OAAO,EAAE;AACZ,MAAA,MAAMS,eAAe,GAAGjF,MAAM,KAAK,IAAI,CAACmC,aAAa;AACrD,MAAA,IAAI,CAAC+C,eAAe,CAACzJ,CAAC,CAAC;MACvB,IAAI,CAACqJ,YAAY,EAAE;AACjBA,QAAAA,YAAY,GACV,IAAI,CAACR,aAAa,CAACtE,MAAM,CAAC,IACzB,CAACiF,eAAe,IAAIjF,MAAM,KAAK,IAAI,CAACmC,aAAc;AACvD,MAAA;AACF,IAAA;IACA,IAAIgD,OAAO,EAAEC,MAAM;AACnB,IAAA,IAAIpF,MAAM,EAAE;AACV,MAAA,MAAMqF,KAAK,GAAGrF,MAAM,CAACsF,WAAW,CAC9B,IAAI,CAAC3J,gBAAgB,CAACF,CAAC,CAAC,EACxB8J,YAAY,CAAC9J,CAAC,CAChB,CAAC;MACD,MAAM;QAAE+J,GAAG;AAAEC,QAAAA;AAAQ,OAAC,GAAGJ,KAAK,IAAI,EAAE;AACpCD,MAAAA,MAAM,GAAGI,GAAG;AACZ,MAAA,IACExF,MAAM,CAAC0F,UAAU,IACjB1F,MAAM,KAAK,IAAI,CAACmC,aAAa,IAC7BnC,MAAM,CAAC2F,QAAQ,KAAK,IAAI,EACxB;AACA,QAAA,IAAI,CAACC,eAAe,CAAC5F,MAAM,EAAEvE,CAAC,CAAC;AAC/BqJ,QAAAA,YAAY,GAAG,IAAI;MACrB,CAAC,MAAM,IAAIW,OAAO,EAAE;QAClB,MAAMI,cAAc,GAAGJ,OAAO,CAACK,iBAAiB,CAACrK,CAAC,EAAEuE,MAAM,EAAEyF,OAAO,CAAC;AACpE,QAAA,IAAII,cAAc,EAAE;AAClBV,UAAAA,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;AAC/BoK,UAAAA,cAAc,CAACE,IAAI,CAACN,OAAO,EAAEhK,CAAC,EAAE+F,SAAS,EAAG2D,OAAO,CAACa,CAAC,EAAEb,OAAO,CAACc,CAAC,CAAC;AACnE,QAAA;AACF,MAAA;MACAjG,MAAM,CAACkG,QAAQ,GAAG,KAAK;AACzB,IAAA;AACA;AACA;AACA,IAAA,IACE1E,SAAS,KACRA,SAAS,CAACxB,MAAM,KAAKA,MAAM,IAAIwB,SAAS,CAAC4D,MAAM,KAAKA,MAAM,CAAC,EAC5D;AACA,MAAA,MAAMe,eAAe,GACjB3E,SAAS,CAACxB,MAAM,IAAIwB,SAAS,CAACxB,MAAM,CAACoG,QAAQ,CAAC5E,SAAS,CAAC4D,MAAM,CAAC;AACjEiB,QAAAA,sBAAsB,GACpBF,eAAe,IACfA,eAAe,CAACL,iBAAiB,CAC/BrK,CAAC,EACD+F,SAAS,CAACxB,MAAM,EAChBmG,eACF,CAAC;MACLhB,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;AAC1C4K,MAAAA,sBAAsB,IACpBA,sBAAsB,CAACN,IAAI,CACzBI,eAAe,EACf1K,CAAC,EACD+F,SAAS,EACT2D,OAAO,CAACa,CAAC,EACTb,OAAO,CAACc,CACV,CAAC;AACL,IAAA;AACA,IAAA,IAAI,CAACK,mBAAmB,CAAC7K,CAAC,EAAEuE,MAAM,CAAC;AACnC,IAAA,IAAI,CAACF,YAAY,CAACrE,CAAC,EAAE,IAAI,CAAC;IAC1B,IAAI,CAAC8K,cAAc,GAAG,IAAI;IAC1B,IAAI,CAAChG,iBAAiB,GAAG,IAAI;AAC7B;AACAP,IAAAA,MAAM,KAAKA,MAAM,CAACwG,QAAQ,GAAGhJ,SAAS,CAAC;AACvC,IAAA,IAAIsH,YAAY,EAAE;MAChB,IAAI,CAAC2B,gBAAgB,EAAE;AACzB,IAAA,CAAC,MAAM,IAAI,CAACjC,OAAO,IAAI,GAAAD,mBAAA,GAAE,IAAI,CAACpC,aAAa,MAAA,IAAA,IAAAoC,mBAAA,eAAnBA,mBAAA,CAA+BmC,SAAS,CAAA,EAAE;MAChE,IAAI,CAACC,SAAS,EAAE;AAClB,IAAA;AACF,EAAA;AAEA9D,EAAAA,kBAAkBA,CAChBN,SAAY,EACZhF,OAAyC,EACzC;IACA,MAAM;MAAEyC,MAAM;AAAEoC,MAAAA,UAAU,GAAG;AAAG,KAAC,GAAG7E,OAGnC;AACD,IAAA,IAAI,CAAC4C,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;IAC7ByC,MAAM,IAAIA,MAAM,CAACG,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;AACzC,IAAA,KAAK,IAAIoF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,UAAU,CAAClG,MAAM,EAAEyG,CAAC,EAAE,EAAE;AAC1CP,MAAAA,UAAU,CAACO,CAAC,CAAC,KAAK3C,MAAM,IAAIoC,UAAU,CAACO,CAAC,CAAC,CAACxC,IAAI,CAACoC,SAAS,EAAEhF,OAAO,CAAC;AACpE,IAAA;AACA,IAAA,OAAOA,OAAO;AAChB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEuC,EAAAA,YAAYA,CACVrE,CAAgB,EAChB8G,SAAY,EACZqE,SAA+B,EAC/B;IACA,MAAM;QAAE5G,MAAM;AAAEoC,QAAAA;AAAW,OAAC,GAAG,IAAI,CAAC9B,UAAU,CAAC7E,CAAC,CAAC;AAC/C8B,MAAAA,OAAmC,GAAG;QACpC9B,CAAC;QACDuE,MAAM;QACNoC,UAAU;AACV,QAAA,GAAG7G,cAAc,CAAC,IAAI,EAAEE,CAAC,CAAC;QAC1B+F,SAAS,EAAE,IAAI,CAACjB,iBAAiB;QACjC,IAAIgC,SAAS,KAAK,aAAa,IAAIA,SAAS,KAAK,MAAM,GACnDqE,SAAS,GACT,EAAE;OACuB;AACjC,IAAA,IAAIrE,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAK,IAAI,EAAE;AAClDhF,MAAAA,OAAO,CAA8BiH,OAAO,GAAG,IAAI,CAAChE,QAAQ;AAC/D,IAAA;IACA,IAAI,CAACL,IAAI,CAAC,CAAA,MAAA,EAASoC,SAAS,CAAA,CAAE,EAAEhF,OAAO,CAAC;AACxC;IACAyC,MAAM,IAAIA,MAAM,CAACG,IAAI,CAAC,QAAQoC,SAAS,CAAA,CAAE,EAAEhF,OAAO,CAAC;AACnD,IAAA,KAAK,IAAIoF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,UAAU,CAAClG,MAAM,EAAEyG,CAAC,EAAE,EAAE;AAC1CP,MAAAA,UAAU,CAACO,CAAC,CAAC,KAAK3C,MAAM,IACtBoC,UAAU,CAACO,CAAC,CAAC,CAACxC,IAAI,CAAC,CAAA,KAAA,EAAQoC,SAAS,CAAA,CAAE,EAAEhF,OAAO,CAAC;AACpD,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;EACEsJ,yBAAyBA,CAACpL,CAAgB,EAAE;IAC1C,IAAI,CAACmJ,mBAAmB,GAAG,IAAI;AAC/B,IAAA,IAAI,IAAI,CAAClE,eAAe,EAAE,EAAE;AAC1B,MAAA,IAAI,CAACoG,mBAAmB,CAACrL,CAAC,CAAC;MAC3B,IAAI,CAACgL,gBAAgB,EAAE;AACzB,IAAA;AACA;AACA,IAAA,MAAMtB,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;IACrC,IAAI,CAACsL,gBAAgB,IACnB,IAAI,CAACA,gBAAgB,CAACC,WAAW,CAAC7B,OAAO,EAAE;MAAE1J,CAAC;AAAE0J,MAAAA;AAAQ,KAAC,CAAC;AAC5D,IAAA,IAAI,CAACrF,YAAY,CAACrE,CAAC,EAAE,MAAM,EAAE;AAAEwL,MAAAA,eAAe,EAAE;AAAM,KAAC,CAAC;AAC1D,EAAA;;AAEA;AACF;AACA;AACA;EACEC,yBAAyBA,CAACzL,CAAgB,EAAE;IAC1C,IAAI,IAAI,CAACmJ,mBAAmB,EAAE;AAC5B,MAAA,MAAMO,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;MACrC,IAAI,CAACsL,gBAAgB,IACnB,IAAI,CAACA,gBAAgB,CAACI,WAAW,CAAChC,OAAO,EAAE;QACzC1J,CAAC;AACD;AACA0J,QAAAA;AACF,OAAC,CAAC;AACN,IAAA;AACA,IAAA,IAAI,CAACiC,SAAS,CAAC,IAAI,CAACC,iBAAiB,CAAC;AACtC,IAAA,IAAI,CAACvH,YAAY,CAACrE,CAAC,EAAE,MAAM,CAAC;AAC9B,EAAA;;AAEA;AACF;AACA;AACA;EACEoJ,uBAAuBA,CAACpJ,CAAgB,EAAE;AACxC,IAAA,MAAM0J,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;IACrC,IAAI,IAAI,CAACsL,gBAAgB,EAAE;MACzB,IAAI,CAACnC,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAACmC,gBAAgB,CAACO,SAAS,CAAC;AAC3D7L,QAAAA,CAAC,EAAEA,CAAC;AACJ;AACA0J,QAAAA;AACF,OAAC,CAAC;AACJ,IAAA,CAAC,MAAM;MACL,IAAI,CAACP,mBAAmB,GAAG,KAAK;AAClC,IAAA;AACA,IAAA,IAAI,CAAC9E,YAAY,CAACrE,CAAC,EAAE,IAAI,CAAC;AAC5B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEqI,aAAaA,CAACrI,CAAgB,EAAE;IAC9B,IAAI,CAAC+E,QAAQ,GAAG,IAAI;AACpB,IAAA,IAAI,CAACV,YAAY,CAACrE,CAAC,EAAE,aAAa,CAAC;IAEnC,IAAI;AAAEuE,MAAAA;AAAO,KAAC,GAAG,IAAI,CAACM,UAAU,CAAC7E,CAAC,CAAC;IACnC,IAAIwL,eAAe,GAAG,CAAC,CAACjH,MAAM,IAAIA,MAAM,KAAK,IAAI,CAACmC,aAAa;AAC/D;IACA,MAAM;AAAEsC,MAAAA;AAAO,KAAC,GAAGhJ,CAAe;AAClC,IAAA,IAAIgJ,MAAM,EAAE;MACV,CAAE,IAAI,CAACC,eAAe,IAAID,MAAM,KAAK,CAAC,IACnC,IAAI,CAACE,cAAc,IAAIF,MAAM,KAAK,CAAE,KACrC,IAAI,CAAC3E,YAAY,CAACrE,CAAC,EAAE,MAAM,EAAE;AAC3BwL,QAAAA;AACF,OAAC,CAAC;AACJ,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAClD,aAAa,EAAE;AACtB,MAAA,IAAI,CAAC8C,yBAAyB,CAACpL,CAAC,CAAC;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAAC8H,YAAY,CAAC9H,CAAC,CAAC,EAAE;AACzB,MAAA;AACF,IAAA;;AAEA;IACA,IAAI,IAAI,CAAC8E,iBAAiB,EAAE;AAC1B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIuE,YAAY,GAAG,IAAI,CAACR,aAAa,CAACtE,MAAM,CAAC;IAC7C,IAAIuH,OAAO,GAAG,KAAK;IACnB,IAAI,IAAI,CAACC,oBAAoB,CAAC/L,CAAC,EAAEuE,MAAM,CAAC,EAAE;AACxC;MACAA,MAAM,GAAG,IAAI,CAACmC,aAAa;AAC3BoF,MAAAA,OAAO,GAAG,IAAI;AACdzC,MAAAA,YAAY,GAAG,IAAI;IACrB,CAAC,MAAM,IAAI,IAAI,CAAC2C,qBAAqB,CAAChM,CAAC,EAAEuE,MAAM,CAAC,EAAE;AAChD,MAAA,IAAI,CAAC8G,mBAAmB,CAACrL,CAAC,CAAC;AAC7B,IAAA;AACA;AACA;AACA;AACA;AACA;AACA;IACA,IACE,IAAI,CAACiM,SAAS,KACb,CAAC1H,MAAM,IACL,CAACA,MAAM,CAAC0F,UAAU,IACjB,CAAE1F,MAAM,CAAW0G,SAAS,IAC5B1G,MAAM,KAAK,IAAI,CAACmC,aAAc,CAAC,EACnC;AACA,MAAA,MAAMwF,CAAC,GAAG,IAAI,CAAC9L,aAAa,CAACJ,CAAC,CAAC;MAC/B,IAAI,CAAC8K,cAAc,GAAG;QACpBP,CAAC,EAAE2B,CAAC,CAAC3B,CAAC;QACNC,CAAC,EAAE0B,CAAC,CAAC1B,CAAC;AACN2B,QAAAA,MAAM,EAAE,CAAC;AACTC,QAAAA,MAAM,EAAE;OACT;AACH,IAAA;;AAEA;IACAZ,eAAe,GAAG,CAAC,CAACjH,MAAM,IAAIA,MAAM,KAAK,IAAI,CAACmC,aAAa;AAC3D,IAAA,IAAInC,MAAM,EAAE;MACV,IAAIA,MAAM,CAAC0F,UAAU,IAAI1F,MAAM,CAAC2F,QAAQ,KAAK,MAAM,EAAE;AACnD,QAAA,IAAI,CAACC,eAAe,CAAC5F,MAAM,EAAEvE,CAAC,CAAC;AACjC,MAAA;AACA,MAAA,MAAMqM,MAAM,GAAG9H,MAAM,CAACsF,WAAW,CAC/B,IAAI,CAAC3J,gBAAgB,CAACF,CAAC,CAAC,EACxB8J,YAAY,CAAC9J,CAAC,CAChB,CAAC;MACD,IAAIuE,MAAM,KAAK,IAAI,CAACmC,aAAa,KAAK2F,MAAM,IAAI,CAACP,OAAO,CAAC,EAAE;QACzD,IAAI,CAACQ,sBAAsB,CAACtM,CAAC,EAAEuE,MAAM,EAAEiH,eAAe,CAAC;QACvD,MAAMxB,OAAO,GAAGqC,MAAM,GAAGA,MAAM,CAACrC,OAAO,GAAGjI,SAAS;AACjD2H,UAAAA,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;AAC/BuM,UAAAA,gBAAgB,GACdvC,OAAO,IAAIA,OAAO,CAACwC,mBAAmB,CAACxM,CAAC,EAAEuE,MAAM,EAAEyF,OAAO,CAAC;QAC9DuC,gBAAgB,IACdA,gBAAgB,CAACjC,IAAI,CACnBN,OAAO,EACPhK,CAAC,EACD,IAAI,CAAC8E,iBAAiB,EACtB4E,OAAO,CAACa,CAAC,EACTb,OAAO,CAACc,CACV,CAAC;AACL,MAAA;AACF,IAAA;AACA;AACA;AACAnB,IAAAA,YAAY,KAAK,IAAI,CAACoD,gBAAgB,GAAG1K,SAAS,CAAC;AACnD,IAAA,IAAI,CAACsC,YAAY,CAACrE,CAAC,EAAE,MAAM,EAAE;AAAEwL,MAAAA,eAAe,EAAEA;AAAgB,KAAC,CAAC;AAClE;AACAnC,IAAAA,YAAY,IAAI,IAAI,CAAC2B,gBAAgB,EAAE;AACzC,EAAA;;AAEA;AACF;AACA;AACA;AACE1G,EAAAA,wBAAwBA,GAAG;IACzB,IAAI,CAACoI,WAAW,GAAG,IAAI,CAACC,cAAc,GAAG,IAAI,CAACC,WAAW,GAAG7K,SAAS;AACvE,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACEqC,wBAAwBA,CAACpE,CAAgB,EAAE;AACzC;IACA,IAAI,CAACsE,wBAAwB,EAAE;IAC/B,IAAI,CAACqI,cAAc,GAAG,IAAI,CAACzM,gBAAgB,CAACF,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC4M,WAAW,GAAGC,gBAAgB,CACjC,IAAI,CAACF,cAAc,EACnB5K,SAAS,EACT,IAAI,CAACiE,iBACP,CAAC;IACD,IAAI,CAAC0G,WAAW,GAAG,IAAI,CAAC7H,UAAU,CAAC7E,CAAC,CAAC;AACrC;IACA,IAAI,IAAI,CAAC8E,iBAAiB,EAAE;MAC1B,IAAI,CAAC4H,WAAW,CAACnI,MAAM,GAAG,IAAI,CAACO,iBAAiB,CAACP,MAAM;AACzD,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEoE,aAAaA,CAAC3I,CAAgB,EAAE;IAC9B,IAAI,CAAC+E,QAAQ,GAAG,KAAK;AACrB,IAAA,IAAI,CAACV,YAAY,CAACrE,CAAC,EAAE,aAAa,CAAC;IAEnC,IAAI,IAAI,CAACsI,aAAa,EAAE;AACtB,MAAA,IAAI,CAACmD,yBAAyB,CAACzL,CAAC,CAAC;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAAC8H,YAAY,CAAC9H,CAAC,CAAC,EAAE;AACzB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM8M,aAAa,GAAG,IAAI,CAAChC,cAAc;;AAEzC;AACA,IAAA,IAAIgC,aAAa,EAAE;AACjB,MAAA,MAAMpD,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;MAErC8M,aAAa,CAACV,MAAM,GAAG1C,OAAO,CAACa,CAAC,GAAGuC,aAAa,CAACvC,CAAC;MAClDuC,aAAa,CAACX,MAAM,GAAGzC,OAAO,CAACc,CAAC,GAAGsC,aAAa,CAACtC,CAAC;MAElD,IAAI,CAACU,SAAS,EAAE;AAClB,IAAA,CAAC,MAAM,IAAI,CAAC,IAAI,CAACpG,iBAAiB,EAAE;MAClC,MAAM;AAAEP,QAAAA;AAAO,OAAC,GAAG,IAAI,CAACM,UAAU,CAAC7E,CAAC,CAAC;AACrC,MAAA,IAAI,CAAC6K,mBAAmB,CAAC7K,CAAC,EAAEuE,MAAM,CAAC;AACnC,MAAA,IAAI,CAACwI,kBAAkB,CAAC/M,CAAC,EAAEuE,MAAM,CAAC;AACpC,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACyI,gBAAgB,CAAChN,CAAC,CAAC;AAC1B,IAAA;AACA,IAAA,IAAI,CAACiN,kBAAkB,CAACvB,WAAW,CAAC1L,CAAC,CAAC;AACtC,IAAA,IAAI,CAACqE,YAAY,CAACrE,CAAC,EAAE,MAAM,CAAC;AAC9B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACE+M,EAAAA,kBAAkBA,CAAC/M,CAAgB,EAAEuE,MAAqB,EAAE;AAC1D,IAAA,MAAMC,cAAc,GAAG,IAAI,CAACA,cAAc;MACxCG,eAAe,GAAG,IAAI,CAACA,eAAe;AACtC,MAAA;AAAEgC,QAAAA;AAAW,OAAC,GAAG,IAAI,CAAC9B,UAAU,CAAC7E,CAAC,CAAC;AACnCS,MAAAA,MAAM,GAAGyM,IAAI,CAACC,GAAG,CAACxI,eAAe,CAAClE,MAAM,EAAEkG,UAAU,CAAClG,MAAM,CAAC;AAE9D,IAAA,IAAI,CAAC2M,wBAAwB,CAAC,OAAO,EAAE;MACrCpN,CAAC;MACDuE,MAAM;AACN8I,MAAAA,SAAS,EAAE7I,cAAc;AACzB8I,MAAAA,UAAU,EAAE;AACd,KAAC,CAAC;IACF,KAAK,IAAIpG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzG,MAAM,EAAEyG,CAAC,EAAE,EAAE;AAC/B,MAAA,IAAI,CAACkG,wBAAwB,CAAC,OAAO,EAAE;QACrCpN,CAAC;AACDuE,QAAAA,MAAM,EAAEoC,UAAU,CAACO,CAAC,CAAC;QACrBmG,SAAS,EAAE1I,eAAe,CAACuC,CAAC;AAC9B,OAAC,CAAC;AACJ,IAAA;IACA,IAAI,CAAC1C,cAAc,GAAGD,MAAM;IAC5B,IAAI,CAACI,eAAe,GAAGgC,UAAU;AACnC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEM,EAAAA,qBAAqBA,CACnBjH,CAAgB,EAChBuE,MAAgC,EAChCgJ,IAAmB,EACnB;AACA,IAAA,MAAMC,iBAAiB,GAAG,IAAI,CAAC3G,kBAAkB;MAC/ClC,eAAe,GAAG,IAAI,CAACA,eAAe;AACtC,MAAA;AAAEgC,QAAAA;AAAW,OAAC,GAAG,IAAI,CAAC9B,UAAU,CAAC7E,CAAC,CAAC;AACnCS,MAAAA,MAAM,GAAGyM,IAAI,CAACC,GAAG,CAACxI,eAAe,CAAClE,MAAM,EAAEkG,UAAU,CAAClG,MAAM,CAAC;AAE9D,IAAA,IAAI,CAAC2M,wBAAwB,CAAC,MAAM,EAAE;AACpC,MAAA,GAAGG,IAAI;MACPhJ,MAAM;AACN8I,MAAAA,SAAS,EAAEG,iBAAiB;AAC5BF,MAAAA,UAAU,EAAE;AACd,KAAC,CAAC;IACF,KAAK,IAAIpG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzG,MAAM,EAAEyG,CAAC,EAAE,EAAE;AAC/B,MAAA,IAAI,CAACkG,wBAAwB,CAAC,MAAM,EAAE;AACpC,QAAA,GAAGG,IAAI;AACPhJ,QAAAA,MAAM,EAAEoC,UAAU,CAACO,CAAC,CAAC;QACrBmG,SAAS,EAAE1I,eAAe,CAACuC,CAAC;AAC9B,OAAC,CAAC;AACJ,IAAA;IACA,IAAI,CAACL,kBAAkB,GAAGtC,MAAM;AAClC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE6I,EAAAA,wBAAwBA,CACtB5F,IAAO,EAAAiG,IAAA,EAYP;IAAA,IAXA;MACElJ,MAAM;MACN8I,SAAS;MACTC,UAAU;MACVtN,CAAC;MACD,GAAGuN;AAKL,KAAC,GAAAE,IAAA;IAED,MAAM;MAAEnM,QAAQ;MAAEC,SAAS;MAAEC,QAAQ;AAAEC,MAAAA;AAAU,KAAC,GAChDP,oBAAoB,CAACsG,IAAI,CAAC;AAC5B,IAAA,MAAMkG,aAAa,GAAGL,SAAS,KAAK9I,MAAM;IAE1C,IAAI8I,SAAS,IAAIK,aAAa,EAAE;AAC9B,MAAA,MAAMC,MAAsC,GAAG;AAC7C,QAAA,GAAGJ,IAAI;QACPvN,CAAC;AACDuE,QAAAA,MAAM,EAAE8I,SAAS;AACjBO,QAAAA,UAAU,EAAErJ,MAAM;AAClB,QAAA,GAAGzE,cAAc,CAAC,IAAI,EAAEE,CAAC;OAC1B;MACDsN,UAAU,IAAI,IAAI,CAAC5I,IAAI,CAACjD,SAAS,EAAEkM,MAAM,CAAC;AAC1CN,MAAAA,SAAS,CAAC3I,IAAI,CAACnD,SAAS,EAAEoM,MAAM,CAAC;AACnC,IAAA;IACA,IAAIpJ,MAAM,IAAImJ,aAAa,EAAE;AAC3B,MAAA,MAAMG,KAAoC,GAAG;AAC3C,QAAA,GAAGN,IAAI;QACPvN,CAAC;QACDuE,MAAM;AACNuJ,QAAAA,cAAc,EAAET,SAAS;AACzB,QAAA,GAAGvN,cAAc,CAAC,IAAI,EAAEE,CAAC;OAC1B;MACDsN,UAAU,IAAI,IAAI,CAAC5I,IAAI,CAAClD,QAAQ,EAAEqM,KAAK,CAAC;AACxCtJ,MAAAA,MAAM,CAACG,IAAI,CAACpD,QAAQ,EAAEuM,KAAK,CAAC;AAC9B,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;EACEb,gBAAgBA,CAAChN,CAAgB,EAAE;AACjC,IAAA,MAAMG,UAAU,GAAG,IAAI,CAACC,aAAa,CAACJ,CAAC,CAAC;MACtC+F,SAAS,GAAG,IAAI,CAACjB,iBAAkB;MACnCP,MAAM,GAAGwB,SAAS,CAACxB,MAAM;AACzB;AACA;MACAwJ,YAAY,GAAGxJ,MAAM,CAACyJ,KAAK,GACvBnB,gBAAgB,CACd1M,UAAU,EACV4B,SAAS,EACTwC,MAAM,CAACyJ,KAAK,CAACC,mBAAmB,EAClC,CAAC,GACD9N,UAAU;AAChB4F,IAAAA,SAAS,CAACmI,QAAQ,GAAGlO,CAAC,CAACkO,QAAQ;AAC/BnI,IAAAA,SAAS,CAACoI,MAAM,GAAG,CAAC,CAAC,IAAI,CAACC,WAAW,IAAIpO,CAAC,CAAC,IAAI,CAACoO,WAAW,CAAC;IAE5D,IAAI,CAACC,uBAAuB,CAACrO,CAAC,EAAE+F,SAAS,EAAEgI,YAAY,CAAC;AACxDhI,IAAAA,SAAS,CAACwD,eAAe,IAAI,IAAI,CAACyB,gBAAgB,EAAE;AACtD,EAAA;;AAEA;AACF;AACA;AACEqD,EAAAA,uBAAuBA,CACrBrO,CAAgB,EAChB+F,SAAoB,EACpB2D,OAAc,EACd;IACA,MAAM;MAAE4E,MAAM;MAAEC,aAAa;AAAEhK,MAAAA;AAAO,KAAC,GAAGwB,SAAS;AAEnD,IAAA,MAAMwD,eAAe,GACnB,CAAC,CAACgF,aAAa,IAAIA,aAAa,CAACvO,CAAC,EAAE+F,SAAS,EAAE2D,OAAO,CAACa,CAAC,EAAEb,OAAO,CAACc,CAAC,CAAC;AACtEjB,IAAAA,eAAe,IAAIhF,MAAM,CAACiK,SAAS,EAAE;;AAErC;AACA,IAAA,IAAIF,MAAM,KAAK,MAAM,IAAI/E,eAAe,EAAE;AACxCxD,MAAAA,SAAS,CAACxB,MAAM,CAACkG,QAAQ,GAAG,IAAI;AAChC,MAAA,IAAI,CAACkB,SAAS,CAAC5F,SAAS,CAACxB,MAAM,CAACkK,UAAU,IAAI,IAAI,CAACA,UAAU,CAAC;AAChE,IAAA;AACA1I,IAAAA,SAAS,CAACwD,eAAe,GAAGxD,SAAS,CAACwD,eAAe,IAAIA,eAAe;AAC1E,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEsB,EAAAA,mBAAmBA,CAAC7K,CAAgB,EAAEuE,MAAqB,EAAE;IAC3D,IAAI,CAACA,MAAM,EAAE;AACX,MAAA,IAAI,CAACoH,SAAS,CAAC,IAAI,CAAC+C,aAAa,CAAC;AAClC,MAAA;AACF,IAAA;IACA,IAAIC,WAAW,GAAGpK,MAAM,CAACoK,WAAW,IAAI,IAAI,CAACA,WAAW;AACxD,IAAA,MAAMC,eAAe,GAAGC,iBAAiB,CAAC,IAAI,CAACnI,aAAa,CAAC,GACvD,IAAI,CAACA,aAAa,GAClB,IAAI;AACR;MACAiD,MAAM,GACJ,CAAC,CAACiF,eAAe,IAAIrK,MAAM,CAACyJ,KAAK,KAAKY,eAAe;AACrD;AACA;AACA;MACArK,MAAM,CAACsF,WAAW,CAAC,IAAI,CAAC3J,gBAAgB,CAACF,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC2J,MAAM,EAAE;MACX,IAAKpF,MAAM,CAAWuK,cAAc,EAAE;AACpC;AACA;QACA,MAAM;AAAEnI,UAAAA;AAAW,SAAC,GAAG,IAAI,CAAC9B,UAAU,CAAC7E,CAAC,CAAC;AACzC2G,QAAAA,UAAU,CACPoI,MAAM,EAAE,CACRC,OAAO,EAAE,CACT9M,OAAO,CAAE+M,OAAO,IAAK;AACpBN,UAAAA,WAAW,GAAGM,OAAO,CAACN,WAAW,IAAIA,WAAW;AAClD,QAAA,CAAC,CAAC;AACN,MAAA;AACA,MAAA,IAAI,CAAChD,SAAS,CAACgD,WAAW,CAAC;AAC7B,IAAA,CAAC,MAAM;MACL,MAAM;QAAE3E,OAAO;AAAEkF,QAAAA;AAAM,OAAC,GAAGvF,MAAM;AACjC,MAAA,IAAI,CAACgC,SAAS,CAAC3B,OAAO,CAACmF,kBAAkB,CAACnP,CAAC,EAAEgK,OAAO,EAAEzF,MAAM,EAAE2K,KAAK,CAAC,CAAC;AACvE,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACYnD,EAAAA,oBAAoBA,CAAC/L,CAAgB,EAAEuE,MAAqB,EAAE;AACtE,IAAA,MAAMS,YAAY,GAAG,IAAI,CAAC0B,aAAa;AACvC,IAAA,MAAM0I,IAAI,GAAGP,iBAAiB,CAAC7J,YAAY,CAAC;AAC5C,IAAA;AACE;AACA,IAAA,CAAC,CAACA,YAAY,IACd,IAAI,CAACqK,sBAAsB,CAACrP,CAAC,CAAC,IAC9B,IAAI,CAACiM,SAAS;AACd;AACA,IAAA,CAAC,CAAC1H,MAAM,IACRA,MAAM,CAAC0F,UAAU;AACjB;AACA;AACCjF,IAAAA,YAAY,KAAKT,MAAM,IAAI6K,IAAI,CAAC;AACjC;AACA;AACCA,IAAAA,IAAI,IACF,CAAC7K,MAAM,CAAC+K,cAAc,CAACtK,YAAY,CAAC,IACnC,CAACA,YAAY,CAACsK,cAAc,CAAC/K,MAAM,CAAE,CAAC;AAC1C;IACA,CAACA,MAAM,CAACgL,QAAQ,CAAC;AAAEvP,MAAAA;AAAE,KAAC,CAAC;AACvB;AACA,IAAA,CAACgF,YAAY,CAACwK,gBAAgB,EAAE,EAChC;AACA,MAAA,IAAIJ,IAAI,EAAE;AACR,QAAA,MAAMK,iBAAiB,GAAGzK,YAAY,CAAC0K,UAAU,EAAE;QACnD,IAAI/I,UAA0B,GAAG,EAAE;AACnC;QACA,IAAIpC,MAAM,KAAKS,YAAY,EAAE;AAC3B,UAAA,MAAM0E,OAAO,GAAG,IAAI,CAACtJ,aAAa,CAACJ,CAAC,CAAC;UACrC,IAAI2P,UAAU,GAAG,IAAI,CAACC,qBAAqB,CACzCH,iBAAiB,EACjB/F,OACF,CAAC;AACD;UACA,IAAIiG,UAAU,CAACpL,MAAM,EAAE;YACrBA,MAAM,GAAGoL,UAAU,CAACpL,MAAM;YAC1BoC,UAAU,GAAGgJ,UAAU,CAAChJ,UAAU;AACpC,UAAA,CAAC,MAAM;YACLgJ,UAAU,GAAG,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACC,QAAQ,EAAEnG,OAAO,CAAC;YAC/DnF,MAAM,GAAGoL,UAAU,CAACpL,MAAM;YAC1BoC,UAAU,GAAGgJ,UAAU,CAAChJ,UAAU;AACpC,UAAA;AACA;AACA,UAAA,IAAI,CAACpC,MAAM,IAAI,CAACA,MAAM,CAAC0F,UAAU,EAAE;AACjC,YAAA,OAAO,KAAK;AACd,UAAA;AACF,QAAA;AACA,QAAA,IAAI1F,MAAM,CAACyJ,KAAK,KAAKhJ,YAAY,EAAE;AACjC;AACAA,UAAAA,YAAY,CAAC8K,MAAM,CAACvL,MAAM,CAAC;UAC3B,IAAI,CAACC,cAAc,GAAGD,MAAM;UAC5B,IAAI,CAACI,eAAe,GAAGgC,UAAU;AACjC;AACA,UAAA,IAAI3B,YAAY,CAAC+K,IAAI,EAAE,KAAK,CAAC,EAAE;AAC7B;AACA;YACA,IAAI,CAACC,gBAAgB,CAAChL,YAAY,CAACiL,IAAI,CAAC,CAAC,CAAC,EAAEjQ,CAAC,CAAC;AAChD,UAAA;AACF,QAAA,CAAC,MAAM;AACL;AACAgF,UAAAA,YAAY,CAACkL,cAAc,CAAC3L,MAAM,CAAC;UACnC,IAAI,CAACC,cAAc,GAAGQ,YAAY;UAClC,IAAI,CAACL,eAAe,GAAGgC,UAAU;AACnC,QAAA;AACA,QAAA,IAAI,CAACwJ,oBAAoB,CAACV,iBAAiB,EAAEzP,CAAC,CAAC;AACjD,MAAA,CAAC,MAAM;AACJgF,QAAAA,YAAY,CAAWiG,SAAS,IAC9BjG,YAAY,CAAWoL,WAAW,EAAE;AACvC;AACA,QAAA,MAAMC,KAAK,GACTC,aAAa,CAACC,QAAQ,CAAyB,iBAAiB,CAAC;AACnE,QAAA,MAAMC,kBAAkB,GAAG,IAAIH,KAAK,CAAC,EAAE,EAAE;AACvC;AACV;AACA;AACA;AACUtQ,UAAAA,MAAM,EAAE;AACV,SAAC,CAAC;AACFyQ,QAAAA,kBAAkB,CAACN,cAAc,CAAClL,YAAY,EAAET,MAAM,CAAC;QACvD,IAAI,CAACC,cAAc,GAAGgM,kBAAkB;AACxC;AACA;AACA;AACA,QAAA,IAAI,CAACR,gBAAgB,CAACQ,kBAAkB,EAAExQ,CAAC,CAAC;QAC5C,IAAI,CAACmQ,oBAAoB,CAAC,CAACnL,YAAY,CAAC,EAAEhF,CAAC,CAAC;AAC9C,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACYyJ,eAAeA,CAACzJ,CAAgB,EAAE;IAC1C,IAAI,CAAC,IAAI,CAACiM,SAAS,IAAI,CAAC,IAAI,CAACnB,cAAc,EAAE;AAC3C,MAAA,OAAO,KAAK;AACd,IAAA;IACA,MAAM;QAAEP,CAAC;QAAEC,CAAC;QAAE4B,MAAM;AAAED,QAAAA;OAAQ,GAAG,IAAI,CAACrB,cAAc;AAClD2F,MAAAA,MAAM,GAAG,IAAIC,KAAK,CAACnG,CAAC,EAAEC,CAAC,CAAC;AACxBmG,MAAAA,MAAM,GAAGF,MAAM,CAACG,GAAG,CAAC,IAAIF,KAAK,CAACtE,MAAM,EAAED,MAAM,CAAC,CAAC;AAC9C0E,MAAAA,EAAE,GAAGJ,MAAM,CAACK,GAAG,CAACH,MAAM,CAAC;AACvBI,MAAAA,EAAE,GAAGN,MAAM,CAACtD,GAAG,CAACwD,MAAM,CAAC;AACvBZ,MAAAA,IAAI,GAAGgB,EAAE,CAACC,QAAQ,CAACH,EAAE,CAAC;AAExB,IAAA,MAAMI,gBAAgB,GAAG,IAAI,CAACC,cAAc,CAC1C;MACEC,IAAI,EAAEN,EAAE,CAACtG,CAAC;MACV6G,GAAG,EAAEP,EAAE,CAACrG,CAAC;MACT6G,KAAK,EAAEtB,IAAI,CAACxF,CAAC;MACb+G,MAAM,EAAEvB,IAAI,CAACvF;AACf,KAAC,EACD;MAAE+G,mBAAmB,EAAE,CAAC,IAAI,CAACC;AAAwB,KACvD,CAAmB;AAEnB,IAAA,MAAMC,OAAO;AACX;AACA;AACAhB,IAAAA,MAAM,CAACiB,EAAE,CAACf,MAAM,CAAC,GACbM,gBAAgB,CAAC,CAAC,CAAC,GACjB,CAACA,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACrB,EAAE,GACJA,gBAAgB,CAACxQ,MAAM,GAAG,CAAC,GACzBwQ,gBAAgB,CACbU,MAAM,CAAEC,MAAM,IAAK,CAACA,MAAM,CAACrC,QAAQ,CAAC;AAAEvP,MAAAA;AAAE,KAAC,CAAC,CAAC,CAC3CgP,OAAO,EAAE;AACZ;IACAiC,gBAAgB;;AAExB;AACA,IAAA,IAAIQ,OAAO,CAAChR,MAAM,KAAK,CAAC,EAAE;AACxB;MACA,IAAI,CAAC0J,eAAe,CAACsH,OAAO,CAAC,CAAC,CAAC,EAAEzR,CAAC,CAAC;AACrC,IAAA,CAAC,MAAM,IAAIyR,OAAO,CAAChR,MAAM,GAAG,CAAC,EAAE;AAC7B;AACA,MAAA,MAAM4P,KAAK,GACTC,aAAa,CAACC,QAAQ,CAAyB,iBAAiB,CAAC;AACnE,MAAA,IAAI,CAACpG,eAAe,CAAC,IAAIkG,KAAK,CAACoB,OAAO,EAAE;AAAE1R,QAAAA,MAAM,EAAE;OAAM,CAAC,EAAEC,CAAC,CAAC;AAC/D,IAAA;;AAEA;IACA,IAAI,CAAC8K,cAAc,GAAG,IAAI;AAC1B,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACE+G,EAAAA,KAAKA,GAAG;AACN,IAAA,IAAI,CAAC5E,kBAAkB,CAAC4E,KAAK,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAE;AACf,EAAA;;AAEA;AACF;AACA;AACEC,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACjO,eAAe,EAAE;AACtB,IAAA,IAAI,CAACoJ,kBAAkB,CAAC8E,OAAO,EAAE;IACjC,KAAK,CAACD,OAAO,EAAE;AACjB,EAAA;AACF;;;;"}
@@ -0,0 +1,210 @@
1
+ import type { ModifierKey, TOptionalModifierKey } from '../EventTypeDefs';
2
+ import type { TOptions } from '../typedefs';
3
+ import type { StaticCanvasOptions } from './StaticCanvasOptions';
4
+ export interface CanvasTransformOptions {
5
+ /**
6
+ * When true, objects can be transformed by one side (unproportionately)
7
+ * when dragged on the corners that normally would not do that.
8
+ * @type Boolean
9
+ * @since fabric 4.0 // changed name and default value
10
+ */
11
+ uniformScaling: boolean;
12
+ /**
13
+ * Indicates which key switches uniform scaling.
14
+ * values: 'altKey', 'shiftKey', 'ctrlKey'.
15
+ * If `null` or 'none' or any other string that is not a modifier key
16
+ * feature is disabled.
17
+ * totally wrong named. this sounds like `uniform scaling`
18
+ * if Canvas.uniformScaling is true, pressing this will set it to false
19
+ * and viceversa.
20
+ * @since 1.6.2
21
+ * @type ModifierKey
22
+ */
23
+ uniScaleKey: TOptionalModifierKey;
24
+ /**
25
+ * When true, objects use center point as the origin of scale transformation.
26
+ * <b>Backwards incompatibility note:</b> This property replaces "centerTransform" (Boolean).
27
+ * @since 1.3.4
28
+ * @type Boolean
29
+ */
30
+ centeredScaling: boolean;
31
+ /**
32
+ * When true, objects use center point as the origin of rotate transformation.
33
+ * <b>Backwards incompatibility note:</b> This property replaces "centerTransform" (Boolean).
34
+ * @since 1.3.4
35
+ * @type Boolean
36
+ */
37
+ centeredRotation: boolean;
38
+ /**
39
+ * Indicates which key enable centered Transform
40
+ * values: 'altKey', 'shiftKey', 'ctrlKey'.
41
+ * If `null` or 'none' or any other string that is not a modifier key
42
+ * feature is disabled feature disabled.
43
+ * @since 1.6.2
44
+ * @type ModifierKey
45
+ */
46
+ centeredKey: TOptionalModifierKey;
47
+ /**
48
+ * Indicates which key enable alternate action on corner
49
+ * values: 'altKey', 'shiftKey', 'ctrlKey'.
50
+ * If `null` or 'none' or any other string that is not a modifier key
51
+ * feature is disabled feature disabled.
52
+ * @since 1.6.2
53
+ * @type ModifierKey
54
+ */
55
+ altActionKey: TOptionalModifierKey;
56
+ }
57
+ export interface CanvasSelectionOptions {
58
+ /**
59
+ * Indicates whether group selection should be enabled
60
+ * @type Boolean
61
+ */
62
+ selection: boolean;
63
+ /**
64
+ * Indicates which key or keys enable multiple click selection
65
+ * Pass value as a string or array of strings
66
+ * values: 'altKey', 'shiftKey', 'ctrlKey'.
67
+ * If `null` or empty or containing any other string that is not a modifier key
68
+ * feature is disabled.
69
+ * @since 1.6.2
70
+ * @type ModifierKey|ModifierKey[]
71
+ */
72
+ selectionKey: TOptionalModifierKey | ModifierKey[];
73
+ /**
74
+ * Indicates which key enable alternative selection
75
+ * in case of a target overlapping with active object and we don't want to loose the
76
+ * active selection, we can press this modifier key and continue selecting the current
77
+ * selected object also when is covered by another or many valid targets for selection.
78
+ * values: 'altKey', 'shiftKey', 'ctrlKey'.
79
+ * For a series of reason that come from the general expectations on how
80
+ * things should work, this feature works only for preserveObjectStacking true.
81
+ * If `null` or 'none' or any other string that is not a modifier key
82
+ * feature is disabled.
83
+ * @since 1.6.5
84
+ * @type null|ModifierKey
85
+ */
86
+ altSelectionKey: TOptionalModifierKey;
87
+ /**
88
+ * Color of selection
89
+ * @type String
90
+ */
91
+ selectionColor: string;
92
+ /**
93
+ * Default dash array pattern
94
+ * If not empty the selection border is dashed
95
+ * @type Array
96
+ */
97
+ selectionDashArray: number[];
98
+ /**
99
+ * Color of the border of selection (usually slightly darker than color of selection itself)
100
+ * @type String
101
+ */
102
+ selectionBorderColor: string;
103
+ /**
104
+ * Width of a line used in object/group selection
105
+ * @type Number
106
+ */
107
+ selectionLineWidth: number;
108
+ /**
109
+ * Select only shapes that are fully contained in the dragged selection rectangle.
110
+ * @type Boolean
111
+ */
112
+ selectionFullyContained: boolean;
113
+ }
114
+ export interface CanvasCursorOptions {
115
+ /**
116
+ * Default cursor value used when hovering over an object on canvas
117
+ * @type CSSStyleDeclaration['cursor']
118
+ * @default move
119
+ */
120
+ hoverCursor: CSSStyleDeclaration['cursor'];
121
+ /**
122
+ * Default cursor value used when moving an object on canvas
123
+ * @type CSSStyleDeclaration['cursor']
124
+ * @default move
125
+ */
126
+ moveCursor: CSSStyleDeclaration['cursor'];
127
+ /**
128
+ * Default cursor value used for the entire canvas
129
+ * @type String
130
+ * @default default
131
+ */
132
+ defaultCursor: CSSStyleDeclaration['cursor'];
133
+ /**
134
+ * Cursor value used during free drawing
135
+ * @type String
136
+ * @default crosshair
137
+ */
138
+ freeDrawingCursor: CSSStyleDeclaration['cursor'];
139
+ /**
140
+ * Cursor value used for disabled elements ( corners with disabled action )
141
+ * @type String
142
+ * @since 2.0.0
143
+ * @default not-allowed
144
+ */
145
+ notAllowedCursor: CSSStyleDeclaration['cursor'];
146
+ }
147
+ export interface TargetFindOptions {
148
+ /**
149
+ * When true, object detection happens on per-pixel basis rather than on per-bounding-box
150
+ * @type Boolean
151
+ */
152
+ perPixelTargetFind: boolean;
153
+ /**
154
+ * Number of pixels around target pixel to tolerate (consider active) during object detection
155
+ * @type Number
156
+ */
157
+ targetFindTolerance: number;
158
+ /**
159
+ * When true, target detection is skipped. Target detection will return always undefined.
160
+ * click selection won't work anymore, events will fire with no targets.
161
+ * if something is selected before setting it to true, it will be deselected at the first click.
162
+ * area selection will still work. check the `selection` property too.
163
+ * if you deactivate both, you should look into staticCanvas.
164
+ * @type Boolean
165
+ */
166
+ skipTargetFind: boolean;
167
+ }
168
+ export interface CanvasEventsOptions {
169
+ /**
170
+ * Indicates if the right click on canvas can output the context menu or not
171
+ * @type Boolean
172
+ * @since 1.6.5
173
+ */
174
+ stopContextMenu: boolean;
175
+ /**
176
+ * Indicates if the canvas can fire right click events
177
+ * @type Boolean
178
+ * @since 1.6.5
179
+ */
180
+ fireRightClick: boolean;
181
+ /**
182
+ * Indicates if the canvas can fire middle click events
183
+ * @type Boolean
184
+ * @since 1.7.8
185
+ */
186
+ fireMiddleClick: boolean;
187
+ /**
188
+ * When the option is enabled, PointerEvent is used instead of TPointerEvent.
189
+ * @type Boolean
190
+ */
191
+ enablePointerEvents: boolean;
192
+ }
193
+ export interface CanvasOptions extends StaticCanvasOptions, CanvasTransformOptions, CanvasSelectionOptions, CanvasCursorOptions, TargetFindOptions, CanvasEventsOptions {
194
+ /**
195
+ * Default element class that's given to wrapper (div) element of canvas
196
+ * @type String
197
+ * @deprecated customize {@link CanvasDOMManager} instead or access {@link elements} directly
198
+ */
199
+ containerClass: string;
200
+ /**
201
+ * Indicates whether objects should remain in current stack position when selected.
202
+ * When false objects are brought to top and rendered as part of the selection group
203
+ * @type Boolean
204
+ * @default true
205
+ */
206
+ preserveObjectStacking: boolean;
207
+ }
208
+ export type TCanvasOptions = TOptions<CanvasOptions>;
209
+ export declare const canvasDefaults: TOptions<CanvasOptions>;
210
+ //# sourceMappingURL=CanvasOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasOptions.d.ts","sourceRoot":"","sources":["../../../src/canvas/CanvasOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,oBAAoB,CAAC;IAElC;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;;OAOG;IACH,WAAW,EAAE,oBAAoB,CAAC;IAElC;;;;;;;OAOG;IACH,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,YAAY,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAAC;IAEnD;;;;;;;;;;;;OAYG;IACH,eAAe,EAAE,oBAAoB,CAAC;IAEtC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;OAIG;IACH,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE1C;;;;OAIG;IACH,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;OAIG;IACH,iBAAiB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,aACf,SAAQ,mBAAmB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB;IACrB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAErD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,aAAa,CAiClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ const e={uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!0};export{e as canvasDefaults};
2
+ //# sourceMappingURL=CanvasOptions.min.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasOptions.min.mjs","sources":["../../../src/canvas/CanvasOptions.ts"],"sourcesContent":["import type { ModifierKey, TOptionalModifierKey } from '../EventTypeDefs';\nimport type { TOptions } from '../typedefs';\nimport type { StaticCanvasOptions } from './StaticCanvasOptions';\n\nexport interface CanvasTransformOptions {\n /**\n * When true, objects can be transformed by one side (unproportionately)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @since fabric 4.0 // changed name and default value\n */\n uniformScaling: boolean;\n\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type ModifierKey\n */\n uniScaleKey: TOptionalModifierKey;\n\n /**\n * When true, objects use center point as the origin of scale transformation.\n * <b>Backwards incompatibility note:</b> This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n */\n centeredScaling: boolean;\n\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * <b>Backwards incompatibility note:</b> This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n */\n centeredRotation: boolean;\n\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type ModifierKey\n */\n centeredKey: TOptionalModifierKey;\n\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type ModifierKey\n */\n altActionKey: TOptionalModifierKey;\n}\n\nexport interface CanvasSelectionOptions {\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n */\n selection: boolean;\n\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type ModifierKey|ModifierKey[]\n */\n selectionKey: TOptionalModifierKey | ModifierKey[];\n\n /**\n * Indicates which key enable alternative selection\n * in case of a target overlapping with active object and we don't want to loose the\n * active selection, we can press this modifier key and continue selecting the current\n * selected object also when is covered by another or many valid targets for selection.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|ModifierKey\n */\n altSelectionKey: TOptionalModifierKey;\n\n /**\n * Color of selection\n * @type String\n */\n selectionColor: string;\n\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */\n selectionDashArray: number[];\n\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n */\n selectionBorderColor: string;\n\n /**\n * Width of a line used in object/group selection\n * @type Number\n */\n selectionLineWidth: number;\n\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n */\n selectionFullyContained: boolean;\n}\n\nexport interface CanvasCursorOptions {\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type CSSStyleDeclaration['cursor']\n * @default move\n */\n hoverCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Default cursor value used when moving an object on canvas\n * @type CSSStyleDeclaration['cursor']\n * @default move\n */\n moveCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default default\n */\n defaultCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Cursor value used during free drawing\n * @type String\n * @default crosshair\n */\n freeDrawingCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default not-allowed\n */\n notAllowedCursor: CSSStyleDeclaration['cursor'];\n}\n\nexport interface TargetFindOptions {\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n */\n perPixelTargetFind: boolean;\n\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n */\n targetFindTolerance: number;\n\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n */\n skipTargetFind: boolean;\n}\n\nexport interface CanvasEventsOptions {\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n */\n stopContextMenu: boolean;\n\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n */\n fireRightClick: boolean;\n\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n */\n fireMiddleClick: boolean;\n\n /**\n * When the option is enabled, PointerEvent is used instead of TPointerEvent.\n * @type Boolean\n */\n enablePointerEvents: boolean;\n}\n\nexport interface CanvasOptions\n extends StaticCanvasOptions,\n CanvasTransformOptions,\n CanvasSelectionOptions,\n CanvasCursorOptions,\n TargetFindOptions,\n CanvasEventsOptions {\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @deprecated customize {@link CanvasDOMManager} instead or access {@link elements} directly\n */\n containerClass: string;\n\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default true\n */\n preserveObjectStacking: boolean;\n}\n\nexport type TCanvasOptions = TOptions<CanvasOptions>;\n\nexport const canvasDefaults: TOptions<CanvasOptions> = {\n uniformScaling: true,\n uniScaleKey: 'shiftKey',\n centeredScaling: false,\n centeredRotation: false,\n centeredKey: 'altKey',\n altActionKey: 'shiftKey',\n\n selection: true,\n selectionKey: 'shiftKey',\n selectionColor: 'rgba(100, 100, 255, 0.3)',\n selectionDashArray: [],\n selectionBorderColor: 'rgba(255, 255, 255, 0.3)',\n selectionLineWidth: 1,\n selectionFullyContained: false,\n\n hoverCursor: 'move',\n moveCursor: 'move',\n defaultCursor: 'default',\n freeDrawingCursor: 'crosshair',\n notAllowedCursor: 'not-allowed',\n\n perPixelTargetFind: false,\n targetFindTolerance: 0,\n skipTargetFind: false,\n\n stopContextMenu: false,\n fireRightClick: false,\n fireMiddleClick: false,\n enablePointerEvents: false,\n\n containerClass: 'canvas-container',\n preserveObjectStacking: true,\n};\n"],"names":["canvasDefaults","uniformScaling","uniScaleKey","centeredScaling","centeredRotation","centeredKey","altActionKey","selection","selectionKey","selectionColor","selectionDashArray","selectionBorderColor","selectionLineWidth","selectionFullyContained","hoverCursor","moveCursor","defaultCursor","freeDrawingCursor","notAllowedCursor","perPixelTargetFind","targetFindTolerance","skipTargetFind","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","containerClass","preserveObjectStacking"],"mappings":"AAoPO,MAAMA,EAA0C,CACrDC,gBAAgB,EAChBC,YAAa,WACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,YAAa,SACbC,aAAc,WAEdC,WAAW,EACXC,aAAc,WACdC,eAAgB,2BAChBC,mBAAoB,GACpBC,qBAAsB,2BACtBC,mBAAoB,EACpBC,yBAAyB,EAEzBC,YAAa,OACbC,WAAY,OACZC,cAAe,UACfC,kBAAmB,YACnBC,iBAAkB,cAElBC,oBAAoB,EACpBC,oBAAqB,EACrBC,gBAAgB,EAEhBC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,qBAAqB,EAErBC,eAAgB,mBAChBC,wBAAwB"}
@@ -0,0 +1,32 @@
1
+ const canvasDefaults = {
2
+ uniformScaling: true,
3
+ uniScaleKey: 'shiftKey',
4
+ centeredScaling: false,
5
+ centeredRotation: false,
6
+ centeredKey: 'altKey',
7
+ altActionKey: 'shiftKey',
8
+ selection: true,
9
+ selectionKey: 'shiftKey',
10
+ selectionColor: 'rgba(100, 100, 255, 0.3)',
11
+ selectionDashArray: [],
12
+ selectionBorderColor: 'rgba(255, 255, 255, 0.3)',
13
+ selectionLineWidth: 1,
14
+ selectionFullyContained: false,
15
+ hoverCursor: 'move',
16
+ moveCursor: 'move',
17
+ defaultCursor: 'default',
18
+ freeDrawingCursor: 'crosshair',
19
+ notAllowedCursor: 'not-allowed',
20
+ perPixelTargetFind: false,
21
+ targetFindTolerance: 0,
22
+ skipTargetFind: false,
23
+ stopContextMenu: false,
24
+ fireRightClick: false,
25
+ fireMiddleClick: false,
26
+ enablePointerEvents: false,
27
+ containerClass: 'canvas-container',
28
+ preserveObjectStacking: true
29
+ };
30
+
31
+ export { canvasDefaults };
32
+ //# sourceMappingURL=CanvasOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasOptions.mjs","sources":["../../../src/canvas/CanvasOptions.ts"],"sourcesContent":["import type { ModifierKey, TOptionalModifierKey } from '../EventTypeDefs';\nimport type { TOptions } from '../typedefs';\nimport type { StaticCanvasOptions } from './StaticCanvasOptions';\n\nexport interface CanvasTransformOptions {\n /**\n * When true, objects can be transformed by one side (unproportionately)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @since fabric 4.0 // changed name and default value\n */\n uniformScaling: boolean;\n\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type ModifierKey\n */\n uniScaleKey: TOptionalModifierKey;\n\n /**\n * When true, objects use center point as the origin of scale transformation.\n * <b>Backwards incompatibility note:</b> This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n */\n centeredScaling: boolean;\n\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * <b>Backwards incompatibility note:</b> This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n */\n centeredRotation: boolean;\n\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type ModifierKey\n */\n centeredKey: TOptionalModifierKey;\n\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type ModifierKey\n */\n altActionKey: TOptionalModifierKey;\n}\n\nexport interface CanvasSelectionOptions {\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n */\n selection: boolean;\n\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type ModifierKey|ModifierKey[]\n */\n selectionKey: TOptionalModifierKey | ModifierKey[];\n\n /**\n * Indicates which key enable alternative selection\n * in case of a target overlapping with active object and we don't want to loose the\n * active selection, we can press this modifier key and continue selecting the current\n * selected object also when is covered by another or many valid targets for selection.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|ModifierKey\n */\n altSelectionKey: TOptionalModifierKey;\n\n /**\n * Color of selection\n * @type String\n */\n selectionColor: string;\n\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */\n selectionDashArray: number[];\n\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n */\n selectionBorderColor: string;\n\n /**\n * Width of a line used in object/group selection\n * @type Number\n */\n selectionLineWidth: number;\n\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n */\n selectionFullyContained: boolean;\n}\n\nexport interface CanvasCursorOptions {\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type CSSStyleDeclaration['cursor']\n * @default move\n */\n hoverCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Default cursor value used when moving an object on canvas\n * @type CSSStyleDeclaration['cursor']\n * @default move\n */\n moveCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default default\n */\n defaultCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Cursor value used during free drawing\n * @type String\n * @default crosshair\n */\n freeDrawingCursor: CSSStyleDeclaration['cursor'];\n\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default not-allowed\n */\n notAllowedCursor: CSSStyleDeclaration['cursor'];\n}\n\nexport interface TargetFindOptions {\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n */\n perPixelTargetFind: boolean;\n\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n */\n targetFindTolerance: number;\n\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n */\n skipTargetFind: boolean;\n}\n\nexport interface CanvasEventsOptions {\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n */\n stopContextMenu: boolean;\n\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n */\n fireRightClick: boolean;\n\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n */\n fireMiddleClick: boolean;\n\n /**\n * When the option is enabled, PointerEvent is used instead of TPointerEvent.\n * @type Boolean\n */\n enablePointerEvents: boolean;\n}\n\nexport interface CanvasOptions\n extends StaticCanvasOptions,\n CanvasTransformOptions,\n CanvasSelectionOptions,\n CanvasCursorOptions,\n TargetFindOptions,\n CanvasEventsOptions {\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @deprecated customize {@link CanvasDOMManager} instead or access {@link elements} directly\n */\n containerClass: string;\n\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default true\n */\n preserveObjectStacking: boolean;\n}\n\nexport type TCanvasOptions = TOptions<CanvasOptions>;\n\nexport const canvasDefaults: TOptions<CanvasOptions> = {\n uniformScaling: true,\n uniScaleKey: 'shiftKey',\n centeredScaling: false,\n centeredRotation: false,\n centeredKey: 'altKey',\n altActionKey: 'shiftKey',\n\n selection: true,\n selectionKey: 'shiftKey',\n selectionColor: 'rgba(100, 100, 255, 0.3)',\n selectionDashArray: [],\n selectionBorderColor: 'rgba(255, 255, 255, 0.3)',\n selectionLineWidth: 1,\n selectionFullyContained: false,\n\n hoverCursor: 'move',\n moveCursor: 'move',\n defaultCursor: 'default',\n freeDrawingCursor: 'crosshair',\n notAllowedCursor: 'not-allowed',\n\n perPixelTargetFind: false,\n targetFindTolerance: 0,\n skipTargetFind: false,\n\n stopContextMenu: false,\n fireRightClick: false,\n fireMiddleClick: false,\n enablePointerEvents: false,\n\n containerClass: 'canvas-container',\n preserveObjectStacking: true,\n};\n"],"names":["canvasDefaults","uniformScaling","uniScaleKey","centeredScaling","centeredRotation","centeredKey","altActionKey","selection","selectionKey","selectionColor","selectionDashArray","selectionBorderColor","selectionLineWidth","selectionFullyContained","hoverCursor","moveCursor","defaultCursor","freeDrawingCursor","notAllowedCursor","perPixelTargetFind","targetFindTolerance","skipTargetFind","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","containerClass","preserveObjectStacking"],"mappings":"AAoPO,MAAMA,cAAuC,GAAG;AACrDC,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,WAAW,EAAE,UAAU;AACvBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,WAAW,EAAE,QAAQ;AACrBC,EAAAA,YAAY,EAAE,UAAU;AAExBC,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,YAAY,EAAE,UAAU;AACxBC,EAAAA,cAAc,EAAE,0BAA0B;AAC1CC,EAAAA,kBAAkB,EAAE,EAAE;AACtBC,EAAAA,oBAAoB,EAAE,0BAA0B;AAChDC,EAAAA,kBAAkB,EAAE,CAAC;AACrBC,EAAAA,uBAAuB,EAAE,KAAK;AAE9BC,EAAAA,WAAW,EAAE,MAAM;AACnBC,EAAAA,UAAU,EAAE,MAAM;AAClBC,EAAAA,aAAa,EAAE,SAAS;AACxBC,EAAAA,iBAAiB,EAAE,WAAW;AAC9BC,EAAAA,gBAAgB,EAAE,aAAa;AAE/BC,EAAAA,kBAAkB,EAAE,KAAK;AACzBC,EAAAA,mBAAmB,EAAE,CAAC;AACtBC,EAAAA,cAAc,EAAE,KAAK;AAErBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,cAAc,EAAE,KAAK;AACrBC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,mBAAmB,EAAE,KAAK;AAE1BC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,sBAAsB,EAAE;AAC1B;;;;"}
@@ -0,0 +1,30 @@
1
+ import type { TSize } from '../../typedefs';
2
+ import type { CSSDimensions } from './util';
3
+ import type { CanvasItem } from './StaticCanvasDOMManager';
4
+ import { StaticCanvasDOMManager } from './StaticCanvasDOMManager';
5
+ export declare class CanvasDOMManager extends StaticCanvasDOMManager {
6
+ upper: CanvasItem;
7
+ container: HTMLDivElement;
8
+ constructor(arg0?: string | HTMLCanvasElement, { allowTouchScrolling, containerClass, }?: {
9
+ allowTouchScrolling?: boolean;
10
+ /**
11
+ * @deprecated here only for backward compatibility
12
+ */
13
+ containerClass?: string;
14
+ });
15
+ protected createUpperCanvas(): HTMLCanvasElement;
16
+ protected createContainerElement(): HTMLDivElement;
17
+ /**
18
+ * @private
19
+ * @param {HTMLCanvasElement} element canvas element to apply styles on
20
+ */
21
+ protected applyCanvasStyle(element: HTMLCanvasElement, options: {
22
+ allowTouchScrolling?: boolean;
23
+ styles?: Record<string, string>;
24
+ }): void;
25
+ setDimensions(size: TSize, retinaScaling: number): void;
26
+ setCSSDimensions(size: Partial<CSSDimensions>): void;
27
+ cleanupDOM(size: TSize): void;
28
+ dispose(): void;
29
+ }
30
+ //# sourceMappingURL=CanvasDOMManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasDOMManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/DOMManagers/CanvasDOMManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,qBAAa,gBAAiB,SAAQ,sBAAsB;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;gBAGxB,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,EACjC,EACE,mBAA2B,EAC3B,cAAmB,GACpB,GAAE;QACD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB;IA0BR,SAAS,CAAC,iBAAiB;IAe3B,SAAS,CAAC,sBAAsB;IAUhC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CACxB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;IAUH,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM;IAMhD,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAMpD,UAAU,CAAC,IAAI,EAAE,KAAK;IAYtB,OAAO;CAQR"}
@@ -0,0 +1,2 @@
1
+ import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{getFabricDocument as t,getEnv as s}from"../../env/index.min.mjs";import{createCanvasElement as i}from"../../util/misc/dom.min.mjs";import{setStyle as r}from"../../util/internals/dom_style.min.mjs";import{makeElementUnselectable as o,setCanvasDimensions as n,setCSSDimensions as a}from"./util.min.mjs";import{StaticCanvasDOMManager as l}from"./StaticCanvasDOMManager.min.mjs";import{NONE as p}from"../../constants.min.mjs";class c extends l{constructor(t){let{allowTouchScrolling:s=!1,containerClass:i=""}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(t),e(this,"upper",void 0),e(this,"container",void 0);const{el:r}=this.lower,o=this.createUpperCanvas();this.upper={el:o,ctx:o.getContext("2d")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(o,{allowTouchScrolling:s,styles:{position:"absolute",left:"0",top:"0"}});const n=this.createContainerElement();n.classList.add(i),r.parentNode&&r.parentNode.replaceChild(n,r),n.append(r,o),this.container=n}createUpperCanvas(){const{el:e}=this.lower,t=i();return t.className=e.className,t.classList.remove("lower-canvas"),t.classList.add("upper-canvas"),t.setAttribute("data-fabric","top"),t.style.cssText=e.style.cssText,t.setAttribute("draggable","true"),t}createContainerElement(){const e=t().createElement("div");return e.setAttribute("data-fabric","wrapper"),r(e,{position:"relative"}),o(e),e}applyCanvasStyle(e,t){const{styles:s,allowTouchScrolling:i}=t;r(e,{...s,"touch-action":i?"manipulation":p}),o(e)}setDimensions(e,t){super.setDimensions(e,t);const{el:s,ctx:i}=this.upper;n(s,i,e,t)}setCSSDimensions(e){super.setCSSDimensions(e),a(this.upper.el,e),a(this.container,e)}cleanupDOM(e){const t=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(e),t.removeChild(i),t.removeChild(s),t.parentNode&&t.parentNode.replaceChild(s,t)}dispose(){super.dispose(),s().dispose(this.upper.el),delete this.upper,delete this.container}}export{c as CanvasDOMManager};
2
+ //# sourceMappingURL=CanvasDOMManager.min.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasDOMManager.min.mjs","sources":["../../../../src/canvas/DOMManagers/CanvasDOMManager.ts"],"sourcesContent":["import { getEnv, getFabricDocument } from '../../env';\nimport type { TSize } from '../../typedefs';\nimport { createCanvasElement } from '../../util/misc/dom';\nimport { setStyle } from '../../util/internals/dom_style';\nimport type { CSSDimensions } from './util';\nimport { makeElementUnselectable, setCSSDimensions } from './util';\nimport type { CanvasItem } from './StaticCanvasDOMManager';\nimport { StaticCanvasDOMManager } from './StaticCanvasDOMManager';\nimport { setCanvasDimensions } from './util';\nimport { NONE } from '../../constants';\n\nexport class CanvasDOMManager extends StaticCanvasDOMManager {\n upper: CanvasItem;\n container: HTMLDivElement;\n\n constructor(\n arg0?: string | HTMLCanvasElement,\n {\n allowTouchScrolling = false,\n containerClass = '',\n }: {\n allowTouchScrolling?: boolean;\n /**\n * @deprecated here only for backward compatibility\n */\n containerClass?: string;\n } = {},\n ) {\n super(arg0);\n const { el: lowerCanvasEl } = this.lower;\n const upperCanvasEl = this.createUpperCanvas();\n this.upper = { el: upperCanvasEl, ctx: upperCanvasEl.getContext('2d')! };\n this.applyCanvasStyle(lowerCanvasEl, {\n allowTouchScrolling,\n });\n this.applyCanvasStyle(upperCanvasEl, {\n allowTouchScrolling,\n styles: {\n position: 'absolute',\n left: '0',\n top: '0',\n },\n });\n const container = this.createContainerElement();\n container.classList.add(containerClass);\n if (lowerCanvasEl.parentNode) {\n lowerCanvasEl.parentNode.replaceChild(container, lowerCanvasEl);\n }\n container.append(lowerCanvasEl, upperCanvasEl);\n this.container = container;\n }\n\n protected createUpperCanvas() {\n const { el: lowerCanvasEl } = this.lower;\n const el = createCanvasElement();\n // we assign the same classname of the lowerCanvas\n el.className = lowerCanvasEl.className;\n // but then we remove the lower-canvas specific className\n el.classList.remove('lower-canvas');\n // we add the specific upper-canvas class\n el.classList.add('upper-canvas');\n el.setAttribute('data-fabric', 'top');\n el.style.cssText = lowerCanvasEl.style.cssText;\n el.setAttribute('draggable', 'true');\n return el;\n }\n\n protected createContainerElement() {\n const container = getFabricDocument().createElement('div');\n container.setAttribute('data-fabric', 'wrapper');\n setStyle(container, {\n position: 'relative',\n });\n makeElementUnselectable(container);\n return container;\n }\n\n /**\n * @private\n * @param {HTMLCanvasElement} element canvas element to apply styles on\n */\n protected applyCanvasStyle(\n element: HTMLCanvasElement,\n options: {\n allowTouchScrolling?: boolean;\n styles?: Record<string, string>;\n },\n ) {\n const { styles, allowTouchScrolling } = options;\n setStyle(element, {\n ...styles,\n 'touch-action': allowTouchScrolling ? 'manipulation' : NONE,\n });\n makeElementUnselectable(element);\n }\n\n setDimensions(size: TSize, retinaScaling: number) {\n super.setDimensions(size, retinaScaling);\n const { el, ctx } = this.upper;\n setCanvasDimensions(el, ctx, size, retinaScaling);\n }\n\n setCSSDimensions(size: Partial<CSSDimensions>): void {\n super.setCSSDimensions(size);\n setCSSDimensions(this.upper.el, size);\n setCSSDimensions(this.container, size);\n }\n\n cleanupDOM(size: TSize) {\n const container = this.container,\n { el: lowerCanvasEl } = this.lower,\n { el: upperCanvasEl } = this.upper;\n super.cleanupDOM(size);\n container.removeChild(upperCanvasEl);\n container.removeChild(lowerCanvasEl);\n if (container.parentNode) {\n container.parentNode.replaceChild(lowerCanvasEl, container);\n }\n }\n\n dispose() {\n super.dispose();\n getEnv().dispose(this.upper.el);\n // @ts-expect-error disposing\n delete this.upper;\n // @ts-expect-error disposing\n delete this.container;\n }\n}\n"],"names":["CanvasDOMManager","StaticCanvasDOMManager","constructor","arg0","allowTouchScrolling","containerClass","arguments","length","undefined","super","_defineProperty","this","el","lowerCanvasEl","lower","upperCanvasEl","createUpperCanvas","upper","ctx","getContext","applyCanvasStyle","styles","position","left","top","container","createContainerElement","classList","add","parentNode","replaceChild","append","createCanvasElement","className","remove","setAttribute","style","cssText","getFabricDocument","createElement","setStyle","makeElementUnselectable","element","options","NONE","setDimensions","size","retinaScaling","setCanvasDimensions","setCSSDimensions","cleanupDOM","removeChild","dispose","getEnv"],"mappings":"kgBAWO,MAAMA,UAAyBC,EAIpCC,WAAAA,CACEC,GAWA,IAVAC,oBACEA,GAAsB,EAAKC,eAC3BA,EAAiB,IAOlBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EAEJG,MAAMN,GAAMO,EAAAC,KAAA,aAAA,GAAAD,EAAAC,KAAA,iBAAA,GACZ,MAAQC,GAAIC,GAAkBF,KAAKG,MAC7BC,EAAgBJ,KAAKK,oBAC3BL,KAAKM,MAAQ,CAAEL,GAAIG,EAAeG,IAAKH,EAAcI,WAAW,OAChER,KAAKS,iBAAiBP,EAAe,CACnCT,wBAEFO,KAAKS,iBAAiBL,EAAe,CACnCX,sBACAiB,OAAQ,CACNC,SAAU,WACVC,KAAM,IACNC,IAAK,OAGT,MAAMC,EAAYd,KAAKe,yBACvBD,EAAUE,UAAUC,IAAIvB,GACpBQ,EAAcgB,YAChBhB,EAAcgB,WAAWC,aAAaL,EAAWZ,GAEnDY,EAAUM,OAAOlB,EAAeE,GAChCJ,KAAKc,UAAYA,CACnB,CAEUT,iBAAAA,GACR,MAAQJ,GAAIC,GAAkBF,KAAKG,MAC7BF,EAAKoB,IAUX,OARApB,EAAGqB,UAAYpB,EAAcoB,UAE7BrB,EAAGe,UAAUO,OAAO,gBAEpBtB,EAAGe,UAAUC,IAAI,gBACjBhB,EAAGuB,aAAa,cAAe,OAC/BvB,EAAGwB,MAAMC,QAAUxB,EAAcuB,MAAMC,QACvCzB,EAAGuB,aAAa,YAAa,QACtBvB,CACT,CAEUc,sBAAAA,GACR,MAAMD,EAAYa,IAAoBC,cAAc,OAMpD,OALAd,EAAUU,aAAa,cAAe,WACtCK,EAASf,EAAW,CAClBH,SAAU,aAEZmB,EAAwBhB,GACjBA,CACT,CAMUL,gBAAAA,CACRsB,EACAC,GAKA,MAAMtB,OAAEA,EAAMjB,oBAAEA,GAAwBuC,EACxCH,EAASE,EAAS,IACbrB,EACH,eAAgBjB,EAAsB,eAAiBwC,IAEzDH,EAAwBC,EAC1B,CAEAG,aAAAA,CAAcC,EAAaC,GACzBtC,MAAMoC,cAAcC,EAAMC,GAC1B,MAAMnC,GAAEA,EAAEM,IAAEA,GAAQP,KAAKM,MACzB+B,EAAoBpC,EAAIM,EAAK4B,EAAMC,EACrC,CAEAE,gBAAAA,CAAiBH,GACfrC,MAAMwC,iBAAiBH,GACvBG,EAAiBtC,KAAKM,MAAML,GAAIkC,GAChCG,EAAiBtC,KAAKc,UAAWqB,EACnC,CAEAI,UAAAA,CAAWJ,GACT,MAAMrB,EAAYd,KAAKc,WACnBb,GAAIC,GAAkBF,KAAKG,OAC3BF,GAAIG,GAAkBJ,KAAKM,MAC/BR,MAAMyC,WAAWJ,GACjBrB,EAAU0B,YAAYpC,GACtBU,EAAU0B,YAAYtC,GAClBY,EAAUI,YACZJ,EAAUI,WAAWC,aAAajB,EAAeY,EAErD,CAEA2B,OAAAA,GACE3C,MAAM2C,UACNC,IAASD,QAAQzC,KAAKM,MAAML,WAErBD,KAAKM,aAELN,KAAKc,SACd"}