js-draw 0.17.4 → 0.18.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 (494) hide show
  1. package/.github/workflows/firebase-hosting-merge.yml +2 -0
  2. package/.github/workflows/firebase-hosting-pull-request.yml +2 -0
  3. package/.github/workflows/github-pages.yml +2 -0
  4. package/CHANGELOG.md +4 -0
  5. package/build_tools/postDist.ts +71 -0
  6. package/dist/bundle.js +9 -1
  7. package/dist/cjs/build_tools/BundledFile.js +163 -0
  8. package/dist/cjs/build_tools/buildTranslationTemplate.js +119 -0
  9. package/dist/cjs/build_tools/bundle.js +10 -0
  10. package/dist/cjs/build_tools/postDist.js +72 -0
  11. package/dist/{src → cjs/src}/Color4.d.ts +1 -0
  12. package/dist/cjs/src/Color4.js +197 -0
  13. package/dist/cjs/src/Editor.js +904 -0
  14. package/dist/cjs/src/EditorImage.js +486 -0
  15. package/dist/cjs/src/EventDispatcher.js +57 -0
  16. package/dist/cjs/src/Pointer.js +84 -0
  17. package/dist/cjs/src/SVGLoader.js +472 -0
  18. package/dist/cjs/src/UndoRedoHistory.js +93 -0
  19. package/dist/cjs/src/Viewport.js +264 -0
  20. package/dist/cjs/src/bundle/bundled.js +24 -0
  21. package/dist/cjs/src/commands/Command.js +34 -0
  22. package/dist/cjs/src/commands/Duplicate.js +39 -0
  23. package/dist/cjs/src/commands/Erase.js +63 -0
  24. package/dist/cjs/src/commands/SerializableCommand.js +42 -0
  25. package/dist/cjs/src/commands/UnresolvedCommand.js +28 -0
  26. package/dist/cjs/src/commands/invertCommand.js +49 -0
  27. package/dist/cjs/src/commands/lib.js +18 -0
  28. package/dist/cjs/src/commands/localization.js +24 -0
  29. package/dist/cjs/src/commands/uniteCommands.js +121 -0
  30. package/dist/cjs/src/components/AbstractComponent.js +258 -0
  31. package/dist/cjs/src/components/ImageBackground.js +146 -0
  32. package/dist/cjs/src/components/ImageComponent.js +152 -0
  33. package/dist/cjs/src/components/RestylableComponent.js +88 -0
  34. package/dist/cjs/src/components/SVGGlobalAttributesObject.js +65 -0
  35. package/dist/cjs/src/components/Stroke.js +191 -0
  36. package/dist/cjs/src/components/TextComponent.js +258 -0
  37. package/dist/cjs/src/components/UnknownSVGObject.js +50 -0
  38. package/dist/cjs/src/components/builders/ArrowBuilder.js +117 -0
  39. package/dist/cjs/src/components/builders/FreehandLineBuilder.js +173 -0
  40. package/dist/cjs/src/components/builders/LineBuilder.js +89 -0
  41. package/dist/cjs/src/components/builders/PressureSensitiveFreehandLineBuilder.js +347 -0
  42. package/dist/cjs/src/components/builders/RectangleBuilder.js +59 -0
  43. package/dist/cjs/src/components/builders/types.js +2 -0
  44. package/dist/cjs/src/components/lib.js +43 -0
  45. package/dist/cjs/src/components/localization.js +13 -0
  46. package/dist/cjs/src/components/util/StrokeSmoother.js +217 -0
  47. package/dist/cjs/src/components/util/describeComponentList.js +16 -0
  48. package/dist/cjs/src/lib.js +63 -0
  49. package/dist/cjs/src/localization.js +13 -0
  50. package/dist/cjs/src/localizations/de.js +6 -0
  51. package/dist/cjs/src/localizations/en.js +6 -0
  52. package/dist/cjs/src/localizations/es.js +20 -0
  53. package/dist/cjs/src/localizations/getLocalizationTable.js +50 -0
  54. package/dist/cjs/src/math/LineSegment2.js +131 -0
  55. package/dist/cjs/src/math/Mat33.js +332 -0
  56. package/dist/cjs/src/math/Path.js +655 -0
  57. package/dist/cjs/src/math/Rect2.js +234 -0
  58. package/dist/cjs/src/math/Triangle.js +22 -0
  59. package/dist/cjs/src/math/Vec2.js +19 -0
  60. package/dist/cjs/src/math/Vec3.js +177 -0
  61. package/dist/cjs/src/math/lib.js +18 -0
  62. package/dist/cjs/src/math/rounding.js +135 -0
  63. package/dist/cjs/src/rendering/Display.js +214 -0
  64. package/dist/cjs/src/rendering/RenderingStyle.js +48 -0
  65. package/dist/cjs/src/rendering/TextRenderingStyle.js +29 -0
  66. package/dist/cjs/src/rendering/caching/CacheRecord.js +61 -0
  67. package/dist/cjs/src/rendering/caching/CacheRecordManager.js +50 -0
  68. package/dist/cjs/src/rendering/caching/RenderingCache.js +51 -0
  69. package/dist/cjs/src/rendering/caching/RenderingCacheNode.js +326 -0
  70. package/dist/cjs/src/rendering/caching/testUtils.js +27 -0
  71. package/dist/cjs/src/rendering/caching/types.js +2 -0
  72. package/dist/cjs/src/rendering/lib.js +16 -0
  73. package/dist/cjs/src/rendering/localization.js +12 -0
  74. package/dist/cjs/src/rendering/renderers/AbstractRenderer.js +170 -0
  75. package/dist/cjs/src/rendering/renderers/CanvasRenderer.js +236 -0
  76. package/dist/cjs/src/rendering/renderers/DummyRenderer.js +112 -0
  77. package/dist/cjs/src/rendering/renderers/SVGRenderer.js +311 -0
  78. package/dist/cjs/src/rendering/renderers/TextOnlyRenderer.js +63 -0
  79. package/dist/cjs/src/testing/beforeEachFile.js +12 -0
  80. package/dist/cjs/src/testing/createEditor.js +14 -0
  81. package/dist/cjs/src/testing/lib.js +10 -0
  82. package/dist/cjs/src/testing/loadExpectExtensions.js +28 -0
  83. package/dist/cjs/src/testing/sendPenEvent.js +24 -0
  84. package/dist/cjs/src/testing/sendTouchEvent.js +87 -0
  85. package/dist/cjs/src/toolbar/HTMLToolbar.js +383 -0
  86. package/dist/cjs/src/toolbar/IconProvider.js +660 -0
  87. package/dist/cjs/src/toolbar/lib.js +24 -0
  88. package/dist/cjs/src/toolbar/localization.js +51 -0
  89. package/dist/cjs/src/toolbar/makeColorInput.js +120 -0
  90. package/dist/cjs/src/toolbar/types.js +2 -0
  91. package/dist/cjs/src/toolbar/widgets/ActionButtonWidget.js +31 -0
  92. package/dist/cjs/src/toolbar/widgets/BaseToolWidget.js +50 -0
  93. package/dist/cjs/src/toolbar/widgets/BaseWidget.js +313 -0
  94. package/dist/cjs/src/toolbar/widgets/DocumentPropertiesWidget.js +126 -0
  95. package/dist/cjs/src/toolbar/widgets/EraserToolWidget.js +63 -0
  96. package/dist/cjs/src/toolbar/widgets/HandToolWidget.js +201 -0
  97. package/dist/cjs/src/toolbar/widgets/InsertImageWidget.js +176 -0
  98. package/dist/cjs/src/toolbar/widgets/OverflowWidget.js +77 -0
  99. package/dist/cjs/src/toolbar/widgets/PenToolWidget.js +226 -0
  100. package/dist/cjs/src/toolbar/widgets/SelectionToolWidget.js +153 -0
  101. package/dist/cjs/src/toolbar/widgets/TextToolWidget.js +115 -0
  102. package/dist/cjs/src/toolbar/widgets/lib.js +26 -0
  103. package/dist/cjs/src/tools/BaseTool.js +66 -0
  104. package/dist/cjs/src/tools/Eraser.js +112 -0
  105. package/dist/cjs/src/tools/FindTool.js +121 -0
  106. package/dist/cjs/src/tools/PanZoom.js +421 -0
  107. package/dist/cjs/src/tools/PasteHandler.js +99 -0
  108. package/dist/cjs/src/tools/Pen.js +179 -0
  109. package/dist/cjs/src/tools/PipetteTool.js +45 -0
  110. package/dist/cjs/src/tools/SelectionTool/SelectAllShortcutHandler.js +28 -0
  111. package/dist/cjs/src/tools/SelectionTool/Selection.js +488 -0
  112. package/dist/cjs/src/tools/SelectionTool/SelectionHandle.js +85 -0
  113. package/dist/cjs/src/tools/SelectionTool/SelectionTool.js +405 -0
  114. package/dist/cjs/src/tools/SelectionTool/TransformMode.js +107 -0
  115. package/dist/cjs/src/tools/SelectionTool/types.js +14 -0
  116. package/dist/cjs/src/tools/TextTool.js +262 -0
  117. package/dist/cjs/src/tools/ToolController.js +187 -0
  118. package/dist/cjs/src/tools/ToolEnabledGroup.js +14 -0
  119. package/dist/cjs/src/tools/ToolSwitcherShortcut.js +38 -0
  120. package/dist/cjs/src/tools/ToolbarShortcutHandler.js +29 -0
  121. package/dist/cjs/src/tools/UndoRedoShortcut.js +28 -0
  122. package/dist/cjs/src/tools/lib.js +36 -0
  123. package/dist/cjs/src/tools/localization.js +30 -0
  124. package/dist/cjs/src/types.js +38 -0
  125. package/dist/cjs/src/util/assertions.js +51 -0
  126. package/dist/cjs/src/util/fileToBase64.js +15 -0
  127. package/dist/cjs/src/util/untilNextAnimationFrame.js +9 -0
  128. package/dist/cjs/src/util/waitForTimeout.js +9 -0
  129. package/dist/mjs/build_tools/BundledFile.d.ts +13 -0
  130. package/dist/{build_tools/buildTranslationTemplate.js → mjs/build_tools/buildTranslationTemplate.mjs} +1 -1
  131. package/dist/{build_tools/bundle.js → mjs/build_tools/bundle.mjs} +1 -1
  132. package/dist/mjs/build_tools/postDist.d.ts +1 -0
  133. package/dist/mjs/build_tools/postDist.mjs +67 -0
  134. package/dist/mjs/src/Color4.d.ts +61 -0
  135. package/dist/{src/Color4.js → mjs/src/Color4.mjs} +1 -0
  136. package/dist/mjs/src/Editor.d.ts +308 -0
  137. package/dist/{src/Editor.js → mjs/src/Editor.mjs} +26 -26
  138. package/dist/mjs/src/EditorImage.d.ts +97 -0
  139. package/dist/{src/EditorImage.js → mjs/src/EditorImage.mjs} +8 -8
  140. package/dist/mjs/src/EventDispatcher.d.ts +30 -0
  141. package/dist/mjs/src/Pointer.d.ts +24 -0
  142. package/dist/{src/Pointer.js → mjs/src/Pointer.mjs} +1 -1
  143. package/dist/mjs/src/SVGLoader.d.ts +48 -0
  144. package/dist/{src/SVGLoader.js → mjs/src/SVGLoader.mjs} +11 -11
  145. package/dist/mjs/src/UndoRedoHistory.d.ts +19 -0
  146. package/dist/{src/UndoRedoHistory.js → mjs/src/UndoRedoHistory.mjs} +1 -1
  147. package/dist/mjs/src/Viewport.d.ts +71 -0
  148. package/dist/{src/Viewport.js → mjs/src/Viewport.mjs} +5 -5
  149. package/dist/mjs/src/bundle/bundled.d.ts +4 -0
  150. package/dist/{src/bundle/bundled.js → mjs/src/bundle/bundled.mjs} +2 -2
  151. package/dist/mjs/src/commands/Command.d.ts +16 -0
  152. package/dist/mjs/src/commands/Duplicate.d.ts +14 -0
  153. package/dist/{src/commands/Duplicate.js → mjs/src/commands/Duplicate.mjs} +3 -3
  154. package/dist/mjs/src/commands/Erase.d.ts +14 -0
  155. package/dist/{src/commands/Erase.js → mjs/src/commands/Erase.mjs} +3 -3
  156. package/dist/mjs/src/commands/SerializableCommand.d.ts +12 -0
  157. package/dist/{src/commands/SerializableCommand.js → mjs/src/commands/SerializableCommand.mjs} +1 -1
  158. package/dist/mjs/src/commands/UnresolvedCommand.d.ts +14 -0
  159. package/dist/{src/commands/UnresolvedCommand.js → mjs/src/commands/UnresolvedCommand.mjs} +1 -1
  160. package/dist/mjs/src/commands/invertCommand.d.ts +4 -0
  161. package/dist/{src/commands/invertCommand.js → mjs/src/commands/invertCommand.mjs} +2 -2
  162. package/dist/mjs/src/commands/lib.mjs +7 -0
  163. package/dist/mjs/src/commands/localization.d.ts +23 -0
  164. package/dist/mjs/src/commands/uniteCommands.d.ts +4 -0
  165. package/dist/{src/commands/uniteCommands.js → mjs/src/commands/uniteCommands.mjs} +2 -2
  166. package/dist/mjs/src/components/AbstractComponent.d.ts +73 -0
  167. package/dist/{src/components/AbstractComponent.js → mjs/src/components/AbstractComponent.mjs} +4 -4
  168. package/dist/mjs/src/components/ImageBackground.d.ts +42 -0
  169. package/dist/{src/components/ImageBackground.js → mjs/src/components/ImageBackground.mjs} +5 -5
  170. package/dist/mjs/src/components/ImageComponent.d.ts +31 -0
  171. package/dist/{src/components/ImageComponent.js → mjs/src/components/ImageComponent.mjs} +3 -3
  172. package/dist/mjs/src/components/RestylableComponent.d.ts +24 -0
  173. package/dist/{src/components/RestylableComponent.js → mjs/src/components/RestylableComponent.mjs} +4 -4
  174. package/dist/mjs/src/components/SVGGlobalAttributesObject.d.ts +21 -0
  175. package/dist/{src/components/SVGGlobalAttributesObject.js → mjs/src/components/SVGGlobalAttributesObject.mjs} +3 -3
  176. package/dist/mjs/src/components/Stroke.d.ts +40 -0
  177. package/dist/{src/components/Stroke.js → mjs/src/components/Stroke.mjs} +5 -5
  178. package/dist/mjs/src/components/TextComponent.d.ts +53 -0
  179. package/dist/{src/components/TextComponent.js → mjs/src/components/TextComponent.mjs} +7 -7
  180. package/dist/mjs/src/components/UnknownSVGObject.d.ts +18 -0
  181. package/dist/{src/components/UnknownSVGObject.js → mjs/src/components/UnknownSVGObject.mjs} +3 -3
  182. package/dist/mjs/src/components/builders/ArrowBuilder.d.ts +19 -0
  183. package/dist/{src/components/builders/ArrowBuilder.js → mjs/src/components/builders/ArrowBuilder.mjs} +2 -2
  184. package/dist/mjs/src/components/builders/FreehandLineBuilder.d.ts +33 -0
  185. package/dist/{src/components/builders/FreehandLineBuilder.js → mjs/src/components/builders/FreehandLineBuilder.mjs} +7 -7
  186. package/dist/mjs/src/components/builders/LineBuilder.d.ts +18 -0
  187. package/dist/{src/components/builders/LineBuilder.js → mjs/src/components/builders/LineBuilder.mjs} +2 -2
  188. package/dist/mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +36 -0
  189. package/dist/{src/components/builders/PressureSensitiveFreehandLineBuilder.js → mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.mjs} +6 -6
  190. package/dist/mjs/src/components/builders/RectangleBuilder.d.ts +20 -0
  191. package/dist/{src/components/builders/RectangleBuilder.js → mjs/src/components/builders/RectangleBuilder.mjs} +4 -4
  192. package/dist/mjs/src/components/builders/types.d.ts +12 -0
  193. package/dist/mjs/src/components/builders/types.mjs +1 -0
  194. package/dist/{src/components/lib.js → mjs/src/components/lib.d.ts} +3 -3
  195. package/dist/mjs/src/components/lib.mjs +12 -0
  196. package/dist/mjs/src/components/localization.d.ts +11 -0
  197. package/dist/mjs/src/components/util/StrokeSmoother.d.ts +35 -0
  198. package/dist/{src/components/util/StrokeSmoother.js → mjs/src/components/util/StrokeSmoother.mjs} +3 -3
  199. package/dist/mjs/src/components/util/describeComponentList.d.ts +4 -0
  200. package/dist/{src/lib.js → mjs/src/lib.d.ts} +2 -2
  201. package/dist/mjs/src/lib.mjs +34 -0
  202. package/dist/mjs/src/localization.d.ts +14 -0
  203. package/dist/{src/localization.js → mjs/src/localization.mjs} +5 -5
  204. package/dist/mjs/src/localizations/de.d.ts +3 -0
  205. package/dist/{src/localizations/de.js → mjs/src/localizations/de.mjs} +1 -1
  206. package/dist/mjs/src/localizations/en.d.ts +3 -0
  207. package/dist/{src/localizations/en.js → mjs/src/localizations/en.mjs} +1 -1
  208. package/dist/mjs/src/localizations/es.d.ts +3 -0
  209. package/dist/{src/localizations/es.js → mjs/src/localizations/es.mjs} +1 -1
  210. package/dist/mjs/src/localizations/getLocalizationTable.d.ts +3 -0
  211. package/dist/{src/localizations/getLocalizationTable.js → mjs/src/localizations/getLocalizationTable.mjs} +4 -4
  212. package/dist/mjs/src/math/LineSegment2.d.ts +24 -0
  213. package/dist/{src/math/LineSegment2.js → mjs/src/math/LineSegment2.mjs} +2 -2
  214. package/dist/mjs/src/math/Mat33.d.ts +118 -0
  215. package/dist/{src/math/Mat33.js → mjs/src/math/Mat33.mjs} +2 -2
  216. package/dist/mjs/src/math/Path.d.ts +71 -0
  217. package/dist/{src/math/Path.js → mjs/src/math/Path.mjs} +5 -5
  218. package/dist/mjs/src/math/Rect2.d.ts +52 -0
  219. package/dist/{src/math/Rect2.js → mjs/src/math/Rect2.mjs} +2 -2
  220. package/dist/mjs/src/math/Triangle.d.ts +11 -0
  221. package/dist/mjs/src/math/Vec2.d.ts +13 -0
  222. package/dist/{src/math/Vec2.js → mjs/src/math/Vec2.mjs} +1 -1
  223. package/dist/mjs/src/math/Vec3.d.ts +106 -0
  224. package/dist/mjs/src/math/lib.mjs +7 -0
  225. package/dist/mjs/src/math/rounding.d.ts +4 -0
  226. package/dist/mjs/src/rendering/Display.d.ts +75 -0
  227. package/dist/{src/rendering/Display.js → mjs/src/rendering/Display.mjs} +7 -7
  228. package/dist/mjs/src/rendering/RenderingStyle.d.ts +31 -0
  229. package/dist/{src/rendering/RenderingStyle.js → mjs/src/rendering/RenderingStyle.mjs} +1 -1
  230. package/dist/mjs/src/rendering/TextRenderingStyle.d.ts +36 -0
  231. package/dist/{src/rendering/TextRenderingStyle.js → mjs/src/rendering/TextRenderingStyle.mjs} +1 -1
  232. package/dist/mjs/src/rendering/caching/CacheRecord.d.ts +20 -0
  233. package/dist/{src/rendering/caching/CacheRecord.js → mjs/src/rendering/caching/CacheRecord.mjs} +1 -1
  234. package/dist/mjs/src/rendering/caching/CacheRecordManager.d.ts +12 -0
  235. package/dist/{src/rendering/caching/CacheRecordManager.js → mjs/src/rendering/caching/CacheRecordManager.mjs} +1 -1
  236. package/dist/mjs/src/rendering/caching/RenderingCache.d.ts +11 -0
  237. package/dist/{src/rendering/caching/RenderingCache.js → mjs/src/rendering/caching/RenderingCache.mjs} +3 -3
  238. package/dist/mjs/src/rendering/caching/RenderingCacheNode.d.ts +29 -0
  239. package/dist/{src/rendering/caching/RenderingCacheNode.js → mjs/src/rendering/caching/RenderingCacheNode.mjs} +3 -3
  240. package/dist/mjs/src/rendering/caching/testUtils.d.ts +9 -0
  241. package/dist/{src/rendering/caching/testUtils.js → mjs/src/rendering/caching/testUtils.mjs} +4 -4
  242. package/dist/mjs/src/rendering/caching/types.d.ts +19 -0
  243. package/dist/mjs/src/rendering/caching/types.mjs +1 -0
  244. package/dist/mjs/src/rendering/lib.mjs +5 -0
  245. package/dist/mjs/src/rendering/localization.d.ts +10 -0
  246. package/dist/mjs/src/rendering/renderers/AbstractRenderer.d.ts +68 -0
  247. package/dist/{src/rendering/renderers/AbstractRenderer.js → mjs/src/rendering/renderers/AbstractRenderer.mjs} +3 -3
  248. package/dist/mjs/src/rendering/renderers/CanvasRenderer.d.ts +63 -0
  249. package/dist/{src/rendering/renderers/CanvasRenderer.js → mjs/src/rendering/renderers/CanvasRenderer.mjs} +5 -5
  250. package/dist/mjs/src/rendering/renderers/DummyRenderer.d.ts +35 -0
  251. package/dist/{src/rendering/renderers/DummyRenderer.js → mjs/src/rendering/renderers/DummyRenderer.mjs} +2 -2
  252. package/dist/mjs/src/rendering/renderers/SVGRenderer.d.ts +57 -0
  253. package/dist/{src/rendering/renderers/SVGRenderer.js → mjs/src/rendering/renderers/SVGRenderer.mjs} +6 -6
  254. package/dist/mjs/src/rendering/renderers/TextOnlyRenderer.d.ts +29 -0
  255. package/dist/{src/rendering/renderers/TextOnlyRenderer.js → mjs/src/rendering/renderers/TextOnlyRenderer.mjs} +2 -2
  256. package/dist/mjs/src/testing/beforeEachFile.d.ts +1 -0
  257. package/dist/{src/testing/beforeEachFile.js → mjs/src/testing/beforeEachFile.mjs} +1 -1
  258. package/dist/mjs/src/testing/createEditor.d.ts +4 -0
  259. package/dist/{src/testing/createEditor.js → mjs/src/testing/createEditor.mjs} +2 -2
  260. package/dist/mjs/src/testing/lib.mjs +2 -0
  261. package/dist/mjs/src/testing/loadExpectExtensions.d.ts +2 -0
  262. package/dist/mjs/src/testing/sendPenEvent.d.ts +12 -0
  263. package/dist/{src/testing/sendPenEvent.js → mjs/src/testing/sendPenEvent.mjs} +2 -2
  264. package/dist/mjs/src/testing/sendTouchEvent.d.ts +42 -0
  265. package/dist/{src/testing/sendTouchEvent.js → mjs/src/testing/sendTouchEvent.mjs} +2 -2
  266. package/dist/mjs/src/toolbar/HTMLToolbar.d.ts +103 -0
  267. package/dist/{src/toolbar/HTMLToolbar.js → mjs/src/toolbar/HTMLToolbar.mjs} +17 -17
  268. package/dist/mjs/src/toolbar/IconProvider.d.ts +62 -0
  269. package/dist/{src/toolbar/IconProvider.js → mjs/src/toolbar/IconProvider.mjs} +4 -4
  270. package/dist/mjs/src/toolbar/lib.mjs +3 -0
  271. package/dist/mjs/src/toolbar/localization.d.ts +49 -0
  272. package/dist/mjs/src/toolbar/makeColorInput.d.ts +6 -0
  273. package/dist/{src/toolbar/makeColorInput.js → mjs/src/toolbar/makeColorInput.mjs} +3 -3
  274. package/dist/mjs/src/toolbar/types.d.ts +4 -0
  275. package/dist/mjs/src/toolbar/types.mjs +1 -0
  276. package/dist/mjs/src/toolbar/widgets/ActionButtonWidget.d.ts +15 -0
  277. package/dist/{src/toolbar/widgets/ActionButtonWidget.js → mjs/src/toolbar/widgets/ActionButtonWidget.mjs} +1 -1
  278. package/dist/mjs/src/toolbar/widgets/BaseToolWidget.d.ts +11 -0
  279. package/dist/{src/toolbar/widgets/BaseToolWidget.js → mjs/src/toolbar/widgets/BaseToolWidget.mjs} +2 -2
  280. package/dist/mjs/src/toolbar/widgets/BaseWidget.d.ts +72 -0
  281. package/dist/{src/toolbar/widgets/BaseWidget.js → mjs/src/toolbar/widgets/BaseWidget.mjs} +3 -3
  282. package/dist/mjs/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +18 -0
  283. package/dist/{src/toolbar/widgets/DocumentPropertiesWidget.js → mjs/src/toolbar/widgets/DocumentPropertiesWidget.mjs} +6 -6
  284. package/dist/mjs/src/toolbar/widgets/EraserToolWidget.d.ts +17 -0
  285. package/dist/{src/toolbar/widgets/EraserToolWidget.js → mjs/src/toolbar/widgets/EraserToolWidget.mjs} +3 -3
  286. package/dist/mjs/src/toolbar/widgets/HandToolWidget.d.ts +17 -0
  287. package/dist/{src/toolbar/widgets/HandToolWidget.js → mjs/src/toolbar/widgets/HandToolWidget.mjs} +7 -7
  288. package/dist/mjs/src/toolbar/widgets/InsertImageWidget.d.ts +19 -0
  289. package/dist/{src/toolbar/widgets/InsertImageWidget.js → mjs/src/toolbar/widgets/InsertImageWidget.mjs} +8 -8
  290. package/dist/mjs/src/toolbar/widgets/OverflowWidget.d.ts +25 -0
  291. package/dist/{src/toolbar/widgets/OverflowWidget.js → mjs/src/toolbar/widgets/OverflowWidget.mjs} +1 -1
  292. package/dist/mjs/src/toolbar/widgets/PenToolWidget.d.ts +27 -0
  293. package/dist/{src/toolbar/widgets/PenToolWidget.js → mjs/src/toolbar/widgets/PenToolWidget.mjs} +10 -10
  294. package/dist/mjs/src/toolbar/widgets/SelectionToolWidget.d.ts +13 -0
  295. package/dist/{src/toolbar/widgets/SelectionToolWidget.js → mjs/src/toolbar/widgets/SelectionToolWidget.mjs} +8 -8
  296. package/dist/mjs/src/toolbar/widgets/TextToolWidget.d.ts +16 -0
  297. package/dist/{src/toolbar/widgets/TextToolWidget.js → mjs/src/toolbar/widgets/TextToolWidget.mjs} +5 -5
  298. package/dist/mjs/src/toolbar/widgets/lib.mjs +10 -0
  299. package/dist/mjs/src/tools/BaseTool.d.ts +22 -0
  300. package/dist/{src/tools/BaseTool.js → mjs/src/tools/BaseTool.mjs} +1 -1
  301. package/dist/mjs/src/tools/Eraser.d.ts +23 -0
  302. package/dist/{src/tools/Eraser.js → mjs/src/tools/Eraser.mjs} +8 -8
  303. package/dist/mjs/src/tools/FindTool.d.ts +21 -0
  304. package/dist/{src/tools/FindTool.js → mjs/src/tools/FindTool.mjs} +2 -2
  305. package/dist/mjs/src/tools/PanZoom.d.ts +52 -0
  306. package/dist/{src/tools/PanZoom.js → mjs/src/tools/PanZoom.mjs} +8 -8
  307. package/dist/mjs/src/tools/PasteHandler.d.ts +23 -0
  308. package/dist/{src/tools/PasteHandler.js → mjs/src/tools/PasteHandler.mjs} +7 -7
  309. package/dist/mjs/src/tools/Pen.d.ts +39 -0
  310. package/dist/{src/tools/Pen.js → mjs/src/tools/Pen.mjs} +5 -5
  311. package/dist/mjs/src/tools/PipetteTool.d.ts +18 -0
  312. package/dist/{src/tools/PipetteTool.js → mjs/src/tools/PipetteTool.mjs} +1 -1
  313. package/dist/mjs/src/tools/SelectionTool/SelectAllShortcutHandler.d.ts +8 -0
  314. package/dist/{src/tools/SelectionTool/SelectAllShortcutHandler.js → mjs/src/tools/SelectionTool/SelectAllShortcutHandler.mjs} +2 -2
  315. package/dist/mjs/src/tools/SelectionTool/Selection.d.ts +64 -0
  316. package/dist/{src/tools/SelectionTool/Selection.js → mjs/src/tools/SelectionTool/Selection.mjs} +12 -12
  317. package/dist/mjs/src/tools/SelectionTool/SelectionHandle.d.ts +38 -0
  318. package/dist/{src/tools/SelectionTool/SelectionHandle.js → mjs/src/tools/SelectionTool/SelectionHandle.mjs} +3 -3
  319. package/dist/mjs/src/tools/SelectionTool/SelectionTool.d.ts +36 -0
  320. package/dist/{src/tools/SelectionTool/SelectionTool.js → mjs/src/tools/SelectionTool/SelectionTool.mjs} +8 -8
  321. package/dist/mjs/src/tools/SelectionTool/TransformMode.d.ts +34 -0
  322. package/dist/{src/tools/SelectionTool/TransformMode.js → mjs/src/tools/SelectionTool/TransformMode.mjs} +4 -4
  323. package/dist/mjs/src/tools/SelectionTool/types.d.ts +9 -0
  324. package/dist/mjs/src/tools/TextTool.d.ts +33 -0
  325. package/dist/{src/tools/TextTool.js → mjs/src/tools/TextTool.mjs} +11 -11
  326. package/dist/mjs/src/tools/ToolController.d.ts +18 -0
  327. package/dist/{src/tools/ToolController.js → mjs/src/tools/ToolController.mjs} +16 -16
  328. package/dist/mjs/src/tools/ToolEnabledGroup.d.ts +6 -0
  329. package/dist/mjs/src/tools/ToolSwitcherShortcut.d.ts +16 -0
  330. package/dist/{src/tools/ToolSwitcherShortcut.js → mjs/src/tools/ToolSwitcherShortcut.mjs} +1 -1
  331. package/dist/mjs/src/tools/ToolbarShortcutHandler.d.ts +12 -0
  332. package/dist/{src/tools/ToolbarShortcutHandler.js → mjs/src/tools/ToolbarShortcutHandler.mjs} +1 -1
  333. package/dist/mjs/src/tools/UndoRedoShortcut.d.ts +8 -0
  334. package/dist/{src/tools/UndoRedoShortcut.js → mjs/src/tools/UndoRedoShortcut.mjs} +1 -1
  335. package/dist/{src/tools/lib.js → mjs/src/tools/lib.d.ts} +1 -1
  336. package/dist/mjs/src/tools/lib.mjs +16 -0
  337. package/dist/mjs/src/tools/localization.d.ts +28 -0
  338. package/dist/mjs/src/types.d.ts +151 -0
  339. package/dist/mjs/src/util/assertions.d.ts +23 -0
  340. package/dist/mjs/src/util/fileToBase64.d.ts +3 -0
  341. package/dist/mjs/src/util/untilNextAnimationFrame.d.ts +3 -0
  342. package/dist/mjs/src/util/waitForTimeout.d.ts +2 -0
  343. package/package.json +34 -33
  344. package/src/Color4.ts +2 -0
  345. package/tsconfig.json +3 -2
  346. package/tsconfig.mjs.json +9 -0
  347. /package/dist/{build_tools → cjs/build_tools}/BundledFile.d.ts +0 -0
  348. /package/dist/{build_tools → cjs/build_tools}/buildTranslationTemplate.d.ts +0 -0
  349. /package/dist/{build_tools → cjs/build_tools}/bundle.d.ts +0 -0
  350. /package/dist/{src/components/builders/types.js → cjs/build_tools/postDist.d.ts} +0 -0
  351. /package/dist/{src → cjs/src}/Editor.d.ts +0 -0
  352. /package/dist/{src → cjs/src}/EditorImage.d.ts +0 -0
  353. /package/dist/{src → cjs/src}/EventDispatcher.d.ts +0 -0
  354. /package/dist/{src → cjs/src}/Pointer.d.ts +0 -0
  355. /package/dist/{src → cjs/src}/SVGLoader.d.ts +0 -0
  356. /package/dist/{src → cjs/src}/UndoRedoHistory.d.ts +0 -0
  357. /package/dist/{src → cjs/src}/Viewport.d.ts +0 -0
  358. /package/dist/{src → cjs/src}/bundle/bundled.d.ts +0 -0
  359. /package/dist/{src → cjs/src}/commands/Command.d.ts +0 -0
  360. /package/dist/{src → cjs/src}/commands/Duplicate.d.ts +0 -0
  361. /package/dist/{src → cjs/src}/commands/Erase.d.ts +0 -0
  362. /package/dist/{src → cjs/src}/commands/SerializableCommand.d.ts +0 -0
  363. /package/dist/{src → cjs/src}/commands/UnresolvedCommand.d.ts +0 -0
  364. /package/dist/{src → cjs/src}/commands/invertCommand.d.ts +0 -0
  365. /package/dist/{src → cjs/src}/commands/lib.d.ts +0 -0
  366. /package/dist/{src → cjs/src}/commands/localization.d.ts +0 -0
  367. /package/dist/{src → cjs/src}/commands/uniteCommands.d.ts +0 -0
  368. /package/dist/{src → cjs/src}/components/AbstractComponent.d.ts +0 -0
  369. /package/dist/{src → cjs/src}/components/ImageBackground.d.ts +0 -0
  370. /package/dist/{src → cjs/src}/components/ImageComponent.d.ts +0 -0
  371. /package/dist/{src → cjs/src}/components/RestylableComponent.d.ts +0 -0
  372. /package/dist/{src → cjs/src}/components/SVGGlobalAttributesObject.d.ts +0 -0
  373. /package/dist/{src → cjs/src}/components/Stroke.d.ts +0 -0
  374. /package/dist/{src → cjs/src}/components/TextComponent.d.ts +0 -0
  375. /package/dist/{src → cjs/src}/components/UnknownSVGObject.d.ts +0 -0
  376. /package/dist/{src → cjs/src}/components/builders/ArrowBuilder.d.ts +0 -0
  377. /package/dist/{src → cjs/src}/components/builders/FreehandLineBuilder.d.ts +0 -0
  378. /package/dist/{src → cjs/src}/components/builders/LineBuilder.d.ts +0 -0
  379. /package/dist/{src → cjs/src}/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +0 -0
  380. /package/dist/{src → cjs/src}/components/builders/RectangleBuilder.d.ts +0 -0
  381. /package/dist/{src → cjs/src}/components/builders/types.d.ts +0 -0
  382. /package/dist/{src → cjs/src}/components/lib.d.ts +0 -0
  383. /package/dist/{src → cjs/src}/components/localization.d.ts +0 -0
  384. /package/dist/{src → cjs/src}/components/util/StrokeSmoother.d.ts +0 -0
  385. /package/dist/{src → cjs/src}/components/util/describeComponentList.d.ts +0 -0
  386. /package/dist/{src → cjs/src}/lib.d.ts +0 -0
  387. /package/dist/{src → cjs/src}/localization.d.ts +0 -0
  388. /package/dist/{src → cjs/src}/localizations/de.d.ts +0 -0
  389. /package/dist/{src → cjs/src}/localizations/en.d.ts +0 -0
  390. /package/dist/{src → cjs/src}/localizations/es.d.ts +0 -0
  391. /package/dist/{src → cjs/src}/localizations/getLocalizationTable.d.ts +0 -0
  392. /package/dist/{src → cjs/src}/math/LineSegment2.d.ts +0 -0
  393. /package/dist/{src → cjs/src}/math/Mat33.d.ts +0 -0
  394. /package/dist/{src → cjs/src}/math/Path.d.ts +0 -0
  395. /package/dist/{src → cjs/src}/math/Rect2.d.ts +0 -0
  396. /package/dist/{src → cjs/src}/math/Triangle.d.ts +0 -0
  397. /package/dist/{src → cjs/src}/math/Vec2.d.ts +0 -0
  398. /package/dist/{src → cjs/src}/math/Vec3.d.ts +0 -0
  399. /package/dist/{src → cjs/src}/math/lib.d.ts +0 -0
  400. /package/dist/{src → cjs/src}/math/rounding.d.ts +0 -0
  401. /package/dist/{src → cjs/src}/rendering/Display.d.ts +0 -0
  402. /package/dist/{src → cjs/src}/rendering/RenderingStyle.d.ts +0 -0
  403. /package/dist/{src → cjs/src}/rendering/TextRenderingStyle.d.ts +0 -0
  404. /package/dist/{src → cjs/src}/rendering/caching/CacheRecord.d.ts +0 -0
  405. /package/dist/{src → cjs/src}/rendering/caching/CacheRecordManager.d.ts +0 -0
  406. /package/dist/{src → cjs/src}/rendering/caching/RenderingCache.d.ts +0 -0
  407. /package/dist/{src → cjs/src}/rendering/caching/RenderingCacheNode.d.ts +0 -0
  408. /package/dist/{src → cjs/src}/rendering/caching/testUtils.d.ts +0 -0
  409. /package/dist/{src → cjs/src}/rendering/caching/types.d.ts +0 -0
  410. /package/dist/{src → cjs/src}/rendering/lib.d.ts +0 -0
  411. /package/dist/{src → cjs/src}/rendering/localization.d.ts +0 -0
  412. /package/dist/{src → cjs/src}/rendering/renderers/AbstractRenderer.d.ts +0 -0
  413. /package/dist/{src → cjs/src}/rendering/renderers/CanvasRenderer.d.ts +0 -0
  414. /package/dist/{src → cjs/src}/rendering/renderers/DummyRenderer.d.ts +0 -0
  415. /package/dist/{src → cjs/src}/rendering/renderers/SVGRenderer.d.ts +0 -0
  416. /package/dist/{src → cjs/src}/rendering/renderers/TextOnlyRenderer.d.ts +0 -0
  417. /package/dist/{src → cjs/src}/testing/beforeEachFile.d.ts +0 -0
  418. /package/dist/{src → cjs/src}/testing/createEditor.d.ts +0 -0
  419. /package/dist/{src → cjs/src}/testing/lib.d.ts +0 -0
  420. /package/dist/{src → cjs/src}/testing/loadExpectExtensions.d.ts +0 -0
  421. /package/dist/{src → cjs/src}/testing/sendPenEvent.d.ts +0 -0
  422. /package/dist/{src → cjs/src}/testing/sendTouchEvent.d.ts +0 -0
  423. /package/dist/{src → cjs/src}/toolbar/HTMLToolbar.d.ts +0 -0
  424. /package/dist/{src → cjs/src}/toolbar/IconProvider.d.ts +0 -0
  425. /package/dist/{src → cjs/src}/toolbar/lib.d.ts +0 -0
  426. /package/dist/{src → cjs/src}/toolbar/localization.d.ts +0 -0
  427. /package/dist/{src → cjs/src}/toolbar/makeColorInput.d.ts +0 -0
  428. /package/dist/{src → cjs/src}/toolbar/types.d.ts +0 -0
  429. /package/dist/{src → cjs/src}/toolbar/widgets/ActionButtonWidget.d.ts +0 -0
  430. /package/dist/{src → cjs/src}/toolbar/widgets/BaseToolWidget.d.ts +0 -0
  431. /package/dist/{src → cjs/src}/toolbar/widgets/BaseWidget.d.ts +0 -0
  432. /package/dist/{src → cjs/src}/toolbar/widgets/DocumentPropertiesWidget.d.ts +0 -0
  433. /package/dist/{src → cjs/src}/toolbar/widgets/EraserToolWidget.d.ts +0 -0
  434. /package/dist/{src → cjs/src}/toolbar/widgets/HandToolWidget.d.ts +0 -0
  435. /package/dist/{src → cjs/src}/toolbar/widgets/InsertImageWidget.d.ts +0 -0
  436. /package/dist/{src → cjs/src}/toolbar/widgets/OverflowWidget.d.ts +0 -0
  437. /package/dist/{src → cjs/src}/toolbar/widgets/PenToolWidget.d.ts +0 -0
  438. /package/dist/{src → cjs/src}/toolbar/widgets/SelectionToolWidget.d.ts +0 -0
  439. /package/dist/{src → cjs/src}/toolbar/widgets/TextToolWidget.d.ts +0 -0
  440. /package/dist/{src → cjs/src}/toolbar/widgets/lib.d.ts +0 -0
  441. /package/dist/{src → cjs/src}/tools/BaseTool.d.ts +0 -0
  442. /package/dist/{src → cjs/src}/tools/Eraser.d.ts +0 -0
  443. /package/dist/{src → cjs/src}/tools/FindTool.d.ts +0 -0
  444. /package/dist/{src → cjs/src}/tools/PanZoom.d.ts +0 -0
  445. /package/dist/{src → cjs/src}/tools/PasteHandler.d.ts +0 -0
  446. /package/dist/{src → cjs/src}/tools/Pen.d.ts +0 -0
  447. /package/dist/{src → cjs/src}/tools/PipetteTool.d.ts +0 -0
  448. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectAllShortcutHandler.d.ts +0 -0
  449. /package/dist/{src → cjs/src}/tools/SelectionTool/Selection.d.ts +0 -0
  450. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionHandle.d.ts +0 -0
  451. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionTool.d.ts +0 -0
  452. /package/dist/{src → cjs/src}/tools/SelectionTool/TransformMode.d.ts +0 -0
  453. /package/dist/{src → cjs/src}/tools/SelectionTool/types.d.ts +0 -0
  454. /package/dist/{src → cjs/src}/tools/TextTool.d.ts +0 -0
  455. /package/dist/{src → cjs/src}/tools/ToolController.d.ts +0 -0
  456. /package/dist/{src → cjs/src}/tools/ToolEnabledGroup.d.ts +0 -0
  457. /package/dist/{src → cjs/src}/tools/ToolSwitcherShortcut.d.ts +0 -0
  458. /package/dist/{src → cjs/src}/tools/ToolbarShortcutHandler.d.ts +0 -0
  459. /package/dist/{src → cjs/src}/tools/UndoRedoShortcut.d.ts +0 -0
  460. /package/dist/{src → cjs/src}/tools/lib.d.ts +0 -0
  461. /package/dist/{src → cjs/src}/tools/localization.d.ts +0 -0
  462. /package/dist/{src → cjs/src}/types.d.ts +0 -0
  463. /package/dist/{src → cjs/src}/util/assertions.d.ts +0 -0
  464. /package/dist/{src → cjs/src}/util/fileToBase64.d.ts +0 -0
  465. /package/dist/{src → cjs/src}/util/untilNextAnimationFrame.d.ts +0 -0
  466. /package/dist/{src → cjs/src}/util/waitForTimeout.d.ts +0 -0
  467. /package/dist/{build_tools/BundledFile.js → mjs/build_tools/BundledFile.mjs} +0 -0
  468. /package/dist/{src/rendering/caching/types.js → mjs/build_tools/buildTranslationTemplate.d.ts} +0 -0
  469. /package/dist/{src/toolbar/types.js → mjs/build_tools/bundle.d.ts} +0 -0
  470. /package/dist/{src/EventDispatcher.js → mjs/src/EventDispatcher.mjs} +0 -0
  471. /package/dist/{src/commands/Command.js → mjs/src/commands/Command.mjs} +0 -0
  472. /package/dist/{src/commands/lib.js → mjs/src/commands/lib.d.ts} +0 -0
  473. /package/dist/{src/commands/localization.js → mjs/src/commands/localization.mjs} +0 -0
  474. /package/dist/{src/components/localization.js → mjs/src/components/localization.mjs} +0 -0
  475. /package/dist/{src/components/util/describeComponentList.js → mjs/src/components/util/describeComponentList.mjs} +0 -0
  476. /package/dist/{src/math/Triangle.js → mjs/src/math/Triangle.mjs} +0 -0
  477. /package/dist/{src/math/Vec3.js → mjs/src/math/Vec3.mjs} +0 -0
  478. /package/dist/{src/math/lib.js → mjs/src/math/lib.d.ts} +0 -0
  479. /package/dist/{src/math/rounding.js → mjs/src/math/rounding.mjs} +0 -0
  480. /package/dist/{src/rendering/lib.js → mjs/src/rendering/lib.d.ts} +0 -0
  481. /package/dist/{src/rendering/localization.js → mjs/src/rendering/localization.mjs} +0 -0
  482. /package/dist/{src/testing/lib.js → mjs/src/testing/lib.d.ts} +0 -0
  483. /package/dist/{src/testing/loadExpectExtensions.js → mjs/src/testing/loadExpectExtensions.mjs} +0 -0
  484. /package/dist/{src/toolbar/lib.js → mjs/src/toolbar/lib.d.ts} +0 -0
  485. /package/dist/{src/toolbar/localization.js → mjs/src/toolbar/localization.mjs} +0 -0
  486. /package/dist/{src/toolbar/widgets/lib.js → mjs/src/toolbar/widgets/lib.d.ts} +0 -0
  487. /package/dist/{src/tools/SelectionTool/types.js → mjs/src/tools/SelectionTool/types.mjs} +0 -0
  488. /package/dist/{src/tools/ToolEnabledGroup.js → mjs/src/tools/ToolEnabledGroup.mjs} +0 -0
  489. /package/dist/{src/tools/localization.js → mjs/src/tools/localization.mjs} +0 -0
  490. /package/dist/{src/types.js → mjs/src/types.mjs} +0 -0
  491. /package/dist/{src/util/assertions.js → mjs/src/util/assertions.mjs} +0 -0
  492. /package/dist/{src/util/fileToBase64.js → mjs/src/util/fileToBase64.mjs} +0 -0
  493. /package/dist/{src/util/untilNextAnimationFrame.js → mjs/src/util/untilNextAnimationFrame.mjs} +0 -0
  494. /package/dist/{src/util/waitForTimeout.js → mjs/src/util/waitForTimeout.mjs} +0 -0
@@ -0,0 +1,97 @@
1
+ import AbstractRenderer from './rendering/renderers/AbstractRenderer';
2
+ import Viewport from './Viewport';
3
+ import AbstractComponent from './components/AbstractComponent';
4
+ import Rect2 from './math/Rect2';
5
+ import RenderingCache from './rendering/caching/RenderingCache';
6
+ import SerializableCommand from './commands/SerializableCommand';
7
+ import EventDispatcher from './EventDispatcher';
8
+ export declare const sortLeavesByZIndex: (leaves: Array<ImageNode>) => void;
9
+ export declare enum EditorImageEventType {
10
+ ExportViewportChanged = 0
11
+ }
12
+ export type EditorImageNotifier = EventDispatcher<EditorImageEventType, {
13
+ image: EditorImage;
14
+ }>;
15
+ export default class EditorImage {
16
+ private root;
17
+ private background;
18
+ private componentsById;
19
+ /** Viewport for the exported/imported image. */
20
+ private importExportViewport;
21
+ readonly notifier: EditorImageNotifier;
22
+ constructor();
23
+ getBackgroundComponents(): AbstractComponent[];
24
+ findParent(elem: AbstractComponent): ImageNode | null;
25
+ queueRerenderOf(elem: AbstractComponent): void;
26
+ /** @internal */
27
+ renderWithCache(screenRenderer: AbstractRenderer, cache: RenderingCache, viewport: Viewport): void;
28
+ /**
29
+ * Renders all nodes visible from `viewport` (or all nodes if `viewport = null`).
30
+ *
31
+ * `viewport` is used to improve rendering performance. If given, it must match
32
+ * the viewport used by the `renderer` (if any).
33
+ */
34
+ render(renderer: AbstractRenderer, viewport: Viewport | null): void;
35
+ /** Renders all nodes, even ones not within the viewport. @internal */
36
+ renderAll(renderer: AbstractRenderer): void;
37
+ /** @returns all elements in the image, sorted by z-index. This can be slow for large images. */
38
+ getAllElements(): AbstractComponent[];
39
+ /** @returns a list of `AbstractComponent`s intersecting `region`, sorted by z-index. */
40
+ getElementsIntersectingRegion(region: Rect2): AbstractComponent[];
41
+ /** @internal */
42
+ onDestroyElement(elem: AbstractComponent): void;
43
+ /**
44
+ * @returns the AbstractComponent with `id`, if it exists.
45
+ *
46
+ * @see {@link AbstractComponent.getId}
47
+ */
48
+ lookupElement(id: string): AbstractComponent | null;
49
+ private addElementDirectly;
50
+ private removeElementDirectly;
51
+ /**
52
+ * Returns a command that adds the given element to the `EditorImage`.
53
+ * If `applyByFlattening` is true, the content of the wet ink renderer is
54
+ * rendered onto the main rendering canvas instead of doing a full re-render.
55
+ *
56
+ * @see {@link Display.flatten}
57
+ */
58
+ static addElement(elem: AbstractComponent, applyByFlattening?: boolean): SerializableCommand;
59
+ /** @see EditorImage.addElement */
60
+ addElement(elem: AbstractComponent, applyByFlattening?: boolean): SerializableCommand;
61
+ private static AddElementCommand;
62
+ /**
63
+ * @returns a `Viewport` for rendering the image when importing/exporting.
64
+ */
65
+ getImportExportViewport(): Viewport;
66
+ setImportExportRect(imageRect: Rect2): SerializableCommand;
67
+ private static SetImportExportRectCommand;
68
+ }
69
+ type TooSmallToRenderCheck = (rect: Rect2) => boolean;
70
+ /** Part of the Editor's image. @internal */
71
+ export declare class ImageNode {
72
+ private parent;
73
+ private content;
74
+ private bbox;
75
+ private children;
76
+ private targetChildCount;
77
+ private id;
78
+ private static idCounter;
79
+ constructor(parent?: ImageNode | null);
80
+ getId(): number;
81
+ onContentChange(): void;
82
+ getContent(): AbstractComponent | null;
83
+ getParent(): ImageNode | null;
84
+ private getChildrenIntersectingRegion;
85
+ getChildrenOrSelfIntersectingRegion(region: Rect2): ImageNode[];
86
+ getLeavesIntersectingRegion(region: Rect2, isTooSmall?: TooSmallToRenderCheck): ImageNode[];
87
+ getChildWithContent(target: AbstractComponent): ImageNode | null;
88
+ getLeaves(): ImageNode[];
89
+ addLeaf(leaf: AbstractComponent): ImageNode;
90
+ getBBox(): Rect2;
91
+ recomputeBBox(bubbleUp: boolean): void;
92
+ private updateParents;
93
+ private rebalance;
94
+ remove(): void;
95
+ render(renderer: AbstractRenderer, visibleRect?: Rect2): void;
96
+ }
97
+ export {};
@@ -1,12 +1,12 @@
1
1
  var _a, _b, _c;
2
- import Viewport from './Viewport';
3
- import AbstractComponent from './components/AbstractComponent';
4
- import Rect2 from './math/Rect2';
5
- import SerializableCommand from './commands/SerializableCommand';
6
- import EventDispatcher from './EventDispatcher';
7
- import { Vec2 } from './math/Vec2';
8
- import Mat33 from './math/Mat33';
9
- import { assertIsNumber, assertIsNumberArray } from './util/assertions';
2
+ import Viewport from './Viewport.mjs';
3
+ import AbstractComponent from './components/AbstractComponent.mjs';
4
+ import Rect2 from './math/Rect2.mjs';
5
+ import SerializableCommand from './commands/SerializableCommand.mjs';
6
+ import EventDispatcher from './EventDispatcher.mjs';
7
+ import { Vec2 } from './math/Vec2.mjs';
8
+ import Mat33 from './math/Mat33.mjs';
9
+ import { assertIsNumber, assertIsNumberArray } from './util/assertions.mjs';
10
10
  // @internal Sort by z-index, low to high
11
11
  export const sortLeavesByZIndex = (leaves) => {
12
12
  leaves.sort((a, b) => a.getContent().getZIndex() - b.getContent().getZIndex());
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Handles notifying listeners of events.
3
+ *
4
+ * `EventKeyType` is used to distinguish events (e.g. a `ClickEvent` vs a `TouchEvent`)
5
+ * while `EventMessageType` is the type of the data sent with an event (can be `void`).
6
+ *
7
+ * @example
8
+ * ```
9
+ * const dispatcher = new EventDispatcher<'event1'|'event2'|'event3', void>();
10
+ * dispatcher.on('event1', () => {
11
+ * console.log('Event 1 triggered.');
12
+ * });
13
+ * dispatcher.dispatch('event1');
14
+ * ```
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+ type CallbackHandler<EventType> = (data: EventType) => void;
19
+ export interface DispatcherEventListener {
20
+ remove: () => void;
21
+ }
22
+ export default class EventDispatcher<EventKeyType extends string | symbol | number, EventMessageType> {
23
+ private listeners;
24
+ constructor();
25
+ dispatch(eventName: EventKeyType, event: EventMessageType): void;
26
+ on(eventName: EventKeyType, callback: CallbackHandler<EventMessageType>): DispatcherEventListener;
27
+ /** Removes an event listener. This is equivalent to calling `.remove()` on the object returned by `.on`. */
28
+ off(eventName: EventKeyType, callback: CallbackHandler<EventMessageType>): void;
29
+ }
30
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Point2 } from './math/Vec2';
2
+ import Viewport from './Viewport';
3
+ export declare enum PointerDevice {
4
+ Pen = 0,
5
+ Eraser = 1,
6
+ Touch = 2,
7
+ PrimaryButtonMouse = 3,
8
+ RightButtonMouse = 4,
9
+ Other = 5
10
+ }
11
+ export default class Pointer {
12
+ readonly screenPos: Point2;
13
+ readonly canvasPos: Point2;
14
+ readonly pressure: number | null;
15
+ readonly isPrimary: boolean;
16
+ readonly down: boolean;
17
+ readonly device: PointerDevice;
18
+ readonly id: number;
19
+ readonly timeStamp: number;
20
+ private constructor();
21
+ snappedToGrid(viewport: Viewport): Pointer;
22
+ static ofEvent(evt: PointerEvent, isDown: boolean, viewport: Viewport, relativeTo?: HTMLElement): Pointer;
23
+ static ofCanvasPoint(canvasPos: Point2, isDown: boolean, viewport: Viewport, id?: number, device?: PointerDevice, isPrimary?: boolean, pressure?: number | null): Pointer;
24
+ }
@@ -1,4 +1,4 @@
1
- import { Vec2 } from './math/Vec2';
1
+ import { Vec2 } from './math/Vec2.mjs';
2
2
  export var PointerDevice;
3
3
  (function (PointerDevice) {
4
4
  PointerDevice[PointerDevice["Pen"] = 0] = "Pen";
@@ -0,0 +1,48 @@
1
+ import Rect2 from './math/Rect2';
2
+ import { ComponentAddedListener, ImageLoader, OnDetermineExportRectListener, OnProgressListener } from './types';
3
+ export declare const defaultSVGViewRect: Rect2;
4
+ export declare const svgAttributesDataKey = "svgAttrs";
5
+ export declare const svgStyleAttributesDataKey = "svgStyleAttrs";
6
+ export type SVGLoaderUnknownAttribute = [string, string];
7
+ export type SVGLoaderUnknownStyleAttribute = {
8
+ key: string;
9
+ value: string;
10
+ priority?: string;
11
+ };
12
+ export default class SVGLoader implements ImageLoader {
13
+ private source;
14
+ private onFinish?;
15
+ private readonly storeUnknown;
16
+ private onAddComponent;
17
+ private onProgress;
18
+ private onDetermineExportRect;
19
+ private processedCount;
20
+ private totalToProcess;
21
+ private rootViewBox;
22
+ private constructor();
23
+ private getStyle;
24
+ private strokeDataFromElem;
25
+ private attachUnrecognisedAttrs;
26
+ private addPath;
27
+ private addBackground;
28
+ private getTransform;
29
+ private makeText;
30
+ private addText;
31
+ private addImage;
32
+ private addUnknownNode;
33
+ private updateViewBox;
34
+ private updateSVGAttrs;
35
+ private visit;
36
+ private getSourceAttrs;
37
+ start(onAddComponent: ComponentAddedListener, onProgress: OnProgressListener, onDetermineExportRect?: OnDetermineExportRectListener | null): Promise<void>;
38
+ /**
39
+ * Create an `SVGLoader` from the content of an SVG image. SVGs are loaded within a sandboxed
40
+ * iframe with `sandbox="allow-same-origin"`
41
+ * [thereby disabling JavaScript](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#sandbox).
42
+ *
43
+ * @see {@link Editor.loadFrom}
44
+ * @param text - Textual representation of the SVG (e.g. `<svg viewbox='...'>...</svg>`).
45
+ * @param sanitize - if `true`, don't store unknown attributes.
46
+ */
47
+ static fromString(text: string, sanitize?: boolean): SVGLoader;
48
+ }
@@ -7,17 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import Color4 from './Color4';
11
- import ImageBackground, { BackgroundType, imageBackgroundCSSClassName } from './components/ImageBackground';
12
- import ImageComponent from './components/ImageComponent';
13
- import Stroke from './components/Stroke';
14
- import SVGGlobalAttributesObject from './components/SVGGlobalAttributesObject';
15
- import TextComponent from './components/TextComponent';
16
- import UnknownSVGObject from './components/UnknownSVGObject';
17
- import Mat33 from './math/Mat33';
18
- import Path from './math/Path';
19
- import Rect2 from './math/Rect2';
20
- import { Vec2 } from './math/Vec2';
10
+ import Color4 from './Color4.mjs';
11
+ import ImageBackground, { BackgroundType, imageBackgroundCSSClassName } from './components/ImageBackground.mjs';
12
+ import ImageComponent from './components/ImageComponent.mjs';
13
+ import Stroke from './components/Stroke.mjs';
14
+ import SVGGlobalAttributesObject from './components/SVGGlobalAttributesObject.mjs';
15
+ import TextComponent from './components/TextComponent.mjs';
16
+ import UnknownSVGObject from './components/UnknownSVGObject.mjs';
17
+ import Mat33 from './math/Mat33.mjs';
18
+ import Path from './math/Path.mjs';
19
+ import Rect2 from './math/Rect2.mjs';
20
+ import { Vec2 } from './math/Vec2.mjs';
21
21
  // Size of a loaded image if no size is specified.
22
22
  export const defaultSVGViewRect = new Rect2(0, 0, 500, 500);
23
23
  // Key to retrieve unrecognised attributes from an AbstractComponent
@@ -0,0 +1,19 @@
1
+ import Editor from './Editor';
2
+ import Command from './commands/Command';
3
+ type AnnounceRedoCallback = (command: Command) => void;
4
+ type AnnounceUndoCallback = (command: Command) => void;
5
+ declare class UndoRedoHistory {
6
+ #private;
7
+ private readonly editor;
8
+ private announceRedoCallback;
9
+ private announceUndoCallback;
10
+ private readonly maxUndoRedoStackSize;
11
+ constructor(editor: Editor, announceRedoCallback: AnnounceRedoCallback, announceUndoCallback: AnnounceUndoCallback);
12
+ private fireUpdateEvent;
13
+ push(command: Command, apply?: boolean): void;
14
+ undo(): void;
15
+ redo(): void;
16
+ get undoStackSize(): number;
17
+ get redoStackSize(): number;
18
+ }
19
+ export default UndoRedoHistory;
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _UndoRedoHistory_undoStack, _UndoRedoHistory_redoStack;
13
- import { EditorEventType, UndoEventType } from './types';
13
+ import { EditorEventType, UndoEventType } from './types.mjs';
14
14
  class UndoRedoHistory {
15
15
  // @internal
16
16
  constructor(editor, announceRedoCallback, announceUndoCallback) {
@@ -0,0 +1,71 @@
1
+ import Command from './commands/Command';
2
+ import Mat33 from './math/Mat33';
3
+ import Rect2 from './math/Rect2';
4
+ import { Point2, Vec2 } from './math/Vec2';
5
+ import Vec3 from './math/Vec3';
6
+ import { StrokeDataPoint } from './types';
7
+ type PointDataType<T extends Point2 | StrokeDataPoint | number> = T extends Point2 ? Point2 : number;
8
+ export declare abstract class ViewportTransform extends Command {
9
+ abstract readonly transform: Mat33;
10
+ }
11
+ type TransformChangeCallback = (oldTransform: Mat33, newTransform: Mat33) => void;
12
+ export declare class Viewport {
13
+ private onTransformChangeCallback;
14
+ private static ViewportTransform;
15
+ private transform;
16
+ private inverseTransform;
17
+ private screenRect;
18
+ constructor(onTransformChangeCallback: TransformChangeCallback);
19
+ /**
20
+ * @returns a temporary copy of `this` that does not notify when modified. This is
21
+ * useful when rendering with a temporarily different viewport.
22
+ */
23
+ getTemporaryClone(): Viewport;
24
+ updateScreenSize(screenSize: Vec2): void;
25
+ /** Get the screen's visible region transformed into canvas space. */
26
+ get visibleRect(): Rect2;
27
+ /** @returns the given point, but in canvas coordinates */
28
+ screenToCanvas(screenPoint: Point2): Point2;
29
+ /** @returns the given point transformed into screen coordinates. */
30
+ canvasToScreen(canvasPoint: Point2): Point2;
31
+ /** @returns a command that transforms the canvas by `transform`. */
32
+ static transformBy(transform: Mat33): ViewportTransform;
33
+ /**
34
+ * Updates the transformation directly. Using `transformBy` is preferred.
35
+ * @param newTransform - should map from canvas coordinates to screen coordinates.
36
+ */
37
+ resetTransform(newTransform?: Mat33): void;
38
+ get screenToCanvasTransform(): Mat33;
39
+ get canvasToScreenTransform(): Mat33;
40
+ /** @returns the size of the visible region in pixels. */
41
+ getScreenRectSize(): Vec2;
42
+ /** Alias for `getScreenRectSize`. @deprecated */
43
+ getResolution(): Vec3;
44
+ /** @returns the amount a vector on the canvas is scaled to become a vector on the screen. */
45
+ getScaleFactor(): number;
46
+ /**
47
+ * @returns `getScaleFactor()` rounded to the nearest power of 10.
48
+ * For example, if `getScaleFactor()` returns 101, `getScaleFactorToNearestPowerOfTen()`
49
+ * should return `100` because `100` is the nearest power of 10 to 101.
50
+ */
51
+ getScaleFactorToNearestPowerOfTen(): number;
52
+ private getScaleFactorToNearestPowerOf;
53
+ snapToGrid(canvasPos: Point2): Vec3;
54
+ /** Returns the size of one screen pixel in canvas units. */
55
+ getSizeOfPixelOnCanvas(): number;
56
+ /**
57
+ * @returns the angle of the canvas in radians.
58
+ * This is the angle by which the canvas is rotated relative to the screen.
59
+ */
60
+ getRotationAngle(): number;
61
+ /**
62
+ * Rounds the given `point` to a multiple of 10 such that it is within `tolerance` of
63
+ * its original location. This is useful for preparing data for base-10 conversion.
64
+ */
65
+ static roundPoint<T extends Point2 | number>(point: T, tolerance: number): PointDataType<T>;
66
+ roundPoint(point: Point2): Point2;
67
+ static roundScaleRatio(scaleRatio: number, roundAmount?: number): number;
68
+ computeZoomToTransform(toMakeVisible: Rect2, allowZoomIn?: boolean, allowZoomOut?: boolean): Mat33;
69
+ zoomTo(toMakeVisible: Rect2, allowZoomIn?: boolean, allowZoomOut?: boolean): Command;
70
+ }
71
+ export default Viewport;
@@ -10,11 +10,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _inverseTransform, _a;
13
- import Command from './commands/Command';
14
- import Mat33 from './math/Mat33';
15
- import Rect2 from './math/Rect2';
16
- import { Vec2 } from './math/Vec2';
17
- import Vec3 from './math/Vec3';
13
+ import Command from './commands/Command.mjs';
14
+ import Mat33 from './math/Mat33.mjs';
15
+ import Rect2 from './math/Rect2.mjs';
16
+ import { Vec2 } from './math/Vec2.mjs';
17
+ import Vec3 from './math/Vec3.mjs';
18
18
  export class ViewportTransform extends Command {
19
19
  }
20
20
  export class Viewport {
@@ -0,0 +1,4 @@
1
+ import '../styles';
2
+ import Editor from '../Editor';
3
+ export * from '../lib';
4
+ export default Editor;
@@ -1,5 +1,5 @@
1
1
  // Main entrypoint for Webpack when building a bundle for release.
2
2
  import '../styles';
3
- import Editor from '../Editor';
4
- export * from '../lib';
3
+ import Editor from '../Editor.mjs';
4
+ export * from '../lib.mjs';
5
5
  export default Editor;
@@ -0,0 +1,16 @@
1
+ import Editor from '../Editor';
2
+ import { EditorLocalization } from '../localization';
3
+ export declare abstract class Command {
4
+ abstract apply(editor: Editor): Promise<void> | void;
5
+ abstract unapply(editor: Editor): Promise<void> | void;
6
+ onDrop(_editor: Editor): void;
7
+ abstract description(editor: Editor, localizationTable: EditorLocalization): string;
8
+ static union(a: Command, b: Command): Command;
9
+ static readonly empty: {
10
+ description(_editor: Editor, _localizationTable: EditorLocalization): string;
11
+ apply(_editor: Editor): void;
12
+ unapply(_editor: Editor): void;
13
+ onDrop(_editor: Editor): void;
14
+ };
15
+ }
16
+ export default Command;
@@ -0,0 +1,14 @@
1
+ import AbstractComponent from '../components/AbstractComponent';
2
+ import Editor from '../Editor';
3
+ import { EditorLocalization } from '../localization';
4
+ import SerializableCommand from './SerializableCommand';
5
+ export default class Duplicate extends SerializableCommand {
6
+ private toDuplicate;
7
+ private duplicates;
8
+ private reverse;
9
+ constructor(toDuplicate: AbstractComponent[]);
10
+ apply(editor: Editor): void;
11
+ unapply(editor: Editor): void;
12
+ description(_editor: Editor, localizationTable: EditorLocalization): string;
13
+ protected serializeToJSON(): string[];
14
+ }
@@ -1,6 +1,6 @@
1
- import describeComponentList from '../components/util/describeComponentList';
2
- import Erase from './Erase';
3
- import SerializableCommand from './SerializableCommand';
1
+ import describeComponentList from '../components/util/describeComponentList.mjs';
2
+ import Erase from './Erase.mjs';
3
+ import SerializableCommand from './SerializableCommand.mjs';
4
4
  export default class Duplicate extends SerializableCommand {
5
5
  constructor(toDuplicate) {
6
6
  super('duplicate');
@@ -0,0 +1,14 @@
1
+ import AbstractComponent from '../components/AbstractComponent';
2
+ import Editor from '../Editor';
3
+ import { EditorLocalization } from '../localization';
4
+ import SerializableCommand from './SerializableCommand';
5
+ export default class Erase extends SerializableCommand {
6
+ private toRemove;
7
+ private applied;
8
+ constructor(toRemove: AbstractComponent[]);
9
+ apply(editor: Editor): void;
10
+ unapply(editor: Editor): void;
11
+ onDrop(editor: Editor): void;
12
+ description(_editor: Editor, localizationTable: EditorLocalization): string;
13
+ protected serializeToJSON(): string[];
14
+ }
@@ -1,6 +1,6 @@
1
- import describeComponentList from '../components/util/describeComponentList';
2
- import EditorImage from '../EditorImage';
3
- import SerializableCommand from './SerializableCommand';
1
+ import describeComponentList from '../components/util/describeComponentList.mjs';
2
+ import EditorImage from '../EditorImage.mjs';
3
+ import SerializableCommand from './SerializableCommand.mjs';
4
4
  export default class Erase extends SerializableCommand {
5
5
  constructor(toRemove) {
6
6
  super('erase');
@@ -0,0 +1,12 @@
1
+ import Editor from '../Editor';
2
+ import Command from './Command';
3
+ export type DeserializationCallback = (data: Record<string, any> | any[], editor: Editor) => SerializableCommand;
4
+ export default abstract class SerializableCommand extends Command {
5
+ private commandTypeId;
6
+ constructor(commandTypeId: string);
7
+ protected abstract serializeToJSON(): string | Record<string, any> | any[];
8
+ private static deserializationCallbacks;
9
+ serialize(): Record<string | symbol, any>;
10
+ static deserialize(data: string | Record<string, any>, editor: Editor): SerializableCommand;
11
+ static register(commandTypeId: string, deserialize: DeserializationCallback): void;
12
+ }
@@ -1,4 +1,4 @@
1
- import Command from './Command';
1
+ import Command from './Command.mjs';
2
2
  export default class SerializableCommand extends Command {
3
3
  constructor(commandTypeId) {
4
4
  super();
@@ -0,0 +1,14 @@
1
+ import EditorImage from '../EditorImage';
2
+ import AbstractComponent from '../components/AbstractComponent';
3
+ import SerializableCommand from './SerializableCommand';
4
+ export type ResolveFromComponentCallback = () => SerializableCommand;
5
+ /**
6
+ * A command that requires a component that may or may not be present in the editor when
7
+ * the command is created.
8
+ */
9
+ export default abstract class UnresolvedSerializableCommand extends SerializableCommand {
10
+ protected component: AbstractComponent | null;
11
+ protected readonly componentID: string;
12
+ protected constructor(commandId: string, componentID: string, component?: AbstractComponent);
13
+ protected resolveComponent(image: EditorImage): void;
14
+ }
@@ -1,4 +1,4 @@
1
- import SerializableCommand from './SerializableCommand';
1
+ import SerializableCommand from './SerializableCommand.mjs';
2
2
  /**
3
3
  * A command that requires a component that may or may not be present in the editor when
4
4
  * the command is created.
@@ -0,0 +1,4 @@
1
+ import Command from './Command';
2
+ import SerializableCommand from './SerializableCommand';
3
+ declare const invertCommand: <T extends Command>(command: T) => T extends SerializableCommand ? SerializableCommand : Command;
4
+ export default invertCommand;
@@ -1,5 +1,5 @@
1
- import Command from './Command';
2
- import SerializableCommand from './SerializableCommand';
1
+ import Command from './Command.mjs';
2
+ import SerializableCommand from './SerializableCommand.mjs';
3
3
  // Returns a command that does the opposite of the given command --- `result.apply()` calls
4
4
  // `command.unapply()` and `result.unapply()` calls `command.apply()`.
5
5
  const invertCommand = (command) => {
@@ -0,0 +1,7 @@
1
+ import Command from './Command.mjs';
2
+ import Duplicate from './Duplicate.mjs';
3
+ import Erase from './Erase.mjs';
4
+ import invertCommand from './invertCommand.mjs';
5
+ import SerializableCommand from './SerializableCommand.mjs';
6
+ import uniteCommands from './uniteCommands.mjs';
7
+ export { Command, Duplicate, Erase, SerializableCommand, invertCommand, uniteCommands, };
@@ -0,0 +1,23 @@
1
+ import Rect2 from '../math/Rect2';
2
+ export interface CommandLocalization {
3
+ movedLeft: string;
4
+ movedUp: string;
5
+ movedDown: string;
6
+ movedRight: string;
7
+ rotatedBy: (degrees: number) => string;
8
+ zoomedOut: string;
9
+ zoomedIn: string;
10
+ erasedNoElements: string;
11
+ duplicatedNoElements: string;
12
+ elements: string;
13
+ updatedViewport: string;
14
+ transformedElements: (elemCount: number) => string;
15
+ resizeOutputCommand: (newSize: Rect2) => string;
16
+ addElementAction: (elemDescription: string) => string;
17
+ eraseAction: (elemDescription: string, numElems: number) => string;
18
+ duplicateAction: (elemDescription: string, count: number) => string;
19
+ inverseOf: (actionDescription: string) => string;
20
+ unionOf: (actionDescription: string, actionCount: number) => string;
21
+ selectedElements: (count: number) => string;
22
+ }
23
+ export declare const defaultCommandLocalization: CommandLocalization;
@@ -0,0 +1,4 @@
1
+ import Command from './Command';
2
+ import SerializableCommand from './SerializableCommand';
3
+ declare const uniteCommands: <T extends Command>(commands: T[], applyChunkSize?: number) => T extends SerializableCommand ? SerializableCommand : Command;
4
+ export default uniteCommands;
@@ -1,5 +1,5 @@
1
- import Command from './Command';
2
- import SerializableCommand from './SerializableCommand';
1
+ import Command from './Command.mjs';
2
+ import SerializableCommand from './SerializableCommand.mjs';
3
3
  class NonSerializableUnion extends Command {
4
4
  constructor(commands, applyChunkSize) {
5
5
  super();