@geekybones/canvas-kit 1.0.0 → 1.0.1

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 (313) hide show
  1. package/dist/__tests__/CanvasKit.test.d.ts +2 -0
  2. package/dist/__tests__/CanvasKit.test.d.ts.map +1 -0
  3. package/dist/__tests__/ResizeStrategy.test.d.ts +2 -0
  4. package/dist/__tests__/ResizeStrategy.test.d.ts.map +1 -0
  5. package/dist/__tests__/alignment.test.d.ts +2 -0
  6. package/dist/__tests__/alignment.test.d.ts.map +1 -0
  7. package/dist/__tests__/camera.test.d.ts +2 -0
  8. package/dist/__tests__/camera.test.d.ts.map +1 -0
  9. package/dist/__tests__/contextMenu.test.d.ts +2 -0
  10. package/dist/__tests__/contextMenu.test.d.ts.map +1 -0
  11. package/dist/__tests__/elements/image.test.d.ts +2 -0
  12. package/dist/__tests__/elements/image.test.d.ts.map +1 -0
  13. package/dist/__tests__/elements/shape.test.d.ts +2 -0
  14. package/dist/__tests__/elements/shape.test.d.ts.map +1 -0
  15. package/dist/__tests__/elements/text.test.d.ts +2 -0
  16. package/dist/__tests__/elements/text.test.d.ts.map +1 -0
  17. package/dist/__tests__/export.test.d.ts +2 -0
  18. package/dist/__tests__/export.test.d.ts.map +1 -0
  19. package/dist/__tests__/fonts.test.d.ts +2 -0
  20. package/dist/__tests__/fonts.test.d.ts.map +1 -0
  21. package/dist/__tests__/grid.test.d.ts +2 -0
  22. package/dist/__tests__/grid.test.d.ts.map +1 -0
  23. package/dist/__tests__/history.test.d.ts +2 -0
  24. package/dist/__tests__/history.test.d.ts.map +1 -0
  25. package/dist/__tests__/interaction.test.d.ts +2 -0
  26. package/dist/__tests__/interaction.test.d.ts.map +1 -0
  27. package/dist/__tests__/layering.test.d.ts +2 -0
  28. package/dist/__tests__/layering.test.d.ts.map +1 -0
  29. package/dist/__tests__/performance.test.d.ts +2 -0
  30. package/dist/__tests__/performance.test.d.ts.map +1 -0
  31. package/dist/__tests__/serialization.test.d.ts +2 -0
  32. package/dist/__tests__/serialization.test.d.ts.map +1 -0
  33. package/dist/__tests__/setup.d.ts +2 -0
  34. package/dist/__tests__/setup.d.ts.map +1 -0
  35. package/dist/__tests__/snap.test.d.ts +2 -0
  36. package/dist/__tests__/snap.test.d.ts.map +1 -0
  37. package/dist/canvas/Application.d.ts +20 -0
  38. package/dist/canvas/Application.d.ts.map +1 -0
  39. package/dist/canvas/CanvasKit.d.ts +60 -0
  40. package/dist/canvas/CanvasKit.d.ts.map +1 -0
  41. package/dist/canvas/CanvasKitActions.d.ts +25 -0
  42. package/dist/canvas/CanvasKitActions.d.ts.map +1 -0
  43. package/dist/canvas/CanvasKitOptions.d.ts +28 -0
  44. package/dist/canvas/CanvasKitOptions.d.ts.map +1 -0
  45. package/dist/canvas/ElementLoader.d.ts +3 -0
  46. package/dist/canvas/ElementLoader.d.ts.map +1 -0
  47. package/dist/canvas/ExtensionLoader.d.ts +9 -0
  48. package/dist/canvas/ExtensionLoader.d.ts.map +1 -0
  49. package/dist/canvas-kit.js +14633 -16554
  50. package/dist/canvas-kit.js.map +1 -1
  51. package/dist/core/BaseElement.d.ts +19 -0
  52. package/dist/core/BaseElement.d.ts.map +1 -0
  53. package/dist/core/BaseOptions.d.ts +15 -0
  54. package/dist/core/BaseOptions.d.ts.map +1 -0
  55. package/dist/core/CanvasContext.d.ts +22 -0
  56. package/dist/core/CanvasContext.d.ts.map +1 -0
  57. package/dist/core/ElementRegistry.d.ts +16 -0
  58. package/dist/core/ElementRegistry.d.ts.map +1 -0
  59. package/dist/core/Events.d.ts +21 -0
  60. package/dist/core/Events.d.ts.map +1 -0
  61. package/dist/core/KeyboardShortcuts.d.ts +13 -0
  62. package/dist/core/KeyboardShortcuts.d.ts.map +1 -0
  63. package/dist/core/Transform.d.ts +18 -0
  64. package/dist/core/Transform.d.ts.map +1 -0
  65. package/dist/core/canvasBounds.d.ts +16 -0
  66. package/dist/core/canvasBounds.d.ts.map +1 -0
  67. package/dist/core/duplicateOptions.d.ts +5 -0
  68. package/dist/core/duplicateOptions.d.ts.map +1 -0
  69. package/dist/elements/Image/ImageElement.d.ts +10 -0
  70. package/dist/elements/Image/ImageElement.d.ts.map +1 -0
  71. package/dist/elements/Image/ImageOptions.d.ts +9 -0
  72. package/dist/elements/Image/ImageOptions.d.ts.map +1 -0
  73. package/dist/elements/Image/index.d.ts +12 -0
  74. package/dist/elements/Image/index.d.ts.map +1 -0
  75. package/dist/elements/SVG/SVGElement.d.ts +13 -0
  76. package/dist/elements/SVG/SVGElement.d.ts.map +1 -0
  77. package/dist/elements/SVG/SVGOptions.d.ts +8 -0
  78. package/dist/elements/SVG/SVGOptions.d.ts.map +1 -0
  79. package/dist/elements/SVG/index.d.ts +7 -0
  80. package/dist/elements/SVG/index.d.ts.map +1 -0
  81. package/dist/elements/Shape/Circle/CircleOptions.d.ts +15 -0
  82. package/dist/elements/Shape/Circle/CircleOptions.d.ts.map +1 -0
  83. package/dist/elements/Shape/Circle/CircleShape.d.ts +10 -0
  84. package/dist/elements/Shape/Circle/CircleShape.d.ts.map +1 -0
  85. package/dist/elements/Shape/Line/LineOptions.d.ts +11 -0
  86. package/dist/elements/Shape/Line/LineOptions.d.ts.map +1 -0
  87. package/dist/elements/Shape/Line/LineShape.d.ts +10 -0
  88. package/dist/elements/Shape/Line/LineShape.d.ts.map +1 -0
  89. package/dist/elements/Shape/Rectangle/RectangleOptions.d.ts +15 -0
  90. package/dist/elements/Shape/Rectangle/RectangleOptions.d.ts.map +1 -0
  91. package/dist/elements/Shape/Rectangle/RectangleShape.d.ts +10 -0
  92. package/dist/elements/Shape/Rectangle/RectangleShape.d.ts.map +1 -0
  93. package/dist/elements/Shape/Star/StarOptions.d.ts +15 -0
  94. package/dist/elements/Shape/Star/StarOptions.d.ts.map +1 -0
  95. package/dist/elements/Shape/Star/StarShape.d.ts +10 -0
  96. package/dist/elements/Shape/Star/StarShape.d.ts.map +1 -0
  97. package/dist/elements/Shape/index.d.ts +27 -0
  98. package/dist/elements/Shape/index.d.ts.map +1 -0
  99. package/dist/elements/Shape/registry.d.ts +17 -0
  100. package/dist/elements/Shape/registry.d.ts.map +1 -0
  101. package/dist/elements/Shape/strokeAlign.d.ts +3 -0
  102. package/dist/elements/Shape/strokeAlign.d.ts.map +1 -0
  103. package/dist/elements/Text/BaseTextElement.d.ts +43 -0
  104. package/dist/elements/Text/BaseTextElement.d.ts.map +1 -0
  105. package/dist/elements/Text/TextElement.d.ts +17 -0
  106. package/dist/elements/Text/TextElement.d.ts.map +1 -0
  107. package/dist/elements/Text/Vector/builder.d.ts +4 -0
  108. package/dist/elements/Text/Vector/builder.d.ts.map +1 -0
  109. package/dist/elements/Text/Vector/deform.d.ts +3 -0
  110. package/dist/elements/Text/Vector/deform.d.ts.map +1 -0
  111. package/dist/elements/Text/Vector/effectBuilders.d.ts +10 -0
  112. package/dist/elements/Text/Vector/effectBuilders.d.ts.map +1 -0
  113. package/dist/elements/Text/Vector/effects/Arch.d.ts +2 -0
  114. package/dist/elements/Text/Vector/effects/Arch.d.ts.map +1 -0
  115. package/dist/elements/Text/Vector/effects/Bridge.d.ts +2 -0
  116. package/dist/elements/Text/Vector/effects/Bridge.d.ts.map +1 -0
  117. package/dist/elements/Text/Vector/effects/Bulge.d.ts +2 -0
  118. package/dist/elements/Text/Vector/effects/Bulge.d.ts.map +1 -0
  119. package/dist/elements/Text/Vector/effects/Cone.d.ts +2 -0
  120. package/dist/elements/Text/Vector/effects/Cone.d.ts.map +1 -0
  121. package/dist/elements/Text/Vector/effects/Curved.d.ts +2 -0
  122. package/dist/elements/Text/Vector/effects/Curved.d.ts.map +1 -0
  123. package/dist/elements/Text/Vector/effects/Downward.d.ts +2 -0
  124. package/dist/elements/Text/Vector/effects/Downward.d.ts.map +1 -0
  125. package/dist/elements/Text/Vector/effects/Normal.d.ts +2 -0
  126. package/dist/elements/Text/Vector/effects/Normal.d.ts.map +1 -0
  127. package/dist/elements/Text/Vector/effects/Perspective.d.ts +2 -0
  128. package/dist/elements/Text/Vector/effects/Perspective.d.ts.map +1 -0
  129. package/dist/elements/Text/Vector/effects/Pinch.d.ts +2 -0
  130. package/dist/elements/Text/Vector/effects/Pinch.d.ts.map +1 -0
  131. package/dist/elements/Text/Vector/effects/Pointed.d.ts +2 -0
  132. package/dist/elements/Text/Vector/effects/Pointed.d.ts.map +1 -0
  133. package/dist/elements/Text/Vector/effects/Upward.d.ts +2 -0
  134. package/dist/elements/Text/Vector/effects/Upward.d.ts.map +1 -0
  135. package/dist/elements/Text/Vector/effects/Valley.d.ts +2 -0
  136. package/dist/elements/Text/Vector/effects/Valley.d.ts.map +1 -0
  137. package/dist/elements/Text/Vector/effects/index.d.ts +1 -0
  138. package/dist/elements/Text/Vector/effects/index.d.ts.map +1 -0
  139. package/dist/elements/Text/Vector/fontAdapter.d.ts +28 -0
  140. package/dist/elements/Text/Vector/fontAdapter.d.ts.map +1 -0
  141. package/dist/elements/Text/Vector/glyphGeometry.d.ts +14 -0
  142. package/dist/elements/Text/Vector/glyphGeometry.d.ts.map +1 -0
  143. package/dist/elements/Text/Vector/index.d.ts +7 -0
  144. package/dist/elements/Text/Vector/index.d.ts.map +1 -0
  145. package/dist/elements/Text/Vector/registry.d.ts +5 -0
  146. package/dist/elements/Text/Vector/registry.d.ts.map +1 -0
  147. package/dist/elements/Text/Vector/render.d.ts +22 -0
  148. package/dist/elements/Text/Vector/render.d.ts.map +1 -0
  149. package/dist/elements/Text/Vector/shader.d.ts +3 -0
  150. package/dist/elements/Text/Vector/shader.d.ts.map +1 -0
  151. package/dist/elements/Text/Vector/vectorLayers.d.ts +13 -0
  152. package/dist/elements/Text/Vector/vectorLayers.d.ts.map +1 -0
  153. package/dist/elements/Text/Vector/vectorLayout.d.ts +23 -0
  154. package/dist/elements/Text/Vector/vectorLayout.d.ts.map +1 -0
  155. package/dist/elements/Text/Vector/vectorStyleTransforms.d.ts +12 -0
  156. package/dist/elements/Text/Vector/vectorStyleTransforms.d.ts.map +1 -0
  157. package/dist/elements/Text/index.d.ts +19 -0
  158. package/dist/elements/Text/index.d.ts.map +1 -0
  159. package/dist/elements/Text/registry.d.ts +7 -0
  160. package/dist/elements/Text/registry.d.ts.map +1 -0
  161. package/dist/elements/Text/textBackground.d.ts +9 -0
  162. package/dist/elements/Text/textBackground.d.ts.map +1 -0
  163. package/dist/elements/Text/textEffectMount.d.ts +18 -0
  164. package/dist/elements/Text/textEffectMount.d.ts.map +1 -0
  165. package/dist/elements/Text/textEffectUpdate.d.ts +17 -0
  166. package/dist/elements/Text/textEffectUpdate.d.ts.map +1 -0
  167. package/dist/elements/Text/textRaster.d.ts +8 -0
  168. package/dist/elements/Text/textRaster.d.ts.map +1 -0
  169. package/dist/elements/Text/types.d.ts +105 -0
  170. package/dist/elements/Text/types.d.ts.map +1 -0
  171. package/dist/elements/index.d.ts +5 -0
  172. package/dist/elements/index.d.ts.map +1 -0
  173. package/dist/extensions/Extension.d.ts +8 -0
  174. package/dist/extensions/Extension.d.ts.map +1 -0
  175. package/dist/extensions/alignment/AlignmentManager.d.ts +20 -0
  176. package/dist/extensions/alignment/AlignmentManager.d.ts.map +1 -0
  177. package/dist/extensions/alignment/accessor.d.ts +4 -0
  178. package/dist/extensions/alignment/accessor.d.ts.map +1 -0
  179. package/dist/extensions/alignment/types.d.ts +5 -0
  180. package/dist/extensions/alignment/types.d.ts.map +1 -0
  181. package/dist/extensions/camera/CameraControls.d.ts +25 -0
  182. package/dist/extensions/camera/CameraControls.d.ts.map +1 -0
  183. package/dist/extensions/camera/CameraManager.d.ts +46 -0
  184. package/dist/extensions/camera/CameraManager.d.ts.map +1 -0
  185. package/dist/extensions/camera/CameraTransforms.d.ts +5 -0
  186. package/dist/extensions/camera/CameraTransforms.d.ts.map +1 -0
  187. package/dist/extensions/camera/accessor.d.ts +4 -0
  188. package/dist/extensions/camera/accessor.d.ts.map +1 -0
  189. package/dist/extensions/camera/types.d.ts +20 -0
  190. package/dist/extensions/camera/types.d.ts.map +1 -0
  191. package/dist/extensions/contextMenu/ContextMenuManager.d.ts +26 -0
  192. package/dist/extensions/contextMenu/ContextMenuManager.d.ts.map +1 -0
  193. package/dist/extensions/contextMenu/MenuRenderer.d.ts +3 -0
  194. package/dist/extensions/contextMenu/MenuRenderer.d.ts.map +1 -0
  195. package/dist/extensions/contextMenu/accessor.d.ts +4 -0
  196. package/dist/extensions/contextMenu/accessor.d.ts.map +1 -0
  197. package/dist/extensions/contextMenu/types.d.ts +32 -0
  198. package/dist/extensions/contextMenu/types.d.ts.map +1 -0
  199. package/dist/extensions/export/ExportManager.d.ts +25 -0
  200. package/dist/extensions/export/ExportManager.d.ts.map +1 -0
  201. package/dist/extensions/export/accessor.d.ts +4 -0
  202. package/dist/extensions/export/accessor.d.ts.map +1 -0
  203. package/dist/extensions/export/types.d.ts +14 -0
  204. package/dist/extensions/export/types.d.ts.map +1 -0
  205. package/dist/extensions/fonts/FontManager.d.ts +17 -0
  206. package/dist/extensions/fonts/FontManager.d.ts.map +1 -0
  207. package/dist/extensions/fonts/accessor.d.ts +4 -0
  208. package/dist/extensions/fonts/accessor.d.ts.map +1 -0
  209. package/dist/extensions/fonts/types.d.ts +6 -0
  210. package/dist/extensions/fonts/types.d.ts.map +1 -0
  211. package/dist/extensions/grid/GridManager.d.ts +28 -0
  212. package/dist/extensions/grid/GridManager.d.ts.map +1 -0
  213. package/dist/extensions/grid/accessor.d.ts +4 -0
  214. package/dist/extensions/grid/accessor.d.ts.map +1 -0
  215. package/dist/extensions/grid/types.d.ts +22 -0
  216. package/dist/extensions/grid/types.d.ts.map +1 -0
  217. package/dist/extensions/history/HistoryManager.d.ts +38 -0
  218. package/dist/extensions/history/HistoryManager.d.ts.map +1 -0
  219. package/dist/extensions/history/accessor.d.ts +4 -0
  220. package/dist/extensions/history/accessor.d.ts.map +1 -0
  221. package/dist/extensions/history/commands/AddCommand.d.ts +13 -0
  222. package/dist/extensions/history/commands/AddCommand.d.ts.map +1 -0
  223. package/dist/extensions/history/commands/Command.d.ts +8 -0
  224. package/dist/extensions/history/commands/Command.d.ts.map +1 -0
  225. package/dist/extensions/history/commands/CompositeCommand.d.ts +11 -0
  226. package/dist/extensions/history/commands/CompositeCommand.d.ts.map +1 -0
  227. package/dist/extensions/history/commands/LayerCommand.d.ts +19 -0
  228. package/dist/extensions/history/commands/LayerCommand.d.ts.map +1 -0
  229. package/dist/extensions/history/commands/RemoveCommand.d.ts +13 -0
  230. package/dist/extensions/history/commands/RemoveCommand.d.ts.map +1 -0
  231. package/dist/extensions/history/commands/UpdateCommand.d.ts +20 -0
  232. package/dist/extensions/history/commands/UpdateCommand.d.ts.map +1 -0
  233. package/dist/extensions/history/types.d.ts +15 -0
  234. package/dist/extensions/history/types.d.ts.map +1 -0
  235. package/dist/extensions/index.d.ts +4 -0
  236. package/dist/extensions/index.d.ts.map +1 -0
  237. package/dist/extensions/interaction/BoundingBox.d.ts +24 -0
  238. package/dist/extensions/interaction/BoundingBox.d.ts.map +1 -0
  239. package/dist/extensions/interaction/InteractionActions.d.ts +9 -0
  240. package/dist/extensions/interaction/InteractionActions.d.ts.map +1 -0
  241. package/dist/extensions/interaction/InteractionClipboard.d.ts +4 -0
  242. package/dist/extensions/interaction/InteractionClipboard.d.ts.map +1 -0
  243. package/dist/extensions/interaction/InteractionGestures.d.ts +7 -0
  244. package/dist/extensions/interaction/InteractionGestures.d.ts.map +1 -0
  245. package/dist/extensions/interaction/InteractionManager.d.ts +40 -0
  246. package/dist/extensions/interaction/InteractionManager.d.ts.map +1 -0
  247. package/dist/extensions/interaction/InteractionSelectionBindings.d.ts +4 -0
  248. package/dist/extensions/interaction/InteractionSelectionBindings.d.ts.map +1 -0
  249. package/dist/extensions/interaction/InteractionSelectionState.d.ts +12 -0
  250. package/dist/extensions/interaction/InteractionSelectionState.d.ts.map +1 -0
  251. package/dist/extensions/interaction/ResizeSession.d.ts +38 -0
  252. package/dist/extensions/interaction/ResizeSession.d.ts.map +1 -0
  253. package/dist/extensions/interaction/ResizeStrategy.d.ts +8 -0
  254. package/dist/extensions/interaction/ResizeStrategy.d.ts.map +1 -0
  255. package/dist/extensions/interaction/accessor.d.ts +8 -0
  256. package/dist/extensions/interaction/accessor.d.ts.map +1 -0
  257. package/dist/extensions/interaction/controls/ControlHandle.d.ts +14 -0
  258. package/dist/extensions/interaction/controls/ControlHandle.d.ts.map +1 -0
  259. package/dist/extensions/interaction/icons/arrowBothSides.d.ts +2 -0
  260. package/dist/extensions/interaction/icons/arrowBothSides.d.ts.map +1 -0
  261. package/dist/extensions/interaction/icons/copy.d.ts +2 -0
  262. package/dist/extensions/interaction/icons/copy.d.ts.map +1 -0
  263. package/dist/extensions/interaction/icons/index.d.ts +5 -0
  264. package/dist/extensions/interaction/icons/index.d.ts.map +1 -0
  265. package/dist/extensions/interaction/icons/move.d.ts +2 -0
  266. package/dist/extensions/interaction/icons/move.d.ts.map +1 -0
  267. package/dist/extensions/interaction/icons/rotate.d.ts +2 -0
  268. package/dist/extensions/interaction/icons/rotate.d.ts.map +1 -0
  269. package/dist/extensions/interaction/icons/trash.d.ts +2 -0
  270. package/dist/extensions/interaction/icons/trash.d.ts.map +1 -0
  271. package/dist/extensions/interaction/types.d.ts +110 -0
  272. package/dist/extensions/interaction/types.d.ts.map +1 -0
  273. package/dist/extensions/layering/LayerManager.d.ts +30 -0
  274. package/dist/extensions/layering/LayerManager.d.ts.map +1 -0
  275. package/dist/extensions/layering/accessor.d.ts +4 -0
  276. package/dist/extensions/layering/accessor.d.ts.map +1 -0
  277. package/dist/extensions/layering/types.d.ts +8 -0
  278. package/dist/extensions/layering/types.d.ts.map +1 -0
  279. package/dist/extensions/performance/CacheManager.d.ts +7 -0
  280. package/dist/extensions/performance/CacheManager.d.ts.map +1 -0
  281. package/dist/extensions/performance/DirtyTracker.d.ts +8 -0
  282. package/dist/extensions/performance/DirtyTracker.d.ts.map +1 -0
  283. package/dist/extensions/performance/PerformanceManager.d.ts +17 -0
  284. package/dist/extensions/performance/PerformanceManager.d.ts.map +1 -0
  285. package/dist/extensions/performance/accessor.d.ts +4 -0
  286. package/dist/extensions/performance/accessor.d.ts.map +1 -0
  287. package/dist/extensions/performance/types.d.ts +10 -0
  288. package/dist/extensions/performance/types.d.ts.map +1 -0
  289. package/dist/extensions/serialization/SerializationManager.d.ts +23 -0
  290. package/dist/extensions/serialization/SerializationManager.d.ts.map +1 -0
  291. package/dist/extensions/serialization/accessor.d.ts +4 -0
  292. package/dist/extensions/serialization/accessor.d.ts.map +1 -0
  293. package/dist/extensions/serialization/defaultAdapters.d.ts +4 -0
  294. package/dist/extensions/serialization/defaultAdapters.d.ts.map +1 -0
  295. package/dist/extensions/serialization/types.d.ts +20 -0
  296. package/dist/extensions/serialization/types.d.ts.map +1 -0
  297. package/dist/extensions/snap/SnapLines.d.ts +14 -0
  298. package/dist/extensions/snap/SnapLines.d.ts.map +1 -0
  299. package/dist/extensions/snap/SnapManager.d.ts +29 -0
  300. package/dist/extensions/snap/SnapManager.d.ts.map +1 -0
  301. package/dist/extensions/snap/SnapResolver.d.ts +5 -0
  302. package/dist/extensions/snap/SnapResolver.d.ts.map +1 -0
  303. package/dist/extensions/snap/accessor.d.ts +4 -0
  304. package/dist/extensions/snap/accessor.d.ts.map +1 -0
  305. package/dist/extensions/snap/types.d.ts +61 -0
  306. package/dist/extensions/snap/types.d.ts.map +1 -0
  307. package/dist/index.d.ts +18 -742
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/types/CanvasKit.d.ts +3 -0
  310. package/dist/types/CanvasKit.d.ts.map +1 -0
  311. package/dist/types/Elements.d.ts +19 -0
  312. package/dist/types/Elements.d.ts.map +1 -0
  313. package/package.json +11 -11
@@ -0,0 +1,24 @@
1
+ import { Container } from 'pixi.js';
2
+ import { CanvasKitOptions } from '../../canvas/CanvasKitOptions';
3
+ import { BaseElement } from '../../core/BaseElement';
4
+ import { BaseOptions } from '../../core/BaseOptions';
5
+ import { ControlHandle } from './controls/ControlHandle';
6
+ export declare class BoundingBox {
7
+ readonly container: Container;
8
+ private readonly rectGraphics;
9
+ private readonly handles;
10
+ private isVisible;
11
+ private readonly theme;
12
+ constructor(overlayLayer: Container, options: CanvasKitOptions);
13
+ getHandles(): readonly ControlHandle[];
14
+ update(elements: ReadonlyArray<BaseElement<BaseOptions>>): void;
15
+ hide(): void;
16
+ show(): void;
17
+ destroy(): void;
18
+ private updateSingle;
19
+ private padRect;
20
+ private drawRect;
21
+ private drawDottedLine;
22
+ private positionHandles;
23
+ }
24
+ //# sourceMappingURL=BoundingBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoundingBox.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/BoundingBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAmBhF,qBAAa,WAAW;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;gBAE7B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB;IAoC9D,UAAU,IAAI,SAAS,aAAa,EAAE;IAItC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI;IAqB/D,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,QAAQ;IAsChB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;CAQxB"}
@@ -0,0 +1,9 @@
1
+ import { BaseElement } from '../../core/BaseElement';
2
+ import { BaseOptions } from '../../core/BaseOptions';
3
+ import { InteractionActionsContext, StartState } from './types';
4
+ export declare function deleteSelected(ctx: InteractionActionsContext): Promise<void>;
5
+ export declare function copySelected(ctx: InteractionActionsContext): void;
6
+ export declare function duplicateSelection(ctx: InteractionActionsContext): Promise<void>;
7
+ export declare function pasteSelected(ctx: InteractionActionsContext): Promise<void>;
8
+ export declare function recordGroupUpdate(ctx: Pick<InteractionActionsContext, 'ctx' | 'getHistoryManager'>, elements: readonly BaseElement<BaseOptions>[], beforeStates: Map<string, StartState | BaseOptions>, kind: 'move' | 'resize' | 'rotate'): void;
9
+ //# sourceMappingURL=InteractionActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionActions.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5F,wBAAsB,cAAc,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAEjE;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,IAAI,CAAC,yBAAyB,EAAE,KAAK,GAAG,mBAAmB,CAAC,EACjE,QAAQ,EAAE,SAAS,WAAW,CAAC,WAAW,CAAC,EAAE,EAC7C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC,EACnD,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GACjC,IAAI,CA+BN"}
@@ -0,0 +1,4 @@
1
+ import { InteractionClipboardContext } from './types';
2
+ export declare function copySelectedToClipboard(ctx: InteractionClipboardContext): void;
3
+ export declare function pasteSelectionFromClipboard(ctx: InteractionClipboardContext): Promise<void>;
4
+ //# sourceMappingURL=InteractionClipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionClipboard.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionClipboard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,2BAA2B,GAAG,IAAI,CAK9E;AAED,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjG"}
@@ -0,0 +1,7 @@
1
+ import { FederatedPointerEvent } from 'pixi.js';
2
+ import { HandlePosition } from '../../core/Transform';
3
+ import { InteractionGesturesContext } from './types';
4
+ export declare function startResize(ctx: InteractionGesturesContext, e: FederatedPointerEvent, pos: HandlePosition): void;
5
+ export declare function startRotate(ctx: InteractionGesturesContext, e: FederatedPointerEvent): void;
6
+ export declare function startElementDrag(ctx: InteractionGesturesContext, e: FederatedPointerEvent): void;
7
+ //# sourceMappingURL=InteractionGestures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionGestures.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionGestures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAQrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,KAAK,EAAE,0BAA0B,EAAc,MAAM,gCAAgC,CAAC;AAG7F,wBAAgB,WAAW,CACzB,GAAG,EAAE,0BAA0B,EAC/B,CAAC,EAAE,qBAAqB,EACxB,GAAG,EAAE,cAAc,GAClB,IAAI,CA2DN;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,0BAA0B,EAAE,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAmC3F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,0BAA0B,EAAE,CAAC,EAAE,qBAAqB,GAAG,IAAI,CA+EhG"}
@@ -0,0 +1,40 @@
1
+ import { BaseOptions } from '../../core/BaseOptions';
2
+ import { CanvasContext } from '../../core/CanvasContext';
3
+ import { Extension } from '../Extension';
4
+ import { createInteractionAccessor } from './accessor';
5
+ export declare class InteractionManager implements Extension {
6
+ readonly name = "interaction";
7
+ accessors?: {
8
+ interaction: ReturnType<typeof createInteractionAccessor>;
9
+ };
10
+ private ctx;
11
+ private overlayLayer;
12
+ private boundingBox;
13
+ private selectedIds;
14
+ private shortcuts;
15
+ private cleanupFns;
16
+ private readonly selectableBindings;
17
+ private clipboard;
18
+ private selectionStateContext;
19
+ private selectionBindingsContext;
20
+ private gesturesContext;
21
+ private actionsContext;
22
+ init(ctx: CanvasContext): void;
23
+ private setupHandleEvents;
24
+ private attachHandlePointerDown;
25
+ private isPanBlocked;
26
+ setOverlayVisible(visible: boolean): void;
27
+ select(idOrIds: string | readonly string[] | null): void;
28
+ duplicate(): Promise<void>;
29
+ getSelectedIds(): readonly string[];
30
+ getSelectedOptions(): BaseOptions[];
31
+ private getHistoryManager;
32
+ private getCameraManager;
33
+ private getSnapManager;
34
+ private recordGroupUpdate;
35
+ destroy(): void;
36
+ private createContexts;
37
+ private getSelectionStateContext;
38
+ private getSelectionBindingsContext;
39
+ }
40
+ //# sourceMappingURL=InteractionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAmC9E,qBAAa,kBAAmB,YAAW,SAAS;IAClD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;KAAE,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwC;IAC3E,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,qBAAqB,CAAoC;IACjE,OAAO,CAAC,wBAAwB,CAAuC;IACvE,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAA6B;IAEnD,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAuE9B,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,YAAY;IAKpB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI;IAkBlD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,cAAc,IAAI,SAAS,MAAM,EAAE;IAInC,kBAAkB,IAAI,WAAW,EAAE;IAInC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,2BAA2B;CAGpC"}
@@ -0,0 +1,4 @@
1
+ import { InteractionSelectionBindingsContext } from './types';
2
+ export declare function syncSelectableElement(ctx: InteractionSelectionBindingsContext, id: string): void;
3
+ export declare function detachSelectableElement(ctx: InteractionSelectionBindingsContext, id: string): void;
4
+ //# sourceMappingURL=InteractionSelectionBindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionSelectionBindings.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionSelectionBindings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AAE1F,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,mCAAmC,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAiChG;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,mCAAmC,EACxC,EAAE,EAAE,MAAM,GACT,IAAI,CAMN"}
@@ -0,0 +1,12 @@
1
+ import { BaseElement } from '../../core/BaseElement';
2
+ import { BaseOptions } from '../../core/BaseOptions';
3
+ import { InteractionSelectionStateContext } from './types';
4
+ export declare function selectOnly(ctx: InteractionSelectionStateContext, id: string): void;
5
+ export declare function toggleSelection(ctx: InteractionSelectionStateContext, id: string): void;
6
+ export declare function onStageClick(ctx: InteractionSelectionStateContext): void;
7
+ export declare function setSelection(ctx: InteractionSelectionStateContext, ids: readonly string[] | null): void;
8
+ export declare function getSelectedElements(ctx: InteractionSelectionStateContext): BaseElement<BaseOptions>[];
9
+ export declare function getSelectedOptions(ctx: InteractionSelectionStateContext): BaseOptions[];
10
+ export declare function updateBoundingBox(ctx: InteractionSelectionStateContext): void;
11
+ export declare function captureElementOptions(elements: readonly BaseElement<BaseOptions>[], patch?: (element: BaseElement<BaseOptions>) => Partial<BaseOptions>): Map<string, BaseOptions>;
12
+ //# sourceMappingURL=InteractionSelectionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionSelectionState.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/InteractionSelectionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAEvF,wBAAgB,UAAU,CAAC,GAAG,EAAE,gCAAgC,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAElF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,gCAAgC,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAIvF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gCAAgC,GAAG,IAAI,CAIxE;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,gCAAgC,EACrC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAC5B,IAAI,CAYN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gCAAgC,GACpC,WAAW,CAAC,WAAW,CAAC,EAAE,CAI5B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gCAAgC,GAAG,WAAW,EAAE,CAEvF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gCAAgC,GAAG,IAAI,CAE7E;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,WAAW,CAAC,WAAW,CAAC,EAAE,EAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,GAClE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAS1B"}
@@ -0,0 +1,38 @@
1
+ import { BaseOptions } from '../../core/BaseOptions';
2
+ import { HandlePosition } from '../../core/Transform';
3
+ import { ResizeAxes, StartState } from './types';
4
+ export declare const TRANSFORM_AXES: Partial<Record<HandlePosition, ResizeAxes>>;
5
+ export declare function createResizeStartState(options: BaseOptions & {
6
+ fontSize?: number;
7
+ width?: number;
8
+ height?: number;
9
+ radius?: number;
10
+ strokeWidth?: number;
11
+ }): StartState;
12
+ export declare function resolveResizeAnchor(axes: {
13
+ xDir: -1 | 0 | 1;
14
+ yDir: -1 | 0 | 1;
15
+ }, rect: {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ }): {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ export declare function resolveResizeScale(params: {
25
+ axes: {
26
+ xDir: -1 | 0 | 1;
27
+ yDir: -1 | 0 | 1;
28
+ proportional?: true;
29
+ };
30
+ dx: number;
31
+ dy: number;
32
+ width: number;
33
+ height: number;
34
+ }): {
35
+ sx: number;
36
+ sy: number;
37
+ };
38
+ //# sourceMappingURL=ResizeSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResizeSession.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/ResizeSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE7E,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAStE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,WAAW,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,UAAU,CAYZ;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAAE,EAC5C,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAK1B;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAmB7B"}
@@ -0,0 +1,8 @@
1
+ import { BaseOptions } from '../../core/BaseOptions';
2
+ import { ResizeAxes, StartState } from './types';
3
+ /**
4
+ * Computes the update payload for one element during a resize drag.
5
+ * Returns a partial options object ready to pass directly to el.update().
6
+ */
7
+ export declare function computeResizeUpdate(type: string, s: StartState, axes: ResizeAxes, sx: number, sy: number, ax: number, ay: number): Partial<BaseOptions>;
8
+ //# sourceMappingURL=ResizeStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResizeStrategy.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/ResizeStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,UAAU,EACb,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,WAAW,CAAC,CAKtB"}
@@ -0,0 +1,8 @@
1
+ import { CanvasContext } from '../../core/CanvasContext';
2
+ import { InteractionManager } from './InteractionManager';
3
+ import { InteractionAccessor } from './types';
4
+ export declare function createInteractionAccessor(params: {
5
+ ctx: CanvasContext;
6
+ getManager: () => InteractionManager | undefined;
7
+ }): InteractionAccessor;
8
+ //# sourceMappingURL=accessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/accessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,GAAG,EAAE,aAAa,CAAC;IACnB,UAAU,EAAE,MAAM,kBAAkB,GAAG,SAAS,CAAC;CAClD,GAAG,mBAAmB,CAoBtB"}
@@ -0,0 +1,14 @@
1
+ import { Container } from 'pixi.js';
2
+ import { HandlePosition } from '../../../core/Transform';
3
+ import { ControlHandleOptions, HandlerType } from '../types';
4
+ export declare class ControlHandle {
5
+ readonly container: Container;
6
+ readonly position: HandlePosition;
7
+ readonly handler: HandlerType;
8
+ constructor(opts: ControlHandleOptions);
9
+ setPosition(x: number, y: number): void;
10
+ private loadIcon;
11
+ private svgToSprite;
12
+ private loadImageUrl;
13
+ }
14
+ //# sourceMappingURL=ControlHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlHandle.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/controls/ControlHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAqCxF,qBAAa,aAAa;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAElB,IAAI,EAAE,oBAAoB;IAgCtC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;YAIzB,QAAQ;YA8BR,WAAW;IAkBzB,OAAO,CAAC,YAAY;CAQrB"}
@@ -0,0 +1,2 @@
1
+ export declare const ARROW_BOTH_SIDES_SVG = "<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M22.0679 11.9341C22.2258 12.0716 22.3257 12.2741 22.3257 12.5C22.3257 12.7249 22.2267 12.9267 22.0699 13.0641L18.1064 17.0302C17.8136 17.3231 17.3387 17.3233 17.0457 17.0305C16.7528 16.7377 16.7526 16.2628 17.0454 15.9698L19.7635 13.25L4.88801 13.25L7.60597 15.9699C7.89876 16.2629 7.89859 16.7377 7.6056 17.0305C7.3126 17.3233 6.83773 17.3231 6.54494 17.0301L2.54761 13.03C2.25496 12.7372 2.25496 12.2626 2.54763 11.9697L6.54496 7.96984C6.83776 7.67686 7.31263 7.6767 7.60562 7.9695C7.8986 8.2623 7.89875 8.73718 7.60595 9.03016L4.88785 11.75L19.7633 11.75L17.0454 9.03014C16.7526 8.73715 16.7528 8.26227 17.0458 7.96948C17.3388 7.67669 17.8136 7.67686 18.1064 7.96986L22.0679 11.9341Z\" fill=\"#ffffff\"/>\n</svg>";
2
+ //# sourceMappingURL=arrowBothSides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrowBothSides.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/arrowBothSides.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,q0BAE1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const COPY_SVG = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.8923 16.7332C16.8923 17.9759 15.885 18.9832 14.6423 18.9832H6.34375C5.10111 18.9832 4.09375 17.9759 4.09375 16.7332V8.60187C4.09375 8.00538 4.33061 7.4333 4.75226 7.01138L9.10142 2.65951C9.52341 2.23725 10.0959 2 10.6929 2H14.6423C15.885 2 16.8923 3.00736 16.8923 4.25V16.7332ZM14.6423 17.4832C15.0566 17.4832 15.3923 17.1475 15.3923 16.7332V4.25C15.3923 3.83579 15.0565 3.5 14.6423 3.5H10.8227L10.8249 6.47969C10.8257 7.72296 9.81813 8.73129 8.57486 8.73129H5.59375V16.7332C5.59375 17.1475 5.92954 17.4832 6.34375 17.4832H14.6423ZM6.65314 7.23129L9.32349 4.55928L9.32486 6.48076C9.32516 6.89518 8.98928 7.23129 8.57486 7.23129H6.65314Z\" fill=\"#ffffff\"/>\n<path d=\"M18.4065 5.68442C18.4065 5.27021 18.7423 4.93442 19.1565 4.93442C19.5707 4.93442 19.9065 5.27021 19.9065 5.68442V17.2514C19.9065 19.8747 17.7799 22.0014 15.1565 22.0014H7.79765C7.38344 22.0014 7.04765 21.6656 7.04765 21.2514C7.04765 20.8371 7.38344 20.5014 7.79765 20.5014H15.1565C16.9514 20.5014 18.4065 19.0463 18.4065 17.2514V5.68442Z\" fill=\"#ffffff\"/>\n</svg>";
2
+ //# sourceMappingURL=copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/copy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,qrCAGd,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type IconKey = 'trash' | 'duplicate' | 'rotate' | 'arrowBothSides' | 'move';
2
+ export declare const ICONS: Record<IconKey, string>;
3
+ export declare function getBuiltinIcon(key: IconKey): string;
4
+ export declare function isIconKey(value: string): value is IconKey;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/index.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAEnF,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAMzC,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAEzD"}
@@ -0,0 +1,2 @@
1
+ export declare const MOVE_SVG = "<svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.78217 3.46967C3.62191 3.62993 3.54934 3.84466 3.56445 4.05426V8C3.56445 8.41421 3.90024 8.75 4.31445 8.75C4.72867 8.75 5.06445 8.41421 5.06445 8V5.81261L11.2528 12.001L5.06445 18.1893V16C5.06445 15.5858 4.72867 15.25 4.31445 15.25C3.90024 15.25 3.56445 15.5858 3.56445 16V20C3.56445 20.4142 3.90024 20.75 4.31445 20.75H8.31409C8.72831 20.75 9.06409 20.4142 9.06409 20C9.06409 19.5858 8.72831 19.25 8.31409 19.25H6.12511L12.3135 13.0616L18.5018 19.25H16.3134C15.8992 19.25 15.5634 19.5858 15.5634 20C15.5634 20.4142 15.8992 20.75 16.3134 20.75H20.313C20.5119 20.75 20.7027 20.671 20.8433 20.5303C20.984 20.3897 21.063 20.1989 21.063 20L21.063 16C21.063 15.5858 20.7272 15.25 20.313 15.25C19.8988 15.25 19.563 15.5858 19.563 16L19.563 18.1898L13.3741 12.001L19.563 5.81212L19.563 8C19.563 8.41422 19.8988 8.75 20.313 8.75C20.7272 8.75 21.063 8.41421 21.063 8L21.063 4.04697C21.0759 3.83969 21.0032 3.62807 20.8448 3.46967C20.6982 3.32306 20.506 3.24983 20.3138 3.25C20.3135 3.25 20.3141 3.25 20.3138 3.25L16.3134 3.25C15.8991 3.25 15.5634 3.58579 15.5634 4C15.5634 4.41421 15.8991 4.75 16.3134 4.75H18.5038L12.3135 10.9403L6.12316 4.75H8.31409C8.7283 4.75 9.06409 4.41421 9.06409 4C9.06409 3.58579 8.7283 3.25 8.31409 3.25H4.31342C4.12117 3.24977 3.92885 3.32299 3.78217 3.46967Z\" fill=\"#ffffff\"/>\n</svg>";
2
+ //# sourceMappingURL=move.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/move.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,u5CAEd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const ROTATE_SVG = "<svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.13644 9.54175C3.02923 9.94185 3.26667 10.3531 3.66676 10.4603C4.06687 10.5675 4.47812 10.3301 4.58533 9.92998C5.04109 8.22904 6.04538 6.72602 7.44243 5.65403C8.83948 4.58203 10.5512 4.00098 12.3122 4.00098C14.0731 4.00098 15.7848 4.58203 17.1819 5.65403C18.3999 6.58866 19.3194 7.85095 19.8371 9.28639L18.162 8.34314C17.801 8.1399 17.3437 8.26774 17.1405 8.62867C16.9372 8.98959 17.0651 9.44694 17.426 9.65017L20.5067 11.3849C20.68 11.4825 20.885 11.5072 21.0766 11.4537C21.2682 11.4001 21.4306 11.2727 21.5282 11.0993L23.2629 8.01828C23.4661 7.65734 23.3382 7.2 22.9773 6.99679C22.6163 6.79358 22.159 6.92145 21.9558 7.28239L21.195 8.63372C20.5715 6.98861 19.5007 5.54258 18.095 4.464C16.436 3.19099 14.4033 2.50098 12.3122 2.50098C10.221 2.50098 8.1883 3.19099 6.52928 4.464C4.87027 5.737 3.67766 7.52186 3.13644 9.54175Z\" fill=\"#ffffff\"/>\n<path d=\"M21.4906 14.4582C21.5978 14.0581 21.3604 13.6469 20.9603 13.5397C20.5602 13.4325 20.1489 13.6699 20.0417 14.07C19.5859 15.7709 18.5816 17.274 17.1846 18.346C15.7875 19.418 14.0758 19.999 12.3149 19.999C10.5539 19.999 8.84219 19.418 7.44514 18.346C6.2292 17.4129 5.31079 16.1534 4.79261 14.721L6.45529 15.6573C6.81622 15.8605 7.27356 15.7327 7.47679 15.3718C7.68003 15.0108 7.55219 14.5535 7.19127 14.3502L4.11056 12.6155C3.93723 12.5179 3.73222 12.4932 3.54065 12.5467C3.34907 12.6003 3.18662 12.7278 3.08903 12.9011L1.3544 15.9821C1.15119 16.3431 1.27906 16.8004 1.64 17.0036C2.00094 17.2068 2.45828 17.079 2.66149 16.718L3.42822 15.3562C4.05115 17.0054 5.12348 18.4552 6.532 19.536C8.19102 20.809 10.2237 21.499 12.3149 21.499C14.406 21.499 16.4387 20.809 18.0977 19.536C19.7568 18.263 20.9494 16.4781 21.4906 14.4582Z\" fill=\"#ffffff\"/>\n</svg>";
2
+ //# sourceMappingURL=rotate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/rotate.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,syDAGhB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const TRASH_SVG = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M14.7223 12.7585C14.7426 12.3448 14.4237 11.9929 14.01 11.9726C13.5963 11.9522 13.2444 12.2711 13.2241 12.6848L12.9999 17.2415C12.9796 17.6552 13.2985 18.0071 13.7122 18.0274C14.1259 18.0478 14.4778 17.7289 14.4981 17.3152L14.7223 12.7585Z\" fill=\"#ffffff\"/>\n<path d=\"M9.98802 11.9726C9.5743 11.9929 9.25542 12.3448 9.27577 12.7585L9.49993 17.3152C9.52028 17.7289 9.87216 18.0478 10.2859 18.0274C10.6996 18.0071 11.0185 17.6552 10.9981 17.2415L10.774 12.6848C10.7536 12.2711 10.4017 11.9522 9.98802 11.9726Z\" fill=\"#ffffff\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.249 2C9.00638 2 7.99902 3.00736 7.99902 4.25V5H5.5C4.25736 5 3.25 6.00736 3.25 7.25C3.25 8.28958 3.95503 9.16449 4.91303 9.42267L5.54076 19.8848C5.61205 21.0729 6.59642 22 7.78672 22H16.2113C17.4016 22 18.386 21.0729 18.4573 19.8848L19.085 9.42267C20.043 9.16449 20.748 8.28958 20.748 7.25C20.748 6.00736 19.7407 5 18.498 5H15.999V4.25C15.999 3.00736 14.9917 2 13.749 2H10.249ZM14.499 5V4.25C14.499 3.83579 14.1632 3.5 13.749 3.5H10.249C9.83481 3.5 9.49902 3.83579 9.49902 4.25V5H14.499ZM5.5 6.5C5.08579 6.5 4.75 6.83579 4.75 7.25C4.75 7.66421 5.08579 8 5.5 8H18.498C18.9123 8 19.248 7.66421 19.248 7.25C19.248 6.83579 18.9123 6.5 18.498 6.5H5.5ZM6.42037 9.5H17.5777L16.96 19.7949C16.9362 20.191 16.6081 20.5 16.2113 20.5H7.78672C7.38995 20.5 7.06183 20.191 7.03807 19.7949L6.42037 9.5Z\" fill=\"#ffffff\"/>\n</svg>";
2
+ //# sourceMappingURL=trash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trash.d.ts","sourceRoot":"","sources":["../../../../src/extensions/interaction/icons/trash.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,y/CAIf,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { FederatedPointerEvent } from 'pixi.js';
2
+ import { BaseElement } from '../../core/BaseElement';
3
+ import { BaseOptions } from '../../core/BaseOptions';
4
+ import { CanvasContext } from '../../core/CanvasContext';
5
+ import { HandlePosition } from '../../core/Transform';
6
+ import { CameraManager } from '../camera/CameraManager';
7
+ import { BoundingBox } from './BoundingBox';
8
+ import { SnapManager } from '../snap/SnapManager';
9
+ export type HandlerType = 'transform' | 'rotate' | 'delete' | 'duplicate' | ((ctx: InteractionHandlerContext) => void);
10
+ export interface InteractionHandlerContext {
11
+ selectedIds: readonly string[];
12
+ }
13
+ export interface ControlConfig {
14
+ icon?: string;
15
+ handler: HandlerType;
16
+ size?: number;
17
+ }
18
+ export interface InteractionTheme {
19
+ boundingBox?: {
20
+ lineColor?: number | string;
21
+ lineThickness?: number;
22
+ lineType?: 'solid' | 'dotted';
23
+ padding?: number;
24
+ };
25
+ handle?: {
26
+ size?: number;
27
+ color?: number | string;
28
+ };
29
+ }
30
+ export interface InteractionConfig {
31
+ controls?: Partial<Record<HandlePosition, ControlConfig>>;
32
+ theme?: InteractionTheme;
33
+ }
34
+ export type InteractionAccessor = {
35
+ select(idOrIds: string | readonly string[] | null): void;
36
+ duplicate(): Promise<void>;
37
+ getSelectedIds(): string[];
38
+ getSelectedOptions(): BaseOptions[];
39
+ };
40
+ export type InteractionSelectionStateContext = {
41
+ ctx: CanvasContext;
42
+ boundingBox: BoundingBox;
43
+ selectedIds: Set<string>;
44
+ isPanBlocked(): boolean;
45
+ };
46
+ export type SelectableBinding = {
47
+ displayObject: {
48
+ on(event: 'pointerdown', handler: (e: FederatedPointerEvent) => void): void;
49
+ off(event: 'pointerdown', handler: (e: FederatedPointerEvent) => void): void;
50
+ };
51
+ onPointerDown: (e: FederatedPointerEvent) => void;
52
+ };
53
+ export type InteractionSelectionBindingsContext = InteractionSelectionStateContext & {
54
+ ctx: CanvasContext;
55
+ selectableBindings: Map<string, SelectableBinding>;
56
+ startElementDrag(e: FederatedPointerEvent): void;
57
+ };
58
+ export type InteractionActionsContext = {
59
+ ctx: CanvasContext;
60
+ getHistoryManager(): import('../history/HistoryManager').HistoryManager | undefined;
61
+ getSelectedIds(): readonly string[];
62
+ getSelectedElements(): BaseElement<BaseOptions>[];
63
+ getSelectedOptions(): BaseOptions[];
64
+ setSelection(ids: readonly string[] | null): void;
65
+ getClipboard(): BaseOptions[];
66
+ setClipboard(items: BaseOptions[]): void;
67
+ };
68
+ export type InteractionClipboardContext = {
69
+ getHistoryManager(): import('../history/HistoryManager').HistoryManager | undefined;
70
+ getSelectedOptions(): BaseOptions[];
71
+ getClipboard(): BaseOptions[];
72
+ setClipboard(items: BaseOptions[]): void;
73
+ ctx: CanvasContext;
74
+ setSelection(ids: readonly string[] | null): void;
75
+ };
76
+ export type ResizeAxes = {
77
+ xDir: -1 | 0 | 1;
78
+ yDir: -1 | 0 | 1;
79
+ proportional?: true;
80
+ };
81
+ export type StartState = {
82
+ x: number;
83
+ y: number;
84
+ scaleX: number;
85
+ scaleY: number;
86
+ fontSize?: number;
87
+ width?: number;
88
+ height?: number;
89
+ radius?: number;
90
+ strokeWidth?: number;
91
+ };
92
+ export type InteractionGesturesContext = {
93
+ ctx: CanvasContext;
94
+ boundingBox: BoundingBox;
95
+ getCameraManager(): CameraManager | undefined;
96
+ getSnapManager(): SnapManager | undefined;
97
+ getSelectedIds(): readonly string[];
98
+ getSelectedElements(): BaseElement<BaseOptions>[];
99
+ updateBoundingBox(): void;
100
+ recordGroupUpdate(elements: readonly BaseElement<BaseOptions>[], beforeStates: Map<string, StartState | BaseOptions>, kind: 'move' | 'resize' | 'rotate'): void;
101
+ };
102
+ export interface ControlHandleOptions {
103
+ position: HandlePosition;
104
+ icon?: string;
105
+ handler: HandlerType;
106
+ size?: number;
107
+ bgSize?: number;
108
+ bgColor?: number | string;
109
+ }
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/interaction/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { CanvasContext } from '../../core/CanvasContext';
2
+ import { Extension } from '../Extension';
3
+ import { createLayeringAccessor } from './accessor';
4
+ export declare class LayerManager implements Extension {
5
+ readonly name = "layering";
6
+ accessors?: {
7
+ layer: ReturnType<typeof createLayeringAccessor>;
8
+ };
9
+ private ctx;
10
+ private cleanupFns;
11
+ init(ctx: CanvasContext): void;
12
+ private assignTopZIndex;
13
+ private getMaxZIndex;
14
+ private getSortedElements;
15
+ private getLayerSnapshots;
16
+ private emitLayerChange;
17
+ private getHistoryManager;
18
+ private trackLayerChange;
19
+ private getChangedLayerIds;
20
+ private normalizeIds;
21
+ private reorderGroup;
22
+ bringToFront(idOrIds: string | readonly string[]): void;
23
+ sendToBack(idOrIds: string | readonly string[]): void;
24
+ private swapWithNeighbor;
25
+ bringForward(id: string): void;
26
+ sendBackward(id: string): void;
27
+ normalizeZIndex(): void;
28
+ destroy(): void;
29
+ }
30
+ //# sourceMappingURL=LayerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayerManager.d.ts","sourceRoot":"","sources":["../../../src/extensions/layering/LayerManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,YAAa,YAAW,SAAS;IAC5C,QAAQ,CAAC,IAAI,cAAc;IAC3B,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;KAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,UAAU,CAAyB;IAE3C,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAc9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAapB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI;IAIvD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI;IAIrD,OAAO,CAAC,gBAAgB;IAmBxB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI9B,eAAe,IAAI,IAAI;IASvB,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,4 @@
1
+ import { LayerManager } from './LayerManager';
2
+ import { LayeringAccessor } from './types';
3
+ export declare function createLayeringAccessor(getManager: () => LayerManager | undefined): LayeringAccessor;
4
+ //# sourceMappingURL=accessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../../src/extensions/layering/accessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,YAAY,GAAG,SAAS,GACzC,gBAAgB,CAgBlB"}
@@ -0,0 +1,8 @@
1
+ export type LayeringAccessor = {
2
+ bringToFront(id: string | readonly string[]): void;
3
+ sendToBack(id: string | readonly string[]): void;
4
+ bringForward(id: string): void;
5
+ sendBackward(id: string): void;
6
+ normalizeZIndex(): void;
7
+ };
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/layering/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,IAAI,IAAI,CAAC;CACzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class CacheManager {
2
+ private readonly trackedUrls;
3
+ retain(url: string): void;
4
+ release(url: string): Promise<void>;
5
+ clear(): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=CacheManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../../src/extensions/performance/CacheManager.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
@@ -0,0 +1,8 @@
1
+ export declare class DirtyTracker {
2
+ private readonly dirtySet;
3
+ markDirty(id: string): void;
4
+ isDirty(id: string): boolean;
5
+ flush(): readonly string[];
6
+ clear(): void;
7
+ }
8
+ //# sourceMappingURL=DirtyTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DirtyTracker.d.ts","sourceRoot":"","sources":["../../../src/extensions/performance/DirtyTracker.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,SAAS,MAAM,EAAE;IAM1B,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,17 @@
1
+ import { CanvasContext } from '../../core/CanvasContext';
2
+ import { Extension } from '../Extension';
3
+ import { createPerformanceAccessor } from './accessor';
4
+ import { CacheManager } from './CacheManager';
5
+ import { DirtyTracker } from './DirtyTracker';
6
+ export declare class PerformanceManager implements Extension {
7
+ readonly name = "performance";
8
+ accessors?: {
9
+ performance: ReturnType<typeof createPerformanceAccessor>;
10
+ };
11
+ readonly dirtyTracker: DirtyTracker;
12
+ readonly cacheManager: CacheManager;
13
+ private cleanupFns;
14
+ init(ctx: CanvasContext): void;
15
+ destroy(): void;
16
+ }
17
+ //# sourceMappingURL=PerformanceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceManager.d.ts","sourceRoot":"","sources":["../../../src/extensions/performance/PerformanceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,qBAAa,kBAAmB,YAAW,SAAS;IAClD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;KAAE,CAAC;IAC1E,QAAQ,CAAC,YAAY,eAAsB;IAC3C,QAAQ,CAAC,YAAY,eAAsB;IAC3C,OAAO,CAAC,UAAU,CAAyB;IAE3C,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAc9B,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,4 @@
1
+ import { PerformanceManager } from './PerformanceManager';
2
+ import { PerformanceAccessor } from './types';
3
+ export declare function createPerformanceAccessor(getManager: () => PerformanceManager | undefined): PerformanceAccessor;
4
+ //# sourceMappingURL=accessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../../src/extensions/performance/accessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,kBAAkB,GAAG,SAAS,GAC/C,mBAAmB,CAmBrB"}
@@ -0,0 +1,10 @@
1
+ export type PerformanceAccessor = {
2
+ markDirty(id: string): void;
3
+ isDirty(id: string): boolean;
4
+ flushDirty(): readonly string[];
5
+ clearDirty(): void;
6
+ retainAsset(url: string): void;
7
+ releaseAsset(url: string): Promise<void>;
8
+ clearAssets(): Promise<void>;
9
+ };
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/performance/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,UAAU,IAAI,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,IAAI,IAAI,CAAC;IACnB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { BaseElement } from '../../core/BaseElement';
2
+ import { BaseOptions } from '../../core/BaseOptions';
3
+ import { CanvasContext } from '../../core/CanvasContext';
4
+ import { Extension } from '../Extension';
5
+ import { createSerializerAccessor } from './accessor';
6
+ import { SerializationAdapter, SerializedElement } from './types';
7
+ export declare class SerializationManager implements Extension {
8
+ readonly name = "serialization";
9
+ accessors?: {
10
+ serializer: ReturnType<typeof createSerializerAccessor>;
11
+ };
12
+ private ctx;
13
+ private readonly adapters;
14
+ init(ctx: CanvasContext): void;
15
+ private registerDefaultAdapters;
16
+ registerAdapter<T extends BaseOptions>(adapter: SerializationAdapter<T>): void;
17
+ serialize(element: BaseElement<BaseOptions>): SerializedElement;
18
+ serializeAll(): SerializedElement[];
19
+ appendAll(data: SerializedElement[]): Promise<void>;
20
+ replaceAll(data: SerializedElement[]): Promise<void>;
21
+ private deserializeElement;
22
+ }
23
+ //# sourceMappingURL=SerializationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializationManager.d.ts","sourceRoot":"","sources":["../../../src/extensions/serialization/SerializationManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQhG,qBAAa,oBAAqB,YAAW,SAAS;IACpD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;KAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqD;IAE9E,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAU9B,OAAO,CAAC,uBAAuB;IAM/B,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAY9E,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,iBAAiB;IAQ/D,YAAY,IAAI,iBAAiB,EAAE;IAI7B,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1D,OAAO,CAAC,kBAAkB;CAW3B"}
@@ -0,0 +1,4 @@
1
+ import { SerializationManager } from './SerializationManager';
2
+ import { SerializerAccessor } from './types';
3
+ export declare function createSerializerAccessor(getManager: () => SerializationManager | undefined): SerializerAccessor;
4
+ //# sourceMappingURL=accessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../../src/extensions/serialization/accessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,oBAAoB,GAAG,SAAS,GACjD,kBAAkB,CAuBpB"}
@@ -0,0 +1,4 @@
1
+ import { CanvasContext } from '../../core/CanvasContext';
2
+ import { SerializationAdapter } from './types';
3
+ export declare function createDefaultSerializationAdapters(ctx: CanvasContext): SerializationAdapter[];
4
+ //# sourceMappingURL=defaultAdapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultAdapters.d.ts","sourceRoot":"","sources":["../../../src/extensions/serialization/defaultAdapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,aAAa,GAAG,oBAAoB,EAAE,CAoB7F"}