rete-angular-plugin 2.0.0 → 2.1.0

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 (230) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +55 -23
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/core.d.ts +21 -1
  4. package/12/esm2015/core.js +17 -1
  5. package/12/esm2015/index.js +2 -1
  6. package/12/esm2015/module.js +3 -2
  7. package/12/esm2015/presets/classic/components/control/control.component.js +1 -1
  8. package/12/esm2015/presets/classic/components/node/node.component.js +4 -24
  9. package/12/esm2015/presets/classic/index.js +4 -1
  10. package/12/esm2015/presets/context-menu/index.js +4 -1
  11. package/12/esm2015/presets/index.js +5 -1
  12. package/12/esm2015/presets/minimap/index.js +4 -1
  13. package/12/esm2015/presets/reroute/index.js +4 -1
  14. package/12/esm2015/ref.js +27 -0
  15. package/12/fesm2015/rete-angular-plugin-ng12.js +57 -20
  16. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  17. package/12/index.d.ts +1 -0
  18. package/12/module.d.ts +8 -7
  19. package/12/presets/classic/components/node/node.component.d.ts +1 -10
  20. package/12/presets/classic/index.d.ts +3 -0
  21. package/12/presets/context-menu/index.d.ts +3 -0
  22. package/12/presets/index.d.ts +4 -0
  23. package/12/presets/minimap/index.d.ts +3 -0
  24. package/12/presets/reroute/index.d.ts +3 -0
  25. package/12/ref.d.ts +12 -0
  26. package/13/core.d.ts +21 -1
  27. package/13/esm2020/core.mjs +17 -1
  28. package/13/esm2020/index.mjs +2 -1
  29. package/13/esm2020/module.mjs +3 -2
  30. package/13/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  31. package/13/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  32. package/13/esm2020/presets/classic/index.mjs +4 -1
  33. package/13/esm2020/presets/context-menu/index.mjs +4 -1
  34. package/13/esm2020/presets/index.mjs +5 -1
  35. package/13/esm2020/presets/minimap/index.mjs +4 -1
  36. package/13/esm2020/presets/reroute/index.mjs +4 -1
  37. package/13/esm2020/ref.mjs +27 -0
  38. package/13/fesm2015/rete-angular-plugin-ng13.mjs +59 -22
  39. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  40. package/13/fesm2020/rete-angular-plugin-ng13.mjs +57 -20
  41. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  42. package/13/index.d.ts +1 -0
  43. package/13/module.d.ts +8 -7
  44. package/13/presets/classic/components/node/node.component.d.ts +1 -10
  45. package/13/presets/classic/index.d.ts +3 -0
  46. package/13/presets/context-menu/index.d.ts +3 -0
  47. package/13/presets/index.d.ts +4 -0
  48. package/13/presets/minimap/index.d.ts +3 -0
  49. package/13/presets/reroute/index.d.ts +3 -0
  50. package/13/ref.d.ts +12 -0
  51. package/14/core.d.ts +21 -1
  52. package/14/esm2020/core.mjs +17 -1
  53. package/14/esm2020/index.mjs +2 -1
  54. package/14/esm2020/module.mjs +3 -2
  55. package/14/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  56. package/14/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  57. package/14/esm2020/presets/classic/index.mjs +4 -1
  58. package/14/esm2020/presets/context-menu/index.mjs +4 -1
  59. package/14/esm2020/presets/index.mjs +5 -1
  60. package/14/esm2020/presets/minimap/index.mjs +4 -1
  61. package/14/esm2020/presets/reroute/index.mjs +4 -1
  62. package/14/esm2020/ref.mjs +27 -0
  63. package/14/fesm2015/rete-angular-plugin-ng14.mjs +59 -22
  64. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  65. package/14/fesm2020/rete-angular-plugin-ng14.mjs +57 -20
  66. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  67. package/14/index.d.ts +1 -0
  68. package/14/module.d.ts +8 -7
  69. package/14/presets/classic/components/node/node.component.d.ts +1 -10
  70. package/14/presets/classic/index.d.ts +3 -0
  71. package/14/presets/context-menu/index.d.ts +3 -0
  72. package/14/presets/index.d.ts +4 -0
  73. package/14/presets/minimap/index.d.ts +3 -0
  74. package/14/presets/reroute/index.d.ts +3 -0
  75. package/14/ref.d.ts +12 -0
  76. package/15/core.d.ts +21 -1
  77. package/15/esm2020/core.mjs +17 -1
  78. package/15/esm2020/index.mjs +2 -1
  79. package/15/esm2020/module.mjs +3 -2
  80. package/15/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  81. package/15/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  82. package/15/esm2020/presets/classic/index.mjs +4 -1
  83. package/15/esm2020/presets/context-menu/index.mjs +4 -1
  84. package/15/esm2020/presets/index.mjs +5 -1
  85. package/15/esm2020/presets/minimap/index.mjs +4 -1
  86. package/15/esm2020/presets/reroute/index.mjs +4 -1
  87. package/15/esm2020/ref.mjs +27 -0
  88. package/15/fesm2015/rete-angular-plugin-ng15.mjs +59 -22
  89. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  90. package/15/fesm2020/rete-angular-plugin-ng15.mjs +57 -20
  91. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  92. package/15/index.d.ts +1 -0
  93. package/15/module.d.ts +8 -7
  94. package/15/presets/classic/components/node/node.component.d.ts +1 -10
  95. package/15/presets/classic/index.d.ts +3 -0
  96. package/15/presets/context-menu/index.d.ts +3 -0
  97. package/15/presets/index.d.ts +4 -0
  98. package/15/presets/minimap/index.d.ts +3 -0
  99. package/15/presets/reroute/index.d.ts +3 -0
  100. package/15/ref.d.ts +12 -0
  101. package/16/core.d.ts +21 -1
  102. package/16/esm2022/core.mjs +17 -1
  103. package/16/esm2022/index.mjs +2 -1
  104. package/16/esm2022/module.mjs +3 -2
  105. package/16/esm2022/presets/classic/components/control/control.component.mjs +1 -1
  106. package/16/esm2022/presets/classic/components/node/node.component.mjs +4 -27
  107. package/16/esm2022/presets/classic/index.mjs +4 -1
  108. package/16/esm2022/presets/context-menu/index.mjs +4 -1
  109. package/16/esm2022/presets/index.mjs +5 -1
  110. package/16/esm2022/presets/minimap/index.mjs +4 -1
  111. package/16/esm2022/presets/reroute/index.mjs +4 -1
  112. package/16/esm2022/ref.mjs +30 -0
  113. package/16/fesm2022/rete-angular-plugin-ng16.mjs +60 -23
  114. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  115. package/16/index.d.ts +1 -0
  116. package/16/module.d.ts +8 -7
  117. package/16/presets/classic/components/node/node.component.d.ts +1 -10
  118. package/16/presets/classic/index.d.ts +3 -0
  119. package/16/presets/context-menu/index.d.ts +3 -0
  120. package/16/presets/index.d.ts +4 -0
  121. package/16/presets/minimap/index.d.ts +3 -0
  122. package/16/presets/reroute/index.d.ts +3 -0
  123. package/16/ref.d.ts +12 -0
  124. package/17/core.d.ts +68 -0
  125. package/17/esm2022/core.mjs +127 -0
  126. package/17/esm2022/index.mjs +12 -0
  127. package/17/esm2022/module.mjs +50 -0
  128. package/17/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  129. package/17/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  130. package/17/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  131. package/17/esm2022/presets/classic/components/index.mjs +6 -0
  132. package/17/esm2022/presets/classic/components/node/node.component.mjs +122 -0
  133. package/17/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  134. package/17/esm2022/presets/classic/index.mjs +114 -0
  135. package/17/esm2022/presets/classic/types.mjs +2 -0
  136. package/17/esm2022/presets/context-menu/components/index.mjs +4 -0
  137. package/17/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  138. package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  139. package/17/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  140. package/17/esm2022/presets/context-menu/debounce.mjs +17 -0
  141. package/17/esm2022/presets/context-menu/index.mjs +41 -0
  142. package/17/esm2022/presets/context-menu/module.mjs +35 -0
  143. package/17/esm2022/presets/context-menu/types.mjs +2 -0
  144. package/17/esm2022/presets/index.mjs +9 -0
  145. package/17/esm2022/presets/minimap/components/index.mjs +4 -0
  146. package/17/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  147. package/17/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  148. package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  149. package/17/esm2022/presets/minimap/index.mjs +45 -0
  150. package/17/esm2022/presets/minimap/module.mjs +35 -0
  151. package/17/esm2022/presets/minimap/types.mjs +2 -0
  152. package/17/esm2022/presets/reroute/components/index.mjs +3 -0
  153. package/17/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  154. package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  155. package/17/esm2022/presets/reroute/index.mjs +43 -0
  156. package/17/esm2022/presets/reroute/module.mjs +30 -0
  157. package/17/esm2022/presets/reroute/types.mjs +2 -0
  158. package/17/esm2022/presets/types.mjs +2 -0
  159. package/17/esm2022/ref.mjs +30 -0
  160. package/17/esm2022/rete-angular-plugin-ng17.mjs +5 -0
  161. package/17/esm2022/shared/drag.mjs +23 -0
  162. package/17/esm2022/types.mjs +2 -0
  163. package/17/fesm2022/rete-angular-plugin-ng17.mjs +1527 -0
  164. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -0
  165. package/17/index.d.ts +13 -0
  166. package/17/module.d.ts +13 -0
  167. package/17/package.json +24 -0
  168. package/17/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  169. package/17/presets/classic/components/connection/connection.component.d.ts +11 -0
  170. package/17/presets/classic/components/control/control.component.d.ts +14 -0
  171. package/17/presets/classic/components/index.d.ts +5 -0
  172. package/17/presets/classic/components/node/node.component.d.ts +19 -0
  173. package/17/presets/classic/components/socket/socket.component.d.ts +12 -0
  174. package/17/presets/classic/index.d.ts +21 -0
  175. package/17/presets/classic/types.d.ts +49 -0
  176. package/17/presets/context-menu/components/index.d.ts +3 -0
  177. package/17/presets/context-menu/components/item/item.component.d.ts +26 -0
  178. package/17/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  179. package/17/presets/context-menu/components/search/search.component.d.ts +8 -0
  180. package/17/presets/context-menu/debounce.d.ts +5 -0
  181. package/17/presets/context-menu/index.d.ts +9 -0
  182. package/17/presets/context-menu/module.d.ts +10 -0
  183. package/17/presets/context-menu/types.d.ts +12 -0
  184. package/17/presets/index.d.ts +8 -0
  185. package/17/presets/minimap/components/index.d.ts +3 -0
  186. package/17/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  187. package/17/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  188. package/17/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  189. package/17/presets/minimap/index.d.ts +9 -0
  190. package/17/presets/minimap/module.d.ts +10 -0
  191. package/17/presets/minimap/types.d.ts +22 -0
  192. package/17/presets/reroute/components/index.d.ts +2 -0
  193. package/17/presets/reroute/components/pin/pin.component.d.ts +30 -0
  194. package/17/presets/reroute/components/pins/pins.component.d.ts +17 -0
  195. package/17/presets/reroute/index.d.ts +13 -0
  196. package/17/presets/reroute/module.d.ts +9 -0
  197. package/17/presets/reroute/types.d.ts +18 -0
  198. package/17/presets/types.d.ts +15 -0
  199. package/17/ref.d.ts +12 -0
  200. package/17/shared/drag.d.ts +10 -0
  201. package/17/types.d.ts +29 -0
  202. package/CHANGELOG.md +50 -0
  203. package/bundles/rete-angular-plugin.umd.js +66 -35
  204. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  205. package/core.d.ts +21 -1
  206. package/esm2015/core.js +17 -1
  207. package/esm2015/index.js +2 -1
  208. package/esm2015/module.js +3 -2
  209. package/esm2015/presets/classic/components/control/control.component.js +1 -1
  210. package/esm2015/presets/classic/components/node/node.component.js +2 -23
  211. package/esm2015/presets/classic/index.js +4 -1
  212. package/esm2015/presets/context-menu/index.js +4 -1
  213. package/esm2015/presets/index.js +1 -1
  214. package/esm2015/presets/minimap/index.js +4 -1
  215. package/esm2015/presets/reroute/index.js +4 -1
  216. package/esm2015/ref.js +26 -0
  217. package/esm2015/rete-angular-plugin.js +14 -14
  218. package/fesm2015/rete-angular-plugin.js +54 -22
  219. package/fesm2015/rete-angular-plugin.js.map +1 -1
  220. package/index.d.ts +1 -0
  221. package/package.json +8 -8
  222. package/presets/classic/components/node/node.component.d.ts +1 -8
  223. package/presets/classic/index.d.ts +3 -0
  224. package/presets/context-menu/index.d.ts +3 -0
  225. package/presets/index.d.ts +4 -0
  226. package/presets/minimap/index.d.ts +3 -0
  227. package/presets/reroute/index.d.ts +3 -0
  228. package/ref.d.ts +9 -0
  229. package/rete-angular-plugin.d.ts +13 -13
  230. package/rete-angular-plugin.metadata.json +1 -1
@@ -0,0 +1,17 @@
1
+ export function debounce(cb) {
2
+ return {
3
+ timeout: null,
4
+ cancel() {
5
+ if (this.timeout) {
6
+ window.clearTimeout(this.timeout);
7
+ this.timeout = null;
8
+ }
9
+ },
10
+ call(delay) {
11
+ this.timeout = window.setTimeout(() => {
12
+ cb();
13
+ }, delay);
14
+ }
15
+ };
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvZGVib3VuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVEsQ0FBQyxFQUFjO0lBQ3JDLE9BQU87UUFDTCxPQUFPLEVBQUUsSUFBcUI7UUFDOUIsTUFBTTtZQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO2FBQ3BCO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFhO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BDLEVBQUUsRUFBRSxDQUFBO1lBQ04sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ1gsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlKGNiOiAoKSA9PiB2b2lkKSB7XG4gIHJldHVybiB7XG4gICAgdGltZW91dDogbnVsbCBhcyBudWxsIHwgbnVtYmVyLFxuICAgIGNhbmNlbCgpIHtcbiAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpXG4gICAgICAgIHRoaXMudGltZW91dCA9IG51bGxcbiAgICAgIH1cbiAgICB9LFxuICAgIGNhbGwoZGVsYXk6IG51bWJlcikge1xuICAgICAgdGhpcy50aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjYigpXG4gICAgICB9LCBkZWxheSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { ContextMenuComponent } from './components/menu/menu.component';
2
+ /**
3
+ * Preset for rendering context menu.
4
+ */
5
+ export function setup(props) {
6
+ const delay = typeof props?.delay === 'undefined' ? 1000 : props.delay;
7
+ return {
8
+ update(context) {
9
+ if (context.data.type === 'contextmenu') {
10
+ return {
11
+ items: context.data.items,
12
+ delay,
13
+ searchBar: context.data.searchBar,
14
+ onHide: context.data.onHide
15
+ };
16
+ }
17
+ },
18
+ mount(context, plugin) {
19
+ const parent = plugin.parentScope();
20
+ const emit = parent.emit.bind(parent);
21
+ const rendered = () => {
22
+ emit({ type: 'rendered', data: context.data });
23
+ };
24
+ if (context.data.type === 'contextmenu') {
25
+ return {
26
+ key: 'context-menu',
27
+ component: ContextMenuComponent,
28
+ props: {
29
+ items: context.data.items,
30
+ delay,
31
+ searchBar: context.data.searchBar,
32
+ onHide: context.data.onHide,
33
+ rendered
34
+ }
35
+ };
36
+ }
37
+ return null;
38
+ }
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHeEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUEyRCxLQUEwQjtJQUN4RyxNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssRUFBRSxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFFdEUsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7Z0JBQ3ZDLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDekIsS0FBSztvQkFDTCxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNqQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUM1QixDQUFBO2FBQ0Y7UUFDSCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQVMsQ0FBQyxDQUFBO1lBQ3ZELENBQUMsQ0FBQTtZQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO2dCQUN2QyxPQUFPO29CQUNMLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsb0JBQW9CO29CQUMvQixLQUFLLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsS0FBSzt3QkFDTCxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO3dCQUNqQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO3dCQUMzQixRQUFRO3FCQUNUO2lCQUNGLENBQUE7YUFDRjtZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNjaGVtZXMgfSBmcm9tICdyZXRlJztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnVSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVuZGVyUHJlc2V0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFByZXNldCBmb3IgcmVuZGVyaW5nIGNvbnRleHQgbWVudS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcywgSyBleHRlbmRzIENvbnRleHRNZW51UmVuZGVyPihwcm9wcz86IHsgZGVsYXk/OiBudW1iZXIgfSk6IFJlbmRlclByZXNldDxTY2hlbWVzLCBLPiB7XG4gIGNvbnN0IGRlbGF5ID0gdHlwZW9mIHByb3BzPy5kZWxheSA9PT0gJ3VuZGVmaW5lZCcgPyAxMDAwIDogcHJvcHMuZGVsYXlcblxuICByZXR1cm4ge1xuICAgIHVwZGF0ZShjb250ZXh0KSB7XG4gICAgICBpZiAoY29udGV4dC5kYXRhLnR5cGUgPT09ICdjb250ZXh0bWVudScpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpdGVtczogY29udGV4dC5kYXRhLml0ZW1zLFxuICAgICAgICAgIGRlbGF5LFxuICAgICAgICAgIHNlYXJjaEJhcjogY29udGV4dC5kYXRhLnNlYXJjaEJhcixcbiAgICAgICAgICBvbkhpZGU6IGNvbnRleHQuZGF0YS5vbkhpZGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgbW91bnQoY29udGV4dCwgcGx1Z2luKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBwbHVnaW4ucGFyZW50U2NvcGUoKVxuICAgICAgY29uc3QgZW1pdCA9IHBhcmVudC5lbWl0LmJpbmQocGFyZW50KVxuICAgICAgY29uc3QgcmVuZGVyZWQgPSAoKSA9PiB7XG4gICAgICAgIGVtaXQoeyB0eXBlOiAncmVuZGVyZWQnLCBkYXRhOiBjb250ZXh0LmRhdGEgfSBhcyBhbnkpXG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJ2NvbnRleHQtbWVudScsXG4gICAgICAgICAgY29tcG9uZW50OiBDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgaXRlbXM6IGNvbnRleHQuZGF0YS5pdGVtcyxcbiAgICAgICAgICAgIGRlbGF5LFxuICAgICAgICAgICAgc2VhcmNoQmFyOiBjb250ZXh0LmRhdGEuc2VhcmNoQmFyLFxuICAgICAgICAgICAgb25IaWRlOiBjb250ZXh0LmRhdGEub25IaWRlLFxuICAgICAgICAgICAgcmVuZGVyZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ContextMenuComponent } from './components/menu/menu.component';
4
+ import { ContextMenuSearchComponent } from './components/search/search.component';
5
+ import { ContextMenuItemComponent } from './components/item/item.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ReteContextMenuModule {
8
+ static ɵfac = function ReteContextMenuModule_Factory(t) { return new (t || ReteContextMenuModule)(); };
9
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteContextMenuModule });
10
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
11
+ }
12
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteContextMenuModule, [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ ContextMenuComponent,
17
+ ContextMenuSearchComponent,
18
+ ContextMenuItemComponent
19
+ ],
20
+ imports: [
21
+ CommonModule
22
+ ],
23
+ exports: [
24
+ ContextMenuComponent,
25
+ ContextMenuSearchComponent,
26
+ ContextMenuItemComponent,
27
+ ]
28
+ }]
29
+ }], null, null); })();
30
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteContextMenuModule, { declarations: [ContextMenuComponent,
31
+ ContextMenuSearchComponent,
32
+ ContextMenuItemComponent], imports: [CommonModule], exports: [ContextMenuComponent,
33
+ ContextMenuSearchComponent,
34
+ ContextMenuItemComponent] }); })();
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7QUFpQjNFLE1BQU0sT0FBTyxxQkFBcUI7K0VBQXJCLHFCQUFxQjs0REFBckIscUJBQXFCO2dFQVI5QixZQUFZOztpRkFRSCxxQkFBcUI7Y0FmakMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixvQkFBb0I7b0JBQ3BCLDBCQUEwQjtvQkFDMUIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtpQkFDekI7YUFDRjs7d0ZBQ1kscUJBQXFCLG1CQWI5QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLHdCQUF3QixhQUd4QixZQUFZLGFBR1osb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCdcbmltcG9ydCB7IENvbnRleHRNZW51U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2l0ZW0vaXRlbS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIENvbnRleHRNZW51U2VhcmNoQ29tcG9uZW50LFxuICAgIENvbnRleHRNZW51SXRlbUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBDb250ZXh0TWVudVNlYXJjaENvbXBvbmVudCxcbiAgICBDb250ZXh0TWVudUl0ZW1Db21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZUNvbnRleHRNZW51TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlclNpZ25hbCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBJdGVtID0ge1xuICBsYWJlbDogc3RyaW5nXG4gIGtleTogc3RyaW5nXG4gIGhhbmRsZXIoKTogdm9pZFxuICBzdWJpdGVtcz86IEl0ZW1bXVxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudVJlbmRlciA9XG4gIHwgUmVuZGVyU2lnbmFsPCdjb250ZXh0bWVudScsIHsgaXRlbXM6IEl0ZW1bXSwgb25IaWRlKCk6IHZvaWQsIHNlYXJjaEJhcj86IGJvb2xlYW4gfT5cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Built-in presets, responsible for rendering different parts of the editor.
3
+ * @module
4
+ */
5
+ export * as classic from './classic';
6
+ export * as contextMenu from './context-menu';
7
+ export * as minimap from './minimap';
8
+ export * as reroute from './reroute';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEtBQUssT0FBTyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdWlsdC1pbiBwcmVzZXRzLCByZXNwb25zaWJsZSBmb3IgcmVuZGVyaW5nIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZWRpdG9yLlxuICogQG1vZHVsZVxuICovXG5leHBvcnQgKiBhcyBjbGFzc2ljIGZyb20gJy4vY2xhc3NpYydcbmV4cG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gJy4vY29udGV4dC1tZW51J1xuZXhwb3J0ICogYXMgbWluaW1hcCBmcm9tICcuL21pbmltYXAnXG5leHBvcnQgKiBhcyByZXJvdXRlIGZyb20gJy4vcmVyb3V0ZSdcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export { MinimapComponent } from './minimap/minimap.component';
2
+ export { MiniViewportComponent } from './mini-viewport/mini-viewport.component';
3
+ export { MiniNodeComponent } from './mini-node/mini-node.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNaW5pbWFwQ29tcG9uZW50IH0gZnJvbSAnLi9taW5pbWFwL21pbmltYXAuY29tcG9uZW50JztcbmV4cG9ydCB7IE1pbmlWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBNaW5pTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vbWluaS1ub2RlL21pbmktbm9kZS5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,55 @@
1
+ import { Component, Input, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MiniNodeComponent {
4
+ left;
5
+ top;
6
+ width;
7
+ height;
8
+ get styleLeft() {
9
+ return this.px(this.left);
10
+ }
11
+ get styleTop() {
12
+ return this.px(this.top);
13
+ }
14
+ get styleWidth() {
15
+ return this.px(this.width);
16
+ }
17
+ get styleHeight() {
18
+ return this.px(this.height);
19
+ }
20
+ px(value) {
21
+ return `${value}px`;
22
+ }
23
+ static ɵfac = function MiniNodeComponent_Factory(t) { return new (t || MiniNodeComponent)(); };
24
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniNodeComponent, selectors: [["minimap-mini-node"]], hostAttrs: ["data-testid", "minimap-node"], hostVars: 8, hostBindings: function MiniNodeComponent_HostBindings(rf, ctx) { if (rf & 2) {
25
+ i0.ɵɵstyleProp("left", ctx.styleLeft)("top", ctx.styleTop)("width", ctx.styleWidth)("height", ctx.styleHeight);
26
+ } }, inputs: { left: "left", top: "top", width: "width", height: "height" }, decls: 0, vars: 0, template: function MiniNodeComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:block;position:absolute;background:rgba(110,136,255,.8);border:1px solid rgba(192,206,212,.6)}"] });
27
+ }
28
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MiniNodeComponent, [{
29
+ type: Component,
30
+ args: [{ selector: 'minimap-mini-node', host: {
31
+ 'data-testid': 'minimap-node'
32
+ }, template: "", styles: [":host{display:block;position:absolute;background:rgba(110,136,255,.8);border:1px solid rgba(192,206,212,.6)}\n"] }]
33
+ }], null, { left: [{
34
+ type: Input
35
+ }], top: [{
36
+ type: Input
37
+ }], width: [{
38
+ type: Input
39
+ }], height: [{
40
+ type: Input
41
+ }], styleLeft: [{
42
+ type: HostBinding,
43
+ args: ['style.left']
44
+ }], styleTop: [{
45
+ type: HostBinding,
46
+ args: ['style.top']
47
+ }], styleWidth: [{
48
+ type: HostBinding,
49
+ args: ['style.width']
50
+ }], styleHeight: [{
51
+ type: HostBinding,
52
+ args: ['style.height']
53
+ }] }); })();
54
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MiniNodeComponent, { className: "MiniNodeComponent", filePath: "presets/minimap/components/mini-node/mini-node.component.ts", lineNumber: 11 }); })();
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL21pbmltYXAvY29tcG9uZW50cy9taW5pLW5vZGUvbWluaS1ub2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTlELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsSUFBSSxDQUFTO0lBQ2IsR0FBRyxDQUFTO0lBQ1osS0FBSyxDQUFTO0lBQ2QsTUFBTSxDQUFTO0lBRXhCLElBQStCLFNBQVM7UUFDdEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsSUFBOEIsUUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFnQyxVQUFVO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQWlDLFdBQVc7UUFDMUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUE7SUFDckIsQ0FBQzsyRUFyQlUsaUJBQWlCOzZEQUFqQixpQkFBaUI7Ozs7aUZBQWpCLGlCQUFpQjtjQVI3QixTQUFTOzJCQUNFLG1CQUFtQixRQUd2QjtvQkFDSixhQUFhLEVBQUUsY0FBYztpQkFDOUI7Z0JBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBRXlCLFNBQVM7a0JBQXZDLFdBQVc7bUJBQUMsWUFBWTtZQUdLLFFBQVE7a0JBQXJDLFdBQVc7bUJBQUMsV0FBVztZQUdRLFVBQVU7a0JBQXpDLFdBQVc7bUJBQUMsYUFBYTtZQUdPLFdBQVc7a0JBQTNDLFdBQVc7bUJBQUMsY0FBYzs7a0ZBZmhCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pbmltYXAtbWluaS1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmktbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pbmktbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21pbmltYXAtbm9kZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5pTm9kZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxlZnQhOiBudW1iZXJcbiAgQElucHV0KCkgdG9wITogbnVtYmVyXG4gIEBJbnB1dCgpIHdpZHRoITogbnVtYmVyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlclxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdCcpIGdldCBzdHlsZUxlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5sZWZ0KVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgZ2V0IHN0eWxlVG9wKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMudG9wKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgc3R5bGVXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLndpZHRoKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IHN0eWxlSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuaGVpZ2h0KVxuICB9XG5cbiAgcHgodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBgJHt2YWx1ZX1weGBcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Component, Input, HostBinding, HostListener } from '@angular/core';
2
+ import { useDrag } from '../../../../shared/drag';
3
+ import * as i0 from "@angular/core";
4
+ export class MiniViewportComponent {
5
+ left;
6
+ top;
7
+ width;
8
+ height;
9
+ containerWidth;
10
+ translate;
11
+ drag = useDrag((dx, dy) => this.onDrag(dx, dy), e => ({ x: e.pageX, y: e.pageY }));
12
+ get styleLeft() {
13
+ return this.px(this.scale(this.left));
14
+ }
15
+ get styleTop() {
16
+ return this.px(this.scale(this.top));
17
+ }
18
+ get styleWidth() {
19
+ return this.px(this.scale(this.width));
20
+ }
21
+ get styleHeight() {
22
+ return this.px(this.scale(this.height));
23
+ }
24
+ pointerdown(event) {
25
+ event.stopPropagation();
26
+ this.drag.start(event);
27
+ }
28
+ px(value) {
29
+ return `${value}px`;
30
+ }
31
+ scale(v) {
32
+ return v * this.containerWidth;
33
+ }
34
+ invert(v) {
35
+ return v / this.containerWidth;
36
+ }
37
+ onDrag(dx, dy) {
38
+ this.translate(this.invert(-dx), this.invert(-dy));
39
+ }
40
+ static ɵfac = function MiniViewportComponent_Factory(t) { return new (t || MiniViewportComponent)(); };
41
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniViewportComponent, selectors: [["minimap-mini-viewport"]], hostAttrs: ["data-testid", "minimap-viewport"], hostVars: 8, hostBindings: function MiniViewportComponent_HostBindings(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵlistener("pointerdown", function MiniViewportComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); });
43
+ } if (rf & 2) {
44
+ i0.ɵɵstyleProp("left", ctx.styleLeft)("top", ctx.styleTop)("width", ctx.styleWidth)("height", ctx.styleHeight);
45
+ } }, inputs: { left: "left", top: "top", width: "width", height: "height", containerWidth: "containerWidth", translate: "translate" }, decls: 0, vars: 0, template: function MiniViewportComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:block;position:absolute;background:rgba(255,251,128,.32);border:1px solid #ffe52b}"] });
46
+ }
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MiniViewportComponent, [{
48
+ type: Component,
49
+ args: [{ selector: 'minimap-mini-viewport', host: {
50
+ 'data-testid': 'minimap-viewport'
51
+ }, template: "", styles: [":host{display:block;position:absolute;background:rgba(255,251,128,.32);border:1px solid #ffe52b}\n"] }]
52
+ }], null, { left: [{
53
+ type: Input
54
+ }], top: [{
55
+ type: Input
56
+ }], width: [{
57
+ type: Input
58
+ }], height: [{
59
+ type: Input
60
+ }], containerWidth: [{
61
+ type: Input
62
+ }], translate: [{
63
+ type: Input
64
+ }], styleLeft: [{
65
+ type: HostBinding,
66
+ args: ['style.left']
67
+ }], styleTop: [{
68
+ type: HostBinding,
69
+ args: ['style.top']
70
+ }], styleWidth: [{
71
+ type: HostBinding,
72
+ args: ['style.width']
73
+ }], styleHeight: [{
74
+ type: HostBinding,
75
+ args: ['style.height']
76
+ }], pointerdown: [{
77
+ type: HostListener,
78
+ args: ['pointerdown', ['$event']]
79
+ }] }); })();
80
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MiniViewportComponent, { className: "MiniViewportComponent", filePath: "presets/minimap/components/mini-viewport/mini-viewport.component.ts", lineNumber: 13 }); })();
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS12aWV3cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFDWixLQUFLLENBQVM7SUFDZCxNQUFNLENBQVM7SUFDZixjQUFjLENBQVM7SUFDdkIsU0FBUyxDQUEyQjtJQUU3QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFbEYsSUFBK0IsU0FBUztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBQ0QsSUFBOEIsUUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsSUFBZ0MsVUFBVTtRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQ0QsSUFBaUMsV0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRXdDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUFhO1FBQ2QsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBUztRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUFTO1FBQ2QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVUsRUFBRSxFQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7K0VBMUNVLHFCQUFxQjs2REFBckIscUJBQXFCO3dIQUFyQix1QkFBbUI7Ozs7O2lGQUFuQixxQkFBcUI7Y0FSakMsU0FBUzsyQkFDRSx1QkFBdUIsUUFHM0I7b0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtpQkFDbEM7Z0JBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFJeUIsU0FBUztrQkFBdkMsV0FBVzttQkFBQyxZQUFZO1lBR0ssUUFBUTtrQkFBckMsV0FBVzttQkFBQyxXQUFXO1lBR1EsVUFBVTtrQkFBekMsV0FBVzttQkFBQyxhQUFhO1lBR08sV0FBVztrQkFBM0MsV0FBVzttQkFBQyxjQUFjO1lBSWMsV0FBVztrQkFBbkQsWUFBWTttQkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQXZCNUIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlRHJhZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kcmFnJztcbmltcG9ydCB7IE1pbmltYXBEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaW5pbWFwLW1pbmktdmlld3BvcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWluaS12aWV3cG9ydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pbmktdmlld3BvcnQuY29tcG9uZW50LnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdtaW5pbWFwLXZpZXdwb3J0J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1pbmlWaWV3cG9ydENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxlZnQhOiBudW1iZXJcbiAgQElucHV0KCkgdG9wITogbnVtYmVyXG4gIEBJbnB1dCgpIHdpZHRoITogbnVtYmVyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlclxuICBASW5wdXQoKSBjb250YWluZXJXaWR0aCE6IG51bWJlclxuICBASW5wdXQoKSB0cmFuc2xhdGUhOiBNaW5pbWFwRGF0YVsndHJhbnNsYXRlJ11cblxuICBkcmFnID0gdXNlRHJhZygoZHgsIGR5KSA9PiB0aGlzLm9uRHJhZyhkeCwgZHkpLCBlID0+ICh7IHg6IGUucGFnZVgsIHk6IGUucGFnZVkgfSkpXG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0JykgZ2V0IHN0eWxlTGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLnNjYWxlKHRoaXMubGVmdCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AnKSBnZXQgc3R5bGVUb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5zY2FsZSh0aGlzLnRvcCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBzdHlsZVdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2NhbGUodGhpcy53aWR0aCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKSBnZXQgc3R5bGVIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5zY2FsZSh0aGlzLmhlaWdodCkpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicsIFsnJGV2ZW50J10pIHBvaW50ZXJkb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHRoaXMuZHJhZy5zdGFydChldmVudClcbiAgfVxuXG4gIHB4KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9cHhgXG4gIH1cblxuICBzY2FsZSh2OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdiAqIHRoaXMuY29udGFpbmVyV2lkdGhcbiAgfVxuXG4gIGludmVydCh2OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdiAvIHRoaXMuY29udGFpbmVyV2lkdGhcbiAgfVxuXG4gIG9uRHJhZyhkeDogbnVtYmVyLCBkeTogbnVtYmVyKSB7XG4gICAgdGhpcy50cmFuc2xhdGUodGhpcy5pbnZlcnQoLWR4KSwgdGhpcy5pbnZlcnQoLWR5KSlcbiAgfVxufVxuIl19
@@ -0,0 +1,110 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener, ElementRef, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../mini-viewport/mini-viewport.component";
5
+ import * as i3 from "../mini-node/mini-node.component";
6
+ function MinimapComponent_minimap_mini_node_0_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "minimap-mini-node", 2);
8
+ } if (rf & 2) {
9
+ const node_r1 = ctx.$implicit;
10
+ const ctx_r0 = i0.ɵɵnextContext();
11
+ i0.ɵɵproperty("left", ctx_r0.scale(node_r1.left))("top", ctx_r0.scale(node_r1.top))("width", ctx_r0.scale(node_r1.width))("height", ctx_r0.scale(node_r1.height));
12
+ } }
13
+ export class MinimapComponent {
14
+ el;
15
+ cdr;
16
+ rendered;
17
+ size;
18
+ ratio;
19
+ nodes;
20
+ viewport;
21
+ translate;
22
+ point;
23
+ get width() {
24
+ return this.px(this.size * this.ratio);
25
+ }
26
+ get height() {
27
+ return this.px(this.size);
28
+ }
29
+ pointerdown(event) {
30
+ event.stopPropagation();
31
+ event.preventDefault();
32
+ }
33
+ dblclick(event) {
34
+ event.stopPropagation();
35
+ event.preventDefault();
36
+ if (!this.el.nativeElement)
37
+ return;
38
+ const box = this.el.nativeElement.getBoundingClientRect();
39
+ const x = (event.clientX - box.left) / (this.size * this.ratio);
40
+ const y = (event.clientY - box.top) / (this.size * this.ratio);
41
+ this.point(x, y);
42
+ }
43
+ constructor(el, cdr) {
44
+ this.el = el;
45
+ this.cdr = cdr;
46
+ this.cdr.detach();
47
+ }
48
+ ngOnChanges() {
49
+ this.cdr.detectChanges();
50
+ requestAnimationFrame(() => this.rendered());
51
+ }
52
+ px(value) {
53
+ return `${value}px`;
54
+ }
55
+ scale(value) {
56
+ if (!this.el.nativeElement)
57
+ return 0;
58
+ return value * this.el.nativeElement.clientWidth;
59
+ }
60
+ identifyMiniNode(_, item) {
61
+ return [item.top, item.left].join('_');
62
+ }
63
+ static ɵfac = function MinimapComponent_Factory(t) { return new (t || MinimapComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
64
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MinimapComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "minimap"], hostVars: 4, hostBindings: function MinimapComponent_HostBindings(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵlistener("pointerdown", function MinimapComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); })("dblclick", function MinimapComponent_dblclick_HostBindingHandler($event) { return ctx.dblclick($event); });
66
+ } if (rf & 2) {
67
+ i0.ɵɵstyleProp("width", ctx.width)("height", ctx.height);
68
+ } }, inputs: { rendered: "rendered", size: "size", ratio: "ratio", nodes: "nodes", viewport: "viewport", translate: "translate", point: "point" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 8, consts: [[3, "left", "top", "width", "height", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "left", "top", "width", "height", "containerWidth", "translate"], [3, "left", "top", "width", "height"]], template: function MinimapComponent_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵtemplate(0, MinimapComponent_minimap_mini_node_0_Template, 1, 4, "minimap-mini-node", 0);
70
+ i0.ɵɵelement(1, "minimap-mini-viewport", 1);
71
+ } if (rf & 2) {
72
+ i0.ɵɵproperty("ngForOf", ctx.nodes)("ngForTrackBy", ctx.identifyMiniNode);
73
+ i0.ɵɵadvance(1);
74
+ i0.ɵɵproperty("left", ctx.viewport.left)("top", ctx.viewport.top)("width", ctx.viewport.width)("height", ctx.viewport.height)("containerWidth", ctx.el.nativeElement == null ? null : ctx.el.nativeElement.clientWidth)("translate", ctx.translate);
75
+ } }, dependencies: [i1.NgForOf, i2.MiniViewportComponent, i3.MiniNodeComponent], styles: ["[_nghost-%COMP%]{position:absolute;right:24px;bottom:24px;background:rgba(229,234,239,.65);padding:20px;overflow:hidden;border:1px solid #b1b7ff;border-radius:8px;box-sizing:border-box}"] });
76
+ }
77
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MinimapComponent, [{
78
+ type: Component,
79
+ args: [{ host: {
80
+ 'data-testid': 'minimap'
81
+ }, template: "<minimap-mini-node *ngFor=\"let node of nodes; trackBy: identifyMiniNode\" [left]=\"scale(node.left)\"\n [top]=\"scale(node.top)\" [width]=\"scale(node.width)\" [height]=\"scale(node.height)\">\n\n</minimap-mini-node>\n<minimap-mini-viewport [left]=\"viewport.left\" [top]=\"viewport.top\" [width]=\"viewport.width\" [height]=\"viewport.height\"\n [containerWidth]=\"el.nativeElement?.clientWidth\" [translate]=\"translate\"></minimap-mini-viewport>\n", styles: [":host{position:absolute;right:24px;bottom:24px;background:rgba(229,234,239,.65);padding:20px;overflow:hidden;border:1px solid #b1b7ff;border-radius:8px;box-sizing:border-box}\n"] }]
82
+ }], () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], { rendered: [{
83
+ type: Input
84
+ }], size: [{
85
+ type: Input
86
+ }], ratio: [{
87
+ type: Input
88
+ }], nodes: [{
89
+ type: Input
90
+ }], viewport: [{
91
+ type: Input
92
+ }], translate: [{
93
+ type: Input
94
+ }], point: [{
95
+ type: Input
96
+ }], width: [{
97
+ type: HostBinding,
98
+ args: ['style.width']
99
+ }], height: [{
100
+ type: HostBinding,
101
+ args: ['style.height']
102
+ }], pointerdown: [{
103
+ type: HostListener,
104
+ args: ['pointerdown', ['$event']]
105
+ }], dblclick: [{
106
+ type: HostListener,
107
+ args: ['dblclick', ['$event']]
108
+ }] }); })();
109
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MinimapComponent, { className: "MinimapComponent", filePath: "presets/minimap/components/minimap/minimap.component.ts", lineNumber: 11 }); })();
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL21pbmltYXAvY29tcG9uZW50cy9taW5pbWFwL21pbmltYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWEsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0F0SCx1Q0FHb0I7Ozs7SUFIcUQsaURBQXlCLGtDQUFBLHNDQUFBLHdDQUFBOztBRFVsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBaUNSO0lBQXdCO0lBaENsQyxRQUFRLENBQWE7SUFDckIsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUF1QjtJQUM1QixLQUFLLENBQXVCO0lBQzVCLFFBQVEsQ0FBMEI7SUFDbEMsU0FBUyxDQUEyQjtJQUNwQyxLQUFLLENBQXVCO0lBRXJDLElBQWdDLEtBQUs7UUFDbkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFDRCxJQUFpQyxNQUFNO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUV3QyxXQUFXLENBQUMsS0FBbUI7UUFDdEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRXFDLFFBQVEsQ0FBQyxLQUFpQjtRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDekQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9ELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU5RCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsWUFBbUIsRUFBYyxFQUFVLEdBQXNCO1FBQTlDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVwQyxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUE7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQVMsRUFBRSxJQUFrQztRQUM1RCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7MEVBdERVLGdCQUFnQjs2REFBaEIsZ0JBQWdCO21IQUFoQix1QkFBbUIsd0ZBQW5CLG9CQUFnQjs7OztZQ1Y3Qiw2RkFHb0I7WUFDcEIsMkNBQ21HOztZQUwvRCxtQ0FBVSxzQ0FBQTtZQUl2QixlQUFzQjtZQUF0Qix3Q0FBc0IseUJBQUEsNkJBQUEsK0JBQUEsMEZBQUEsNEJBQUE7OztpRkRNaEMsZ0JBQWdCO2NBUDVCLFNBQVM7dUJBR0Y7b0JBQ0osYUFBYSxFQUFFLFNBQVM7aUJBQ3pCOzJFQUdRLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUUwQixLQUFLO2tCQUFwQyxXQUFXO21CQUFDLGFBQWE7WUFHTyxNQUFNO2tCQUF0QyxXQUFXO21CQUFDLGNBQWM7WUFJYyxXQUFXO2tCQUFuRCxZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUtELFFBQVE7a0JBQTdDLFlBQVk7bUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkFyQnpCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYXBEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmltYXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taW5pbWFwLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbWluaW1hcCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5pbWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcmVuZGVyZWQhOiAoKSA9PiB2b2lkXG4gIEBJbnB1dCgpIHNpemUhOiBudW1iZXJcbiAgQElucHV0KCkgcmF0aW8hOiBNaW5pbWFwRGF0YVsncmF0aW8nXVxuICBASW5wdXQoKSBub2RlcyE6IE1pbmltYXBEYXRhWydub2RlcyddXG4gIEBJbnB1dCgpIHZpZXdwb3J0ITogTWluaW1hcERhdGFbJ3ZpZXdwb3J0J11cbiAgQElucHV0KCkgdHJhbnNsYXRlITogTWluaW1hcERhdGFbJ3RyYW5zbGF0ZSddXG4gIEBJbnB1dCgpIHBvaW50ITogTWluaW1hcERhdGFbJ3BvaW50J11cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2l6ZSAqIHRoaXMucmF0aW8pXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKSBnZXQgaGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2l6ZSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSkgcG9pbnRlcmRvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKSBkYmxjbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuXG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGNvbnN0IHggPSAoZXZlbnQuY2xpZW50WCAtIGJveC5sZWZ0KSAvICh0aGlzLnNpemUgKiB0aGlzLnJhdGlvKVxuICAgIGNvbnN0IHkgPSAoZXZlbnQuY2xpZW50WSAtIGJveC50b3ApIC8gKHRoaXMuc2l6ZSAqIHRoaXMucmF0aW8pXG5cbiAgICB0aGlzLnBvaW50KHgsIHkpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgfVxuXG4gIHB4KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9cHhgXG4gIH1cblxuICBzY2FsZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHJldHVybiAwXG5cbiAgICByZXR1cm4gdmFsdWUgKiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgfVxuXG4gIGlkZW50aWZ5TWluaU5vZGUoXzogbnVtYmVyLCBpdGVtOiBNaW5pbWFwRGF0YVsnbm9kZXMnXVtudW1iZXJdKSB7XG4gICAgcmV0dXJuIFtpdGVtLnRvcCwgaXRlbS5sZWZ0XS5qb2luKCdfJylcbiAgfVxufVxuIiwiPG1pbmltYXAtbWluaS1ub2RlICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiBpZGVudGlmeU1pbmlOb2RlXCIgW2xlZnRdPVwic2NhbGUobm9kZS5sZWZ0KVwiXG4gIFt0b3BdPVwic2NhbGUobm9kZS50b3ApXCIgW3dpZHRoXT1cInNjYWxlKG5vZGUud2lkdGgpXCIgW2hlaWdodF09XCJzY2FsZShub2RlLmhlaWdodClcIj5cblxuPC9taW5pbWFwLW1pbmktbm9kZT5cbjxtaW5pbWFwLW1pbmktdmlld3BvcnQgW2xlZnRdPVwidmlld3BvcnQubGVmdFwiIFt0b3BdPVwidmlld3BvcnQudG9wXCIgW3dpZHRoXT1cInZpZXdwb3J0LndpZHRoXCIgW2hlaWdodF09XCJ2aWV3cG9ydC5oZWlnaHRcIlxuICBbY29udGFpbmVyV2lkdGhdPVwiZWwubmF0aXZlRWxlbWVudD8uY2xpZW50V2lkdGhcIiBbdHJhbnNsYXRlXT1cInRyYW5zbGF0ZVwiPjwvbWluaW1hcC1taW5pLXZpZXdwb3J0PlxuIl19
@@ -0,0 +1,45 @@
1
+ import { MinimapComponent } from './components/minimap/minimap.component';
2
+ /**
3
+ * Preset for rendering minimap.
4
+ */
5
+ export function setup(props) {
6
+ return {
7
+ update(context) {
8
+ if (context.data.type === 'minimap') {
9
+ return {
10
+ nodes: context.data.nodes,
11
+ size: props?.size || 200,
12
+ ratio: context.data.ratio,
13
+ viewport: context.data.viewport,
14
+ translate: context.data.translate,
15
+ point: context.data.point
16
+ };
17
+ }
18
+ return null;
19
+ },
20
+ mount(context, plugin) {
21
+ const parent = plugin.parentScope();
22
+ const emit = parent.emit.bind(parent);
23
+ const rendered = () => {
24
+ emit({ type: 'rendered', data: context.data });
25
+ };
26
+ if (context.data.type === 'minimap') {
27
+ return {
28
+ key: 'rete-minimap',
29
+ component: MinimapComponent,
30
+ props: {
31
+ nodes: context.data.nodes,
32
+ size: props?.size || 200,
33
+ ratio: context.data.ratio,
34
+ viewport: context.data.viewport,
35
+ translate: context.data.translate,
36
+ point: context.data.point,
37
+ rendered
38
+ }
39
+ };
40
+ }
41
+ return null;
42
+ }
43
+ };
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBdUQsS0FBeUI7SUFDbkcsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ25DLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRztvQkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDakMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztpQkFDMUIsQ0FBQTthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQVMsQ0FBQyxDQUFBO1lBQ3ZELENBQUMsQ0FBQTtZQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNuQyxPQUFPO29CQUNMLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsZ0JBQWdCO29CQUMzQixLQUFLLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRzt3QkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTt3QkFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUzt3QkFDakMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUTtxQkFDVDtpQkFDRixDQUFBO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTY2hlbWVzIH0gZnJvbSAncmV0ZSc7XG5cbmltcG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYXBSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJlc2V0IGZvciByZW5kZXJpbmcgbWluaW1hcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcywgSyBleHRlbmRzIE1pbmltYXBSZW5kZXI+KHByb3BzPzogeyBzaXplPzogbnVtYmVyIH0pOiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgSz4ge1xuICByZXR1cm4ge1xuICAgIHVwZGF0ZShjb250ZXh0KSB7XG4gICAgICBpZiAoY29udGV4dC5kYXRhLnR5cGUgPT09ICdtaW5pbWFwJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGVzOiBjb250ZXh0LmRhdGEubm9kZXMsXG4gICAgICAgICAgc2l6ZTogcHJvcHM/LnNpemUgfHwgMjAwLFxuICAgICAgICAgIHJhdGlvOiBjb250ZXh0LmRhdGEucmF0aW8sXG4gICAgICAgICAgdmlld3BvcnQ6IGNvbnRleHQuZGF0YS52aWV3cG9ydCxcbiAgICAgICAgICB0cmFuc2xhdGU6IGNvbnRleHQuZGF0YS50cmFuc2xhdGUsXG4gICAgICAgICAgcG9pbnQ6IGNvbnRleHQuZGF0YS5wb2ludFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgbW91bnQoY29udGV4dCwgcGx1Z2luKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBwbHVnaW4ucGFyZW50U2NvcGUoKVxuICAgICAgY29uc3QgZW1pdCA9IHBhcmVudC5lbWl0LmJpbmQocGFyZW50KVxuICAgICAgY29uc3QgcmVuZGVyZWQgPSAoKSA9PiB7XG4gICAgICAgIGVtaXQoeyB0eXBlOiAncmVuZGVyZWQnLCBkYXRhOiBjb250ZXh0LmRhdGEgfSBhcyBhbnkpXG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ21pbmltYXAnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiAncmV0ZS1taW5pbWFwJyxcbiAgICAgICAgICBjb21wb25lbnQ6IE1pbmltYXBDb21wb25lbnQsXG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIG5vZGVzOiBjb250ZXh0LmRhdGEubm9kZXMsXG4gICAgICAgICAgICBzaXplOiBwcm9wcz8uc2l6ZSB8fCAyMDAsXG4gICAgICAgICAgICByYXRpbzogY29udGV4dC5kYXRhLnJhdGlvLFxuICAgICAgICAgICAgdmlld3BvcnQ6IGNvbnRleHQuZGF0YS52aWV3cG9ydCxcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogY29udGV4dC5kYXRhLnRyYW5zbGF0ZSxcbiAgICAgICAgICAgIHBvaW50OiBjb250ZXh0LmRhdGEucG9pbnQsXG4gICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MinimapComponent } from './components/minimap/minimap.component';
4
+ import { MiniViewportComponent } from './components/mini-viewport/mini-viewport.component';
5
+ import { MiniNodeComponent } from './components/mini-node/mini-node.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ReteMinimapModule {
8
+ static ɵfac = function ReteMinimapModule_Factory(t) { return new (t || ReteMinimapModule)(); };
9
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteMinimapModule });
10
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
11
+ }
12
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteMinimapModule, [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ MinimapComponent,
17
+ MiniViewportComponent,
18
+ MiniNodeComponent
19
+ ],
20
+ imports: [
21
+ CommonModule
22
+ ],
23
+ exports: [
24
+ MinimapComponent,
25
+ MiniViewportComponent,
26
+ MiniNodeComponent
27
+ ]
28
+ }]
29
+ }], null, null); })();
30
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteMinimapModule, { declarations: [MinimapComponent,
31
+ MiniViewportComponent,
32
+ MiniNodeComponent], imports: [CommonModule], exports: [MinimapComponent,
33
+ MiniViewportComponent,
34
+ MiniNodeComponent] }); })();
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvbWluaW1hcC9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBaUIvRSxNQUFNLE9BQU8saUJBQWlCOzJFQUFqQixpQkFBaUI7NERBQWpCLGlCQUFpQjtnRUFSMUIsWUFBWTs7aUZBUUgsaUJBQWlCO2NBZjdCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixpQkFBaUI7aUJBQ2xCO2FBQ0Y7O3dGQUNZLGlCQUFpQixtQkFiMUIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1pbmltYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pVmlld3BvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taW5pLW5vZGUvbWluaS1ub2RlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZU1pbmltYXBNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJTaWduYWwgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgUmVjdCA9IHtcbiAgd2lkdGg6IG51bWJlclxuICBoZWlnaHQ6IG51bWJlclxuICBsZWZ0OiBudW1iZXIsXG4gIHRvcDogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2Zvcm0gPSB7XG4gIHg6IG51bWJlclxuICB5OiBudW1iZXJcbiAgazogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2xhdGUgPSAoZHg6IG51bWJlciwgZHk6IG51bWJlcikgPT4gdm9pZFxuXG5leHBvcnQgdHlwZSBNaW5pbWFwRGF0YSA9IHtcbiAgICByYXRpbzogbnVtYmVyXG4gICAgbm9kZXM6IFJlY3RbXVxuICAgIHZpZXdwb3J0OiBSZWN0XG4gICAgc3RhcnQoKTogVHJhbnNmb3JtXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVcbiAgICBwb2ludCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWRcbiAgfVxuXG5leHBvcnQgdHlwZSBNaW5pbWFwUmVuZGVyID1cbiAgfCBSZW5kZXJTaWduYWw8J21pbmltYXAnLCBNaW5pbWFwRGF0YT5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { PinsComponent } from './pins/pins.component';
2
+ export { PinComponent } from './pin/pin.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFBpbnNDb21wb25lbnQgfSBmcm9tICcuL3BpbnMvcGlucy5jb21wb25lbnQnO1xuZXhwb3J0IHsgUGluQ29tcG9uZW50IH0gZnJvbSAnLi9waW4vcGluLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener, HostBinding, Output, EventEmitter } from '@angular/core';
2
+ import { useDrag } from '../../../../shared/drag';
3
+ import * as i0 from "@angular/core";
4
+ const pinSize = 20;
5
+ export class PinComponent {
6
+ cdr;
7
+ position;
8
+ selected;
9
+ getPointer;
10
+ menu = new EventEmitter();
11
+ translate = new EventEmitter();
12
+ down = new EventEmitter();
13
+ drag = useDrag((dx, dy) => {
14
+ this.translate.emit({ dx, dy });
15
+ }, () => this.getPointer());
16
+ get _selected() {
17
+ return this.selected;
18
+ }
19
+ get top() {
20
+ return `${this.position.y - pinSize / 2}px`;
21
+ }
22
+ get left() {
23
+ return `${this.position.x - pinSize / 2}px`;
24
+ }
25
+ pointerdown(event) {
26
+ event.stopPropagation();
27
+ event.preventDefault();
28
+ this.drag.start(event);
29
+ this.down.emit();
30
+ }
31
+ contextmenu(event) {
32
+ event.stopPropagation();
33
+ event.preventDefault();
34
+ this.menu.emit();
35
+ }
36
+ constructor(cdr) {
37
+ this.cdr = cdr;
38
+ // this.cdr.detach()
39
+ }
40
+ ngOnChanges() {
41
+ // this.cdr.detectChanges()
42
+ // requestAnimationFrame(() => this.rendered())
43
+ }
44
+ static ɵfac = function PinComponent_Factory(t) { return new (t || PinComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
45
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PinComponent, selectors: [["reroute-pin"]], hostAttrs: ["data-testid", "pin"], hostVars: 6, hostBindings: function PinComponent_HostBindings(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵlistener("pointerdown", function PinComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); })("contextmenu", function PinComponent_contextmenu_HostBindingHandler($event) { return ctx.contextmenu($event); });
47
+ } if (rf & 2) {
48
+ i0.ɵɵstyleProp("top", ctx.top)("left", ctx.left);
49
+ i0.ɵɵclassProp("selected", ctx._selected);
50
+ } }, inputs: { position: "position", selected: "selected", getPointer: "getPointer" }, outputs: { menu: "menu", translate: "translate", down: "down" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function PinComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:block;width:20px;height:20px;box-sizing:border-box;background:steelblue;border:2px solid white;border-radius:20px;position:absolute}.selected[_nghost-%COMP%]{background:#ffd92c}"] });
51
+ }
52
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PinComponent, [{
53
+ type: Component,
54
+ args: [{ selector: 'reroute-pin', template: '', host: {
55
+ 'data-testid': 'pin'
56
+ }, styles: [":host{display:block;width:20px;height:20px;box-sizing:border-box;background:steelblue;border:2px solid white;border-radius:20px;position:absolute}:host.selected{background:#ffd92c}\n"] }]
57
+ }], () => [{ type: i0.ChangeDetectorRef }], { position: [{
58
+ type: Input
59
+ }], selected: [{
60
+ type: Input
61
+ }], getPointer: [{
62
+ type: Input
63
+ }], menu: [{
64
+ type: Output
65
+ }], translate: [{
66
+ type: Output
67
+ }], down: [{
68
+ type: Output
69
+ }], _selected: [{
70
+ type: HostBinding,
71
+ args: ['class.selected']
72
+ }], top: [{
73
+ type: HostBinding,
74
+ args: ['style.top']
75
+ }], left: [{
76
+ type: HostBinding,
77
+ args: ['style.left']
78
+ }], pointerdown: [{
79
+ type: HostListener,
80
+ args: ['pointerdown', ['$event']]
81
+ }], contextmenu: [{
82
+ type: HostListener,
83
+ args: ['contextmenu', ['$event']]
84
+ }] }); })();
85
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PinComponent, { className: "PinComponent", filePath: "presets/reroute/components/pin/pin.component.ts", lineNumber: 15 }); })();
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cy9waW4vcGluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBYSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFBOztBQUVqRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7QUFVbEIsTUFBTSxPQUFPLFlBQVk7SUFtQ0g7SUFsQ1gsUUFBUSxDQUFXO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixVQUFVLENBQWlCO0lBQzFCLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0lBQy9CLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQTtJQUMxRCxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtJQUV6QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDakMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBRTNCLElBQW1DLFNBQVM7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUE4QixHQUFHO1FBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUE7SUFDN0MsQ0FBQztJQUNELElBQStCLElBQUk7UUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQTtJQUM3QyxDQUFDO0lBQ3dDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUN3QyxXQUFXLENBQUMsS0FBaUI7UUFDcEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxvQkFBb0I7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCwyQkFBMkI7UUFDM0IsK0NBQStDO0lBQ2pELENBQUM7c0VBMUNVLFlBQVk7NkRBQVosWUFBWTsrR0FBWix1QkFBbUIsMEZBQW5CLHVCQUFtQjs7Ozs7O2lGQUFuQixZQUFZO2NBUnhCLFNBQVM7MkJBQ0UsYUFBYSxZQUNiLEVBQUUsUUFFTjtvQkFDSixhQUFhLEVBQUUsS0FBSztpQkFDckI7a0RBR1EsUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksSUFBSTtrQkFBYixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQU00QixTQUFTO2tCQUEzQyxXQUFXO21CQUFDLGdCQUFnQjtZQUdDLEdBQUc7a0JBQWhDLFdBQVc7bUJBQUMsV0FBVztZQUdPLElBQUk7a0JBQWxDLFdBQVc7bUJBQUMsWUFBWTtZQUdnQixXQUFXO2tCQUFuRCxZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU9FLFdBQVc7a0JBQW5ELFlBQVk7bUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkE1QjVCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyB1c2VEcmFnIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RyYWcnXG5cbmNvbnN0IHBpblNpemUgPSAyMFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZXJvdXRlLXBpbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGluLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAncGluJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFBpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBvc2l0aW9uITogUG9zaXRpb25cbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGdldFBvaW50ZXIhOiAoKSA9PiBQb3NpdGlvblxuICBAT3V0cHV0KCkgbWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuICBAT3V0cHV0KCkgdHJhbnNsYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGR4OiBudW1iZXIsIGR5OiBudW1iZXIgfT4oKVxuICBAT3V0cHV0KCkgZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIGRyYWcgPSB1c2VEcmFnKChkeCwgZHkpID0+IHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5lbWl0KHsgZHgsIGR5IH0pXG4gIH0sICgpID0+IHRoaXMuZ2V0UG9pbnRlcigpKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBnZXQgX3NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AnKSBnZXQgdG9wKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uLnkgLSBwaW5TaXplIC8gMn1weGBcbiAgfVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQnKSBnZXQgbGVmdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbi54IC0gcGluU2l6ZSAvIDJ9cHhgXG4gIH1cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBwb2ludGVyZG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICB0aGlzLmRyYWcuc3RhcnQoZXZlbnQpXG4gICAgdGhpcy5kb3duLmVtaXQoKVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgWyckZXZlbnQnXSkgY29udGV4dG1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcblxuICAgIHRoaXMubWVudS5lbWl0KClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAvLyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG5cbn1cbiJdfQ==