@limble/limble-tree 0.12.2 → 0.13.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 (45) hide show
  1. package/README.md +149 -149
  2. package/{esm2015/lib/classes/Branch.js → esm2020/lib/classes/Branch.mjs} +1 -1
  3. package/{esm2015/lib/classes/DropZone.js → esm2020/lib/classes/DropZone.mjs} +1 -1
  4. package/{esm2015/lib/classes/DropZoneLocation.js → esm2020/lib/classes/DropZoneLocation.mjs} +1 -1
  5. package/{esm2015/lib/custom-event-bindings/dragleave-no-change-detect.directive.js → esm2020/lib/custom-event-bindings/dragleave-no-change-detect.directive.mjs} +0 -0
  6. package/{esm2015/lib/custom-event-bindings/dragover-no-change-detect.directive.js → esm2020/lib/custom-event-bindings/dragover-no-change-detect.directive.mjs} +1 -1
  7. package/esm2020/lib/drop-zone/drop-zone.component.mjs +75 -0
  8. package/esm2020/lib/limble-tree-branch/limble-tree-branch.component.mjs +110 -0
  9. package/esm2020/lib/limble-tree-node/limble-tree-node.component.mjs +467 -0
  10. package/{esm2015/lib/limble-tree-placeholder/limble-tree-placeholder.component.js → esm2020/lib/limble-tree-placeholder/limble-tree-placeholder.component.mjs} +3 -8
  11. package/esm2020/lib/limble-tree-root/drop-zone.service.mjs +376 -0
  12. package/esm2020/lib/limble-tree-root/limble-tree-root.component.mjs +172 -0
  13. package/{esm2015/lib/limble-tree-root/tree-construction-status.service.js → esm2020/lib/limble-tree-root/tree-construction-status.service.mjs} +1 -1
  14. package/esm2020/lib/limble-tree-root/tree.service.mjs +297 -0
  15. package/{esm2015/lib/limble-tree.module.js → esm2020/lib/limble-tree.module.mjs} +5 -5
  16. package/{esm2015/lib/singletons/component-creator.service.js → esm2020/lib/singletons/component-creator.service.mjs} +1 -1
  17. package/esm2020/lib/singletons/drag-state.service.mjs +63 -0
  18. package/esm2020/lib/singletons/global-events.service.mjs +136 -0
  19. package/{esm2015/lib/util.js → esm2020/lib/util.mjs} +1 -1
  20. package/{esm2015/limble-limble-tree.js → esm2020/limble-limble-tree.mjs} +0 -0
  21. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  22. package/fesm2015/limble-limble-tree.mjs +2256 -0
  23. package/fesm2015/limble-limble-tree.mjs.map +1 -0
  24. package/{fesm2015/limble-limble-tree.js → fesm2020/limble-limble-tree.mjs} +105 -147
  25. package/fesm2020/limble-limble-tree.mjs.map +1 -0
  26. package/{limble-limble-tree.d.ts → index.d.ts} +0 -0
  27. package/lib/custom-event-bindings/dragleave-no-change-detect.directive.d.ts +1 -1
  28. package/lib/custom-event-bindings/dragover-no-change-detect.directive.d.ts +1 -1
  29. package/lib/drop-zone/drop-zone.component.d.ts +1 -1
  30. package/lib/limble-tree-branch/limble-tree-branch.component.d.ts +1 -1
  31. package/lib/limble-tree-node/limble-tree-node.component.d.ts +1 -1
  32. package/lib/limble-tree-placeholder/limble-tree-placeholder.component.d.ts +1 -1
  33. package/lib/limble-tree-root/limble-tree-root.component.d.ts +1 -1
  34. package/package.json +24 -10
  35. package/bundles/limble-limble-tree.umd.js +0 -2905
  36. package/bundles/limble-limble-tree.umd.js.map +0 -1
  37. package/esm2015/lib/drop-zone/drop-zone.component.js +0 -81
  38. package/esm2015/lib/limble-tree-branch/limble-tree-branch.component.js +0 -116
  39. package/esm2015/lib/limble-tree-node/limble-tree-node.component.js +0 -484
  40. package/esm2015/lib/limble-tree-root/drop-zone.service.js +0 -372
  41. package/esm2015/lib/limble-tree-root/limble-tree-root.component.js +0 -178
  42. package/esm2015/lib/limble-tree-root/tree.service.js +0 -301
  43. package/esm2015/lib/singletons/drag-state.service.js +0 -64
  44. package/esm2015/lib/singletons/global-events.service.js +0 -137
  45. package/fesm2015/limble-limble-tree.js.map +0 -1
@@ -16,4 +16,4 @@ ComponentCreatorService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
16
16
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComponentCreatorService, [{
17
17
  type: Injectable
18
18
  }], function () { return [{ type: i0.ComponentFactoryResolver }]; }, null); })();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWNyZWF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvc2luZ2xldG9ucy9jb21wb25lbnQtY3JlYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSixVQUFVLEVBR1osTUFBTSxlQUFlLENBQUM7O0FBR3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFDakMsWUFBNkIsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ25FLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQ1osU0FBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLFFBQTRCLFNBQVM7UUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUNsRSxTQUFTLENBQ1gsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FDbEQsZ0JBQWdCLEVBQ2hCLEtBQUssQ0FDUCxDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUM7SUFDdkIsQ0FBQzs7OEZBbEJTLHVCQUF1Qjs2RUFBdkIsdUJBQXVCLFdBQXZCLHVCQUF1Qjt1RkFBdkIsdUJBQXVCO2NBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgIEluamVjdGFibGUsXHJcbiAgIFR5cGUsXHJcbiAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50Q3JlYXRvclNlcnZpY2Uge1xyXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgICAgIHRoaXMuZmFjdG9yeVJlc29sdmVyID0gZmFjdG9yeVJlc29sdmVyO1xyXG4gICB9XHJcblxyXG4gICBhcHBlbmRDb21wb25lbnQ8VCA9IHVua25vd24+KFxyXG4gICAgICBjb21wb25lbnQ6IFR5cGU8VD4sXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcclxuICAgKSB7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuICAgICAgICAgY29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFQ+KFxyXG4gICAgICAgICBjb21wb25lbnRGYWN0b3J5LFxyXG4gICAgICAgICBpbmRleFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICB9XHJcbn1cclxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWNyZWF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvc2luZ2xldG9ucy9jb21wb25lbnQtY3JlYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSixVQUFVLEVBR1osTUFBTSxlQUFlLENBQUM7O0FBR3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFDakMsWUFBNkIsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ25FLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQ1osU0FBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLFFBQTRCLFNBQVM7UUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUNsRSxTQUFTLENBQ1gsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FDbEQsZ0JBQWdCLEVBQ2hCLEtBQUssQ0FDUCxDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUM7SUFDdkIsQ0FBQzs7OEZBbEJTLHVCQUF1Qjs2RUFBdkIsdUJBQXVCLFdBQXZCLHVCQUF1Qjt1RkFBdkIsdUJBQXVCO2NBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgSW5qZWN0YWJsZSxcbiAgIFR5cGUsXG4gICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRDcmVhdG9yU2VydmljZSB7XG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XG4gICAgICB0aGlzLmZhY3RvcnlSZXNvbHZlciA9IGZhY3RvcnlSZXNvbHZlcjtcbiAgIH1cblxuICAgYXBwZW5kQ29tcG9uZW50PFQgPSB1bmtub3duPihcbiAgICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gICApIHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgIGNvbXBvbmVudFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFQ+KFxuICAgICAgICAgY29tcG9uZW50RmFjdG9yeSxcbiAgICAgICAgIGluZGV4XG4gICAgICApO1xuICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export class DragStateService {
5
+ constructor() {
6
+ this.state = "idle";
7
+ this.state$ = new BehaviorSubject(this.state);
8
+ }
9
+ /** Called to indicate that something is being dragged. Stores that something for later. */
10
+ dragging(branch, parentContainer) {
11
+ this._tempData = {
12
+ branch: branch,
13
+ parentContainer: parentContainer
14
+ };
15
+ this.state = "dragging";
16
+ this.state$.next(this.state);
17
+ }
18
+ /** Called to indicate that there is a valid active drop zone. Drop is now possible. */
19
+ droppable() {
20
+ if (this.state !== "dragging") {
21
+ throw new Error("Can only call `droppable` when state is `dragging`");
22
+ }
23
+ this.state = "droppable";
24
+ this.state$.next(this.state);
25
+ }
26
+ /** Called to indicate that there is no longer a valid active drop zone. Drop is no longer possible. */
27
+ notDroppable() {
28
+ if (this.state !== "droppable") {
29
+ throw new Error("Can only call `notDroppable` when state is `droppable`");
30
+ }
31
+ this.state = "dragging";
32
+ this.state$.next(this.state);
33
+ }
34
+ /** Called to indicate that a drop into a valid drop zone has occurred. Returns the item that was dropped. */
35
+ capture() {
36
+ if (this.state !== "droppable") {
37
+ throw new Error("Can only move to `captured` state from `droppable` state");
38
+ }
39
+ this.state = "captured";
40
+ this.state$.next(this.state);
41
+ return this._tempData?.branch;
42
+ }
43
+ /** Called to reset the service for future drags */
44
+ release() {
45
+ this._tempData = undefined;
46
+ this.state = "idle";
47
+ this.state$.next(this.state);
48
+ }
49
+ /** gets the current thing being dragged, if any. */
50
+ getData() {
51
+ return this._tempData;
52
+ }
53
+ /** gets the current state */
54
+ getState() {
55
+ return this.state;
56
+ }
57
+ }
58
+ DragStateService.ɵfac = function DragStateService_Factory(t) { return new (t || DragStateService)(); };
59
+ DragStateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DragStateService, factory: DragStateService.ɵfac });
60
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DragStateService, [{
61
+ type: Injectable
62
+ }], function () { return []; }, null); })();
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9zaW5nbGV0b25zL2RyYWctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVd2QyxNQUFNLE9BQU8sZ0JBQWdCO0lBVTFCO1FBQ0csSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDJGQUEyRjtJQUNwRixRQUFRLENBQUMsTUFBbUIsRUFBRSxlQUFpQztRQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxlQUFlLEVBQUUsZUFBZTtTQUNsQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCx1RkFBdUY7SUFDaEYsU0FBUztRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCx1R0FBdUc7SUFDaEcsWUFBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQ1osd0RBQXdELENBQzFELENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsOEdBQThHO0lBQ3ZHLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQ1osMERBQTBELENBQzVELENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxtREFBbUQ7SUFDNUMsT0FBTztRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsb0RBQW9EO0lBQzdDLE9BQU87UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELDZCQUE2QjtJQUN0QixRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O2dGQXhFUyxnQkFBZ0I7c0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0I7dUZBQWhCLGdCQUFnQjtjQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHR5cGUgeyBCcmFuY2ggfSBmcm9tIFwiLi4vY2xhc3Nlcy9CcmFuY2hcIjtcblxuZXhwb3J0IHR5cGUgRHJhZ1N0YXRlID0gXCJpZGxlXCIgfCBcImRyYWdnaW5nXCIgfCBcImRyb3BwYWJsZVwiIHwgXCJjYXB0dXJlZFwiO1xuXG5pbnRlcmZhY2UgVGVtcERhdGEge1xuICAgYnJhbmNoOiBCcmFuY2g8YW55PjtcbiAgIHBhcmVudENvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyYWdTdGF0ZVNlcnZpY2Uge1xuICAgLyoqIHB1c2hlcyB0aGUgbmV3IHN0YXRlIHdoZW5ldmVyIHRoZSBzdGF0ZSBjaGFuZ2VzICovXG4gICBwdWJsaWMgc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8RHJhZ1N0YXRlPjtcblxuICAgLyoqIGhvbGRzIGRhdGEgYWJvdXQgdGhlIHRoaW5nIGJlaW5nIGRyYWdnZWQgKi9cbiAgIHByaXZhdGUgX3RlbXBEYXRhOiBUZW1wRGF0YSB8IHVuZGVmaW5lZDtcblxuICAgLyoqIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBkcmFnIHByb2Nlc3MgKi9cbiAgIHByaXZhdGUgc3RhdGU6IERyYWdTdGF0ZTtcblxuICAgY29uc3RydWN0b3IoKSB7XG4gICAgICB0aGlzLnN0YXRlID0gXCJpZGxlXCI7XG4gICAgICB0aGlzLnN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHJhZ1N0YXRlPih0aGlzLnN0YXRlKTtcbiAgIH1cblxuICAgLyoqIENhbGxlZCB0byBpbmRpY2F0ZSB0aGF0IHNvbWV0aGluZyBpcyBiZWluZyBkcmFnZ2VkLiBTdG9yZXMgdGhhdCBzb21ldGhpbmcgZm9yIGxhdGVyLiAqL1xuICAgcHVibGljIGRyYWdnaW5nKGJyYW5jaDogQnJhbmNoPGFueT4sIHBhcmVudENvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgdGhpcy5fdGVtcERhdGEgPSB7XG4gICAgICAgICBicmFuY2g6IGJyYW5jaCxcbiAgICAgICAgIHBhcmVudENvbnRhaW5lcjogcGFyZW50Q29udGFpbmVyXG4gICAgICB9O1xuICAgICAgdGhpcy5zdGF0ZSA9IFwiZHJhZ2dpbmdcIjtcbiAgICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5zdGF0ZSk7XG4gICB9XG5cbiAgIC8qKiBDYWxsZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGVyZSBpcyBhIHZhbGlkIGFjdGl2ZSBkcm9wIHpvbmUuIERyb3AgaXMgbm93IHBvc3NpYmxlLiAqL1xuICAgcHVibGljIGRyb3BwYWJsZSgpIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBcImRyYWdnaW5nXCIpIHtcbiAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbiBvbmx5IGNhbGwgYGRyb3BwYWJsZWAgd2hlbiBzdGF0ZSBpcyBgZHJhZ2dpbmdgXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdGF0ZSA9IFwiZHJvcHBhYmxlXCI7XG4gICAgICB0aGlzLnN0YXRlJC5uZXh0KHRoaXMuc3RhdGUpO1xuICAgfVxuXG4gICAvKiogQ2FsbGVkIHRvIGluZGljYXRlIHRoYXQgdGhlcmUgaXMgbm8gbG9uZ2VyIGEgdmFsaWQgYWN0aXZlIGRyb3Agem9uZS4gRHJvcCBpcyBubyBsb25nZXIgcG9zc2libGUuICovXG4gICBwdWJsaWMgbm90RHJvcHBhYmxlKCkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFwiZHJvcHBhYmxlXCIpIHtcbiAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIFwiQ2FuIG9ubHkgY2FsbCBgbm90RHJvcHBhYmxlYCB3aGVuIHN0YXRlIGlzIGBkcm9wcGFibGVgXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXRlID0gXCJkcmFnZ2luZ1wiO1xuICAgICAgdGhpcy5zdGF0ZSQubmV4dCh0aGlzLnN0YXRlKTtcbiAgIH1cblxuICAgLyoqIENhbGxlZCB0byBpbmRpY2F0ZSB0aGF0IGEgZHJvcCBpbnRvIGEgdmFsaWQgZHJvcCB6b25lIGhhcyBvY2N1cnJlZC4gUmV0dXJucyB0aGUgaXRlbSB0aGF0IHdhcyBkcm9wcGVkLiAgKi9cbiAgIHB1YmxpYyBjYXB0dXJlKCkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFwiZHJvcHBhYmxlXCIpIHtcbiAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIFwiQ2FuIG9ubHkgbW92ZSB0byBgY2FwdHVyZWRgIHN0YXRlIGZyb20gYGRyb3BwYWJsZWAgc3RhdGVcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RhdGUgPSBcImNhcHR1cmVkXCI7XG4gICAgICB0aGlzLnN0YXRlJC5uZXh0KHRoaXMuc3RhdGUpO1xuICAgICAgcmV0dXJuIHRoaXMuX3RlbXBEYXRhPy5icmFuY2g7XG4gICB9XG5cbiAgIC8qKiBDYWxsZWQgdG8gcmVzZXQgdGhlIHNlcnZpY2UgZm9yIGZ1dHVyZSBkcmFncyAqL1xuICAgcHVibGljIHJlbGVhc2UoKSB7XG4gICAgICB0aGlzLl90ZW1wRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RhdGUgPSBcImlkbGVcIjtcbiAgICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5zdGF0ZSk7XG4gICB9XG5cbiAgIC8qKiBnZXRzIHRoZSBjdXJyZW50IHRoaW5nIGJlaW5nIGRyYWdnZWQsIGlmIGFueS4gKi9cbiAgIHB1YmxpYyBnZXREYXRhKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RlbXBEYXRhO1xuICAgfVxuXG4gICAvKiogZ2V0cyB0aGUgY3VycmVudCBzdGF0ZSAqL1xuICAgcHVibGljIGdldFN0YXRlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gICB9XG59XG4iXX0=
@@ -0,0 +1,136 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { fromEvent } from "rxjs";
3
+ import { filter, throttleTime } from "rxjs/operators";
4
+ import * as i0 from "@angular/core";
5
+ function getScrollParent(element) {
6
+ const regex = /(auto|scroll)/;
7
+ const parents = (_node, parentList) => {
8
+ if (_node === null || _node.parentNode === null) {
9
+ return parentList;
10
+ }
11
+ return parents(_node.parentElement, parentList.concat([_node]));
12
+ };
13
+ const style = (_node, prop) => getComputedStyle(_node, null).getPropertyValue(prop);
14
+ const overflow = (_node) => style(_node, "overflow") +
15
+ style(_node, "overflow-y") +
16
+ style(_node, "overflow-x");
17
+ const scroll = (_node) => regex.test(overflow(_node));
18
+ const parentList = parents(element.parentElement, []);
19
+ for (const parent of parentList) {
20
+ if (scroll(parent)) {
21
+ return parent;
22
+ }
23
+ }
24
+ return (document.scrollingElement ?? document.documentElement);
25
+ }
26
+ export class GlobalEventsService {
27
+ constructor(ngZone) {
28
+ this.ngZone = ngZone;
29
+ this.ngZone.runOutsideAngular(() => {
30
+ this.globalDrag$ = fromEvent(document, "drag");
31
+ });
32
+ this.scrolling = false;
33
+ }
34
+ addScrolling() {
35
+ this.ngZone.runOutsideAngular(() => {
36
+ if (this.globalDragSubscription !== undefined) {
37
+ return;
38
+ }
39
+ if (this.globalDrag$ === undefined) {
40
+ throw new Error("Could not get observable");
41
+ }
42
+ let viewPortHeight;
43
+ let scrollAreaSize;
44
+ let edgeTop;
45
+ let edgeBottom;
46
+ let isInTopScrollArea;
47
+ let isInBottomScrollArea;
48
+ let timer;
49
+ let scrollableDiv;
50
+ let relativeY;
51
+ this.globalDragSubscription = this.globalDrag$
52
+ .pipe(throttleTime(25), filter((event) => {
53
+ if (!event.target) {
54
+ return false;
55
+ }
56
+ scrollableDiv = getScrollParent(event.target);
57
+ viewPortHeight = scrollableDiv.clientHeight;
58
+ const viewPortWidth = scrollableDiv.clientWidth;
59
+ let relativeX;
60
+ if (window
61
+ .getComputedStyle(scrollableDiv)
62
+ .getPropertyValue("position")
63
+ .toLowerCase() === "fixed") {
64
+ relativeX = event.clientX;
65
+ relativeY = event.clientY;
66
+ }
67
+ else {
68
+ const boundingRect = scrollableDiv.getBoundingClientRect();
69
+ const scrollableDivAncestor = getScrollParent(scrollableDiv);
70
+ relativeX =
71
+ event.clientX -
72
+ (boundingRect.left + scrollableDivAncestor.scrollLeft);
73
+ relativeY =
74
+ event.clientY -
75
+ (boundingRect.top + scrollableDivAncestor.scrollTop);
76
+ }
77
+ if (relativeX < 0 ||
78
+ relativeX > viewPortWidth ||
79
+ relativeY < 0 ||
80
+ relativeY > viewPortHeight) {
81
+ //Outside of scrollable div
82
+ return false;
83
+ }
84
+ scrollAreaSize = Math.max(viewPortHeight * 0.1, 100);
85
+ edgeTop = scrollAreaSize;
86
+ edgeBottom = viewPortHeight - scrollAreaSize;
87
+ isInTopScrollArea = relativeY < edgeTop;
88
+ isInBottomScrollArea = relativeY > edgeBottom;
89
+ return isInTopScrollArea || isInBottomScrollArea;
90
+ }))
91
+ .subscribe(() => {
92
+ if (scrollableDiv === null) {
93
+ return;
94
+ }
95
+ const height = scrollableDiv.scrollHeight;
96
+ const maxScrollY = height - viewPortHeight;
97
+ const currentScrollY = scrollableDiv.scrollTop;
98
+ const canScrollUp = currentScrollY > 0;
99
+ const canScrollDown = currentScrollY < maxScrollY;
100
+ let nextScrollY;
101
+ const maxStep = 75;
102
+ if (isInTopScrollArea && canScrollUp) {
103
+ const intensity = (edgeTop - relativeY) / scrollAreaSize;
104
+ nextScrollY = currentScrollY - maxStep * intensity;
105
+ }
106
+ else if (isInBottomScrollArea && canScrollDown) {
107
+ const intensity = (relativeY - edgeBottom) / scrollAreaSize;
108
+ nextScrollY = currentScrollY + maxStep * intensity;
109
+ }
110
+ else {
111
+ return;
112
+ }
113
+ nextScrollY = Math.max(0, Math.min(maxScrollY, nextScrollY));
114
+ if (nextScrollY !== currentScrollY) {
115
+ scrollableDiv.scrollTo({ top: nextScrollY });
116
+ this.scrolling = true;
117
+ clearTimeout(timer);
118
+ timer = setTimeout(() => {
119
+ this.scrolling = false;
120
+ }, 100);
121
+ }
122
+ });
123
+ });
124
+ }
125
+ removeScrolling() {
126
+ if (this.globalDragSubscription !== undefined) {
127
+ this.globalDragSubscription.unsubscribe();
128
+ }
129
+ }
130
+ }
131
+ GlobalEventsService.ɵfac = function GlobalEventsService_Factory(t) { return new (t || GlobalEventsService)(i0.ɵɵinject(i0.NgZone)); };
132
+ GlobalEventsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GlobalEventsService, factory: GlobalEventsService.ɵfac });
133
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GlobalEventsService, [{
134
+ type: Injectable
135
+ }], function () { return [{ type: i0.NgZone }]; }, null); })();
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9zaW5nbGV0b25zL2dsb2JhbC1ldmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXRELFNBQVMsZUFBZSxDQUFDLE9BQW9CO0lBQzFDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUM5QixNQUFNLE9BQU8sR0FBRyxDQUNiLEtBQXlCLEVBQ3pCLFVBQThCLEVBQ1gsRUFBRTtRQUNyQixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDOUMsT0FBTyxVQUFVLENBQUM7U0FDcEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFrQixFQUFFLElBQVksRUFBRSxFQUFFLENBQ2hELGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUNyQyxLQUFLLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUN4QixLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztRQUMxQixLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lB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QUFJLG9CQUFvQixJQUFJLGFBQWEsRUFBRTtvQkFDL0MsTUFBTSxTQUFTLEdBQUcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsY0FBYyxDQUFDO29CQUM1RCxXQUFXLEdBQUcsY0FBYyxHQUFHLE9BQU8sR0FBRyxTQUFTLENBQUM7aUJBQ3JEO3FCQUFNO29CQUNKLE9BQU87aUJBQ1Q7Z0JBQ0QsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdELElBQUksV0FBVyxLQUFLLGNBQWMsRUFBRTtvQkFDakMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDdEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDVjtZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU0sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDNUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVDO0lBQ0osQ0FBQzs7c0ZBbEhTLG1CQUFtQjt5RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQjt1RkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmlsdGVyLCB0aHJvdHRsZVRpbWUgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuZnVuY3Rpb24gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgY29uc3QgcmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XG4gICBjb25zdCBwYXJlbnRzID0gKFxuICAgICAgX25vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICAgIHBhcmVudExpc3Q6IEFycmF5PEhUTUxFbGVtZW50PlxuICAgKTogQXJyYXk8SFRNTEVsZW1lbnQ+ID0+IHtcbiAgICAgIGlmIChfbm9kZSA9PT0gbnVsbCB8fCBfbm9kZS5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICByZXR1cm4gcGFyZW50TGlzdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJlbnRzKF9ub2RlLnBhcmVudEVsZW1lbnQsIHBhcmVudExpc3QuY29uY2F0KFtfbm9kZV0pKTtcbiAgIH07XG5cbiAgIGNvbnN0IHN0eWxlID0gKF9ub2RlOiBIVE1MRWxlbWVudCwgcHJvcDogc3RyaW5nKSA9PlxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShfbm9kZSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKTtcbiAgIGNvbnN0IG92ZXJmbG93ID0gKF9ub2RlOiBIVE1MRWxlbWVudCkgPT5cbiAgICAgIHN0eWxlKF9ub2RlLCBcIm92ZXJmbG93XCIpICtcbiAgICAgIHN0eWxlKF9ub2RlLCBcIm92ZXJmbG93LXlcIikgK1xuICAgICAgc3R5bGUoX25vZGUsIFwib3ZlcmZsb3cteFwiKTtcbiAgIGNvbnN0IHNjcm9sbCA9IChfbm9kZTogSFRNTEVsZW1lbnQpID0+IHJlZ2V4LnRlc3Qob3ZlcmZsb3coX25vZGUpKTtcblxuICAgY29uc3QgcGFyZW50TGlzdCA9IHBhcmVudHMoZWxlbWVudC5wYXJlbnRFbGVtZW50LCBbXSk7XG4gICBmb3IgKGNvbnN0IHBhcmVudCBvZiBwYXJlbnRMaXN0KSB7XG4gICAgICBpZiAoc2Nyb2xsKHBhcmVudCkpIHtcbiAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICB9XG4gICB9XG4gICByZXR1cm4gKFxuICAgICAgKGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpID8/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFxuICAgKTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdsb2JhbEV2ZW50c1NlcnZpY2Uge1xuICAgcHJpdmF0ZSBnbG9iYWxEcmFnJDogT2JzZXJ2YWJsZTxEcmFnRXZlbnQ+IHwgdW5kZWZpbmVkO1xuICAgcHJpdmF0ZSBnbG9iYWxEcmFnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICBwdWJsaWMgc2Nyb2xsaW5nOiBib29sZWFuO1xuXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICB0aGlzLmdsb2JhbERyYWckID0gZnJvbUV2ZW50PERyYWdFdmVudD4oZG9jdW1lbnQsIFwiZHJhZ1wiKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zY3JvbGxpbmcgPSBmYWxzZTtcbiAgIH1cblxuICAgcHVibGljIGFkZFNjcm9sbGluZygpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgIGlmICh0aGlzLmdsb2JhbERyYWdTdWJzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgfVxuICAgICAgICAgaWYgKHRoaXMuZ2xvYmFsRHJhZyQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGdldCBvYnNlcnZhYmxlXCIpO1xuICAgICAgICAgfVxuICAgICAgICAgbGV0IHZpZXdQb3J0SGVpZ2h0OiBudW1iZXI7XG4gICAgICAgICBsZXQgc2Nyb2xsQXJlYVNpemU6IG51bWJlcjtcbiAgICAgICAgIGxldCBlZGdlVG9wOiBudW1iZXI7XG4gICAgICAgICBsZXQgZWRnZUJvdHRvbTogbnVtYmVyO1xuICAgICAgICAgbGV0IGlzSW5Ub3BTY3JvbGxBcmVhOiBib29sZWFuO1xuICAgICAgICAgbGV0IGlzSW5Cb3R0b21TY3JvbGxBcmVhOiBib29sZWFuO1xuICAgICAgICAgbGV0IHRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgICAgICAgIGxldCBzY3JvbGxhYmxlRGl2OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgICBsZXQgcmVsYXRpdmVZOiBudW1iZXI7XG4gICAgICAgICB0aGlzLmdsb2JhbERyYWdTdWJzY3JpcHRpb24gPSB0aGlzLmdsb2JhbERyYWckXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgIHRocm90dGxlVGltZSgyNSksXG4gICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZURpdiA9IGdldFNjcm9sbFBhcmVudChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgdmlld1BvcnRIZWlnaHQgPSBzY3JvbGxhYmxlRGl2LmNsaWVudEhlaWdodDtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdQb3J0V2lkdGggPSBzY3JvbGxhYmxlRGl2LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgbGV0IHJlbGF0aXZlWDogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgd2luZG93XG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZShzY3JvbGxhYmxlRGl2KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoXCJwb3NpdGlvblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkgPT09IFwiZml4ZWRcIlxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVggPSBldmVudC5jbGllbnRYO1xuICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVZID0gZXZlbnQuY2xpZW50WTtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICBjb25zdCBib3VuZGluZ1JlY3QgPSBzY3JvbGxhYmxlRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsYWJsZURpdkFuY2VzdG9yID0gZ2V0U2Nyb2xsUGFyZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZURpdlxuICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlWCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jbGllbnRYIC1cbiAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZGluZ1JlY3QubGVmdCArIHNjcm9sbGFibGVEaXZBbmNlc3Rvci5zY3JvbGxMZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlWSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jbGllbnRZIC1cbiAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZGluZ1JlY3QudG9wICsgc2Nyb2xsYWJsZURpdkFuY2VzdG9yLnNjcm9sbFRvcCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVggPCAwIHx8XG4gICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVggPiB2aWV3UG9ydFdpZHRoIHx8XG4gICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVkgPCAwIHx8XG4gICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVkgPiB2aWV3UG9ydEhlaWdodFxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAvL091dHNpZGUgb2Ygc2Nyb2xsYWJsZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHNjcm9sbEFyZWFTaXplID0gTWF0aC5tYXgodmlld1BvcnRIZWlnaHQgKiAwLjEsIDEwMCk7XG4gICAgICAgICAgICAgICAgICBlZGdlVG9wID0gc2Nyb2xsQXJlYVNpemU7XG4gICAgICAgICAgICAgICAgICBlZGdlQm90dG9tID0gdmlld1BvcnRIZWlnaHQgLSBzY3JvbGxBcmVhU2l6ZTtcbiAgICAgICAgICAgICAgICAgIGlzSW5Ub3BTY3JvbGxBcmVhID0gcmVsYXRpdmVZIDwgZWRnZVRvcDtcbiAgICAgICAgICAgICAgICAgIGlzSW5Cb3R0b21TY3JvbGxBcmVhID0gcmVsYXRpdmVZID4gZWRnZUJvdHRvbTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpc0luVG9wU2Nyb2xsQXJlYSB8fCBpc0luQm90dG9tU2Nyb2xsQXJlYTtcbiAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlRGl2ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBzY3JvbGxhYmxlRGl2LnNjcm9sbEhlaWdodDtcbiAgICAgICAgICAgICAgIGNvbnN0IG1heFNjcm9sbFkgPSBoZWlnaHQgLSB2aWV3UG9ydEhlaWdodDtcbiAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxZID0gc2Nyb2xsYWJsZURpdi5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICBjb25zdCBjYW5TY3JvbGxVcCA9IGN1cnJlbnRTY3JvbGxZID4gMDtcbiAgICAgICAgICAgICAgIGNvbnN0IGNhblNjcm9sbERvd24gPSBjdXJyZW50U2Nyb2xsWSA8IG1heFNjcm9sbFk7XG4gICAgICAgICAgICAgICBsZXQgbmV4dFNjcm9sbFk6IG51bWJlcjtcbiAgICAgICAgICAgICAgIGNvbnN0IG1heFN0ZXAgPSA3NTtcbiAgICAgICAgICAgICAgIGlmIChpc0luVG9wU2Nyb2xsQXJlYSAmJiBjYW5TY3JvbGxVcCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaW50ZW5zaXR5ID0gKGVkZ2VUb3AgLSByZWxhdGl2ZVkpIC8gc2Nyb2xsQXJlYVNpemU7XG4gICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsWSA9IGN1cnJlbnRTY3JvbGxZIC0gbWF4U3RlcCAqIGludGVuc2l0eTtcbiAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbkJvdHRvbVNjcm9sbEFyZWEgJiYgY2FuU2Nyb2xsRG93bikge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaW50ZW5zaXR5ID0gKHJlbGF0aXZlWSAtIGVkZ2VCb3R0b20pIC8gc2Nyb2xsQXJlYVNpemU7XG4gICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsWSA9IGN1cnJlbnRTY3JvbGxZICsgbWF4U3RlcCAqIGludGVuc2l0eTtcbiAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBuZXh0U2Nyb2xsWSA9IE1hdGgubWF4KDAsIE1hdGgubWluKG1heFNjcm9sbFksIG5leHRTY3JvbGxZKSk7XG4gICAgICAgICAgICAgICBpZiAobmV4dFNjcm9sbFkgIT09IGN1cnJlbnRTY3JvbGxZKSB7XG4gICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlRGl2LnNjcm9sbFRvKHsgdG9wOiBuZXh0U2Nyb2xsWSB9KTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlU2Nyb2xsaW5nKCkge1xuICAgICAgaWYgKHRoaXMuZ2xvYmFsRHJhZ1N1YnNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICB0aGlzLmdsb2JhbERyYWdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgIH1cbn1cbiJdfQ==
@@ -71,4 +71,4 @@ export function suddenTreeExit(event) {
71
71
  }
72
72
  return false;
73
73
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFVBQVUsY0FBYyxDQUMzQixNQUFzQixFQUN0QixNQUFzQjtJQUV0QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNsQyxPQUFPLEtBQUssQ0FBQztLQUNmO0lBQ0QsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLFlBQVksS0FBSyxJQUFJLE1BQU0sWUFBWSxLQUFLLEVBQUU7WUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xDLE9BQU8sS0FBSyxDQUFDO2FBQ2Y7U0FDSDthQUFNLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQztTQUNmO0tBQ0g7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2hDLGlCQUF1QixFQUN2QixtQkFBeUI7SUFFekIsSUFBSSxpQkFBaUIsS0FBSyxtQkFBbUIsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQztLQUNkO0lBQ0QsSUFBSSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBQzVDLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbEIsbUZBQW1GO1lBQ25GLE9BQU8sU0FBUyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxNQUFNLEtBQUssaUJBQWlCLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDZDtRQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDN0IsT0FBMEIsRUFDMUIsUUFBeUI7SUFFekIsT0FBTyxDQUNKLE9BQU8sS0FBSyxTQUFTO1FBQ3JCLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJO1lBQzNCLENBQUMsT0FBTyxPQUFPLENBQUMsWUFBWSxLQUFLLFVBQVU7Z0JBQ3hDLFFBQVEsS0FBSyxTQUFTO2dCQUN0QixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQ2pELENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUM5QixPQUEwQixFQUMxQixRQUF5QjtJQUV6QixPQUFPLENBQ0osT0FBTyxLQUFLLFNBQVM7UUFDckIsQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLElBQUk7WUFDNUIsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxhQUFhLEtBQUssVUFBVTtnQkFDekMsUUFBUSxLQUFLLFNBQVM7Z0JBQ3RCLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUztJQUN0QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZ0I7SUFDNUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBWSxPQUFPLENBQUMsRUFBRTtRQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9ELElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDbEQ7SUFDRCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNuRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQzlCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDZDtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XHJcbiAgIExpbWJsZVRyZWVOb2RlLFxyXG4gICBQcm9jZXNzZWRPcHRpb25zXHJcbn0gZnJvbSBcIi4vbGltYmxlLXRyZWUtcm9vdC90cmVlLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhcnJheXNBcmVFcXVhbChcclxuICAgYXJyYXkxOiBBcnJheTx1bmtub3duPixcclxuICAgYXJyYXkyOiBBcnJheTx1bmtub3duPlxyXG4pOiBib29sZWFuIHtcclxuICAgaWYgKGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICB9XHJcbiAgIGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZTFdIG9mIGFycmF5MS5lbnRyaWVzKCkpIHtcclxuICAgICAgY29uc3QgdmFsdWUyID0gYXJyYXkyW2luZGV4XTtcclxuICAgICAgaWYgKHZhbHVlMSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlMiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgIGlmICghYXJyYXlzQXJlRXF1YWwodmFsdWUxLCB2YWx1ZTIpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHZhbHVlMSAhPT0gdmFsdWUyKSB7XHJcbiAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICB9XHJcbiAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50RGVzY2VuZGFudChcclxuICAgcG90ZW50aWFsQW5jZXN0b3I6IE5vZGUsXHJcbiAgIHBvdGVudGlhbERlc2NlbmRhbnQ6IE5vZGVcclxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgIGlmIChwb3RlbnRpYWxBbmNlc3RvciA9PT0gcG90ZW50aWFsRGVzY2VuZGFudCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgfVxyXG4gICBsZXQgY3Vyc29yID0gcG90ZW50aWFsRGVzY2VuZGFudC5wYXJlbnROb2RlO1xyXG4gICB3aGlsZSAoY3Vyc29yICE9PSBkb2N1bWVudCkge1xyXG4gICAgICBpZiAoY3Vyc29yID09PSBudWxsKSB7XHJcbiAgICAgICAgIC8vRGlkIG5vdCByZWFjaCBgZG9jdW1lbnRgIG9yIGFuY2VzdG9yLiBwb3RlbnRpYWxEZXNjZW5kYW50IGlzIG5vdCBwYXJ0IG9mIHRoZSBET00uXHJcbiAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGN1cnNvciA9PT0gcG90ZW50aWFsQW5jZXN0b3IpIHtcclxuICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgY3Vyc29yID0gY3Vyc29yLnBhcmVudE5vZGU7XHJcbiAgIH1cclxuICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNOZXN0aW5nQWxsb3dlZChcclxuICAgb3B0aW9ucz86IFByb2Nlc3NlZE9wdGlvbnMsXHJcbiAgIG5vZGVEYXRhPzogTGltYmxlVHJlZU5vZGVcclxuKTogYm9vbGVhbiB7XHJcbiAgIHJldHVybiAoXHJcbiAgICAgIG9wdGlvbnMgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAob3B0aW9ucy5hbGxvd05lc3RpbmcgPT09IHRydWUgfHxcclxuICAgICAgICAgKHR5cGVvZiBvcHRpb25zLmFsbG93TmVzdGluZyA9PT0gXCJmdW5jdGlvblwiICYmXHJcbiAgICAgICAgICAgIG5vZGVEYXRhICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgICAgICAgb3B0aW9ucy5hbGxvd05lc3Rpbmcobm9kZURhdGEpID09PSB0cnVlKSlcclxuICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRHJhZ2dpbmdBbGxvd2VkKFxyXG4gICBvcHRpb25zPzogUHJvY2Vzc2VkT3B0aW9ucyxcclxuICAgbm9kZURhdGE/OiBMaW1ibGVUcmVlTm9kZVxyXG4pOiBib29sZWFuIHtcclxuICAgcmV0dXJuIChcclxuICAgICAgb3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIChvcHRpb25zLmFsbG93RHJhZ2dpbmcgPT09IHRydWUgfHxcclxuICAgICAgICAgKHR5cGVvZiBvcHRpb25zLmFsbG93RHJhZ2dpbmcgPT09IFwiZnVuY3Rpb25cIiAmJlxyXG4gICAgICAgICAgICBub2RlRGF0YSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICAgIG9wdGlvbnMuYWxsb3dEcmFnZ2luZyhub2RlRGF0YSkgPT09IHRydWUpKVxyXG4gICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNGaXJlZm94KCk6IGJvb2xlYW4ge1xyXG4gICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIkZpcmVmb3hcIik7XHJcbn1cclxuXHJcbi8qKiBCZWNhdXNlIGRyb3Agem9uZXMgY2FuIGRpc2FwcGVhciB3aGVuIHRoZSBtb3VzZSBtb3Zlcywgc29tZXRpbWVzXHJcbiAqIG1vdmluZyB0aGUgbW91c2UganVzdCBhIGxpdHRsZSBiaXQgaW5zaWRlIHRoZSB0cmVlIGNhdXNlcyB0aGUgdHJlZSB0b1xyXG4gKiBzaHJpbmsgc3VjaCB0aGF0IHRoZSBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgdHJlZS4gSW4gdGhpcyBjYXNlLFxyXG4gKiBhIGRyYWdsZWF2ZSBldmVudCBtYXkgbm90IGZpcmUsIGFuZCB3ZSBjYW4ndCBjbGVhciB0aGUgZHJvcCB6b25lcy4gVGhpc1xyXG4gKiBmdW5jdGlvbiBpcyB1c2VkIHRvIGNhdGNoIHRoaXMgZWRnZSBjYXNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHN1ZGRlblRyZWVFeGl0KGV2ZW50OiBEcmFnRXZlbnQpOiBib29sZWFuIHtcclxuICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gbnVsbCB8fCAhKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImZhaWxlZCB0byBnZXQgZXZlbnQgdGFyZ2V0IGVsZW1lbnRcIik7XHJcbiAgIH1cclxuICAgY29uc3QgdHJlZUV2ZW50SG9zdCA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KFwiLnRyZWUtZXZlbnQtaG9zdFwiKTtcclxuICAgaWYgKHRyZWVFdmVudEhvc3QgPT09IG51bGwpIHtcclxuICAgICAgY29uc29sZS5sb2coZXZlbnQudGFyZ2V0KTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZmFpbGVkIHRvIGZpbmQgdHJlZUV2ZW50SG9zdFwiKTtcclxuICAgfVxyXG4gICBjb25zdCByZWN0ID0gdHJlZUV2ZW50SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgY29uc3QgY2xpZW50WSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgIGlmIChjbGllbnRZID4gcmVjdC5ib3R0b20gfHwgY2xpZW50WSA8IHJlY3QudG9wKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICB9XHJcbiAgIHJldHVybiBmYWxzZTtcclxufVxyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFVBQVUsY0FBYyxDQUMzQixNQUFzQixFQUN0QixNQUFzQjtJQUV0QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNsQyxPQUFPLEtBQUssQ0FBQztLQUNmO0lBQ0QsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLFlBQVksS0FBSyxJQUFJLE1BQU0sWUFBWSxLQUFLLEVBQUU7WUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xDLE9BQU8sS0FBSyxDQUFDO2FBQ2Y7U0FDSDthQUFNLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQztTQUNmO0tBQ0g7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2hDLGlCQUF1QixFQUN2QixtQkFBeUI7SUFFekIsSUFBSSxpQkFBaUIsS0FBSyxtQkFBbUIsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQztLQUNkO0lBQ0QsSUFBSSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBQzVDLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbEIsbUZBQW1GO1lBQ25GLE9BQU8sU0FBUyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxNQUFNLEtBQUssaUJBQWlCLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDZDtRQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDN0IsT0FBMEIsRUFDMUIsUUFBeUI7SUFFekIsT0FBTyxDQUNKLE9BQU8sS0FBSyxTQUFTO1FBQ3JCLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJO1lBQzNCLENBQUMsT0FBTyxPQUFPLENBQUMsWUFBWSxLQUFLLFVBQVU7Z0JBQ3hDLFFBQVEsS0FBSyxTQUFTO2dCQUN0QixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQ2pELENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUM5QixPQUEwQixFQUMxQixRQUF5QjtJQUV6QixPQUFPLENBQ0osT0FBTyxLQUFLLFNBQVM7UUFDckIsQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLElBQUk7WUFDNUIsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxhQUFhLEtBQUssVUFBVTtnQkFDekMsUUFBUSxLQUFLLFNBQVM7Z0JBQ3RCLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUztJQUN0QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZ0I7SUFDNUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBWSxPQUFPLENBQUMsRUFBRTtRQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9ELElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDbEQ7SUFDRCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNuRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQzlCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDZDtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gICBMaW1ibGVUcmVlTm9kZSxcbiAgIFByb2Nlc3NlZE9wdGlvbnNcbn0gZnJvbSBcIi4vbGltYmxlLXRyZWUtcm9vdC90cmVlLnNlcnZpY2VcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5c0FyZUVxdWFsKFxuICAgYXJyYXkxOiBBcnJheTx1bmtub3duPixcbiAgIGFycmF5MjogQXJyYXk8dW5rbm93bj5cbik6IGJvb2xlYW4ge1xuICAgaWYgKGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgIH1cbiAgIGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZTFdIG9mIGFycmF5MS5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlMiA9IGFycmF5MltpbmRleF07XG4gICAgICBpZiAodmFsdWUxIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUyIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgIGlmICghYXJyYXlzQXJlRXF1YWwodmFsdWUxLCB2YWx1ZTIpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlMSAhPT0gdmFsdWUyKSB7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICB9XG4gICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudERlc2NlbmRhbnQoXG4gICBwb3RlbnRpYWxBbmNlc3RvcjogTm9kZSxcbiAgIHBvdGVudGlhbERlc2NlbmRhbnQ6IE5vZGVcbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgaWYgKHBvdGVudGlhbEFuY2VzdG9yID09PSBwb3RlbnRpYWxEZXNjZW5kYW50KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cbiAgIGxldCBjdXJzb3IgPSBwb3RlbnRpYWxEZXNjZW5kYW50LnBhcmVudE5vZGU7XG4gICB3aGlsZSAoY3Vyc29yICE9PSBkb2N1bWVudCkge1xuICAgICAgaWYgKGN1cnNvciA9PT0gbnVsbCkge1xuICAgICAgICAgLy9EaWQgbm90IHJlYWNoIGBkb2N1bWVudGAgb3IgYW5jZXN0b3IuIHBvdGVudGlhbERlc2NlbmRhbnQgaXMgbm90IHBhcnQgb2YgdGhlIERPTS5cbiAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBpZiAoY3Vyc29yID09PSBwb3RlbnRpYWxBbmNlc3Rvcikge1xuICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBjdXJzb3IgPSBjdXJzb3IucGFyZW50Tm9kZTtcbiAgIH1cbiAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmVzdGluZ0FsbG93ZWQoXG4gICBvcHRpb25zPzogUHJvY2Vzc2VkT3B0aW9ucyxcbiAgIG5vZGVEYXRhPzogTGltYmxlVHJlZU5vZGVcbik6IGJvb2xlYW4ge1xuICAgcmV0dXJuIChcbiAgICAgIG9wdGlvbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgKG9wdGlvbnMuYWxsb3dOZXN0aW5nID09PSB0cnVlIHx8XG4gICAgICAgICAodHlwZW9mIG9wdGlvbnMuYWxsb3dOZXN0aW5nID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgICAgIG5vZGVEYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIG9wdGlvbnMuYWxsb3dOZXN0aW5nKG5vZGVEYXRhKSA9PT0gdHJ1ZSkpXG4gICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEcmFnZ2luZ0FsbG93ZWQoXG4gICBvcHRpb25zPzogUHJvY2Vzc2VkT3B0aW9ucyxcbiAgIG5vZGVEYXRhPzogTGltYmxlVHJlZU5vZGVcbik6IGJvb2xlYW4ge1xuICAgcmV0dXJuIChcbiAgICAgIG9wdGlvbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgKG9wdGlvbnMuYWxsb3dEcmFnZ2luZyA9PT0gdHJ1ZSB8fFxuICAgICAgICAgKHR5cGVvZiBvcHRpb25zLmFsbG93RHJhZ2dpbmcgPT09IFwiZnVuY3Rpb25cIiAmJlxuICAgICAgICAgICAgbm9kZURhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgb3B0aW9ucy5hbGxvd0RyYWdnaW5nKG5vZGVEYXRhKSA9PT0gdHJ1ZSkpXG4gICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGaXJlZm94KCk6IGJvb2xlYW4ge1xuICAgcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoXCJGaXJlZm94XCIpO1xufVxuXG4vKiogQmVjYXVzZSBkcm9wIHpvbmVzIGNhbiBkaXNhcHBlYXIgd2hlbiB0aGUgbW91c2UgbW92ZXMsIHNvbWV0aW1lc1xuICogbW92aW5nIHRoZSBtb3VzZSBqdXN0IGEgbGl0dGxlIGJpdCBpbnNpZGUgdGhlIHRyZWUgY2F1c2VzIHRoZSB0cmVlIHRvXG4gKiBzaHJpbmsgc3VjaCB0aGF0IHRoZSBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgdHJlZS4gSW4gdGhpcyBjYXNlLFxuICogYSBkcmFnbGVhdmUgZXZlbnQgbWF5IG5vdCBmaXJlLCBhbmQgd2UgY2FuJ3QgY2xlYXIgdGhlIGRyb3Agem9uZXMuIFRoaXNcbiAqIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2F0Y2ggdGhpcyBlZGdlIGNhc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWRkZW5UcmVlRXhpdChldmVudDogRHJhZ0V2ZW50KTogYm9vbGVhbiB7XG4gICBpZiAoZXZlbnQudGFyZ2V0ID09PSBudWxsIHx8ICEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImZhaWxlZCB0byBnZXQgZXZlbnQgdGFyZ2V0IGVsZW1lbnRcIik7XG4gICB9XG4gICBjb25zdCB0cmVlRXZlbnRIb3N0ID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCIudHJlZS1ldmVudC1ob3N0XCIpO1xuICAgaWYgKHRyZWVFdmVudEhvc3QgPT09IG51bGwpIHtcbiAgICAgIGNvbnNvbGUubG9nKGV2ZW50LnRhcmdldCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYWlsZWQgdG8gZmluZCB0cmVlRXZlbnRIb3N0XCIpO1xuICAgfVxuICAgY29uc3QgcmVjdCA9IHRyZWVFdmVudEhvc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICBjb25zdCBjbGllbnRZID0gZXZlbnQuY2xpZW50WTtcbiAgIGlmIChjbGllbnRZID4gcmVjdC5ib3R0b20gfHwgY2xpZW50WSA8IHJlY3QudG9wKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cbiAgIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export { LimbleTreeRootComponent } from "./lib/limble-tree-root/limble-tree-root.component";
5
5
  export { LimbleTreeModule } from "./lib/limble-tree.module";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBU0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbGltYmxlLXRyZWVcclxuICovXHJcblxyXG5leHBvcnQge1xyXG4gICBMaW1ibGVUcmVlTm9kZSxcclxuICAgTGltYmxlVHJlZURhdGEsXHJcbiAgIExpbWJsZVRyZWVPcHRpb25zLFxyXG4gICBDb21wb25lbnRPYmosXHJcbiAgIFRyZWVEcm9wXHJcbn0gZnJvbSBcIi4vbGliL2xpbWJsZS10cmVlLXJvb3QvdHJlZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7IExpbWJsZVRyZWVSb290Q29tcG9uZW50IH0gZnJvbSBcIi4vbGliL2xpbWJsZS10cmVlLXJvb3QvbGltYmxlLXRyZWUtcm9vdC5jb21wb25lbnRcIjtcclxuZXhwb3J0IHsgTGltYmxlVHJlZU1vZHVsZSB9IGZyb20gXCIuL2xpYi9saW1ibGUtdHJlZS5tb2R1bGVcIjtcclxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBU0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGxpbWJsZS10cmVlXG4gKi9cblxuZXhwb3J0IHtcbiAgIExpbWJsZVRyZWVOb2RlLFxuICAgTGltYmxlVHJlZURhdGEsXG4gICBMaW1ibGVUcmVlT3B0aW9ucyxcbiAgIENvbXBvbmVudE9iaixcbiAgIFRyZWVEcm9wXG59IGZyb20gXCIuL2xpYi9saW1ibGUtdHJlZS1yb290L3RyZWUuc2VydmljZVwiO1xuZXhwb3J0IHsgTGltYmxlVHJlZVJvb3RDb21wb25lbnQgfSBmcm9tIFwiLi9saWIvbGltYmxlLXRyZWUtcm9vdC9saW1ibGUtdHJlZS1yb290LmNvbXBvbmVudFwiO1xuZXhwb3J0IHsgTGltYmxlVHJlZU1vZHVsZSB9IGZyb20gXCIuL2xpYi9saW1ibGUtdHJlZS5tb2R1bGVcIjtcbiJdfQ==