angular-three 2.0.0-beta.2 → 2.0.0-beta.21

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 (141) hide show
  1. package/README.md +4 -147
  2. package/esm2022/angular-three.mjs +1 -1
  3. package/esm2022/index.mjs +11 -10
  4. package/esm2022/lib/before-render.mjs +13 -0
  5. package/esm2022/lib/canvas.mjs +130 -161
  6. package/esm2022/lib/directives/args.mjs +13 -11
  7. package/esm2022/lib/directives/common.mjs +29 -27
  8. package/esm2022/lib/directives/key.mjs +29 -0
  9. package/esm2022/lib/directives/parent.mjs +13 -11
  10. package/esm2022/lib/directives/repeat.mjs +5 -6
  11. package/esm2022/lib/dom/events.mjs +6 -1
  12. package/esm2022/lib/events.mjs +75 -58
  13. package/esm2022/lib/instance.mjs +65 -0
  14. package/esm2022/lib/loader.mjs +30 -37
  15. package/esm2022/lib/loop.mjs +6 -3
  16. package/esm2022/lib/portal.mjs +91 -102
  17. package/esm2022/lib/ref.mjs +48 -0
  18. package/esm2022/lib/renderer/catalogue.mjs +7 -0
  19. package/esm2022/lib/renderer/constants.mjs +21 -0
  20. package/esm2022/lib/renderer/index.mjs +419 -0
  21. package/esm2022/lib/renderer/store.mjs +144 -108
  22. package/esm2022/lib/renderer/utils.mjs +63 -48
  23. package/esm2022/lib/roots.mjs +249 -0
  24. package/esm2022/lib/routed-scene.mjs +11 -8
  25. package/esm2022/lib/store.mjs +207 -0
  26. package/esm2022/lib/three-types.mjs +2 -2
  27. package/esm2022/lib/types.mjs +1 -1
  28. package/esm2022/lib/utils/apply-props.mjs +23 -11
  29. package/esm2022/lib/utils/assert-injection-context.mjs +14 -0
  30. package/esm2022/lib/utils/attach.mjs +2 -2
  31. package/esm2022/lib/utils/create-injection-token.mjs +47 -0
  32. package/esm2022/lib/utils/is.mjs +1 -1
  33. package/esm2022/lib/utils/make.mjs +1 -1
  34. package/esm2022/lib/utils/safe-detect-changes.mjs +15 -13
  35. package/esm2022/lib/utils/signal-store.mjs +91 -0
  36. package/esm2022/lib/utils/update.mjs +1 -1
  37. package/fesm2022/angular-three.mjs +1770 -1589
  38. package/fesm2022/angular-three.mjs.map +1 -1
  39. package/index.d.ts +10 -9
  40. package/lib/{di/before-render.d.ts → before-render.d.ts} +1 -1
  41. package/lib/canvas.d.ts +81 -11
  42. package/lib/directives/args.d.ts +2 -2
  43. package/lib/directives/common.d.ts +5 -1
  44. package/lib/directives/key.d.ts +10 -0
  45. package/lib/directives/parent.d.ts +5 -5
  46. package/lib/dom/events.d.ts +3 -2
  47. package/lib/events.d.ts +78 -2
  48. package/lib/instance.d.ts +36 -0
  49. package/lib/loader.d.ts +13 -2
  50. package/lib/loop.d.ts +64 -6
  51. package/lib/portal.d.ts +20 -12
  52. package/lib/{di/ref.d.ts → ref.d.ts} +3 -2
  53. package/lib/renderer/catalogue.d.ts +9 -0
  54. package/lib/renderer/constants.d.ts +20 -0
  55. package/lib/renderer/index.d.ts +5 -0
  56. package/lib/renderer/store.d.ts +19 -15
  57. package/lib/renderer/utils.d.ts +28 -18
  58. package/lib/roots.d.ts +11 -0
  59. package/lib/routed-scene.d.ts +1 -1
  60. package/lib/store.d.ts +143 -0
  61. package/lib/three-types.d.ts +6 -6
  62. package/lib/types.d.ts +1 -309
  63. package/lib/utils/apply-props.d.ts +4 -2
  64. package/lib/utils/attach.d.ts +5 -3
  65. package/lib/utils/create-injection-token.d.ts +27 -0
  66. package/lib/utils/is.d.ts +4 -3
  67. package/lib/utils/make.d.ts +12 -1
  68. package/lib/utils/safe-detect-changes.d.ts +2 -2
  69. package/lib/utils/signal-store.d.ts +17 -0
  70. package/lib/utils/update.d.ts +1 -1
  71. package/metadata.json +1 -1
  72. package/package.json +5 -4
  73. package/plugin/generators.json +47 -17
  74. package/plugin/package.json +2 -5
  75. package/plugin/src/generators/init/compat.d.ts +3 -1
  76. package/plugin/src/generators/init/compat.js +2 -2
  77. package/plugin/src/generators/init/compat.js.map +1 -1
  78. package/plugin/src/generators/init/files/experience/experience.component.html.__tmpl__ +4 -0
  79. package/plugin/src/generators/init/files/experience/experience.component.ts.__tmpl__ +17 -0
  80. package/plugin/src/generators/init/generator.d.ts +6 -0
  81. package/plugin/src/generators/init/generator.js +144 -0
  82. package/plugin/src/generators/init/generator.js.map +1 -0
  83. package/plugin/src/generators/init/schema.json +15 -4
  84. package/plugin/src/generators/init-cannon/compat.d.ts +2 -0
  85. package/plugin/src/generators/init-cannon/compat.js +6 -0
  86. package/plugin/src/generators/init-cannon/compat.js.map +1 -0
  87. package/plugin/src/generators/init-cannon/generator.d.ts +2 -0
  88. package/plugin/src/generators/init-cannon/generator.js +22 -0
  89. package/plugin/src/generators/init-cannon/generator.js.map +1 -0
  90. package/plugin/src/generators/init-cannon/schema.json +6 -0
  91. package/plugin/src/generators/init-postprocessing/compat.d.ts +2 -0
  92. package/plugin/src/generators/init-postprocessing/compat.js +6 -0
  93. package/plugin/src/generators/init-postprocessing/compat.js.map +1 -0
  94. package/plugin/src/generators/init-postprocessing/generator.d.ts +2 -0
  95. package/plugin/src/generators/init-postprocessing/generator.js +20 -0
  96. package/plugin/src/generators/init-postprocessing/generator.js.map +1 -0
  97. package/plugin/src/generators/init-postprocessing/schema.json +6 -0
  98. package/plugin/src/generators/init-soba/compat.d.ts +2 -0
  99. package/plugin/src/generators/init-soba/compat.js +6 -0
  100. package/plugin/src/generators/init-soba/compat.js.map +1 -0
  101. package/plugin/src/generators/init-soba/generator.d.ts +2 -0
  102. package/plugin/src/generators/init-soba/generator.js +26 -0
  103. package/plugin/src/generators/init-soba/generator.js.map +1 -0
  104. package/plugin/src/generators/init-soba/schema.json +6 -0
  105. package/plugin/src/generators/utils.d.ts +2 -0
  106. package/plugin/src/generators/utils.js +34 -0
  107. package/plugin/src/generators/utils.js.map +1 -0
  108. package/plugin/src/generators/versions.d.ts +12 -0
  109. package/plugin/src/generators/versions.js +16 -0
  110. package/plugin/src/generators/versions.js.map +1 -0
  111. package/plugin/src/index.d.ts +3 -1
  112. package/plugin/src/index.js +7 -3
  113. package/plugin/src/index.js.map +1 -1
  114. package/web-types.json +1 -1
  115. package/esm2022/lib/di/before-render.mjs +0 -13
  116. package/esm2022/lib/di/catalogue.mjs +0 -7
  117. package/esm2022/lib/di/ref.mjs +0 -49
  118. package/esm2022/lib/renderer/di.mjs +0 -3
  119. package/esm2022/lib/renderer/enums.mjs +0 -2
  120. package/esm2022/lib/renderer/provider.mjs +0 -18
  121. package/esm2022/lib/renderer/renderer.mjs +0 -365
  122. package/esm2022/lib/stores/signal.store.mjs +0 -81
  123. package/esm2022/lib/stores/store.mjs +0 -423
  124. package/esm2022/lib/utils/assert-in-injection-context.mjs +0 -14
  125. package/esm2022/lib/utils/instance.mjs +0 -63
  126. package/esm2022/lib/utils/signal.mjs +0 -24
  127. package/esm2022/lib/utils/timing.mjs +0 -21
  128. package/lib/di/catalogue.d.ts +0 -3
  129. package/lib/renderer/di.d.ts +0 -2
  130. package/lib/renderer/enums.d.ts +0 -26
  131. package/lib/renderer/provider.d.ts +0 -8
  132. package/lib/renderer/renderer.d.ts +0 -49
  133. package/lib/stores/signal.store.d.ts +0 -20
  134. package/lib/stores/store.d.ts +0 -13
  135. package/lib/utils/instance.d.ts +0 -4
  136. package/lib/utils/signal.d.ts +0 -2
  137. package/lib/utils/timing.d.ts +0 -4
  138. package/plugin/src/generators/init/init.d.ts +0 -5
  139. package/plugin/src/generators/init/init.js +0 -56
  140. package/plugin/src/generators/init/init.js.map +0 -1
  141. /package/lib/utils/{assert-in-injection-context.d.ts → assert-injection-context.d.ts} +0 -0
@@ -1,39 +1,41 @@
1
- import { Directive, inject, NgZone, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { SPECIAL_INTERNAL_ADD_COMMENT } from '../renderer/utils';
1
+ import { DestroyRef, Directive, NgZone, TemplateRef, ViewContainerRef, inject, } from '@angular/core';
2
+ import { SPECIAL_INTERNAL_ADD_COMMENT } from '../renderer/constants';
3
+ import { safeDetectChanges } from '../utils/safe-detect-changes';
3
4
  import * as i0 from "@angular/core";
4
- class NgtCommonDirective {
5
- #vcr;
6
- #zone;
7
- #template;
8
- #view;
5
+ export class NgtCommonDirective {
6
+ static { this.processComment = true; }
9
7
  constructor() {
10
- this.#vcr = inject(ViewContainerRef);
11
- this.#zone = inject(NgZone);
12
- this.#template = inject(TemplateRef);
8
+ this.vcr = inject(ViewContainerRef);
9
+ this.zone = inject(NgZone);
10
+ this.template = inject(TemplateRef);
13
11
  this.injected = false;
14
12
  this.shouldCreateView = true;
15
- const commentNode = this.#vcr.element.nativeElement;
16
- if (commentNode[SPECIAL_INTERNAL_ADD_COMMENT]) {
17
- commentNode[SPECIAL_INTERNAL_ADD_COMMENT]();
18
- delete commentNode[SPECIAL_INTERNAL_ADD_COMMENT];
13
+ if (NgtCommonDirective.processComment) {
14
+ const commentNode = this.vcr.element.nativeElement;
15
+ if (commentNode[SPECIAL_INTERNAL_ADD_COMMENT]) {
16
+ commentNode[SPECIAL_INTERNAL_ADD_COMMENT]();
17
+ delete commentNode[SPECIAL_INTERNAL_ADD_COMMENT];
18
+ }
19
19
  }
20
+ inject(DestroyRef).onDestroy(() => {
21
+ this.view?.destroy();
22
+ });
20
23
  }
21
24
  createView() {
22
- if (this.shouldCreateView) {
23
- if (this.#view && !this.#view.destroyed) {
24
- this.#view.destroy();
25
+ this.zone.runOutsideAngular(() => {
26
+ if (this.shouldCreateView) {
27
+ if (this.view && !this.view.destroyed) {
28
+ this.view.destroy();
29
+ }
30
+ this.view = this.vcr.createEmbeddedView(this.template);
31
+ safeDetectChanges(this.view);
25
32
  }
26
- this.#zone.runOutsideAngular(() => {
27
- this.#view = this.#vcr.createEmbeddedView(this.#template);
28
- this.#view.detectChanges();
29
- });
30
- }
33
+ });
31
34
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtCommonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtCommonDirective, ngImport: i0 }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtCommonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtCommonDirective, ngImport: i0 }); }
34
37
  }
35
- export { NgtCommonDirective };
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtCommonDirective, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtCommonDirective, decorators: [{
37
39
  type: Directive
38
40
  }], ctorParameters: function () { return []; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvZGlyZWN0aXZlcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWpFLE1BQ3NCLGtCQUFrQjtJQUMzQixJQUFJLENBQTRCO0lBQ2hDLEtBQUssQ0FBa0I7SUFDdkIsU0FBUyxDQUF1QjtJQUl6QyxLQUFLLENBQTRCO0lBRWpDO1FBUlMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUk5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxXQUFXLENBQUMsNEJBQTRCLENBQUMsRUFBRTtZQUMzQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBSVMsVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzhHQTdCaUIsa0JBQWtCO2tHQUFsQixrQkFBa0I7O1NBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIGluamVjdCwgTmdab25lLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU1BFQ0lBTF9JTlRFUk5BTF9BRERfQ09NTUVOVCB9IGZyb20gJy4uL3JlbmRlcmVyL3V0aWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd0Q29tbW9uRGlyZWN0aXZlIHtcbiAgICByZWFkb25seSAjdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHJlYWRvbmx5ICN6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcmVhZG9ubHkgI3RlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcblxuICAgIHByb3RlY3RlZCBpbmplY3RlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBzaG91bGRDcmVhdGVWaWV3ID0gdHJ1ZTtcbiAgICAjdmlldz86IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBjb21tZW50Tm9kZSA9IHRoaXMuI3Zjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChjb21tZW50Tm9kZVtTUEVDSUFMX0lOVEVSTkFMX0FERF9DT01NRU5UXSkge1xuICAgICAgICAgICAgY29tbWVudE5vZGVbU1BFQ0lBTF9JTlRFUk5BTF9BRERfQ09NTUVOVF0oKTtcbiAgICAgICAgICAgIGRlbGV0ZSBjb21tZW50Tm9kZVtTUEVDSUFMX0lOVEVSTkFMX0FERF9DT01NRU5UXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFic3RyYWN0IHZhbGlkYXRlKCk6IGJvb2xlYW47XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVmlldygpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQ3JlYXRlVmlldykge1xuICAgICAgICAgICAgaWYgKHRoaXMuI3ZpZXcgJiYgIXRoaXMuI3ZpZXcuZGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jdmlldy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLiN2aWV3ID0gdGhpcy4jdmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLiN0ZW1wbGF0ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy4jdmlldy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUdqRSxNQUFNLE9BQWdCLGtCQUFrQjthQUN0QixtQkFBYyxHQUFHLElBQUksQUFBUCxDQUFRO0lBVXZDO1FBUlEsUUFBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9CLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUlqQyxJQUFJLGtCQUFrQixDQUFDLGNBQWMsRUFBRTtZQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDbkQsSUFBSSxXQUFXLENBQUMsNEJBQTRCLENBQUMsRUFBRTtnQkFDOUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxXQUFXLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUNqRDtTQUNEO1FBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFJUyxVQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQXJDb0Isa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREZXN0cm95UmVmLFxuXHREaXJlY3RpdmUsXG5cdE5nWm9uZSxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDb250YWluZXJSZWYsXG5cdGluamVjdCxcblx0dHlwZSBFbWJlZGRlZFZpZXdSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU1BFQ0lBTF9JTlRFUk5BTF9BRERfQ09NTUVOVCB9IGZyb20gJy4uL3JlbmRlcmVyL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJy4uL3V0aWxzL3NhZmUtZGV0ZWN0LWNoYW5nZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ3RDb21tb25EaXJlY3RpdmUge1xuXHRwcm90ZWN0ZWQgc3RhdGljIHByb2Nlc3NDb21tZW50ID0gdHJ1ZTtcblxuXHRwcml2YXRlIHZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblx0cHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cdHByaXZhdGUgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuXG5cdHByb3RlY3RlZCBpbmplY3RlZCA9IGZhbHNlO1xuXHRwcm90ZWN0ZWQgc2hvdWxkQ3JlYXRlVmlldyA9IHRydWU7XG5cdHByaXZhdGUgdmlldz86IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpZiAoTmd0Q29tbW9uRGlyZWN0aXZlLnByb2Nlc3NDb21tZW50KSB7XG5cdFx0XHRjb25zdCBjb21tZW50Tm9kZSA9IHRoaXMudmNyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmIChjb21tZW50Tm9kZVtTUEVDSUFMX0lOVEVSTkFMX0FERF9DT01NRU5UXSkge1xuXHRcdFx0XHRjb21tZW50Tm9kZVtTUEVDSUFMX0lOVEVSTkFMX0FERF9DT01NRU5UXSgpO1xuXHRcdFx0XHRkZWxldGUgY29tbWVudE5vZGVbU1BFQ0lBTF9JTlRFUk5BTF9BRERfQ09NTUVOVF07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG5cdFx0XHR0aGlzLnZpZXc/LmRlc3Ryb3koKTtcblx0XHR9KTtcblx0fVxuXG5cdGFic3RyYWN0IHZhbGlkYXRlKCk6IGJvb2xlYW47XG5cblx0cHJvdGVjdGVkIGNyZWF0ZVZpZXcoKSB7XG5cdFx0dGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLnNob3VsZENyZWF0ZVZpZXcpIHtcblx0XHRcdFx0aWYgKHRoaXMudmlldyAmJiAhdGhpcy52aWV3LmRlc3Ryb3llZCkge1xuXHRcdFx0XHRcdHRoaXMudmlldy5kZXN0cm95KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy52aWV3ID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUpO1xuXHRcdFx0XHRzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLnZpZXcpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NgtCommonDirective } from './common';
3
+ import * as i0 from "@angular/core";
4
+ export class NgtKey extends NgtCommonDirective {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.lastKey = '';
8
+ }
9
+ static { this.processComment = false; }
10
+ validate() {
11
+ return false;
12
+ }
13
+ set key(key) {
14
+ const normalizedKey = JSON.stringify(key);
15
+ if (this.lastKey !== normalizedKey) {
16
+ this.lastKey = normalizedKey;
17
+ this.createView();
18
+ }
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtKey, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtKey, isStandalone: true, selector: "ng-template[key]", inputs: { key: "key" }, usesInheritance: true, ngImport: i0 }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtKey, decorators: [{
24
+ type: Directive,
25
+ args: [{ selector: 'ng-template[key]', standalone: true }]
26
+ }], propDecorators: { key: [{
27
+ type: Input
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUc5QyxNQUFNLE9BQU8sTUFBTyxTQUFRLGtCQUFrQjtJQUQ5Qzs7UUFJUyxZQUFPLEdBQUcsRUFBRSxDQUFDO0tBYXJCO2FBZmdCLG1CQUFjLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFJOUIsUUFBUTtRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFhLEdBQUcsQ0FBQyxHQUE2QjtRQUM3QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2xCO0lBQ0YsQ0FBQzs4R0FmVyxNQUFNO2tHQUFOLE1BQU07OzJGQUFOLE1BQU07a0JBRGxCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs4QkFVL0MsR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0Q29tbW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtrZXldJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndEtleSBleHRlbmRzIE5ndENvbW1vbkRpcmVjdGl2ZSB7XG5cdHN0YXRpYyBvdmVycmlkZSBwcm9jZXNzQ29tbWVudCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgbGFzdEtleSA9ICcnO1xuXG5cdG92ZXJyaWRlIHZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBrZXkoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QpIHtcblx0XHRjb25zdCBub3JtYWxpemVkS2V5ID0gSlNPTi5zdHJpbmdpZnkoa2V5KTtcblx0XHRpZiAodGhpcy5sYXN0S2V5ICE9PSBub3JtYWxpemVkS2V5KSB7XG5cdFx0XHR0aGlzLmxhc3RLZXkgPSBub3JtYWxpemVkS2V5O1xuXHRcdFx0dGhpcy5jcmVhdGVWaWV3KCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -1,33 +1,35 @@
1
1
  import { Directive, Input } from '@angular/core';
2
2
  import { NgtCommonDirective } from './common';
3
3
  import * as i0 from "@angular/core";
4
- class NgtParent extends NgtCommonDirective {
5
- #injectedParent = null;
4
+ export class NgtParent extends NgtCommonDirective {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.injectedParent = null;
8
+ }
6
9
  set parent(parent) {
7
10
  if (!parent)
8
11
  return;
9
12
  this.injected = false;
10
- this.#injectedParent = parent;
13
+ this.injectedParent = parent;
11
14
  this.createView();
12
15
  }
13
16
  get parent() {
14
17
  if (this.validate()) {
15
18
  this.injected = true;
16
- return this.#injectedParent;
19
+ return this.injectedParent;
17
20
  }
18
21
  return null;
19
22
  }
20
23
  validate() {
21
- return !this.injected && !!this.#injectedParent;
24
+ return !this.injected && !!this.injectedParent;
22
25
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtParent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtParent, isStandalone: true, selector: "[parent]", inputs: { parent: "parent" }, usesInheritance: true, ngImport: i0 }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtParent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtParent, isStandalone: true, selector: "ng-template[parent]", inputs: { parent: "parent" }, usesInheritance: true, ngImport: i0 }); }
25
28
  }
26
- export { NgtParent };
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtParent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtParent, decorators: [{
28
30
  type: Directive,
29
- args: [{ selector: '[parent]', standalone: true }]
31
+ args: [{ selector: 'ng-template[parent]', standalone: true }]
30
32
  }], propDecorators: { parent: [{
31
33
  type: Input
32
34
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvZGlyZWN0aXZlcy9wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUU5QyxNQUNhLFNBQVUsU0FBUSxrQkFBa0I7SUFDN0MsZUFBZSxHQUE2RCxJQUFLLENBQUM7SUFFbEYsSUFBYSxNQUFNLENBQUMsTUFBZ0U7UUFDaEYsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNwRCxDQUFDOzhHQXBCUSxTQUFTO2tHQUFULFNBQVM7O1NBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzhCQUlwQyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0SW5qZWN0ZWRSZWYgfSBmcm9tICcuLi9kaS9yZWYnO1xuaW1wb3J0IHsgTmd0Q29tbW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbcGFyZW50XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RQYXJlbnQgZXh0ZW5kcyBOZ3RDb21tb25EaXJlY3RpdmUge1xuICAgICNpbmplY3RlZFBhcmVudDogc3RyaW5nIHwgVEhSRUUuT2JqZWN0M0QgfCBOZ3RJbmplY3RlZFJlZjxUSFJFRS5PYmplY3QzRD4gPSBudWxsITtcblxuICAgIEBJbnB1dCgpIHNldCBwYXJlbnQocGFyZW50OiBzdHJpbmcgfCBUSFJFRS5PYmplY3QzRCB8IE5ndEluamVjdGVkUmVmPFRIUkVFLk9iamVjdDNEPikge1xuICAgICAgICBpZiAoIXBhcmVudCkgcmV0dXJuO1xuICAgICAgICB0aGlzLmluamVjdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuI2luamVjdGVkUGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmNyZWF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50KCkge1xuICAgICAgICBpZiAodGhpcy52YWxpZGF0ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmluamVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNpbmplY3RlZFBhcmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbCE7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbmplY3RlZCAmJiAhIXRoaXMuI2luamVjdGVkUGFyZW50O1xuICAgIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUc5QyxNQUFNLE9BQU8sU0FBVSxTQUFRLGtCQUFrQjtJQURqRDs7UUFFUyxtQkFBYyxHQUFvQyxJQUFLLENBQUM7S0FvQmhFO0lBbEJBLElBQWEsTUFBTSxDQUFDLE1BQXVDO1FBQzFELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNoRCxDQUFDOzhHQXBCVyxTQUFTO2tHQUFULFNBQVM7OzJGQUFULFNBQVM7a0JBRHJCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs4QkFJbEQsTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmd0UmVmIH0gZnJvbSAnLi4vcmVmJztcbmltcG9ydCB7IE5ndENvbW1vbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29tbW9uJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbcGFyZW50XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RQYXJlbnQgZXh0ZW5kcyBOZ3RDb21tb25EaXJlY3RpdmUge1xuXHRwcml2YXRlIGluamVjdGVkUGFyZW50OiBzdHJpbmcgfCBOZ3RSZWY8VEhSRUUuT2JqZWN0M0Q+ID0gbnVsbCE7XG5cblx0QElucHV0KCkgc2V0IHBhcmVudChwYXJlbnQ6IHN0cmluZyB8IE5ndFJlZjxUSFJFRS5PYmplY3QzRD4pIHtcblx0XHRpZiAoIXBhcmVudCkgcmV0dXJuO1xuXHRcdHRoaXMuaW5qZWN0ZWQgPSBmYWxzZTtcblx0XHR0aGlzLmluamVjdGVkUGFyZW50ID0gcGFyZW50O1xuXHRcdHRoaXMuY3JlYXRlVmlldygpO1xuXHR9XG5cblx0Z2V0IHBhcmVudCgpIHtcblx0XHRpZiAodGhpcy52YWxpZGF0ZSgpKSB7XG5cdFx0XHR0aGlzLmluamVjdGVkID0gdHJ1ZTtcblx0XHRcdHJldHVybiB0aGlzLmluamVjdGVkUGFyZW50O1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbCE7XG5cdH1cblxuXHR2YWxpZGF0ZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gIXRoaXMuaW5qZWN0ZWQgJiYgISF0aGlzLmluamVjdGVkUGFyZW50O1xuXHR9XG59XG4iXX0=
@@ -1,18 +1,17 @@
1
1
  import { NgForOf } from '@angular/common';
2
2
  import { Directive, Input } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
- class NgtRepeat extends NgForOf {
4
+ export class NgtRepeat extends NgForOf {
5
5
  set ngForRepeat(count) {
6
6
  this.ngForOf = Number.isInteger(count) ? Array.from({ length: count }, (_, i) => i) : [];
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtRepeat, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtRepeat, isStandalone: true, selector: "[ngFor][ngForRepeat]", inputs: { ngForRepeat: "ngForRepeat" }, usesInheritance: true, ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtRepeat, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtRepeat, isStandalone: true, selector: "[ngFor][ngForRepeat]", inputs: { ngForRepeat: "ngForRepeat" }, usesInheritance: true, ngImport: i0 }); }
10
10
  }
11
- export { NgtRepeat };
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtRepeat, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtRepeat, decorators: [{
13
12
  type: Directive,
14
13
  args: [{ selector: '[ngFor][ngForRepeat]', standalone: true }]
15
14
  }], propDecorators: { ngForRepeat: [{
16
15
  type: Input
17
16
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvZGlyZWN0aXZlcy9yZXBlYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRCxNQUNhLFNBQVUsU0FBUSxPQUFlO0lBQzFDLElBQWEsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RixDQUFDOzhHQUhRLFNBQVM7a0dBQVQsU0FBUzs7U0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBRHJCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs4QkFFaEQsV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yT2YgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbmdGb3JdW25nRm9yUmVwZWF0XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RSZXBlYXQgZXh0ZW5kcyBOZ0Zvck9mPG51bWJlcj4ge1xuICAgIEBJbnB1dCgpIHNldCBuZ0ZvclJlcGVhdChjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubmdGb3JPZiA9IE51bWJlci5pc0ludGVnZXIoY291bnQpID8gQXJyYXkuZnJvbSh7IGxlbmd0aDogY291bnQgfSwgKF8sIGkpID0+IGkpIDogW107XG4gICAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9yZXBlYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdqRCxNQUFNLE9BQU8sU0FBVSxTQUFRLE9BQWU7SUFDN0MsSUFBYSxXQUFXLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFGLENBQUM7OEdBSFcsU0FBUztrR0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7OEJBRW5ELFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0Zvck9mIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW25nRm9yXVtuZ0ZvclJlcGVhdF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0UmVwZWF0IGV4dGVuZHMgTmdGb3JPZjxudW1iZXI+IHtcblx0QElucHV0KCkgc2V0IG5nRm9yUmVwZWF0KGNvdW50OiBudW1iZXIpIHtcblx0XHR0aGlzLm5nRm9yT2YgPSBOdW1iZXIuaXNJbnRlZ2VyKGNvdW50KSA/IEFycmF5LmZyb20oeyBsZW5ndGg6IGNvdW50IH0sIChfLCBpKSA9PiBpKSA6IFtdO1xuXHR9XG59XG4iXX0=
@@ -43,6 +43,11 @@ export function createPointerEvents(store) {
43
43
  handlers[supportedEventName] = handlePointer(supportedEventName);
44
44
  return handlers;
45
45
  }, {}),
46
+ update: () => {
47
+ const { events, internal } = store.get();
48
+ if (internal.lastEvent?.nativeElement && events.handlers)
49
+ events.handlers.pointermove(internal.lastEvent.nativeElement);
50
+ },
46
51
  connect: (target) => {
47
52
  const state = store.get();
48
53
  state.events.disconnect?.();
@@ -65,4 +70,4 @@ export function createPointerEvents(store) {
65
70
  },
66
71
  };
67
72
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvZG9tL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXpDLE1BQU0sVUFBVSxHQUFHO0lBQ2YsS0FBSyxFQUFFLEtBQUs7SUFDWixXQUFXLEVBQUUsS0FBSztJQUNsQixRQUFRLEVBQUUsS0FBSztJQUNmLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixrQkFBa0IsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsT0FBTztJQUNQLGFBQWE7SUFDYixVQUFVO0lBQ1YsV0FBVztJQUNYLGFBQWE7SUFDYixhQUFhO0lBQ2IsWUFBWTtJQUNaLGNBQWM7SUFDZCxjQUFjO0lBQ2QsYUFBYTtJQUNiLGVBQWU7SUFDZixlQUFlO0lBQ2YsT0FBTztDQUNELENBQUM7QUFFWCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBK0I7SUFDL0QsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QyxPQUFPO1FBQ0gsUUFBUSxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLE9BQU8sRUFBRSxDQUFDLEtBQWtCLEVBQUUsSUFBOEIsRUFBRSxFQUFFO1lBQzVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6Qix1REFBdUQ7WUFDdkQsNEZBQTRGO1lBQzVGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQXNCLEVBQUUsa0JBQWtCLEVBQUUsRUFBRTtZQUNwRixRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqRSxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFjO1FBQ25CLE9BQU8sRUFBRSxDQUFDLE1BQW1CLEVBQUUsRUFBRTtZQUM3QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBRTVCLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FDL0MsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQTBCLEVBQUUsRUFBRTtnQkFDbkQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFNBQW9DLENBQUMsQ0FBQztnQkFDakUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FDSixDQUFDO1FBQ04sQ0FBQztRQUNELFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDYixNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQTBCLEVBQUUsRUFBRTtvQkFDakcsSUFBSSxNQUFNLENBQUMsU0FBUyxZQUFZLFdBQVcsRUFBRTt3QkFDekMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7cUJBQ2pFO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0wsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRXZlbnRzIH0gZnJvbSAnLi4vZXZlbnRzJztcbmltcG9ydCB7IE5ndFNpZ25hbFN0b3JlIH0gZnJvbSAnLi4vc3RvcmVzL3NpZ25hbC5zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IE5ndEFueVJlY29yZCwgTmd0RG9tRXZlbnQsIE5ndEV2ZW50TWFuYWdlciwgTmd0RXZlbnRzLCBOZ3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRE9NX0VWRU5UUyA9IHtcbiAgICBjbGljazogZmFsc2UsXG4gICAgY29udGV4dG1lbnU6IGZhbHNlLFxuICAgIGRibGNsaWNrOiBmYWxzZSxcbiAgICB3aGVlbDogZmFsc2UsIC8vIHBhc3NpdmUgd2hlZWwgZXJyb3JzIHdpdGggT3JiaXRDb250cm9sc1xuICAgIHBvaW50ZXJkb3duOiB0cnVlLFxuICAgIHBvaW50ZXJ1cDogdHJ1ZSxcbiAgICBwb2ludGVybGVhdmU6IHRydWUsXG4gICAgcG9pbnRlcm1vdmU6IHRydWUsXG4gICAgcG9pbnRlcmNhbmNlbDogdHJ1ZSxcbiAgICBsb3N0cG9pbnRlcmNhcHR1cmU6IHRydWUsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkRXZlbnRzID0gW1xuICAgICdjbGljaycsXG4gICAgJ2NvbnRleHRtZW51JyxcbiAgICAnZGJsY2xpY2snLFxuICAgICdwb2ludGVydXAnLFxuICAgICdwb2ludGVyZG93bicsXG4gICAgJ3BvaW50ZXJvdmVyJyxcbiAgICAncG9pbnRlcm91dCcsXG4gICAgJ3BvaW50ZXJlbnRlcicsXG4gICAgJ3BvaW50ZXJsZWF2ZScsXG4gICAgJ3BvaW50ZXJtb3ZlJyxcbiAgICAncG9pbnRlcm1pc3NlZCcsXG4gICAgJ3BvaW50ZXJjYW5jZWwnLFxuICAgICd3aGVlbCcsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9pbnRlckV2ZW50cyhzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+KTogTmd0RXZlbnRNYW5hZ2VyPEhUTUxFbGVtZW50PiB7XG4gICAgY29uc3QgeyBoYW5kbGVQb2ludGVyIH0gPSBjcmVhdGVFdmVudHMoc3RvcmUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGNvbXB1dGU6IChldmVudDogTmd0RG9tRXZlbnQsIHJvb3Q6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSByb290LmdldCgpO1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BtbmRycy9yZWFjdC10aHJlZS1maWJlci9wdWxsLzc4MlxuICAgICAgICAgICAgLy8gRXZlbnRzIHRyaWdnZXIgb3V0c2lkZSBvZiBjYW52YXMgd2hlbiBtb3ZlZCwgdXNlIG9mZnNldFgvWSBieSBkZWZhdWx0IGFuZCBhbGxvdyBvdmVycmlkZXNcbiAgICAgICAgICAgIHN0YXRlLnBvaW50ZXIuc2V0KChldmVudC5vZmZzZXRYIC8gc3RhdGUuc2l6ZS53aWR0aCkgKiAyIC0gMSwgLShldmVudC5vZmZzZXRZIC8gc3RhdGUuc2l6ZS5oZWlnaHQpICogMiArIDEpO1xuICAgICAgICAgICAgc3RhdGUucmF5Y2FzdGVyLnNldEZyb21DYW1lcmEoc3RhdGUucG9pbnRlciwgc3RhdGUuY2FtZXJhKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29ubmVjdGVkOiB1bmRlZmluZWQsXG4gICAgICAgIGhhbmRsZXJzOiBPYmplY3Qua2V5cyhET01fRVZFTlRTKS5yZWR1Y2UoKGhhbmRsZXJzOiBOZ3RBbnlSZWNvcmQsIHN1cHBvcnRlZEV2ZW50TmFtZSkgPT4ge1xuICAgICAgICAgICAgaGFuZGxlcnNbc3VwcG9ydGVkRXZlbnROYW1lXSA9IGhhbmRsZVBvaW50ZXIoc3VwcG9ydGVkRXZlbnROYW1lKTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVycztcbiAgICAgICAgfSwge30pIGFzIE5ndEV2ZW50cyxcbiAgICAgICAgY29ubmVjdDogKHRhcmdldDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gc3RvcmUuZ2V0KCk7XG4gICAgICAgICAgICBzdGF0ZS5ldmVudHMuZGlzY29ubmVjdD8uKCk7XG5cbiAgICAgICAgICAgIHN0YXRlLnNldEV2ZW50cyh7IGNvbm5lY3RlZDogdGFyZ2V0IH0pO1xuXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhzdGF0ZS5ldmVudHMuaGFuZGxlcnMgPz8ge30pLmZvckVhY2goXG4gICAgICAgICAgICAgICAgKFtldmVudE5hbWUsIGV2ZW50SGFuZGxlcl06IFtzdHJpbmcsIEV2ZW50TGlzdGVuZXJdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhc3NpdmUgPSBET01fRVZFTlRTW2V2ZW50TmFtZSBhcyBrZXlvZiB0eXBlb2YgRE9NX0VWRU5UU107XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZXZlbnRIYW5kbGVyLCB7IHBhc3NpdmUgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGlzY29ubmVjdDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBldmVudHMsIHNldEV2ZW50cyB9ID0gc3RvcmUuZ2V0KCk7XG4gICAgICAgICAgICBpZiAoZXZlbnRzLmNvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGV2ZW50cy5oYW5kbGVycyA/PyB7fSkuZm9yRWFjaCgoW2V2ZW50TmFtZSwgZXZlbnRIYW5kbGVyXTogW3N0cmluZywgRXZlbnRMaXN0ZW5lcl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50cy5jb25uZWN0ZWQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzLmNvbm5lY3RlZC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZXZlbnRIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgc2V0RXZlbnRzKHsgY29ubmVjdGVkOiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZG9tL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUEwRCxNQUFNLFdBQVcsQ0FBQztBQUtqRyxNQUFNLFVBQVUsR0FBRztJQUNsQixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsS0FBSyxFQUFFLEtBQUs7SUFDWixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsSUFBSTtJQUNmLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGtCQUFrQixFQUFFLElBQUk7Q0FDZixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzlCLE9BQU87SUFDUCxhQUFhO0lBQ2IsVUFBVTtJQUNWLFdBQVc7SUFDWCxhQUFhO0lBQ2IsYUFBYTtJQUNiLFlBQVk7SUFDWixjQUFjO0lBQ2QsY0FBYztJQUNkLGFBQWE7SUFDYixlQUFlO0lBQ2YsZUFBZTtJQUNmLE9BQU87Q0FDRSxDQUFDO0FBRVgsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQStCO0lBQ2xFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUMsT0FBTztRQUNOLFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsQ0FBQyxLQUFrQixFQUFFLElBQThCLEVBQUUsRUFBRTtZQUMvRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekIsdURBQXVEO1lBQ3ZELDRGQUE0RjtZQUM1RixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVHLEtBQUssQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFzQixFQUFFLGtCQUFrQixFQUFFLEVBQUU7WUFDdkYsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDakUsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBYztRQUNuQixNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ1osTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekMsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLGFBQWEsSUFBSSxNQUFNLENBQUMsUUFBUTtnQkFDdkQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBbUIsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFFNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRXZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUNsRCxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBMEIsRUFBRSxFQUFFO2dCQUN0RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsU0FBb0MsQ0FBQyxDQUFDO2dCQUNqRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUNELENBQUM7UUFDSCxDQUFDO1FBQ0QsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNoQixNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQTBCLEVBQUUsRUFBRTtvQkFDcEcsSUFBSSxNQUFNLENBQUMsU0FBUyxZQUFZLFdBQVcsRUFBRTt3QkFDNUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7cUJBQzlEO2dCQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUVILFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ3BDO1FBQ0YsQ0FBQztLQUNELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRXZlbnRzLCB0eXBlIE5ndERvbUV2ZW50LCB0eXBlIE5ndEV2ZW50TWFuYWdlciwgdHlwZSBOZ3RFdmVudHMgfSBmcm9tICcuLi9ldmVudHMnO1xuaW1wb3J0IHR5cGUgeyBOZ3RTdGF0ZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBOZ3RTaWduYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL3NpZ25hbC1zdG9yZSc7XG5cbmNvbnN0IERPTV9FVkVOVFMgPSB7XG5cdGNsaWNrOiBmYWxzZSxcblx0Y29udGV4dG1lbnU6IGZhbHNlLFxuXHRkYmxjbGljazogZmFsc2UsXG5cdHdoZWVsOiBmYWxzZSwgLy8gcGFzc2l2ZSB3aGVlbCBlcnJvcnMgd2l0aCBPcmJpdENvbnRyb2xzXG5cdHBvaW50ZXJkb3duOiB0cnVlLFxuXHRwb2ludGVydXA6IHRydWUsXG5cdHBvaW50ZXJsZWF2ZTogdHJ1ZSxcblx0cG9pbnRlcm1vdmU6IHRydWUsXG5cdHBvaW50ZXJjYW5jZWw6IHRydWUsXG5cdGxvc3Rwb2ludGVyY2FwdHVyZTogdHJ1ZSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRFdmVudHMgPSBbXG5cdCdjbGljaycsXG5cdCdjb250ZXh0bWVudScsXG5cdCdkYmxjbGljaycsXG5cdCdwb2ludGVydXAnLFxuXHQncG9pbnRlcmRvd24nLFxuXHQncG9pbnRlcm92ZXInLFxuXHQncG9pbnRlcm91dCcsXG5cdCdwb2ludGVyZW50ZXInLFxuXHQncG9pbnRlcmxlYXZlJyxcblx0J3BvaW50ZXJtb3ZlJyxcblx0J3BvaW50ZXJtaXNzZWQnLFxuXHQncG9pbnRlcmNhbmNlbCcsXG5cdCd3aGVlbCcsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9pbnRlckV2ZW50cyhzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+KTogTmd0RXZlbnRNYW5hZ2VyPEhUTUxFbGVtZW50PiB7XG5cdGNvbnN0IHsgaGFuZGxlUG9pbnRlciB9ID0gY3JlYXRlRXZlbnRzKHN0b3JlKTtcblxuXHRyZXR1cm4ge1xuXHRcdHByaW9yaXR5OiAxLFxuXHRcdGVuYWJsZWQ6IHRydWUsXG5cdFx0Y29tcHV0ZTogKGV2ZW50OiBOZ3REb21FdmVudCwgcm9vdDogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+KSA9PiB7XG5cdFx0XHRjb25zdCBzdGF0ZSA9IHJvb3QuZ2V0KCk7XG5cdFx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vcG1uZHJzL3JlYWN0LXRocmVlLWZpYmVyL3B1bGwvNzgyXG5cdFx0XHQvLyBFdmVudHMgdHJpZ2dlciBvdXRzaWRlIG9mIGNhbnZhcyB3aGVuIG1vdmVkLCB1c2Ugb2Zmc2V0WC9ZIGJ5IGRlZmF1bHQgYW5kIGFsbG93IG92ZXJyaWRlc1xuXHRcdFx0c3RhdGUucG9pbnRlci5zZXQoKGV2ZW50Lm9mZnNldFggLyBzdGF0ZS5zaXplLndpZHRoKSAqIDIgLSAxLCAtKGV2ZW50Lm9mZnNldFkgLyBzdGF0ZS5zaXplLmhlaWdodCkgKiAyICsgMSk7XG5cdFx0XHRzdGF0ZS5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShzdGF0ZS5wb2ludGVyLCBzdGF0ZS5jYW1lcmEpO1xuXHRcdH0sXG5cdFx0Y29ubmVjdGVkOiB1bmRlZmluZWQsXG5cdFx0aGFuZGxlcnM6IE9iamVjdC5rZXlzKERPTV9FVkVOVFMpLnJlZHVjZSgoaGFuZGxlcnM6IE5ndEFueVJlY29yZCwgc3VwcG9ydGVkRXZlbnROYW1lKSA9PiB7XG5cdFx0XHRoYW5kbGVyc1tzdXBwb3J0ZWRFdmVudE5hbWVdID0gaGFuZGxlUG9pbnRlcihzdXBwb3J0ZWRFdmVudE5hbWUpO1xuXHRcdFx0cmV0dXJuIGhhbmRsZXJzO1xuXHRcdH0sIHt9KSBhcyBOZ3RFdmVudHMsXG5cdFx0dXBkYXRlOiAoKSA9PiB7XG5cdFx0XHRjb25zdCB7IGV2ZW50cywgaW50ZXJuYWwgfSA9IHN0b3JlLmdldCgpO1xuXHRcdFx0aWYgKGludGVybmFsLmxhc3RFdmVudD8ubmF0aXZlRWxlbWVudCAmJiBldmVudHMuaGFuZGxlcnMpXG5cdFx0XHRcdGV2ZW50cy5oYW5kbGVycy5wb2ludGVybW92ZShpbnRlcm5hbC5sYXN0RXZlbnQubmF0aXZlRWxlbWVudCk7XG5cdFx0fSxcblx0XHRjb25uZWN0OiAodGFyZ2V0OiBIVE1MRWxlbWVudCkgPT4ge1xuXHRcdFx0Y29uc3Qgc3RhdGUgPSBzdG9yZS5nZXQoKTtcblx0XHRcdHN0YXRlLmV2ZW50cy5kaXNjb25uZWN0Py4oKTtcblxuXHRcdFx0c3RhdGUuc2V0RXZlbnRzKHsgY29ubmVjdGVkOiB0YXJnZXQgfSk7XG5cblx0XHRcdE9iamVjdC5lbnRyaWVzKHN0YXRlLmV2ZW50cy5oYW5kbGVycyA/PyB7fSkuZm9yRWFjaChcblx0XHRcdFx0KFtldmVudE5hbWUsIGV2ZW50SGFuZGxlcl06IFtzdHJpbmcsIEV2ZW50TGlzdGVuZXJdKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgcGFzc2l2ZSA9IERPTV9FVkVOVFNbZXZlbnROYW1lIGFzIGtleW9mIHR5cGVvZiBET01fRVZFTlRTXTtcblx0XHRcdFx0XHR0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGV2ZW50SGFuZGxlciwgeyBwYXNzaXZlIH0pO1xuXHRcdFx0XHR9LFxuXHRcdFx0KTtcblx0XHR9LFxuXHRcdGRpc2Nvbm5lY3Q6ICgpID0+IHtcblx0XHRcdGNvbnN0IHsgZXZlbnRzLCBzZXRFdmVudHMgfSA9IHN0b3JlLmdldCgpO1xuXHRcdFx0aWYgKGV2ZW50cy5jb25uZWN0ZWQpIHtcblx0XHRcdFx0T2JqZWN0LmVudHJpZXMoZXZlbnRzLmhhbmRsZXJzID8/IHt9KS5mb3JFYWNoKChbZXZlbnROYW1lLCBldmVudEhhbmRsZXJdOiBbc3RyaW5nLCBFdmVudExpc3RlbmVyXSkgPT4ge1xuXHRcdFx0XHRcdGlmIChldmVudHMuY29ubmVjdGVkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcblx0XHRcdFx0XHRcdGV2ZW50cy5jb25uZWN0ZWQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGV2ZW50SGFuZGxlcik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRzZXRFdmVudHMoeyBjb25uZWN0ZWQ6IHVuZGVmaW5lZCB9KTtcblx0XHRcdH1cblx0XHR9LFxuXHR9O1xufVxuIl19