kritzel-stencil 0.0.131 → 0.0.132

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 (356) hide show
  1. package/dist/cjs/index-nzUNdMPh.js +6 -2
  2. package/dist/cjs/{index-BwINBV6L.js → index-ouFX0OVi.js} +715 -676
  3. package/dist/cjs/index-ouFX0OVi.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/kritzel-brush-style.cjs.entry.js +32 -0
  6. package/dist/cjs/kritzel-brush-style.entry.cjs.js.map +1 -0
  7. package/dist/cjs/{kritzel-brush-style_23.cjs.entry.js → kritzel-color_22.cjs.entry.js} +1044 -873
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/stencil.cjs.js +1 -1
  10. package/dist/collection/classes/commands/add-object.command.js +6 -7
  11. package/dist/collection/classes/commands/add-object.command.js.map +1 -1
  12. package/dist/collection/classes/commands/add-selection-group.command.js +9 -9
  13. package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
  14. package/dist/collection/classes/commands/base.command.js +3 -3
  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 +7 -7
  19. package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
  20. package/dist/collection/classes/commands/remove-object.command.js +8 -9
  21. package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
  22. package/dist/collection/classes/commands/remove-selection-group.command.js +7 -7
  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 +7 -7
  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 +12 -12
  27. package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
  28. package/dist/collection/classes/commands/update-object.command.js +4 -5
  29. package/dist/collection/classes/commands/update-object.command.js.map +1 -1
  30. package/dist/collection/classes/commands/update-viewport.command.js +11 -11
  31. package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
  32. package/dist/collection/classes/{store.class.js → core/core.class.js} +120 -145
  33. package/dist/collection/classes/core/core.class.js.map +1 -0
  34. package/dist/collection/classes/{database.class.js → core/database.class.js} +28 -20
  35. package/dist/collection/classes/core/database.class.js.map +1 -0
  36. package/dist/collection/classes/core/history.class.js +88 -0
  37. package/dist/collection/classes/core/history.class.js.map +1 -0
  38. package/dist/collection/classes/{reviver.class.js → core/reviver.class.js} +27 -23
  39. package/dist/collection/classes/core/reviver.class.js.map +1 -0
  40. package/dist/collection/classes/core/store.class.js +51 -0
  41. package/dist/collection/classes/core/store.class.js.map +1 -0
  42. package/dist/collection/classes/core/viewport.class.js +165 -0
  43. package/dist/collection/classes/core/viewport.class.js.map +1 -0
  44. package/dist/collection/classes/core/workspace.class.js +42 -0
  45. package/dist/collection/classes/core/workspace.class.js.map +1 -0
  46. package/dist/collection/classes/handlers/base.handler.js +4 -4
  47. package/dist/collection/classes/handlers/base.handler.js.map +1 -1
  48. package/dist/collection/classes/handlers/context-menu.handler.js +24 -19
  49. package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
  50. package/dist/collection/classes/handlers/hover.handler.js +5 -5
  51. package/dist/collection/classes/handlers/hover.handler.js.map +1 -1
  52. package/dist/collection/classes/handlers/key.handler.js +38 -44
  53. package/dist/collection/classes/handlers/key.handler.js.map +1 -1
  54. package/dist/collection/classes/handlers/move.handler.js +34 -34
  55. package/dist/collection/classes/handlers/move.handler.js.map +1 -1
  56. package/dist/collection/classes/handlers/resize.handler.js +53 -56
  57. package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
  58. package/dist/collection/classes/handlers/rotation.handler.js +53 -55
  59. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
  60. package/dist/collection/classes/handlers/selection.handler.js +73 -72
  61. package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
  62. package/dist/collection/classes/objects/base-object.class.js +22 -17
  63. package/dist/collection/classes/objects/base-object.class.js.map +1 -1
  64. package/dist/collection/classes/objects/custom-element.class.js +3 -3
  65. package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
  66. package/dist/collection/classes/objects/image.class.js +5 -5
  67. package/dist/collection/classes/objects/image.class.js.map +1 -1
  68. package/dist/collection/classes/objects/path.class.js +7 -7
  69. package/dist/collection/classes/objects/path.class.js.map +1 -1
  70. package/dist/collection/classes/objects/selection-box.class.js +4 -4
  71. package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
  72. package/dist/collection/classes/objects/selection-group.class.js +16 -16
  73. package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
  74. package/dist/collection/classes/objects/text.class.js +13 -13
  75. package/dist/collection/classes/objects/text.class.js.map +1 -1
  76. package/dist/collection/classes/registries/tool.registry.js +2 -2
  77. package/dist/collection/classes/registries/tool.registry.js.map +1 -1
  78. package/dist/collection/classes/tools/base-tool.class.js +11 -5
  79. package/dist/collection/classes/tools/base-tool.class.js.map +1 -1
  80. package/dist/collection/classes/tools/brush-tool.class.js +57 -53
  81. package/dist/collection/classes/tools/brush-tool.class.js.map +1 -1
  82. package/dist/collection/classes/tools/eraser-tool.class.js +26 -26
  83. package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -1
  84. package/dist/collection/classes/tools/image-tool.class.js +11 -11
  85. package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
  86. package/dist/collection/classes/tools/selection-tool.class.js +39 -37
  87. package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
  88. package/dist/collection/classes/tools/text-tool.class.js +37 -37
  89. package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
  90. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +28 -28
  91. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -1
  92. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +7 -9
  93. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +177 -7
  94. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
  95. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +236 -233
  96. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  97. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +1 -1
  98. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -1
  99. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  100. package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -1
  101. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +5 -0
  102. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +3 -3
  103. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -1
  104. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +12 -12
  105. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -1
  106. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  107. package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -1
  108. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
  109. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -1
  110. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  111. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -1
  112. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +1 -0
  113. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
  114. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +5 -1
  115. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +2 -2
  116. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -1
  117. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +18 -7
  118. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +24 -9
  119. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js.map +1 -1
  120. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +4 -42
  121. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -1
  122. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +0 -4
  123. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +52 -10
  124. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -1
  125. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +4 -0
  126. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  127. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -1
  128. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +79 -7
  129. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -1
  130. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +47 -15
  131. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
  132. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +4 -0
  133. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +6 -6
  134. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -1
  135. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
  136. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -1
  137. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +12 -1
  138. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +23 -7
  139. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
  140. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +5 -0
  141. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  142. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -1
  143. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +25 -15
  144. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
  145. package/dist/collection/configs/default-engine-state.js +0 -1
  146. package/dist/collection/configs/default-engine-state.js.map +1 -1
  147. package/dist/collection/helpers/devices.helper.js +20 -0
  148. package/dist/collection/helpers/devices.helper.js.map +1 -1
  149. package/dist/collection/helpers/event.helper.js +1 -5
  150. package/dist/collection/helpers/event.helper.js.map +1 -1
  151. package/dist/collection/helpers/html.helper.js +29 -0
  152. package/dist/collection/helpers/html.helper.js.map +1 -1
  153. package/dist/collection/helpers/object.helper.js +1 -1
  154. package/dist/collection/helpers/object.helper.js.map +1 -1
  155. package/dist/collection/index.js +1 -1
  156. package/dist/collection/index.js.map +1 -1
  157. package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
  158. package/dist/collection/interfaces/serializable.interface.js.map +1 -1
  159. package/dist/collection/types/deep-readonly.type.js +2 -0
  160. package/dist/collection/types/deep-readonly.type.js.map +1 -0
  161. package/dist/components/index.js +3 -3
  162. package/dist/components/kritzel-brush-style.js +59 -1
  163. package/dist/components/kritzel-brush-style.js.map +1 -1
  164. package/dist/components/kritzel-color-palette.js +1 -1
  165. package/dist/components/kritzel-color.js +1 -1
  166. package/dist/components/kritzel-context-menu.js +1 -1
  167. package/dist/components/kritzel-control-brush-config.js +1 -1
  168. package/dist/components/kritzel-control-text-config.js +1 -1
  169. package/dist/components/kritzel-controls.js +1 -1
  170. package/dist/components/kritzel-cursor-trail.js +1 -1
  171. package/dist/components/kritzel-dropdown.js +1 -1
  172. package/dist/components/kritzel-editor.js +80 -37
  173. package/dist/components/kritzel-editor.js.map +1 -1
  174. package/dist/components/kritzel-engine.js +1 -1
  175. package/dist/components/kritzel-font-family.js +1 -1
  176. package/dist/components/kritzel-font-size.js +1 -1
  177. package/dist/components/kritzel-font.js +1 -1
  178. package/dist/components/kritzel-icon.js +1 -1
  179. package/dist/components/kritzel-menu-item.js +1 -1
  180. package/dist/components/kritzel-menu.js +1 -1
  181. package/dist/components/kritzel-portal.js +1 -1
  182. package/dist/components/kritzel-split-button.js +1 -1
  183. package/dist/components/kritzel-stroke-size.js +1 -1
  184. package/dist/components/kritzel-tooltip.js +1 -1
  185. package/dist/components/kritzel-utility-panel.js +1 -1
  186. package/dist/components/kritzel-workspace-manager.js +1 -1
  187. package/dist/components/{p-CMJ3P0Vw.js → p-0iJh9Z6m.js} +5 -5
  188. package/dist/components/p-0iJh9Z6m.js.map +1 -0
  189. package/dist/components/{p-DHSEK3rF.js → p-B3VQubt_.js} +164 -153
  190. package/dist/components/p-B3VQubt_.js.map +1 -0
  191. package/dist/components/{p-BB0_-X42.js → p-B7kZ1_RH.js} +4 -4
  192. package/dist/components/{p-BB0_-X42.js.map → p-B7kZ1_RH.js.map} +1 -1
  193. package/dist/components/{p-t4NIsuX9.js → p-B7w19kIk.js} +15 -27
  194. package/dist/components/p-B7w19kIk.js.map +1 -0
  195. package/dist/components/{p-B1BLgWL1.js → p-BGdsAz54.js} +27 -18
  196. package/dist/components/p-BGdsAz54.js.map +1 -0
  197. package/dist/components/{p-BhiYvSBc.js → p-BM9IjvnD.js} +3 -3
  198. package/dist/components/p-BM9IjvnD.js.map +1 -0
  199. package/dist/components/{p-BrBQUN0Q.js → p-BPsQrpzN.js} +40 -11
  200. package/dist/components/p-BPsQrpzN.js.map +1 -0
  201. package/dist/components/{p-BB5R2k1o.js → p-BiCgeOiJ.js} +41 -31
  202. package/dist/components/p-BiCgeOiJ.js.map +1 -0
  203. package/dist/components/{p-CGmS8wnN.js → p-C1-nvBx9.js} +26 -16
  204. package/dist/components/p-C1-nvBx9.js.map +1 -0
  205. package/dist/components/p-C6qB08BS.js +68 -0
  206. package/dist/components/p-C6qB08BS.js.map +1 -0
  207. package/dist/components/{p-DxTu1aoJ.js → p-CTvJDYFQ.js} +7 -45
  208. package/dist/components/p-CTvJDYFQ.js.map +1 -0
  209. package/dist/components/{p-DMrtdhBD.js → p-CsyM5q2M.js} +7 -7
  210. package/dist/components/p-CsyM5q2M.js.map +1 -0
  211. package/dist/components/{p-BPz_H-EG.js → p-CvmWmUK9.js} +28 -16
  212. package/dist/components/p-CvmWmUK9.js.map +1 -0
  213. package/dist/components/{p-BgmKrd5Z.js → p-DCx3703u.js} +5 -5
  214. package/dist/components/p-DCx3703u.js.map +1 -0
  215. package/dist/components/{p-trncBp_6.js → p-DFO-6kuA.js} +15 -15
  216. package/dist/components/p-DFO-6kuA.js.map +1 -0
  217. package/dist/components/{p-BeljsQ-8.js → p-D_907-Wd.js} +32 -17
  218. package/dist/components/p-D_907-Wd.js.map +1 -0
  219. package/dist/components/{p-BuewJQNl.js → p-Davd1R_4.js} +1111 -1085
  220. package/dist/components/p-Davd1R_4.js.map +1 -0
  221. package/dist/components/{p-BubxwvMA.js → p-Db3kxVe2.js} +24 -24
  222. package/dist/components/p-Db3kxVe2.js.map +1 -0
  223. package/dist/components/{p-BexTdWaX.js → p-Ddlbt3Bj.js} +4 -4
  224. package/dist/components/p-Ddlbt3Bj.js.map +1 -0
  225. package/dist/components/{p-CHxPWeZd.js → p-DjU7p3od.js} +11 -11
  226. package/dist/components/{p-CHxPWeZd.js.map → p-DjU7p3od.js.map} +1 -1
  227. package/dist/components/{p-DnUKql15.js → p-EXPChOF6.js} +3 -3
  228. package/dist/components/{p-DnUKql15.js.map → p-EXPChOF6.js.map} +1 -1
  229. package/dist/components/p-YqK8ch2R.js +46 -0
  230. package/dist/components/p-YqK8ch2R.js.map +1 -0
  231. package/dist/components/p-l10It7Nm.js +30 -0
  232. package/dist/components/p-l10It7Nm.js.map +1 -0
  233. package/dist/components/{p-p1Jkec_q.js → p-sq9jgfX0.js} +3 -3
  234. package/dist/components/p-sq9jgfX0.js.map +1 -0
  235. package/dist/components/{p-yZ48g7-u.js → p-sreNwi0N.js} +4 -4
  236. package/dist/components/{p-yZ48g7-u.js.map → p-sreNwi0N.js.map} +1 -1
  237. package/dist/esm/{index-B-oSk-v8.js → index-C_uHp-ur.js} +716 -677
  238. package/dist/esm/index-C_uHp-ur.js.map +1 -0
  239. package/dist/esm/index-oCOlsFCN.js +6 -2
  240. package/dist/esm/index.js +1 -1
  241. package/dist/esm/kritzel-brush-style.entry.js +30 -0
  242. package/dist/esm/kritzel-brush-style.entry.js.map +1 -0
  243. package/dist/esm/{kritzel-brush-style_23.entry.js → kritzel-color_22.entry.js} +1046 -874
  244. package/dist/esm/loader.js +1 -1
  245. package/dist/esm/stencil.js +1 -1
  246. package/dist/stencil/index.esm.js +1 -1
  247. package/dist/stencil/kritzel-brush-style.entry.esm.js.map +1 -0
  248. package/dist/stencil/p-25d1e040.entry.js +2 -0
  249. package/dist/stencil/p-25d1e040.entry.js.map +1 -0
  250. package/dist/stencil/p-C_uHp-ur.js +2 -0
  251. package/dist/stencil/p-C_uHp-ur.js.map +1 -0
  252. package/dist/stencil/p-a6f8283e.entry.js +2 -0
  253. package/dist/stencil/p-a6f8283e.entry.js.map +1 -0
  254. package/dist/stencil/stencil.esm.js +1 -1
  255. package/dist/types/classes/commands/add-object.command.d.ts +2 -2
  256. package/dist/types/classes/commands/add-selection-group.command.d.ts +2 -1
  257. package/dist/types/classes/commands/base.command.d.ts +3 -3
  258. package/dist/types/classes/commands/batch.command.d.ts +2 -1
  259. package/dist/types/classes/commands/move-selection-group.command.d.ts +2 -1
  260. package/dist/types/classes/commands/remove-object.command.d.ts +2 -2
  261. package/dist/types/classes/commands/remove-selection-group.command.d.ts +2 -2
  262. package/dist/types/classes/commands/resize-selection-group.command.d.ts +2 -1
  263. package/dist/types/classes/commands/rotate-selection-group.command.d.ts +2 -1
  264. package/dist/types/classes/commands/update-object.command.d.ts +2 -2
  265. package/dist/types/classes/commands/update-viewport.command.d.ts +2 -1
  266. package/dist/types/classes/{store.class.d.ts → core/core.class.d.ts} +9 -19
  267. package/dist/types/classes/{database.class.d.ts → core/database.class.d.ts} +3 -2
  268. package/dist/types/classes/{history.class.d.ts → core/history.class.d.ts} +5 -5
  269. package/dist/types/classes/core/reviver.class.d.ts +6 -0
  270. package/dist/types/classes/core/store.class.d.ts +17 -0
  271. package/dist/types/classes/{viewport.class.d.ts → core/viewport.class.d.ts} +3 -3
  272. package/dist/types/classes/core/workspace.class.d.ts +24 -0
  273. package/dist/types/classes/handlers/base.handler.d.ts +3 -3
  274. package/dist/types/classes/handlers/context-menu.handler.d.ts +2 -2
  275. package/dist/types/classes/handlers/hover.handler.d.ts +2 -2
  276. package/dist/types/classes/handlers/key.handler.d.ts +2 -2
  277. package/dist/types/classes/handlers/move.handler.d.ts +2 -2
  278. package/dist/types/classes/handlers/resize.handler.d.ts +2 -2
  279. package/dist/types/classes/handlers/rotation.handler.d.ts +2 -2
  280. package/dist/types/classes/handlers/selection.handler.d.ts +2 -2
  281. package/dist/types/classes/objects/base-object.class.d.ts +5 -4
  282. package/dist/types/classes/objects/custom-element.class.d.ts +2 -2
  283. package/dist/types/classes/objects/image.class.d.ts +2 -2
  284. package/dist/types/classes/objects/path.class.d.ts +2 -2
  285. package/dist/types/classes/objects/selection-box.class.d.ts +2 -2
  286. package/dist/types/classes/objects/selection-group.class.d.ts +2 -2
  287. package/dist/types/classes/objects/text.class.d.ts +2 -2
  288. package/dist/types/classes/registries/tool.registry.d.ts +2 -2
  289. package/dist/types/classes/tools/base-tool.class.d.ts +8 -4
  290. package/dist/types/classes/tools/brush-tool.class.d.ts +2 -2
  291. package/dist/types/classes/tools/eraser-tool.class.d.ts +2 -2
  292. package/dist/types/classes/tools/image-tool.class.d.ts +2 -2
  293. package/dist/types/classes/tools/selection-tool.class.d.ts +2 -2
  294. package/dist/types/classes/tools/text-tool.class.d.ts +2 -2
  295. package/dist/types/components/core/kritzel-cursor-trail/kritzel-cursor-trail.d.ts +5 -5
  296. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +13 -3
  297. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +21 -22
  298. package/dist/types/components/shared/kritzel-dropdown/kritzel-dropdown.d.ts +2 -2
  299. package/dist/types/components/shared/kritzel-menu-item/kritzel-menu-item.d.ts +2 -0
  300. package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +0 -1
  301. package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +4 -2
  302. package/dist/types/components/shared/kritzel-tooltip/kritzel-tooltip.d.ts +8 -2
  303. package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +5 -3
  304. package/dist/types/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.d.ts +1 -1
  305. package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +3 -1
  306. package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +3 -2
  307. package/dist/types/components.d.ts +41 -12
  308. package/dist/types/helpers/devices.helper.d.ts +4 -0
  309. package/dist/types/helpers/event.helper.d.ts +1 -1
  310. package/dist/types/helpers/html.helper.d.ts +1 -0
  311. package/dist/types/index.d.ts +1 -1
  312. package/dist/types/interfaces/engine-state.interface.d.ts +1 -2
  313. package/dist/types/interfaces/serializable.interface.d.ts +2 -1
  314. package/dist/types/types/deep-readonly.type.d.ts +7 -0
  315. package/package.json +64 -63
  316. package/dist/cjs/index-BwINBV6L.js.map +0 -1
  317. package/dist/collection/classes/database.class.js.map +0 -1
  318. package/dist/collection/classes/history.class.js +0 -88
  319. package/dist/collection/classes/history.class.js.map +0 -1
  320. package/dist/collection/classes/reviver.class.js.map +0 -1
  321. package/dist/collection/classes/store.class.js.map +0 -1
  322. package/dist/collection/classes/viewport.class.js +0 -153
  323. package/dist/collection/classes/viewport.class.js.map +0 -1
  324. package/dist/collection/classes/workspace.class.js +0 -15
  325. package/dist/collection/classes/workspace.class.js.map +0 -1
  326. package/dist/components/p-B1BLgWL1.js.map +0 -1
  327. package/dist/components/p-BB5R2k1o.js.map +0 -1
  328. package/dist/components/p-BPz_H-EG.js.map +0 -1
  329. package/dist/components/p-B_lb1FGi.js +0 -19
  330. package/dist/components/p-B_lb1FGi.js.map +0 -1
  331. package/dist/components/p-BeljsQ-8.js.map +0 -1
  332. package/dist/components/p-BexTdWaX.js.map +0 -1
  333. package/dist/components/p-BgmKrd5Z.js.map +0 -1
  334. package/dist/components/p-BhiYvSBc.js.map +0 -1
  335. package/dist/components/p-BrBQUN0Q.js.map +0 -1
  336. package/dist/components/p-BubxwvMA.js.map +0 -1
  337. package/dist/components/p-BuewJQNl.js.map +0 -1
  338. package/dist/components/p-CGmS8wnN.js.map +0 -1
  339. package/dist/components/p-CJKA5zIE.js +0 -10
  340. package/dist/components/p-CJKA5zIE.js.map +0 -1
  341. package/dist/components/p-CMJ3P0Vw.js.map +0 -1
  342. package/dist/components/p-DHSEK3rF.js.map +0 -1
  343. package/dist/components/p-DMrtdhBD.js.map +0 -1
  344. package/dist/components/p-DxTu1aoJ.js.map +0 -1
  345. package/dist/components/p-p1Jkec_q.js.map +0 -1
  346. package/dist/components/p-rIRXQdie.js +0 -64
  347. package/dist/components/p-rIRXQdie.js.map +0 -1
  348. package/dist/components/p-t4NIsuX9.js.map +0 -1
  349. package/dist/components/p-trncBp_6.js.map +0 -1
  350. package/dist/esm/index-B-oSk-v8.js.map +0 -1
  351. package/dist/stencil/p-3bb80782.entry.js +0 -2
  352. package/dist/stencil/p-3bb80782.entry.js.map +0 -1
  353. package/dist/stencil/p-B-oSk-v8.js +0 -2
  354. package/dist/stencil/p-B-oSk-v8.js.map +0 -1
  355. package/dist/types/classes/reviver.class.d.ts +0 -6
  356. package/dist/types/classes/workspace.class.d.ts +0 -16
@@ -1,8 +1,8 @@
1
- import { KritzelStore } from '../store.class';
2
1
  import { KritzelBaseTool } from './base-tool.class';
2
+ import { KritzelCore } from '../core/core.class';
3
3
  export declare class KritzelEraserTool extends KritzelBaseTool {
4
4
  touchStartTimeout: any;
5
- constructor(store: KritzelStore);
5
+ constructor(core: KritzelCore);
6
6
  handlePointerDown(event: PointerEvent): void;
7
7
  handlePointerMove(event: PointerEvent): void;
8
8
  handlePointerUp(event: PointerEvent): void;
@@ -1,9 +1,9 @@
1
- import { KritzelStore } from '../store.class';
2
1
  import { KritzelBaseTool } from './base-tool.class';
2
+ import { KritzelCore } from '../core/core.class';
3
3
  export declare class KritzelImageTool extends KritzelBaseTool {
4
4
  fileInput: HTMLInputElement | null;
5
5
  maxCompressionSize: number;
6
- constructor(store: KritzelStore);
6
+ constructor(core: KritzelCore);
7
7
  onActivate(): void;
8
8
  private openFilePicker;
9
9
  private setupFileInput;
@@ -1,17 +1,17 @@
1
- import { KritzelStore } from '../store.class';
2
1
  import { KritzelMoveHandler } from '../handlers/move.handler';
3
2
  import { KritzelResizeHandler } from '../handlers/resize.handler';
4
3
  import { KritzelRotationHandler } from '../handlers/rotation.handler';
5
4
  import { KritzelSelectionHandler } from '../handlers/selection.handler';
6
5
  import { KritzelBaseTool } from './base-tool.class';
7
6
  import { KritzelHoverHandler } from '../handlers/hover.handler';
7
+ import { KritzelCore } from '../core/core.class';
8
8
  export declare class KritzelSelectionTool extends KritzelBaseTool {
9
9
  selectionHandler: KritzelSelectionHandler;
10
10
  moveHandler: KritzelMoveHandler;
11
11
  hoverHandler: KritzelHoverHandler;
12
12
  resizeHandler: KritzelResizeHandler;
13
13
  rotationHandler: KritzelRotationHandler;
14
- constructor(store: KritzelStore);
14
+ constructor(core: KritzelCore);
15
15
  handlePointerDown(event: PointerEvent): void;
16
16
  handlePointerMove(event: PointerEvent): void;
17
17
  handlePointerUp(event: PointerEvent): void;
@@ -1,11 +1,11 @@
1
- import { KritzelStore } from '../store.class';
2
1
  import { KritzelBaseTool } from './base-tool.class';
2
+ import { KritzelCore } from '../core/core.class';
3
3
  export declare class KritzelTextTool extends KritzelBaseTool {
4
4
  fontFamily: string;
5
5
  fontSize: number;
6
6
  fontColor: string;
7
7
  palette: string[];
8
- constructor(store: KritzelStore);
8
+ constructor(core: KritzelCore);
9
9
  handlePointerDown(event: PointerEvent): void;
10
10
  handlePointerUp(event: PointerEvent): void;
11
11
  }
@@ -1,19 +1,19 @@
1
- import { KritzelStore } from '../../../classes/store.class';
1
+ import { KritzelCore } from '../../../classes/core/core.class';
2
2
  export declare class KritzelCursorTrail {
3
- store: KritzelStore;
3
+ core: KritzelCore;
4
4
  cursorTrailPoints: Array<{
5
5
  x: number;
6
6
  y: number;
7
7
  timestamp: number;
8
8
  }>;
9
9
  isLeftButtonDown: boolean;
10
+ handleMouseDown(ev: PointerEvent): void;
11
+ handlePointerMove(ev: PointerEvent): void;
12
+ handlePointerUp(ev: PointerEvent): void;
10
13
  private trailCleanupIntervalId;
11
14
  private readonly TRAIL_DURATION_MS;
12
15
  private readonly MAX_TRAIL_POINTS;
13
16
  componentDidLoad(): void;
14
17
  disconnectedCallback(): void;
15
- handleMouseDown(ev: PointerEvent): void;
16
- handlePointerMove(ev: PointerEvent): void;
17
- handlePointerUp(ev: PointerEvent): void;
18
18
  render(): any;
19
19
  }
@@ -3,8 +3,9 @@ import { KritzelToolbarControl } from '../../../interfaces/toolbar-control.inter
3
3
  import { KritzelBaseObject } from '../../../classes/objects/base-object.class';
4
4
  import { ContextMenuItem } from '../../../interfaces/context-menu-item.interface';
5
5
  import { KritzelEngineState } from '../../../interfaces/engine-state.interface';
6
- import { KritzelWorkspace } from '../../../classes/workspace.class';
6
+ import { KritzelWorkspace } from '../../../classes/core/workspace.class';
7
7
  export declare class KritzelEditor {
8
+ host: HTMLElement;
8
9
  scaleMax: number;
9
10
  scaleMin: number;
10
11
  controls: KritzelToolbarControl[];
@@ -14,7 +15,6 @@ export declare class KritzelEditor {
14
15
  isControlsVisible: boolean;
15
16
  isUtilityPanelVisible: boolean;
16
17
  isReady: EventEmitter<HTMLElement>;
17
- host: HTMLElement;
18
18
  isEngineReady: boolean;
19
19
  isControlsReady: boolean;
20
20
  isWorkspaceManagerReady: boolean;
@@ -23,6 +23,7 @@ export declare class KritzelEditor {
23
23
  isVirtualKeyboardOpen: boolean;
24
24
  onIsEngineReady(newValue: boolean): void;
25
25
  onIsControlsReady(newValue: boolean): void;
26
+ handleTouchStart(event: MouseEvent): void;
26
27
  getObjectById<T extends KritzelBaseObject>(id: string): Promise<T | null>;
27
28
  addObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
28
29
  updateObject<T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>): Promise<T | null>;
@@ -32,7 +33,15 @@ export declare class KritzelEditor {
32
33
  selectAllObjectsInViewport(): Promise<void>;
33
34
  clearSelection(): Promise<void>;
34
35
  centerObjectInViewport(object: KritzelBaseObject): Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
35
- handleTouchStart(event: MouseEvent): void;
36
+ createWorkspace(name: string, viewport?: {
37
+ translateX: number;
38
+ translateY: number;
39
+ scale: number;
40
+ }): Promise<KritzelWorkspace | null>;
41
+ updateWorkspace(workspace: KritzelWorkspace): Promise<void>;
42
+ deleteWorkspace(workspace: KritzelWorkspace): Promise<void>;
43
+ getWorkspaces(): Promise<KritzelWorkspace[]>;
44
+ getActiveWorkspace(): Promise<KritzelWorkspace>;
36
45
  engineRef: HTMLKritzelEngineElement;
37
46
  controlsRef: HTMLKritzelControlsElement;
38
47
  splitButtonRef: HTMLKritzelSplitButtonElement;
@@ -41,5 +50,6 @@ export declare class KritzelEditor {
41
50
  onEngineReady(event: CustomEvent<KritzelEngineState>): void;
42
51
  private registerCustomSvgIcons;
43
52
  private listenForMobileKeyboard;
53
+ private setOsSpecificCssVariables;
44
54
  render(): any;
45
55
  }
@@ -1,54 +1,43 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
2
  import { KritzelTool } from '../../../interfaces/tool.interface';
3
- import { KritzelViewport } from '../../../classes/viewport.class';
4
- import { KritzelStore } from '../../../classes/store.class';
3
+ import { KritzelViewport } from '../../../classes/core/viewport.class';
5
4
  import { KritzelKeyHandler } from '../../../classes/handlers/key.handler';
6
5
  import { KritzelBaseTool } from '../../../classes/tools/base-tool.class';
7
6
  import { ContextMenuItem } from '../../../interfaces/context-menu-item.interface';
8
7
  import { KritzelBrushToolConfig, KritzelTextToolConfig } from '../../../interfaces/toolbar-control.interface';
9
8
  import { KritzelContextMenuHandler } from '../../../classes/handlers/context-menu.handler';
10
9
  import { KritzelBaseObject } from '../../../classes/objects/base-object.class';
11
- import { KritzelWorkspace } from '../../../classes/workspace.class';
10
+ import { KritzelWorkspace } from '../../../classes/core/workspace.class';
12
11
  import { KritzelEngineState } from '../../../interfaces/engine-state.interface';
12
+ import { KritzelCore } from '../../../classes/core/core.class';
13
13
  export declare class KritzelEngine {
14
+ host: HTMLElement;
14
15
  workspace?: KritzelWorkspace;
16
+ onWorkspaceChange(newWorkspace: KritzelWorkspace | null): void;
15
17
  activeTool: KritzelTool;
16
18
  globalContextMenuItems: ContextMenuItem[];
17
19
  objectContextMenuItems: ContextMenuItem[];
18
20
  scaleMax: number;
21
+ validateScaleMax(newValue: number): void;
19
22
  scaleMin: number;
23
+ validateScaleMin(newValue: number): void;
20
24
  isEngineReady: EventEmitter<KritzelEngineState>;
21
25
  activeToolChange: EventEmitter<KritzelBaseTool>;
22
26
  workspacesChange: EventEmitter<KritzelWorkspace[]>;
23
- host: HTMLElement;
27
+ longpress: EventEmitter<PointerEvent>;
24
28
  forceUpdate: number;
25
- onWorkspaceChange(newWorkspace: KritzelWorkspace | null): void;
26
- validateScaleMax(newValue: number): void;
27
- validateScaleMin(newValue: number): void;
28
- store: KritzelStore;
29
- viewport: KritzelViewport;
30
- contextMenuHandler: KritzelContextMenuHandler;
31
- keyHandler: KritzelKeyHandler;
32
- contextMenuElement: HTMLKritzelContextMenuElement | null;
33
- get isSelecting(): boolean;
34
- get isSelectionActive(): boolean;
35
- constructor();
36
- componentWillLoad(): void;
37
- componentDidLoad(): Promise<void>;
38
29
  handleWheel(ev: any): void;
39
30
  handlePointerDown(ev: PointerEvent): void;
40
31
  handlePointerMove(ev: PointerEvent): void;
41
32
  handlePointerUp(ev: PointerEvent): void;
42
33
  handlePointerCancel(ev: PointerEvent): void;
34
+ handleLongPress(ev: CustomEvent<PointerEvent>): void;
43
35
  handleContextMenu(ev: PointerEvent): void;
44
36
  handleResize(): void;
45
37
  handleKeyDown(ev: any): void;
46
38
  handleKeyUp(ev: any): void;
47
- updateFocus(ev: any): void;
48
- handleClick(): void;
49
39
  registerTool(toolName: string, toolClass: any, toolConfig?: KritzelTextToolConfig | KritzelBrushToolConfig): Promise<KritzelBaseTool>;
50
40
  changeActiveTool(tool: KritzelBaseTool): Promise<void>;
51
- setFocus(): Promise<void>;
52
41
  disable(): Promise<void>;
53
42
  enable(): Promise<void>;
54
43
  delete(): Promise<void>;
@@ -71,12 +60,22 @@ export declare class KritzelEngine {
71
60
  clearSelection(): Promise<void>;
72
61
  centerObjectInViewport(object: KritzelBaseObject): Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
73
62
  getCopiedObjects(): Promise<KritzelBaseObject[]>;
74
- createWorkspace(workspace: KritzelWorkspace): Promise<void>;
63
+ createWorkspace(workspace: KritzelWorkspace): Promise<KritzelWorkspace | null>;
75
64
  updateWorkspace(workspace: KritzelWorkspace): Promise<void>;
76
65
  deleteWorkspace(workspace: KritzelWorkspace): Promise<void>;
77
66
  getWorkspaces(): Promise<KritzelWorkspace[]>;
67
+ getActiveWorkspace(): Promise<KritzelWorkspace>;
68
+ core: KritzelCore;
69
+ viewport: KritzelViewport;
70
+ contextMenuHandler: KritzelContextMenuHandler;
71
+ keyHandler: KritzelKeyHandler;
72
+ contextMenuElement: HTMLKritzelContextMenuElement | null;
73
+ get isSelecting(): boolean;
74
+ get isSelectionActive(): boolean;
75
+ constructor();
76
+ componentWillLoad(): void;
77
+ componentDidLoad(): Promise<void>;
78
78
  private _registerStateChangeListeners;
79
79
  private _handleActiveToolChange;
80
- private _handleIsFocusedChange;
81
80
  render(): any;
82
81
  }
@@ -6,7 +6,9 @@ export interface DropdownOption {
6
6
  }
7
7
  export declare class KritzelDropdown {
8
8
  options: DropdownOption[];
9
+ optionsChanged(): void;
9
10
  value: string;
11
+ externalValueChanged(newValue: string): void;
10
12
  width?: string;
11
13
  selectStyles?: any;
12
14
  internalValue: string;
@@ -16,8 +18,6 @@ export declare class KritzelDropdown {
16
18
  private suffixSlotElement?;
17
19
  private prefixSlotElement?;
18
20
  componentWillLoad(): void;
19
- externalValueChanged(newValue: string): void;
20
- optionsChanged(): void;
21
21
  private updateInternalValue;
22
22
  private handleSelectChange;
23
23
  private evaluateSuffixContent;
@@ -12,8 +12,10 @@ export declare class KritzelMenuItem {
12
12
  itemCloseChildMenu: EventEmitter<IKritzelMenuItem>;
13
13
  isDirty: boolean;
14
14
  private inputRef;
15
+ private focusInput;
15
16
  componentDidLoad(): void;
16
17
  componentDidUpdate(): void;
18
+ private setDeviceSpecificStyles;
17
19
  private handleItemSelect;
18
20
  private handleInputChange;
19
21
  private handleSave;
@@ -17,7 +17,6 @@ export declare class KritzelPortal {
17
17
  private focusFirstElement;
18
18
  private getDeepActiveElement;
19
19
  private trapFocus;
20
- private getFocusableElements;
21
20
  private get firstFocusableElement();
22
21
  private get lastAddedPortal();
23
22
  private calculateLeft;
@@ -7,19 +7,21 @@ export declare class KritzelSplitButton {
7
7
  items: IKritzelMenuItem[];
8
8
  mainButtonDisabled: boolean;
9
9
  menuButtonDisabled: boolean;
10
- buttonClick: EventEmitter<void>;
10
+ mainButtonClick: EventEmitter<void>;
11
11
  itemSelect: EventEmitter<IKritzelMenuItemSelectEvent>;
12
12
  itemSave: EventEmitter<IKritzelMenuItem>;
13
13
  itemCancel: EventEmitter<IKritzelMenuItem>;
14
14
  itemToggleChildMenu: EventEmitter<IKritzelMenuItemToggleChildMenuEvent>;
15
15
  itemCloseChildMenu: EventEmitter<IKritzelMenuItem>;
16
- close: EventEmitter<void>;
16
+ menuOpen: EventEmitter<void>;
17
+ menuClose: EventEmitter<void>;
17
18
  isMenuOpen: boolean;
18
19
  isTouchDevice: boolean;
19
20
  anchorElement: HTMLElement;
20
21
  splitMenuButtonRef: HTMLButtonElement;
21
22
  menuRef: HTMLKritzelMenuElement;
22
23
  open(): Promise<void>;
24
+ focusMenu(): Promise<void>;
23
25
  private handleButtonClick;
24
26
  private toggleMenu;
25
27
  private openMenu;
@@ -1,15 +1,21 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
1
2
  export declare class KritzelTooltip {
3
+ host: HTMLElement;
2
4
  isVisible: boolean;
3
5
  anchorElement: HTMLElement;
4
6
  arrowSize: number;
5
7
  offsetY: number;
6
- el: HTMLElement;
8
+ tooltipClosed: EventEmitter<void>;
7
9
  positionX: number;
8
10
  arrowOffset: string;
9
- private isMobileView;
11
+ isMobileView: boolean;
12
+ handleOutsideClick(event: MouseEvent): void;
10
13
  handleWindowResize(): void;
14
+ focusContent(): Promise<void>;
15
+ componentDidLoad(): void;
11
16
  componentWillLoad(): void;
12
17
  componentWillUpdate(): void;
18
+ private focusSlottedContent;
13
19
  private calculateAdjustedPosition;
14
20
  render(): any;
15
21
  }
@@ -2,15 +2,17 @@ import { EventEmitter } from '../../../stencil-public-runtime';
2
2
  import { ContextMenuItem } from '../../../interfaces/context-menu-item.interface';
3
3
  import { KritzelBaseObject } from '../../../classes/objects/base-object.class';
4
4
  export declare class KritzelContextMenu {
5
+ host: HTMLElement;
5
6
  items: ContextMenuItem[];
7
+ onItemsChanged(): void;
6
8
  objects: KritzelBaseObject[];
7
9
  actionSelected: EventEmitter<ContextMenuItem>;
8
- hostElement: HTMLElement;
10
+ close: EventEmitter<void>;
9
11
  private processedItems;
12
+ handleOutsideClick(event: MouseEvent): void;
10
13
  componentWillLoad(): void;
11
- onItemsChanged(): void;
12
14
  private handleItemClick;
13
- private evaluateProperty;
14
15
  private updateMenuItems;
16
+ private evaluateProperty;
15
17
  render(): any;
16
18
  }
@@ -2,10 +2,10 @@ import { EventEmitter } from '../../../stencil-public-runtime';
2
2
  import { KritzelBrushTool } from '../../../classes/tools/brush-tool.class';
3
3
  export declare class KritzelControlBrushConfig {
4
4
  tool: KritzelBrushTool;
5
+ handleToolChange(newTool: KritzelBrushTool): void;
5
6
  isExpanded: boolean;
6
7
  toolChange: EventEmitter<KritzelBrushTool>;
7
8
  palette: string[];
8
- handleToolChange(newTool: KritzelBrushTool): void;
9
9
  componentWillLoad(): void;
10
10
  handleToggleExpand(): void;
11
11
  handleTypeChange(event: CustomEvent<'pen' | 'highlighter'>): void;
@@ -4,6 +4,7 @@ import { KritzelTextTool } from '../../../classes/tools/text-tool.class';
4
4
  import { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';
5
5
  type ToolConfig = Record<string, any>;
6
6
  export declare class KritzelControls {
7
+ host: HTMLElement;
7
8
  controls: KritzelToolbarControl[];
8
9
  activeControl: KritzelToolbarControl | null;
9
10
  isUtilityPanelVisible: boolean;
@@ -11,12 +12,12 @@ export declare class KritzelControls {
11
12
  firstConfig: ToolConfig | null;
12
13
  isTooltipVisible: boolean;
13
14
  isTouchDevice: boolean;
14
- host: HTMLElement;
15
15
  handleDocumentClick(event: MouseEvent): void;
16
16
  handleKeyDown(event: any): void;
17
17
  handleActiveToolChange(event: CustomEvent): Promise<void>;
18
18
  closeTooltip(): Promise<void>;
19
19
  kritzelEngine: HTMLKritzelEngineElement | null;
20
+ tooltipRef: HTMLKritzelTooltipElement | null;
20
21
  get activeToolAsTextTool(): KritzelTextTool;
21
22
  get activeToolAsBrushTool(): KritzelBrushTool;
22
23
  componentWillLoad(): Promise<void>;
@@ -25,6 +26,7 @@ export declare class KritzelControls {
25
26
  private handleControlClick;
26
27
  private handleConfigClick;
27
28
  private handleToolChange;
29
+ private handleTooltipClosed;
28
30
  render(): any;
29
31
  }
30
32
  export {};
@@ -1,4 +1,4 @@
1
- import { KritzelWorkspace } from '../../../classes/workspace.class';
1
+ import { KritzelWorkspace } from '../../../classes/core/workspace.class';
2
2
  import { IKritzelMenuItem } from '../../../interfaces/menu-item.interface';
3
3
  import { EventEmitter } from '../../../stencil-public-runtime';
4
4
  export declare class KritzelWorkspaceManager {
@@ -24,6 +24,7 @@ export declare class KritzelWorkspaceManager {
24
24
  private delete;
25
25
  private toggleChildMenu;
26
26
  private closeChildMenu;
27
- private closeMenu;
27
+ private handleMenuOpen;
28
+ private handleMenuClose;
28
29
  render(): any;
29
30
  }
@@ -11,9 +11,9 @@ import { KritzelBaseObject } from "./classes/objects/base-object.class";
11
11
  import { KritzelBrushTool } from "./classes/tools/brush-tool.class";
12
12
  import { KritzelTextTool } from "./classes/tools/text-tool.class";
13
13
  import { KritzelBrushToolConfig, KritzelTextToolConfig, KritzelToolbarControl } from "./interfaces/toolbar-control.interface";
14
- import { KritzelStore } from "./classes/store.class";
14
+ import { KritzelCore } from "./classes/core/core.class";
15
15
  import { DropdownOption } from "./components/shared/kritzel-dropdown/kritzel-dropdown";
16
- import { KritzelWorkspace } from "./classes/workspace.class";
16
+ import { KritzelWorkspace } from "./classes/core/workspace.class";
17
17
  import { KritzelTool } from "./interfaces/tool.interface";
18
18
  import { KritzelEngineState } from "./interfaces/engine-state.interface";
19
19
  import { KritzelBaseTool } from "./classes/tools/base-tool.class";
@@ -25,9 +25,9 @@ export { KritzelBaseObject } from "./classes/objects/base-object.class";
25
25
  export { KritzelBrushTool } from "./classes/tools/brush-tool.class";
26
26
  export { KritzelTextTool } from "./classes/tools/text-tool.class";
27
27
  export { KritzelBrushToolConfig, KritzelTextToolConfig, KritzelToolbarControl } from "./interfaces/toolbar-control.interface";
28
- export { KritzelStore } from "./classes/store.class";
28
+ export { KritzelCore } from "./classes/core/core.class";
29
29
  export { DropdownOption } from "./components/shared/kritzel-dropdown/kritzel-dropdown";
30
- export { KritzelWorkspace } from "./classes/workspace.class";
30
+ export { KritzelWorkspace } from "./classes/core/workspace.class";
31
31
  export { KritzelTool } from "./interfaces/tool.interface";
32
32
  export { KritzelEngineState } from "./interfaces/engine-state.interface";
33
33
  export { KritzelBaseTool } from "./classes/tools/base-tool.class";
@@ -103,7 +103,7 @@ export namespace Components {
103
103
  "isUtilityPanelVisible": boolean;
104
104
  }
105
105
  interface KritzelCursorTrail {
106
- "store": KritzelStore;
106
+ "core": KritzelCore;
107
107
  }
108
108
  interface KritzelDropdown {
109
109
  /**
@@ -125,12 +125,16 @@ export namespace Components {
125
125
  * @default [ { name: 'selection', type: 'tool', tool: KritzelSelectionTool, icon: 'cursor', }, { name: 'brush', type: 'tool', tool: KritzelBrushTool, icon: 'pen', isDefault: true, config: DEFAULT_BRUSH_CONFIG, }, { name: 'eraser', type: 'tool', tool: KritzelEraserTool, icon: 'eraser', }, { name: 'text', type: 'tool', tool: KritzelTextTool, icon: 'type', config: DEFAULT_TEXT_CONFIG, }, { name: 'image', type: 'tool', tool: KritzelImageTool, icon: 'image', }, { name: 'divider', type: 'divider', }, { name: 'config', type: 'config', }, ]
126
126
  */
127
127
  "controls": KritzelToolbarControl[];
128
+ "createWorkspace": (name: string, viewport?: { translateX: number; translateY: number; scale: number; }) => Promise<KritzelWorkspace | null>;
128
129
  /**
129
130
  * @default {}
130
131
  */
131
132
  "customSvgIcons": Record<string, string>;
133
+ "deleteWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
134
+ "getActiveWorkspace": () => Promise<KritzelWorkspace>;
132
135
  "getObjectById": <T extends KritzelBaseObject>(id: string) => Promise<T | null>;
133
136
  "getSelectedObjects": () => Promise<KritzelBaseObject[]>;
137
+ "getWorkspaces": () => Promise<KritzelWorkspace[]>;
134
138
  /**
135
139
  * @default [ { label: 'Paste', icon: 'paste', disabled: async () => (await this.engineRef.getCopiedObjects()).length === 0, action: menu => this.engineRef.paste(menu.x, menu.y), }, { label: 'Select All', icon: 'select-all', action: () => this.selectAllObjectsInViewport() }, ]
136
140
  */
@@ -159,6 +163,7 @@ export namespace Components {
159
163
  "selectAllObjectsInViewport": () => Promise<void>;
160
164
  "selectObjects": (objects: KritzelBaseObject[]) => Promise<void>;
161
165
  "updateObject": <T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>) => Promise<T | null>;
166
+ "updateWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
162
167
  }
163
168
  interface KritzelEngine {
164
169
  "activeTool": KritzelTool;
@@ -169,11 +174,12 @@ export namespace Components {
169
174
  "changeActiveTool": (tool: KritzelBaseTool) => Promise<void>;
170
175
  "clearSelection": () => Promise<void>;
171
176
  "copy": () => Promise<void>;
172
- "createWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
177
+ "createWorkspace": (workspace: KritzelWorkspace) => Promise<KritzelWorkspace | null>;
173
178
  "delete": () => Promise<void>;
174
179
  "deleteWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
175
180
  "disable": () => Promise<void>;
176
181
  "enable": () => Promise<void>;
182
+ "getActiveWorkspace": () => Promise<KritzelWorkspace>;
177
183
  "getCopiedObjects": () => Promise<KritzelBaseObject[]>;
178
184
  "getObjectById": <T extends KritzelBaseObject>(id: string) => Promise<T | null>;
179
185
  "getSelectedObjects": () => Promise<KritzelBaseObject<any>[]>;
@@ -197,7 +203,6 @@ export namespace Components {
197
203
  "selectObjects": (objects: KritzelBaseObject[]) => Promise<void>;
198
204
  "sendBackward": (object?: KritzelBaseObject<any>) => Promise<void>;
199
205
  "sendToBack": (object?: KritzelBaseObject<any>) => Promise<void>;
200
- "setFocus": () => Promise<void>;
201
206
  "undo": () => Promise<void>;
202
207
  "updateObject": <T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>) => Promise<T | null>;
203
208
  "updateWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
@@ -279,6 +284,7 @@ export namespace Components {
279
284
  * @default 'chevron-down'
280
285
  */
281
286
  "dropdownIcon": string;
287
+ "focusMenu": () => Promise<void>;
282
288
  /**
283
289
  * @default []
284
290
  */
@@ -309,6 +315,7 @@ export namespace Components {
309
315
  * @default 8
310
316
  */
311
317
  "arrowSize": number;
318
+ "focusContent": () => Promise<void>;
312
319
  /**
313
320
  * @default false
314
321
  */
@@ -392,6 +399,10 @@ export interface KritzelStrokeSizeCustomEvent<T> extends CustomEvent<T> {
392
399
  detail: T;
393
400
  target: HTMLKritzelStrokeSizeElement;
394
401
  }
402
+ export interface KritzelTooltipCustomEvent<T> extends CustomEvent<T> {
403
+ detail: T;
404
+ target: HTMLKritzelTooltipElement;
405
+ }
395
406
  export interface KritzelUtilityPanelCustomEvent<T> extends CustomEvent<T> {
396
407
  detail: T;
397
408
  target: HTMLKritzelUtilityPanelElement;
@@ -443,6 +454,7 @@ declare global {
443
454
  };
444
455
  interface HTMLKritzelContextMenuElementEventMap {
445
456
  "actionSelected": ContextMenuItem;
457
+ "close": void;
446
458
  }
447
459
  interface HTMLKritzelContextMenuElement extends Components.KritzelContextMenu, HTMLStencilElement {
448
460
  addEventListener<K extends keyof HTMLKritzelContextMenuElementEventMap>(type: K, listener: (this: HTMLKritzelContextMenuElement, ev: KritzelContextMenuCustomEvent<HTMLKritzelContextMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -553,6 +565,7 @@ declare global {
553
565
  "isEngineReady": KritzelEngineState;
554
566
  "activeToolChange": KritzelBaseTool;
555
567
  "workspacesChange": KritzelWorkspace[];
568
+ "longpress": PointerEvent;
556
569
  }
557
570
  interface HTMLKritzelEngineElement extends Components.KritzelEngine, HTMLStencilElement {
558
571
  addEventListener<K extends keyof HTMLKritzelEngineElementEventMap>(type: K, listener: (this: HTMLKritzelEngineElement, ev: KritzelEngineCustomEvent<HTMLKritzelEngineElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -675,13 +688,14 @@ declare global {
675
688
  new (): HTMLKritzelPortalElement;
676
689
  };
677
690
  interface HTMLKritzelSplitButtonElementEventMap {
678
- "buttonClick": void;
691
+ "mainButtonClick": void;
679
692
  "itemSelect": IKritzelMenuItemSelectEvent;
680
693
  "itemSave": IKritzelMenuItem;
681
694
  "itemCancel": IKritzelMenuItem;
682
695
  "itemToggleChildMenu": IKritzelMenuItemToggleChildMenuEvent;
683
696
  "itemCloseChildMenu": IKritzelMenuItem;
684
- "close": void;
697
+ "menuOpen": void;
698
+ "menuClose": void;
685
699
  }
686
700
  interface HTMLKritzelSplitButtonElement extends Components.KritzelSplitButton, HTMLStencilElement {
687
701
  addEventListener<K extends keyof HTMLKritzelSplitButtonElementEventMap>(type: K, listener: (this: HTMLKritzelSplitButtonElement, ev: KritzelSplitButtonCustomEvent<HTMLKritzelSplitButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -714,7 +728,18 @@ declare global {
714
728
  prototype: HTMLKritzelStrokeSizeElement;
715
729
  new (): HTMLKritzelStrokeSizeElement;
716
730
  };
731
+ interface HTMLKritzelTooltipElementEventMap {
732
+ "tooltipClosed": void;
733
+ }
717
734
  interface HTMLKritzelTooltipElement extends Components.KritzelTooltip, HTMLStencilElement {
735
+ addEventListener<K extends keyof HTMLKritzelTooltipElementEventMap>(type: K, listener: (this: HTMLKritzelTooltipElement, ev: KritzelTooltipCustomEvent<HTMLKritzelTooltipElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
736
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
737
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
738
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
739
+ removeEventListener<K extends keyof HTMLKritzelTooltipElementEventMap>(type: K, listener: (this: HTMLKritzelTooltipElement, ev: KritzelTooltipCustomEvent<HTMLKritzelTooltipElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
740
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
741
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
742
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
718
743
  }
719
744
  var HTMLKritzelTooltipElement: {
720
745
  prototype: HTMLKritzelTooltipElement;
@@ -825,6 +850,7 @@ declare namespace LocalJSX {
825
850
  "items"?: ContextMenuItem[];
826
851
  "objects"?: KritzelBaseObject[];
827
852
  "onActionSelected"?: (event: KritzelContextMenuCustomEvent<ContextMenuItem>) => void;
853
+ "onClose"?: (event: KritzelContextMenuCustomEvent<void>) => void;
828
854
  }
829
855
  interface KritzelControlBrushConfig {
830
856
  /**
@@ -858,7 +884,7 @@ declare namespace LocalJSX {
858
884
  "onIsControlsReady"?: (event: KritzelControlsCustomEvent<void>) => void;
859
885
  }
860
886
  interface KritzelCursorTrail {
861
- "store"?: KritzelStore;
887
+ "core"?: KritzelCore;
862
888
  }
863
889
  interface KritzelDropdown {
864
890
  "onValueChanged"?: (event: KritzelDropdownCustomEvent<string>) => void;
@@ -914,6 +940,7 @@ declare namespace LocalJSX {
914
940
  "objectContextMenuItems"?: ContextMenuItem[];
915
941
  "onActiveToolChange"?: (event: KritzelEngineCustomEvent<KritzelBaseTool>) => void;
916
942
  "onIsEngineReady"?: (event: KritzelEngineCustomEvent<KritzelEngineState>) => void;
943
+ "onLongpress"?: (event: KritzelEngineCustomEvent<PointerEvent>) => void;
917
944
  "onWorkspacesChange"?: (event: KritzelEngineCustomEvent<KritzelWorkspace[]>) => void;
918
945
  /**
919
946
  * @default ABSOLUTE_SCALE_MAX
@@ -1026,13 +1053,14 @@ declare namespace LocalJSX {
1026
1053
  * @default false
1027
1054
  */
1028
1055
  "menuButtonDisabled"?: boolean;
1029
- "onButtonClick"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
1030
- "onClose"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
1031
1056
  "onItemCancel"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
1032
1057
  "onItemCloseChildMenu"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
1033
1058
  "onItemSave"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
1034
1059
  "onItemSelect"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItemSelectEvent>) => void;
1035
1060
  "onItemToggleChildMenu"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItemToggleChildMenuEvent>) => void;
1061
+ "onMainButtonClick"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
1062
+ "onMenuClose"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
1063
+ "onMenuOpen"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
1036
1064
  }
1037
1065
  interface KritzelStrokeSize {
1038
1066
  "onSizeChange"?: (event: KritzelStrokeSizeCustomEvent<number>) => void;
@@ -1059,6 +1087,7 @@ declare namespace LocalJSX {
1059
1087
  * @default 24
1060
1088
  */
1061
1089
  "offsetY"?: number;
1090
+ "onTooltipClosed"?: (event: KritzelTooltipCustomEvent<void>) => void;
1062
1091
  }
1063
1092
  interface KritzelUtilityPanel {
1064
1093
  "onDelete"?: (event: KritzelUtilityPanelCustomEvent<void>) => void;
@@ -1,3 +1,7 @@
1
1
  export declare class KritzelDevicesHelper {
2
2
  static isTouchDevice(): boolean;
3
+ static isAndroid(): boolean;
4
+ static isIOS(): boolean;
5
+ static detectOS(): 'iOS' | 'Android' | 'Other';
6
+ static isFirefox(): boolean;
3
7
  }
@@ -3,5 +3,5 @@ export declare class KritzelEventHelper {
3
3
  static isLeftClick(ev: MouseEvent): boolean;
4
4
  static isMainMouseWheel(event: WheelEvent): boolean;
5
5
  static isPointerEventOnContextMenu(event: PointerEvent): boolean;
6
- static onLongTouchPress(event: PointerEvent, onSuccess: (event: PointerEvent) => void, onCancel?: () => void): () => void;
6
+ static onLongPress(event: PointerEvent, onSuccess: (event: PointerEvent) => void, onCancel?: () => void): () => void;
7
7
  }
@@ -2,4 +2,5 @@ export declare class KritzelHTMLHelper {
2
2
  static getNumericValueFromStyle(element: HTMLElement, property: string): number;
3
3
  static getScrollableParent(element: HTMLElement): HTMLElement | Window;
4
4
  static isElementInViewport(element: HTMLElement): boolean;
5
+ static getFocusableElements(root: HTMLElement): HTMLElement[];
5
6
  }
@@ -20,4 +20,4 @@ export * from './interfaces/toolbar-control.interface';
20
20
  export * from './interfaces/menu-item.interface';
21
21
  export * from './configs/default-brush-tool.config';
22
22
  export * from './configs/default-text-tool.config';
23
- export * from './classes/workspace.class';
23
+ export * from './classes/core/workspace.class';