kritzel-stencil 0.0.127 → 0.0.129

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 (293) hide show
  1. package/dist/cjs/{index-BacMQbNR.js → index-C7Read21.js} +165 -82
  2. package/dist/cjs/index-C7Read21.js.map +1 -0
  3. package/dist/cjs/{index-C05uAr89.js → index-CUSIflVf.js} +12 -6
  4. package/dist/cjs/index-CUSIflVf.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +1 -3
  6. package/dist/cjs/{kritzel-brush-style_18.cjs.entry.js → kritzel-brush-style_22.cjs.entry.js} +997 -211
  7. package/dist/cjs/loader.cjs.js +2 -4
  8. package/dist/cjs/stencil.cjs.js +3 -5
  9. package/dist/cjs/stencil.cjs.js.map +1 -1
  10. package/dist/collection/classes/commands/add-object.command.js +5 -2
  11. package/dist/collection/classes/commands/add-object.command.js.map +1 -1
  12. package/dist/collection/classes/commands/add-selection-group.command.js +2 -2
  13. package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
  14. package/dist/collection/classes/commands/base.command.js +2 -2
  15. package/dist/collection/classes/commands/base.command.js.map +1 -1
  16. package/dist/collection/classes/commands/batch.command.js +2 -2
  17. package/dist/collection/classes/commands/batch.command.js.map +1 -1
  18. package/dist/collection/classes/commands/move-selection-group.command.js +2 -2
  19. package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
  20. package/dist/collection/classes/commands/remove-object.command.js +5 -2
  21. package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
  22. package/dist/collection/classes/commands/remove-selection-group.command.js +2 -2
  23. package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -1
  24. package/dist/collection/classes/commands/resize-selection-group.command.js +2 -2
  25. package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
  26. package/dist/collection/classes/commands/rotate-selection-group.command.js +2 -2
  27. package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
  28. package/dist/collection/classes/commands/update-object.command.js +5 -2
  29. package/dist/collection/classes/commands/update-object.command.js.map +1 -1
  30. package/dist/collection/classes/commands/update-viewport.command.js +2 -2
  31. package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
  32. package/dist/collection/classes/database.class.js +227 -0
  33. package/dist/collection/classes/database.class.js.map +1 -0
  34. package/dist/collection/classes/handlers/key.handler.js +0 -1
  35. package/dist/collection/classes/handlers/key.handler.js.map +1 -1
  36. package/dist/collection/classes/handlers/move.handler.js +18 -2
  37. package/dist/collection/classes/handlers/move.handler.js.map +1 -1
  38. package/dist/collection/classes/handlers/resize.handler.js +10 -2
  39. package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
  40. package/dist/collection/classes/handlers/rotation.handler.js +18 -2
  41. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
  42. package/dist/collection/classes/history.class.js +18 -5
  43. package/dist/collection/classes/history.class.js.map +1 -1
  44. package/dist/collection/classes/objects/base-object.class.js +1 -0
  45. package/dist/collection/classes/objects/base-object.class.js.map +1 -1
  46. package/dist/collection/classes/objects/custom-element.class.js +1 -0
  47. package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
  48. package/dist/collection/classes/objects/image.class.js +1 -0
  49. package/dist/collection/classes/objects/image.class.js.map +1 -1
  50. package/dist/collection/classes/objects/path.class.js +1 -0
  51. package/dist/collection/classes/objects/path.class.js.map +1 -1
  52. package/dist/collection/classes/objects/selection-box.class.js +1 -0
  53. package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
  54. package/dist/collection/classes/objects/selection-group.class.js +1 -0
  55. package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
  56. package/dist/collection/classes/objects/text.class.js +7 -4
  57. package/dist/collection/classes/objects/text.class.js.map +1 -1
  58. package/dist/collection/classes/registries/icon-registry.class.js +5 -1
  59. package/dist/collection/classes/registries/icon-registry.class.js.map +1 -1
  60. package/dist/collection/classes/store.class.js +143 -20
  61. package/dist/collection/classes/store.class.js.map +1 -1
  62. package/dist/collection/classes/structures/octree.structure.js +4 -0
  63. package/dist/collection/classes/structures/octree.structure.js.map +1 -1
  64. package/dist/collection/classes/tools/image-tool.class.js +3 -0
  65. package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
  66. package/dist/collection/classes/tools/text-tool.class.js +2 -2
  67. package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
  68. package/dist/collection/classes/viewport.class.js +4 -0
  69. package/dist/collection/classes/viewport.class.js.map +1 -1
  70. package/dist/collection/classes/workspace.class.js +10 -0
  71. package/dist/collection/classes/workspace.class.js.map +1 -0
  72. package/dist/collection/collection-manifest.json +6 -2
  73. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  74. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +5 -0
  75. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +14 -16
  76. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
  77. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +235 -39
  78. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  79. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  80. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +1 -1
  81. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  82. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  83. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
  84. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +1 -1
  85. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  86. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +179 -0
  87. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +288 -0
  88. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -0
  89. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +218 -0
  90. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -0
  91. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -0
  92. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +327 -0
  93. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -0
  94. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +2 -2
  95. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  96. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +4 -4
  97. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +1 -1
  98. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +24 -61
  99. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
  100. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +2 -2
  101. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
  102. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +8 -11
  103. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +29 -17
  104. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
  105. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  106. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +5 -0
  107. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +212 -0
  108. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -0
  109. package/dist/collection/configs/default-engine-state.js +5 -2
  110. package/dist/collection/configs/default-engine-state.js.map +1 -1
  111. package/dist/collection/helpers/class.helper.js +1 -1
  112. package/dist/collection/helpers/class.helper.js.map +1 -1
  113. package/dist/collection/helpers/html.helper.js +30 -1
  114. package/dist/collection/helpers/html.helper.js.map +1 -1
  115. package/dist/collection/helpers/object.helper.js +1 -1
  116. package/dist/collection/helpers/object.helper.js.map +1 -1
  117. package/dist/collection/interfaces/command.interface.js.map +1 -1
  118. package/dist/collection/interfaces/debug-info.interface.js.map +1 -1
  119. package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
  120. package/dist/collection/interfaces/menu-item.interface.js +2 -0
  121. package/dist/collection/interfaces/menu-item.interface.js.map +1 -0
  122. package/dist/collection/interfaces/object.interface.js.map +1 -1
  123. package/dist/components/index.d.ts +8 -0
  124. package/dist/components/index.js +7 -3
  125. package/dist/components/index.js.map +1 -1
  126. package/dist/components/kritzel-brush-style.js +1 -1
  127. package/dist/components/kritzel-color-palette.js +1 -1
  128. package/dist/components/kritzel-color.js +1 -1
  129. package/dist/components/kritzel-context-menu.js +1 -1
  130. package/dist/components/kritzel-control-brush-config.js +1 -1
  131. package/dist/components/kritzel-control-text-config.js +1 -1
  132. package/dist/components/kritzel-controls.js +1 -1
  133. package/dist/components/kritzel-cursor-trail.js +1 -1
  134. package/dist/components/kritzel-dropdown.js +1 -1
  135. package/dist/components/kritzel-editor.js +79 -49
  136. package/dist/components/kritzel-editor.js.map +1 -1
  137. package/dist/components/kritzel-engine.js +1 -1
  138. package/dist/components/kritzel-font-family.js +1 -1
  139. package/dist/components/kritzel-font-size.js +1 -1
  140. package/dist/components/kritzel-font.js +1 -1
  141. package/dist/components/kritzel-icon.js +1 -1
  142. package/dist/components/kritzel-menu.d.ts +11 -0
  143. package/dist/components/kritzel-menu.js +9 -0
  144. package/dist/components/kritzel-menu.js.map +1 -0
  145. package/dist/components/kritzel-portal.d.ts +11 -0
  146. package/dist/components/kritzel-portal.js +9 -0
  147. package/dist/components/kritzel-portal.js.map +1 -0
  148. package/dist/components/kritzel-split-button.d.ts +11 -0
  149. package/dist/components/kritzel-split-button.js +9 -0
  150. package/dist/components/kritzel-split-button.js.map +1 -0
  151. package/dist/components/kritzel-stroke-size.js +1 -1
  152. package/dist/components/kritzel-tooltip.js +1 -1
  153. package/dist/components/kritzel-utility-panel.js +1 -1
  154. package/dist/components/kritzel-workspace-manager.d.ts +11 -0
  155. package/dist/components/kritzel-workspace-manager.js +9 -0
  156. package/dist/components/kritzel-workspace-manager.js.map +1 -0
  157. package/dist/components/{p-DfJEh7HZ.js → p-5CJxFNEE.js} +9 -7
  158. package/dist/components/p-5CJxFNEE.js.map +1 -0
  159. package/dist/components/{p-ljdIU3DL.js → p-B7VrEdgP.js} +63 -63
  160. package/dist/components/p-B7VrEdgP.js.map +1 -0
  161. package/dist/components/{p-DJc6_PyL.js → p-BAPUTr3K.js} +10 -8
  162. package/dist/components/p-BAPUTr3K.js.map +1 -0
  163. package/dist/components/{p-CtiROna-.js → p-BLmFBe2a.js} +12 -6
  164. package/dist/components/p-BLmFBe2a.js.map +1 -0
  165. package/dist/components/p-BU2q3PRS.js +84 -0
  166. package/dist/components/p-BU2q3PRS.js.map +1 -0
  167. package/dist/components/{p-Dp8hrISj.js → p-BZ-j_4CK.js} +8 -6
  168. package/dist/components/p-BZ-j_4CK.js.map +1 -0
  169. package/dist/components/{p-BhC-Et5I.js → p-BaKb8ZLg.js} +16 -14
  170. package/dist/components/p-BaKb8ZLg.js.map +1 -0
  171. package/dist/components/p-Bb6od8He.js +42 -0
  172. package/dist/components/p-Bb6od8He.js.map +1 -0
  173. package/dist/components/{p-DcvujuV_.js → p-BcQTDgzV.js} +10 -8
  174. package/dist/components/p-BcQTDgzV.js.map +1 -0
  175. package/dist/components/p-BeVv4o5c.js +14 -0
  176. package/dist/components/p-BeVv4o5c.js.map +1 -0
  177. package/dist/components/p-BmJbJwkH.js +167 -0
  178. package/dist/components/p-BmJbJwkH.js.map +1 -0
  179. package/dist/components/{p-DJN0U8pI.js → p-BqrTPNyu.js} +10 -7
  180. package/dist/components/p-BqrTPNyu.js.map +1 -0
  181. package/dist/components/{p-NZJPrwJV.js → p-BvlGgLAQ.js} +7 -5
  182. package/dist/components/p-BvlGgLAQ.js.map +1 -0
  183. package/dist/components/{p-BOUCnklW.js → p-BzSz74Ci.js} +9 -7
  184. package/dist/components/p-BzSz74Ci.js.map +1 -0
  185. package/dist/components/p-C6OxvITm.js +168 -0
  186. package/dist/components/p-C6OxvITm.js.map +1 -0
  187. package/dist/components/p-CJKA5zIE.js +10 -0
  188. package/dist/components/p-CJKA5zIE.js.map +1 -0
  189. package/dist/components/{p-CudOuOAW.js → p-D-zg05gA.js} +558 -126
  190. package/dist/components/p-D-zg05gA.js.map +1 -0
  191. package/dist/components/p-D8W6LE-c.js.map +1 -1
  192. package/dist/components/p-Dozs0Zfn.js +115 -0
  193. package/dist/components/p-Dozs0Zfn.js.map +1 -0
  194. package/dist/components/{p-EQo4-DJT.js → p-DtmZW6eP.js} +8 -6
  195. package/dist/components/p-DtmZW6eP.js.map +1 -0
  196. package/dist/components/{p-C9usqwb5.js → p-V4ui5aWj.js} +9 -7
  197. package/dist/components/p-V4ui5aWj.js.map +1 -0
  198. package/dist/components/{p-BubFkS0u.js → p-_ntxNi8v.js} +9 -7
  199. package/dist/components/p-_ntxNi8v.js.map +1 -0
  200. package/dist/components/{p-BkFzf8vg.js → p-a7KmQzo4.js} +15 -13
  201. package/dist/components/p-a7KmQzo4.js.map +1 -0
  202. package/dist/components/p-aaxf-h5S.js +159 -0
  203. package/dist/components/p-aaxf-h5S.js.map +1 -0
  204. package/dist/components/{p-CmlcJ8Kw.js → p-jG1e48OE.js} +11 -9
  205. package/dist/components/p-jG1e48OE.js.map +1 -0
  206. package/dist/components/{p-D5a8vnRF.js → p-rQeWFfPG.js} +10 -8
  207. package/dist/components/p-rQeWFfPG.js.map +1 -0
  208. package/dist/components/{p-DSWoCkxm.js → p-yZFrTtMQ.js} +43 -40
  209. package/dist/components/p-yZFrTtMQ.js.map +1 -0
  210. package/dist/esm/{index-D37FADaF.js → index-J4NpPimy.js} +163 -83
  211. package/dist/esm/index-J4NpPimy.js.map +1 -0
  212. package/dist/esm/{index-BGl8znzE.js → index-NiIEUDzj.js} +12 -6
  213. package/dist/esm/index-NiIEUDzj.js.map +1 -0
  214. package/dist/esm/index.js +1 -3
  215. package/dist/esm/{kritzel-brush-style_18.entry.js → kritzel-brush-style_22.entry.js} +987 -205
  216. package/dist/esm/loader.js +3 -5
  217. package/dist/esm/stencil.js +4 -6
  218. package/dist/esm/stencil.js.map +1 -1
  219. package/dist/stencil/index.esm.js +1 -1
  220. package/dist/stencil/p-43202395.entry.js +2 -0
  221. package/dist/stencil/p-43202395.entry.js.map +1 -0
  222. package/dist/stencil/p-J4NpPimy.js +2 -0
  223. package/dist/stencil/p-J4NpPimy.js.map +1 -0
  224. package/dist/stencil/{p-BGl8znzE.js → p-NiIEUDzj.js} +3 -3
  225. package/dist/stencil/p-NiIEUDzj.js.map +1 -0
  226. package/dist/stencil/stencil.esm.js +1 -1
  227. package/dist/stencil/stencil.esm.js.map +1 -1
  228. package/dist/types/classes/commands/add-object.command.d.ts +1 -1
  229. package/dist/types/classes/commands/add-selection-group.command.d.ts +1 -1
  230. package/dist/types/classes/commands/base.command.d.ts +2 -2
  231. package/dist/types/classes/commands/batch.command.d.ts +1 -1
  232. package/dist/types/classes/commands/move-selection-group.command.d.ts +1 -1
  233. package/dist/types/classes/commands/remove-object.command.d.ts +1 -1
  234. package/dist/types/classes/commands/remove-selection-group.command.d.ts +1 -1
  235. package/dist/types/classes/commands/resize-selection-group.command.d.ts +1 -1
  236. package/dist/types/classes/commands/rotate-selection-group.command.d.ts +1 -1
  237. package/dist/types/classes/commands/update-object.command.d.ts +1 -1
  238. package/dist/types/classes/commands/update-viewport.command.d.ts +1 -1
  239. package/dist/types/classes/database.class.d.ts +28 -0
  240. package/dist/types/classes/history.class.d.ts +1 -0
  241. package/dist/types/classes/objects/base-object.class.d.ts +1 -0
  242. package/dist/types/classes/objects/text.class.d.ts +1 -1
  243. package/dist/types/classes/store.class.d.ts +19 -2
  244. package/dist/types/classes/structures/octree.structure.d.ts +1 -0
  245. package/dist/types/classes/workspace.class.d.ts +16 -0
  246. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +6 -1
  247. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +12 -2
  248. package/dist/types/components/shared/kritzel-menu/kritzel-menu.d.ts +26 -0
  249. package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +24 -0
  250. package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +25 -0
  251. package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +3 -4
  252. package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +2 -1
  253. package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +25 -0
  254. package/dist/types/components.d.ts +250 -2
  255. package/dist/types/helpers/html.helper.d.ts +3 -1
  256. package/dist/types/interfaces/command.interface.d.ts +1 -1
  257. package/dist/types/interfaces/debug-info.interface.d.ts +1 -0
  258. package/dist/types/interfaces/engine-state.interface.d.ts +3 -0
  259. package/dist/types/interfaces/menu-item.interface.d.ts +9 -0
  260. package/dist/types/interfaces/object.interface.d.ts +1 -0
  261. package/dist/types/stencil-public-runtime.d.ts +21 -0
  262. package/package.json +2 -1
  263. package/dist/cjs/index-BacMQbNR.js.map +0 -1
  264. package/dist/cjs/index-C05uAr89.js.map +0 -1
  265. package/dist/cjs/kritzel-brush-style_18.cjs.entry.js.map +0 -1
  266. package/dist/components/p-2gNwfcSP.js +0 -119
  267. package/dist/components/p-2gNwfcSP.js.map +0 -1
  268. package/dist/components/p-BOUCnklW.js.map +0 -1
  269. package/dist/components/p-BhC-Et5I.js.map +0 -1
  270. package/dist/components/p-BkFzf8vg.js.map +0 -1
  271. package/dist/components/p-BubFkS0u.js.map +0 -1
  272. package/dist/components/p-C9usqwb5.js.map +0 -1
  273. package/dist/components/p-CmlcJ8Kw.js.map +0 -1
  274. package/dist/components/p-CtiROna-.js.map +0 -1
  275. package/dist/components/p-CudOuOAW.js.map +0 -1
  276. package/dist/components/p-D5a8vnRF.js.map +0 -1
  277. package/dist/components/p-DJN0U8pI.js.map +0 -1
  278. package/dist/components/p-DJc6_PyL.js.map +0 -1
  279. package/dist/components/p-DSWoCkxm.js.map +0 -1
  280. package/dist/components/p-DcvujuV_.js.map +0 -1
  281. package/dist/components/p-DfJEh7HZ.js.map +0 -1
  282. package/dist/components/p-Dp8hrISj.js.map +0 -1
  283. package/dist/components/p-EQo4-DJT.js.map +0 -1
  284. package/dist/components/p-NZJPrwJV.js.map +0 -1
  285. package/dist/components/p-ljdIU3DL.js.map +0 -1
  286. package/dist/esm/index-BGl8znzE.js.map +0 -1
  287. package/dist/esm/index-D37FADaF.js.map +0 -1
  288. package/dist/esm/kritzel-brush-style_18.entry.js.map +0 -1
  289. package/dist/stencil/p-BGl8znzE.js.map +0 -1
  290. package/dist/stencil/p-D37FADaF.js +0 -2
  291. package/dist/stencil/p-D37FADaF.js.map +0 -1
  292. package/dist/stencil/p-e6ac7fc6.entry.js +0 -2
  293. package/dist/stencil/p-e6ac7fc6.entry.js.map +0 -1
@@ -15,6 +15,11 @@ import { KritzelEventHelper } from "../../../helpers/event.helper";
15
15
  import { KritzelClassHelper } from "../../../helpers/class.helper";
16
16
  import { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from "../../../constants/engine.constants";
17
17
  export class KritzelEngine {
18
+ onWorkspaceChange(newWorkspace) {
19
+ if (newWorkspace) {
20
+ this.store.initializeWorkspace(newWorkspace);
21
+ }
22
+ }
18
23
  validateScaleMax(newValue) {
19
24
  if (newValue > ABSOLUTE_SCALE_MAX) {
20
25
  console.warn(`scaleMax cannot be greater than ${ABSOLUTE_SCALE_MAX}.`);
@@ -52,18 +57,23 @@ export class KritzelEngine {
52
57
  this.validateScaleMax(this.scaleMax);
53
58
  this.validateScaleMin(this.scaleMin);
54
59
  }
55
- componentDidLoad() {
60
+ async componentDidLoad() {
56
61
  this.contextMenuHandler = new KritzelContextMenuHandler(this.store, this.globalContextMenuItems, this.objectContextMenuItems);
57
62
  this.keyHandler = new KritzelKeyHandler(this.store);
58
63
  this.viewport = new KritzelViewport(this.store, this.host);
59
64
  this._registerStateChangeListeners();
65
+ await this.store.initializeDatabase();
66
+ await this.store.initializeWorkspace(this.workspace);
60
67
  if (this.store.state.isReady === false) {
61
68
  this.store.state.isReady = true;
62
- this.isEngineReady.emit();
69
+ this.isEngineReady.emit(this.store.state);
63
70
  }
64
71
  }
65
72
  handleWheel(ev) {
66
73
  var _a, _b;
74
+ if (this.store.isDisabled) {
75
+ return;
76
+ }
67
77
  if (this.store.state.isContextMenuVisible) {
68
78
  this.hideContextMenu();
69
79
  }
@@ -72,11 +82,11 @@ export class KritzelEngine {
72
82
  }
73
83
  handlePointerDown(ev) {
74
84
  var _a, _b;
75
- if (KritzelEventHelper.isPointerEventOnContextMenu(ev) === false && this.store.state.isContextMenuVisible) {
76
- this.hideContextMenu();
85
+ if (this.store.isDisabled) {
77
86
  return;
78
87
  }
79
- if (this.store.state.isEnabled === false) {
88
+ if (KritzelEventHelper.isPointerEventOnContextMenu(ev) === false && this.store.state.isContextMenuVisible) {
89
+ this.hideContextMenu();
80
90
  return;
81
91
  }
82
92
  KritzelEventHelper.onLongTouchPress(ev, (event) => {
@@ -92,7 +102,7 @@ export class KritzelEngine {
92
102
  }
93
103
  handlePointerMove(ev) {
94
104
  var _a, _b;
95
- if (this.store.state.isEnabled === false) {
105
+ if (this.store.isDisabled) {
96
106
  return;
97
107
  }
98
108
  this.store.state.pointers.set(ev.pointerId, ev);
@@ -101,7 +111,7 @@ export class KritzelEngine {
101
111
  }
102
112
  handlePointerUp(ev) {
103
113
  var _a, _b;
104
- if (this.store.state.isEnabled === false) {
114
+ if (this.store.isDisabled) {
105
115
  return;
106
116
  }
107
117
  this.store.state.pointers.delete(ev.pointerId);
@@ -111,7 +121,7 @@ export class KritzelEngine {
111
121
  }
112
122
  handlePointerCancel(ev) {
113
123
  var _a, _b;
114
- if (this.store.state.isEnabled === false) {
124
+ if (this.store.isDisabled) {
115
125
  return;
116
126
  }
117
127
  this.host.releasePointerCapture(ev.pointerId);
@@ -121,7 +131,7 @@ export class KritzelEngine {
121
131
  }
122
132
  handleContextMenu(ev) {
123
133
  ev.preventDefault();
124
- if (this.store.state.isEnabled === false) {
134
+ if (this.store.isDisabled) {
125
135
  return;
126
136
  }
127
137
  if (ev.pointerType === 'touch') {
@@ -139,6 +149,9 @@ export class KritzelEngine {
139
149
  this.keyHandler.handleKeyUp(ev);
140
150
  }
141
151
  updateFocus(ev) {
152
+ if (this.store.isDisabled) {
153
+ return;
154
+ }
142
155
  const rect = this.store.state.host.getBoundingClientRect();
143
156
  const isInside = ev.clientX >= rect.left && ev.clientX <= rect.right && ev.clientY >= rect.top && ev.clientY <= rect.bottom;
144
157
  const path = ev.composedPath();
@@ -146,6 +159,9 @@ export class KritzelEngine {
146
159
  const isInKritzelEngine = path.includes(kritzelEngineElement || this.host);
147
160
  this.store.setState('isFocused', isInside && isInKritzelEngine);
148
161
  }
162
+ handleClick() {
163
+ this.enable();
164
+ }
149
165
  async registerTool(toolName, toolClass, toolConfig) {
150
166
  if (typeof toolClass !== 'function' || !(toolClass.prototype instanceof KritzelBaseTool)) {
151
167
  console.error(`Failed to register tool "${toolName}": Tool class must be a constructor function`);
@@ -267,6 +283,24 @@ export class KritzelEngine {
267
283
  var _a;
268
284
  return ((_a = this.store.state.copiedObjects) === null || _a === void 0 ? void 0 : _a.objects) || [];
269
285
  }
286
+ async createWorkspace(workspace) {
287
+ return this.store.createWorkspace(workspace).then(() => {
288
+ this.workspacesChange.emit(this.store.state.workspaces);
289
+ });
290
+ }
291
+ async updateWorkspace(workspace) {
292
+ return this.store.updateWorkspace(workspace).then(() => {
293
+ this.workspacesChange.emit(this.store.state.workspaces);
294
+ });
295
+ }
296
+ async deleteWorkspace(workspace) {
297
+ return this.store.deleteWorkspace(workspace).then(() => {
298
+ this.workspacesChange.emit(this.store.state.workspaces.filter(ws => ws.id !== workspace.id));
299
+ });
300
+ }
301
+ async getWorkspaces() {
302
+ return this.store.getWorkspaces();
303
+ }
270
304
  _registerStateChangeListeners() {
271
305
  this.store.onStateChange('activeTool', this._handleActiveToolChange.bind(this));
272
306
  this.store.onStateChange('isFocused', this._handleIsFocusedChange.bind(this));
@@ -285,25 +319,27 @@ export class KritzelEngine {
285
319
  }
286
320
  }
287
321
  render() {
288
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
322
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
289
323
  const computedStyle = window.getComputedStyle(this.host);
290
324
  const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
291
325
  const baseHandleSize = parseFloat(baseHandleSizePx);
292
326
  const baseHandleTouchSize = baseHandleSize * 2 < 14 ? 14 : baseHandleSize;
293
- return (h(Host, { key: '9662d9be6c5537340fe8416a5f74f3dec995fc91' }, h("div", { key: '4f42e6cf0ee0b77c672e7485a53ffed7a75961fa', class: "debug-panel", style: { display: this.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, h("div", { key: '75bb2ea8e945c4d65d86a90f4f6da95ccd4425d1' }, "TranslateX: ", (_a = this.store.state) === null || _a === void 0 ? void 0 :
294
- _a.translateX), h("div", { key: '69558794d6b88fece7c8af2be3cf5930174b8fd6' }, "TranslateY: ", (_b = this.store.state) === null || _b === void 0 ? void 0 :
295
- _b.translateY), h("div", { key: 'd2e933f23eef9ee56137906f56c5cbadbaadaf23' }, "ViewportWidth: ", (_c = this.store.state) === null || _c === void 0 ? void 0 :
296
- _c.viewportWidth), h("div", { key: 'c085fee84706c0be930d1e659dedb8a2728130dd' }, "ViewportHeight: ", (_d = this.store.state) === null || _d === void 0 ? void 0 :
297
- _d.viewportHeight), h("div", { key: 'eeef8323ae0bc5047f038f4794aee4ed718d1183' }, "ObjectsInViewport. ", this.store.objects.length), h("div", { key: '20172772854ab20ee9dd9b4bf9b969627c649e61' }, "Scale: ", (_e = this.store.state) === null || _e === void 0 ? void 0 :
298
- _e.scale), h("div", { key: '256646b05f63bc6949578acb1739f57a581c86e4' }, "ActiveTool: ", (_g = (_f = this.store.state) === null || _f === void 0 ? void 0 : _f.activeTool) === null || _g === void 0 ? void 0 :
299
- _g.name), h("div", { key: 'd9e17c3c89a135fcbaf1cdfaa8f8123186c74626' }, "HasViewportChanged: ", ((_h = this.store.state) === null || _h === void 0 ? void 0 : _h.hasViewportChanged) ? 'true' : 'false'), h("div", { key: '7750bc5b2763e6351eb37f51b54bca965f7e0823' }, "IsEnabled: ", ((_j = this.store.state) === null || _j === void 0 ? void 0 : _j.isEnabled) ? 'true' : 'false'), h("div", { key: '59ca295c0ab33fe6d82ccd1072fe64672c9f21b7' }, "IsScaling: ", ((_k = this.store.state) === null || _k === void 0 ? void 0 : _k.isScaling) ? 'true' : 'false'), h("div", { key: 'b413ddf6bbc8e7e758abd811f3e66a71a4961a04' }, "IsPanning: ", ((_l = this.store.state) === null || _l === void 0 ? void 0 : _l.isPanning) ? 'true' : 'false'), h("div", { key: 'c941fe71c6d3a124bcb02ff6d1efa33d943646aa' }, "IsFocused: ", this.store.state.isFocused ? 'true' : 'false'), h("div", { key: 'f060e324991d0885770cfbedf8332047a3ede890' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), h("div", { key: 'ec3f85f2cc61bb55210cfa952ce8b1af66c4caf4' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), h("div", { key: '0376abe30d6456038a98383a82eff2ec955fd69a' }, "IsResizeHandleSelected: ", this.store.state.isResizeHandleSelected ? 'true' : 'false'), h("div", { key: '546d868377d654400e9013f8df54389e08a2c02d' }, "IsRotationHandleSelected: ", this.store.state.isRotationHandleSelected ? 'true' : 'false'), h("div", { key: 'b233911cad585a5318dd0a83258d477dd3e286f7' }, "IsDrawing: ", this.store.state.isDrawing ? 'true' : 'false'), h("div", { key: '4fd9f89a72c49bb681695030245d4622ffe281b5' }, "IsWriting: ", this.store.state.isWriting ? 'true' : 'false'), h("div", { key: 'e7c3b3485b945fff20dd0c6601727b52478a283b' }, "PointerX: ", (_m = this.store.state) === null || _m === void 0 ? void 0 :
300
- _m.pointerX), h("div", { key: '0e940ac9609f23f1e4855206dda52c52eec14fe5' }, "PointerY: ", (_o = this.store.state) === null || _o === void 0 ? void 0 :
301
- _o.pointerY), h("div", { key: '60475be8341d3a8e28416d91a38d188bce30d15b' }, "SelectedObjects: ", ((_p = this.store.state.selectionGroup) === null || _p === void 0 ? void 0 : _p.objects.length) || 0)), h("div", { key: '16608718942fd141d17a5d398045e178fa37eacf', id: "origin", class: "origin", style: {
302
- transform: `matrix(${(_q = this.store.state) === null || _q === void 0 ? void 0 : _q.scale}, 0, 0, ${(_r = this.store.state) === null || _r === void 0 ? void 0 : _r.scale}, ${(_s = this.store.state) === null || _s === void 0 ? void 0 : _s.translateX}, ${(_t = this.store.state) === null || _t === void 0 ? void 0 : _t.translateY})`,
303
- } }, (_u = this.store.objects) === null || _u === void 0 ? void 0 :
304
- _u.map(object => {
327
+ return (h(Host, { key: 'c7e747aa6106e7904cf9f44db37fa285a6fb4434' }, h("div", { key: 'b75652ab9f9531dce765cbe448ad3131c172d06a', class: "debug-panel", style: { display: this.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, h("div", { key: 'fd1355bd640b9296949f6bbcf084589578654db6' }, "ActiveWorkspaceId: ", (_b = (_a = this.store.state) === null || _a === void 0 ? void 0 : _a.activeWorkspace) === null || _b === void 0 ? void 0 :
328
+ _b.id), h("div", { key: '8520e3e774e97ebc42ee86401fbfbafbe41c88e8' }, "ActiveWorkspaceName: ", (_d = (_c = this.store.state) === null || _c === void 0 ? void 0 : _c.activeWorkspace) === null || _d === void 0 ? void 0 :
329
+ _d.name), h("div", { key: 'f247b4d76cd018e787a9b59829deedeb6c5c5272' }, "TranslateX: ", (_e = this.store.state) === null || _e === void 0 ? void 0 :
330
+ _e.translateX), h("div", { key: 'e0438479bc9e950ef2cbe88ed0aa0b8ec1888890' }, "TranslateY: ", (_f = this.store.state) === null || _f === void 0 ? void 0 :
331
+ _f.translateY), h("div", { key: '1735fde66588e285039bcc090dee71630608d666' }, "ViewportWidth: ", (_g = this.store.state) === null || _g === void 0 ? void 0 :
332
+ _g.viewportWidth), h("div", { key: '15f8b3305c27a395b8aa6463c5acec42bb3e3ddd' }, "ViewportHeight: ", (_h = this.store.state) === null || _h === void 0 ? void 0 :
333
+ _h.viewportHeight), h("div", { key: 'd2e39bae191c7256967d0140f38e75dccf95f24c' }, "ObjectsInViewport. ", this.store.objects.length), h("div", { key: 'cd3f53ff4a8f119a2ef975133f69fc3798fe0f71' }, "Scale: ", (_j = this.store.state) === null || _j === void 0 ? void 0 :
334
+ _j.scale), h("div", { key: 'b1f8c77589a80fe49d0947602bda46438921f7a8' }, "ActiveTool: ", (_l = (_k = this.store.state) === null || _k === void 0 ? void 0 : _k.activeTool) === null || _l === void 0 ? void 0 :
335
+ _l.name), h("div", { key: '41cd94f58f71cd5c1cffc679ada5fc51f6ceeea7' }, "HasViewportChanged: ", ((_m = this.store.state) === null || _m === void 0 ? void 0 : _m.hasViewportChanged) ? 'true' : 'false'), h("div", { key: 'bf8495bb924673aad3a9ca57ed0bf9ac23874dfb' }, "IsEnabled: ", ((_o = this.store.state) === null || _o === void 0 ? void 0 : _o.isEnabled) ? 'true' : 'false'), h("div", { key: '3823936f5b46b100742f94fac8d7e87ed93ddb58' }, "IsScaling: ", ((_p = this.store.state) === null || _p === void 0 ? void 0 : _p.isScaling) ? 'true' : 'false'), h("div", { key: '62eb836fff78b050cdab8cbef54f88f9d5b644ba' }, "IsPanning: ", ((_q = this.store.state) === null || _q === void 0 ? void 0 : _q.isPanning) ? 'true' : 'false'), h("div", { key: 'dac6b8d18ae8f6317bdd318ad48a9612f9942613' }, "IsFocused: ", this.store.state.isFocused ? 'true' : 'false'), h("div", { key: 'af232e2cd738e255029f5611531c246ac63a28ce' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), h("div", { key: '95a44fef4b6befe95bfadfc62957103b48bf76b6' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), h("div", { key: 'e8162d4de449a0d6756c2f540fca28353c193438' }, "IsResizeHandleSelected: ", this.store.state.isResizeHandleSelected ? 'true' : 'false'), h("div", { key: '4440d023cd4982c834736e06863698c3baf72353' }, "IsRotationHandleSelected: ", this.store.state.isRotationHandleSelected ? 'true' : 'false'), h("div", { key: 'd3e467dd18e53850df4d5bedf2b69f54b1fbe5c6' }, "IsDrawing: ", this.store.state.isDrawing ? 'true' : 'false'), h("div", { key: 'df6e4bca16cbe4346786a544d6f6c53d87bdb699' }, "IsWriting: ", this.store.state.isWriting ? 'true' : 'false'), h("div", { key: '532aebf1ff35cc578f12e36cdaf00713ffc76b97' }, "PointerX: ", (_r = this.store.state) === null || _r === void 0 ? void 0 :
336
+ _r.pointerX), h("div", { key: 'f710f8c8d27979da4a40e50452e2cdd63cdefa98' }, "PointerY: ", (_s = this.store.state) === null || _s === void 0 ? void 0 :
337
+ _s.pointerY), h("div", { key: '0175010e1d5a22be81ca0b2d88dd1aff217eacfd' }, "SelectedObjects: ", ((_t = this.store.state.selectionGroup) === null || _t === void 0 ? void 0 : _t.objects.length) || 0)), h("div", { key: 'dc2964c479405ed147bd5f090e24262595a474e2', id: "origin", class: "origin", style: {
338
+ transform: `matrix(${(_u = this.store.state) === null || _u === void 0 ? void 0 : _u.scale}, 0, 0, ${(_v = this.store.state) === null || _v === void 0 ? void 0 : _v.scale}, ${(_w = this.store.state) === null || _w === void 0 ? void 0 : _w.translateX}, ${(_x = this.store.state) === null || _x === void 0 ? void 0 : _x.translateY})`,
339
+ } }, (_y = this.store.state.objectsOctree.allObjects()) === null || _y === void 0 ? void 0 :
340
+ _y.map(object => {
305
341
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
306
- return (h("div", { style: { transform: object === null || object === void 0 ? void 0 : object.transformationMatrix, transformOrigin: 'top left', zIndex: object.zIndex.toString(), position: 'absolute' } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", key: object.id, id: object.id, class: "object", style: {
342
+ return (h("div", { key: object.id, style: { display: object.isInViewport() ? 'block' : 'none', transform: object === null || object === void 0 ? void 0 : object.transformationMatrix, transformOrigin: 'top left', zIndex: object.zIndex.toString(), position: 'absolute' } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", id: object.id, class: "object", style: {
307
343
  height: object === null || object === void 0 ? void 0 : object.totalHeight.toString(),
308
344
  width: object === null || object === void 0 ? void 0 : object.totalWidth.toString(),
309
345
  left: '0',
@@ -322,17 +358,17 @@ export class KritzelEngine {
322
358
  borderStyle: 'solid',
323
359
  padding: object.padding + 'px',
324
360
  overflow: 'visible',
325
- } }, KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (h("svg", { ref: el => el ? object.mount(el) : object.unmount(), xmlns: "http://www.w3.org/2000/svg", style: {
361
+ } }, KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (h("svg", { ref: el => (el ? object.mount(el) : object.unmount()), xmlns: "http://www.w3.org/2000/svg", style: {
326
362
  height: object === null || object === void 0 ? void 0 : object.height.toString(),
327
363
  width: object === null || object === void 0 ? void 0 : object.width.toString(),
328
364
  position: 'absolute',
329
365
  overflow: 'visible',
330
- }, viewBox: object === null || object === void 0 ? void 0 : object.viewBox }, h("path", { d: object === null || object === void 0 ? void 0 : object.d, fill: object.fill, stroke: object === null || object === void 0 ? void 0 : object.stroke }))), KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (h("img", { ref: el => el ? object.mount(el) : object.unmount(), src: object.src, style: {
366
+ }, viewBox: object === null || object === void 0 ? void 0 : object.viewBox }, h("path", { d: object === null || object === void 0 ? void 0 : object.d, fill: object.fill, stroke: object === null || object === void 0 ? void 0 : object.stroke }))), KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (h("img", { ref: el => (el ? object.mount(el) : object.unmount()), src: object.src, style: {
331
367
  width: '100%',
332
368
  height: '100%',
333
369
  userSelect: 'none',
334
370
  pointerEvents: 'none',
335
- }, draggable: false, onDragStart: e => e.preventDefault() })), KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (h("textarea", { ref: el => el ? object.mount(el) : object.unmount(), value: object.value, onKeyDown: event => object.handleKeyDown(event), onInput: event => object.handleInput(event), rows: object.rows, style: {
371
+ }, draggable: false, onDragStart: e => e.preventDefault() })), KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (h("textarea", { ref: el => (el ? object.mount(el) : object.unmount()), value: object.value, onKeyDown: event => object.handleKeyDown(event), onInput: event => object.handleInput(event), rows: object.rows, style: {
336
372
  width: '100%',
337
373
  height: '100%',
338
374
  color: object.fontColor,
@@ -348,16 +384,16 @@ export class KritzelEngine {
348
384
  pointerEvents: object.isReadonly ? 'none' : 'auto',
349
385
  cursor: object.isReadonly ? 'default' : 'text',
350
386
  caretColor: object.isReadonly ? 'transparent' : 'auto',
351
- } })), KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (h("div", { ref: el => el ? object.mount(el) : object.unmount(), style: {
387
+ } })), KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
352
388
  width: '100%',
353
389
  height: '100%',
354
390
  pointerEvents: 'auto',
355
391
  overflow: 'hidden',
356
392
  display: 'block',
357
- } })), KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && (h("div", { ref: el => el ? object.mount(el) : object.unmount(), style: {
393
+ } })), KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
358
394
  width: '100%',
359
395
  height: '100%',
360
- } })), KritzelClassHelper.isInstanceOf(object, 'KrtizelSelectionBox') && (h("div", { ref: el => el ? object.mount(el) : object.unmount(), style: {
396
+ } })), KritzelClassHelper.isInstanceOf(object, 'KrtizelSelectionBox') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
361
397
  width: '100%',
362
398
  height: '100%',
363
399
  } }))), h("line", { x1: "0", y1: "0", x2: object.totalWidth, y2: "0", style: {
@@ -401,17 +437,17 @@ export class KritzelEngine {
401
437
  fill: 'transparent',
402
438
  cursor: 'grab',
403
439
  }, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("g", { style: { display: this.store.state.debugInfo.showObjectInfo ? 'block' : 'none', pointerEvents: 'none' } }, h("foreignObject", { x: object.totalWidth.toString(), y: "0", width: "400px", height: "160px", style: { minHeight: '0', minWidth: '0', display: object.isDebugInfoVisible ? 'block' : 'none' } }, h("div", { style: { width: '100%', height: '100%' } }, h("div", { style: { whiteSpace: 'nowrap' } }, "zIndex: ", object.zIndex), h("div", { style: { whiteSpace: 'nowrap' } }, "translateX: ", object.translateX), h("div", { style: { whiteSpace: 'nowrap' } }, "translateY: ", object.translateY), h("div", { style: { whiteSpace: 'nowrap' } }, "width: ", object.width), h("div", { style: { whiteSpace: 'nowrap' } }, "height: ", object.height), h("div", { style: { whiteSpace: 'nowrap' } }, "scale: ", object.scale), h("div", { style: { whiteSpace: 'nowrap' } }, "rotation: ", object.rotation), h("div", { style: { whiteSpace: 'nowrap' } }, "x: ", object.x), h("div", { style: { whiteSpace: 'nowrap' } }, "y: ", object.y)))))));
404
- }), h("svg", { key: 'd945e3fae758a66d8d17875203561602446acf9a', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
405
- height: (_v = this.store.state.currentPath) === null || _v === void 0 ? void 0 : _v.height.toString(),
406
- width: (_w = this.store.state.currentPath) === null || _w === void 0 ? void 0 : _w.width.toString(),
440
+ }), h("svg", { key: '86f9a08bea3ac2d261b14b2eec471fafd20ca11f', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
441
+ height: (_z = this.store.state.currentPath) === null || _z === void 0 ? void 0 : _z.height.toString(),
442
+ width: (_0 = this.store.state.currentPath) === null || _0 === void 0 ? void 0 : _0.width.toString(),
407
443
  left: '0',
408
444
  top: '0',
409
- zIndex: (_x = this.store.state.currentPath) === null || _x === void 0 ? void 0 : _x.zIndex.toString(),
445
+ zIndex: (_1 = this.store.state.currentPath) === null || _1 === void 0 ? void 0 : _1.zIndex.toString(),
410
446
  position: 'absolute',
411
- transform: (_y = this.store.state.currentPath) === null || _y === void 0 ? void 0 : _y.transformationMatrix,
447
+ transform: (_2 = this.store.state.currentPath) === null || _2 === void 0 ? void 0 : _2.transformationMatrix,
412
448
  transformOrigin: 'top left',
413
449
  overflow: 'visible',
414
- }, viewBox: (_z = this.store.state.currentPath) === null || _z === void 0 ? void 0 : _z.viewBox }, h("path", { key: '111070848aa210dabf4150a9e69326c7a32a2bb7', d: (_0 = this.store.state.currentPath) === null || _0 === void 0 ? void 0 : _0.d, fill: (_1 = this.store.state.currentPath) === null || _1 === void 0 ? void 0 : _1.fill, stroke: (_2 = this.store.state.currentPath) === null || _2 === void 0 ? void 0 : _2.stroke }))), this.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: '13f61253ab96655d6816bfba60b7c1c8e0697533', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.store.state.contextMenuItems, objects: ((_3 = this.store.state.selectionGroup) === null || _3 === void 0 ? void 0 : _3.objects) || [], style: {
450
+ }, viewBox: (_3 = this.store.state.currentPath) === null || _3 === void 0 ? void 0 : _3.viewBox }, h("path", { key: '66ebcf1791c993d62b34a2e4da1d4279428a17dd', d: (_4 = this.store.state.currentPath) === null || _4 === void 0 ? void 0 : _4.d, fill: (_5 = this.store.state.currentPath) === null || _5 === void 0 ? void 0 : _5.fill, stroke: (_6 = this.store.state.currentPath) === null || _6 === void 0 ? void 0 : _6.stroke }))), this.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: 'af91784e3afc84b71d5186237d287c31d472d80a', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.store.state.contextMenuItems, objects: ((_7 = this.store.state.selectionGroup) === null || _7 === void 0 ? void 0 : _7.objects) || [], style: {
415
451
  position: 'fixed',
416
452
  left: `${this.store.state.contextMenuX}px`,
417
453
  top: `${this.store.state.contextMenuY}px`,
@@ -423,7 +459,7 @@ export class KritzelEngine {
423
459
  y: (-this.store.state.translateY + this.store.state.contextMenuY) / this.store.state.scale,
424
460
  }, (_a = this.store.state.selectionGroup) === null || _a === void 0 ? void 0 : _a.objects);
425
461
  this.hideContextMenu();
426
- } })), ((_4 = this.store.state) === null || _4 === void 0 ? void 0 : _4.activeTool) instanceof KritzelEraserTool && !this.store.state.isScaling && h("kritzel-cursor-trail", { key: 'bcbedb0fd45a7b87e82e78326bfdc0d1a872c1aa', store: this.store })));
462
+ } })), ((_8 = this.store.state) === null || _8 === void 0 ? void 0 : _8.activeTool) instanceof KritzelEraserTool && !this.store.state.isScaling && h("kritzel-cursor-trail", { key: '573a4422b742044df5f240b260bc66e83d004520', store: this.store })));
427
463
  }
428
464
  static get is() { return "kritzel-engine"; }
429
465
  static get encapsulation() { return "shadow"; }
@@ -439,6 +475,30 @@ export class KritzelEngine {
439
475
  }
440
476
  static get properties() {
441
477
  return {
478
+ "workspace": {
479
+ "type": "unknown",
480
+ "attribute": "workspace",
481
+ "mutable": false,
482
+ "complexType": {
483
+ "original": "KritzelWorkspace",
484
+ "resolved": "KritzelWorkspace",
485
+ "references": {
486
+ "KritzelWorkspace": {
487
+ "location": "import",
488
+ "path": "../../../classes/workspace.class",
489
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
490
+ }
491
+ }
492
+ },
493
+ "required": false,
494
+ "optional": true,
495
+ "docs": {
496
+ "tags": [],
497
+ "text": ""
498
+ },
499
+ "getter": false,
500
+ "setter": false
501
+ },
442
502
  "activeTool": {
443
503
  "type": "unknown",
444
504
  "attribute": "active-tool",
@@ -570,9 +630,15 @@ export class KritzelEngine {
570
630
  "text": ""
571
631
  },
572
632
  "complexType": {
573
- "original": "void",
574
- "resolved": "void",
575
- "references": {}
633
+ "original": "KritzelEngineState",
634
+ "resolved": "KritzelEngineState",
635
+ "references": {
636
+ "KritzelEngineState": {
637
+ "location": "import",
638
+ "path": "../../../interfaces/engine-state.interface",
639
+ "id": "src/interfaces/engine-state.interface.ts::KritzelEngineState"
640
+ }
641
+ }
576
642
  }
577
643
  }, {
578
644
  "method": "activeToolChange",
@@ -595,6 +661,27 @@ export class KritzelEngine {
595
661
  }
596
662
  }
597
663
  }
664
+ }, {
665
+ "method": "workspacesChange",
666
+ "name": "workspacesChange",
667
+ "bubbles": true,
668
+ "cancelable": true,
669
+ "composed": true,
670
+ "docs": {
671
+ "tags": [],
672
+ "text": ""
673
+ },
674
+ "complexType": {
675
+ "original": "KritzelWorkspace[]",
676
+ "resolved": "KritzelWorkspace[]",
677
+ "references": {
678
+ "KritzelWorkspace": {
679
+ "location": "import",
680
+ "path": "../../../classes/workspace.class",
681
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
682
+ }
683
+ }
684
+ }
598
685
  }];
599
686
  }
600
687
  static get methods() {
@@ -1207,12 +1294,115 @@ export class KritzelEngine {
1207
1294
  "text": "",
1208
1295
  "tags": []
1209
1296
  }
1297
+ },
1298
+ "createWorkspace": {
1299
+ "complexType": {
1300
+ "signature": "(workspace: KritzelWorkspace) => Promise<void>",
1301
+ "parameters": [{
1302
+ "name": "workspace",
1303
+ "type": "KritzelWorkspace",
1304
+ "docs": ""
1305
+ }],
1306
+ "references": {
1307
+ "Promise": {
1308
+ "location": "global",
1309
+ "id": "global::Promise"
1310
+ },
1311
+ "KritzelWorkspace": {
1312
+ "location": "import",
1313
+ "path": "../../../classes/workspace.class",
1314
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
1315
+ }
1316
+ },
1317
+ "return": "Promise<void>"
1318
+ },
1319
+ "docs": {
1320
+ "text": "",
1321
+ "tags": []
1322
+ }
1323
+ },
1324
+ "updateWorkspace": {
1325
+ "complexType": {
1326
+ "signature": "(workspace: KritzelWorkspace) => Promise<void>",
1327
+ "parameters": [{
1328
+ "name": "workspace",
1329
+ "type": "KritzelWorkspace",
1330
+ "docs": ""
1331
+ }],
1332
+ "references": {
1333
+ "Promise": {
1334
+ "location": "global",
1335
+ "id": "global::Promise"
1336
+ },
1337
+ "KritzelWorkspace": {
1338
+ "location": "import",
1339
+ "path": "../../../classes/workspace.class",
1340
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
1341
+ }
1342
+ },
1343
+ "return": "Promise<void>"
1344
+ },
1345
+ "docs": {
1346
+ "text": "",
1347
+ "tags": []
1348
+ }
1349
+ },
1350
+ "deleteWorkspace": {
1351
+ "complexType": {
1352
+ "signature": "(workspace: KritzelWorkspace) => Promise<void>",
1353
+ "parameters": [{
1354
+ "name": "workspace",
1355
+ "type": "KritzelWorkspace",
1356
+ "docs": ""
1357
+ }],
1358
+ "references": {
1359
+ "Promise": {
1360
+ "location": "global",
1361
+ "id": "global::Promise"
1362
+ },
1363
+ "KritzelWorkspace": {
1364
+ "location": "import",
1365
+ "path": "../../../classes/workspace.class",
1366
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
1367
+ }
1368
+ },
1369
+ "return": "Promise<void>"
1370
+ },
1371
+ "docs": {
1372
+ "text": "",
1373
+ "tags": []
1374
+ }
1375
+ },
1376
+ "getWorkspaces": {
1377
+ "complexType": {
1378
+ "signature": "() => Promise<KritzelWorkspace[]>",
1379
+ "parameters": [],
1380
+ "references": {
1381
+ "Promise": {
1382
+ "location": "global",
1383
+ "id": "global::Promise"
1384
+ },
1385
+ "KritzelWorkspace": {
1386
+ "location": "import",
1387
+ "path": "../../../classes/workspace.class",
1388
+ "id": "src/classes/workspace.class.ts::KritzelWorkspace"
1389
+ }
1390
+ },
1391
+ "return": "Promise<KritzelWorkspace[]>"
1392
+ },
1393
+ "docs": {
1394
+ "text": "",
1395
+ "tags": []
1396
+ }
1210
1397
  }
1211
1398
  };
1212
1399
  }
1213
1400
  static get elementRef() { return "host"; }
1214
1401
  static get watchers() {
1215
1402
  return [{
1403
+ "propName": "workspace",
1404
+ "methodName": "onWorkspaceChange"
1405
+ }, {
1216
1406
  "propName": "scaleMax",
1217
1407
  "methodName": "validateScaleMax"
1218
1408
  }, {
@@ -1281,6 +1471,12 @@ export class KritzelEngine {
1281
1471
  "target": "window",
1282
1472
  "capture": false,
1283
1473
  "passive": true
1474
+ }, {
1475
+ "name": "click",
1476
+ "method": "handleClick",
1477
+ "target": undefined,
1478
+ "capture": false,
1479
+ "passive": false
1284
1480
  }];
1285
1481
  }
1286
1482
  }