@meta2d/core 1.0.56 → 1.0.57

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 (299) hide show
  1. package/{index.ts → index.d.ts} +9 -9
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +38 -39
  5. package/src/canvas/canvas.d.ts +456 -0
  6. package/src/canvas/canvas.js +7584 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +27 -0
  9. package/src/canvas/canvasImage.js +441 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/canvasTemplate.d.ts +18 -0
  12. package/src/canvas/canvasTemplate.js +209 -0
  13. package/src/canvas/canvasTemplate.js.map +1 -0
  14. package/src/canvas/{index.ts → index.d.ts} +2 -2
  15. package/src/canvas/index.js +3 -0
  16. package/src/canvas/index.js.map +1 -0
  17. package/src/canvas/magnifierCanvas.d.ts +19 -0
  18. package/src/canvas/magnifierCanvas.js +102 -0
  19. package/src/canvas/magnifierCanvas.js.map +1 -0
  20. package/src/canvas/offscreen.d.ts +1 -0
  21. package/src/canvas/offscreen.js +14 -0
  22. package/src/canvas/offscreen.js.map +1 -0
  23. package/src/core.d.ts +479 -0
  24. package/src/core.js +4590 -0
  25. package/src/core.js.map +1 -0
  26. package/src/data.d.ts +34 -0
  27. package/src/data.js +85 -0
  28. package/src/data.js.map +1 -0
  29. package/src/diagrams/arrow.d.ts +4 -0
  30. package/src/diagrams/arrow.js +47 -0
  31. package/src/diagrams/arrow.js.map +1 -0
  32. package/src/diagrams/circle.d.ts +2 -0
  33. package/src/diagrams/circle.js +9 -0
  34. package/src/diagrams/circle.js.map +1 -0
  35. package/src/diagrams/cloud.d.ts +2 -0
  36. package/src/diagrams/cloud.js +12 -0
  37. package/src/diagrams/cloud.js.map +1 -0
  38. package/src/diagrams/cube.d.ts +2 -0
  39. package/src/diagrams/cube.js +68 -0
  40. package/src/diagrams/cube.js.map +1 -0
  41. package/src/diagrams/diamond.d.ts +2 -0
  42. package/src/diagrams/diamond.js +13 -0
  43. package/src/diagrams/diamond.js.map +1 -0
  44. package/src/diagrams/file.d.ts +2 -0
  45. package/src/diagrams/file.js +18 -0
  46. package/src/diagrams/file.js.map +1 -0
  47. package/src/diagrams/gif.d.ts +5 -0
  48. package/src/diagrams/gif.js +89 -0
  49. package/src/diagrams/gif.js.map +1 -0
  50. package/src/diagrams/hexagon.d.ts +2 -0
  51. package/src/diagrams/{hexagon.ts → hexagon.js} +55 -60
  52. package/src/diagrams/hexagon.js.map +1 -0
  53. package/src/diagrams/iframe.d.ts +2 -0
  54. package/src/diagrams/iframe.js +338 -0
  55. package/src/diagrams/iframe.js.map +1 -0
  56. package/src/diagrams/index.d.ts +71 -0
  57. package/src/diagrams/{index.ts → index.js} +77 -79
  58. package/src/diagrams/index.js.map +1 -0
  59. package/src/diagrams/line/arrow.d.ts +2 -0
  60. package/src/diagrams/line/arrow.js +128 -0
  61. package/src/diagrams/line/arrow.js.map +1 -0
  62. package/src/diagrams/line/curve.d.ts +16 -0
  63. package/src/diagrams/line/curve.js +227 -0
  64. package/src/diagrams/line/curve.js.map +1 -0
  65. package/src/diagrams/line/{index.ts → index.d.ts} +5 -5
  66. package/src/diagrams/line/index.js +6 -0
  67. package/src/diagrams/line/index.js.map +1 -0
  68. package/src/diagrams/line/line.d.ts +42 -0
  69. package/src/diagrams/line/line.js +370 -0
  70. package/src/diagrams/line/line.js.map +1 -0
  71. package/src/diagrams/line/polyline.d.ts +10 -0
  72. package/src/diagrams/line/polyline.js +627 -0
  73. package/src/diagrams/line/polyline.js.map +1 -0
  74. package/src/diagrams/line/smooth.d.ts +3 -0
  75. package/src/diagrams/line/smooth.js +136 -0
  76. package/src/diagrams/line/smooth.js.map +1 -0
  77. package/src/diagrams/message.d.ts +2 -0
  78. package/src/diagrams/message.js +15 -0
  79. package/src/diagrams/message.js.map +1 -0
  80. package/src/diagrams/mindLine.d.ts +3 -0
  81. package/src/diagrams/mindLine.js +30 -0
  82. package/src/diagrams/mindLine.js.map +1 -0
  83. package/src/diagrams/mindNode.d.ts +3 -0
  84. package/src/diagrams/mindNode.js +161 -0
  85. package/src/diagrams/mindNode.js.map +1 -0
  86. package/src/diagrams/panel.d.ts +2 -0
  87. package/src/diagrams/panel.js +131 -0
  88. package/src/diagrams/panel.js.map +1 -0
  89. package/src/diagrams/pentagon.d.ts +3 -0
  90. package/src/diagrams/pentagon.js +45 -0
  91. package/src/diagrams/pentagon.js.map +1 -0
  92. package/src/diagrams/pentagram.d.ts +3 -0
  93. package/src/diagrams/pentagram.js +51 -0
  94. package/src/diagrams/pentagram.js.map +1 -0
  95. package/src/diagrams/people.d.ts +2 -0
  96. package/src/diagrams/people.js +19 -0
  97. package/src/diagrams/people.js.map +1 -0
  98. package/src/diagrams/rectangle.d.ts +3 -0
  99. package/src/diagrams/rectangle.js +26 -0
  100. package/src/diagrams/rectangle.js.map +1 -0
  101. package/src/diagrams/svg/parse.d.ts +15 -0
  102. package/src/diagrams/svg/parse.js +279 -0
  103. package/src/diagrams/svg/parse.js.map +1 -0
  104. package/src/diagrams/svgPath.d.ts +2 -0
  105. package/src/diagrams/svgPath.js +29 -0
  106. package/src/diagrams/svgPath.js.map +1 -0
  107. package/src/diagrams/triangle.d.ts +3 -0
  108. package/src/diagrams/triangle.js +40 -0
  109. package/src/diagrams/triangle.js.map +1 -0
  110. package/src/diagrams/video.d.ts +5 -0
  111. package/src/diagrams/video.js +184 -0
  112. package/src/diagrams/video.js.map +1 -0
  113. package/src/dialog/dialog.d.ts +21 -0
  114. package/src/dialog/dialog.js +157 -0
  115. package/src/dialog/dialog.js.map +1 -0
  116. package/src/dialog/{index.ts → index.d.ts} +1 -1
  117. package/src/dialog/index.js +2 -0
  118. package/src/dialog/index.js.map +1 -0
  119. package/src/event/event.d.ts +102 -0
  120. package/src/event/event.js +22 -0
  121. package/src/event/event.js.map +1 -0
  122. package/src/event/{index.ts → index.d.ts} +1 -1
  123. package/src/event/index.js +2 -0
  124. package/src/event/index.js.map +1 -0
  125. package/src/map/{index.ts → index.d.ts} +1 -1
  126. package/src/map/index.js +2 -0
  127. package/src/map/index.js.map +1 -0
  128. package/src/map/map.d.ts +21 -0
  129. package/src/map/map.js +212 -0
  130. package/src/map/map.js.map +1 -0
  131. package/src/options.d.ts +130 -0
  132. package/src/options.js +80 -0
  133. package/src/options.js.map +1 -0
  134. package/src/pen/arrow.d.ts +4 -0
  135. package/src/pen/arrow.js +188 -0
  136. package/src/pen/arrow.js.map +1 -0
  137. package/src/pen/{index.ts → index.d.ts} +6 -6
  138. package/src/pen/index.js +7 -0
  139. package/src/pen/index.js.map +1 -0
  140. package/src/pen/math.d.ts +28 -0
  141. package/src/pen/math.js +213 -0
  142. package/src/pen/math.js.map +1 -0
  143. package/src/pen/model.d.ts +514 -0
  144. package/src/pen/model.js +210 -0
  145. package/src/pen/model.js.map +1 -0
  146. package/src/pen/plugin.d.ts +5 -0
  147. package/src/pen/plugin.js +58 -0
  148. package/src/pen/plugin.js.map +1 -0
  149. package/src/pen/render.d.ts +146 -0
  150. package/src/pen/render.js +3234 -0
  151. package/src/pen/render.js.map +1 -0
  152. package/src/pen/text.d.ts +8 -0
  153. package/src/pen/text.js +316 -0
  154. package/src/pen/text.js.map +1 -0
  155. package/src/pen/utils.d.ts +2 -0
  156. package/src/pen/utils.js +19 -0
  157. package/src/pen/utils.js.map +1 -0
  158. package/src/point/{index.ts → index.d.ts} +1 -1
  159. package/src/point/index.js +2 -0
  160. package/src/point/index.js.map +1 -0
  161. package/src/point/point.d.ts +65 -0
  162. package/src/point/point.js +178 -0
  163. package/src/point/point.js.map +1 -0
  164. package/src/rect/{index.ts → index.d.ts} +1 -1
  165. package/src/rect/index.js +2 -0
  166. package/src/rect/index.js.map +1 -0
  167. package/src/rect/rect.d.ts +52 -0
  168. package/src/rect/rect.js +427 -0
  169. package/src/rect/rect.js.map +1 -0
  170. package/src/rect/triangle.d.ts +2 -0
  171. package/src/rect/triangle.js +10 -0
  172. package/src/rect/triangle.js.map +1 -0
  173. package/src/scroll/{index.ts → index.d.ts} +1 -1
  174. package/src/scroll/index.js +2 -0
  175. package/src/scroll/index.js.map +1 -0
  176. package/src/scroll/scroll.d.ts +35 -0
  177. package/src/scroll/scroll.js +234 -0
  178. package/src/scroll/scroll.js.map +1 -0
  179. package/src/store/global.d.ts +25 -0
  180. package/src/store/global.js +18 -0
  181. package/src/store/global.js.map +1 -0
  182. package/src/store/{index.ts → index.d.ts} +2 -2
  183. package/src/store/index.js +3 -0
  184. package/src/store/index.js.map +1 -0
  185. package/src/store/store.d.ts +228 -0
  186. package/src/store/store.js +87 -0
  187. package/src/store/store.js.map +1 -0
  188. package/src/theme.d.ts +13 -0
  189. package/src/theme.js +23 -0
  190. package/src/theme.js.map +1 -0
  191. package/src/title/{index.ts → index.d.ts} +1 -1
  192. package/src/title/index.js +2 -0
  193. package/src/title/index.js.map +1 -0
  194. package/src/title/title.d.ts +30 -0
  195. package/src/title/title.js +99 -0
  196. package/src/title/title.js.map +1 -0
  197. package/src/tooltip/{index.ts → index.d.ts} +1 -1
  198. package/src/tooltip/index.js +2 -0
  199. package/src/tooltip/index.js.map +1 -0
  200. package/src/tooltip/tooltip.d.ts +40 -0
  201. package/src/tooltip/tooltip.js +172 -0
  202. package/src/tooltip/tooltip.js.map +1 -0
  203. package/src/utils/clone.d.ts +8 -0
  204. package/src/utils/clone.js +84 -0
  205. package/src/utils/clone.js.map +1 -0
  206. package/src/utils/color.d.ts +3 -0
  207. package/src/utils/color.js +110 -0
  208. package/src/utils/color.js.map +1 -0
  209. package/src/utils/error.d.ts +2 -0
  210. package/src/utils/error.js +6 -0
  211. package/src/utils/error.js.map +1 -0
  212. package/src/utils/file.d.ts +3 -0
  213. package/src/utils/file.js +40 -0
  214. package/src/utils/file.js.map +1 -0
  215. package/src/utils/{index.ts → index.d.ts} +9 -9
  216. package/src/utils/index.js +10 -0
  217. package/src/utils/index.js.map +1 -0
  218. package/src/utils/math.d.ts +18 -0
  219. package/src/utils/math.js +114 -0
  220. package/src/utils/math.js.map +1 -0
  221. package/src/utils/object.d.ts +2 -0
  222. package/src/utils/object.js +21 -0
  223. package/src/utils/object.js.map +1 -0
  224. package/src/utils/padding.d.ts +7 -0
  225. package/src/utils/padding.js +47 -0
  226. package/src/utils/padding.js.map +1 -0
  227. package/src/utils/time.d.ts +1 -0
  228. package/src/utils/time.js +17 -0
  229. package/src/utils/time.js.map +1 -0
  230. package/src/utils/url.d.ts +4 -0
  231. package/src/utils/url.js +27 -0
  232. package/src/utils/url.js.map +1 -0
  233. package/src/utils/uuid.d.ts +4 -0
  234. package/src/utils/uuid.js +13 -0
  235. package/src/utils/uuid.js.map +1 -0
  236. package/README.md +0 -13
  237. package/package.build.json +0 -39
  238. package/src/canvas/canvas.ts +0 -8639
  239. package/src/canvas/canvasImage.ts +0 -525
  240. package/src/canvas/canvasTemplate.ts +0 -257
  241. package/src/canvas/magnifierCanvas.ts +0 -142
  242. package/src/canvas/offscreen.ts +0 -14
  243. package/src/core.ts +0 -5128
  244. package/src/data.ts +0 -86
  245. package/src/diagrams/arrow.ts +0 -50
  246. package/src/diagrams/circle.ts +0 -19
  247. package/src/diagrams/cloud.ts +0 -34
  248. package/src/diagrams/cube.ts +0 -94
  249. package/src/diagrams/diamond.ts +0 -14
  250. package/src/diagrams/file.ts +0 -19
  251. package/src/diagrams/gif.ts +0 -105
  252. package/src/diagrams/iframe.ts +0 -365
  253. package/src/diagrams/line/arrow.ts +0 -175
  254. package/src/diagrams/line/curve.ts +0 -260
  255. package/src/diagrams/line/line.ts +0 -409
  256. package/src/diagrams/line/polyline.ts +0 -676
  257. package/src/diagrams/line/smooth.ts +0 -133
  258. package/src/diagrams/message.ts +0 -17
  259. package/src/diagrams/mindLine.ts +0 -31
  260. package/src/diagrams/mindNode.ts +0 -177
  261. package/src/diagrams/panel.ts +0 -149
  262. package/src/diagrams/pentagon.ts +0 -48
  263. package/src/diagrams/pentagram.ts +0 -63
  264. package/src/diagrams/people.ts +0 -23
  265. package/src/diagrams/rectangle.ts +0 -29
  266. package/src/diagrams/svg/parse.ts +0 -319
  267. package/src/diagrams/svgPath.ts +0 -53
  268. package/src/diagrams/triangle.ts +0 -43
  269. package/src/diagrams/video.ts +0 -202
  270. package/src/dialog/dialog.ts +0 -177
  271. package/src/event/event.ts +0 -142
  272. package/src/map/map.ts +0 -239
  273. package/src/options.ts +0 -205
  274. package/src/pen/arrow.ts +0 -259
  275. package/src/pen/math.ts +0 -253
  276. package/src/pen/model.ts +0 -785
  277. package/src/pen/plugin.ts +0 -57
  278. package/src/pen/render.ts +0 -3725
  279. package/src/pen/text.ts +0 -341
  280. package/src/pen/utils.ts +0 -21
  281. package/src/point/point.ts +0 -232
  282. package/src/rect/rect.ts +0 -507
  283. package/src/rect/triangle.ts +0 -16
  284. package/src/scroll/scroll.ts +0 -277
  285. package/src/store/global.ts +0 -38
  286. package/src/store/store.ts +0 -293
  287. package/src/theme.ts +0 -35
  288. package/src/title/title.ts +0 -115
  289. package/src/tooltip/tooltip.ts +0 -199
  290. package/src/utils/clone.ts +0 -79
  291. package/src/utils/color.ts +0 -126
  292. package/src/utils/error.ts +0 -7
  293. package/src/utils/file.ts +0 -46
  294. package/src/utils/math.ts +0 -120
  295. package/src/utils/object.ts +0 -23
  296. package/src/utils/padding.ts +0 -48
  297. package/src/utils/time.ts +0 -25
  298. package/src/utils/url.ts +0 -30
  299. package/src/utils/uuid.ts +0 -15
@@ -0,0 +1,2 @@
1
+ export * from './title';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/title/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Pen } from '../pen';
2
+ import { Point } from '../point';
3
+ export declare class Title {
4
+ parentElement: HTMLElement;
5
+ box: HTMLElement;
6
+ private currentAnchor;
7
+ constructor(parentElement: HTMLElement);
8
+ /**
9
+ * @returns 此次应该展示的 title
10
+ */
11
+ private static getTitle;
12
+ /**
13
+ * @returns 返回设置前的 rect
14
+ */
15
+ private setText;
16
+ /**
17
+ * 更新文字
18
+ */
19
+ updateText(anchor: Point): void;
20
+ /**
21
+ * 改变文字会 影响 box 的大小,需要重新设置位置
22
+ * @param oldRect 原
23
+ * @param newRect 新
24
+ */
25
+ private changePositionByAnchor;
26
+ private static titleEmpty;
27
+ show(anchor: Point, pen: Pen): void;
28
+ hide(): void;
29
+ destroy(): void;
30
+ }
@@ -0,0 +1,99 @@
1
+ export class Title {
2
+ parentElement;
3
+ box;
4
+ currentAnchor; // 本次 tooltip 在哪个画笔上
5
+ constructor(parentElement) {
6
+ this.parentElement = parentElement;
7
+ this.box = document.createElement('div');
8
+ this.box.className = 'meta2d-title';
9
+ parentElement.appendChild(this.box);
10
+ // this.box.onmouseleave = () => {
11
+ // this.hide();
12
+ // };
13
+ let sheet;
14
+ for (let i = 0; i < document.styleSheets.length; i++) {
15
+ if (document.styleSheets[i].title === 'le5le.com/title') {
16
+ sheet = document.styleSheets[i];
17
+ }
18
+ }
19
+ if (!sheet) {
20
+ let style = document.createElement('style');
21
+ style.type = 'text/css';
22
+ style.title = 'le5le.com/title';
23
+ document.head.appendChild(style);
24
+ style = document.createElement('style');
25
+ style.type = 'text/css';
26
+ document.head.appendChild(style);
27
+ sheet = style.sheet;
28
+ sheet.insertRule('.meta2d-title{position:absolute;padding:0;z-index:10;left: -9999px;top: -9999px;background:#fff;color:#000; cursor: crosshair;border: 1px solid black;}');
29
+ }
30
+ }
31
+ /**
32
+ * @returns 此次应该展示的 title
33
+ */
34
+ static getTitle(anchor) {
35
+ // if (anchor.titleFnJs && !anchor.titleFn) {
36
+ // try {
37
+ // anchor.titleFn = new Function('anchor', anchor.titleFnJs) as (
38
+ // anchor: Point
39
+ // ) => string;
40
+ // } catch (error) {
41
+ // console.log('titleFnJs', error);
42
+ // }
43
+ // }
44
+ // return anchor.titleFn ? anchor.titleFn(anchor) : String(anchor.title);
45
+ }
46
+ /**
47
+ * @returns 返回设置前的 rect
48
+ */
49
+ setText(anchor) {
50
+ // this.box.title = anchor.title;
51
+ this.box.innerText = anchor.title;
52
+ }
53
+ /**
54
+ * 更新文字
55
+ */
56
+ updateText(anchor) {
57
+ if (this.currentAnchor?.id !== anchor.id) {
58
+ return;
59
+ }
60
+ if (Title.titleEmpty(anchor)) {
61
+ return;
62
+ }
63
+ this.setText(anchor);
64
+ this.changePositionByAnchor(anchor);
65
+ }
66
+ /**
67
+ * 改变文字会 影响 box 的大小,需要重新设置位置
68
+ * @param oldRect 原
69
+ * @param newRect 新
70
+ */
71
+ changePositionByAnchor(anchor) {
72
+ this.box.style.left = anchor.x + 10 + 'px';
73
+ this.box.style.top = anchor.y + 10 + 'px';
74
+ }
75
+ static titleEmpty(anchor) {
76
+ return !anchor.title; // && !anchor.titleFn && !anchor.titleFnJs;
77
+ }
78
+ show(anchor, pen) {
79
+ if (Title.titleEmpty(anchor)) {
80
+ return;
81
+ }
82
+ this.currentAnchor = anchor;
83
+ this.setText(anchor);
84
+ let pos = {
85
+ x: pen.calculative.canvas.store.data.x + anchor.x,
86
+ y: pen.calculative.canvas.store.data.y + anchor.y,
87
+ };
88
+ this.changePositionByAnchor(pos);
89
+ }
90
+ hide() {
91
+ this.box.style.left = '-9999px';
92
+ this.box.innerText = '';
93
+ this.currentAnchor = null;
94
+ }
95
+ destroy() {
96
+ this.box.onmouseleave = null;
97
+ }
98
+ }
99
+ //# sourceMappingURL=title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.js","sourceRoot":"","sources":["../../../../packages/core/src/title/title.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export * from './tooltip';
1
+ export * from './tooltip';
@@ -0,0 +1,2 @@
1
+ export * from './tooltip';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/tooltip/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { Pen } from '../pen';
2
+ import { Point } from '../point';
3
+ import { Meta2dStore } from '../store';
4
+ export declare class Tooltip {
5
+ parentElement: HTMLElement;
6
+ private store;
7
+ box: HTMLElement;
8
+ text: HTMLElement;
9
+ arrowUp: HTMLElement;
10
+ arrowDown: HTMLElement;
11
+ x: number;
12
+ y: number;
13
+ private currentPen;
14
+ constructor(parentElement: HTMLElement, store: Meta2dStore);
15
+ /**
16
+ * 通过 pen 的 titleFn titleFnJs title 来获取 title
17
+ * @returns 此次应该展示的 title
18
+ */
19
+ private static getTitle;
20
+ /**
21
+ * 更改 tooltip dom 的文本
22
+ * @returns 返回设置前的 rect
23
+ */
24
+ private setText;
25
+ /**
26
+ * 更新文字
27
+ */
28
+ updateText(pen: Pen): void;
29
+ /**
30
+ * 改变文字会 影响 box 的大小,需要重新设置位置
31
+ * @param oldRect 原
32
+ * @param newRect 新
33
+ */
34
+ private changePositionByText;
35
+ private static titleEmpty;
36
+ show(pen: Pen, pos: Point): void;
37
+ hide(): void;
38
+ translate(x: number, y: number): void;
39
+ destroy(): void;
40
+ }
@@ -0,0 +1,172 @@
1
+ import { getParent } from '../pen';
2
+ export class Tooltip {
3
+ parentElement;
4
+ store;
5
+ box;
6
+ text;
7
+ arrowUp;
8
+ arrowDown;
9
+ x;
10
+ y;
11
+ currentPen; // 本次 tooltip 在哪个画笔上
12
+ constructor(parentElement, store) {
13
+ this.parentElement = parentElement;
14
+ this.store = store;
15
+ this.box = document.createElement('div');
16
+ this.text = document.createElement('div');
17
+ this.arrowUp = document.createElement('div');
18
+ this.arrowDown = document.createElement('div');
19
+ this.box.className = 'meta2d-tooltip';
20
+ this.text.className = 'text';
21
+ this.arrowUp.className = 'arrow';
22
+ this.arrowDown.className = 'arrow down';
23
+ this.box.appendChild(this.text);
24
+ this.box.appendChild(this.arrowUp);
25
+ this.box.appendChild(this.arrowDown);
26
+ parentElement.appendChild(this.box);
27
+ this.box.onmouseleave = () => {
28
+ this.hide();
29
+ this.store.lastHover = undefined;
30
+ };
31
+ let sheet;
32
+ for (let i = 0; i < document.styleSheets.length; i++) {
33
+ if (document.styleSheets[i].title === 'le5le.com/tooltip') {
34
+ sheet = document.styleSheets[i];
35
+ }
36
+ }
37
+ if (!sheet) {
38
+ let style = document.createElement('style');
39
+ style.type = 'text/css';
40
+ style.title = 'le5le.com/tooltip';
41
+ document.head.appendChild(style);
42
+ style = document.createElement('style');
43
+ style.type = 'text/css';
44
+ document.head.appendChild(style);
45
+ sheet = style.sheet;
46
+ sheet.insertRule('.meta2d-tooltip{position:absolute;padding:8px 0;z-index:10;left: -9999px;top: -9999px;}');
47
+ sheet.insertRule('.meta2d-tooltip .text{max-width:320px;min-height:30px;max-height:400px;outline:none;padding:8px 16px;border-radius:4px;background:#777777;color:#ffffff;line-height:1.8;overflow-y:auto;}');
48
+ sheet.insertRule('.meta2d-tooltip .arrow{position:absolute;border:10px solid transparent;background:transparent;top:-5px;left:50%;transform:translateX(-50%)}');
49
+ sheet.insertRule('.meta2d-tooltip .arrow.down{top:initial;bottom: -1px;}');
50
+ }
51
+ }
52
+ /**
53
+ * 通过 pen 的 titleFn titleFnJs title 来获取 title
54
+ * @returns 此次应该展示的 title
55
+ */
56
+ static getTitle(pen) {
57
+ if (pen.titleFnJs && !pen.titleFn) {
58
+ try {
59
+ pen.titleFn = new Function('pen', pen.titleFnJs);
60
+ }
61
+ catch (error) {
62
+ console.log('titleFnJs', error);
63
+ }
64
+ }
65
+ return pen.titleFn ? pen.titleFn(pen) : String(pen.title);
66
+ }
67
+ /**
68
+ * 更改 tooltip dom 的文本
69
+ * @returns 返回设置前的 rect
70
+ */
71
+ setText(pen) {
72
+ const oldElemRect = this.box.getBoundingClientRect();
73
+ let marked = globalThis.marked;
74
+ const title = Tooltip.getTitle(pen);
75
+ if (marked) {
76
+ this.text.innerHTML = marked(title);
77
+ const a = this.text.getElementsByTagName('A');
78
+ for (let i = 0; i < a.length; ++i) {
79
+ a[i].setAttribute('target', '_blank');
80
+ }
81
+ }
82
+ else {
83
+ this.text.innerHTML = title;
84
+ }
85
+ return oldElemRect;
86
+ }
87
+ /**
88
+ * 更新文字
89
+ */
90
+ updateText(pen) {
91
+ if (this.currentPen?.id !== pen.id) {
92
+ return;
93
+ }
94
+ if (Tooltip.titleEmpty(pen)) {
95
+ return;
96
+ }
97
+ const oldRect = this.setText(pen);
98
+ const newRect = this.box.getBoundingClientRect();
99
+ this.changePositionByText(oldRect, newRect);
100
+ }
101
+ /**
102
+ * 改变文字会 影响 box 的大小,需要重新设置位置
103
+ * @param oldRect 原
104
+ * @param newRect 新
105
+ */
106
+ changePositionByText(oldRect, newRect) {
107
+ this.x -= (newRect.width - oldRect.width) / 2;
108
+ this.y -= newRect.height - oldRect.height;
109
+ this.box.style.left = this.x + 'px';
110
+ this.box.style.top = this.y + 'px';
111
+ }
112
+ static titleEmpty(pen) {
113
+ return !pen.title && !pen.titleFn && !pen.titleFnJs;
114
+ }
115
+ show(pen, pos) {
116
+ this.currentPen = pen;
117
+ if (Tooltip.titleEmpty(pen)) {
118
+ let parent = getParent(pen, true);
119
+ if (parent) {
120
+ this.show(parent, pos);
121
+ }
122
+ return;
123
+ }
124
+ this.setText(pen);
125
+ const elemRect = this.box.getBoundingClientRect();
126
+ const rect = pen.calculative.worldRect;
127
+ let x = pen.calculative.canvas.store.data.x + pos.x - elemRect.width / 2;
128
+ let y = pen.calculative.canvas.store.data.y + pos.y - elemRect.height;
129
+ if (!pen.type) {
130
+ x =
131
+ pen.calculative.canvas.store.data.x +
132
+ rect.x -
133
+ (elemRect.width - rect.width) / 2;
134
+ y =
135
+ pen.calculative.canvas.store.data.y +
136
+ rect.ey -
137
+ elemRect.height -
138
+ rect.height;
139
+ }
140
+ if (y > 0) {
141
+ this.arrowUp.style.borderBottomColor = 'transparent';
142
+ this.arrowDown.style.borderTopColor = '#777777';
143
+ }
144
+ else {
145
+ y += elemRect.height + rect.height + 5;
146
+ this.arrowUp.style.borderBottomColor = '#777777';
147
+ this.arrowDown.style.borderTopColor = 'transparent';
148
+ }
149
+ this.x = x;
150
+ this.y = y;
151
+ this.box.style.left = this.x + 'px';
152
+ this.box.style.top = this.y + 'px';
153
+ }
154
+ hide() {
155
+ this.currentPen = null;
156
+ this.x = -9999;
157
+ this.box.style.left = '-9999px';
158
+ }
159
+ translate(x, y) {
160
+ if (this.x < -1000) {
161
+ return;
162
+ }
163
+ this.x += x;
164
+ this.y += y;
165
+ this.box.style.left = this.x + 'px';
166
+ this.box.style.top = this.y + 'px';
167
+ }
168
+ destroy() {
169
+ this.box.onmouseleave = null;
170
+ }
171
+ }
172
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../packages/core/src/tooltip/tooltip.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 拷贝一个对象
3
+ * @param o - object to clone
4
+ * @param keepCalc 是否保留计算属性, false, 不保留, true, 保留(但 calculative.canvas 属性仍不保存)
5
+ * @returns 拷贝后的对象
6
+ */
7
+ export declare function deepClone<T>(o: T, keepCalc?: boolean): T;
8
+ export declare function deepSetValue<T>(o: any, keyWords: string[], value: number): T;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * 拷贝一个对象
3
+ * @param o - object to clone
4
+ * @param keepCalc 是否保留计算属性, false, 不保留, true, 保留(但 calculative.canvas 属性仍不保存)
5
+ * @returns 拷贝后的对象
6
+ */
7
+ export function deepClone(o, keepCalc = false) {
8
+ if (Array.isArray(o)) {
9
+ const arr = [];
10
+ o.forEach((item) => {
11
+ arr.push(deepClone(item, keepCalc));
12
+ });
13
+ return arr;
14
+ }
15
+ else if (typeof o === 'object') {
16
+ if (o === null) {
17
+ return null;
18
+ }
19
+ else if (o.constructor === RegExp) {
20
+ return o;
21
+ }
22
+ const _o = {};
23
+ for (const key in o) {
24
+ if (['canvas', 'lastFrame'].includes(key) ||
25
+ o[key] instanceof HTMLImageElement ||
26
+ o[key] instanceof HTMLMediaElement) {
27
+ continue;
28
+ }
29
+ else if (key === 'calculative' && !keepCalc) {
30
+ continue;
31
+ }
32
+ else if (key === 'singleton') {
33
+ if (keepCalc) {
34
+ _o[key] = {};
35
+ }
36
+ else {
37
+ _o[key] = o[key];
38
+ }
39
+ continue;
40
+ }
41
+ _o[key] = deepClone(o[key], keepCalc);
42
+ }
43
+ return _o;
44
+ }
45
+ return o;
46
+ }
47
+ export function deepSetValue(o, keyWords, value) {
48
+ if (Array.isArray(o)) {
49
+ const arr = [];
50
+ o.forEach((item) => {
51
+ arr.push(deepSetValue(item, keyWords, value));
52
+ });
53
+ return arr;
54
+ }
55
+ else if (typeof o === 'object') {
56
+ if (o === null) {
57
+ return null;
58
+ }
59
+ // const _o = {} as any;
60
+ for (const key in o) {
61
+ if (keyWords.includes(key)) {
62
+ if (Array.isArray(o[key])) {
63
+ o[key].forEach((i, index) => {
64
+ if (!Number.isNaN(Number(i))) {
65
+ o[key][index] = Number(i * value);
66
+ }
67
+ });
68
+ }
69
+ else {
70
+ if (Number.isNaN(Number(o[key]))) {
71
+ continue;
72
+ }
73
+ o[key] = Number(o[key]) * value;
74
+ }
75
+ }
76
+ else {
77
+ o[key] = deepSetValue(o[key], keyWords, value);
78
+ }
79
+ }
80
+ return o;
81
+ }
82
+ return o;
83
+ }
84
+ //# sourceMappingURL=clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function pSBCr(d: any): any;
2
+ export declare function pSBC(p: any, c0: any, c1?: any, l?: any): string;
3
+ export declare function rgba(c: string, p: number): string;
@@ -0,0 +1,110 @@
1
+ // pSBC - Shade Blend Convert - Version 4.0 - 02/18/2019
2
+ // https://github.com/PimpTrizkit/PJs/edit/master/pSBC.js
3
+ export function pSBCr(d) {
4
+ const i = parseInt, m = Math.round;
5
+ let n = d.length, x = {};
6
+ if (n > 9) {
7
+ const [r, g, b, a] = (d = d.split(','));
8
+ n = d.length;
9
+ if (n < 3 || n > 4)
10
+ return null;
11
+ (x.r = i(r[3] == 'a' ? r.slice(5) : r.slice(4))),
12
+ (x.g = i(g)),
13
+ (x.b = i(b)),
14
+ (x.a = a ? parseFloat(a) : -1);
15
+ }
16
+ else {
17
+ if (n == 8 || n == 6 || n < 4)
18
+ return null;
19
+ if (n < 6)
20
+ d =
21
+ '#' +
22
+ d[1] +
23
+ d[1] +
24
+ d[2] +
25
+ d[2] +
26
+ d[3] +
27
+ d[3] +
28
+ (n > 4 ? d[4] + d[4] : '');
29
+ d = i(d.slice(1), 16);
30
+ if (n == 9 || n == 5)
31
+ (x.r = (d >> 24) & 255),
32
+ (x.g = (d >> 16) & 255),
33
+ (x.b = (d >> 8) & 255),
34
+ (x.a = m((d & 255) / 0.255) / 1000);
35
+ else
36
+ (x.r = d >> 16), (x.g = (d >> 8) & 255), (x.b = d & 255), (x.a = -1);
37
+ }
38
+ return x;
39
+ }
40
+ /*
41
+ example:
42
+ pSBC ( 0.42, color1 ); // rgb(20,60,200) + [42% Lighter] => rgb(166,171,225)
43
+ pSBC ( -0.4, color5 ); // #F3A + [40% Darker] => #c62884
44
+
45
+ pSBC ( -0.5, color2, color8, true ); // rgba(20,60,200,0.67423) + rgba(200,60,20,0.98631) + [50% Blend] => rgba(110,60,110,0.83)
46
+ pSBC ( 0.7, color2, color7, true ); // rgba(20,60,200,0.67423) + rgb(200,60,20) + [70% Blend] => rgba(146,60,74,0.67423)
47
+
48
+ more:
49
+ https://github-wiki-see.page/m/PimpTrizkit/PJs/wiki/12.-Shade%2C-Blend-and-Convert-a-Web-Color-%28pSBC.js%29
50
+ */
51
+ export function pSBC(p, c0, c1, l) {
52
+ let r, g, b, P, f, t, h, m = Math.round, a = typeof c1 == 'string';
53
+ if (typeof p != 'number' ||
54
+ p < -1 ||
55
+ p > 1 ||
56
+ typeof c0 != 'string' ||
57
+ (c0[0] != 'r' && c0[0] != '#') ||
58
+ (c1 && !a))
59
+ return null;
60
+ (h = c0.length > 9),
61
+ (h = a ? (c1.length > 9 ? true : c1 == 'c' ? !h : false) : h),
62
+ (f = pSBCr(c0)),
63
+ (P = p < 0),
64
+ (t =
65
+ c1 && c1 != 'c'
66
+ ? pSBCr(c1)
67
+ : P
68
+ ? { r: 0, g: 0, b: 0, a: -1 }
69
+ : { r: 255, g: 255, b: 255, a: -1 }),
70
+ (p = P ? p * -1 : p),
71
+ (P = 1 - p);
72
+ if (!f || !t)
73
+ return null;
74
+ if (l)
75
+ (r = m(P * f.r + p * t.r)),
76
+ (g = m(P * f.g + p * t.g)),
77
+ (b = m(P * f.b + p * t.b));
78
+ else
79
+ (r = m((P * f.r ** 2 + p * t.r ** 2) ** 0.5)),
80
+ (g = m((P * f.g ** 2 + p * t.g ** 2) ** 0.5)),
81
+ (b = m((P * f.b ** 2 + p * t.b ** 2) ** 0.5));
82
+ (a = f.a),
83
+ (t = t.a),
84
+ (f = a >= 0 || t >= 0),
85
+ (a = f ? (a < 0 ? t : t < 0 ? a : a * P + t * p) : 0);
86
+ if (h)
87
+ return ('rgb' +
88
+ (f ? 'a(' : '(') +
89
+ r +
90
+ ',' +
91
+ g +
92
+ ',' +
93
+ b +
94
+ (f ? ',' + m(a * 1000) / 1000 : '') +
95
+ ')');
96
+ else
97
+ return ('#' +
98
+ (4294967296 + r * 16777216 + g * 65536 + b * 256 + (f ? m(a * 255) : 0))
99
+ .toString(16)
100
+ .slice(1, f ? undefined : -2));
101
+ }
102
+ globalThis.pSBC = pSBC;
103
+ export function rgba(c, p) {
104
+ const f = pSBCr(c) || { r: 0, g: 0, b: 0 };
105
+ if (f.a < 0) {
106
+ return `rgba(${f.r},${f.g},${f.b},${p})`;
107
+ }
108
+ return `rgba(${f.r},${f.g},${f.b},${p + f.a})`;
109
+ }
110
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/color.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yDAAyD;AAEzD,MAAM,UAAU,KAAK,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,QAAQ,EAChB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACjB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EACd,CAAC,GAAQ,EAAE,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC;YACP,CAAC;gBACC,GAAG;oBACH,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;gBACrB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;gBACvB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;;YACnC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;EAUE;AAEF,MAAM,UAAU,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAG,EAAE,CAAE;IACjC,IAAI,CAAC,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,IAAI,CAAC,KAAK,EACd,CAAC,GAAQ,OAAO,EAAE,IAAI,QAAQ,CAAC;IACjC,IACE,OAAO,CAAC,IAAI,QAAQ;QACpB,CAAC,GAAG,CAAC,CAAC;QACN,CAAC,GAAG,CAAC;QACL,OAAO,EAAE,IAAI,QAAQ;QACrB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAC9B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,CAAC,CAAC;YACA,EAAE,IAAI,EAAE,IAAI,GAAG;gBACb,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;oBAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;QAE7B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,CACL,KAAK;YACL,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAChB,CAAC;YACD,GAAG;YACH,CAAC;YACD,GAAG;YACH,CAAC;YACD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CACJ,CAAC;;QAEF,OAAO,CACL,GAAG;YACH,CAAC,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrE,QAAQ,CAAC,EAAE,CAAC;iBACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChC,CAAC;AACN,CAAC;AAED,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;AAEvB,MAAM,UAAU,IAAI,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3C,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Meta2dStore } from '../store';
2
+ export declare function lockedError(store: Meta2dStore): void;
@@ -0,0 +1,6 @@
1
+ export function lockedError(store) {
2
+ if (store.data.locked) {
3
+ throw new Error('canvas is locked');
4
+ }
5
+ }
6
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../packages/core/src/utils/error.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function fileToBase64(file: File): Promise<string>;
2
+ export declare function uploadFile(file: File, url: string, params: Record<string, any>, headers: Record<string, string>): Promise<string>;
3
+ export declare function loadCss(url: string, success?: any, error?: any): void;