fabric 7.3.1 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/CHANGELOG.md +40 -27
  2. package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.mjs +1 -1
  3. package/{dist-extensions/_virtual/_@oxc-project_runtime@0.122.0 → dist/_virtual/_@oxc-project_runtime@0.126.0}/helpers/toPrimitive.mjs +1 -1
  4. package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.mjs +1 -1
  5. package/{dist-extensions/_virtual/_@oxc-project_runtime@0.122.0 → dist/_virtual/_@oxc-project_runtime@0.126.0}/helpers/typeof.mjs +1 -1
  6. package/dist/index.js +88 -66
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.min.js +35 -35
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/index.min.mjs +37 -37
  11. package/dist/index.min.mjs.map +1 -1
  12. package/dist/index.mjs +88 -66
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/index.node.cjs +83 -62
  15. package/dist/index.node.cjs.map +1 -1
  16. package/dist/index.node.mjs +83 -62
  17. package/dist/index.node.mjs.map +1 -1
  18. package/dist/package.min.mjs +1 -1
  19. package/dist/package.mjs +1 -1
  20. package/dist/src/Collection.min.mjs +1 -1
  21. package/dist/src/Collection.mjs +1 -1
  22. package/dist/src/LayoutManager/LayoutManager.min.mjs +1 -1
  23. package/dist/src/LayoutManager/LayoutManager.mjs +1 -1
  24. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +1 -1
  25. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +1 -1
  26. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +1 -1
  27. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +1 -1
  28. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +1 -1
  29. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +1 -1
  30. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +1 -1
  31. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +1 -1
  32. package/dist/src/Observable.min.mjs +1 -1
  33. package/dist/src/Observable.mjs +1 -1
  34. package/dist/src/Pattern/Pattern.min.mjs +1 -1
  35. package/dist/src/Pattern/Pattern.mjs +1 -1
  36. package/dist/src/Shadow.min.mjs +1 -1
  37. package/dist/src/Shadow.mjs +1 -1
  38. package/dist/src/brushes/BaseBrush.min.mjs +1 -1
  39. package/dist/src/brushes/BaseBrush.mjs +1 -1
  40. package/dist/src/brushes/CircleBrush.min.mjs +1 -1
  41. package/dist/src/brushes/CircleBrush.mjs +1 -1
  42. package/dist/src/brushes/PencilBrush.min.mjs +1 -1
  43. package/dist/src/brushes/PencilBrush.mjs +1 -1
  44. package/dist/src/brushes/SprayBrush.min.mjs +1 -1
  45. package/dist/src/brushes/SprayBrush.mjs +1 -1
  46. package/dist/src/cache.min.mjs +1 -1
  47. package/dist/src/cache.mjs +1 -1
  48. package/dist/src/canvas/Canvas.min.mjs +1 -1
  49. package/dist/src/canvas/Canvas.mjs +1 -1
  50. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +1 -1
  51. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +1 -1
  52. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +1 -1
  53. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +1 -1
  54. package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
  55. package/dist/src/canvas/SelectableCanvas.mjs +1 -1
  56. package/dist/src/canvas/StaticCanvas.d.ts +1 -1
  57. package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
  58. package/dist/src/canvas/StaticCanvas.min.mjs +5 -5
  59. package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
  60. package/dist/src/canvas/StaticCanvas.mjs +4 -4
  61. package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
  62. package/dist/src/canvas/TextEditingManager.min.mjs +1 -1
  63. package/dist/src/canvas/TextEditingManager.mjs +1 -1
  64. package/dist/src/color/Color.min.mjs +1 -1
  65. package/dist/src/color/Color.mjs +1 -1
  66. package/dist/src/config.min.mjs +1 -1
  67. package/dist/src/config.mjs +1 -1
  68. package/dist/src/controls/Control.min.mjs +1 -1
  69. package/dist/src/controls/Control.mjs +1 -1
  70. package/dist/src/filters/BaseFilter.min.mjs +1 -1
  71. package/dist/src/filters/BaseFilter.mjs +1 -1
  72. package/dist/src/filters/BlendColor.min.mjs +1 -1
  73. package/dist/src/filters/BlendColor.mjs +1 -1
  74. package/dist/src/filters/BlendImage.min.mjs +1 -1
  75. package/dist/src/filters/BlendImage.mjs +1 -1
  76. package/dist/src/filters/Blur.min.mjs +1 -1
  77. package/dist/src/filters/Blur.mjs +1 -1
  78. package/dist/src/filters/Brightness.min.mjs +1 -1
  79. package/dist/src/filters/Brightness.mjs +1 -1
  80. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +1 -1
  81. package/dist/src/filters/Canvas2dFilterBackend.mjs +1 -1
  82. package/dist/src/filters/ColorMatrix.min.mjs +1 -1
  83. package/dist/src/filters/ColorMatrix.mjs +1 -1
  84. package/dist/src/filters/ColorMatrixFilters.min.mjs +1 -1
  85. package/dist/src/filters/ColorMatrixFilters.mjs +1 -1
  86. package/dist/src/filters/Composed.min.mjs +1 -1
  87. package/dist/src/filters/Composed.mjs +1 -1
  88. package/dist/src/filters/Contrast.min.mjs +1 -1
  89. package/dist/src/filters/Contrast.mjs +1 -1
  90. package/dist/src/filters/Convolute.min.mjs +1 -1
  91. package/dist/src/filters/Convolute.min.mjs.map +1 -1
  92. package/dist/src/filters/Convolute.mjs +1 -1
  93. package/dist/src/filters/Gamma.min.mjs +1 -1
  94. package/dist/src/filters/Gamma.mjs +1 -1
  95. package/dist/src/filters/Grayscale.min.mjs +1 -1
  96. package/dist/src/filters/Grayscale.mjs +1 -1
  97. package/dist/src/filters/HueRotation.min.mjs +1 -1
  98. package/dist/src/filters/HueRotation.mjs +1 -1
  99. package/dist/src/filters/Invert.min.mjs +1 -1
  100. package/dist/src/filters/Invert.mjs +1 -1
  101. package/dist/src/filters/Noise.min.mjs +1 -1
  102. package/dist/src/filters/Noise.mjs +1 -1
  103. package/dist/src/filters/Pixelate.min.mjs +1 -1
  104. package/dist/src/filters/Pixelate.mjs +1 -1
  105. package/dist/src/filters/RemoveColor.min.mjs +1 -1
  106. package/dist/src/filters/RemoveColor.mjs +1 -1
  107. package/dist/src/filters/Resize.min.mjs +2 -2
  108. package/dist/src/filters/Resize.min.mjs.map +1 -1
  109. package/dist/src/filters/Resize.mjs +2 -2
  110. package/dist/src/filters/Resize.mjs.map +1 -1
  111. package/dist/src/filters/Saturation.min.mjs +1 -1
  112. package/dist/src/filters/Saturation.mjs +1 -1
  113. package/dist/src/filters/Vibrance.min.mjs +1 -1
  114. package/dist/src/filters/Vibrance.mjs +1 -1
  115. package/dist/src/filters/WebGLFilterBackend.min.mjs +1 -1
  116. package/dist/src/filters/WebGLFilterBackend.mjs +1 -1
  117. package/dist/src/gradient/Gradient.d.ts.map +1 -1
  118. package/dist/src/gradient/Gradient.min.mjs +4 -4
  119. package/dist/src/gradient/Gradient.min.mjs.map +1 -1
  120. package/dist/src/gradient/Gradient.mjs +6 -2
  121. package/dist/src/gradient/Gradient.mjs.map +1 -1
  122. package/dist/src/gradient/typedefs.d.ts +7 -7
  123. package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -1
  124. package/dist/src/parser/applyViewboxTransform.min.mjs +1 -1
  125. package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -1
  126. package/dist/src/parser/applyViewboxTransform.mjs +2 -4
  127. package/dist/src/parser/applyViewboxTransform.mjs.map +1 -1
  128. package/dist/src/shapes/ActiveSelection.min.mjs +1 -1
  129. package/dist/src/shapes/ActiveSelection.mjs +1 -1
  130. package/dist/src/shapes/Circle.min.mjs +2 -2
  131. package/dist/src/shapes/Circle.min.mjs.map +1 -1
  132. package/dist/src/shapes/Circle.mjs +1 -1
  133. package/dist/src/shapes/Ellipse.min.mjs +1 -1
  134. package/dist/src/shapes/Ellipse.mjs +1 -1
  135. package/dist/src/shapes/Group.min.mjs +1 -1
  136. package/dist/src/shapes/Group.mjs +1 -1
  137. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +1 -1
  138. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +1 -1
  139. package/dist/src/shapes/IText/IText.d.ts.map +1 -1
  140. package/dist/src/shapes/IText/IText.min.mjs +1 -1
  141. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  142. package/dist/src/shapes/IText/IText.mjs +3 -3
  143. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  144. package/dist/src/shapes/IText/ITextBehavior.min.mjs +1 -1
  145. package/dist/src/shapes/IText/ITextBehavior.mjs +1 -1
  146. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +1 -1
  147. package/dist/src/shapes/IText/ITextClickBehavior.mjs +1 -1
  148. package/dist/src/shapes/Image.min.mjs +1 -1
  149. package/dist/src/shapes/Image.mjs +1 -1
  150. package/dist/src/shapes/Line.min.mjs +1 -1
  151. package/dist/src/shapes/Line.mjs +1 -1
  152. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
  153. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +2 -2
  154. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -1
  155. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +11 -26
  156. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -1
  157. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
  158. package/dist/src/shapes/Object/InteractiveObject.min.mjs +1 -1
  159. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
  160. package/dist/src/shapes/Object/InteractiveObject.mjs +7 -6
  161. package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
  162. package/dist/src/shapes/Object/Object.min.mjs +1 -1
  163. package/dist/src/shapes/Object/Object.mjs +1 -1
  164. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -1
  165. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +1 -1
  166. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -1
  167. package/dist/src/shapes/Object/ObjectGeometry.mjs +6 -2
  168. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -1
  169. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +1 -1
  170. package/dist/src/shapes/Path.min.mjs +1 -1
  171. package/dist/src/shapes/Path.mjs +1 -1
  172. package/dist/src/shapes/Polygon.min.mjs +1 -1
  173. package/dist/src/shapes/Polygon.mjs +1 -1
  174. package/dist/src/shapes/Polyline.min.mjs +1 -1
  175. package/dist/src/shapes/Polyline.mjs +1 -1
  176. package/dist/src/shapes/Rect.min.mjs +1 -1
  177. package/dist/src/shapes/Rect.mjs +1 -1
  178. package/dist/src/shapes/Text/StyledText.min.mjs +1 -1
  179. package/dist/src/shapes/Text/StyledText.mjs +1 -1
  180. package/dist/src/shapes/Text/Text.d.ts +4 -4
  181. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  182. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  183. package/dist/src/shapes/Text/Text.mjs +3 -3
  184. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  185. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
  186. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +2 -2
  187. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
  188. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +14 -7
  189. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
  190. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  191. package/dist/src/shapes/Textbox.min.mjs +2 -2
  192. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  193. package/dist/src/shapes/Textbox.mjs +2 -3
  194. package/dist/src/shapes/Textbox.mjs.map +1 -1
  195. package/dist/src/shapes/Triangle.min.mjs +1 -1
  196. package/dist/src/shapes/Triangle.mjs +1 -1
  197. package/dist/src/util/animation/AnimationBase.min.mjs +1 -1
  198. package/dist/src/util/animation/AnimationBase.mjs +1 -1
  199. package/dist/src/util/animation/easing.min.mjs +1 -1
  200. package/dist/src/util/animation/easing.min.mjs.map +1 -1
  201. package/dist/src/util/animation/easing.mjs +1 -1
  202. package/dist/src/util/animation/easing.mjs.map +1 -1
  203. package/dist/src/util/internals/applyCanvasTransform.d.ts +1 -1
  204. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +1 -1
  205. package/dist/src/util/internals/applyCanvasTransform.mjs +1 -1
  206. package/dist/src/util/internals/applyCanvasTransform.mjs.map +1 -1
  207. package/dist/src/util/internals/svgExportCheck.d.ts +4 -0
  208. package/dist/src/util/internals/svgExportCheck.d.ts.map +1 -0
  209. package/dist/src/util/internals/svgExportCheck.min.mjs +2 -0
  210. package/dist/src/util/internals/svgExportCheck.min.mjs.map +1 -0
  211. package/dist/src/util/internals/svgExportCheck.mjs +12 -0
  212. package/dist/src/util/internals/svgExportCheck.mjs.map +1 -0
  213. package/dist/src/util/misc/matrix.d.ts +14 -0
  214. package/dist/src/util/misc/matrix.d.ts.map +1 -1
  215. package/dist/src/util/misc/matrix.min.mjs +1 -1
  216. package/dist/src/util/misc/matrix.min.mjs.map +1 -1
  217. package/dist/src/util/misc/matrix.mjs +15 -1
  218. package/dist/src/util/misc/matrix.mjs.map +1 -1
  219. package/dist/src/util/misc/mergeClipPaths.d.ts +1 -1
  220. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +1 -1
  221. package/dist/src/util/misc/mergeClipPaths.mjs +1 -1
  222. package/dist/src/util/misc/mergeClipPaths.mjs.map +1 -1
  223. package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
  224. package/dist/src/util/misc/objectEnlive.mjs +1 -1
  225. package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
  226. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +1 -1
  227. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -1
  228. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +1 -1
  229. package/dist/src/util/misc/svgParsing.d.ts +2 -2
  230. package/dist/src/util/misc/svgParsing.d.ts.map +1 -1
  231. package/dist/src/util/misc/svgParsing.min.mjs +1 -1
  232. package/dist/src/util/misc/svgParsing.min.mjs.map +1 -1
  233. package/dist/src/util/misc/svgParsing.mjs +8 -3
  234. package/dist/src/util/misc/svgParsing.mjs.map +1 -1
  235. package/dist/src/util/path/index.d.ts.map +1 -1
  236. package/dist/src/util/path/index.min.mjs +1 -1
  237. package/dist/src/util/path/index.min.mjs.map +1 -1
  238. package/dist/src/util/path/index.mjs +2 -1
  239. package/dist/src/util/path/index.mjs.map +1 -1
  240. package/dist/src/util/path/regex.min.mjs.map +1 -1
  241. package/dist/src/util/path/regex.mjs +1 -1
  242. package/dist/src/util/path/regex.mjs.map +1 -1
  243. package/dist-extensions/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.mjs +1 -1
  244. package/{dist/_virtual/_@oxc-project_runtime@0.122.0 → dist-extensions/_virtual/_@oxc-project_runtime@0.126.0}/helpers/toPrimitive.mjs +1 -1
  245. package/dist-extensions/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.mjs +1 -1
  246. package/{dist/_virtual/_@oxc-project_runtime@0.122.0 → dist-extensions/_virtual/_@oxc-project_runtime@0.126.0}/helpers/typeof.mjs +1 -1
  247. package/dist-extensions/aligning_guidelines/index.mjs +1 -1
  248. package/dist-extensions/cropping_controls/croppingHandlers.mjs +1 -7
  249. package/dist-extensions/cropping_controls/croppingHandlers.mjs.map +1 -1
  250. package/dist-extensions/extensions/cropping_controls/croppingHandlers.d.ts.map +1 -1
  251. package/dist-extensions/fabric-extensions.min.js +1 -1
  252. package/dist-extensions/fabric-extensions.min.js.map +1 -1
  253. package/dist-extensions/src/canvas/StaticCanvas.d.ts +1 -1
  254. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -1
  255. package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -1
  256. package/dist-extensions/src/gradient/typedefs.d.ts +7 -7
  257. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +1 -1
  258. package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -1
  259. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
  260. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
  261. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +1 -1
  262. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +1 -1
  263. package/dist-extensions/src/shapes/Text/Text.d.ts +4 -4
  264. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
  265. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  266. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +1 -1
  267. package/dist-extensions/src/util/internals/svgExportCheck.d.ts +4 -0
  268. package/dist-extensions/src/util/internals/svgExportCheck.d.ts.map +1 -0
  269. package/dist-extensions/src/util/misc/matrix.d.ts +14 -0
  270. package/dist-extensions/src/util/misc/matrix.d.ts.map +1 -1
  271. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +1 -1
  272. package/dist-extensions/src/util/misc/svgParsing.d.ts +2 -2
  273. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -1
  274. package/dist-extensions/src/util/path/index.d.ts.map +1 -1
  275. package/extensions/cropping_controls/croppingHandlers.ts +13 -19
  276. package/package.json +10 -10
  277. package/src/LayoutManager/README.md +3 -3
  278. package/src/canvas/StaticCanvas.spec.ts +19 -0
  279. package/src/canvas/StaticCanvas.ts +7 -3
  280. package/src/filters/Resize.ts +1 -1
  281. package/src/gradient/Gradient.spec.ts +60 -1
  282. package/src/gradient/Gradient.ts +9 -2
  283. package/src/gradient/typedefs.ts +7 -7
  284. package/src/parser/applyViewboxTransform.ts +2 -4
  285. package/src/shapes/IText/IText.ts +1 -2
  286. package/src/shapes/IText/ITextBehavior.test.ts +6 -6
  287. package/src/shapes/Object/FabricObject.spec.ts +3 -2
  288. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +47 -37
  289. package/src/shapes/Object/InteractiveObject.ts +13 -3
  290. package/src/shapes/Object/Object-interactivity.spec.ts +126 -7
  291. package/src/shapes/Object/ObjectGeometry.spec.ts +10 -1
  292. package/src/shapes/Object/ObjectGeometry.ts +10 -3
  293. package/src/shapes/Object/objectSvgExport.spec.ts +27 -0
  294. package/src/shapes/Object/types/FabricObjectProps.ts +1 -1
  295. package/src/shapes/Text/Text.spec.ts +25 -0
  296. package/src/shapes/Text/Text.ts +5 -5
  297. package/src/shapes/Text/TextSVGExportMixin.ts +25 -11
  298. package/src/shapes/Textbox.ts +1 -2
  299. package/src/util/animation/animations.spec.ts +1 -1
  300. package/src/util/animation/easing.ts +1 -1
  301. package/src/util/internals/applyCanvasTransform.ts +1 -1
  302. package/src/util/internals/svgExportCheck.ts +20 -0
  303. package/src/util/misc/matrix.spec.ts +52 -0
  304. package/src/util/misc/matrix.ts +16 -0
  305. package/src/util/misc/mergeClipPaths.ts +1 -1
  306. package/src/util/misc/objectEnlive.ts +1 -1
  307. package/src/util/misc/svgParsing.ts +22 -10
  308. package/src/util/path/index.ts +3 -2
  309. package/src/util/path/regex.ts +1 -1
  310. package/src/util/typeAssertions.spec.ts +1 -1
  311. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.min.mjs +0 -0
  312. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPrimitive.min.mjs +0 -0
  313. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.min.mjs +0 -0
  314. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/typeof.min.mjs +0 -0
@@ -1,2 +1,2 @@
1
- var e=`7.3.1`;export{e as version};
1
+ var e=`7.4.0`;export{e as version};
2
2
  //# sourceMappingURL=package.min.mjs.map
package/dist/package.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "7.3.1";
2
+ var version = "7.4.0";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{removeFromArray as t}from"./util/internals/removeFromArray.min.mjs";import{Point as n}from"./Point.min.mjs";const r=e=>!!e&&Array.isArray(e._objects);function i(r){class i extends r{constructor(...t){super(...t),e(this,`_objects`,[])}_onObjectAdded(e){}_onObjectRemoved(e){}_onStackOrderChanged(e){}add(...e){let t=this._objects.push(...e);return e.forEach(e=>this._onObjectAdded(e)),t}insertAt(e,...t){return this._objects.splice(e,0,...t),t.forEach(e=>this._onObjectAdded(e)),this._objects.length}remove(...e){let t=this._objects,n=[];return e.forEach(e=>{let r=t.indexOf(e);r!==-1&&(t.splice(r,1),n.push(e),this._onObjectRemoved(e))}),n}forEachObject(e){this.getObjects().forEach((t,n,r)=>e(t,n,r))}getObjects(...e){return e.length===0?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(e){return this._objects[e]}isEmpty(){return this._objects.length===0}size(){return this._objects.length}contains(e,t){return!!this._objects.includes(e)||!!t&&this._objects.some(t=>t instanceof i&&t.contains(e,!0))}complexity(){return this._objects.reduce((e,t)=>e+=t.complexity?t.complexity():0,0)}sendObjectToBack(e){return!(!e||e===this._objects[0])&&(t(this._objects,e),this._objects.unshift(e),this._onStackOrderChanged(e),!0)}bringObjectToFront(e){return!(!e||e===this._objects[this._objects.length-1])&&(t(this._objects,e),this._objects.push(e),this._onStackOrderChanged(e),!0)}sendObjectBackwards(e,n){if(!e)return!1;let r=this._objects.indexOf(e);if(r!==0){let i=this.findNewLowerIndex(e,r,n);return t(this._objects,e),this._objects.splice(i,0,e),this._onStackOrderChanged(e),!0}return!1}bringObjectForward(e,n){if(!e)return!1;let r=this._objects.indexOf(e);if(r!==this._objects.length-1){let i=this.findNewUpperIndex(e,r,n);return t(this._objects,e),this._objects.splice(i,0,e),this._onStackOrderChanged(e),!0}return!1}moveObjectTo(e,n){return e!==this._objects[n]&&(t(this._objects,e),this._objects.splice(n,0,e),this._onStackOrderChanged(e),!0)}findNewLowerIndex(e,t,n){let r;if(n){r=t;for(let n=t-1;n>=0;--n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t-1;return r}findNewUpperIndex(e,t,n){let r;if(n){r=t;for(let n=t+1;n<this._objects.length;++n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t+1;return r}collectObjects({left:e,top:t,width:r,height:i},{includeIntersecting:a=!0}={}){let o=[],s=new n(e,t),c=s.add(new n(r,i));for(let e=this._objects.length-1;e>=0;e--){let t=this._objects[e];t.selectable&&t.visible&&(a&&t.intersectsWithRect(s,c)||t.isContainedWithinRect(s,c)||a&&t.containsPoint(s)||a&&t.containsPoint(c))&&o.push(t)}return o}}return i}export{i as createCollectionMixin,r as isCollection};
1
+ import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{removeFromArray as t}from"./util/internals/removeFromArray.min.mjs";import{Point as n}from"./Point.min.mjs";const r=e=>!!e&&Array.isArray(e._objects);function i(r){class i extends r{constructor(...t){super(...t),e(this,`_objects`,[])}_onObjectAdded(e){}_onObjectRemoved(e){}_onStackOrderChanged(e){}add(...e){let t=this._objects.push(...e);return e.forEach(e=>this._onObjectAdded(e)),t}insertAt(e,...t){return this._objects.splice(e,0,...t),t.forEach(e=>this._onObjectAdded(e)),this._objects.length}remove(...e){let t=this._objects,n=[];return e.forEach(e=>{let r=t.indexOf(e);r!==-1&&(t.splice(r,1),n.push(e),this._onObjectRemoved(e))}),n}forEachObject(e){this.getObjects().forEach((t,n,r)=>e(t,n,r))}getObjects(...e){return e.length===0?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(e){return this._objects[e]}isEmpty(){return this._objects.length===0}size(){return this._objects.length}contains(e,t){return!!this._objects.includes(e)||!!t&&this._objects.some(t=>t instanceof i&&t.contains(e,!0))}complexity(){return this._objects.reduce((e,t)=>e+=t.complexity?t.complexity():0,0)}sendObjectToBack(e){return!(!e||e===this._objects[0])&&(t(this._objects,e),this._objects.unshift(e),this._onStackOrderChanged(e),!0)}bringObjectToFront(e){return!(!e||e===this._objects[this._objects.length-1])&&(t(this._objects,e),this._objects.push(e),this._onStackOrderChanged(e),!0)}sendObjectBackwards(e,n){if(!e)return!1;let r=this._objects.indexOf(e);if(r!==0){let i=this.findNewLowerIndex(e,r,n);return t(this._objects,e),this._objects.splice(i,0,e),this._onStackOrderChanged(e),!0}return!1}bringObjectForward(e,n){if(!e)return!1;let r=this._objects.indexOf(e);if(r!==this._objects.length-1){let i=this.findNewUpperIndex(e,r,n);return t(this._objects,e),this._objects.splice(i,0,e),this._onStackOrderChanged(e),!0}return!1}moveObjectTo(e,n){return e!==this._objects[n]&&(t(this._objects,e),this._objects.splice(n,0,e),this._onStackOrderChanged(e),!0)}findNewLowerIndex(e,t,n){let r;if(n){r=t;for(let n=t-1;n>=0;--n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t-1;return r}findNewUpperIndex(e,t,n){let r;if(n){r=t;for(let n=t+1;n<this._objects.length;++n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t+1;return r}collectObjects({left:e,top:t,width:r,height:i},{includeIntersecting:a=!0}={}){let o=[],s=new n(e,t),c=s.add(new n(r,i));for(let e=this._objects.length-1;e>=0;e--){let t=this._objects[e];t.selectable&&t.visible&&(a&&t.intersectsWithRect(s,c)||t.isContainedWithinRect(s,c)||a&&t.containsPoint(s)||a&&t.containsPoint(c))&&o.push(t)}return o}}return i}export{i as createCollectionMixin,r as isCollection};
2
2
  //# sourceMappingURL=Collection.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { removeFromArray } from "./util/internals/removeFromArray.mjs";
3
3
  import { Point } from "./Point.mjs";
4
4
  //#region src/Collection.ts
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{CENTER as t,CHANGED as n,MODIFIED as r,MODIFY_PATH as i,MODIFY_POLY as a,MOVING as o,RESIZING as s,ROTATING as c,SCALING as l,SKEWING as u,iMatrix as d}from"../constants.min.mjs";import{classRegistry as f}from"../ClassRegistry.min.mjs";import{Point as p}from"../Point.min.mjs";import{invertTransform as m}from"../util/misc/matrix.min.mjs";import{resolveOrigin as h}from"../util/misc/resolveOrigin.min.mjs";import{LAYOUT_TYPE_OBJECT_MODIFIED as g,LAYOUT_TYPE_OBJECT_MODIFYING as _}from"./constants.min.mjs";import{FitContentLayout as v}from"./LayoutStrategies/FitContentLayout.min.mjs";const y=`layoutManager`;var b=class{constructor(t=new v){e(this,`strategy`,void 0),this.strategy=t,this._subscriptions=new Map}performLayout(e){let t={bubbles:!0,strategy:this.strategy,...e,prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}};this.onBeforeLayout(t);let n=this.getLayoutResult(t);n&&this.commitLayout(t,n),this.onAfterLayout(t,n),this._prevLayoutStrategy=t.strategy}attachHandlers(e,t){let{target:d}=t;return[r,o,s,c,l,u,n,a,i].map(t=>e.on(t,e=>this.performLayout(t===`modified`?{type:g,trigger:t,e,target:d}:{type:_,trigger:t,e,target:d})))}subscribe(e,t){this.unsubscribe(e,t);let n=this.attachHandlers(e,t);this._subscriptions.set(e,n)}unsubscribe(e,t){(this._subscriptions.get(e)||[]).forEach(e=>e()),this._subscriptions.delete(e)}unsubscribeTargets(e){e.targets.forEach(t=>this.unsubscribe(t,e))}subscribeTargets(e){e.targets.forEach(t=>this.subscribe(t,e))}onBeforeLayout(e){let{target:t,type:n}=e,{canvas:r}=t;if(n===`initialization`||n===`added`?this.subscribeTargets(e):n===`removed`&&this.unsubscribeTargets(e),t.fire(`layout:before`,{context:e}),r&&r.fire(`object:layout:before`,{target:t,context:e}),n===`imperative`&&e.deep){let{strategy:n,...r}=e;t.forEachObject(e=>e.layoutManager&&e.layoutManager.performLayout({...r,bubbles:!1,target:e}))}}getLayoutResult(e){let{target:t,strategy:n,type:r}=e,i=n.calcLayoutResult(e,t.getObjects());if(!i)return;let a=r===`initialization`?new p:t.getRelativeCenterPoint(),{center:o,correction:s=new p,relativeCorrection:c=new p}=i;return{result:i,prevCenter:a,nextCenter:o,offset:a.subtract(o).add(s).transform(r===`initialization`?d:m(t.calcOwnMatrix()),!0).add(c)}}commitLayout(e,n){let{target:r}=e,{result:{size:i},nextCenter:a}=n;var o,s;r.set({width:i.x,height:i.y}),this.layoutObjects(e,n),e.type===`initialization`?r.set({left:(o=e.x)==null?a.x+i.x*h(r.originX):o,top:(s=e.y)==null?a.y+i.y*h(r.originY):s}):(r.setPositionByOrigin(a,t,t),r.setCoords(),r.set(`dirty`,!0))}layoutObjects(e,t){let{target:n}=e;n.forEachObject(r=>{r.group===n&&this.layoutObject(e,t,r)}),e.strategy.shouldLayoutClipPath(e)&&this.layoutObject(e,t,n.clipPath)}layoutObject(e,{offset:t},n){n.set({left:n.left+t.x,top:n.top+t.y})}onAfterLayout(e,t){let{target:n,strategy:r,bubbles:i,prevStrategy:a,...o}=e,{canvas:s}=n;n.fire(`layout:after`,{context:e,result:t}),s&&s.fire(`object:layout:after`,{context:e,result:t,target:n});let c=n.parent;i&&c!=null&&c.layoutManager&&((o.path||(o.path=[])).push(n),c.layoutManager.performLayout({...o,target:c})),n.set(`dirty`,!0)}dispose(){let{_subscriptions:e}=this;e.forEach(e=>e.forEach(e=>e())),e.clear()}toObject(){return{type:y,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};f.setClass(b,y);export{b as LayoutManager};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{CENTER as t,CHANGED as n,MODIFIED as r,MODIFY_PATH as i,MODIFY_POLY as a,MOVING as o,RESIZING as s,ROTATING as c,SCALING as l,SKEWING as u,iMatrix as d}from"../constants.min.mjs";import{classRegistry as f}from"../ClassRegistry.min.mjs";import{Point as p}from"../Point.min.mjs";import{invertTransform as m}from"../util/misc/matrix.min.mjs";import{resolveOrigin as h}from"../util/misc/resolveOrigin.min.mjs";import{LAYOUT_TYPE_OBJECT_MODIFIED as g,LAYOUT_TYPE_OBJECT_MODIFYING as _}from"./constants.min.mjs";import{FitContentLayout as v}from"./LayoutStrategies/FitContentLayout.min.mjs";const y=`layoutManager`;var b=class{constructor(t=new v){e(this,`strategy`,void 0),this.strategy=t,this._subscriptions=new Map}performLayout(e){let t={bubbles:!0,strategy:this.strategy,...e,prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}};this.onBeforeLayout(t);let n=this.getLayoutResult(t);n&&this.commitLayout(t,n),this.onAfterLayout(t,n),this._prevLayoutStrategy=t.strategy}attachHandlers(e,t){let{target:d}=t;return[r,o,s,c,l,u,n,a,i].map(t=>e.on(t,e=>this.performLayout(t===`modified`?{type:g,trigger:t,e,target:d}:{type:_,trigger:t,e,target:d})))}subscribe(e,t){this.unsubscribe(e,t);let n=this.attachHandlers(e,t);this._subscriptions.set(e,n)}unsubscribe(e,t){(this._subscriptions.get(e)||[]).forEach(e=>e()),this._subscriptions.delete(e)}unsubscribeTargets(e){e.targets.forEach(t=>this.unsubscribe(t,e))}subscribeTargets(e){e.targets.forEach(t=>this.subscribe(t,e))}onBeforeLayout(e){let{target:t,type:n}=e,{canvas:r}=t;if(n===`initialization`||n===`added`?this.subscribeTargets(e):n===`removed`&&this.unsubscribeTargets(e),t.fire(`layout:before`,{context:e}),r&&r.fire(`object:layout:before`,{target:t,context:e}),n===`imperative`&&e.deep){let{strategy:n,...r}=e;t.forEachObject(e=>e.layoutManager&&e.layoutManager.performLayout({...r,bubbles:!1,target:e}))}}getLayoutResult(e){let{target:t,strategy:n,type:r}=e,i=n.calcLayoutResult(e,t.getObjects());if(!i)return;let a=r===`initialization`?new p:t.getRelativeCenterPoint(),{center:o,correction:s=new p,relativeCorrection:c=new p}=i;return{result:i,prevCenter:a,nextCenter:o,offset:a.subtract(o).add(s).transform(r===`initialization`?d:m(t.calcOwnMatrix()),!0).add(c)}}commitLayout(e,n){let{target:r}=e,{result:{size:i},nextCenter:a}=n;var o,s;r.set({width:i.x,height:i.y}),this.layoutObjects(e,n),e.type===`initialization`?r.set({left:(o=e.x)==null?a.x+i.x*h(r.originX):o,top:(s=e.y)==null?a.y+i.y*h(r.originY):s}):(r.setPositionByOrigin(a,t,t),r.setCoords(),r.set(`dirty`,!0))}layoutObjects(e,t){let{target:n}=e;n.forEachObject(r=>{r.group===n&&this.layoutObject(e,t,r)}),e.strategy.shouldLayoutClipPath(e)&&this.layoutObject(e,t,n.clipPath)}layoutObject(e,{offset:t},n){n.set({left:n.left+t.x,top:n.top+t.y})}onAfterLayout(e,t){let{target:n,strategy:r,bubbles:i,prevStrategy:a,...o}=e,{canvas:s}=n;n.fire(`layout:after`,{context:e,result:t}),s&&s.fire(`object:layout:after`,{context:e,result:t,target:n});let c=n.parent;i&&c!=null&&c.layoutManager&&((o.path||(o.path=[])).push(n),c.layoutManager.performLayout({...o,target:c})),n.set(`dirty`,!0)}dispose(){let{_subscriptions:e}=this;e.forEach(e=>e.forEach(e=>e())),e.clear()}toObject(){return{type:y,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};f.setClass(b,y);export{b as LayoutManager};
2
2
  //# sourceMappingURL=LayoutManager.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { CENTER, CHANGED, MODIFIED, MODIFY_PATH, MODIFY_POLY, MOVING, RESIZING, ROTATING, SCALING, SKEWING, iMatrix } from "../constants.mjs";
3
3
  import { classRegistry } from "../ClassRegistry.mjs";
4
4
  import { Point } from "../Point.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{Point as n}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as r}from"../../util/misc/boundingBoxFromPoints.min.mjs";import{sendPointToPlane as i}from"../../util/misc/planeChange.min.mjs";import{getObjectBounds as a}from"./utils.min.mjs";import{LayoutStrategy as o}from"./LayoutStrategy.min.mjs";var s=class extends o{shouldPerformLayout(e){return!!e.target.clipPath&&super.shouldPerformLayout(e)}shouldLayoutClipPath(){return!1}calcLayoutResult(e,t){let{target:o}=e,{clipPath:s,group:c}=o;if(!s||!this.shouldPerformLayout(e))return;let{width:l,height:u}=r(a(o,s)),d=new n(l,u);if(s.absolutePositioned)return{center:i(s.getRelativeCenterPoint(),void 0,c?c.calcTransformMatrix():void 0),size:d};{let r=s.getRelativeCenterPoint().transform(o.calcOwnMatrix(),!0);if(this.shouldPerformLayout(e)){let{center:i=new n,correction:a=new n}=this.calcBoundingBox(t,e)||{};return{center:i.add(r),correction:a.subtract(r),size:d}}return{center:o.getRelativeCenterPoint().add(r),size:d}}}};e(s,`type`,`clip-path`),t.setClass(s);export{s as ClipPathLayout};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{Point as n}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as r}from"../../util/misc/boundingBoxFromPoints.min.mjs";import{sendPointToPlane as i}from"../../util/misc/planeChange.min.mjs";import{getObjectBounds as a}from"./utils.min.mjs";import{LayoutStrategy as o}from"./LayoutStrategy.min.mjs";var s=class extends o{shouldPerformLayout(e){return!!e.target.clipPath&&super.shouldPerformLayout(e)}shouldLayoutClipPath(){return!1}calcLayoutResult(e,t){let{target:o}=e,{clipPath:s,group:c}=o;if(!s||!this.shouldPerformLayout(e))return;let{width:l,height:u}=r(a(o,s)),d=new n(l,u);if(s.absolutePositioned)return{center:i(s.getRelativeCenterPoint(),void 0,c?c.calcTransformMatrix():void 0),size:d};{let r=s.getRelativeCenterPoint().transform(o.calcOwnMatrix(),!0);if(this.shouldPerformLayout(e)){let{center:i=new n,correction:a=new n}=this.calcBoundingBox(t,e)||{};return{center:i.add(r),correction:a.subtract(r),size:d}}return{center:o.getRelativeCenterPoint().add(r),size:d}}}};e(s,`type`,`clip-path`),t.setClass(s);export{s as ClipPathLayout};
2
2
  //# sourceMappingURL=ClipPathLayout.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { classRegistry } from "../../ClassRegistry.mjs";
3
3
  import { Point } from "../../Point.mjs";
4
4
  import { makeBoundingBoxFromPoints } from "../../util/misc/boundingBoxFromPoints.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{LayoutStrategy as n}from"./LayoutStrategy.min.mjs";var r=class extends n{shouldPerformLayout(e){return!0}};e(r,`type`,`fit-content`),t.setClass(r);export{r as FitContentLayout};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{LayoutStrategy as n}from"./LayoutStrategy.min.mjs";var r=class extends n{shouldPerformLayout(e){return!0}};e(r,`type`,`fit-content`),t.setClass(r);export{r as FitContentLayout};
2
2
  //# sourceMappingURL=FitContentLayout.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { classRegistry } from "../../ClassRegistry.mjs";
3
3
  import { LayoutStrategy } from "./LayoutStrategy.mjs";
4
4
  //#region src/LayoutManager/LayoutStrategies/FitContentLayout.ts
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{Point as n}from"../../Point.min.mjs";import{LayoutStrategy as r}from"./LayoutStrategy.min.mjs";var i=class extends r{getInitialSize({target:e},{size:t}){return new n(e.width||t.x,e.height||t.y)}};e(i,`type`,`fixed`),t.setClass(i);export{i as FixedLayout};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{classRegistry as t}from"../../ClassRegistry.min.mjs";import{Point as n}from"../../Point.min.mjs";import{LayoutStrategy as r}from"./LayoutStrategy.min.mjs";var i=class extends r{getInitialSize({target:e},{size:t}){return new n(e.width||t.x,e.height||t.y)}};e(i,`type`,`fixed`),t.setClass(i);export{i as FixedLayout};
2
2
  //# sourceMappingURL=FixedLayout.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { classRegistry } from "../../ClassRegistry.mjs";
3
3
  import { Point } from "../../Point.mjs";
4
4
  import { LayoutStrategy } from "./LayoutStrategy.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{Point as t}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as n}from"../../util/misc/boundingBoxFromPoints.min.mjs";import"../constants.min.mjs";import{getObjectBounds as r}from"./utils.min.mjs";var i=class{calcLayoutResult(e,t){if(this.shouldPerformLayout(e))return this.calcBoundingBox(t,e)}shouldPerformLayout({type:e,prevStrategy:t,strategy:n}){return e===`initialization`||e===`imperative`||!!t&&n!==t}shouldLayoutClipPath({type:e,target:{clipPath:t}}){return e!==`initialization`&&t&&!t.absolutePositioned}getInitialSize(e,t){return t.size}calcBoundingBox(e,i){let{type:a,target:o}=i;if(a===`imperative`&&i.overrides)return i.overrides;if(e.length===0)return;let{left:s,top:c,width:l,height:u}=n(e.map(e=>r(o,e)).reduce((e,t)=>e.concat(t),[])),d=new t(l,u),f=new t(s,c).add(d.scalarDivide(2));if(a===`initialization`){let e=this.getInitialSize(i,{size:d,center:f});return{center:f,relativeCorrection:new t(0,0),size:e}}return{center:f.transform(o.calcOwnMatrix()),size:d}}};e(i,`type`,`strategy`);export{i as LayoutStrategy};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{Point as t}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as n}from"../../util/misc/boundingBoxFromPoints.min.mjs";import"../constants.min.mjs";import{getObjectBounds as r}from"./utils.min.mjs";var i=class{calcLayoutResult(e,t){if(this.shouldPerformLayout(e))return this.calcBoundingBox(t,e)}shouldPerformLayout({type:e,prevStrategy:t,strategy:n}){return e===`initialization`||e===`imperative`||!!t&&n!==t}shouldLayoutClipPath({type:e,target:{clipPath:t}}){return e!==`initialization`&&t&&!t.absolutePositioned}getInitialSize(e,t){return t.size}calcBoundingBox(e,i){let{type:a,target:o}=i;if(a===`imperative`&&i.overrides)return i.overrides;if(e.length===0)return;let{left:s,top:c,width:l,height:u}=n(e.map(e=>r(o,e)).reduce((e,t)=>e.concat(t),[])),d=new t(l,u),f=new t(s,c).add(d.scalarDivide(2));if(a===`initialization`){let e=this.getInitialSize(i,{size:d,center:f});return{center:f,relativeCorrection:new t(0,0),size:e}}return{center:f.transform(o.calcOwnMatrix()),size:d}}};e(i,`type`,`strategy`);export{i as LayoutStrategy};
2
2
  //# sourceMappingURL=LayoutStrategy.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { Point } from "../../Point.mjs";
3
3
  import { makeBoundingBoxFromPoints } from "../../util/misc/boundingBoxFromPoints.mjs";
4
4
  import "../constants.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";var t=class{constructor(){e(this,`__eventListeners`,{})}on(e,t){if(this.__eventListeners||(this.__eventListeners={}),typeof e==`object`)return Object.entries(e).forEach(([e,t])=>{this.on(e,t)}),()=>this.off(e);if(t){let n=e;return this.__eventListeners[n]||(this.__eventListeners[n]=[]),this.__eventListeners[n].push(t),()=>this.off(n,t)}return()=>!1}once(e,t){if(typeof e==`object`){let t=[];return Object.entries(e).forEach(([e,n])=>{t.push(this.once(e,n))}),()=>t.forEach(e=>e())}if(t){let n=this.on(e,function(...e){t.call(this,...e),n()});return n}return()=>!1}_removeEventListener(e,t){if(this.__eventListeners[e])if(t){let n=this.__eventListeners[e],r=n.indexOf(t);r>-1&&n.splice(r,1)}else this.__eventListeners[e]=[]}off(e,t){if(this.__eventListeners)if(e===void 0)for(let e in this.__eventListeners)this._removeEventListener(e);else typeof e==`object`?Object.entries(e).forEach(([e,t])=>{this._removeEventListener(e,t)}):this._removeEventListener(e,t)}fire(e,t){var n;if(!this.__eventListeners)return;let r=(n=this.__eventListeners[e])==null?void 0:n.concat();if(r)for(let e=0;e<r.length;e++)r[e].call(this,t||{})}};export{t as Observable};
1
+ import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";var t=class{constructor(){e(this,`__eventListeners`,{})}on(e,t){if(this.__eventListeners||(this.__eventListeners={}),typeof e==`object`)return Object.entries(e).forEach(([e,t])=>{this.on(e,t)}),()=>this.off(e);if(t){let n=e;return this.__eventListeners[n]||(this.__eventListeners[n]=[]),this.__eventListeners[n].push(t),()=>this.off(n,t)}return()=>!1}once(e,t){if(typeof e==`object`){let t=[];return Object.entries(e).forEach(([e,n])=>{t.push(this.once(e,n))}),()=>t.forEach(e=>e())}if(t){let n=this.on(e,function(...e){t.call(this,...e),n()});return n}return()=>!1}_removeEventListener(e,t){if(this.__eventListeners[e])if(t){let n=this.__eventListeners[e],r=n.indexOf(t);r>-1&&n.splice(r,1)}else this.__eventListeners[e]=[]}off(e,t){if(this.__eventListeners)if(e===void 0)for(let e in this.__eventListeners)this._removeEventListener(e);else typeof e==`object`?Object.entries(e).forEach(([e,t])=>{this._removeEventListener(e,t)}):this._removeEventListener(e,t)}fire(e,t){var n;if(!this.__eventListeners)return;let r=(n=this.__eventListeners[e])==null?void 0:n.concat();if(r)for(let e=0;e<r.length;e++)r[e].call(this,t||{})}};export{t as Observable};
2
2
  //# sourceMappingURL=Observable.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  //#region src/Observable.ts
3
3
  /**
4
4
  * @see {@link http://fabric5.fabricjs.com/fabric-intro-part-2#events}
@@ -1,3 +1,3 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{config as t}from"../config.min.mjs";import{log as n}from"../util/internals/console.min.mjs";import{classRegistry as r}from"../ClassRegistry.min.mjs";import{uid as i}from"../util/internals/uid.min.mjs";import{loadImage as a}from"../util/misc/objectEnlive.min.mjs";import{pick as o}from"../util/misc/pick.min.mjs";import{toFixed as s}from"../util/misc/toFixed.min.mjs";import{escapeXml as c}from"../util/lang_string.min.mjs";import{ifNaN as l}from"../util/internals/ifNaN.min.mjs";var u=class{get type(){return`pattern`}set type(e){n(`warn`,`Setting type has no effect`,e)}constructor(t){e(this,`repeat`,`repeat`),e(this,`offsetX`,0),e(this,`offsetY`,0),e(this,`crossOrigin`,``),this.id=i(),Object.assign(this,t)}isImageSource(){return!!this.source&&typeof this.source.src==`string`}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():``}toLive(e){return this.source&&(!this.isImageSource()||this.source.complete&&this.source.naturalWidth!==0&&this.source.naturalHeight!==0)?e.createPattern(this.source,this.repeat):null}toObject(e=[]){let{repeat:n,crossOrigin:r}=this;return{...o(this,e),type:`pattern`,source:this.sourceToString(),repeat:n,crossOrigin:r,offsetX:s(this.offsetX,t.NUM_FRACTION_DIGITS),offsetY:s(this.offsetY,t.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null}}toSVG({width:e,height:t}){let{source:n,repeat:r,id:i}=this,a=l(this.offsetX/e,0),o=l(this.offsetY/t,0),s=r===`repeat-y`||r===`no-repeat`?1+Math.abs(a||0):l(n.width/e,0),u=r===`repeat-x`||r===`no-repeat`?1+Math.abs(o||0):l(n.height/t,0);return[`<pattern id="SVGID_${c(i)}" x="${a}" y="${o}" width="${s}" height="${u}">`,`<image x="0" y="0" width="${n.width}" height="${n.height}" xlink:href="${c(this.sourceToString())}"></image>`,`</pattern>`,``].join(`
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{config as t}from"../config.min.mjs";import{log as n}from"../util/internals/console.min.mjs";import{classRegistry as r}from"../ClassRegistry.min.mjs";import{uid as i}from"../util/internals/uid.min.mjs";import{loadImage as a}from"../util/misc/objectEnlive.min.mjs";import{pick as o}from"../util/misc/pick.min.mjs";import{toFixed as s}from"../util/misc/toFixed.min.mjs";import{escapeXml as c}from"../util/lang_string.min.mjs";import{ifNaN as l}from"../util/internals/ifNaN.min.mjs";var u=class{get type(){return`pattern`}set type(e){n(`warn`,`Setting type has no effect`,e)}constructor(t){e(this,`repeat`,`repeat`),e(this,`offsetX`,0),e(this,`offsetY`,0),e(this,`crossOrigin`,``),this.id=i(),Object.assign(this,t)}isImageSource(){return!!this.source&&typeof this.source.src==`string`}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():``}toLive(e){return this.source&&(!this.isImageSource()||this.source.complete&&this.source.naturalWidth!==0&&this.source.naturalHeight!==0)?e.createPattern(this.source,this.repeat):null}toObject(e=[]){let{repeat:n,crossOrigin:r}=this;return{...o(this,e),type:`pattern`,source:this.sourceToString(),repeat:n,crossOrigin:r,offsetX:s(this.offsetX,t.NUM_FRACTION_DIGITS),offsetY:s(this.offsetY,t.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null}}toSVG({width:e,height:t}){let{source:n,repeat:r,id:i}=this,a=l(this.offsetX/e,0),o=l(this.offsetY/t,0),s=r===`repeat-y`||r===`no-repeat`?1+Math.abs(a||0):l(n.width/e,0),u=r===`repeat-x`||r===`no-repeat`?1+Math.abs(o||0):l(n.height/t,0);return[`<pattern id="SVGID_${c(i)}" x="${a}" y="${o}" width="${s}" height="${u}">`,`<image x="0" y="0" width="${n.width}" height="${n.height}" xlink:href="${c(this.sourceToString())}"></image>`,`</pattern>`,``].join(`
2
2
  `)}static async fromObject({type:e,source:t,patternTransform:n,...r},i){let o=await a(t,{...i,crossOrigin:r.crossOrigin});return new this({...r,patternTransform:n&&n.slice(0),source:o})}};e(u,`type`,`Pattern`),r.setClass(u),r.setClass(u,`pattern`);export{u as Pattern};
3
3
  //# sourceMappingURL=Pattern.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { config } from "../config.mjs";
3
3
  import { log } from "../util/internals/console.mjs";
4
4
  import { classRegistry } from "../ClassRegistry.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{config as t}from"./config.min.mjs";import{classRegistry as n}from"./ClassRegistry.min.mjs";import{Point as r}from"./Point.min.mjs";import{uid as i}from"./util/internals/uid.min.mjs";import{degreesToRadians as a}from"./util/misc/radiansDegreesConversion.min.mjs";import{pickBy as o}from"./util/misc/pick.min.mjs";import{toFixed as s}from"./util/misc/toFixed.min.mjs";import{escapeXml as c}from"./util/lang_string.min.mjs";import{rotateVector as l}from"./util/misc/vectors.min.mjs";import{Color as u}from"./color/Color.min.mjs";import{reNum as d}from"./parser/constants.min.mjs";const f=`(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?`,p=RegExp(`(?:\\s|^)`+f+f+`(`+d+`?(?:px)?)?(?:\\s?|$)(?:$|\\s)`);var m=class e{constructor(t={}){let n=typeof t==`string`?e.parseShadow(t):t;Object.assign(this,e.ownDefaults,n),this.id=i()}static parseShadow(e){let t=e.trim(),[,n=0,r=0,i=0]=(p.exec(t)||[]).map(e=>parseFloat(e)||0);return{color:(t.replace(p,``)||`rgb(0,0,0)`).trim(),offsetX:n,offsetY:r,blur:i}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(`px `)}toSVG(e){let n=l(new r(this.offsetX,this.offsetY),a(-e.angle)),i=t.NUM_FRACTION_DIGITS,o=new u(this.color),d=40,f=40;return e.width&&e.height&&(d=100*s((Math.abs(n.x)+this.blur)/e.width,i)+20,f=100*s((Math.abs(n.y)+this.blur)/e.height,i)+20),e.flipX&&(n.x*=-1),e.flipY&&(n.y*=-1),`<filter id="SVGID_${c(this.id)}" y="-${f}%" height="${100+2*f}%" x="-${d}%" width="${100+2*d}%" >\n\t<feGaussianBlur in="SourceAlpha" stdDeviation="${s(this.blur?this.blur/2:0,i)}"></feGaussianBlur>\n\t<feOffset dx="${s(n.x,i)}" dy="${s(n.y,i)}" result="oBlur" ></feOffset>\n\t<feFlood flood-color="${o.toRgb()}" flood-opacity="${o.getAlpha()}"/>\n\t<feComposite in2="oBlur" operator="in" />\n\t<feMerge>\n\t\t<feMergeNode></feMergeNode>\n\t\t<feMergeNode in="SourceGraphic"></feMergeNode>\n\t</feMerge>\n</filter>\n`}toObject(){let t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},n=e.ownDefaults;return this.includeDefaultValues?t:o(t,(e,t)=>e!==n[t])}static async fromObject(e){return new this(e)}};e(m,`ownDefaults`,{color:`rgb(0,0,0)`,blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),e(m,`type`,`shadow`),n.setClass(m,`shadow`);export{m as Shadow};
1
+ import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{config as t}from"./config.min.mjs";import{classRegistry as n}from"./ClassRegistry.min.mjs";import{Point as r}from"./Point.min.mjs";import{uid as i}from"./util/internals/uid.min.mjs";import{degreesToRadians as a}from"./util/misc/radiansDegreesConversion.min.mjs";import{pickBy as o}from"./util/misc/pick.min.mjs";import{toFixed as s}from"./util/misc/toFixed.min.mjs";import{escapeXml as c}from"./util/lang_string.min.mjs";import{rotateVector as l}from"./util/misc/vectors.min.mjs";import{Color as u}from"./color/Color.min.mjs";import{reNum as d}from"./parser/constants.min.mjs";const f=`(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?`,p=RegExp(`(?:\\s|^)`+f+f+`(`+d+`?(?:px)?)?(?:\\s?|$)(?:$|\\s)`);var m=class e{constructor(t={}){let n=typeof t==`string`?e.parseShadow(t):t;Object.assign(this,e.ownDefaults,n),this.id=i()}static parseShadow(e){let t=e.trim(),[,n=0,r=0,i=0]=(p.exec(t)||[]).map(e=>parseFloat(e)||0);return{color:(t.replace(p,``)||`rgb(0,0,0)`).trim(),offsetX:n,offsetY:r,blur:i}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(`px `)}toSVG(e){let n=l(new r(this.offsetX,this.offsetY),a(-e.angle)),i=t.NUM_FRACTION_DIGITS,o=new u(this.color),d=40,f=40;return e.width&&e.height&&(d=100*s((Math.abs(n.x)+this.blur)/e.width,i)+20,f=100*s((Math.abs(n.y)+this.blur)/e.height,i)+20),e.flipX&&(n.x*=-1),e.flipY&&(n.y*=-1),`<filter id="SVGID_${c(this.id)}" y="-${f}%" height="${100+2*f}%" x="-${d}%" width="${100+2*d}%" >\n\t<feGaussianBlur in="SourceAlpha" stdDeviation="${s(this.blur?this.blur/2:0,i)}"></feGaussianBlur>\n\t<feOffset dx="${s(n.x,i)}" dy="${s(n.y,i)}" result="oBlur" ></feOffset>\n\t<feFlood flood-color="${o.toRgb()}" flood-opacity="${o.getAlpha()}"/>\n\t<feComposite in2="oBlur" operator="in" />\n\t<feMerge>\n\t\t<feMergeNode></feMergeNode>\n\t\t<feMergeNode in="SourceGraphic"></feMergeNode>\n\t</feMerge>\n</filter>\n`}toObject(){let t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},n=e.ownDefaults;return this.includeDefaultValues?t:o(t,(e,t)=>e!==n[t])}static async fromObject(e){return new this(e)}};e(m,`ownDefaults`,{color:`rgb(0,0,0)`,blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),e(m,`type`,`shadow`),n.setClass(m,`shadow`);export{m as Shadow};
2
2
  //# sourceMappingURL=Shadow.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { config } from "./config.mjs";
3
3
  import { classRegistry } from "./ClassRegistry.mjs";
4
4
  import { Point } from "./Point.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{Color as t}from"../color/Color.min.mjs";var n=class{constructor(t){e(this,`color`,`rgb(0, 0, 0)`),e(this,`width`,1),e(this,`shadow`,null),e(this,`strokeLineCap`,`round`),e(this,`strokeLineJoin`,`round`),e(this,`strokeMiterLimit`,10),e(this,`strokeDashArray`,null),e(this,`limitedToCanvasSize`,!1),this.canvas=t}_setBrushStyles(e){e.strokeStyle=this.color,e.lineWidth=this.width,e.lineCap=this.strokeLineCap,e.miterLimit=this.strokeMiterLimit,e.lineJoin=this.strokeLineJoin,e.setLineDash(this.strokeDashArray||[])}_saveAndTransform(e){let t=this.canvas.viewportTransform;e.save(),e.transform(t[0],t[1],t[2],t[3],t[4],t[5])}needsFullRender(){return new t(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let e=this.canvas,t=this.shadow,n=e.contextTop,r=e.getZoom()*e.getRetinaScaling();n.shadowColor=t.color,n.shadowBlur=t.blur*r,n.shadowOffsetX=t.offsetX*r,n.shadowOffsetY=t.offsetY*r}_resetShadow(){let e=this.canvas.contextTop;e.shadowColor=``,e.shadowBlur=e.shadowOffsetX=e.shadowOffsetY=0}_isOutSideCanvas(e){return e.x<0||e.x>this.canvas.getWidth()||e.y<0||e.y>this.canvas.getHeight()}};export{n as BaseBrush};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{Color as t}from"../color/Color.min.mjs";var n=class{constructor(t){e(this,`color`,`rgb(0, 0, 0)`),e(this,`width`,1),e(this,`shadow`,null),e(this,`strokeLineCap`,`round`),e(this,`strokeLineJoin`,`round`),e(this,`strokeMiterLimit`,10),e(this,`strokeDashArray`,null),e(this,`limitedToCanvasSize`,!1),this.canvas=t}_setBrushStyles(e){e.strokeStyle=this.color,e.lineWidth=this.width,e.lineCap=this.strokeLineCap,e.miterLimit=this.strokeMiterLimit,e.lineJoin=this.strokeLineJoin,e.setLineDash(this.strokeDashArray||[])}_saveAndTransform(e){let t=this.canvas.viewportTransform;e.save(),e.transform(t[0],t[1],t[2],t[3],t[4],t[5])}needsFullRender(){return new t(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let e=this.canvas,t=this.shadow,n=e.contextTop,r=e.getZoom()*e.getRetinaScaling();n.shadowColor=t.color,n.shadowBlur=t.blur*r,n.shadowOffsetX=t.offsetX*r,n.shadowOffsetY=t.offsetY*r}_resetShadow(){let e=this.canvas.contextTop;e.shadowColor=``,e.shadowBlur=e.shadowOffsetX=e.shadowOffsetY=0}_isOutSideCanvas(e){return e.x<0||e.x>this.canvas.getWidth()||e.y<0||e.y>this.canvas.getHeight()}};export{n as BaseBrush};
2
2
  //# sourceMappingURL=BaseBrush.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { Color } from "../color/Color.mjs";
3
3
  //#region src/brushes/BaseBrush.ts
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{CENTER as t}from"../constants.min.mjs";import{Color as n}from"../color/Color.min.mjs";import{Shadow as r}from"../Shadow.min.mjs";import{Group as i}from"../shapes/Group.min.mjs";import{getRandomInt as a}from"../util/internals/getRandomInt.min.mjs";import{BaseBrush as o}from"./BaseBrush.min.mjs";import{Circle as s}from"../shapes/Circle.min.mjs";var c=class extends o{constructor(t){super(t),e(this,`width`,10),this.points=[]}drawDot(e){let t=this.addPoint(e),n=this.canvas.contextTop;this._saveAndTransform(n),this.dot(n,t),n.restore()}dot(e,t){e.fillStyle=t.fill,e.beginPath(),e.arc(t.x,t.y,t.radius,0,2*Math.PI,!1),e.closePath(),e.fill()}onMouseDown(e){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(e)}_render(){let e=this.canvas.contextTop,t=this.points;this._saveAndTransform(e);for(let n=0;n<t.length;n++)this.dot(e,t[n]);e.restore()}onMouseMove(e){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(e)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(e),this._render()):this.drawDot(e))}onMouseUp(){let e=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;let n=[];for(let e=0;e<this.points.length;e++){let i=this.points[e],a=new s({radius:i.radius,left:i.x,top:i.y,originX:t,originY:t,fill:i.fill});this.shadow&&(a.shadow=new r(this.shadow)),n.push(a)}let a=new i(n,{canvas:this.canvas});this.canvas.fire(`before:path:created`,{path:a}),this.canvas.add(a),this.canvas.fire(`path:created`,{path:a}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=e,this.canvas.requestRenderAll()}addPoint({x:e,y:t}){let r={x:e,y:t,radius:a(Math.max(0,this.width-20),this.width+20)/2,fill:new n(this.color).setAlpha(a(0,100)/100).toRgba()};return this.points.push(r),r}};export{c as CircleBrush};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{CENTER as t}from"../constants.min.mjs";import{Color as n}from"../color/Color.min.mjs";import{Shadow as r}from"../Shadow.min.mjs";import{Group as i}from"../shapes/Group.min.mjs";import{getRandomInt as a}from"../util/internals/getRandomInt.min.mjs";import{BaseBrush as o}from"./BaseBrush.min.mjs";import{Circle as s}from"../shapes/Circle.min.mjs";var c=class extends o{constructor(t){super(t),e(this,`width`,10),this.points=[]}drawDot(e){let t=this.addPoint(e),n=this.canvas.contextTop;this._saveAndTransform(n),this.dot(n,t),n.restore()}dot(e,t){e.fillStyle=t.fill,e.beginPath(),e.arc(t.x,t.y,t.radius,0,2*Math.PI,!1),e.closePath(),e.fill()}onMouseDown(e){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(e)}_render(){let e=this.canvas.contextTop,t=this.points;this._saveAndTransform(e);for(let n=0;n<t.length;n++)this.dot(e,t[n]);e.restore()}onMouseMove(e){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(e)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(e),this._render()):this.drawDot(e))}onMouseUp(){let e=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;let n=[];for(let e=0;e<this.points.length;e++){let i=this.points[e],a=new s({radius:i.radius,left:i.x,top:i.y,originX:t,originY:t,fill:i.fill});this.shadow&&(a.shadow=new r(this.shadow)),n.push(a)}let a=new i(n,{canvas:this.canvas});this.canvas.fire(`before:path:created`,{path:a}),this.canvas.add(a),this.canvas.fire(`path:created`,{path:a}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=e,this.canvas.requestRenderAll()}addPoint({x:e,y:t}){let r={x:e,y:t,radius:a(Math.max(0,this.width-20),this.width+20)/2,fill:new n(this.color).setAlpha(a(0,100)/100).toRgba()};return this.points.push(r),r}};export{c as CircleBrush};
2
2
  //# sourceMappingURL=CircleBrush.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { CENTER } from "../constants.mjs";
3
3
  import { Color } from "../color/Color.mjs";
4
4
  import { Shadow } from "../Shadow.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{Shadow as t}from"../Shadow.min.mjs";import{getSmoothPathFromPoints as n,joinPath as r}from"../util/path/index.min.mjs";import{BaseBrush as i}from"./BaseBrush.min.mjs";import{Path as a}from"../shapes/Path.min.mjs";var o=class o extends i{constructor(t){super(t),e(this,`decimate`,.4),e(this,`drawStraightLine`,!1),e(this,`straightLineKey`,`shiftKey`),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(e,t,n){let r=t.midPointFrom(n);return e.quadraticCurveTo(t.x,t.y,r.x,r.y),r}onMouseDown(e,{e:t}){this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],this._prepareForDrawing(e),this._addPoint(e),this._render())}onMouseMove(e,{e:t}){if(this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(e))&&this._addPoint(e)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let e=this._points,t=e.length,n=this.canvas.contextTop;this._saveAndTransform(n),this.oldEnd&&(n.beginPath(),n.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=o.drawSegment(n,e[t-2],e[t-1]),n.stroke(),n.restore()}}onMouseUp({e}){return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(e){this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)}_addPoint(e){return!(this._points.length>1&&e.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(e),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(e=this.canvas.contextTop){let t=this._points[0],n=this._points[1];if(this._saveAndTransform(e),e.beginPath(),this._points.length===2&&t.x===n.x&&t.y===n.y){let e=this.width/1e3;t.x-=e,n.x+=e}e.moveTo(t.x,t.y);for(let r=1;r<this._points.length;r++)o.drawSegment(e,t,n),t=this._points[r],n=this._points[r+1];e.lineTo(t.x,t.y),e.stroke(),e.restore()}convertPointsToSVGPath(e){return n(e,this.width/1e3)}createPath(e){let n=new a(e,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,n.shadow=new t(this.shadow)),n}decimatePoints(e,t){if(e.length<=2)return e;let n,r=e[0],i=(t/this.canvas.getZoom())**2,a=e.length-1,o=[r];for(let t=1;t<a-1;t++)n=(r.x-e[t].x)**2+(r.y-e[t].y)**2,n>=i&&(r=e[t],o.push(r));return o.push(e[a]),o}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let e=this.convertPointsToSVGPath(this._points);if(function(e){return r(e)===`M 0 0 Q 0 0 0 0 L 0 0`}(e))return void this.canvas.requestRenderAll();let t=this.createPath(e);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(`before:path:created`,{path:t}),this.canvas.add(t),this.canvas.requestRenderAll(),t.setCoords(),this._resetShadow(),this.canvas.fire(`path:created`,{path:t})}};export{o as PencilBrush};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{Shadow as t}from"../Shadow.min.mjs";import{getSmoothPathFromPoints as n,joinPath as r}from"../util/path/index.min.mjs";import{BaseBrush as i}from"./BaseBrush.min.mjs";import{Path as a}from"../shapes/Path.min.mjs";var o=class o extends i{constructor(t){super(t),e(this,`decimate`,.4),e(this,`drawStraightLine`,!1),e(this,`straightLineKey`,`shiftKey`),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(e,t,n){let r=t.midPointFrom(n);return e.quadraticCurveTo(t.x,t.y,r.x,r.y),r}onMouseDown(e,{e:t}){this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],this._prepareForDrawing(e),this._addPoint(e),this._render())}onMouseMove(e,{e:t}){if(this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(e))&&this._addPoint(e)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let e=this._points,t=e.length,n=this.canvas.contextTop;this._saveAndTransform(n),this.oldEnd&&(n.beginPath(),n.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=o.drawSegment(n,e[t-2],e[t-1]),n.stroke(),n.restore()}}onMouseUp({e}){return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(e){this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)}_addPoint(e){return!(this._points.length>1&&e.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(e),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(e=this.canvas.contextTop){let t=this._points[0],n=this._points[1];if(this._saveAndTransform(e),e.beginPath(),this._points.length===2&&t.x===n.x&&t.y===n.y){let e=this.width/1e3;t.x-=e,n.x+=e}e.moveTo(t.x,t.y);for(let r=1;r<this._points.length;r++)o.drawSegment(e,t,n),t=this._points[r],n=this._points[r+1];e.lineTo(t.x,t.y),e.stroke(),e.restore()}convertPointsToSVGPath(e){return n(e,this.width/1e3)}createPath(e){let n=new a(e,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,n.shadow=new t(this.shadow)),n}decimatePoints(e,t){if(e.length<=2)return e;let n,r=e[0],i=(t/this.canvas.getZoom())**2,a=e.length-1,o=[r];for(let t=1;t<a-1;t++)n=(r.x-e[t].x)**2+(r.y-e[t].y)**2,n>=i&&(r=e[t],o.push(r));return o.push(e[a]),o}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let e=this.convertPointsToSVGPath(this._points);if(function(e){return r(e)===`M 0 0 Q 0 0 0 0 L 0 0`}(e))return void this.canvas.requestRenderAll();let t=this.createPath(e);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(`before:path:created`,{path:t}),this.canvas.add(t),this.canvas.requestRenderAll(),t.setCoords(),this._resetShadow(),this.canvas.fire(`path:created`,{path:t})}};export{o as PencilBrush};
2
2
  //# sourceMappingURL=PencilBrush.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { Shadow } from "../Shadow.mjs";
3
3
  import { getSmoothPathFromPoints, joinPath } from "../util/path/index.mjs";
4
4
  import { BaseBrush } from "./BaseBrush.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{CENTER as t}from"../constants.min.mjs";import{Shadow as n}from"../Shadow.min.mjs";import{Rect as r}from"../shapes/Rect.min.mjs";import{Group as i}from"../shapes/Group.min.mjs";import{getRandomInt as a}from"../util/internals/getRandomInt.min.mjs";import{BaseBrush as o}from"./BaseBrush.min.mjs";var s=class extends o{constructor(t){super(t),e(this,`width`,10),e(this,`density`,20),e(this,`dotWidth`,1),e(this,`dotWidthVariance`,1),e(this,`randomOpacity`,!1),e(this,`optimizeOverlapping`,!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(e){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(e),this.renderChunck(this.sprayChunk)}onMouseMove(e){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(e)||(this.addSprayChunk(e),this.renderChunck(this.sprayChunk))}onMouseUp(){let e=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;let a=[];for(let e=0;e<this.sprayChunks.length;e++){let n=this.sprayChunks[e];for(let e=0;e<n.length;e++){let i=n[e],o=new r({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:t,originY:t,fill:this.color});a.push(o)}}let o=new i(this.optimizeOverlapping?function(e){let t={},n=[];for(let r,i=0;i<e.length;i++)r=`${e[i].left}${e[i].top}`,t[r]||(t[r]=!0,n.push(e[i]));return n}(a):a,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&o.set(`shadow`,new n(this.shadow)),this.canvas.fire(`before:path:created`,{path:o}),this.canvas.add(o),this.canvas.fire(`path:created`,{path:o}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=e,this.canvas.requestRenderAll()}renderChunck(e){let t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let n=0;n<e.length;n++){let r=e[n];t.globalAlpha=r.opacity,t.fillRect(r.x,r.y,r.width,r.width)}t.restore()}_render(){let e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let e=0;e<this.sprayChunks.length;e++)this.renderChunck(this.sprayChunks[e]);e.restore()}addSprayChunk(e){this.sprayChunk=[];let t=this.width/2;for(let n=0;n<this.density;n++)this.sprayChunk.push({x:a(e.x-t,e.x+t),y:a(e.y-t,e.y+t),width:this.dotWidthVariance?a(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?a(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}};export{s as SprayBrush};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{CENTER as t}from"../constants.min.mjs";import{Shadow as n}from"../Shadow.min.mjs";import{Rect as r}from"../shapes/Rect.min.mjs";import{Group as i}from"../shapes/Group.min.mjs";import{getRandomInt as a}from"../util/internals/getRandomInt.min.mjs";import{BaseBrush as o}from"./BaseBrush.min.mjs";var s=class extends o{constructor(t){super(t),e(this,`width`,10),e(this,`density`,20),e(this,`dotWidth`,1),e(this,`dotWidthVariance`,1),e(this,`randomOpacity`,!1),e(this,`optimizeOverlapping`,!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(e){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(e),this.renderChunck(this.sprayChunk)}onMouseMove(e){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(e)||(this.addSprayChunk(e),this.renderChunck(this.sprayChunk))}onMouseUp(){let e=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;let a=[];for(let e=0;e<this.sprayChunks.length;e++){let n=this.sprayChunks[e];for(let e=0;e<n.length;e++){let i=n[e],o=new r({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:t,originY:t,fill:this.color});a.push(o)}}let o=new i(this.optimizeOverlapping?function(e){let t={},n=[];for(let r,i=0;i<e.length;i++)r=`${e[i].left}${e[i].top}`,t[r]||(t[r]=!0,n.push(e[i]));return n}(a):a,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&o.set(`shadow`,new n(this.shadow)),this.canvas.fire(`before:path:created`,{path:o}),this.canvas.add(o),this.canvas.fire(`path:created`,{path:o}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=e,this.canvas.requestRenderAll()}renderChunck(e){let t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let n=0;n<e.length;n++){let r=e[n];t.globalAlpha=r.opacity,t.fillRect(r.x,r.y,r.width,r.width)}t.restore()}_render(){let e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let e=0;e<this.sprayChunks.length;e++)this.renderChunck(this.sprayChunks[e]);e.restore()}addSprayChunk(e){this.sprayChunk=[];let t=this.width/2;for(let n=0;n<this.density;n++)this.sprayChunk.push({x:a(e.x-t,e.x+t),y:a(e.y-t,e.y+t),width:this.dotWidthVariance?a(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?a(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}};export{s as SprayBrush};
2
2
  //# sourceMappingURL=SprayBrush.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { CENTER } from "../constants.mjs";
3
3
  import { Shadow } from "../Shadow.mjs";
4
4
  import { Rect } from "../shapes/Rect.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{config as t}from"./config.min.mjs";const n=new class{constructor(){e(this,`boundsOfCurveCache`,{}),this.charWidthsCache=new Map}getFontCache({fontFamily:e,fontStyle:t,fontWeight:n}){e=e.toLowerCase();let r=this.charWidthsCache;r.has(e)||r.set(e,new Map);let i=r.get(e),a=`${t.toLowerCase()}_${(n+``).toLowerCase()}`;return i.has(a)||i.set(a,new Map),i.get(a)}clearFontCache(e){e?this.charWidthsCache.delete((e||``).toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(e){let{perfLimitSizeTotal:n}=t,r=Math.sqrt(n*e);return[Math.floor(r),Math.floor(n/r)]}};export{n as cache};
1
+ import{_defineProperty as e}from"../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{config as t}from"./config.min.mjs";const n=new class{constructor(){e(this,`boundsOfCurveCache`,{}),this.charWidthsCache=new Map}getFontCache({fontFamily:e,fontStyle:t,fontWeight:n}){e=e.toLowerCase();let r=this.charWidthsCache;r.has(e)||r.set(e,new Map);let i=r.get(e),a=`${t.toLowerCase()}_${(n+``).toLowerCase()}`;return i.has(a)||i.set(a,new Map),i.get(a)}clearFontCache(e){e?this.charWidthsCache.delete((e||``).toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(e){let{perfLimitSizeTotal:n}=t,r=Math.sqrt(n*e);return[Math.floor(r),Math.floor(n/r)]}};export{n as cache};
2
2
  //# sourceMappingURL=cache.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { config } from "./config.mjs";
3
3
  //#region src/cache.ts
4
4
  var Cache = class {
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import"../constants.min.mjs";import{classRegistry as t}from"../ClassRegistry.min.mjs";import{Point as n}from"../Point.min.mjs";import{isActiveSelection as r}from"../util/typeAssertions.min.mjs";import{getDocumentFromElement as i,getWindowFromElement as a}from"../util/dom_misc.min.mjs";import{isTouchEvent as o,stopEvent as s}from"../util/dom_event.min.mjs";import{sendPointToPlane as c}from"../util/misc/planeChange.min.mjs";import{SelectableCanvas as l}from"./SelectableCanvas.min.mjs";import{TextEditingManager as u}from"./TextEditingManager.min.mjs";const d={passive:!1},f=(e,t)=>({viewportPoint:e.getViewportPoint(t),scenePoint:e.getScenePoint(t)}),p=(e,...t)=>e.addEventListener(...t),m=(e,...t)=>e.removeEventListener(...t),h={mouse:{in:`over`,out:`out`,targetIn:`mouseover`,targetOut:`mouseout`,canvasIn:`mouse:over`,canvasOut:`mouse:out`},drag:{in:`enter`,out:`leave`,targetIn:`dragenter`,targetOut:`dragleave`,canvasIn:`drag:enter`,canvasOut:`drag:leave`}};var g=class extends l{constructor(t,n={}){super(t,n),e(this,`_isClick`,void 0),e(this,`textEditingManager`,new u(this)),[`_onMouseDown`,`_onTouchStart`,`_onMouseMove`,`_onMouseUp`,`_onTouchEnd`,`_onResize`,`_onMouseWheel`,`_onMouseOut`,`_onMouseEnter`,`_onContextMenu`,`_onClick`,`_onDragStart`,`_onDragEnd`,`_onDragProgress`,`_onDragOver`,`_onDragEnter`,`_onDragLeave`,`_onDrop`].forEach(e=>{this[e]=this[e].bind(this)}),this.addOrRemove(p)}_getEventPrefix(){return this.enablePointerEvents?`pointer`:`mouse`}addOrRemove(e,t=!1){let n=this.upperCanvasEl,r=this._getEventPrefix();e(a(n),`resize`,this._onResize),e(n,r+`down`,this._onMouseDown),e(n,`${r}move`,this._onMouseMove,d),e(n,`${r}out`,this._onMouseOut),e(n,`${r}enter`,this._onMouseEnter),e(n,`wheel`,this._onMouseWheel,{passive:!1}),e(n,`contextmenu`,this._onContextMenu),t||(e(n,`click`,this._onClick),e(n,`dblclick`,this._onClick)),e(n,`dragstart`,this._onDragStart),e(n,`dragend`,this._onDragEnd),e(n,`dragover`,this._onDragOver),e(n,`dragenter`,this._onDragEnter),e(n,`dragleave`,this._onDragLeave),e(n,`drop`,this._onDrop),this.enablePointerEvents||e(n,`touchstart`,this._onTouchStart,d)}removeListeners(){this.addOrRemove(m);let e=this._getEventPrefix(),t=i(this.upperCanvasEl);m(t,`${e}up`,this._onMouseUp),m(t,`touchend`,this._onTouchEnd,d),m(t,`${e}move`,this._onMouseMove,d),m(t,`touchmove`,this._onMouseMove,d),clearTimeout(this._willAddMouseDown)}_onMouseWheel(e){this._cacheTransformEventData(e),this._handleEvent(e,`wheel`),this._resetTransformEventData()}_onMouseOut(e){let t=this._hoveredTarget,n={e,...f(this,e)};this.fire(`mouse:out`,{...n,target:t}),this._hoveredTarget=void 0,t&&t.fire(`mouseout`,{...n}),this._hoveredTargets.forEach(e=>{this.fire(`mouse:out`,{...n,target:e}),e&&e.fire(`mouseout`,{...n})}),this._hoveredTargets=[]}_onMouseEnter(e){let{target:t}=this.findTarget(e);this._currentTransform||t||(this.fire(`mouse:over`,{e,...f(this,e)}),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(e){this._isClick=!1;let t=this.getActiveObject();if(t&&t.onDragStart(e)){this._dragSource=t;let n={e,target:t};this.fire(`dragstart`,n),t.fire(`dragstart`,n),p(this.upperCanvasEl,`drag`,this._onDragProgress);return}s(e)}_renderDragEffects(e,t,n){let r=!1,i=this._dropTarget;i&&i!==t&&i!==n&&(i.clearContextTop(),r=!0),t==null||t.clearContextTop(),n!==t&&(n==null||n.clearContextTop());let a=this.contextTop;a.save(),a.transform(...this.viewportTransform),t&&(a.save(),t.transform(a),t.renderDragSourceEffect(e),a.restore(),r=!0),n&&(a.save(),n.transform(a),n.renderDropTargetEffect(e),a.restore(),r=!0),a.restore(),r&&(this.contextTopDirty=!0)}_onDragEnd(e){let{currentSubTargets:t}=this.findTarget(e),n=!!e.dataTransfer&&e.dataTransfer.dropEffect!==`none`,r=n?this._activeObject:void 0,i={e,target:this._dragSource,subTargets:t,dragSource:this._dragSource,didDrop:n,dropTarget:r};m(this.upperCanvasEl,`drag`,this._onDragProgress),this.fire(`dragend`,i),this._dragSource&&this._dragSource.fire(`dragend`,i),delete this._dragSource,this._onMouseUp(e)}_onDragProgress(e){let t={e,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(`drag`,t),this._dragSource&&this._dragSource.fire(`drag`,t)}_onDragOver(e){let t=`dragover`,{currentContainer:n,currentSubTargets:r}=this.findTarget(e),i=this._dragSource,a={e,target:n,subTargets:r,dragSource:i,canDrop:!1,dropTarget:void 0},o;this.fire(t,a),this._fireEnterLeaveEvents(e,n,a),n&&(n.canDrop(e)&&(o=n),n.fire(t,a));for(let n=0;n<r.length;n++){let i=r[n];i.canDrop(e)&&(o=i),i.fire(t,a)}this._renderDragEffects(e,i,o),this._dropTarget=o}_onDragEnter(e){let{currentContainer:t,currentSubTargets:n}=this.findTarget(e),r={e,target:t,subTargets:n,dragSource:this._dragSource};this.fire(`dragenter`,r),this._fireEnterLeaveEvents(e,t,r)}_onDragLeave(e){let{currentSubTargets:t}=this.findTarget(e),n={e,target:this._draggedoverTarget,subTargets:t,dragSource:this._dragSource};this.fire(`dragleave`,n),this._fireEnterLeaveEvents(e,void 0,n),this._renderDragEffects(e,this._dragSource),this._dropTarget=void 0,this._hoveredTargets=[]}_onDrop(e){let{currentContainer:t,currentSubTargets:n}=this.findTarget(e),r=this._basicEventHandler(`drop:before`,{e,target:t,subTargets:n,dragSource:this._dragSource,...f(this,e)});r.didDrop=!1,r.dropTarget=void 0,this._basicEventHandler(`drop`,r),this.fire(`drop:after`,r)}_onContextMenu(e){let{target:t,subTargets:n}=this.findTarget(e),r=this._basicEventHandler(`contextmenu:before`,{e,target:t,subTargets:n});return this.stopContextMenu&&s(e),this._basicEventHandler(`contextmenu`,r),!1}_onClick(e){let t=e.detail;t>3||t<2||(this._cacheTransformEventData(e),t==2&&e.type===`dblclick`&&this._handleEvent(e,`dblclick`),t==3&&this._handleEvent(e,`tripleclick`),this._resetTransformEventData())}fireEventFromPointerEvent(e,t,n,r={}){this._cacheTransformEventData(e);let{target:i,subTargets:a}=this.findTarget(e),o={e,target:i,subTargets:a,...f(this,e),transform:this._currentTransform,...r};this.fire(t,o),i&&i.fire(n,o);for(let e=0;e<a.length;e++)a[e]!==i&&a[e].fire(n,o);this._resetTransformEventData()}getPointerId(e){let t=e.changedTouches;return t?t[0]&&t[0].identifier:this.enablePointerEvents?e.pointerId:-1}_isMainEvent(e){return!0===e.isPrimary||!1!==e.isPrimary&&(e.type===`touchend`&&e.touches.length===0||!e.changedTouches||e.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(e){this._cacheTransformEventData(e);let t=!this.allowTouchScrolling,n=this._activeObject;this.mainTouchId===void 0&&(this.mainTouchId=this.getPointerId(e)),this.__onMouseDown(e);let{target:r}=this.findTarget(e);(this.isDrawingMode||n&&r===n)&&(t=!0),t&&e.preventDefault();let a=this.upperCanvasEl,o=this._getEventPrefix(),s=i(a);p(s,`touchend`,this._onTouchEnd,d),t&&p(s,`touchmove`,this._onMouseMove,d),m(a,`${o}down`,this._onMouseDown),this._resetTransformEventData()}_onMouseDown(e){this._cacheTransformEventData(e),this.__onMouseDown(e);let t=this.upperCanvasEl,n=this._getEventPrefix();m(t,`${n}move`,this._onMouseMove,d);let r=i(t);p(r,`${n}up`,this._onMouseUp),p(r,`${n}move`,this._onMouseMove,d),this._resetTransformEventData()}_onTouchEnd(e){if(e.touches.length>0)return;this._cacheTransformEventData(e),this.__onMouseUp(e),this._resetTransformEventData(),delete this.mainTouchId;let t=this._getEventPrefix(),n=i(this.upperCanvasEl);m(n,`touchend`,this._onTouchEnd,d),m(n,`touchmove`,this._onMouseMove,d),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{p(this.upperCanvasEl,`${t}down`,this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(e){this._cacheTransformEventData(e),this.__onMouseUp(e);let t=this.upperCanvasEl,n=this._getEventPrefix();if(this._isMainEvent(e)){let e=i(this.upperCanvasEl);m(e,`${n}up`,this._onMouseUp),m(e,`${n}move`,this._onMouseMove,d),p(t,`${n}move`,this._onMouseMove,d)}this._resetTransformEventData()}_onMouseMove(e){this._cacheTransformEventData(e);let t=this.getActiveObject();!this.allowTouchScrolling&&(!t||!t.shouldStartDragging(e))&&e.preventDefault&&e.preventDefault(),this.__onMouseMove(e),this._resetTransformEventData()}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(e){let t=this.getActiveObject();return!!t!=!!e||t&&e&&t!==e}__onMouseUp(e){var t;this._handleEvent(e,`up:before`);let n=this._currentTransform,r=this._isClick,{target:i}=this.findTarget(e),{button:a}=e;if(a)return void((this.fireMiddleClick&&a===1||this.fireRightClick&&a===2)&&this._handleEvent(e,`up`));if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(e);if(!this._isMainEvent(e))return;let s,c,l=!1;if(n&&(this._finalizeCurrentTransform(e),l=n.actionPerformed),!r){let t=i===this._activeObject;this.handleSelection(e),l||(l=this._shouldRender(i)||!t&&i===this._activeObject)}if(i){let{key:t,control:r}=i.findControl(this.getViewportPoint(e),o(e))||{};if(c=t,i.selectable&&i!==this._activeObject&&i.activeOn===`up`)this.setActiveObject(i,e),l=!0;else if(r){let t=r.getMouseUpHandler(e,i,r);t&&(s=this.getScenePoint(e),t.call(r,e,n,s.x,s.y))}i.isMoving=!1}if(n&&(n.target!==i||n.corner!==c)){let t=n.target&&n.target.controls[n.corner],r=t&&t.getMouseUpHandler(e,n.target,t);s=s||this.getScenePoint(e),r&&r.call(t,e,n,s.x,s.y)}this._setCursorFromEvent(e,i),this._handleEvent(e,`up`),this._groupSelector=null,this._currentTransform=null,i&&(i.__corner=void 0),l?this.requestRenderAll():r||(t=this._activeObject)!=null&&t.isEditing||this.renderTop()}_basicEventHandler(e,t){let{target:n,subTargets:r=[]}=t;this.fire(e,t),n&&n.fire(e,t);for(let i=0;i<r.length;i++)r[i]!==n&&r[i].fire(e,t);return t}_handleEvent(e,t,n){let{target:r,subTargets:i}=this.findTarget(e),a={e,target:r,subTargets:i,...f(this,e),transform:this._currentTransform,...t===`down:before`||t===`down`?n:{}};t!==`up:before`&&t!==`up`||(a.isClick=this._isClick),this.fire(`mouse:${t}`,a),r&&r.fire(`mouse${t}`,a);for(let e=0;e<i.length;e++)i[e]!==r&&i[e].fire(`mouse${t}`,a)}_onMouseDownInDrawingMode(e){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(e),this.requestRenderAll());let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(t,{e,pointer:t}),this._handleEvent(e,`down`,{alreadySelected:!1})}_onMouseMoveInDrawingMode(e){if(this._isCurrentlyDrawing){let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(t,{e,pointer:t})}this.setCursor(this.freeDrawingCursor),this._handleEvent(e,`move`)}_onMouseUpInDrawingMode(e){let t=this.getScenePoint(e);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e,pointer:t}):this._isCurrentlyDrawing=!1,this._handleEvent(e,`up`)}__onMouseDown(e){this._isClick=!0,this._handleEvent(e,`down:before`);let{target:t}=this.findTarget(e),n=!!t&&t===this._activeObject,{button:r}=e;if(r)return void((this.fireMiddleClick&&r===1||this.fireRightClick&&r===2)&&this._handleEvent(e,`down`,{alreadySelected:n}));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(e);if(!this._isMainEvent(e)||this._currentTransform)return;let i=this._shouldRender(t),a=!1;if(this.handleMultiSelection(e,t)?(t=this._activeObject,a=!0,i=!0):this._shouldClearSelection(e,t)&&this.discardActiveObject(e),this.selection&&(!t||!t.selectable&&!t.isEditing&&t!==this._activeObject)){let t=this.getScenePoint(e);this._groupSelector={x:t.x,y:t.y,deltaY:0,deltaX:0}}if(n=!!t&&t===this._activeObject,t){t.selectable&&t.activeOn===`down`&&this.setActiveObject(t,e);let r=t.findControl(this.getViewportPoint(e),o(e));if(t===this._activeObject&&(r||!a)){this._setupCurrentTransform(e,t,n);let i=r?r.control:void 0,a=this.getScenePoint(e),o=i&&i.getMouseDownHandler(e,t,i);o&&o.call(i,e,this._currentTransform,a.x,a.y)}}i&&(this._objectsToRender=void 0),this._handleEvent(e,`down`,{alreadySelected:n}),i&&this.requestRenderAll()}_resetTransformEventData(){this._targetInfo=this._viewportPoint=this._scenePoint=void 0}_cacheTransformEventData(e){this._resetTransformEventData(),this._viewportPoint=this.getViewportPoint(e),this._scenePoint=c(this._viewportPoint,void 0,this.viewportTransform),this._targetInfo=this.findTarget(e),this._currentTransform&&(this._targetInfo.target=this._currentTransform.target)}__onMouseMove(e){if(this._isClick=!1,this._handleEvent(e,`move:before`),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(e);if(!this._isMainEvent(e))return;let t=this._groupSelector;if(t){let n=this.getScenePoint(e);t.deltaX=n.x-t.x,t.deltaY=n.y-t.y,this.renderTop()}else if(this._currentTransform)this._transformObject(e);else{let{target:t}=this.findTarget(e);this._setCursorFromEvent(e,t),this._fireOverOutEvents(e,t)}this.textEditingManager.onMouseMove(e),this._handleEvent(e,`move`)}_fireOverOutEvents(e,t){let{_hoveredTarget:n,_hoveredTargets:r}=this,{subTargets:i,currentTarget:a}=this.findTarget(e),o=Math.max(r.length,i.length);this.fireSyntheticInOutEvents(`mouse`,{e,target:t,oldTarget:n,actualTarget:a,oldActualTarget:this._hoveredActualTarget,fireCanvas:!0});for(let a=0;a<o;a++)i[a]===t||r[a]&&r[a]===n||this.fireSyntheticInOutEvents(`mouse`,{e,target:i[a],oldTarget:r[a]});this._hoveredActualTarget=a,this._hoveredTarget=t,this._hoveredTargets=i}_fireEnterLeaveEvents(e,t,n){let r=this._draggedoverTarget,i=this._hoveredTargets,{subTargets:a}=this.findTarget(e),o=Math.max(i.length,a.length);this.fireSyntheticInOutEvents(`drag`,{...n,target:t,oldTarget:r,fireCanvas:!0});for(let e=0;e<o;e++)this.fireSyntheticInOutEvents(`drag`,{...n,target:a[e],oldTarget:i[e]});this._draggedoverTarget=t}fireSyntheticInOutEvents(e,{target:t,oldTarget:n,actualTarget:r,oldActualTarget:i,fireCanvas:a,e:o,...s}){let{targetIn:c,targetOut:l,canvasIn:u,canvasOut:d}=h[e],p=n!==t,m=i!==r,g=t&&p,_=r&&m,v=n&&p,y=i&&m,b={...s,e:o,...f(this,o)},x={...b,target:n,nextTarget:t,actualTarget:i,nextActualTarget:r};(v||y)&&a&&this.fire(d,x),v&&n.fire(l,x),y&&n!==i&&i.fire(l,x);let S={...b,target:t,previousTarget:n,actualTarget:r,previousActualTarget:i};(g||_)&&a&&this.fire(u,S),g&&t.fire(c,S),_&&r!==t&&r.fire(c,S)}_transformObject(e){let t=this.getScenePoint(e),n=this._currentTransform,r=n.target,i=r.group?c(t,void 0,r.group.calcTransformMatrix()):t;n.shiftKey=e.shiftKey,n.altKey=!!this.centeredKey&&e[this.centeredKey],this._performTransformAction(e,n,i),n.actionPerformed&&this.requestRenderAll()}_performTransformAction(e,t,n){let{action:r,actionHandler:i,target:a}=t,o=!!i&&i(e,t,n.x,n.y);o&&a.setCoords(),r===`drag`&&o&&(t.target.isMoving=!0,this.setCursor(t.target.moveCursor||this.moveCursor)),t.actionPerformed=t.actionPerformed||o}_setCursorFromEvent(e,t){if(!t)return void this.setCursor(this.defaultCursor);let n=t.hoverCursor||this.hoverCursor,i=r(this._activeObject)?this._activeObject:null,a=(!i||t.group!==i)&&t.findControl(this.getViewportPoint(e));if(a){let{control:n,coord:r}=a;this.setCursor(n.cursorStyleHandler(e,n,t,r))}else{if(t.subTargetCheck){let{subTargets:t}=this.findTarget(e);t.concat().reverse().forEach(e=>{n=e.hoverCursor||n})}this.setCursor(n)}}handleMultiSelection(e,n){let i=this._activeObject,a=r(i);if(i&&this._isSelectionKeyPressed(e)&&this.selection&&n&&n.selectable&&(i!==n||a)&&(a||!n.isDescendantOf(i)&&!i.isDescendantOf(n))&&!n.onSelect({e})&&!i.getActiveControl()){if(a){let t=i.getObjects(),r=[];if(n===i){let i=this.getScenePoint(e),a=this.searchPossibleTargets(t,i);if(a.target?(n=a.target,r=a.subTargets):(a=this.searchPossibleTargets(this._objects,i),n=a.target,r=a.subTargets),!n||!n.selectable)return!1}n.group===i?(i.remove(n),this._hoveredTarget=n,this._hoveredTargets=r,i.size()===1&&this._setActiveObject(i.item(0),e)):(i.multiSelectAdd(n),this._hoveredTarget=i,this._hoveredTargets=r),this._fireSelectionEvents(t,e)}else{i.isEditing&&i.exitEditing();let r=new(t.getClass(`ActiveSelection`))([],{canvas:this});r.multiSelectAdd(i,n),this._hoveredTarget=r,this._setActiveObject(r,e),this._fireSelectionEvents([i],e)}return!0}return!1}handleSelection(e){if(!this.selection||!this._groupSelector)return!1;let{x:r,y:i,deltaX:a,deltaY:o}=this._groupSelector,s=new n(r,i),c=s.add(new n(a,o)),l=s.min(c),u=s.max(c).subtract(l),d=this.collectObjects({left:l.x,top:l.y,width:u.x,height:u.y},{includeIntersecting:!this.selectionFullyContained}),f=s.eq(c)?d[0]?[d[0]]:[]:d.length>1?d.filter(t=>!t.onSelect({e})).reverse():d;if(f.length===1)this.setActiveObject(f[0],e);else if(f.length>1){let n=t.getClass(`ActiveSelection`);this.setActiveObject(new n(f,{canvas:this}),e)}return this._groupSelector=null,!0}toCanvasElement(e=1,t){let{upper:n}=this.elements;n.ctx=void 0;let r=super.toCanvasElement(e,t);return n.ctx=n.el.getContext(`2d`),r}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}};export{g as Canvas};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import"../constants.min.mjs";import{classRegistry as t}from"../ClassRegistry.min.mjs";import{Point as n}from"../Point.min.mjs";import{isActiveSelection as r}from"../util/typeAssertions.min.mjs";import{getDocumentFromElement as i,getWindowFromElement as a}from"../util/dom_misc.min.mjs";import{isTouchEvent as o,stopEvent as s}from"../util/dom_event.min.mjs";import{sendPointToPlane as c}from"../util/misc/planeChange.min.mjs";import{SelectableCanvas as l}from"./SelectableCanvas.min.mjs";import{TextEditingManager as u}from"./TextEditingManager.min.mjs";const d={passive:!1},f=(e,t)=>({viewportPoint:e.getViewportPoint(t),scenePoint:e.getScenePoint(t)}),p=(e,...t)=>e.addEventListener(...t),m=(e,...t)=>e.removeEventListener(...t),h={mouse:{in:`over`,out:`out`,targetIn:`mouseover`,targetOut:`mouseout`,canvasIn:`mouse:over`,canvasOut:`mouse:out`},drag:{in:`enter`,out:`leave`,targetIn:`dragenter`,targetOut:`dragleave`,canvasIn:`drag:enter`,canvasOut:`drag:leave`}};var g=class extends l{constructor(t,n={}){super(t,n),e(this,`_isClick`,void 0),e(this,`textEditingManager`,new u(this)),[`_onMouseDown`,`_onTouchStart`,`_onMouseMove`,`_onMouseUp`,`_onTouchEnd`,`_onResize`,`_onMouseWheel`,`_onMouseOut`,`_onMouseEnter`,`_onContextMenu`,`_onClick`,`_onDragStart`,`_onDragEnd`,`_onDragProgress`,`_onDragOver`,`_onDragEnter`,`_onDragLeave`,`_onDrop`].forEach(e=>{this[e]=this[e].bind(this)}),this.addOrRemove(p)}_getEventPrefix(){return this.enablePointerEvents?`pointer`:`mouse`}addOrRemove(e,t=!1){let n=this.upperCanvasEl,r=this._getEventPrefix();e(a(n),`resize`,this._onResize),e(n,r+`down`,this._onMouseDown),e(n,`${r}move`,this._onMouseMove,d),e(n,`${r}out`,this._onMouseOut),e(n,`${r}enter`,this._onMouseEnter),e(n,`wheel`,this._onMouseWheel,{passive:!1}),e(n,`contextmenu`,this._onContextMenu),t||(e(n,`click`,this._onClick),e(n,`dblclick`,this._onClick)),e(n,`dragstart`,this._onDragStart),e(n,`dragend`,this._onDragEnd),e(n,`dragover`,this._onDragOver),e(n,`dragenter`,this._onDragEnter),e(n,`dragleave`,this._onDragLeave),e(n,`drop`,this._onDrop),this.enablePointerEvents||e(n,`touchstart`,this._onTouchStart,d)}removeListeners(){this.addOrRemove(m);let e=this._getEventPrefix(),t=i(this.upperCanvasEl);m(t,`${e}up`,this._onMouseUp),m(t,`touchend`,this._onTouchEnd,d),m(t,`${e}move`,this._onMouseMove,d),m(t,`touchmove`,this._onMouseMove,d),clearTimeout(this._willAddMouseDown)}_onMouseWheel(e){this._cacheTransformEventData(e),this._handleEvent(e,`wheel`),this._resetTransformEventData()}_onMouseOut(e){let t=this._hoveredTarget,n={e,...f(this,e)};this.fire(`mouse:out`,{...n,target:t}),this._hoveredTarget=void 0,t&&t.fire(`mouseout`,{...n}),this._hoveredTargets.forEach(e=>{this.fire(`mouse:out`,{...n,target:e}),e&&e.fire(`mouseout`,{...n})}),this._hoveredTargets=[]}_onMouseEnter(e){let{target:t}=this.findTarget(e);this._currentTransform||t||(this.fire(`mouse:over`,{e,...f(this,e)}),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(e){this._isClick=!1;let t=this.getActiveObject();if(t&&t.onDragStart(e)){this._dragSource=t;let n={e,target:t};this.fire(`dragstart`,n),t.fire(`dragstart`,n),p(this.upperCanvasEl,`drag`,this._onDragProgress);return}s(e)}_renderDragEffects(e,t,n){let r=!1,i=this._dropTarget;i&&i!==t&&i!==n&&(i.clearContextTop(),r=!0),t==null||t.clearContextTop(),n!==t&&(n==null||n.clearContextTop());let a=this.contextTop;a.save(),a.transform(...this.viewportTransform),t&&(a.save(),t.transform(a),t.renderDragSourceEffect(e),a.restore(),r=!0),n&&(a.save(),n.transform(a),n.renderDropTargetEffect(e),a.restore(),r=!0),a.restore(),r&&(this.contextTopDirty=!0)}_onDragEnd(e){let{currentSubTargets:t}=this.findTarget(e),n=!!e.dataTransfer&&e.dataTransfer.dropEffect!==`none`,r=n?this._activeObject:void 0,i={e,target:this._dragSource,subTargets:t,dragSource:this._dragSource,didDrop:n,dropTarget:r};m(this.upperCanvasEl,`drag`,this._onDragProgress),this.fire(`dragend`,i),this._dragSource&&this._dragSource.fire(`dragend`,i),delete this._dragSource,this._onMouseUp(e)}_onDragProgress(e){let t={e,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(`drag`,t),this._dragSource&&this._dragSource.fire(`drag`,t)}_onDragOver(e){let t=`dragover`,{currentContainer:n,currentSubTargets:r}=this.findTarget(e),i=this._dragSource,a={e,target:n,subTargets:r,dragSource:i,canDrop:!1,dropTarget:void 0},o;this.fire(t,a),this._fireEnterLeaveEvents(e,n,a),n&&(n.canDrop(e)&&(o=n),n.fire(t,a));for(let n=0;n<r.length;n++){let i=r[n];i.canDrop(e)&&(o=i),i.fire(t,a)}this._renderDragEffects(e,i,o),this._dropTarget=o}_onDragEnter(e){let{currentContainer:t,currentSubTargets:n}=this.findTarget(e),r={e,target:t,subTargets:n,dragSource:this._dragSource};this.fire(`dragenter`,r),this._fireEnterLeaveEvents(e,t,r)}_onDragLeave(e){let{currentSubTargets:t}=this.findTarget(e),n={e,target:this._draggedoverTarget,subTargets:t,dragSource:this._dragSource};this.fire(`dragleave`,n),this._fireEnterLeaveEvents(e,void 0,n),this._renderDragEffects(e,this._dragSource),this._dropTarget=void 0,this._hoveredTargets=[]}_onDrop(e){let{currentContainer:t,currentSubTargets:n}=this.findTarget(e),r=this._basicEventHandler(`drop:before`,{e,target:t,subTargets:n,dragSource:this._dragSource,...f(this,e)});r.didDrop=!1,r.dropTarget=void 0,this._basicEventHandler(`drop`,r),this.fire(`drop:after`,r)}_onContextMenu(e){let{target:t,subTargets:n}=this.findTarget(e),r=this._basicEventHandler(`contextmenu:before`,{e,target:t,subTargets:n});return this.stopContextMenu&&s(e),this._basicEventHandler(`contextmenu`,r),!1}_onClick(e){let t=e.detail;t>3||t<2||(this._cacheTransformEventData(e),t==2&&e.type===`dblclick`&&this._handleEvent(e,`dblclick`),t==3&&this._handleEvent(e,`tripleclick`),this._resetTransformEventData())}fireEventFromPointerEvent(e,t,n,r={}){this._cacheTransformEventData(e);let{target:i,subTargets:a}=this.findTarget(e),o={e,target:i,subTargets:a,...f(this,e),transform:this._currentTransform,...r};this.fire(t,o),i&&i.fire(n,o);for(let e=0;e<a.length;e++)a[e]!==i&&a[e].fire(n,o);this._resetTransformEventData()}getPointerId(e){let t=e.changedTouches;return t?t[0]&&t[0].identifier:this.enablePointerEvents?e.pointerId:-1}_isMainEvent(e){return!0===e.isPrimary||!1!==e.isPrimary&&(e.type===`touchend`&&e.touches.length===0||!e.changedTouches||e.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(e){this._cacheTransformEventData(e);let t=!this.allowTouchScrolling,n=this._activeObject;this.mainTouchId===void 0&&(this.mainTouchId=this.getPointerId(e)),this.__onMouseDown(e);let{target:r}=this.findTarget(e);(this.isDrawingMode||n&&r===n)&&(t=!0),t&&e.preventDefault();let a=this.upperCanvasEl,o=this._getEventPrefix(),s=i(a);p(s,`touchend`,this._onTouchEnd,d),t&&p(s,`touchmove`,this._onMouseMove,d),m(a,`${o}down`,this._onMouseDown),this._resetTransformEventData()}_onMouseDown(e){this._cacheTransformEventData(e),this.__onMouseDown(e);let t=this.upperCanvasEl,n=this._getEventPrefix();m(t,`${n}move`,this._onMouseMove,d);let r=i(t);p(r,`${n}up`,this._onMouseUp),p(r,`${n}move`,this._onMouseMove,d),this._resetTransformEventData()}_onTouchEnd(e){if(e.touches.length>0)return;this._cacheTransformEventData(e),this.__onMouseUp(e),this._resetTransformEventData(),delete this.mainTouchId;let t=this._getEventPrefix(),n=i(this.upperCanvasEl);m(n,`touchend`,this._onTouchEnd,d),m(n,`touchmove`,this._onMouseMove,d),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{p(this.upperCanvasEl,`${t}down`,this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(e){this._cacheTransformEventData(e),this.__onMouseUp(e);let t=this.upperCanvasEl,n=this._getEventPrefix();if(this._isMainEvent(e)){let e=i(this.upperCanvasEl);m(e,`${n}up`,this._onMouseUp),m(e,`${n}move`,this._onMouseMove,d),p(t,`${n}move`,this._onMouseMove,d)}this._resetTransformEventData()}_onMouseMove(e){this._cacheTransformEventData(e);let t=this.getActiveObject();!this.allowTouchScrolling&&(!t||!t.shouldStartDragging(e))&&e.preventDefault&&e.preventDefault(),this.__onMouseMove(e),this._resetTransformEventData()}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(e){let t=this.getActiveObject();return!!t!=!!e||t&&e&&t!==e}__onMouseUp(e){var t;this._handleEvent(e,`up:before`);let n=this._currentTransform,r=this._isClick,{target:i}=this.findTarget(e),{button:a}=e;if(a)return void((this.fireMiddleClick&&a===1||this.fireRightClick&&a===2)&&this._handleEvent(e,`up`));if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(e);if(!this._isMainEvent(e))return;let s,c,l=!1;if(n&&(this._finalizeCurrentTransform(e),l=n.actionPerformed),!r){let t=i===this._activeObject;this.handleSelection(e),l||(l=this._shouldRender(i)||!t&&i===this._activeObject)}if(i){let{key:t,control:r}=i.findControl(this.getViewportPoint(e),o(e))||{};if(c=t,i.selectable&&i!==this._activeObject&&i.activeOn===`up`)this.setActiveObject(i,e),l=!0;else if(r){let t=r.getMouseUpHandler(e,i,r);t&&(s=this.getScenePoint(e),t.call(r,e,n,s.x,s.y))}i.isMoving=!1}if(n&&(n.target!==i||n.corner!==c)){let t=n.target&&n.target.controls[n.corner],r=t&&t.getMouseUpHandler(e,n.target,t);s=s||this.getScenePoint(e),r&&r.call(t,e,n,s.x,s.y)}this._setCursorFromEvent(e,i),this._handleEvent(e,`up`),this._groupSelector=null,this._currentTransform=null,i&&(i.__corner=void 0),l?this.requestRenderAll():r||(t=this._activeObject)!=null&&t.isEditing||this.renderTop()}_basicEventHandler(e,t){let{target:n,subTargets:r=[]}=t;this.fire(e,t),n&&n.fire(e,t);for(let i=0;i<r.length;i++)r[i]!==n&&r[i].fire(e,t);return t}_handleEvent(e,t,n){let{target:r,subTargets:i}=this.findTarget(e),a={e,target:r,subTargets:i,...f(this,e),transform:this._currentTransform,...t===`down:before`||t===`down`?n:{}};t!==`up:before`&&t!==`up`||(a.isClick=this._isClick),this.fire(`mouse:${t}`,a),r&&r.fire(`mouse${t}`,a);for(let e=0;e<i.length;e++)i[e]!==r&&i[e].fire(`mouse${t}`,a)}_onMouseDownInDrawingMode(e){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(e),this.requestRenderAll());let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(t,{e,pointer:t}),this._handleEvent(e,`down`,{alreadySelected:!1})}_onMouseMoveInDrawingMode(e){if(this._isCurrentlyDrawing){let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(t,{e,pointer:t})}this.setCursor(this.freeDrawingCursor),this._handleEvent(e,`move`)}_onMouseUpInDrawingMode(e){let t=this.getScenePoint(e);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e,pointer:t}):this._isCurrentlyDrawing=!1,this._handleEvent(e,`up`)}__onMouseDown(e){this._isClick=!0,this._handleEvent(e,`down:before`);let{target:t}=this.findTarget(e),n=!!t&&t===this._activeObject,{button:r}=e;if(r)return void((this.fireMiddleClick&&r===1||this.fireRightClick&&r===2)&&this._handleEvent(e,`down`,{alreadySelected:n}));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(e);if(!this._isMainEvent(e)||this._currentTransform)return;let i=this._shouldRender(t),a=!1;if(this.handleMultiSelection(e,t)?(t=this._activeObject,a=!0,i=!0):this._shouldClearSelection(e,t)&&this.discardActiveObject(e),this.selection&&(!t||!t.selectable&&!t.isEditing&&t!==this._activeObject)){let t=this.getScenePoint(e);this._groupSelector={x:t.x,y:t.y,deltaY:0,deltaX:0}}if(n=!!t&&t===this._activeObject,t){t.selectable&&t.activeOn===`down`&&this.setActiveObject(t,e);let r=t.findControl(this.getViewportPoint(e),o(e));if(t===this._activeObject&&(r||!a)){this._setupCurrentTransform(e,t,n);let i=r?r.control:void 0,a=this.getScenePoint(e),o=i&&i.getMouseDownHandler(e,t,i);o&&o.call(i,e,this._currentTransform,a.x,a.y)}}i&&(this._objectsToRender=void 0),this._handleEvent(e,`down`,{alreadySelected:n}),i&&this.requestRenderAll()}_resetTransformEventData(){this._targetInfo=this._viewportPoint=this._scenePoint=void 0}_cacheTransformEventData(e){this._resetTransformEventData(),this._viewportPoint=this.getViewportPoint(e),this._scenePoint=c(this._viewportPoint,void 0,this.viewportTransform),this._targetInfo=this.findTarget(e),this._currentTransform&&(this._targetInfo.target=this._currentTransform.target)}__onMouseMove(e){if(this._isClick=!1,this._handleEvent(e,`move:before`),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(e);if(!this._isMainEvent(e))return;let t=this._groupSelector;if(t){let n=this.getScenePoint(e);t.deltaX=n.x-t.x,t.deltaY=n.y-t.y,this.renderTop()}else if(this._currentTransform)this._transformObject(e);else{let{target:t}=this.findTarget(e);this._setCursorFromEvent(e,t),this._fireOverOutEvents(e,t)}this.textEditingManager.onMouseMove(e),this._handleEvent(e,`move`)}_fireOverOutEvents(e,t){let{_hoveredTarget:n,_hoveredTargets:r}=this,{subTargets:i,currentTarget:a}=this.findTarget(e),o=Math.max(r.length,i.length);this.fireSyntheticInOutEvents(`mouse`,{e,target:t,oldTarget:n,actualTarget:a,oldActualTarget:this._hoveredActualTarget,fireCanvas:!0});for(let a=0;a<o;a++)i[a]===t||r[a]&&r[a]===n||this.fireSyntheticInOutEvents(`mouse`,{e,target:i[a],oldTarget:r[a]});this._hoveredActualTarget=a,this._hoveredTarget=t,this._hoveredTargets=i}_fireEnterLeaveEvents(e,t,n){let r=this._draggedoverTarget,i=this._hoveredTargets,{subTargets:a}=this.findTarget(e),o=Math.max(i.length,a.length);this.fireSyntheticInOutEvents(`drag`,{...n,target:t,oldTarget:r,fireCanvas:!0});for(let e=0;e<o;e++)this.fireSyntheticInOutEvents(`drag`,{...n,target:a[e],oldTarget:i[e]});this._draggedoverTarget=t}fireSyntheticInOutEvents(e,{target:t,oldTarget:n,actualTarget:r,oldActualTarget:i,fireCanvas:a,e:o,...s}){let{targetIn:c,targetOut:l,canvasIn:u,canvasOut:d}=h[e],p=n!==t,m=i!==r,g=t&&p,_=r&&m,v=n&&p,y=i&&m,b={...s,e:o,...f(this,o)},x={...b,target:n,nextTarget:t,actualTarget:i,nextActualTarget:r};(v||y)&&a&&this.fire(d,x),v&&n.fire(l,x),y&&n!==i&&i.fire(l,x);let S={...b,target:t,previousTarget:n,actualTarget:r,previousActualTarget:i};(g||_)&&a&&this.fire(u,S),g&&t.fire(c,S),_&&r!==t&&r.fire(c,S)}_transformObject(e){let t=this.getScenePoint(e),n=this._currentTransform,r=n.target,i=r.group?c(t,void 0,r.group.calcTransformMatrix()):t;n.shiftKey=e.shiftKey,n.altKey=!!this.centeredKey&&e[this.centeredKey],this._performTransformAction(e,n,i),n.actionPerformed&&this.requestRenderAll()}_performTransformAction(e,t,n){let{action:r,actionHandler:i,target:a}=t,o=!!i&&i(e,t,n.x,n.y);o&&a.setCoords(),r===`drag`&&o&&(t.target.isMoving=!0,this.setCursor(t.target.moveCursor||this.moveCursor)),t.actionPerformed=t.actionPerformed||o}_setCursorFromEvent(e,t){if(!t)return void this.setCursor(this.defaultCursor);let n=t.hoverCursor||this.hoverCursor,i=r(this._activeObject)?this._activeObject:null,a=(!i||t.group!==i)&&t.findControl(this.getViewportPoint(e));if(a){let{control:n,coord:r}=a;this.setCursor(n.cursorStyleHandler(e,n,t,r))}else{if(t.subTargetCheck){let{subTargets:t}=this.findTarget(e);t.concat().reverse().forEach(e=>{n=e.hoverCursor||n})}this.setCursor(n)}}handleMultiSelection(e,n){let i=this._activeObject,a=r(i);if(i&&this._isSelectionKeyPressed(e)&&this.selection&&n&&n.selectable&&(i!==n||a)&&(a||!n.isDescendantOf(i)&&!i.isDescendantOf(n))&&!n.onSelect({e})&&!i.getActiveControl()){if(a){let t=i.getObjects(),r=[];if(n===i){let i=this.getScenePoint(e),a=this.searchPossibleTargets(t,i);if(a.target?(n=a.target,r=a.subTargets):(a=this.searchPossibleTargets(this._objects,i),n=a.target,r=a.subTargets),!n||!n.selectable)return!1}n.group===i?(i.remove(n),this._hoveredTarget=n,this._hoveredTargets=r,i.size()===1&&this._setActiveObject(i.item(0),e)):(i.multiSelectAdd(n),this._hoveredTarget=i,this._hoveredTargets=r),this._fireSelectionEvents(t,e)}else{i.isEditing&&i.exitEditing();let r=new(t.getClass(`ActiveSelection`))([],{canvas:this});r.multiSelectAdd(i,n),this._hoveredTarget=r,this._setActiveObject(r,e),this._fireSelectionEvents([i],e)}return!0}return!1}handleSelection(e){if(!this.selection||!this._groupSelector)return!1;let{x:r,y:i,deltaX:a,deltaY:o}=this._groupSelector,s=new n(r,i),c=s.add(new n(a,o)),l=s.min(c),u=s.max(c).subtract(l),d=this.collectObjects({left:l.x,top:l.y,width:u.x,height:u.y},{includeIntersecting:!this.selectionFullyContained}),f=s.eq(c)?d[0]?[d[0]]:[]:d.length>1?d.filter(t=>!t.onSelect({e})).reverse():d;if(f.length===1)this.setActiveObject(f[0],e);else if(f.length>1){let n=t.getClass(`ActiveSelection`);this.setActiveObject(new n(f,{canvas:this}),e)}return this._groupSelector=null,!0}toCanvasElement(e=1,t){let{upper:n}=this.elements;n.ctx=void 0;let r=super.toCanvasElement(e,t);return n.ctx=n.el.getContext(`2d`),r}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}};export{g as Canvas};
2
2
  //# sourceMappingURL=Canvas.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import "../constants.mjs";
3
3
  import { classRegistry } from "../ClassRegistry.mjs";
4
4
  import { Point } from "../Point.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{getEnv as t,getFabricDocument as n}from"../../env/index.min.mjs";import{NONE as r}from"../../constants.min.mjs";import{createCanvasElement as i}from"../../util/misc/dom.min.mjs";import{makeElementUnselectable as a,setCSSDimensions as o,setCanvasDimensions as s}from"./util.min.mjs";import{StaticCanvasDOMManager as c}from"./StaticCanvasDOMManager.min.mjs";import{setStyle as l}from"../../util/internals/dom_style.min.mjs";var u=class extends c{constructor(t,{allowTouchScrolling:n=!1,containerClass:r=``}={}){super(t),e(this,`upper`,void 0),e(this,`container`,void 0);let{el:i}=this.lower,a=this.createUpperCanvas();this.upper={el:a,ctx:a.getContext(`2d`)},this.applyCanvasStyle(i,{allowTouchScrolling:n}),this.applyCanvasStyle(a,{allowTouchScrolling:n,styles:{position:`absolute`,left:`0`,top:`0`}});let o=this.createContainerElement();o.classList.add(r),i.parentNode&&i.parentNode.replaceChild(o,i),o.append(i,a),this.container=o}createUpperCanvas(){let{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(){let e=n().createElement(`div`);return e.setAttribute(`data-fabric`,`wrapper`),l(e,{position:`relative`}),a(e),e}applyCanvasStyle(e,t){let{styles:n,allowTouchScrolling:i}=t;l(e,{...n,"touch-action":i?`manipulation`:r}),a(e)}setDimensions(e,t){super.setDimensions(e,t);let{el:n,ctx:r}=this.upper;s(n,r,e,t)}setCSSDimensions(e){super.setCSSDimensions(e),o(this.upper.el,e),o(this.container,e)}cleanupDOM(e){let t=this.container,{el:n}=this.lower,{el:r}=this.upper;super.cleanupDOM(e),t.removeChild(r),t.removeChild(n),t.parentNode&&t.parentNode.replaceChild(n,t)}dispose(){super.dispose(),t().dispose(this.upper.el),delete this.upper,delete this.container}};export{u as CanvasDOMManager};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{getEnv as t,getFabricDocument as n}from"../../env/index.min.mjs";import{NONE as r}from"../../constants.min.mjs";import{createCanvasElement as i}from"../../util/misc/dom.min.mjs";import{makeElementUnselectable as a,setCSSDimensions as o,setCanvasDimensions as s}from"./util.min.mjs";import{StaticCanvasDOMManager as c}from"./StaticCanvasDOMManager.min.mjs";import{setStyle as l}from"../../util/internals/dom_style.min.mjs";var u=class extends c{constructor(t,{allowTouchScrolling:n=!1,containerClass:r=``}={}){super(t),e(this,`upper`,void 0),e(this,`container`,void 0);let{el:i}=this.lower,a=this.createUpperCanvas();this.upper={el:a,ctx:a.getContext(`2d`)},this.applyCanvasStyle(i,{allowTouchScrolling:n}),this.applyCanvasStyle(a,{allowTouchScrolling:n,styles:{position:`absolute`,left:`0`,top:`0`}});let o=this.createContainerElement();o.classList.add(r),i.parentNode&&i.parentNode.replaceChild(o,i),o.append(i,a),this.container=o}createUpperCanvas(){let{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(){let e=n().createElement(`div`);return e.setAttribute(`data-fabric`,`wrapper`),l(e,{position:`relative`}),a(e),e}applyCanvasStyle(e,t){let{styles:n,allowTouchScrolling:i}=t;l(e,{...n,"touch-action":i?`manipulation`:r}),a(e)}setDimensions(e,t){super.setDimensions(e,t);let{el:n,ctx:r}=this.upper;s(n,r,e,t)}setCSSDimensions(e){super.setCSSDimensions(e),o(this.upper.el,e),o(this.container,e)}cleanupDOM(e){let t=this.container,{el:n}=this.lower,{el:r}=this.upper;super.cleanupDOM(e),t.removeChild(r),t.removeChild(n),t.parentNode&&t.parentNode.replaceChild(n,t)}dispose(){super.dispose(),t().dispose(this.upper.el),delete this.upper,delete this.container}};export{u as CanvasDOMManager};
2
2
  //# sourceMappingURL=CanvasDOMManager.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { getEnv, getFabricDocument } from "../../env/index.mjs";
3
3
  import { NONE } from "../../constants.mjs";
4
4
  import { createCanvasElement } from "../../util/misc/dom.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{FabricError as t}from"../../util/internals/console.min.mjs";import{getEnv as n,getFabricDocument as r}from"../../env/index.min.mjs";import{createCanvasElement as i,isHTMLCanvas as a}from"../../util/misc/dom.min.mjs";import{getElementOffset as o,setCSSDimensions as s,setCanvasDimensions as c}from"./util.min.mjs";var l=class{constructor(t){e(this,`_originalCanvasStyle`,void 0),e(this,`lower`,void 0);let n=this.createLowerCanvas(t);this.lower={el:n,ctx:n.getContext(`2d`)}}createLowerCanvas(e){let n=a(e)?e:e&&r().getElementById(e)||i();if(n.hasAttribute(`data-fabric`))throw new t(`Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?`);return this._originalCanvasStyle=n.style.cssText,n.setAttribute(`data-fabric`,`main`),n.classList.add(`lower-canvas`),n}cleanupDOM({width:e,height:t}){let{el:n}=this.lower;n.classList.remove(`lower-canvas`),n.removeAttribute(`data-fabric`),n.setAttribute(`width`,`${e}`),n.setAttribute(`height`,`${t}`),n.style.cssText=this._originalCanvasStyle||``,this._originalCanvasStyle=void 0}setDimensions(e,t){let{el:n,ctx:r}=this.lower;c(n,r,e,t)}setCSSDimensions(e){s(this.lower.el,e)}calcOffset(){return o(this.lower.el)}dispose(){n().dispose(this.lower.el),delete this.lower}};export{l as StaticCanvasDOMManager};
1
+ import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{FabricError as t}from"../../util/internals/console.min.mjs";import{getEnv as n,getFabricDocument as r}from"../../env/index.min.mjs";import{createCanvasElement as i,isHTMLCanvas as a}from"../../util/misc/dom.min.mjs";import{getElementOffset as o,setCSSDimensions as s,setCanvasDimensions as c}from"./util.min.mjs";var l=class{constructor(t){e(this,`_originalCanvasStyle`,void 0),e(this,`lower`,void 0);let n=this.createLowerCanvas(t);this.lower={el:n,ctx:n.getContext(`2d`)}}createLowerCanvas(e){let n=a(e)?e:e&&r().getElementById(e)||i();if(n.hasAttribute(`data-fabric`))throw new t(`Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?`);return this._originalCanvasStyle=n.style.cssText,n.setAttribute(`data-fabric`,`main`),n.classList.add(`lower-canvas`),n}cleanupDOM({width:e,height:t}){let{el:n}=this.lower;n.classList.remove(`lower-canvas`),n.removeAttribute(`data-fabric`),n.setAttribute(`width`,`${e}`),n.setAttribute(`height`,`${t}`),n.style.cssText=this._originalCanvasStyle||``,this._originalCanvasStyle=void 0}setDimensions(e,t){let{el:n,ctx:r}=this.lower;c(n,r,e,t)}setCSSDimensions(e){s(this.lower.el,e)}calcOffset(){return o(this.lower.el)}dispose(){n().dispose(this.lower.el),delete this.lower}};export{l as StaticCanvasDOMManager};
2
2
  //# sourceMappingURL=StaticCanvasDOMManager.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { FabricError } from "../../util/internals/console.mjs";
3
3
  import { getEnv, getFabricDocument } from "../../env/index.mjs";
4
4
  import { createCanvasElement, isHTMLCanvas } from "../../util/misc/dom.mjs";
@@ -1,2 +1,2 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{BOTTOM as t,CENTER as n,LEFT as r,MODIFIED as i,RIGHT as a,SCALE_X as o,SCALE_Y as s,SKEW_X as c,SKEW_Y as l}from"../constants.min.mjs";import{cos as u}from"../util/misc/cos.min.mjs";import{sin as d}from"../util/misc/sin.min.mjs";import{Point as f}from"../Point.min.mjs";import{isCollection as p}from"../Collection.min.mjs";import{createCanvasElement as m}from"../util/misc/dom.min.mjs";import{degreesToRadians as h}from"../util/misc/radiansDegreesConversion.min.mjs";import{pick as g}from"../util/misc/pick.min.mjs";import{isActiveSelection as _}from"../util/typeAssertions.min.mjs";import{StaticCanvas as v}from"./StaticCanvas.min.mjs";import{getPointer as y,isTouchEvent as b}from"../util/dom_event.min.mjs";import{addTransformToObject as x,saveObjectTransform as S}from"../util/misc/objectTransforms.min.mjs";import{sendPointToPlane as C}from"../util/misc/planeChange.min.mjs";import{getActionFromCorner as w}from"../controls/util.min.mjs";import{Intersection as T}from"../Intersection.min.mjs";import{FabricObject as E}from"../shapes/Object/FabricObject.min.mjs";import{isTransparent as D}from"../util/misc/isTransparent.min.mjs";import{CanvasDOMManager as O}from"./DOMManagers/CanvasDOMManager.min.mjs";import{canvasDefaults as k}from"./CanvasOptions.min.mjs";import{dragHandler as A}from"../controls/drag.min.mjs";var j=class k extends v{constructor(...t){super(...t),e(this,`_hoveredTargets`,[]),e(this,`_currentTransform`,null),e(this,`_groupSelector`,null),e(this,`contextTopDirty`,!1)}static getDefaults(){return{...super.getDefaults(),...k.ownDefaults}}get upperCanvasEl(){var e;return(e=this.elements.upper)==null?void 0:e.el}get contextTop(){var e;return(e=this.elements.upper)==null?void 0:e.ctx}get wrapperEl(){return this.elements.container}initElements(e){this.elements=new O(e,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(e){this._objectsToRender=void 0,super._onObjectAdded(e)}_onObjectRemoved(e){this._objectsToRender=void 0,e===this._activeObject&&(this.fire(`before:selection:cleared`,{deselected:[e]}),this._discardActiveObject(),this.fire(`selection:cleared`,{deselected:[e]}),e.fire(`deselected`,{target:e})),e===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(e)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let e=this._activeObject;return!this.preserveObjectStacking&&e?this._objects.filter(t=>!t.group&&t!==e).concat(e):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(e){e.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(e),this.contextTopDirty=!0),e.restore()}renderTop(){let e=this.contextTop;this.clearContext(e),this.renderTopLayer(e),this.fire(`after:render`,{ctx:e})}setTargetFindTolerance(e){e=Math.round(e),this.targetFindTolerance=e;let t=this.getRetinaScaling(),n=Math.ceil((2*e+1)*t);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=n,this.pixelFindContext.scale(t,t)}isTargetTransparent(e,t,n){let r=this.targetFindTolerance,i=this.pixelFindContext;this.clearContext(i),i.save(),i.translate(-t+r,-n+r),i.transform(...this.viewportTransform);let a=e.selectionBackgroundColor;e.selectionBackgroundColor=``,e.render(i),e.selectionBackgroundColor=a,i.restore();let o=Math.round(r*this.getRetinaScaling());return D(i,o,o,o)}_isSelectionKeyPressed(e){let t=this.selectionKey;return!!t&&(Array.isArray(t)?!!t.find(t=>!!t&&!0===e[t]):e[t])}_shouldClearSelection(e,t){let n=this.getActiveObjects(),r=this._activeObject;return!!(!t||t&&r&&n.length>1&&n.indexOf(t)===-1&&r!==t&&!this._isSelectionKeyPressed(e)||t&&!t.evented||t&&!t.selectable&&r&&r!==t)}_shouldCenterTransform(e,t,n){if(!e)return;let r;return t===`scale`||t===`scaleX`||t===`scaleY`||t===`resizing`?r=this.centeredScaling||e.centeredScaling:t===`rotate`&&(r=this.centeredRotation||e.centeredRotation),r?!n:n}_getOriginFromCorner(e,n){let i=n?e.controls[n].getTransformAnchorPoint():{x:e.originX,y:e.originY};return n?([`ml`,`tl`,`bl`].includes(n)?i.x=a:[`mr`,`tr`,`br`].includes(n)&&(i.x=r),[`tl`,`mt`,`tr`].includes(n)?i.y=t:[`bl`,`mb`,`br`].includes(n)&&(i.y=`top`),i):i}_setupCurrentTransform(e,t,r){var i;let a=t.group?C(this.getScenePoint(e),void 0,t.group.calcTransformMatrix()):this.getScenePoint(e),{key:o=``,control:s}=t.getActiveControl()||{},c=r&&s?(i=s.getActionHandler(e,t,s))==null?void 0:i.bind(s):A,l=w(r,o,e,t),u=e[this.centeredKey],d=this._shouldCenterTransform(t,l,u)?{x:n,y:n}:this._getOriginFromCorner(t,o),{scaleX:f,scaleY:p,skewX:m,skewY:g,left:_,top:v,angle:y,width:b,height:x,cropX:T,cropY:E}=t,D={target:t,action:l,actionHandler:c,actionPerformed:!1,corner:o,scaleX:f,scaleY:p,skewX:m,skewY:g,offsetX:a.x-_,offsetY:a.y-v,originX:d.x,originY:d.y,ex:a.x,ey:a.y,lastX:a.x,lastY:a.y,theta:h(y),width:b,height:x,shiftKey:e.shiftKey,altKey:u,original:{...S(t),originX:d.x,originY:d.y,cropX:T,cropY:E}};this._currentTransform=D,this.fire(`before:transform`,{e,transform:D})}setCursor(e){this.upperCanvasEl.style.cursor=e}_drawSelection(e){let{x:t,y:n,deltaX:r,deltaY:i}=this._groupSelector,a=new f(t,n).transform(this.viewportTransform),o=new f(t+r,n+i).transform(this.viewportTransform),s=this.selectionLineWidth/2,c=Math.min(a.x,o.x),l=Math.min(a.y,o.y),u=Math.max(a.x,o.x),d=Math.max(a.y,o.y);this.selectionColor&&(e.fillStyle=this.selectionColor,e.fillRect(c,l,u-c,d-l)),this.selectionLineWidth&&this.selectionBorderColor&&(e.lineWidth=this.selectionLineWidth,e.strokeStyle=this.selectionBorderColor,c+=s,l+=s,u-=s,d-=s,E.prototype._setLineDash.call(this,e,this.selectionDashArray),e.strokeRect(c,l,u-c,d-l))}findTarget(e){if(this._targetInfo)return this._targetInfo;if(this.skipTargetFind)return{subTargets:[],currentSubTargets:[]};let t=this.getScenePoint(e),n=this._activeObject,r=this.getActiveObjects(),i=this.searchPossibleTargets(this._objects,t),{subTargets:a,container:o,target:s}=i,c={...i,currentSubTargets:a,currentContainer:o,currentTarget:s};if(!n)return c;let l={...this.searchPossibleTargets([n],t),currentSubTargets:a,currentContainer:o,currentTarget:s};return n.findControl(this.getViewportPoint(e),b(e))?{...l,target:n}:l.target&&(r.length>1||!this.preserveObjectStacking||this.preserveObjectStacking&&e[this.altSelectionKey])?l:c}_pointIsInObjectSelectionArea(e,t){let n=e.getCoords(),r=this.getZoom(),i=e.padding/r;if(i){let[e,t,r,a]=n,o=Math.atan2(t.y-e.y,t.x-e.x),s=u(o)*i,c=d(o)*i,l=s+c,p=s-c;n=[new f(e.x-p,e.y-l),new f(t.x+l,t.y-p),new f(r.x+p,r.y+l),new f(a.x-l,a.y+p)]}return T.isPointInPolygon(t,n)}_checkTarget(e,t){if(e&&e.visible&&e.evented&&this._pointIsInObjectSelectionArea(e,t)){if(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing)return!0;{let n=t.transform(this.viewportTransform);if(!this.isTargetTransparent(e,n.x,n.y))return!0}}return!1}_searchPossibleTargets(e,t,n){let r=e.length;for(;r--;){let i=e[r];if(this._checkTarget(i,t)){if(p(i)&&i.subTargetCheck){let{target:e}=this._searchPossibleTargets(i._objects,t,n);e&&n.push(e)}return{target:i,subTargets:n}}}return{subTargets:[]}}searchPossibleTargets(e,t){let n=this._searchPossibleTargets(e,t,[]);n.container=n.target;let{container:r,subTargets:i}=n;if(r&&p(r)&&r.interactive&&i[0]){for(let e=i.length-1;e>0;e--){let t=i[e];if(!p(t)||!t.interactive)return n.target=t,n}return n.target=i[0],n}return n}getViewportPoint(e){return this._viewportPoint?this._viewportPoint:this._getPointerImpl(e,!0)}getScenePoint(e){return this._scenePoint?this._scenePoint:this._getPointerImpl(e)}_getPointerImpl(e,t=!1){let n=this.upperCanvasEl,r=n.getBoundingClientRect(),i=y(e),a=r.width||0,o=r.height||0;a&&o||(`top`in r&&`bottom`in r&&(o=Math.abs(r.top-r.bottom)),`right`in r&&`left`in r&&(a=Math.abs(r.right-r.left))),this.calcOffset(),i.x-=this._offset.left,i.y-=this._offset.top,t||(i=C(i,void 0,this.viewportTransform));let s=this.getRetinaScaling();s!==1&&(i.x/=s,i.y/=s);let c=a===0||o===0?new f(1,1):new f(n.width/a,n.height/o);return i.multiply(c)}_setDimensionsImpl(e,t){this._resetTransformEventData(),super._setDimensionsImpl(e,t),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=m(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(`2d`,{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let e=this._activeObject;return _(e)?e.getObjects():e?[e]:[]}_fireSelectionEvents(e,t){let n=!1,r=!1,i=this.getActiveObjects(),a=[],o=[];e.forEach(e=>{i.includes(e)||(n=!0,e.fire(`deselected`,{e:t,target:e}),o.push(e))}),i.forEach(r=>{e.includes(r)||(n=!0,r.fire(`selected`,{e:t,target:r}),a.push(r))}),e.length>0&&i.length>0?(r=!0,n&&this.fire(`selection:updated`,{e:t,selected:a,deselected:o})):i.length>0?(r=!0,this.fire(`selection:created`,{e:t,selected:a})):e.length>0&&(r=!0,this.fire(`selection:cleared`,{e:t,deselected:o})),r&&(this._objectsToRender=void 0)}setActiveObject(e,t){let n=this.getActiveObjects(),r=this._setActiveObject(e,t);return this._fireSelectionEvents(n,t),r}_setActiveObject(e,t){let n=this._activeObject;return n!==e&&!(!this._discardActiveObject(t,e)&&this._activeObject)&&!e.onSelect({e:t})&&(this._activeObject=e,_(e)&&n!==e&&e.set(`canvas`,this),e.setCoords(),!0)}_discardActiveObject(e,t){let n=this._activeObject;return!!n&&!n.onDeselect({e,object:t})&&(this._currentTransform&&this._currentTransform.target===n&&this.endCurrentTransform(e),_(n)&&n===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(e){let t=this.getActiveObjects(),n=this.getActiveObject();t.length&&this.fire(`before:selection:cleared`,{e,deselected:[n]});let r=this._discardActiveObject(e);return this._fireSelectionEvents(t,e),r}endCurrentTransform(e){let t=this._currentTransform;this._finalizeCurrentTransform(e),t&&t.target&&(t.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(e){let t=this._currentTransform,n=t.target,r={e,target:n,transform:t,action:t.action};n._scaling&&(n._scaling=!1),n.setCoords(),t.actionPerformed&&(this.fire(`object:modified`,r),n.fire(i,r))}setViewportTransform(e){super.setViewportTransform(e);let t=this._activeObject;t&&t.setCoords()}destroy(){let e=this._activeObject;_(e)&&(e.removeAll(),e.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(e){let t=this._activeObject;t&&t._renderControls(e)}_toObject(e,t,n){let r=this._realizeGroupTransformOnObject(e),i=super._toObject(e,t,n);return e.set(r),i}_realizeGroupTransformOnObject(e){let{group:t}=e;if(t&&_(t)&&this._activeObject===t){let n=g(e,[`angle`,`flipX`,`flipY`,r,o,s,c,l,`top`]);return x(e,t.calcOwnMatrix()),n}return{}}_setSVGObject(e,t,n){let r=this._realizeGroupTransformOnObject(t);super._setSVGObject(e,t,n),t.set(r)}};e(j,`ownDefaults`,k);export{j as SelectableCanvas};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.min.mjs";import{BOTTOM as t,CENTER as n,LEFT as r,MODIFIED as i,RIGHT as a,SCALE_X as o,SCALE_Y as s,SKEW_X as c,SKEW_Y as l}from"../constants.min.mjs";import{cos as u}from"../util/misc/cos.min.mjs";import{sin as d}from"../util/misc/sin.min.mjs";import{Point as f}from"../Point.min.mjs";import{isCollection as p}from"../Collection.min.mjs";import{createCanvasElement as m}from"../util/misc/dom.min.mjs";import{degreesToRadians as h}from"../util/misc/radiansDegreesConversion.min.mjs";import{pick as g}from"../util/misc/pick.min.mjs";import{isActiveSelection as _}from"../util/typeAssertions.min.mjs";import{StaticCanvas as v}from"./StaticCanvas.min.mjs";import{getPointer as y,isTouchEvent as b}from"../util/dom_event.min.mjs";import{addTransformToObject as x,saveObjectTransform as S}from"../util/misc/objectTransforms.min.mjs";import{sendPointToPlane as C}from"../util/misc/planeChange.min.mjs";import{getActionFromCorner as w}from"../controls/util.min.mjs";import{Intersection as T}from"../Intersection.min.mjs";import{FabricObject as E}from"../shapes/Object/FabricObject.min.mjs";import{isTransparent as D}from"../util/misc/isTransparent.min.mjs";import{CanvasDOMManager as O}from"./DOMManagers/CanvasDOMManager.min.mjs";import{canvasDefaults as k}from"./CanvasOptions.min.mjs";import{dragHandler as A}from"../controls/drag.min.mjs";var j=class k extends v{constructor(...t){super(...t),e(this,`_hoveredTargets`,[]),e(this,`_currentTransform`,null),e(this,`_groupSelector`,null),e(this,`contextTopDirty`,!1)}static getDefaults(){return{...super.getDefaults(),...k.ownDefaults}}get upperCanvasEl(){var e;return(e=this.elements.upper)==null?void 0:e.el}get contextTop(){var e;return(e=this.elements.upper)==null?void 0:e.ctx}get wrapperEl(){return this.elements.container}initElements(e){this.elements=new O(e,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(e){this._objectsToRender=void 0,super._onObjectAdded(e)}_onObjectRemoved(e){this._objectsToRender=void 0,e===this._activeObject&&(this.fire(`before:selection:cleared`,{deselected:[e]}),this._discardActiveObject(),this.fire(`selection:cleared`,{deselected:[e]}),e.fire(`deselected`,{target:e})),e===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(e)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let e=this._activeObject;return!this.preserveObjectStacking&&e?this._objects.filter(t=>!t.group&&t!==e).concat(e):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(e){e.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(e),this.contextTopDirty=!0),e.restore()}renderTop(){let e=this.contextTop;this.clearContext(e),this.renderTopLayer(e),this.fire(`after:render`,{ctx:e})}setTargetFindTolerance(e){e=Math.round(e),this.targetFindTolerance=e;let t=this.getRetinaScaling(),n=Math.ceil((2*e+1)*t);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=n,this.pixelFindContext.scale(t,t)}isTargetTransparent(e,t,n){let r=this.targetFindTolerance,i=this.pixelFindContext;this.clearContext(i),i.save(),i.translate(-t+r,-n+r),i.transform(...this.viewportTransform);let a=e.selectionBackgroundColor;e.selectionBackgroundColor=``,e.render(i),e.selectionBackgroundColor=a,i.restore();let o=Math.round(r*this.getRetinaScaling());return D(i,o,o,o)}_isSelectionKeyPressed(e){let t=this.selectionKey;return!!t&&(Array.isArray(t)?!!t.find(t=>!!t&&!0===e[t]):e[t])}_shouldClearSelection(e,t){let n=this.getActiveObjects(),r=this._activeObject;return!!(!t||t&&r&&n.length>1&&n.indexOf(t)===-1&&r!==t&&!this._isSelectionKeyPressed(e)||t&&!t.evented||t&&!t.selectable&&r&&r!==t)}_shouldCenterTransform(e,t,n){if(!e)return;let r;return t===`scale`||t===`scaleX`||t===`scaleY`||t===`resizing`?r=this.centeredScaling||e.centeredScaling:t===`rotate`&&(r=this.centeredRotation||e.centeredRotation),r?!n:n}_getOriginFromCorner(e,n){let i=n?e.controls[n].getTransformAnchorPoint():{x:e.originX,y:e.originY};return n?([`ml`,`tl`,`bl`].includes(n)?i.x=a:[`mr`,`tr`,`br`].includes(n)&&(i.x=r),[`tl`,`mt`,`tr`].includes(n)?i.y=t:[`bl`,`mb`,`br`].includes(n)&&(i.y=`top`),i):i}_setupCurrentTransform(e,t,r){var i;let a=t.group?C(this.getScenePoint(e),void 0,t.group.calcTransformMatrix()):this.getScenePoint(e),{key:o=``,control:s}=t.getActiveControl()||{},c=r&&s?(i=s.getActionHandler(e,t,s))==null?void 0:i.bind(s):A,l=w(r,o,e,t),u=e[this.centeredKey],d=this._shouldCenterTransform(t,l,u)?{x:n,y:n}:this._getOriginFromCorner(t,o),{scaleX:f,scaleY:p,skewX:m,skewY:g,left:_,top:v,angle:y,width:b,height:x,cropX:T,cropY:E}=t,D={target:t,action:l,actionHandler:c,actionPerformed:!1,corner:o,scaleX:f,scaleY:p,skewX:m,skewY:g,offsetX:a.x-_,offsetY:a.y-v,originX:d.x,originY:d.y,ex:a.x,ey:a.y,lastX:a.x,lastY:a.y,theta:h(y),width:b,height:x,shiftKey:e.shiftKey,altKey:u,original:{...S(t),originX:d.x,originY:d.y,cropX:T,cropY:E}};this._currentTransform=D,this.fire(`before:transform`,{e,transform:D})}setCursor(e){this.upperCanvasEl.style.cursor=e}_drawSelection(e){let{x:t,y:n,deltaX:r,deltaY:i}=this._groupSelector,a=new f(t,n).transform(this.viewportTransform),o=new f(t+r,n+i).transform(this.viewportTransform),s=this.selectionLineWidth/2,c=Math.min(a.x,o.x),l=Math.min(a.y,o.y),u=Math.max(a.x,o.x),d=Math.max(a.y,o.y);this.selectionColor&&(e.fillStyle=this.selectionColor,e.fillRect(c,l,u-c,d-l)),this.selectionLineWidth&&this.selectionBorderColor&&(e.lineWidth=this.selectionLineWidth,e.strokeStyle=this.selectionBorderColor,c+=s,l+=s,u-=s,d-=s,E.prototype._setLineDash.call(this,e,this.selectionDashArray),e.strokeRect(c,l,u-c,d-l))}findTarget(e){if(this._targetInfo)return this._targetInfo;if(this.skipTargetFind)return{subTargets:[],currentSubTargets:[]};let t=this.getScenePoint(e),n=this._activeObject,r=this.getActiveObjects(),i=this.searchPossibleTargets(this._objects,t),{subTargets:a,container:o,target:s}=i,c={...i,currentSubTargets:a,currentContainer:o,currentTarget:s};if(!n)return c;let l={...this.searchPossibleTargets([n],t),currentSubTargets:a,currentContainer:o,currentTarget:s};return n.findControl(this.getViewportPoint(e),b(e))?{...l,target:n}:l.target&&(r.length>1||!this.preserveObjectStacking||this.preserveObjectStacking&&e[this.altSelectionKey])?l:c}_pointIsInObjectSelectionArea(e,t){let n=e.getCoords(),r=this.getZoom(),i=e.padding/r;if(i){let[e,t,r,a]=n,o=Math.atan2(t.y-e.y,t.x-e.x),s=u(o)*i,c=d(o)*i,l=s+c,p=s-c;n=[new f(e.x-p,e.y-l),new f(t.x+l,t.y-p),new f(r.x+p,r.y+l),new f(a.x-l,a.y+p)]}return T.isPointInPolygon(t,n)}_checkTarget(e,t){if(e&&e.visible&&e.evented&&this._pointIsInObjectSelectionArea(e,t)){if(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing)return!0;{let n=t.transform(this.viewportTransform);if(!this.isTargetTransparent(e,n.x,n.y))return!0}}return!1}_searchPossibleTargets(e,t,n){let r=e.length;for(;r--;){let i=e[r];if(this._checkTarget(i,t)){if(p(i)&&i.subTargetCheck){let{target:e}=this._searchPossibleTargets(i._objects,t,n);e&&n.push(e)}return{target:i,subTargets:n}}}return{subTargets:[]}}searchPossibleTargets(e,t){let n=this._searchPossibleTargets(e,t,[]);n.container=n.target;let{container:r,subTargets:i}=n;if(r&&p(r)&&r.interactive&&i[0]){for(let e=i.length-1;e>0;e--){let t=i[e];if(!p(t)||!t.interactive)return n.target=t,n}return n.target=i[0],n}return n}getViewportPoint(e){return this._viewportPoint?this._viewportPoint:this._getPointerImpl(e,!0)}getScenePoint(e){return this._scenePoint?this._scenePoint:this._getPointerImpl(e)}_getPointerImpl(e,t=!1){let n=this.upperCanvasEl,r=n.getBoundingClientRect(),i=y(e),a=r.width||0,o=r.height||0;a&&o||(`top`in r&&`bottom`in r&&(o=Math.abs(r.top-r.bottom)),`right`in r&&`left`in r&&(a=Math.abs(r.right-r.left))),this.calcOffset(),i.x-=this._offset.left,i.y-=this._offset.top,t||(i=C(i,void 0,this.viewportTransform));let s=this.getRetinaScaling();s!==1&&(i.x/=s,i.y/=s);let c=a===0||o===0?new f(1,1):new f(n.width/a,n.height/o);return i.multiply(c)}_setDimensionsImpl(e,t){this._resetTransformEventData(),super._setDimensionsImpl(e,t),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=m(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(`2d`,{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let e=this._activeObject;return _(e)?e.getObjects():e?[e]:[]}_fireSelectionEvents(e,t){let n=!1,r=!1,i=this.getActiveObjects(),a=[],o=[];e.forEach(e=>{i.includes(e)||(n=!0,e.fire(`deselected`,{e:t,target:e}),o.push(e))}),i.forEach(r=>{e.includes(r)||(n=!0,r.fire(`selected`,{e:t,target:r}),a.push(r))}),e.length>0&&i.length>0?(r=!0,n&&this.fire(`selection:updated`,{e:t,selected:a,deselected:o})):i.length>0?(r=!0,this.fire(`selection:created`,{e:t,selected:a})):e.length>0&&(r=!0,this.fire(`selection:cleared`,{e:t,deselected:o})),r&&(this._objectsToRender=void 0)}setActiveObject(e,t){let n=this.getActiveObjects(),r=this._setActiveObject(e,t);return this._fireSelectionEvents(n,t),r}_setActiveObject(e,t){let n=this._activeObject;return n!==e&&!(!this._discardActiveObject(t,e)&&this._activeObject)&&!e.onSelect({e:t})&&(this._activeObject=e,_(e)&&n!==e&&e.set(`canvas`,this),e.setCoords(),!0)}_discardActiveObject(e,t){let n=this._activeObject;return!!n&&!n.onDeselect({e,object:t})&&(this._currentTransform&&this._currentTransform.target===n&&this.endCurrentTransform(e),_(n)&&n===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(e){let t=this.getActiveObjects(),n=this.getActiveObject();t.length&&this.fire(`before:selection:cleared`,{e,deselected:[n]});let r=this._discardActiveObject(e);return this._fireSelectionEvents(t,e),r}endCurrentTransform(e){let t=this._currentTransform;this._finalizeCurrentTransform(e),t&&t.target&&(t.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(e){let t=this._currentTransform,n=t.target,r={e,target:n,transform:t,action:t.action};n._scaling&&(n._scaling=!1),n.setCoords(),t.actionPerformed&&(this.fire(`object:modified`,r),n.fire(i,r))}setViewportTransform(e){super.setViewportTransform(e);let t=this._activeObject;t&&t.setCoords()}destroy(){let e=this._activeObject;_(e)&&(e.removeAll(),e.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(e){let t=this._activeObject;t&&t._renderControls(e)}_toObject(e,t,n){let r=this._realizeGroupTransformOnObject(e),i=super._toObject(e,t,n);return e.set(r),i}_realizeGroupTransformOnObject(e){let{group:t}=e;if(t&&_(t)&&this._activeObject===t){let n=g(e,[`angle`,`flipX`,`flipY`,r,o,s,c,l,`top`]);return x(e,t.calcOwnMatrix()),n}return{}}_setSVGObject(e,t,n){let r=this._realizeGroupTransformOnObject(t);super._setSVGObject(e,t,n),t.set(r)}};e(j,`ownDefaults`,k);export{j as SelectableCanvas};
2
2
  //# sourceMappingURL=SelectableCanvas.min.mjs.map
@@ -1,4 +1,4 @@
1
- import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs";
1
+ import { _defineProperty } from "../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.mjs";
2
2
  import { BOTTOM, CENTER, LEFT, MODIFIED, RIGHT, SCALE_X, SCALE_Y, SKEW_X, SKEW_Y } from "../constants.mjs";
3
3
  import { cos } from "../util/misc/cos.mjs";
4
4
  import { sin } from "../util/misc/sin.mjs";
@@ -201,7 +201,7 @@ export declare class StaticCanvas<EventSpec extends StaticCanvasEvents = StaticC
201
201
  }): void;
202
202
  setDimensions(dimensions: Partial<TSize>, options?: never): void;
203
203
  /**
204
- * Returns canvas zoom level
204
+ * Returns the canvas zoom level as the magnitude of the viewport scale.
205
205
  * @return {Number}
206
206
  */
207
207
  getZoom(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"StaticCanvas.d.ts","sourceRoot":"","sources":["../../../src/canvas/StaticCanvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticCanvas.d.ts","sourceRoot":"","sources":["../../../src/canvas/StaticCanvas.ts"],"names":[],"mappings":"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"}