rete-angular-plugin 2.1.2 → 2.2.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 (80) hide show
  1. package/18/core.d.ts +68 -0
  2. package/18/esm2022/core.mjs +127 -0
  3. package/18/esm2022/index.mjs +12 -0
  4. package/18/esm2022/module.mjs +50 -0
  5. package/18/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  6. package/18/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  7. package/18/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  8. package/18/esm2022/presets/classic/components/index.mjs +6 -0
  9. package/18/esm2022/presets/classic/components/node/node.component.mjs +134 -0
  10. package/18/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  11. package/18/esm2022/presets/classic/index.mjs +114 -0
  12. package/18/esm2022/presets/classic/types.mjs +2 -0
  13. package/18/esm2022/presets/context-menu/components/index.mjs +4 -0
  14. package/18/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  15. package/18/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  16. package/18/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  17. package/18/esm2022/presets/context-menu/debounce.mjs +17 -0
  18. package/18/esm2022/presets/context-menu/index.mjs +41 -0
  19. package/18/esm2022/presets/context-menu/module.mjs +35 -0
  20. package/18/esm2022/presets/context-menu/types.mjs +2 -0
  21. package/18/esm2022/presets/index.mjs +9 -0
  22. package/18/esm2022/presets/minimap/components/index.mjs +4 -0
  23. package/18/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  24. package/18/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  25. package/18/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  26. package/18/esm2022/presets/minimap/index.mjs +45 -0
  27. package/18/esm2022/presets/minimap/module.mjs +35 -0
  28. package/18/esm2022/presets/minimap/types.mjs +2 -0
  29. package/18/esm2022/presets/reroute/components/index.mjs +3 -0
  30. package/18/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  31. package/18/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  32. package/18/esm2022/presets/reroute/index.mjs +43 -0
  33. package/18/esm2022/presets/reroute/module.mjs +30 -0
  34. package/18/esm2022/presets/reroute/types.mjs +2 -0
  35. package/18/esm2022/presets/types.mjs +2 -0
  36. package/18/esm2022/ref.mjs +30 -0
  37. package/18/esm2022/rete-angular-plugin-ng18.mjs +5 -0
  38. package/18/esm2022/shared/drag.mjs +23 -0
  39. package/18/esm2022/types.mjs +2 -0
  40. package/18/fesm2022/rete-angular-plugin-ng18.mjs +1540 -0
  41. package/18/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -0
  42. package/18/index.d.ts +13 -0
  43. package/18/module.d.ts +13 -0
  44. package/18/package.json +24 -0
  45. package/18/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  46. package/18/presets/classic/components/connection/connection.component.d.ts +11 -0
  47. package/18/presets/classic/components/control/control.component.d.ts +14 -0
  48. package/18/presets/classic/components/index.d.ts +5 -0
  49. package/18/presets/classic/components/node/node.component.d.ts +25 -0
  50. package/18/presets/classic/components/socket/socket.component.d.ts +12 -0
  51. package/18/presets/classic/index.d.ts +21 -0
  52. package/18/presets/classic/types.d.ts +49 -0
  53. package/18/presets/context-menu/components/index.d.ts +3 -0
  54. package/18/presets/context-menu/components/item/item.component.d.ts +26 -0
  55. package/18/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  56. package/18/presets/context-menu/components/search/search.component.d.ts +8 -0
  57. package/18/presets/context-menu/debounce.d.ts +5 -0
  58. package/18/presets/context-menu/index.d.ts +9 -0
  59. package/18/presets/context-menu/module.d.ts +10 -0
  60. package/18/presets/context-menu/types.d.ts +12 -0
  61. package/18/presets/index.d.ts +8 -0
  62. package/18/presets/minimap/components/index.d.ts +3 -0
  63. package/18/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  64. package/18/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  65. package/18/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  66. package/18/presets/minimap/index.d.ts +9 -0
  67. package/18/presets/minimap/module.d.ts +10 -0
  68. package/18/presets/minimap/types.d.ts +22 -0
  69. package/18/presets/reroute/components/index.d.ts +2 -0
  70. package/18/presets/reroute/components/pin/pin.component.d.ts +30 -0
  71. package/18/presets/reroute/components/pins/pins.component.d.ts +17 -0
  72. package/18/presets/reroute/index.d.ts +13 -0
  73. package/18/presets/reroute/module.d.ts +9 -0
  74. package/18/presets/reroute/types.d.ts +18 -0
  75. package/18/presets/types.d.ts +15 -0
  76. package/18/ref.d.ts +12 -0
  77. package/18/shared/drag.d.ts +10 -0
  78. package/18/types.d.ts +29 -0
  79. package/CHANGELOG.md +7 -0
  80. package/package.json +1 -1
@@ -0,0 +1,24 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ContextMenuSearchComponent {
4
+ value;
5
+ update = new EventEmitter();
6
+ static ɵfac = function ContextMenuSearchComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContextMenuSearchComponent)(); };
7
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextMenuSearchComponent, selectors: [["context-menu-search"]], inputs: { value: "value" }, outputs: { update: "update" }, decls: 1, vars: 1, consts: [["data-testid", "context-menu-search-input", 1, "search", 3, "input", "value"]], template: function ContextMenuSearchComponent_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "input", 0);
9
+ i0.ɵɵlistener("input", function ContextMenuSearchComponent_Template_input_input_0_listener($event) { return ctx.update.emit(($event.target == null ? null : $event.target.value) || ""); });
10
+ i0.ɵɵelementEnd();
11
+ } if (rf & 2) {
12
+ i0.ɵɵproperty("value", ctx.value);
13
+ } }, styles: [".search[_ngcontent-%COMP%]{color:#fff;padding:1px 8px;border:1px solid white;border-radius:10px;font-size:16px;font-family:serif;width:100%;box-sizing:border-box;background:transparent}"] });
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuSearchComponent, [{
16
+ type: Component,
17
+ args: [{ selector: 'context-menu-search', template: "<input class=\"search\" [value]=\"value\" (input)=\"update.emit($any($event.target)?.value || '')\"\n data-testid=\"context-menu-search-input\" />\n", styles: [".search{color:#fff;padding:1px 8px;border:1px solid white;border-radius:10px;font-size:16px;font-family:serif;width:100%;box-sizing:border-box;background:transparent}\n"] }]
18
+ }], null, { value: [{
19
+ type: Input
20
+ }], update: [{
21
+ type: Output
22
+ }] }); })();
23
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuSearchComponent, { className: "ContextMenuSearchComponent", filePath: "presets/context-menu/components/search/search.component.ts", lineNumber: 8 }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NvbnRleHQtbWVudS9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxOC8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU92RSxNQUFNLE9BQU8sMEJBQTBCO0lBQzVCLEtBQUssQ0FBUztJQUNiLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO29IQUZsQywwQkFBMEI7NkRBQTFCLDBCQUEwQjtZQ1B2QyxnQ0FDNEM7WUFETiw0R0FBUyx3RUFBMEMsRUFBRSxDQUFDLElBQUM7WUFBN0YsaUJBQzRDOztZQUR0QixpQ0FBZTs7O2lGRE94QiwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSxxQkFBcUI7Z0JBS3RCLEtBQUs7a0JBQWIsS0FBSztZQUNJLE1BQU07a0JBQWYsTUFBTTs7a0ZBRkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29udGV4dC1tZW51LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNhc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudVNlYXJjaENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlITogc3RyaW5nXG4gIEBPdXRwdXQoKSB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxufVxuIiwiPGlucHV0IGNsYXNzPVwic2VhcmNoXCIgW3ZhbHVlXT1cInZhbHVlXCIgKGlucHV0KT1cInVwZGF0ZS5lbWl0KCRhbnkoJGV2ZW50LnRhcmdldCk/LnZhbHVlIHx8ICcnKVwiXG4gIGRhdGEtdGVzdGlkPVwiY29udGV4dC1tZW51LXNlYXJjaC1pbnB1dFwiIC8+XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvZGVib3VuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVEsQ0FBQyxFQUFjO0lBQ3JDLE9BQU87UUFDTCxPQUFPLEVBQUUsSUFBcUI7UUFDOUIsTUFBTTtZQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFDckIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsS0FBYTtZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxFQUFFLEVBQUUsQ0FBQTtZQUNOLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNYLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZShjYjogKCkgPT4gdm9pZCkge1xuICByZXR1cm4ge1xuICAgIHRpbWVvdXQ6IG51bGwgYXMgbnVsbCB8IG51bWJlcixcbiAgICBjYW5jZWwoKSB7XG4gICAgICBpZiAodGhpcy50aW1lb3V0KSB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KVxuICAgICAgICB0aGlzLnRpbWVvdXQgPSBudWxsXG4gICAgICB9XG4gICAgfSxcbiAgICBjYWxsKGRlbGF5OiBudW1iZXIpIHtcbiAgICAgIHRoaXMudGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY2IoKVxuICAgICAgfSwgZGVsYXkpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHeEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUEyRCxLQUEwQjtJQUN4RyxNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssRUFBRSxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFFdEUsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsT0FBTztvQkFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO29CQUN6QixLQUFLO29CQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVM7b0JBQ2pDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07aUJBQzVCLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTTtZQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDckMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFTLENBQUMsQ0FBQTtZQUN2RCxDQUFDLENBQUE7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUN4QyxPQUFPO29CQUNMLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsb0JBQW9CO29CQUMvQixLQUFLLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsS0FBSzt3QkFDTCxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO3dCQUNqQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO3dCQUMzQixRQUFRO3FCQUNUO2lCQUNGLENBQUE7WUFDSCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU2NoZW1lcyB9IGZyb20gJ3JldGUnO1xuXG5pbXBvcnQgeyBDb250ZXh0TWVudVJlbmRlciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZW5kZXJQcmVzZXQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogUHJlc2V0IGZvciByZW5kZXJpbmcgY29udGV4dCBtZW51LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXA8U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzLCBLIGV4dGVuZHMgQ29udGV4dE1lbnVSZW5kZXI+KHByb3BzPzogeyBkZWxheT86IG51bWJlciB9KTogUmVuZGVyUHJlc2V0PFNjaGVtZXMsIEs+IHtcbiAgY29uc3QgZGVsYXkgPSB0eXBlb2YgcHJvcHM/LmRlbGF5ID09PSAndW5kZWZpbmVkJyA/IDEwMDAgOiBwcm9wcy5kZWxheVxuXG4gIHJldHVybiB7XG4gICAgdXBkYXRlKGNvbnRleHQpIHtcbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGl0ZW1zOiBjb250ZXh0LmRhdGEuaXRlbXMsXG4gICAgICAgICAgZGVsYXksXG4gICAgICAgICAgc2VhcmNoQmFyOiBjb250ZXh0LmRhdGEuc2VhcmNoQmFyLFxuICAgICAgICAgIG9uSGlkZTogY29udGV4dC5kYXRhLm9uSGlkZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBtb3VudChjb250ZXh0LCBwbHVnaW4pIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHBsdWdpbi5wYXJlbnRTY29wZSgpXG4gICAgICBjb25zdCBlbWl0ID0gcGFyZW50LmVtaXQuYmluZChwYXJlbnQpXG4gICAgICBjb25zdCByZW5kZXJlZCA9ICgpID0+IHtcbiAgICAgICAgZW1pdCh7IHR5cGU6ICdyZW5kZXJlZCcsIGRhdGE6IGNvbnRleHQuZGF0YSB9IGFzIGFueSlcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRleHQuZGF0YS50eXBlID09PSAnY29udGV4dG1lbnUnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiAnY29udGV4dC1tZW51JyxcbiAgICAgICAgICBjb21wb25lbnQ6IENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBpdGVtczogY29udGV4dC5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgZGVsYXksXG4gICAgICAgICAgICBzZWFyY2hCYXI6IGNvbnRleHQuZGF0YS5zZWFyY2hCYXIsXG4gICAgICAgICAgICBvbkhpZGU6IGNvbnRleHQuZGF0YS5vbkhpZGUsXG4gICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -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(__ngFactoryType__) { return new (__ngFactoryType__ || 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxOC8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7QUFpQjNFLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjs0REFBckIscUJBQXFCO2dFQVI5QixZQUFZOztpRkFRSCxxQkFBcUI7Y0FmakMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixvQkFBb0I7b0JBQ3BCLDBCQUEwQjtvQkFDMUIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtpQkFDekI7YUFDRjs7d0ZBQ1kscUJBQXFCLG1CQWI5QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLHdCQUF3QixhQUd4QixZQUFZLGFBR1osb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCdcbmltcG9ydCB7IENvbnRleHRNZW51U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2l0ZW0vaXRlbS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIENvbnRleHRNZW51U2VhcmNoQ29tcG9uZW50LFxuICAgIENvbnRleHRNZW51SXRlbUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBDb250ZXh0TWVudVNlYXJjaENvbXBvbmVudCxcbiAgICBDb250ZXh0TWVudUl0ZW1Db21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZUNvbnRleHRNZW51TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlclNpZ25hbCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBJdGVtID0ge1xuICBsYWJlbDogc3RyaW5nXG4gIGtleTogc3RyaW5nXG4gIGhhbmRsZXIoKTogdm9pZFxuICBzdWJpdGVtcz86IEl0ZW1bXVxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudVJlbmRlciA9XG4gIHwgUmVuZGVyU2lnbmFsPCdjb250ZXh0bWVudScsIHsgaXRlbXM6IEl0ZW1bXSwgb25IaWRlKCk6IHZvaWQsIHNlYXJjaEJhcj86IGJvb2xlYW4gfT5cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEtBQUssT0FBTyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssV0FBVyxNQUFNLGdCQUFnQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdWlsdC1pbiBwcmVzZXRzLCByZXNwb25zaWJsZSBmb3IgcmVuZGVyaW5nIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZWRpdG9yLlxuICogQG1vZHVsZVxuICovXG5leHBvcnQgKiBhcyBjbGFzc2ljIGZyb20gJy4vY2xhc3NpYydcbmV4cG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gJy4vY29udGV4dC1tZW51J1xuZXhwb3J0ICogYXMgbWluaW1hcCBmcm9tICcuL21pbmltYXAnXG5leHBvcnQgKiBhcyByZXJvdXRlIGZyb20gJy4vcmVyb3V0ZSdcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNaW5pbWFwQ29tcG9uZW50IH0gZnJvbSAnLi9taW5pbWFwL21pbmltYXAuY29tcG9uZW50JztcbmV4cG9ydCB7IE1pbmlWaWV3cG9ydENvbXBvbmVudCB9IGZyb20gJy4vbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBNaW5pTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vbWluaS1ub2RlL21pbmktbm9kZS5jb21wb25lbnQnO1xuIl19
@@ -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(__ngFactoryType__) { return new (__ngFactoryType__ || 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:#6e88ffcc;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:#6e88ffcc;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL21pbmltYXAvY29tcG9uZW50cy9taW5pLW5vZGUvbWluaS1ub2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTlELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsSUFBSSxDQUFTO0lBQ2IsR0FBRyxDQUFTO0lBQ1osS0FBSyxDQUFTO0lBQ2QsTUFBTSxDQUFTO0lBRXhCLElBQStCLFNBQVM7UUFDdEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsSUFBOEIsUUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFnQyxVQUFVO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQWlDLFdBQVc7UUFDMUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUE7SUFDckIsQ0FBQzsyR0FyQlUsaUJBQWlCOzZEQUFqQixpQkFBaUI7WUFBakIscUNBQWlCLHFCQUFBLHlCQUFBLDJCQUFBOzs7aUZBQWpCLGlCQUFpQjtjQVI3QixTQUFTOzJCQUNFLG1CQUFtQixRQUd2QjtvQkFDSixhQUFhLEVBQUUsY0FBYztpQkFDOUI7Z0JBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBRXlCLFNBQVM7a0JBQXZDLFdBQVc7bUJBQUMsWUFBWTtZQUdLLFFBQVE7a0JBQXJDLFdBQVc7bUJBQUMsV0FBVztZQUdRLFVBQVU7a0JBQXpDLFdBQVc7bUJBQUMsYUFBYTtZQUdPLFdBQVc7a0JBQTNDLFdBQVc7bUJBQUMsY0FBYzs7a0ZBZmhCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pbmltYXAtbWluaS1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmktbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pbmktbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21pbmltYXAtbm9kZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5pTm9kZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxlZnQhOiBudW1iZXJcbiAgQElucHV0KCkgdG9wITogbnVtYmVyXG4gIEBJbnB1dCgpIHdpZHRoITogbnVtYmVyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlclxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdCcpIGdldCBzdHlsZUxlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5sZWZ0KVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgZ2V0IHN0eWxlVG9wKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMudG9wKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgc3R5bGVXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLndpZHRoKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IHN0eWxlSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuaGVpZ2h0KVxuICB9XG5cbiAgcHgodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiBgJHt2YWx1ZX1weGBcbiAgfVxuXG59XG4iXX0=
@@ -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(__ngFactoryType__) { return new (__ngFactoryType__ || 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:#fffb8052;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:#fffb8052;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS12aWV3cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFDWixLQUFLLENBQVM7SUFDZCxNQUFNLENBQVM7SUFDZixjQUFjLENBQVM7SUFDdkIsU0FBUyxDQUEyQjtJQUU3QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFbEYsSUFBK0IsU0FBUztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBQ0QsSUFBOEIsUUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsSUFBZ0MsVUFBVTtRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQ0QsSUFBaUMsV0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRXdDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUFhO1FBQ2QsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBUztRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUFTO1FBQ2QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVUsRUFBRSxFQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7K0dBMUNVLHFCQUFxQjs2REFBckIscUJBQXFCO1lBQXJCLDRHQUFBLHVCQUFtQixJQUFFOztZQUFyQixxQ0FBcUIscUJBQUEseUJBQUEsMkJBQUE7OztpRkFBckIscUJBQXFCO2NBUmpDLFNBQVM7MkJBQ0UsdUJBQXVCLFFBRzNCO29CQUNKLGFBQWEsRUFBRSxrQkFBa0I7aUJBQ2xDO2dCQUdRLElBQUk7a0JBQVosS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBSXlCLFNBQVM7a0JBQXZDLFdBQVc7bUJBQUMsWUFBWTtZQUdLLFFBQVE7a0JBQXJDLFdBQVc7bUJBQUMsV0FBVztZQUdRLFVBQVU7a0JBQXpDLFdBQVc7bUJBQUMsYUFBYTtZQUdPLFdBQVc7a0JBQTNDLFdBQVc7bUJBQUMsY0FBYztZQUljLFdBQVc7a0JBQW5ELFlBQVk7bUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkF2QjVCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZURyYWcgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZHJhZyc7XG5pbXBvcnQgeyBNaW5pbWFwRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWluaW1hcC1taW5pLXZpZXdwb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmktdmlld3BvcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taW5pLXZpZXdwb3J0LmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbWluaW1hcC12aWV3cG9ydCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5pVmlld3BvcnRDb21wb25lbnQge1xuICBASW5wdXQoKSBsZWZ0ITogbnVtYmVyXG4gIEBJbnB1dCgpIHRvcCE6IG51bWJlclxuICBASW5wdXQoKSB3aWR0aCE6IG51bWJlclxuICBASW5wdXQoKSBoZWlnaHQhOiBudW1iZXJcbiAgQElucHV0KCkgY29udGFpbmVyV2lkdGghOiBudW1iZXJcbiAgQElucHV0KCkgdHJhbnNsYXRlITogTWluaW1hcERhdGFbJ3RyYW5zbGF0ZSddXG5cbiAgZHJhZyA9IHVzZURyYWcoKGR4LCBkeSkgPT4gdGhpcy5vbkRyYWcoZHgsIGR5KSwgZSA9PiAoeyB4OiBlLnBhZ2VYLCB5OiBlLnBhZ2VZIH0pKVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdCcpIGdldCBzdHlsZUxlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5zY2FsZSh0aGlzLmxlZnQpKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgZ2V0IHN0eWxlVG9wKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2NhbGUodGhpcy50b3ApKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgc3R5bGVXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLnNjYWxlKHRoaXMud2lkdGgpKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IHN0eWxlSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2NhbGUodGhpcy5oZWlnaHQpKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBwb2ludGVyZG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB0aGlzLmRyYWcuc3RhcnQoZXZlbnQpXG4gIH1cblxuICBweCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlfXB4YFxuICB9XG5cbiAgc2NhbGUodjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHYgKiB0aGlzLmNvbnRhaW5lcldpZHRoXG4gIH1cblxuICBpbnZlcnQodjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHYgLyB0aGlzLmNvbnRhaW5lcldpZHRoXG4gIH1cblxuICBvbkRyYWcoZHg6IG51bWJlciwgZHk6IG51bWJlcikge1xuICAgIHRoaXMudHJhbnNsYXRlKHRoaXMuaW52ZXJ0KC1keCksIHRoaXMuaW52ZXJ0KC1keSkpXG4gIH1cbn1cbiJdfQ==
@@ -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_r1 = i0.ɵɵnextContext();
11
+ i0.ɵɵproperty("left", ctx_r1.scale(node_r1.left))("top", ctx_r1.scale(node_r1.top))("width", ctx_r1.scale(node_r1.width))("height", ctx_r1.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(__ngFactoryType__) { return new (__ngFactoryType__ || 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();
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:#e5eaefa6;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:#e5eaefa6;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL21pbmltYXAvY29tcG9uZW50cy9taW5pbWFwL21pbmltYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWEsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0F0SCx1Q0FHb0I7Ozs7SUFGa0MsQUFBNUIsQUFBeEIsQUFEdUUsaURBQXlCLGtDQUN6RSxzQ0FBNEIsd0NBQThCOztBRFNuRixNQUFNLE9BQU8sZ0JBQWdCO0lBaUNSO0lBQXdCO0lBaENsQyxRQUFRLENBQWE7SUFDckIsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUF1QjtJQUM1QixLQUFLLENBQXVCO0lBQzVCLFFBQVEsQ0FBMEI7SUFDbEMsU0FBUyxDQUEyQjtJQUNwQyxLQUFLLENBQXVCO0lBRXJDLElBQWdDLEtBQUs7UUFDbkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFDRCxJQUFpQyxNQUFNO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUV3QyxXQUFXLENBQUMsS0FBbUI7UUFDdEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRXFDLFFBQVEsQ0FBQyxLQUFpQjtRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDekQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9ELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU5RCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsWUFBbUIsRUFBYyxFQUFVLEdBQXNCO1FBQTlDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVwQyxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUE7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQVMsRUFBRSxJQUFrQztRQUM1RCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7MEdBdERVLGdCQUFnQjs2REFBaEIsZ0JBQWdCO1lBQWhCLHVHQUFBLHVCQUFtQixJQUFILG9GQUFoQixvQkFBZ0IsSUFBQTs7WUFBaEIsa0NBQWdCLHNCQUFBOztZQ1Y3Qiw2RkFDb0Y7WUFHcEYsMkNBQ21HOztZQUxyRCxBQUFWLG1DQUFVLHNDQUF5QjtZQUloRCxjQUFzQjtZQUNNLEFBQWpELEFBRDBGLEFBQXpCLEFBQXJCLEFBQXZCLHdDQUFzQix5QkFBcUIsNkJBQXlCLCtCQUEyQiwwRkFDcEUsNEJBQXdCOzs7aUZESzdELGdCQUFnQjtjQVA1QixTQUFTO3VCQUdGO29CQUNKLGFBQWEsRUFBRSxTQUFTO2lCQUN6QjsyRUFHUSxRQUFRO2tCQUFoQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFMEIsS0FBSztrQkFBcEMsV0FBVzttQkFBQyxhQUFhO1lBR08sTUFBTTtrQkFBdEMsV0FBVzttQkFBQyxjQUFjO1lBSWMsV0FBVztrQkFBbkQsWUFBWTttQkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFLRCxRQUFRO2tCQUE3QyxZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBckJ6QixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFwRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9taW5pbWFwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWluaW1hcC5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21pbmltYXAnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTWluaW1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuICBASW5wdXQoKSBzaXplITogbnVtYmVyXG4gIEBJbnB1dCgpIHJhdGlvITogTWluaW1hcERhdGFbJ3JhdGlvJ11cbiAgQElucHV0KCkgbm9kZXMhOiBNaW5pbWFwRGF0YVsnbm9kZXMnXVxuICBASW5wdXQoKSB2aWV3cG9ydCE6IE1pbmltYXBEYXRhWyd2aWV3cG9ydCddXG4gIEBJbnB1dCgpIHRyYW5zbGF0ZSE6IE1pbmltYXBEYXRhWyd0cmFuc2xhdGUnXVxuICBASW5wdXQoKSBwb2ludCE6IE1pbmltYXBEYXRhWydwb2ludCddXG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLnNpemUgKiB0aGlzLnJhdGlvKVxuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IGhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLnNpemUpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicsIFsnJGV2ZW50J10pIHBvaW50ZXJkb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RibGNsaWNrJywgWyckZXZlbnQnXSkgZGJsY2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50KSByZXR1cm5cbiAgICBjb25zdCBib3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCB4ID0gKGV2ZW50LmNsaWVudFggLSBib3gubGVmdCkgLyAodGhpcy5zaXplICogdGhpcy5yYXRpbylcbiAgICBjb25zdCB5ID0gKGV2ZW50LmNsaWVudFkgLSBib3gudG9wKSAvICh0aGlzLnNpemUgKiB0aGlzLnJhdGlvKVxuXG4gICAgdGhpcy5wb2ludCh4LCB5KVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpICB7XG4gICAgdGhpcy5jZHIuZGV0YWNoKClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnJlbmRlcmVkKCkpXG4gIH1cblxuICBweCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlfXB4YFxuICB9XG5cbiAgc2NhbGUodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50KSByZXR1cm4gMFxuXG4gICAgcmV0dXJuIHZhbHVlICogdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoXG4gIH1cblxuICBpZGVudGlmeU1pbmlOb2RlKF86IG51bWJlciwgaXRlbTogTWluaW1hcERhdGFbJ25vZGVzJ11bbnVtYmVyXSkge1xuICAgIHJldHVybiBbaXRlbS50b3AsIGl0ZW0ubGVmdF0uam9pbignXycpXG4gIH1cbn1cbiIsIjxtaW5pbWFwLW1pbmktbm9kZSAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgdHJhY2tCeTogaWRlbnRpZnlNaW5pTm9kZVwiIFtsZWZ0XT1cInNjYWxlKG5vZGUubGVmdClcIlxuICBbdG9wXT1cInNjYWxlKG5vZGUudG9wKVwiIFt3aWR0aF09XCJzY2FsZShub2RlLndpZHRoKVwiIFtoZWlnaHRdPVwic2NhbGUobm9kZS5oZWlnaHQpXCI+XG5cbjwvbWluaW1hcC1taW5pLW5vZGU+XG48bWluaW1hcC1taW5pLXZpZXdwb3J0IFtsZWZ0XT1cInZpZXdwb3J0LmxlZnRcIiBbdG9wXT1cInZpZXdwb3J0LnRvcFwiIFt3aWR0aF09XCJ2aWV3cG9ydC53aWR0aFwiIFtoZWlnaHRdPVwidmlld3BvcnQuaGVpZ2h0XCJcbiAgW2NvbnRhaW5lcldpZHRoXT1cImVsLm5hdGl2ZUVsZW1lbnQ/LmNsaWVudFdpZHRoXCIgW3RyYW5zbGF0ZV09XCJ0cmFuc2xhdGVcIj48L21pbmltYXAtbWluaS12aWV3cG9ydD5cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBdUQsS0FBeUI7SUFDbkcsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDcEMsT0FBTztvQkFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO29CQUN6QixJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksSUFBSSxHQUFHO29CQUN4QixLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO29CQUN6QixRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRO29CQUMvQixTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNqQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO2lCQUMxQixDQUFBO1lBQ0gsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTTtZQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDckMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFTLENBQUMsQ0FBQTtZQUN2RCxDQUFDLENBQUE7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxPQUFPO29CQUNMLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsZ0JBQWdCO29CQUMzQixLQUFLLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRzt3QkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTt3QkFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUzt3QkFDakMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUTtxQkFDVDtpQkFDRixDQUFBO1lBQ0gsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNjaGVtZXMgfSBmcm9tICdyZXRlJztcblxuaW1wb3J0IHsgUmVuZGVyUHJlc2V0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgTWluaW1hcFJlbmRlciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgTWluaW1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taW5pbWFwL21pbmltYXAuY29tcG9uZW50JztcblxuLyoqXG4gKiBQcmVzZXQgZm9yIHJlbmRlcmluZyBtaW5pbWFwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXA8U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzLCBLIGV4dGVuZHMgTWluaW1hcFJlbmRlcj4ocHJvcHM/OiB7IHNpemU/OiBudW1iZXIgfSk6IFJlbmRlclByZXNldDxTY2hlbWVzLCBLPiB7XG4gIHJldHVybiB7XG4gICAgdXBkYXRlKGNvbnRleHQpIHtcbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ21pbmltYXAnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbm9kZXM6IGNvbnRleHQuZGF0YS5ub2RlcyxcbiAgICAgICAgICBzaXplOiBwcm9wcz8uc2l6ZSB8fCAyMDAsXG4gICAgICAgICAgcmF0aW86IGNvbnRleHQuZGF0YS5yYXRpbyxcbiAgICAgICAgICB2aWV3cG9ydDogY29udGV4dC5kYXRhLnZpZXdwb3J0LFxuICAgICAgICAgIHRyYW5zbGF0ZTogY29udGV4dC5kYXRhLnRyYW5zbGF0ZSxcbiAgICAgICAgICBwb2ludDogY29udGV4dC5kYXRhLnBvaW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSxcbiAgICBtb3VudChjb250ZXh0LCBwbHVnaW4pIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHBsdWdpbi5wYXJlbnRTY29wZSgpXG4gICAgICBjb25zdCBlbWl0ID0gcGFyZW50LmVtaXQuYmluZChwYXJlbnQpXG4gICAgICBjb25zdCByZW5kZXJlZCA9ICgpID0+IHtcbiAgICAgICAgZW1pdCh7IHR5cGU6ICdyZW5kZXJlZCcsIGRhdGE6IGNvbnRleHQuZGF0YSB9IGFzIGFueSlcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRleHQuZGF0YS50eXBlID09PSAnbWluaW1hcCcpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6ICdyZXRlLW1pbmltYXAnLFxuICAgICAgICAgIGNvbXBvbmVudDogTWluaW1hcENvbXBvbmVudCxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgbm9kZXM6IGNvbnRleHQuZGF0YS5ub2RlcyxcbiAgICAgICAgICAgIHNpemU6IHByb3BzPy5zaXplIHx8IDIwMCxcbiAgICAgICAgICAgIHJhdGlvOiBjb250ZXh0LmRhdGEucmF0aW8sXG4gICAgICAgICAgICB2aWV3cG9ydDogY29udGV4dC5kYXRhLnZpZXdwb3J0LFxuICAgICAgICAgICAgdHJhbnNsYXRlOiBjb250ZXh0LmRhdGEudHJhbnNsYXRlLFxuICAgICAgICAgICAgcG9pbnQ6IGNvbnRleHQuZGF0YS5wb2ludCxcbiAgICAgICAgICAgIHJlbmRlcmVkXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxufVxuIl19
@@ -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(__ngFactoryType__) { return new (__ngFactoryType__ || 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxOC8uc3JjL3ByZXNldHMvbWluaW1hcC9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBaUIvRSxNQUFNLE9BQU8saUJBQWlCOzJHQUFqQixpQkFBaUI7NERBQWpCLGlCQUFpQjtnRUFSMUIsWUFBWTs7aUZBUUgsaUJBQWlCO2NBZjdCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixpQkFBaUI7aUJBQ2xCO2FBQ0Y7O3dGQUNZLGlCQUFpQixtQkFiMUIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1pbmltYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pVmlld3BvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taW5pLW5vZGUvbWluaS1ub2RlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZU1pbmltYXBNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9taW5pbWFwL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJTaWduYWwgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgUmVjdCA9IHtcbiAgd2lkdGg6IG51bWJlclxuICBoZWlnaHQ6IG51bWJlclxuICBsZWZ0OiBudW1iZXIsXG4gIHRvcDogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2Zvcm0gPSB7XG4gIHg6IG51bWJlclxuICB5OiBudW1iZXJcbiAgazogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2xhdGUgPSAoZHg6IG51bWJlciwgZHk6IG51bWJlcikgPT4gdm9pZFxuXG5leHBvcnQgdHlwZSBNaW5pbWFwRGF0YSA9IHtcbiAgICByYXRpbzogbnVtYmVyXG4gICAgbm9kZXM6IFJlY3RbXVxuICAgIHZpZXdwb3J0OiBSZWN0XG4gICAgc3RhcnQoKTogVHJhbnNmb3JtXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVcbiAgICBwb2ludCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWRcbiAgfVxuXG5leHBvcnQgdHlwZSBNaW5pbWFwUmVuZGVyID1cbiAgfCBSZW5kZXJTaWduYWw8J21pbmltYXAnLCBNaW5pbWFwRGF0YT5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { PinsComponent } from './pins/pins.component';
2
+ export { PinComponent } from './pin/pin.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFBpbnNDb21wb25lbnQgfSBmcm9tICcuL3BpbnMvcGlucy5jb21wb25lbnQnO1xuZXhwb3J0IHsgUGluQ29tcG9uZW50IH0gZnJvbSAnLi9waW4vcGluLmNvbXBvbmVudCc7XG4iXX0=
@@ -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(__ngFactoryType__) { return new (__ngFactoryType__ || 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:#4682b4;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:#4682b4;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cy9waW4vcGluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBYSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFBOztBQUVqRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7QUFVbEIsTUFBTSxPQUFPLFlBQVk7SUFtQ0g7SUFsQ1gsUUFBUSxDQUFXO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixVQUFVLENBQWlCO0lBQzFCLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0lBQy9CLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQTtJQUMxRCxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtJQUV6QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDakMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBRTNCLElBQW1DLFNBQVM7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUE4QixHQUFHO1FBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUE7SUFDN0MsQ0FBQztJQUNELElBQStCLElBQUk7UUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQTtJQUM3QyxDQUFDO0lBQ3dDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUN3QyxXQUFXLENBQUMsS0FBaUI7UUFDcEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxvQkFBb0I7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCwyQkFBMkI7UUFDM0IsK0NBQStDO0lBQ2pELENBQUM7c0dBMUNVLFlBQVk7NkRBQVosWUFBWTtZQUFaLG1HQUFBLHVCQUFtQixJQUFQLHNGQUFaLHVCQUFtQixJQUFQOztZQUFaLDhCQUFZLGtCQUFBO1lBQVoseUNBQVk7OztpRkFBWixZQUFZO2NBUnhCLFNBQVM7MkJBQ0UsYUFBYSxZQUNiLEVBQUUsUUFFTjtvQkFDSixhQUFhLEVBQUUsS0FBSztpQkFDckI7a0RBR1EsUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksSUFBSTtrQkFBYixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQU00QixTQUFTO2tCQUEzQyxXQUFXO21CQUFDLGdCQUFnQjtZQUdDLEdBQUc7a0JBQWhDLFdBQVc7bUJBQUMsV0FBVztZQUdPLElBQUk7a0JBQWxDLFdBQVc7bUJBQUMsWUFBWTtZQUdnQixXQUFXO2tCQUFuRCxZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU9FLFdBQVc7a0JBQW5ELFlBQVk7bUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkE1QjVCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyB1c2VEcmFnIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RyYWcnXG5cbmNvbnN0IHBpblNpemUgPSAyMFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZXJvdXRlLXBpbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGluLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAncGluJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFBpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBvc2l0aW9uITogUG9zaXRpb25cbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGdldFBvaW50ZXIhOiAoKSA9PiBQb3NpdGlvblxuICBAT3V0cHV0KCkgbWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuICBAT3V0cHV0KCkgdHJhbnNsYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGR4OiBudW1iZXIsIGR5OiBudW1iZXIgfT4oKVxuICBAT3V0cHV0KCkgZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIGRyYWcgPSB1c2VEcmFnKChkeCwgZHkpID0+IHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5lbWl0KHsgZHgsIGR5IH0pXG4gIH0sICgpID0+IHRoaXMuZ2V0UG9pbnRlcigpKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBnZXQgX3NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AnKSBnZXQgdG9wKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uLnkgLSBwaW5TaXplIC8gMn1weGBcbiAgfVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQnKSBnZXQgbGVmdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbi54IC0gcGluU2l6ZSAvIDJ9cHhgXG4gIH1cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBwb2ludGVyZG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICB0aGlzLmRyYWcuc3RhcnQoZXZlbnQpXG4gICAgdGhpcy5kb3duLmVtaXQoKVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgWyckZXZlbnQnXSkgY29udGV4dG1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcblxuICAgIHRoaXMubWVudS5lbWl0KClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAvLyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG5cbn1cbiJdfQ==