kritzel-react 0.1.32 → 0.1.34

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 (210) hide show
  1. package/dist/types/components/stencil-generated/components.d.ts +1 -1
  2. package/package.json +2 -2
  3. package/dist/kritzel-react/lib/components/stencil-generated/components.js +0 -122
  4. package/dist/kritzel-react/lib/index.js +0 -2
  5. package/dist/kritzel-stencil/src/classes/core/core.class.js +0 -797
  6. package/dist/kritzel-stencil/src/classes/core/reviver.class.js +0 -97
  7. package/dist/kritzel-stencil/src/classes/core/store.class.js +0 -153
  8. package/dist/kritzel-stencil/src/classes/core/viewport.class.js +0 -311
  9. package/dist/kritzel-stencil/src/classes/core/workspace.class.js +0 -34
  10. package/dist/kritzel-stencil/src/classes/handlers/base.handler.js +0 -6
  11. package/dist/kritzel-stencil/src/classes/handlers/context-menu.handler.js +0 -63
  12. package/dist/kritzel-stencil/src/classes/handlers/hover.handler.js +0 -18
  13. package/dist/kritzel-stencil/src/classes/handlers/key.handler.js +0 -76
  14. package/dist/kritzel-stencil/src/classes/handlers/line-handle.handler.js +0 -382
  15. package/dist/kritzel-stencil/src/classes/handlers/move.handler.js +0 -213
  16. package/dist/kritzel-stencil/src/classes/handlers/resize.handler.js +0 -205
  17. package/dist/kritzel-stencil/src/classes/handlers/rotation.handler.js +0 -117
  18. package/dist/kritzel-stencil/src/classes/handlers/selection.handler.js +0 -313
  19. package/dist/kritzel-stencil/src/classes/managers/anchor.manager.js +0 -1056
  20. package/dist/kritzel-stencil/src/classes/managers/cursor.manager.js +0 -117
  21. package/dist/kritzel-stencil/src/classes/managers/theme.manager.js +0 -103
  22. package/dist/kritzel-stencil/src/classes/objects/base-object.class.js +0 -249
  23. package/dist/kritzel-stencil/src/classes/objects/custom-element.class.js +0 -60
  24. package/dist/kritzel-stencil/src/classes/objects/group.class.js +0 -407
  25. package/dist/kritzel-stencil/src/classes/objects/image.class.js +0 -55
  26. package/dist/kritzel-stencil/src/classes/objects/line.class.js +0 -608
  27. package/dist/kritzel-stencil/src/classes/objects/path.class.js +0 -401
  28. package/dist/kritzel-stencil/src/classes/objects/selection-box.class.js +0 -21
  29. package/dist/kritzel-stencil/src/classes/objects/selection-group.class.js +0 -409
  30. package/dist/kritzel-stencil/src/classes/objects/shape.class.js +0 -412
  31. package/dist/kritzel-stencil/src/classes/objects/text.class.js +0 -292
  32. package/dist/kritzel-stencil/src/classes/providers/broadcast-sync-provider.class.js +0 -101
  33. package/dist/kritzel-stencil/src/classes/providers/hocuspocus-sync-provider.class.js +0 -241
  34. package/dist/kritzel-stencil/src/classes/providers/indexeddb-sync-provider.class.js +0 -43
  35. package/dist/kritzel-stencil/src/classes/providers/websocket-sync-provider.class.js +0 -98
  36. package/dist/kritzel-stencil/src/classes/registries/icon-registry.class.js +0 -66
  37. package/dist/kritzel-stencil/src/classes/registries/tool.registry.js +0 -21
  38. package/dist/kritzel-stencil/src/classes/structures/app-state-map.structure.js +0 -212
  39. package/dist/kritzel-stencil/src/classes/structures/object-map.structure.js +0 -414
  40. package/dist/kritzel-stencil/src/classes/structures/quadtree.structure.js +0 -151
  41. package/dist/kritzel-stencil/src/classes/tools/base-tool.class.js +0 -36
  42. package/dist/kritzel-stencil/src/classes/tools/brush-tool.class.js +0 -161
  43. package/dist/kritzel-stencil/src/classes/tools/eraser-tool.class.js +0 -85
  44. package/dist/kritzel-stencil/src/classes/tools/image-tool.class.js +0 -83
  45. package/dist/kritzel-stencil/src/classes/tools/line-tool.class.js +0 -187
  46. package/dist/kritzel-stencil/src/classes/tools/selection-tool.class.js +0 -429
  47. package/dist/kritzel-stencil/src/classes/tools/shape-tool.class.js +0 -196
  48. package/dist/kritzel-stencil/src/classes/tools/text-tool.class.js +0 -100
  49. package/dist/kritzel-stencil/src/components/core/kritzel-engine/kritzel-engine.js +0 -1343
  50. package/dist/kritzel-stencil/src/components/shared/kritzel-brush-style/kritzel-brush-style.js +0 -46
  51. package/dist/kritzel-stencil/src/components/shared/kritzel-dropdown/kritzel-dropdown.js +0 -312
  52. package/dist/kritzel-stencil/src/components/shared/kritzel-font-family/kritzel-font-family.js +0 -60
  53. package/dist/kritzel-stencil/src/components/shared/kritzel-line-endings/kritzel-line-endings.js +0 -105
  54. package/dist/kritzel-stencil/src/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +0 -53
  55. package/dist/kritzel-stencil/src/components/ui/kritzel-context-menu/kritzel-context-menu.js +0 -137
  56. package/dist/kritzel-stencil/src/configs/default-brush-tool.config.js +0 -9
  57. package/dist/kritzel-stencil/src/configs/default-engine-config.js +0 -63
  58. package/dist/kritzel-stencil/src/configs/default-line-tool.config.js +0 -9
  59. package/dist/kritzel-stencil/src/configs/default-sync.config.js +0 -9
  60. package/dist/kritzel-stencil/src/configs/default-text-tool.config.js +0 -7
  61. package/dist/kritzel-stencil/src/constants/color-palette.constants.js +0 -37
  62. package/dist/kritzel-stencil/src/constants/engine.constants.js +0 -2
  63. package/dist/kritzel-stencil/src/enums/event-button.enum.js +0 -6
  64. package/dist/kritzel-stencil/src/enums/handle-type.enum.js +0 -7
  65. package/dist/kritzel-stencil/src/enums/shape-type.enum.js +0 -6
  66. package/dist/kritzel-stencil/src/helpers/class.helper.js +0 -5
  67. package/dist/kritzel-stencil/src/helpers/color.helper.js +0 -106
  68. package/dist/kritzel-stencil/src/helpers/cursor.helper.js +0 -57
  69. package/dist/kritzel-stencil/src/helpers/devices.helper.js +0 -28
  70. package/dist/kritzel-stencil/src/helpers/event.helper.js +0 -58
  71. package/dist/kritzel-stencil/src/helpers/geometry.helper.js +0 -149
  72. package/dist/kritzel-stencil/src/helpers/keyboard.helper.js +0 -51
  73. package/dist/kritzel-stencil/src/helpers/math.helper.js +0 -5
  74. package/dist/kritzel-stencil/src/helpers/object.helper.js +0 -11
  75. package/dist/kritzel-stencil/src/helpers/theme.helper.js +0 -69
  76. package/dist/kritzel-stencil/src/index.js +0 -41
  77. package/dist/kritzel-stencil/src/interfaces/anchor.interface.js +0 -1
  78. package/dist/kritzel-stencil/src/interfaces/arrow-head.interface.js +0 -1
  79. package/dist/kritzel-stencil/src/interfaces/bounding-box.interface.js +0 -1
  80. package/dist/kritzel-stencil/src/interfaces/clonable.interface.js +0 -1
  81. package/dist/kritzel-stencil/src/interfaces/context-menu-item.interface.js +0 -1
  82. package/dist/kritzel-stencil/src/interfaces/debug-info.interface.js +0 -1
  83. package/dist/kritzel-stencil/src/interfaces/dialog.interface.js +0 -1
  84. package/dist/kritzel-stencil/src/interfaces/displayable-shortcut.interface.js +0 -1
  85. package/dist/kritzel-stencil/src/interfaces/engine-state.interface.js +0 -1
  86. package/dist/kritzel-stencil/src/interfaces/line-options.interface.js +0 -1
  87. package/dist/kritzel-stencil/src/interfaces/master-detail.interface.js +0 -1
  88. package/dist/kritzel-stencil/src/interfaces/menu-item.interface.js +0 -1
  89. package/dist/kritzel-stencil/src/interfaces/object.interface.js +0 -1
  90. package/dist/kritzel-stencil/src/interfaces/path-options.interface.js +0 -1
  91. package/dist/kritzel-stencil/src/interfaces/point.interface.js +0 -1
  92. package/dist/kritzel-stencil/src/interfaces/polygon.interface.js +0 -1
  93. package/dist/kritzel-stencil/src/interfaces/serializable.interface.js +0 -1
  94. package/dist/kritzel-stencil/src/interfaces/settings.interface.js +0 -1
  95. package/dist/kritzel-stencil/src/interfaces/shortcut.interface.js +0 -1
  96. package/dist/kritzel-stencil/src/interfaces/sync-config.interface.js +0 -1
  97. package/dist/kritzel-stencil/src/interfaces/sync-provider.interface.js +0 -1
  98. package/dist/kritzel-stencil/src/interfaces/theme.interface.js +0 -1
  99. package/dist/kritzel-stencil/src/interfaces/tool-config.interface.js +0 -1
  100. package/dist/kritzel-stencil/src/interfaces/tool.interface.js +0 -1
  101. package/dist/kritzel-stencil/src/interfaces/toolbar-control.interface.js +0 -1
  102. package/dist/kritzel-stencil/src/interfaces/undo-state.interface.js +0 -1
  103. package/dist/kritzel-stencil/src/themes/dark-theme.js +0 -198
  104. package/dist/kritzel-stencil/src/themes/light-theme.js +0 -199
  105. package/dist/kritzel-stencil/src/types/shortcut.type.js +0 -1
  106. package/dist/kritzel-stencil/src/types/state.types.js +0 -1
  107. package/dist/types/kritzel-react/lib/components/stencil-generated/components.d.ts +0 -74
  108. package/dist/types/kritzel-react/lib/index.d.ts +0 -2
  109. package/dist/types/kritzel-stencil/src/classes/core/core.class.d.ts +0 -101
  110. package/dist/types/kritzel-stencil/src/classes/core/reviver.class.d.ts +0 -6
  111. package/dist/types/kritzel-stencil/src/classes/core/store.class.d.ts +0 -53
  112. package/dist/types/kritzel-stencil/src/classes/core/viewport.class.d.ts +0 -48
  113. package/dist/types/kritzel-stencil/src/classes/core/workspace.class.d.ts +0 -24
  114. package/dist/types/kritzel-stencil/src/classes/handlers/base.handler.d.ts +0 -5
  115. package/dist/types/kritzel-stencil/src/classes/handlers/context-menu.handler.d.ts +0 -8
  116. package/dist/types/kritzel-stencil/src/classes/handlers/hover.handler.d.ts +0 -6
  117. package/dist/types/kritzel-stencil/src/classes/handlers/key.handler.d.ts +0 -11
  118. package/dist/types/kritzel-stencil/src/classes/handlers/line-handle.handler.d.ts +0 -34
  119. package/dist/types/kritzel-stencil/src/classes/handlers/move.handler.d.ts +0 -29
  120. package/dist/types/kritzel-stencil/src/classes/handlers/resize.handler.d.ts +0 -24
  121. package/dist/types/kritzel-stencil/src/classes/handlers/rotation.handler.d.ts +0 -12
  122. package/dist/types/kritzel-stencil/src/classes/handlers/selection.handler.d.ts +0 -27
  123. package/dist/types/kritzel-stencil/src/classes/managers/anchor.manager.d.ts +0 -180
  124. package/dist/types/kritzel-stencil/src/classes/managers/cursor.manager.d.ts +0 -43
  125. package/dist/types/kritzel-stencil/src/classes/managers/theme.manager.d.ts +0 -56
  126. package/dist/types/kritzel-stencil/src/classes/objects/base-object.class.d.ts +0 -76
  127. package/dist/types/kritzel-stencil/src/classes/objects/custom-element.class.d.ts +0 -26
  128. package/dist/types/kritzel-stencil/src/classes/objects/group.class.d.ts +0 -97
  129. package/dist/types/kritzel-stencil/src/classes/objects/image.class.d.ts +0 -17
  130. package/dist/types/kritzel-stencil/src/classes/objects/line.class.d.ts +0 -101
  131. package/dist/types/kritzel-stencil/src/classes/objects/path.class.d.ts +0 -62
  132. package/dist/types/kritzel-stencil/src/classes/objects/selection-box.class.d.ts +0 -6
  133. package/dist/types/kritzel-stencil/src/classes/objects/selection-group.class.d.ts +0 -67
  134. package/dist/types/kritzel-stencil/src/classes/objects/shape.class.d.ts +0 -124
  135. package/dist/types/kritzel-stencil/src/classes/objects/text.class.d.ts +0 -56
  136. package/dist/types/kritzel-stencil/src/classes/providers/broadcast-sync-provider.class.d.ts +0 -18
  137. package/dist/types/kritzel-stencil/src/classes/providers/hocuspocus-sync-provider.class.d.ts +0 -120
  138. package/dist/types/kritzel-stencil/src/classes/providers/indexeddb-sync-provider.class.d.ts +0 -22
  139. package/dist/types/kritzel-stencil/src/classes/providers/websocket-sync-provider.class.d.ts +0 -52
  140. package/dist/types/kritzel-stencil/src/classes/registries/icon-registry.class.d.ts +0 -9
  141. package/dist/types/kritzel-stencil/src/classes/registries/tool.registry.d.ts +0 -8
  142. package/dist/types/kritzel-stencil/src/classes/structures/app-state-map.structure.d.ts +0 -31
  143. package/dist/types/kritzel-stencil/src/classes/structures/object-map.structure.d.ts +0 -63
  144. package/dist/types/kritzel-stencil/src/classes/structures/quadtree.structure.d.ts +0 -36
  145. package/dist/types/kritzel-stencil/src/classes/tools/base-tool.class.d.ts +0 -20
  146. package/dist/types/kritzel-stencil/src/classes/tools/brush-tool.class.d.ts +0 -14
  147. package/dist/types/kritzel-stencil/src/classes/tools/eraser-tool.class.d.ts +0 -9
  148. package/dist/types/kritzel-stencil/src/classes/tools/image-tool.class.d.ts +0 -15
  149. package/dist/types/kritzel-stencil/src/classes/tools/line-tool.class.d.ts +0 -19
  150. package/dist/types/kritzel-stencil/src/classes/tools/selection-tool.class.d.ts +0 -54
  151. package/dist/types/kritzel-stencil/src/classes/tools/shape-tool.class.d.ts +0 -39
  152. package/dist/types/kritzel-stencil/src/classes/tools/text-tool.class.d.ts +0 -13
  153. package/dist/types/kritzel-stencil/src/components/core/kritzel-engine/kritzel-engine.d.ts +0 -111
  154. package/dist/types/kritzel-stencil/src/components/shared/kritzel-brush-style/kritzel-brush-style.d.ts +0 -11
  155. package/dist/types/kritzel-stencil/src/components/shared/kritzel-dropdown/kritzel-dropdown.d.ts +0 -46
  156. package/dist/types/kritzel-stencil/src/components/shared/kritzel-font-family/kritzel-font-family.d.ts +0 -13
  157. package/dist/types/kritzel-stencil/src/components/shared/kritzel-line-endings/kritzel-line-endings.d.ts +0 -21
  158. package/dist/types/kritzel-stencil/src/components/shared/kritzel-shape-fill/kritzel-shape-fill.d.ts +0 -10
  159. package/dist/types/kritzel-stencil/src/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +0 -21
  160. package/dist/types/kritzel-stencil/src/configs/default-brush-tool.config.d.ts +0 -2
  161. package/dist/types/kritzel-stencil/src/configs/default-engine-config.d.ts +0 -2
  162. package/dist/types/kritzel-stencil/src/configs/default-line-tool.config.d.ts +0 -2
  163. package/dist/types/kritzel-stencil/src/configs/default-sync.config.d.ts +0 -5
  164. package/dist/types/kritzel-stencil/src/configs/default-text-tool.config.d.ts +0 -2
  165. package/dist/types/kritzel-stencil/src/constants/color-palette.constants.d.ts +0 -29
  166. package/dist/types/kritzel-stencil/src/constants/engine.constants.d.ts +0 -2
  167. package/dist/types/kritzel-stencil/src/enums/event-button.enum.d.ts +0 -5
  168. package/dist/types/kritzel-stencil/src/enums/handle-type.enum.d.ts +0 -6
  169. package/dist/types/kritzel-stencil/src/enums/shape-type.enum.d.ts +0 -5
  170. package/dist/types/kritzel-stencil/src/helpers/class.helper.d.ts +0 -3
  171. package/dist/types/kritzel-stencil/src/helpers/color.helper.d.ts +0 -33
  172. package/dist/types/kritzel-stencil/src/helpers/cursor.helper.d.ts +0 -22
  173. package/dist/types/kritzel-stencil/src/helpers/devices.helper.d.ts +0 -8
  174. package/dist/types/kritzel-stencil/src/helpers/event.helper.d.ts +0 -6
  175. package/dist/types/kritzel-stencil/src/helpers/geometry.helper.d.ts +0 -38
  176. package/dist/types/kritzel-stencil/src/helpers/keyboard.helper.d.ts +0 -6
  177. package/dist/types/kritzel-stencil/src/helpers/math.helper.d.ts +0 -3
  178. package/dist/types/kritzel-stencil/src/helpers/object.helper.d.ts +0 -4
  179. package/dist/types/kritzel-stencil/src/helpers/theme.helper.d.ts +0 -41
  180. package/dist/types/kritzel-stencil/src/index.d.ts +0 -42
  181. package/dist/types/kritzel-stencil/src/interfaces/anchor.interface.d.ts +0 -137
  182. package/dist/types/kritzel-stencil/src/interfaces/arrow-head.interface.d.ts +0 -27
  183. package/dist/types/kritzel-stencil/src/interfaces/bounding-box.interface.d.ts +0 -8
  184. package/dist/types/kritzel-stencil/src/interfaces/clonable.interface.d.ts +0 -3
  185. package/dist/types/kritzel-stencil/src/interfaces/context-menu-item.interface.d.ts +0 -17
  186. package/dist/types/kritzel-stencil/src/interfaces/debug-info.interface.d.ts +0 -4
  187. package/dist/types/kritzel-stencil/src/interfaces/dialog.interface.d.ts +0 -4
  188. package/dist/types/kritzel-stencil/src/interfaces/displayable-shortcut.interface.d.ts +0 -5
  189. package/dist/types/kritzel-stencil/src/interfaces/engine-state.interface.d.ts +0 -73
  190. package/dist/types/kritzel-stencil/src/interfaces/line-options.interface.d.ts +0 -23
  191. package/dist/types/kritzel-stencil/src/interfaces/master-detail.interface.d.ts +0 -14
  192. package/dist/types/kritzel-stencil/src/interfaces/menu-item.interface.d.ts +0 -24
  193. package/dist/types/kritzel-stencil/src/interfaces/object.interface.d.ts +0 -53
  194. package/dist/types/kritzel-stencil/src/interfaces/path-options.interface.d.ts +0 -11
  195. package/dist/types/kritzel-stencil/src/interfaces/point.interface.d.ts +0 -4
  196. package/dist/types/kritzel-stencil/src/interfaces/polygon.interface.d.ts +0 -7
  197. package/dist/types/kritzel-stencil/src/interfaces/serializable.interface.d.ts +0 -5
  198. package/dist/types/kritzel-stencil/src/interfaces/settings.interface.d.ts +0 -11
  199. package/dist/types/kritzel-stencil/src/interfaces/shortcut.interface.d.ts +0 -10
  200. package/dist/types/kritzel-stencil/src/interfaces/sync-config.interface.d.ts +0 -22
  201. package/dist/types/kritzel-stencil/src/interfaces/sync-provider.interface.d.ts +0 -29
  202. package/dist/types/kritzel-stencil/src/interfaces/theme.interface.d.ts +0 -330
  203. package/dist/types/kritzel-stencil/src/interfaces/tool-config.interface.d.ts +0 -26
  204. package/dist/types/kritzel-stencil/src/interfaces/tool.interface.d.ts +0 -7
  205. package/dist/types/kritzel-stencil/src/interfaces/toolbar-control.interface.d.ts +0 -58
  206. package/dist/types/kritzel-stencil/src/interfaces/undo-state.interface.d.ts +0 -6
  207. package/dist/types/kritzel-stencil/src/themes/dark-theme.d.ts +0 -5
  208. package/dist/types/kritzel-stencil/src/themes/light-theme.d.ts +0 -5
  209. package/dist/types/kritzel-stencil/src/types/shortcut.type.d.ts +0 -1
  210. package/dist/types/kritzel-stencil/src/types/state.types.d.ts +0 -3
@@ -1,1343 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- import { Component, Host, Listen, Element, Prop, Method, State, Event, Watch } from '@stencil/core';
17
- import { KritzelViewport } from '../../../classes/core/viewport.class';
18
- import { KritzelSelectionTool } from '../../../classes/tools/selection-tool.class';
19
- import { KritzelSelectionBox } from '../../../classes/objects/selection-box.class';
20
- import { KritzelKeyHandler } from '../../../classes/handlers/key.handler';
21
- import { KritzelBaseTool } from '../../../classes/tools/base-tool.class';
22
- import { KritzelEraserTool } from '../../../classes/tools/eraser-tool.class';
23
- import { KritzelKeyboardHelper } from '../../../helpers/keyboard.helper';
24
- import { KritzelContextMenuHandler } from '../../../classes/handlers/context-menu.handler';
25
- import { KritzelToolRegistry } from '../../../classes/registries/tool.registry';
26
- import { KritzelEventHelper } from '../../../helpers/event.helper';
27
- import { KritzelClassHelper } from '../../../helpers/class.helper';
28
- import { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from '../../../constants/engine.constants';
29
- import { KritzelCore } from '../../../classes/core/core.class';
30
- import { KritzelDevicesHelper } from '../../../helpers/devices.helper';
31
- import { throttle } from 'lodash';
32
- import { KritzelColorHelper } from '../../../helpers/color.helper';
33
- import { toPng, toSvg } from 'html-to-image';
34
- import { KritzelThemeManager } from '../../../classes/managers/theme.manager';
35
- let KritzelEngine = class KritzelEngine {
36
- onWorkspaceChange(newWorkspace) {
37
- var _a;
38
- const currentWorkspaceId = (_a = this.core.store.state.activeWorkspace) === null || _a === void 0 ? void 0 : _a.id;
39
- const newWorkspaceId = newWorkspace === null || newWorkspace === void 0 ? void 0 : newWorkspace.id;
40
- if (currentWorkspaceId !== newWorkspaceId) {
41
- this.core.beforeWorkspaceChange();
42
- this.core.initializeWorkspace(newWorkspace);
43
- }
44
- }
45
- validateScaleMax(newValue) {
46
- if (newValue > ABSOLUTE_SCALE_MAX) {
47
- console.warn(`scaleMax cannot be greater than ${ABSOLUTE_SCALE_MAX}.`);
48
- this.scaleMax = ABSOLUTE_SCALE_MAX;
49
- this.core.store.state.scaleMax = this.scaleMax;
50
- }
51
- else {
52
- this.core.store.state.scaleMax = newValue;
53
- }
54
- }
55
- validateScaleMin(newValue) {
56
- if (newValue < ABSOLUTE_SCALE_MIN) {
57
- console.warn(`scaleMin cannot be less than ${ABSOLUTE_SCALE_MIN}.`);
58
- this.scaleMin = ABSOLUTE_SCALE_MIN;
59
- this.core.store.state.scaleMin = this.scaleMin;
60
- }
61
- else {
62
- this.core.store.state.scaleMin = newValue;
63
- }
64
- }
65
- onCursorTargetChange(newValue) {
66
- this.core.cursorManager.setTargetElement(newValue || document.body);
67
- }
68
- onLockDrawingScaleChange(newValue) {
69
- this.core.store.state.lockDrawingScale = newValue;
70
- }
71
- onThemeChange(newValue) {
72
- this.core.themeManager.setTheme(newValue);
73
- }
74
- triggerSelectionChange() {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- this.objectsSelectionChange.emit();
77
- });
78
- }
79
- handleWheel(ev) {
80
- var _a, _b;
81
- if (this.core.store.isDisabled) {
82
- return;
83
- }
84
- if (this.core.store.state.isContextMenuVisible) {
85
- this.hideContextMenu();
86
- }
87
- this.viewport.handleWheel(ev);
88
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handleWheel(ev);
89
- }
90
- handlePointerDown(ev) {
91
- var _a, _b;
92
- if (this.core.store.isDisabled) {
93
- return;
94
- }
95
- if (KritzelDevicesHelper.isTouchDevice()) {
96
- KritzelEventHelper.onLongPress(ev, (event) => this.longpress.emit(event));
97
- }
98
- this.host.setPointerCapture(ev.pointerId);
99
- this.core.store.state.pointers.set(ev.pointerId, ev);
100
- this.viewport.handlePointerDown(ev);
101
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handlePointerDown(ev);
102
- }
103
- handlePointerMove(ev) {
104
- var _a, _b;
105
- if (this.core.store.isDisabled) {
106
- return;
107
- }
108
- if (this.core.store.state.pointers.has(ev.pointerId)) {
109
- this.core.store.state.pointers.set(ev.pointerId, ev);
110
- }
111
- if (this.core.store.state.pointers.size > 1) {
112
- this.throttledPointerMoveMulti(ev);
113
- }
114
- // Update cursor for handle hover states using elementsFromPoint
115
- this.core.cursorManager.updateHoverState(ev);
116
- this.viewport.handlePointerMove(ev);
117
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handlePointerMove(ev);
118
- }
119
- handlePointerUp(ev) {
120
- var _a, _b;
121
- if (this.core.store.isDisabled) {
122
- return;
123
- }
124
- this.core.store.state.pointers.delete(ev.pointerId);
125
- if (this.host.hasPointerCapture(ev.pointerId)) {
126
- this.host.releasePointerCapture(ev.pointerId);
127
- }
128
- // Reset cursor to default when all pointers are released
129
- if (this.core.store.state.pointers.size === 0) {
130
- this.core.cursorManager.resetToDefault();
131
- }
132
- this.viewport.handlePointerUp(ev);
133
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handlePointerUp(ev);
134
- }
135
- handlePointerCancel(ev) {
136
- var _a, _b;
137
- if (this.core.store.isDisabled) {
138
- return;
139
- }
140
- if (this.host.hasPointerCapture(ev.pointerId)) {
141
- this.host.releasePointerCapture(ev.pointerId);
142
- }
143
- this.core.store.state.pointers.delete(ev.pointerId);
144
- // Reset cursor to default when all pointers are released
145
- if (this.core.store.state.pointers.size === 0) {
146
- this.core.cursorManager.resetToDefault();
147
- }
148
- this.viewport.handlePointerUp(ev);
149
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handlePointerUp(ev);
150
- }
151
- handleLongPress(ev) {
152
- this.contextMenuHandler.handleContextMenu(ev.detail);
153
- }
154
- handleContextMenu(ev) {
155
- ev.preventDefault();
156
- if (this.core.store.isDisabled) {
157
- return;
158
- }
159
- if (ev.pointerType === 'touch' || ev.pointerType === 'pen') {
160
- return;
161
- }
162
- this.contextMenuHandler.handleContextMenu(ev);
163
- }
164
- handleResize() {
165
- this.viewport.handleResize();
166
- }
167
- handleKeyDown(ev) {
168
- if (this.core.store.isDisabled) {
169
- return;
170
- }
171
- this.keyHandler.handleKeyDown(ev);
172
- }
173
- handleKeyUp(ev) {
174
- if (this.core.store.isDisabled) {
175
- return;
176
- }
177
- this.keyHandler.handleKeyUp(ev);
178
- }
179
- preventDoubleTapZoomOnTouchDevices(ev) {
180
- ev.preventDefault();
181
- }
182
- registerTool(toolName, toolClass, toolConfig) {
183
- return __awaiter(this, void 0, void 0, function* () {
184
- if (typeof toolClass !== 'function' || !(toolClass.prototype instanceof KritzelBaseTool)) {
185
- console.error(`Failed to register tool "${toolName}": Tool class must be a constructor function`);
186
- return null;
187
- }
188
- const registeredTool = KritzelToolRegistry.registerTool(toolName, toolClass, this.core);
189
- if (toolConfig) {
190
- Object.entries(toolConfig).forEach(([key, value]) => {
191
- registeredTool[key] = value;
192
- });
193
- }
194
- return Promise.resolve(registeredTool);
195
- });
196
- }
197
- changeActiveTool(tool) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- var _a;
200
- if (this.core.store.state.activeTool === tool) {
201
- return;
202
- }
203
- (_a = this.core.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
204
- this.core.store.setState('activeTool', tool);
205
- this.core.deselectAllObjects();
206
- tool === null || tool === void 0 ? void 0 : tool.onActivate();
207
- });
208
- }
209
- disable() {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- this.core.store.state.isEnabled = false;
212
- this.core.rerender();
213
- });
214
- }
215
- enable() {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- this.core.store.state.isEnabled = true;
218
- this.core.rerender();
219
- });
220
- }
221
- delete() {
222
- return __awaiter(this, void 0, void 0, function* () {
223
- this.core.delete();
224
- });
225
- }
226
- copy() {
227
- return __awaiter(this, void 0, void 0, function* () {
228
- this.core.copy();
229
- });
230
- }
231
- paste(x, y) {
232
- return __awaiter(this, void 0, void 0, function* () {
233
- this.core.paste(x, y);
234
- });
235
- }
236
- bringForward(object) {
237
- return __awaiter(this, void 0, void 0, function* () {
238
- this.core.bringForward(object);
239
- });
240
- }
241
- sendBackward(object) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- this.core.sendBackward(object);
244
- });
245
- }
246
- bringToFront(object) {
247
- return __awaiter(this, void 0, void 0, function* () {
248
- this.core.bringToFront(object);
249
- });
250
- }
251
- sendToBack(object) {
252
- return __awaiter(this, void 0, void 0, function* () {
253
- this.core.sendToBack(object);
254
- });
255
- }
256
- group() {
257
- return __awaiter(this, void 0, void 0, function* () {
258
- this.core.group();
259
- });
260
- }
261
- ungroup() {
262
- return __awaiter(this, void 0, void 0, function* () {
263
- this.core.ungroup();
264
- });
265
- }
266
- undo() {
267
- return __awaiter(this, void 0, void 0, function* () {
268
- this.core.undo();
269
- });
270
- }
271
- redo() {
272
- return __awaiter(this, void 0, void 0, function* () {
273
- this.core.redo();
274
- });
275
- }
276
- hideContextMenu() {
277
- return __awaiter(this, void 0, void 0, function* () {
278
- this.core.store.state.pointers.clear();
279
- this.core.store.state.isContextMenuVisible = false;
280
- this.core.store.state.objects.remove(o => o instanceof KritzelSelectionBox);
281
- this.core.store.setSelectionBox(null);
282
- this.core.store.state.isSelecting = false;
283
- this.core.store.state.isEnabled = true;
284
- this.core.rerender();
285
- });
286
- }
287
- getObjectById(id) {
288
- return __awaiter(this, void 0, void 0, function* () {
289
- const object = this.core.store.allObjects.find(obj => obj.id === id);
290
- return object || null;
291
- });
292
- }
293
- addObject(object) {
294
- return __awaiter(this, void 0, void 0, function* () {
295
- this.core.deselectAllObjects();
296
- object.id = object.generateId();
297
- object._core = this.core;
298
- object.scale = object.scale ? object.scale : this.core.store.state.scale;
299
- object.zIndex = this.core.store.currentZIndex;
300
- this.core.addObject(object);
301
- this.core.rerender();
302
- return object;
303
- });
304
- }
305
- updateObject(object, updatedProperties) {
306
- return __awaiter(this, void 0, void 0, function* () {
307
- this.core.deselectAllObjects();
308
- this.core.updateObject(object, updatedProperties);
309
- this.core.rerender();
310
- return object;
311
- });
312
- }
313
- removeObject(object) {
314
- return __awaiter(this, void 0, void 0, function* () {
315
- this.core.deselectAllObjects();
316
- this.core.store.state.objects.remove(o => o.id === object.id);
317
- this.core.rerender();
318
- return object;
319
- });
320
- }
321
- getSelectedObjects() {
322
- return __awaiter(this, void 0, void 0, function* () {
323
- const selectionGroup = this.core.store.selectionGroup;
324
- return selectionGroup ? selectionGroup.objects : [];
325
- });
326
- }
327
- getDisplayableShortcuts() {
328
- return __awaiter(this, void 0, void 0, function* () {
329
- return this.keyHandler.getDisplayableShortcuts();
330
- });
331
- }
332
- selectObjects(objects) {
333
- return __awaiter(this, void 0, void 0, function* () {
334
- var _a;
335
- (_a = this.core.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
336
- this.core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
337
- this.core.deselectAllObjects();
338
- this.core.selectObjects(objects);
339
- });
340
- }
341
- selectAllObjectsInViewport() {
342
- return __awaiter(this, void 0, void 0, function* () {
343
- var _a;
344
- (_a = this.core.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
345
- this.core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
346
- this.core.deselectAllObjects();
347
- this.core.selectAllObjectsInViewport();
348
- });
349
- }
350
- clearSelection() {
351
- return __awaiter(this, void 0, void 0, function* () {
352
- this.core.clearSelection();
353
- });
354
- }
355
- centerObjectInViewport(object) {
356
- return __awaiter(this, void 0, void 0, function* () {
357
- object.centerInViewport();
358
- this.core.updateObject(object, object);
359
- this.core.rerender();
360
- return object;
361
- });
362
- }
363
- backToContent() {
364
- return __awaiter(this, void 0, void 0, function* () {
365
- return this.viewport.centerFitNearestContent(20);
366
- });
367
- }
368
- getCopiedObjects() {
369
- return __awaiter(this, void 0, void 0, function* () {
370
- return this.core.store.state.copiedObjects || [];
371
- });
372
- }
373
- getScreenshot() {
374
- return __awaiter(this, arguments, void 0, function* (format = 'png') {
375
- if (!this.host)
376
- return null;
377
- // Save critical state before screenshot to restore after
378
- const savedState = {
379
- objects: this.core.store.state.objects,
380
- activeWorkspace: this.core.store.state.activeWorkspace,
381
- workspaces: this.core.store.state.workspaces,
382
- activeTool: this.core.store.state.activeTool,
383
- isReady: this.core.store.state.isReady,
384
- translateX: this.core.store.state.translateX,
385
- translateY: this.core.store.state.translateY,
386
- scale: this.core.store.state.scale,
387
- };
388
- const options = {
389
- filter: (node) => {
390
- // Exclude the context menu and debug panel from the screenshot
391
- if (node.tagName === 'KRITZEL-CONTEXT-MENU') {
392
- return false;
393
- }
394
- if (node.classList && node.classList.contains('debug-panel')) {
395
- return false;
396
- }
397
- return true;
398
- },
399
- };
400
- let result;
401
- try {
402
- if (format === 'svg') {
403
- result = yield toSvg(this.host, options);
404
- }
405
- else {
406
- result = yield toPng(this.host, options);
407
- }
408
- }
409
- finally {
410
- // Restore state after screenshot in case cloning caused any side effects
411
- this.core.store.state.objects = savedState.objects;
412
- this.core.store.state.activeWorkspace = savedState.activeWorkspace;
413
- this.core.store.state.workspaces = savedState.workspaces;
414
- this.core.store.state.activeTool = savedState.activeTool;
415
- this.core.store.state.isReady = savedState.isReady;
416
- this.core.store.state.translateX = savedState.translateX;
417
- this.core.store.state.translateY = savedState.translateY;
418
- this.core.store.state.scale = savedState.scale;
419
- this.core.rerender();
420
- }
421
- return result;
422
- });
423
- }
424
- exportViewportAsPng() {
425
- return __awaiter(this, void 0, void 0, function* () {
426
- var _a, _b;
427
- try {
428
- const activeWorkspaceName = ((_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeWorkspace) === null || _b === void 0 ? void 0 : _b.name) || 'workspace';
429
- // timestamp format: YYYY-MM-DDTHH-mm-ss-sssZ, clearing colons/dots for safe filename
430
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
431
- const filename = `${activeWorkspaceName}-${timestamp}.png`;
432
- const dataUrl = yield this.getScreenshot('png');
433
- const link = document.createElement('a');
434
- link.download = filename;
435
- link.href = dataUrl;
436
- link.click();
437
- }
438
- catch (error) {
439
- console.error('Failed to export viewport as PNG:', error);
440
- }
441
- });
442
- }
443
- exportViewportAsSvg() {
444
- return __awaiter(this, void 0, void 0, function* () {
445
- var _a, _b;
446
- try {
447
- const activeWorkspaceName = ((_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeWorkspace) === null || _b === void 0 ? void 0 : _b.name) || 'workspace';
448
- // timestamp format: YYYY-MM-DDTHH-mm-ss-sssZ, clearing colons/dots for safe filename
449
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
450
- const filename = `${activeWorkspaceName}-${timestamp}.svg`;
451
- const dataUrl = yield this.getScreenshot('svg');
452
- const link = document.createElement('a');
453
- link.download = filename;
454
- link.href = dataUrl;
455
- link.click();
456
- }
457
- catch (error) {
458
- console.error('Failed to export viewport as SVG:', error);
459
- }
460
- });
461
- }
462
- createWorkspace(workspace) {
463
- return __awaiter(this, void 0, void 0, function* () {
464
- yield this.core.createWorkspace(workspace);
465
- this.workspacesChange.emit(this.core.store.state.workspaces);
466
- return workspace;
467
- });
468
- }
469
- updateWorkspace(workspace) {
470
- return __awaiter(this, void 0, void 0, function* () {
471
- yield this.core.updateWorkspace(workspace);
472
- this.workspacesChange.emit(this.core.store.state.workspaces);
473
- });
474
- }
475
- deleteWorkspace(workspace) {
476
- return __awaiter(this, void 0, void 0, function* () {
477
- yield this.core.deleteWorkspace(workspace);
478
- this.workspacesChange.emit(this.core.store.state.workspaces);
479
- });
480
- }
481
- getWorkspaces() {
482
- return __awaiter(this, void 0, void 0, function* () {
483
- return yield this.core.getWorkspaces();
484
- });
485
- }
486
- getActiveWorkspace() {
487
- return __awaiter(this, void 0, void 0, function* () {
488
- return this.core.store.state.activeWorkspace;
489
- });
490
- }
491
- get isSelecting() {
492
- return this.core.store.state.activeTool instanceof KritzelSelectionTool && this.core.store.state.isSelecting;
493
- }
494
- get isSelectionActive() {
495
- return this.core.store.state.activeTool instanceof KritzelSelectionTool && this.core.store.selectionGroup !== null;
496
- }
497
- constructor() {
498
- this.scaleMax = ABSOLUTE_SCALE_MAX;
499
- this.scaleMin = ABSOLUTE_SCALE_MIN;
500
- /** When true, objects are drawn at a fixed visual size regardless of zoom level */
501
- this.lockDrawingScale = true;
502
- /** The current theme to apply to the editor */
503
- this.theme = 'light';
504
- this.forceUpdate = 0;
505
- this.throttledPointerMoveMulti = throttle((ev) => {
506
- var _a, _b;
507
- this.viewport.handlePointerMove(ev);
508
- (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeTool) === null || _b === void 0 ? void 0 : _b.handlePointerMove(ev);
509
- }, 16);
510
- this.contextMenuElement = null;
511
- this._lastHadSelectionGroup = false;
512
- this.core = new KritzelCore(this);
513
- }
514
- disconnectedCallback() {
515
- this.throttledPointerMoveMulti.cancel();
516
- // Clean up current workspace's ObjectMap
517
- if (this.core.store.state.objects) {
518
- this.core.store.state.objects.destroy();
519
- }
520
- // Clean up AppStateMap (workspaces Y.Doc)
521
- this.core.appStateMap.destroy();
522
- // Clean up managers
523
- this.core.cursorManager.cleanup();
524
- this.core.themeManager.cleanup();
525
- }
526
- componentWillLoad() {
527
- this.validateScaleMax(this.scaleMax);
528
- this.validateScaleMin(this.scaleMin);
529
- this.core.store.state.lockDrawingScale = this.lockDrawingScale;
530
- }
531
- componentDidLoad() {
532
- return __awaiter(this, void 0, void 0, function* () {
533
- this.contextMenuHandler = new KritzelContextMenuHandler(this.core, this.globalContextMenuItems, this.objectContextMenuItems);
534
- this.keyHandler = new KritzelKeyHandler(this.core);
535
- this.viewport = new KritzelViewport(this.core, this.host);
536
- // Initialize cursor manager with target element and shadow root
537
- this.core.cursorManager.setTargetElement(this.cursorTarget || document.body);
538
- this.core.cursorManager.setShadowRoot(this.host.shadowRoot);
539
- // Initialize theme manager with kritzel-editor as target element
540
- const editorElement = this.host.closest('kritzel-editor');
541
- this.core.themeManager.setTargetElement(editorElement || this.host);
542
- // Set sync configuration if provided
543
- if (this.syncConfig) {
544
- this.core.setSyncConfig(this.syncConfig);
545
- }
546
- // Initialize Yjs document and persistence layer
547
- yield this.core.initializeYjs();
548
- // Initialize workspace (will load from Yjs if available)
549
- yield this.core.initializeWorkspace(this.workspace);
550
- // Register callback for remote workspace changes
551
- this.core.appStateMap.onRemoteChange(() => {
552
- this.workspacesChange.emit(this.core.store.state.workspaces);
553
- });
554
- this._registerStateChangeListeners();
555
- if (this.core.store.state.isReady === false) {
556
- this.core.store.state.isReady = true;
557
- this.isEngineReady.emit(this.core.store.state);
558
- }
559
- });
560
- }
561
- emitObjectsChange() {
562
- const objects = this.core.store.allObjects;
563
- const undoState = this.core.store.state.objects.undoState;
564
- const hasSelectionGroup = this.core.store.selectionGroup !== null;
565
- this.objectsChange.emit(objects);
566
- this.undoStateChange.emit(undoState);
567
- if (this._lastHadSelectionGroup !== hasSelectionGroup) {
568
- this._lastHadSelectionGroup = hasSelectionGroup;
569
- this.objectsSelectionChange.emit();
570
- }
571
- }
572
- _registerStateChangeListeners() {
573
- this.core.store.onStateChange('activeTool', this._handleActiveToolChange.bind(this));
574
- }
575
- _handleActiveToolChange(activeTool) {
576
- if (!(activeTool instanceof KritzelSelectionTool)) {
577
- this.core.clearSelection();
578
- this.core.store.state.objects.remove(o => o instanceof KritzelSelectionBox);
579
- this.core.store.setSelectionBox(null);
580
- this.core.store.state.isSelecting = false;
581
- this.core.store.state.isResizeHandleSelected = false;
582
- this.core.store.state.isRotationHandleSelected = false;
583
- }
584
- this.core.store.state.skipContextMenu = false;
585
- this.core.store.state.copiedObjects = null;
586
- this.activeToolChange.emit(activeTool);
587
- KritzelKeyboardHelper.forceHideKeyboard();
588
- this.core.rerender();
589
- }
590
- render() {
591
- 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;
592
- const currentTheme = KritzelThemeManager.getStoredTheme();
593
- const computedStyle = window.getComputedStyle(this.host);
594
- const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
595
- const baseHandleSize = parseFloat(baseHandleSizePx);
596
- const baseHandleTouchSize = baseHandleSize * 2 < 14 ? 14 : baseHandleSize;
597
- const viewportCenterX = this.core.store.state.viewportWidth / 2 + this.core.store.state.translateX;
598
- const viewportCenterY = this.core.store.state.viewportHeight / 2 + this.core.store.state.translateY;
599
- const visibleObjects = this.core.store.objectsToRender;
600
- this.core.cursorManager.applyCursor();
601
- if (this.core.store.totalObjectCount > 0 && this.core.store.state.hasViewportChanged) {
602
- this.objectsInViewportChange.emit(visibleObjects);
603
- this.core.store.state.hasViewportChanged = false;
604
- }
605
- return (React.createElement(Host, null,
606
- this.core.store.state.debugInfo.showViewportInfo && (React.createElement("div", { class: "debug-panel" },
607
- React.createElement("div", null,
608
- "ActiveWorkspaceId: ", (_b = (_a = this.core.store.state) === null || _a === void 0 ? void 0 : _a.activeWorkspace) === null || _b === void 0 ? void 0 :
609
- _b.id),
610
- React.createElement("div", null,
611
- "ActiveWorkspaceName: ", (_d = (_c = this.core.store.state) === null || _c === void 0 ? void 0 : _c.activeWorkspace) === null || _d === void 0 ? void 0 :
612
- _d.name),
613
- React.createElement("div", null,
614
- "TranslateX: ", (_e = this.core.store.state) === null || _e === void 0 ? void 0 :
615
- _e.translateX),
616
- React.createElement("div", null,
617
- "TranslateY: ", (_f = this.core.store.state) === null || _f === void 0 ? void 0 :
618
- _f.translateY),
619
- React.createElement("div", null,
620
- "ViewportWidth: ", (_g = this.core.store.state) === null || _g === void 0 ? void 0 :
621
- _g.viewportWidth),
622
- React.createElement("div", null,
623
- "ViewportHeight: ", (_h = this.core.store.state) === null || _h === void 0 ? void 0 :
624
- _h.viewportHeight),
625
- React.createElement("div", null,
626
- "PointerCount: ",
627
- this.core.store.state.pointers.size),
628
- React.createElement("div", null,
629
- "Scale: ", (_j = this.core.store.state) === null || _j === void 0 ? void 0 :
630
- _j.scale),
631
- React.createElement("div", null,
632
- "ActiveTool: ", (_l = (_k = this.core.store.state) === null || _k === void 0 ? void 0 : _k.activeTool) === null || _l === void 0 ? void 0 :
633
- _l.name),
634
- React.createElement("div", null,
635
- "HasViewportChanged: ",
636
- ((_m = this.core.store.state) === null || _m === void 0 ? void 0 : _m.hasViewportChanged) ? 'true' : 'false'),
637
- React.createElement("div", null,
638
- "IsEnabled: ",
639
- ((_o = this.core.store.state) === null || _o === void 0 ? void 0 : _o.isEnabled) ? 'true' : 'false'),
640
- React.createElement("div", null,
641
- "IsScaling: ",
642
- ((_p = this.core.store.state) === null || _p === void 0 ? void 0 : _p.isScaling) ? 'true' : 'false'),
643
- React.createElement("div", null,
644
- "IsPanning: ",
645
- ((_q = this.core.store.state) === null || _q === void 0 ? void 0 : _q.isPanning) ? 'true' : 'false'),
646
- React.createElement("div", null,
647
- "IsSelecting: ",
648
- this.isSelecting ? 'true' : 'false'),
649
- React.createElement("div", null,
650
- "IsSelectionActive: ",
651
- this.isSelectionActive ? 'true' : 'false'),
652
- React.createElement("div", null,
653
- "IsResizeHandleSelected: ",
654
- this.core.store.state.isResizeHandleSelected ? 'true' : 'false'),
655
- React.createElement("div", null,
656
- "IsRotationHandleSelected: ",
657
- this.core.store.state.isRotationHandleSelected ? 'true' : 'false'),
658
- React.createElement("div", null,
659
- "IsRotationHandleHovered: ",
660
- this.core.store.state.isRotationHandleHovered ? 'true' : 'false'),
661
- React.createElement("div", null,
662
- "IsDrawing: ",
663
- this.core.store.state.isDrawing ? 'true' : 'false'),
664
- React.createElement("div", null,
665
- "IsWriting: ",
666
- this.core.store.state.isWriting ? 'true' : 'false'),
667
- React.createElement("div", null,
668
- "IsPointerDown: ",
669
- this.core.store.isPointerDown ? 'true' : 'false'),
670
- React.createElement("div", null,
671
- "PointerX: ", (_r = this.core.store.state) === null || _r === void 0 ? void 0 :
672
- _r.pointerX),
673
- React.createElement("div", null,
674
- "PointerY: ", (_s = this.core.store.state) === null || _s === void 0 ? void 0 :
675
- _s.pointerY),
676
- React.createElement("div", null,
677
- "SelectedObjects: ",
678
- ((_t = this.core.store.selectionGroup) === null || _t === void 0 ? void 0 : _t.objects.length) || 0),
679
- React.createElement("div", null,
680
- "ViewportCenter: (",
681
- viewportCenterX.toFixed(2),
682
- ", ",
683
- viewportCenterY.toFixed(2),
684
- ")"))),
685
- React.createElement("div", { id: "origin", class: "origin", style: {
686
- transform: `matrix(${(_u = this.core.store.state) === null || _u === void 0 ? void 0 : _u.scale}, 0, 0, ${(_v = this.core.store.state) === null || _v === void 0 ? void 0 : _v.scale}, ${(_w = this.core.store.state) === null || _w === void 0 ? void 0 : _w.translateX}, ${(_x = this.core.store.state) === null || _x === void 0 ? void 0 : _x.translateY})`,
687
- } }, visibleObjects === null || visibleObjects === void 0 ? void 0 :
688
- visibleObjects.map(object => {
689
- 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, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36;
690
- return (React.createElement("div", { key: object.id, id: object.id, class: "object", style: {
691
- transform: object === null || object === void 0 ? void 0 : object.transformationMatrix,
692
- transformOrigin: 'top left',
693
- position: 'absolute',
694
- zIndex: object.zIndex.toString(),
695
- pointerEvents: this.core.store.state.isScaling ? 'none' : 'auto',
696
- } },
697
- KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (React.createElement("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
698
- height: (object === null || object === void 0 ? void 0 : object.totalHeight) + 'px',
699
- width: (object === null || object === void 0 ? void 0 : object.totalWidth) + 'px',
700
- left: '0',
701
- top: '0',
702
- position: 'absolute',
703
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
704
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
705
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
706
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
707
- overflow: 'visible',
708
- }, viewBox: object === null || object === void 0 ? void 0 : object.viewBox },
709
- React.createElement("path", { d: object === null || object === void 0 ? void 0 : object.d, fill: KritzelColorHelper.resolveThemeColor(object.fill, currentTheme), stroke: KritzelColorHelper.resolveThemeColor(object === null || object === void 0 ? void 0 : object.stroke, currentTheme), "shape-rendering": object.isLowRes() ? 'optimizeSpeed' : 'auto' }))),
710
- KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (React.createElement("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
711
- height: (object === null || object === void 0 ? void 0 : object.totalHeight) + 'px',
712
- width: (object === null || object === void 0 ? void 0 : object.totalWidth) + 'px',
713
- left: '0',
714
- top: '0',
715
- position: 'absolute',
716
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
717
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
718
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
719
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
720
- overflow: 'visible',
721
- }, viewBox: object === null || object === void 0 ? void 0 : object.viewBox },
722
- (object.hasStartArrow || object.hasEndArrow) && (React.createElement("defs", null,
723
- object.hasStartArrow && (React.createElement("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" },
724
- React.createElement("path", { d: object.getArrowPath((_b = (_a = object.arrows) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))),
725
- object.hasEndArrow && (React.createElement("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" },
726
- React.createElement("path", { d: object.getArrowPath((_d = (_c = object.arrows) === null || _c === void 0 ? void 0 : _c.end) === null || _d === void 0 ? void 0 : _d.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))),
727
- React.createElement("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max((object === null || object === void 0 ? void 0 : object.strokeWidth) || 0, 10), "stroke-linecap": "round" }),
728
- React.createElement("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: KritzelColorHelper.resolveThemeColor(object === null || object === void 0 ? void 0 : object.stroke, currentTheme), "stroke-width": object === null || object === void 0 ? void 0 : object.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))),
729
- KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (React.createElement("img", { ref: el => object.mount(el), src: object.src, style: {
730
- position: 'absolute',
731
- left: '0',
732
- top: '0',
733
- width: object.totalWidth + 'px',
734
- height: object.totalHeight + 'px',
735
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
736
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
737
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
738
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
739
- backgroundColor: KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
740
- borderColor: KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
741
- borderWidth: object.borderWidth + 'px',
742
- borderStyle: 'solid',
743
- padding: object.padding + 'px',
744
- overflow: 'visible',
745
- userSelect: 'none',
746
- imageRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'pixelated' : 'auto',
747
- }, draggable: false, onDragStart: e => e.preventDefault() })),
748
- KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (React.createElement("div", { ref: el => object.mount(el), style: {
749
- position: 'absolute',
750
- left: '0',
751
- top: '0',
752
- width: object.totalWidth + 'px',
753
- height: object.totalHeight + 'px',
754
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
755
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
756
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
757
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
758
- backgroundColor: KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
759
- borderColor: KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
760
- borderWidth: object.borderWidth + 'px',
761
- borderStyle: 'solid',
762
- padding: object.padding + 'px',
763
- overflow: 'hidden',
764
- display: 'block',
765
- } })),
766
- KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (React.createElement("div", { ref: el => object.mount(el), style: {
767
- position: 'absolute',
768
- left: '0',
769
- top: '0',
770
- width: object.totalWidth + 'px',
771
- height: object.totalHeight + 'px',
772
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
773
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
774
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
775
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
776
- } })),
777
- KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (React.createElement("div", { ref: el => object.mount(el), style: {
778
- position: 'absolute',
779
- left: '0',
780
- top: '0',
781
- width: object.totalWidth + 'px',
782
- height: object.totalHeight + 'px',
783
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
784
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
785
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
786
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
787
- backgroundColor: KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
788
- borderColor: KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
789
- borderWidth: object.borderWidth + 'px',
790
- borderStyle: 'solid',
791
- } })),
792
- KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (React.createElement("div", { style: {
793
- position: 'absolute',
794
- left: '0',
795
- top: '0',
796
- width: object.totalWidth + 'px',
797
- height: object.totalHeight + 'px',
798
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
799
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
800
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
801
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
802
- } },
803
- React.createElement("div", { id: "text-object", ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
804
- minWidth: object.initialWidth + 'px',
805
- minHeight: object.initialHeight + 'px',
806
- maxWidth: '500px',
807
- height: 'auto',
808
- width: 'max-content',
809
- transformOrigin: 'top left',
810
- transform: `scale(${object.scaleFactor})`,
811
- backgroundColor: KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
812
- overflow: 'visible',
813
- } }))),
814
- KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (React.createElement("div", { ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
815
- position: 'absolute',
816
- left: '0',
817
- top: '0',
818
- width: object.totalWidth + 'px',
819
- height: object.totalHeight + 'px',
820
- transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
821
- transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
822
- opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
823
- pointerEvents: object.markedForRemoval ? 'none' : 'auto',
824
- overflow: 'visible',
825
- } },
826
- React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
827
- position: 'absolute',
828
- top: '0',
829
- left: '0',
830
- width: '100%',
831
- height: '100%',
832
- overflow: 'visible',
833
- pointerEvents: 'none',
834
- }, viewBox: object.viewBox, preserveAspectRatio: "none" },
835
- React.createElement("path", { d: object.getSvgPath(), fill: KritzelColorHelper.resolveThemeColor(object.fillColor, currentTheme), stroke: KritzelColorHelper.resolveThemeColor(object.strokeColor, currentTheme), "stroke-width": object.strokeWidth })),
836
- React.createElement("div", { ref: el => object.mountTextEditor(el), style: {
837
- position: 'absolute',
838
- top: '0',
839
- left: '0',
840
- width: '100%',
841
- height: '100%',
842
- display: 'flex',
843
- alignItems: 'center',
844
- justifyContent: 'center',
845
- textAlign: 'center',
846
- overflow: 'hidden',
847
- pointerEvents: object.isEditing ? 'auto' : 'none',
848
- } }))),
849
- this.core.store.state.debugInfo.showObjectInfo && object.isDebugInfoVisible && (React.createElement("div", { style: {
850
- pointerEvents: 'none',
851
- position: 'absolute',
852
- left: `${object.totalWidth}px`,
853
- top: '0',
854
- zIndex: (object.zIndex + 2).toString(),
855
- } },
856
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
857
- "Id: ",
858
- object.id),
859
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
860
- "width: ",
861
- object.width),
862
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
863
- "height: ",
864
- object.height),
865
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
866
- "translateX: ",
867
- object.translateX),
868
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
869
- "translateY: ",
870
- object.translateY),
871
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
872
- "rotationDegrees: ",
873
- object.rotationDegrees),
874
- React.createElement("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } },
875
- "zIndex: ",
876
- object.zIndex))),
877
- (this.core.displaySelectionGroupUI(object) || this.core.displaySelectionLineUI(object)) && (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
878
- zIndex: (object.zIndex + 1).toString(),
879
- height: object === null || object === void 0 ? void 0 : object.totalHeight.toString(),
880
- width: object === null || object === void 0 ? void 0 : object.totalWidth.toString(),
881
- left: '0',
882
- top: '0',
883
- position: 'absolute',
884
- transform: `rotate(${object.rotationDegrees}deg)`,
885
- transformOrigin: `${object.totalWidth / 2}px ${object.totalHeight / 2}px`,
886
- overflow: 'visible',
887
- pointerEvents: 'none',
888
- } },
889
- this.core.displaySelectionGroupUI(object) && (React.createElement("g", { class: "selection-group-ui", style: { pointerEvents: 'none' } },
890
- React.createElement("g", { class: "selection-group-borders" },
891
- React.createElement("line", { x1: "0", y1: "0", x2: object.totalWidth, y2: "0", style: {
892
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
893
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_e = this.core.store.state) === null || _e === void 0 ? void 0 : _e.scale})`,
894
- strokeLinecap: 'square',
895
- } }),
896
- React.createElement("line", { x1: "0", y1: "0", x2: "0", y2: object.totalHeight, style: {
897
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
898
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_f = this.core.store.state) === null || _f === void 0 ? void 0 : _f.scale})`,
899
- strokeLinecap: 'square',
900
- } }),
901
- React.createElement("line", { x1: "0", y1: object.totalHeight, x2: object.totalWidth, y2: object.totalHeight, style: {
902
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
903
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_g = this.core.store.state) === null || _g === void 0 ? void 0 : _g.scale})`,
904
- strokeLinecap: 'square',
905
- } }),
906
- React.createElement("line", { x1: object.totalWidth, y1: "0", x2: object.totalWidth, y2: object.totalHeight, style: {
907
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
908
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_h = this.core.store.state) === null || _h === void 0 ? void 0 : _h.scale})`,
909
- strokeLinecap: 'square',
910
- } })),
911
- !this.isSelecting && (React.createElement("g", { class: "selection-group-handles", style: { pointerEvents: 'auto' } },
912
- React.createElement("rect", { class: "resize-handle top-left", x: `${(-(baseHandleSize - 1) * object.scale) / ((_j = this.core.store.state) === null || _j === void 0 ? void 0 : _j.scale)}`, y: `${(-(baseHandleSize - 1) * object.scale) / ((_k = this.core.store.state) === null || _k === void 0 ? void 0 : _k.scale)}`, width: `${((baseHandleSize - 1) * 2 * object.scale) / ((_l = this.core.store.state) === null || _l === void 0 ? void 0 : _l.scale)}`, height: `${((baseHandleSize - 1) * 2 * object.scale) / ((_m = this.core.store.state) === null || _m === void 0 ? void 0 : _m.scale)}`, style: {
913
- fill: 'var(--kritzel-selection-handle-color, #ffffff)',
914
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
915
- strokeWidth: `calc(2px * ${object.scale} / ${(_o = this.core.store.state) === null || _o === void 0 ? void 0 : _o.scale})`,
916
- paintOrder: 'fill',
917
- } }),
918
- React.createElement("rect", { class: "resize-handle-overlay top-left", x: `${(-baseHandleTouchSize * object.scale) / ((_p = this.core.store.state) === null || _p === void 0 ? void 0 : _p.scale)}`, y: `${(-baseHandleTouchSize * object.scale) / ((_q = this.core.store.state) === null || _q === void 0 ? void 0 : _q.scale)}`, width: `${(baseHandleTouchSize * 2 * object.scale) / ((_r = this.core.store.state) === null || _r === void 0 ? void 0 : _r.scale)}`, height: `${(baseHandleTouchSize * 2 * object.scale) / ((_s = this.core.store.state) === null || _s === void 0 ? void 0 : _s.scale)}`, style: {
919
- fill: 'transparent',
920
- paintOrder: 'fill',
921
- } }),
922
- React.createElement("rect", { class: "resize-handle top-right", x: `${object.totalWidth - ((baseHandleSize - 1) * object.scale) / ((_t = this.core.store.state) === null || _t === void 0 ? void 0 : _t.scale)}`, y: `${(-(baseHandleSize - 1) * object.scale) / ((_u = this.core.store.state) === null || _u === void 0 ? void 0 : _u.scale)}`, width: `${((baseHandleSize - 1) * 2 * object.scale) / ((_v = this.core.store.state) === null || _v === void 0 ? void 0 : _v.scale)}`, height: `${((baseHandleSize - 1) * 2 * object.scale) / ((_w = this.core.store.state) === null || _w === void 0 ? void 0 : _w.scale)}`, style: {
923
- fill: 'var(--kritzel-selection-handle-color, #ffffff)',
924
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
925
- strokeWidth: `calc(2px * ${object.scale} / ${(_x = this.core.store.state) === null || _x === void 0 ? void 0 : _x.scale})`,
926
- paintOrder: 'fill',
927
- } }),
928
- React.createElement("rect", { class: "resize-handle-overlay top-right", x: `${object.totalWidth - (baseHandleTouchSize * object.scale) / ((_y = this.core.store.state) === null || _y === void 0 ? void 0 : _y.scale)}`, y: `${(-baseHandleTouchSize * object.scale) / ((_z = this.core.store.state) === null || _z === void 0 ? void 0 : _z.scale)}`, width: `${(baseHandleTouchSize * 2 * object.scale) / ((_0 = this.core.store.state) === null || _0 === void 0 ? void 0 : _0.scale)}`, height: `${(baseHandleTouchSize * 2 * object.scale) / ((_1 = this.core.store.state) === null || _1 === void 0 ? void 0 : _1.scale)}`, style: {
929
- fill: 'transparent',
930
- paintOrder: 'fill',
931
- } }),
932
- React.createElement("rect", { class: "resize-handle bottom-left", x: `${(-(baseHandleSize - 1) * object.scale) / ((_2 = this.core.store.state) === null || _2 === void 0 ? void 0 : _2.scale)}`, y: `${object.totalHeight - ((baseHandleSize - 1) * object.scale) / ((_3 = this.core.store.state) === null || _3 === void 0 ? void 0 : _3.scale)}`, width: `${((baseHandleSize - 1) * 2 * object.scale) / ((_4 = this.core.store.state) === null || _4 === void 0 ? void 0 : _4.scale)}`, height: `${((baseHandleSize - 1) * 2 * object.scale) / ((_5 = this.core.store.state) === null || _5 === void 0 ? void 0 : _5.scale)}`, style: {
933
- fill: 'var(--kritzel-selection-handle-color, #ffffff)',
934
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
935
- strokeWidth: `calc(2px * ${object.scale} / ${(_6 = this.core.store.state) === null || _6 === void 0 ? void 0 : _6.scale})`,
936
- paintOrder: 'fill',
937
- } }),
938
- React.createElement("rect", { class: "resize-handle-overlay bottom-left", x: `${(-baseHandleTouchSize * object.scale) / ((_7 = this.core.store.state) === null || _7 === void 0 ? void 0 : _7.scale)}`, y: `${object.totalHeight - (baseHandleTouchSize * object.scale) / ((_8 = this.core.store.state) === null || _8 === void 0 ? void 0 : _8.scale)}`, width: `${(baseHandleTouchSize * 2 * object.scale) / ((_9 = this.core.store.state) === null || _9 === void 0 ? void 0 : _9.scale)}`, height: `${(baseHandleTouchSize * 2 * object.scale) / ((_10 = this.core.store.state) === null || _10 === void 0 ? void 0 : _10.scale)}`, style: {
939
- fill: 'transparent',
940
- paintOrder: 'fill',
941
- } }),
942
- React.createElement("rect", { class: "resize-handle bottom-right", x: `${object.totalWidth - ((baseHandleSize - 1) * object.scale) / ((_11 = this.core.store.state) === null || _11 === void 0 ? void 0 : _11.scale)}`, y: `${object.totalHeight - ((baseHandleSize - 1) * object.scale) / ((_12 = this.core.store.state) === null || _12 === void 0 ? void 0 : _12.scale)}`, width: `${((baseHandleSize - 1) * 2 * object.scale) / ((_13 = this.core.store.state) === null || _13 === void 0 ? void 0 : _13.scale)}`, height: `${((baseHandleSize - 1) * 2 * object.scale) / ((_14 = this.core.store.state) === null || _14 === void 0 ? void 0 : _14.scale)}`, style: {
943
- fill: 'var(--kritzel-selection-handle-color, #ffffff)',
944
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
945
- strokeWidth: `calc(2px * ${object.scale} / ${(_15 = this.core.store.state) === null || _15 === void 0 ? void 0 : _15.scale})`,
946
- paintOrder: 'fill',
947
- } }),
948
- React.createElement("rect", { class: "resize-handle-overlay bottom-right", x: `${object.totalWidth - (baseHandleTouchSize * object.scale) / ((_16 = this.core.store.state) === null || _16 === void 0 ? void 0 : _16.scale)}`, y: `${object.totalHeight - (baseHandleTouchSize * object.scale) / ((_17 = this.core.store.state) === null || _17 === void 0 ? void 0 : _17.scale)}`, width: `${(baseHandleTouchSize * 2 * object.scale) / ((_18 = this.core.store.state) === null || _18 === void 0 ? void 0 : _18.scale)}`, height: `${(baseHandleTouchSize * 2 * object.scale) / ((_19 = this.core.store.state) === null || _19 === void 0 ? void 0 : _19.scale)}`, style: {
949
- fill: 'transparent',
950
- paintOrder: 'fill',
951
- } }),
952
- React.createElement("line", { x1: object.totalWidth / 2, y1: "0", x2: object.totalWidth / 2, y2: -((15 * object.scale) / ((_20 = this.core.store.state) === null || _20 === void 0 ? void 0 : _20.scale)), style: {
953
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
954
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_21 = this.core.store.state) === null || _21 === void 0 ? void 0 : _21.scale})`,
955
- } }),
956
- React.createElement("circle", { class: "rotation-handle", cx: object.totalWidth / 2, cy: -((15 * object.scale) / ((_22 = this.core.store.state) === null || _22 === void 0 ? void 0 : _22.scale)), r: `${((baseHandleSize - 1) * object.scale) / ((_23 = this.core.store.state) === null || _23 === void 0 ? void 0 : _23.scale)}`, style: {
957
- fill: 'var(--kritzel-selection-handle-color, #ffffff)',
958
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
959
- strokeWidth: `calc(2px * ${object.scale} / ${(_24 = this.core.store.state) === null || _24 === void 0 ? void 0 : _24.scale})`,
960
- paintOrder: 'fill',
961
- } }),
962
- React.createElement("circle", { class: "rotation-handle-overlay", cx: object.totalWidth / 2, cy: -((15 * object.scale) / ((_25 = this.core.store.state) === null || _25 === void 0 ? void 0 : _25.scale)), r: `${(baseHandleTouchSize * object.scale) / ((_26 = this.core.store.state) === null || _26 === void 0 ? void 0 : _26.scale)}`, style: {
963
- fill: 'transparent',
964
- paintOrder: 'fill',
965
- } }))))),
966
- this.core.displaySelectionLineUI(object) && KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (React.createElement("g", { class: "selection-line-ui", style: { pointerEvents: 'none' } },
967
- React.createElement("g", { class: "selection-line-borders" },
968
- React.createElement("path", { class: "selection-line-border", d: this.core.anchorManager.computeClippedLinePath(object, true), style: {
969
- stroke: 'var(--kritzel-selection-border-color, #007AFF)',
970
- strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_27 = this.core.store.state) === null || _27 === void 0 ? void 0 : _27.scale})`,
971
- strokeLinecap: 'round',
972
- fill: 'none',
973
- } })),
974
- !this.isSelecting && (React.createElement("g", { class: "selection-line-handles", style: { pointerEvents: 'auto' } },
975
- React.createElement("circle", { class: "selection-line-handle start", cx: object.startX - object.x, cy: object.startY - object.y, r: `${((baseHandleSize - 1) * object.scale) / ((_28 = this.core.store.state) === null || _28 === void 0 ? void 0 : _28.scale)}`, style: {
976
- fill: 'var(--kritzel-selection-handle-color, #000000)',
977
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
978
- strokeWidth: `calc(2px * ${object.scale} / ${(_29 = this.core.store.state) === null || _29 === void 0 ? void 0 : _29.scale})`,
979
- paintOrder: 'fill',
980
- } }),
981
- React.createElement("circle", { class: "selection-line-handle-overlay start", cx: object.startX - object.x, cy: object.startY - object.y, r: `${(baseHandleTouchSize * object.scale) / ((_30 = this.core.store.state) === null || _30 === void 0 ? void 0 : _30.scale)}`, style: {
982
- fill: 'transparent',
983
- paintOrder: 'fill',
984
- } }),
985
- React.createElement("circle", { class: "selection-line-handle center", cx: object.controlX !== undefined
986
- ? (object.startX + 2 * object.controlX + object.endX) / 4 - object.x
987
- : (object.startX - object.x + object.endX - object.x) / 2, cy: object.controlY !== undefined
988
- ? (object.startY + 2 * object.controlY + object.endY) / 4 - object.y
989
- : (object.startY - object.y + object.endY - object.y) / 2, r: `${((baseHandleSize - 1) * object.scale) / ((_31 = this.core.store.state) === null || _31 === void 0 ? void 0 : _31.scale)}`, style: {
990
- fill: 'var(--kritzel-selection-handle-color, #000000)',
991
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
992
- strokeWidth: `calc(2px * ${object.scale} / ${(_32 = this.core.store.state) === null || _32 === void 0 ? void 0 : _32.scale})`,
993
- paintOrder: 'fill',
994
- } }),
995
- React.createElement("circle", { class: "selection-line-handle-overlay center", cx: object.controlX !== undefined
996
- ? (object.startX + 2 * object.controlX + object.endX) / 4 - object.x
997
- : (object.startX - object.x + object.endX - object.x) / 2, cy: object.controlY !== undefined
998
- ? (object.startY + 2 * object.controlY + object.endY) / 4 - object.y
999
- : (object.startY - object.y + object.endY - object.y) / 2, r: `${(baseHandleTouchSize * object.scale) / ((_33 = this.core.store.state) === null || _33 === void 0 ? void 0 : _33.scale)}`, style: {
1000
- fill: 'transparent',
1001
- paintOrder: 'fill',
1002
- } }),
1003
- React.createElement("circle", { class: "selection-line-handle end", cx: object.endX - object.x, cy: object.endY - object.y, r: `${((baseHandleSize - 1) * object.scale) / ((_34 = this.core.store.state) === null || _34 === void 0 ? void 0 : _34.scale)}`, style: {
1004
- fill: 'var(--kritzel-selection-handle-color, #000000)',
1005
- stroke: 'var(--kritzel-selection-handle-stroke-color, #007AFF)',
1006
- strokeWidth: `calc(2px * ${object.scale} / ${(_35 = this.core.store.state) === null || _35 === void 0 ? void 0 : _35.scale})`,
1007
- paintOrder: 'fill',
1008
- } }),
1009
- React.createElement("circle", { class: "selection-line-handle-overlay end", cx: object.endX - object.x, cy: object.endY - object.y, r: `${(baseHandleTouchSize * object.scale) / ((_36 = this.core.store.state) === null || _36 === void 0 ? void 0 : _36.scale)}`, style: {
1010
- fill: 'transparent',
1011
- paintOrder: 'fill',
1012
- } })))))))));
1013
- }),
1014
- (() => {
1015
- const data = this.core.anchorManager.getAnchorLinesRenderData();
1016
- if (!data)
1017
- return null;
1018
- return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", class: "anchor-lines", style: {
1019
- position: 'absolute',
1020
- left: '0',
1021
- top: '0',
1022
- width: '1px',
1023
- height: '1px',
1024
- pointerEvents: 'none',
1025
- zIndex: '9998',
1026
- overflow: 'visible',
1027
- } },
1028
- data.startAnchorViz && (React.createElement("g", { class: "anchor-line-start" },
1029
- data.startAnchorViz.pathD ? (React.createElement("path", { d: data.startAnchorViz.pathD, style: {
1030
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.3))',
1031
- strokeWidth: `${data.lineStrokeWidth}`,
1032
- strokeDasharray: data.dashArray,
1033
- strokeLinecap: 'round',
1034
- fill: 'none',
1035
- } })) : (React.createElement("line", { x1: data.startAnchorViz.edgeX, y1: data.startAnchorViz.edgeY, x2: data.startAnchorViz.centerX, y2: data.startAnchorViz.centerY, style: {
1036
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.3))',
1037
- strokeWidth: `${data.lineStrokeWidth}`,
1038
- strokeDasharray: data.dashArray,
1039
- strokeLinecap: 'round',
1040
- } })),
1041
- React.createElement("circle", { cx: data.startAnchorViz.centerX, cy: data.startAnchorViz.centerY, r: data.indicatorRadius, style: {
1042
- fill: 'var(--kritzel-snap-indicator-fill, rgba(0, 0, 0))',
1043
- stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
1044
- strokeWidth: data.indicatorStrokeWidth,
1045
- } }))),
1046
- data.endAnchorViz && (React.createElement("g", { class: "anchor-line-end" },
1047
- data.endAnchorViz.pathD ? (React.createElement("path", { d: data.endAnchorViz.pathD, style: {
1048
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.2))',
1049
- strokeWidth: `${data.lineStrokeWidth}`,
1050
- strokeDasharray: data.dashArray,
1051
- strokeLinecap: 'round',
1052
- fill: 'none',
1053
- } })) : (React.createElement("line", { x1: data.endAnchorViz.edgeX, y1: data.endAnchorViz.edgeY, x2: data.endAnchorViz.centerX, y2: data.endAnchorViz.centerY, style: {
1054
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.2))',
1055
- strokeWidth: `${data.lineStrokeWidth}`,
1056
- strokeDasharray: data.dashArray,
1057
- strokeLinecap: 'round',
1058
- } })),
1059
- React.createElement("circle", { cx: data.endAnchorViz.centerX, cy: data.endAnchorViz.centerY, r: data.indicatorRadius, style: {
1060
- fill: 'var(--kritzel-snap-indicator-fill, rgba(59, 130, 246, 0.3))',
1061
- stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
1062
- strokeWidth: data.indicatorStrokeWidth,
1063
- } })))));
1064
- })(),
1065
- (() => {
1066
- const data = this.core.anchorManager.getSnapIndicatorRenderData();
1067
- if (!data)
1068
- return null;
1069
- return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", class: "snap-indicator", style: {
1070
- position: 'absolute',
1071
- left: '0',
1072
- top: '0',
1073
- width: '1px',
1074
- height: '1px',
1075
- pointerEvents: 'none',
1076
- zIndex: '9999',
1077
- overflow: 'visible',
1078
- } },
1079
- React.createElement("g", null,
1080
- data.snapLinePath ? (React.createElement("path", { d: data.snapLinePath, fill: "none", style: {
1081
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.2))',
1082
- strokeWidth: data.lineStrokeWidth,
1083
- strokeDasharray: data.dashArray,
1084
- strokeLinecap: 'round',
1085
- } })) : (data.edgeX !== undefined &&
1086
- data.edgeY !== undefined && (React.createElement("line", { x1: data.edgeX, y1: data.edgeY, x2: data.centerX, y2: data.centerY, style: {
1087
- stroke: 'var(--kritzel-snap-line-stroke, rgba(0, 0, 0, 0.2))',
1088
- strokeWidth: data.lineStrokeWidth,
1089
- strokeDasharray: data.dashArray,
1090
- strokeLinecap: 'round',
1091
- } }))),
1092
- React.createElement("circle", { cx: data.centerX, cy: data.centerY, r: data.indicatorRadius, style: {
1093
- fill: 'var(--kritzel-snap-indicator-fill, rgba(59, 130, 246, 0.3))',
1094
- stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
1095
- strokeWidth: data.indicatorStrokeWidth,
1096
- } }))));
1097
- })()),
1098
- this.core.store.state.isContextMenuVisible && (React.createElement("kritzel-context-menu", { class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: ((_y = this.core.store.selectionGroup) === null || _y === void 0 ? void 0 : _y.objects) || [], style: {
1099
- position: 'fixed',
1100
- left: `${this.core.store.state.contextMenuX}px`,
1101
- top: `${this.core.store.state.contextMenuY}px`,
1102
- zIndex: '10002',
1103
- }, onActionSelected: event => {
1104
- var _a;
1105
- event.detail.action({
1106
- x: (-this.core.store.state.translateX + this.core.store.state.contextMenuX) / this.core.store.state.scale,
1107
- y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
1108
- }, (_a = this.core.store.selectionGroup) === null || _a === void 0 ? void 0 : _a.objects);
1109
- this.hideContextMenu();
1110
- }, onClose: () => this.hideContextMenu() })),
1111
- ((_z = this.core.store.state) === null || _z === void 0 ? void 0 : _z.activeTool) instanceof KritzelEraserTool && !this.core.store.state.isScaling && React.createElement("kritzel-cursor-trail", { core: this.core })));
1112
- }
1113
- };
1114
- __decorate([
1115
- Element()
1116
- ], KritzelEngine.prototype, "host", void 0);
1117
- __decorate([
1118
- Prop()
1119
- ], KritzelEngine.prototype, "workspace", void 0);
1120
- __decorate([
1121
- Prop()
1122
- ], KritzelEngine.prototype, "syncConfig", void 0);
1123
- __decorate([
1124
- Watch('workspace')
1125
- ], KritzelEngine.prototype, "onWorkspaceChange", null);
1126
- __decorate([
1127
- Prop()
1128
- ], KritzelEngine.prototype, "activeTool", void 0);
1129
- __decorate([
1130
- Prop()
1131
- ], KritzelEngine.prototype, "globalContextMenuItems", void 0);
1132
- __decorate([
1133
- Prop()
1134
- ], KritzelEngine.prototype, "objectContextMenuItems", void 0);
1135
- __decorate([
1136
- Prop({ mutable: true })
1137
- ], KritzelEngine.prototype, "scaleMax", void 0);
1138
- __decorate([
1139
- Watch('scaleMax')
1140
- ], KritzelEngine.prototype, "validateScaleMax", null);
1141
- __decorate([
1142
- Prop({ mutable: true })
1143
- ], KritzelEngine.prototype, "scaleMin", void 0);
1144
- __decorate([
1145
- Watch('scaleMin')
1146
- ], KritzelEngine.prototype, "validateScaleMin", null);
1147
- __decorate([
1148
- Prop()
1149
- ], KritzelEngine.prototype, "cursorTarget", void 0);
1150
- __decorate([
1151
- Watch('cursorTarget')
1152
- ], KritzelEngine.prototype, "onCursorTargetChange", null);
1153
- __decorate([
1154
- Prop()
1155
- ], KritzelEngine.prototype, "lockDrawingScale", void 0);
1156
- __decorate([
1157
- Watch('lockDrawingScale')
1158
- ], KritzelEngine.prototype, "onLockDrawingScaleChange", null);
1159
- __decorate([
1160
- Prop()
1161
- ], KritzelEngine.prototype, "theme", void 0);
1162
- __decorate([
1163
- Watch('theme')
1164
- ], KritzelEngine.prototype, "onThemeChange", null);
1165
- __decorate([
1166
- Event()
1167
- ], KritzelEngine.prototype, "isEngineReady", void 0);
1168
- __decorate([
1169
- Event()
1170
- ], KritzelEngine.prototype, "activeToolChange", void 0);
1171
- __decorate([
1172
- Event()
1173
- ], KritzelEngine.prototype, "objectsSelectionChange", void 0);
1174
- __decorate([
1175
- Event()
1176
- ], KritzelEngine.prototype, "workspacesChange", void 0);
1177
- __decorate([
1178
- Event()
1179
- ], KritzelEngine.prototype, "longpress", void 0);
1180
- __decorate([
1181
- Event()
1182
- ], KritzelEngine.prototype, "objectsChange", void 0);
1183
- __decorate([
1184
- Event()
1185
- ], KritzelEngine.prototype, "undoStateChange", void 0);
1186
- __decorate([
1187
- Event()
1188
- ], KritzelEngine.prototype, "objectsInViewportChange", void 0);
1189
- __decorate([
1190
- State()
1191
- ], KritzelEngine.prototype, "forceUpdate", void 0);
1192
- __decorate([
1193
- Method()
1194
- ], KritzelEngine.prototype, "triggerSelectionChange", null);
1195
- __decorate([
1196
- Listen('wheel', { passive: true })
1197
- ], KritzelEngine.prototype, "handleWheel", null);
1198
- __decorate([
1199
- Listen('pointerdown', { passive: false })
1200
- ], KritzelEngine.prototype, "handlePointerDown", null);
1201
- __decorate([
1202
- Listen('pointermove', { passive: false })
1203
- ], KritzelEngine.prototype, "handlePointerMove", null);
1204
- __decorate([
1205
- Listen('pointerup', { passive: false })
1206
- ], KritzelEngine.prototype, "handlePointerUp", null);
1207
- __decorate([
1208
- Listen('pointercancel', { passive: false })
1209
- ], KritzelEngine.prototype, "handlePointerCancel", null);
1210
- __decorate([
1211
- Listen('longpress', { passive: true })
1212
- ], KritzelEngine.prototype, "handleLongPress", null);
1213
- __decorate([
1214
- Listen('contextmenu', { capture: false })
1215
- ], KritzelEngine.prototype, "handleContextMenu", null);
1216
- __decorate([
1217
- Listen('resize', { target: 'window' })
1218
- ], KritzelEngine.prototype, "handleResize", null);
1219
- __decorate([
1220
- Listen('keydown', { target: 'window' })
1221
- ], KritzelEngine.prototype, "handleKeyDown", null);
1222
- __decorate([
1223
- Listen('keyup', { target: 'window' })
1224
- ], KritzelEngine.prototype, "handleKeyUp", null);
1225
- __decorate([
1226
- Listen('dblclick', { target: 'document' })
1227
- ], KritzelEngine.prototype, "preventDoubleTapZoomOnTouchDevices", null);
1228
- __decorate([
1229
- Method()
1230
- ], KritzelEngine.prototype, "registerTool", null);
1231
- __decorate([
1232
- Method()
1233
- ], KritzelEngine.prototype, "changeActiveTool", null);
1234
- __decorate([
1235
- Method()
1236
- ], KritzelEngine.prototype, "disable", null);
1237
- __decorate([
1238
- Method()
1239
- ], KritzelEngine.prototype, "enable", null);
1240
- __decorate([
1241
- Method()
1242
- ], KritzelEngine.prototype, "delete", null);
1243
- __decorate([
1244
- Method()
1245
- ], KritzelEngine.prototype, "copy", null);
1246
- __decorate([
1247
- Method()
1248
- ], KritzelEngine.prototype, "paste", null);
1249
- __decorate([
1250
- Method()
1251
- ], KritzelEngine.prototype, "bringForward", null);
1252
- __decorate([
1253
- Method()
1254
- ], KritzelEngine.prototype, "sendBackward", null);
1255
- __decorate([
1256
- Method()
1257
- ], KritzelEngine.prototype, "bringToFront", null);
1258
- __decorate([
1259
- Method()
1260
- ], KritzelEngine.prototype, "sendToBack", null);
1261
- __decorate([
1262
- Method()
1263
- ], KritzelEngine.prototype, "group", null);
1264
- __decorate([
1265
- Method()
1266
- ], KritzelEngine.prototype, "ungroup", null);
1267
- __decorate([
1268
- Method()
1269
- ], KritzelEngine.prototype, "undo", null);
1270
- __decorate([
1271
- Method()
1272
- ], KritzelEngine.prototype, "redo", null);
1273
- __decorate([
1274
- Method()
1275
- ], KritzelEngine.prototype, "hideContextMenu", null);
1276
- __decorate([
1277
- Method()
1278
- ], KritzelEngine.prototype, "getObjectById", null);
1279
- __decorate([
1280
- Method()
1281
- ], KritzelEngine.prototype, "addObject", null);
1282
- __decorate([
1283
- Method()
1284
- ], KritzelEngine.prototype, "updateObject", null);
1285
- __decorate([
1286
- Method()
1287
- ], KritzelEngine.prototype, "removeObject", null);
1288
- __decorate([
1289
- Method()
1290
- ], KritzelEngine.prototype, "getSelectedObjects", null);
1291
- __decorate([
1292
- Method()
1293
- ], KritzelEngine.prototype, "getDisplayableShortcuts", null);
1294
- __decorate([
1295
- Method()
1296
- ], KritzelEngine.prototype, "selectObjects", null);
1297
- __decorate([
1298
- Method()
1299
- ], KritzelEngine.prototype, "selectAllObjectsInViewport", null);
1300
- __decorate([
1301
- Method()
1302
- ], KritzelEngine.prototype, "clearSelection", null);
1303
- __decorate([
1304
- Method()
1305
- ], KritzelEngine.prototype, "centerObjectInViewport", null);
1306
- __decorate([
1307
- Method()
1308
- ], KritzelEngine.prototype, "backToContent", null);
1309
- __decorate([
1310
- Method()
1311
- ], KritzelEngine.prototype, "getCopiedObjects", null);
1312
- __decorate([
1313
- Method()
1314
- ], KritzelEngine.prototype, "getScreenshot", null);
1315
- __decorate([
1316
- Method()
1317
- ], KritzelEngine.prototype, "exportViewportAsPng", null);
1318
- __decorate([
1319
- Method()
1320
- ], KritzelEngine.prototype, "exportViewportAsSvg", null);
1321
- __decorate([
1322
- Method()
1323
- ], KritzelEngine.prototype, "createWorkspace", null);
1324
- __decorate([
1325
- Method()
1326
- ], KritzelEngine.prototype, "updateWorkspace", null);
1327
- __decorate([
1328
- Method()
1329
- ], KritzelEngine.prototype, "deleteWorkspace", null);
1330
- __decorate([
1331
- Method()
1332
- ], KritzelEngine.prototype, "getWorkspaces", null);
1333
- __decorate([
1334
- Method()
1335
- ], KritzelEngine.prototype, "getActiveWorkspace", null);
1336
- KritzelEngine = __decorate([
1337
- Component({
1338
- tag: 'kritzel-engine',
1339
- styleUrl: 'kritzel-engine.css',
1340
- shadow: true,
1341
- })
1342
- ], KritzelEngine);
1343
- export { KritzelEngine };