@skyux/core 8.6.0 → 9.0.0-alpha.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 (151) hide show
  1. package/{esm2020 → esm2022}/lib/modules/adapter-service/adapter.module.mjs +5 -5
  2. package/esm2022/lib/modules/adapter-service/adapter.service.mjs +225 -0
  3. package/esm2022/lib/modules/affix/affix.directive.mjs +116 -0
  4. package/{esm2020 → esm2022}/lib/modules/affix/affix.module.mjs +5 -5
  5. package/esm2022/lib/modules/affix/affix.service.mjs +25 -0
  6. package/esm2022/lib/modules/affix/affixer.mjs +398 -0
  7. package/esm2022/lib/modules/default-input-provider/default-input-provider.mjs +26 -0
  8. package/esm2022/lib/modules/dock/dock-dom-adapter.service.mjs +81 -0
  9. package/esm2022/lib/modules/dock/dock-item.mjs +31 -0
  10. package/esm2022/lib/modules/dock/dock.component.mjs +108 -0
  11. package/{esm2020 → esm2022}/lib/modules/dock/dock.module.mjs +5 -5
  12. package/esm2022/lib/modules/dock/dock.service.mjs +96 -0
  13. package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component.module.mjs +5 -5
  14. package/esm2022/lib/modules/dynamic-component/dynamic-component.service.mjs +106 -0
  15. package/{esm2020 → esm2022}/lib/modules/format/app-format.mjs +4 -4
  16. package/esm2022/lib/modules/id/id.directive.mjs +31 -0
  17. package/{esm2020 → esm2022}/lib/modules/id/id.module.mjs +5 -5
  18. package/{esm2020 → esm2022}/lib/modules/id/id.service.mjs +4 -4
  19. package/esm2022/lib/modules/layout-host/layout-host.service.mjs +22 -0
  20. package/esm2022/lib/modules/live-announcer/live-announcer.service.mjs +79 -0
  21. package/{esm2020 → esm2022}/lib/modules/log/log.module.mjs +5 -5
  22. package/esm2022/lib/modules/log/log.service.mjs +148 -0
  23. package/{esm2020 → esm2022}/lib/modules/media-query/media-query.module.mjs +5 -5
  24. package/esm2022/lib/modules/media-query/media-query.service.mjs +123 -0
  25. package/{esm2020 → esm2022}/lib/modules/mutation/mutation-observer-service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/modules/numeric/numeric.module.mjs +5 -5
  27. package/esm2022/lib/modules/numeric/numeric.pipe.mjs +81 -0
  28. package/esm2022/lib/modules/numeric/numeric.service.mjs +205 -0
  29. package/esm2022/lib/modules/overlay/overlay-adapter.service.mjs +44 -0
  30. package/esm2022/lib/modules/overlay/overlay-instance.mjs +62 -0
  31. package/esm2022/lib/modules/overlay/overlay.component.mjs +193 -0
  32. package/{esm2020 → esm2022}/lib/modules/overlay/overlay.module.mjs +5 -5
  33. package/esm2022/lib/modules/overlay/overlay.service.mjs +124 -0
  34. package/{esm2020 → esm2022}/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
  35. package/esm2022/lib/modules/percent-pipe/percent.pipe.mjs +56 -0
  36. package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +120 -0
  37. package/esm2022/lib/modules/resize-observer/resize-observer.service.mjs +77 -0
  38. package/esm2022/lib/modules/scrollable-host/scrollable-host.service.mjs +223 -0
  39. package/esm2022/lib/modules/shared/number-format/number-format-utility.mjs +72 -0
  40. package/esm2022/lib/modules/shared/sky-core-resources.module.mjs +50 -0
  41. package/esm2022/lib/modules/title/title.service.mjs +31 -0
  42. package/esm2022/lib/modules/trim/trim.directive.mjs +64 -0
  43. package/{esm2020 → esm2022}/lib/modules/trim/trim.module.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/modules/ui-config/ui-config.service.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-host-options.mjs +4 -4
  46. package/esm2022/lib/modules/viewkeeper/viewkeeper.directive.mjs +131 -0
  47. package/esm2022/lib/modules/viewkeeper/viewkeeper.mjs +283 -0
  48. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper.module.mjs +5 -5
  49. package/esm2022/lib/modules/viewkeeper/viewkeeper.service.mjs +39 -0
  50. package/{esm2020 → esm2022}/lib/modules/window/window-ref.mjs +4 -4
  51. package/esm2022/testing/core-testing.module.mjs +32 -0
  52. package/esm2022/testing/mock-media-query.service.mjs +46 -0
  53. package/{esm2020 → esm2022}/testing/mock-ui-config.service.mjs +4 -4
  54. package/esm2022/testing/overlay/overlay-harness.mjs +43 -0
  55. package/esm2022/testing/shared/component-harness.mjs +13 -0
  56. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs +28 -34
  57. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs.map +1 -1
  58. package/fesm2022/skyux-core.mjs +3858 -0
  59. package/fesm2022/skyux-core.mjs.map +1 -0
  60. package/lib/modules/affix/affix.directive.d.ts +1 -1
  61. package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +1 -1
  62. package/package.json +14 -22
  63. package/esm2020/lib/modules/adapter-service/adapter.service.mjs +0 -227
  64. package/esm2020/lib/modules/affix/affix.directive.mjs +0 -118
  65. package/esm2020/lib/modules/affix/affix.service.mjs +0 -28
  66. package/esm2020/lib/modules/affix/affixer.mjs +0 -377
  67. package/esm2020/lib/modules/default-input-provider/default-input-provider.mjs +0 -31
  68. package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +0 -83
  69. package/esm2020/lib/modules/dock/dock-item.mjs +0 -34
  70. package/esm2020/lib/modules/dock/dock.component.mjs +0 -110
  71. package/esm2020/lib/modules/dock/dock.service.mjs +0 -98
  72. package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +0 -109
  73. package/esm2020/lib/modules/id/id.directive.mjs +0 -34
  74. package/esm2020/lib/modules/layout-host/layout-host.service.mjs +0 -27
  75. package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +0 -80
  76. package/esm2020/lib/modules/log/log.service.mjs +0 -147
  77. package/esm2020/lib/modules/media-query/media-query.service.mjs +0 -124
  78. package/esm2020/lib/modules/numeric/numeric.pipe.mjs +0 -84
  79. package/esm2020/lib/modules/numeric/numeric.service.mjs +0 -179
  80. package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +0 -47
  81. package/esm2020/lib/modules/overlay/overlay-instance.mjs +0 -65
  82. package/esm2020/lib/modules/overlay/overlay.component.mjs +0 -192
  83. package/esm2020/lib/modules/overlay/overlay.service.mjs +0 -125
  84. package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +0 -59
  85. package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +0 -121
  86. package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +0 -79
  87. package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +0 -218
  88. package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +0 -72
  89. package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +0 -50
  90. package/esm2020/lib/modules/title/title.service.mjs +0 -34
  91. package/esm2020/lib/modules/trim/trim.directive.mjs +0 -65
  92. package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +0 -131
  93. package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +0 -276
  94. package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +0 -42
  95. package/esm2020/testing/core-testing.module.mjs +0 -32
  96. package/esm2020/testing/mock-media-query.service.mjs +0 -46
  97. package/esm2020/testing/overlay/overlay-harness.mjs +0 -43
  98. package/esm2020/testing/shared/component-harness.mjs +0 -19
  99. package/fesm2015/skyux-core-testing.mjs +0 -209
  100. package/fesm2015/skyux-core-testing.mjs.map +0 -1
  101. package/fesm2015/skyux-core.mjs +0 -3835
  102. package/fesm2015/skyux-core.mjs.map +0 -1
  103. package/fesm2020/skyux-core.mjs +0 -3825
  104. package/fesm2020/skyux-core.mjs.map +0 -1
  105. /package/{esm2020 → esm2022}/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/adapter-service/focusable-children-options.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/affix/affix-auto-fit-context.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/modules/affix/affix-config.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/modules/affix/affix-horizontal-alignment.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset-change.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement-change.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/modules/affix/affix-position.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/modules/affix/affix-rect.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/modules/affix/affix-utils.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/modules/affix/affix-vertical-alignment.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/modules/affix/dom-utils.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/modules/dock/dock-insert-component-config.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-config.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-reference.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/modules/dock/dock-location.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/modules/dock/dock-options.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/modules/dock/sort-by-stack-order.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-location.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-options.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/modules/layout-host/layout-host-for-child-args.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-args.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-politeness.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/modules/log/types/log-deprecation-args.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level-token.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/modules/media-query/media-breakpoints.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/modules/media-query/media-query-listener.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric-symbol.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric.options.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-config.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-context.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-position.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context-token.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/modules/title/set-title-args.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-offset.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-options.mjs +0 -0
  147. /package/{esm2020 → esm2022}/skyux-core.mjs +0 -0
  148. /package/{esm2020 → esm2022}/testing/overlay/overlay-harness-filters.mjs +0 -0
  149. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  150. /package/{esm2020 → esm2022}/testing/shared/harness-filters.mjs +0 -0
  151. /package/{esm2020 → esm2022}/testing/skyux-core-testing.mjs +0 -0
@@ -0,0 +1,124 @@
1
+ import { Injectable, Injector, } from '@angular/core';
2
+ import { SkyOverlayContext } from './overlay-context';
3
+ import { SkyOverlayInstance } from './overlay-instance';
4
+ import { SkyOverlayComponent } from './overlay.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./overlay-adapter.service";
7
+ /**
8
+ * This service is used to create new overlays.
9
+ * @dynamic
10
+ */
11
+ export class SkyOverlayService {
12
+ static { this.overlays = []; }
13
+ #adapter;
14
+ #applicationRef;
15
+ #componentFactoryResolver;
16
+ #injector;
17
+ // TODO: Replace deprecated `ComponentFactoryResolver`.
18
+ constructor(applicationRef, componentFactoryResolver, injector, adapter) {
19
+ this.#applicationRef = applicationRef;
20
+ this.#componentFactoryResolver = componentFactoryResolver;
21
+ this.#injector = injector;
22
+ this.#adapter = adapter;
23
+ }
24
+ /**
25
+ * Creates an empty overlay. Use the returned `SkyOverlayInstance` to append content.
26
+ * @param config Configuration for the overlay.
27
+ */
28
+ create(config) {
29
+ const settings = this.#prepareConfig(config);
30
+ if (settings.enableScroll === false) {
31
+ this.#adapter.restrictBodyScroll();
32
+ }
33
+ const componentRef = this.#createOverlay(settings);
34
+ const instance = new SkyOverlayInstance(settings, componentRef);
35
+ instance.closed.subscribe(() => {
36
+ // Only execute the service's close method if the instance still exists.
37
+ // This is needed to address a race condition if the deprecated instance.close method is used instead.
38
+ if (SkyOverlayService.overlays.indexOf(instance) > -1) {
39
+ this.close(instance);
40
+ }
41
+ });
42
+ SkyOverlayService.overlays.push(instance);
43
+ return instance;
44
+ }
45
+ /**
46
+ * Closes (and destroys) an overlay instance.
47
+ * @param instance The instance to close.
48
+ */
49
+ close(instance) {
50
+ this.#destroyOverlay(instance);
51
+ this.#applicationRef.detachView(instance.componentRef.hostView);
52
+ instance.componentRef.destroy();
53
+ // In some cases, Angular keeps dynamically-generated component's nodes in the DOM during
54
+ // unit tests. This can make querying difficult because the older DOM nodes still exist and
55
+ // produce inconsistent results.
56
+ // Angular Material's overlay appears to do the same thing:
57
+ // https://github.com/angular/components/blob/master/src/cdk/portal/dom-portal-outlet.ts#L143-L145
58
+ // (Ignoring coverage since this branch will only be hit by consumer unit tests.)
59
+ const componentElement = instance.componentRef.location.nativeElement;
60
+ /* istanbul ignore if */
61
+ if (componentElement.parentNode !== null) {
62
+ componentElement.parentNode.removeChild(componentElement);
63
+ }
64
+ }
65
+ /**
66
+ * Closes all overlay instances.
67
+ */
68
+ closeAll() {
69
+ // The `close` event handler for each instance alters the array's length asynchronously,
70
+ // so the only "safe" index to call is zero.
71
+ while (SkyOverlayService.overlays.length > 0) {
72
+ this.close(SkyOverlayService.overlays[0]);
73
+ }
74
+ }
75
+ #createOverlay(config) {
76
+ const injector = Injector.create({
77
+ parent: this.#injector,
78
+ providers: [
79
+ {
80
+ provide: SkyOverlayContext,
81
+ useValue: new SkyOverlayContext(config),
82
+ },
83
+ ],
84
+ });
85
+ const componentRef = this.#componentFactoryResolver
86
+ .resolveComponentFactory(SkyOverlayComponent)
87
+ .create(injector);
88
+ this.#applicationRef.attachView(componentRef.hostView);
89
+ const domElem = componentRef.hostView
90
+ .rootNodes[0];
91
+ document.body.appendChild(domElem);
92
+ return componentRef;
93
+ }
94
+ #prepareConfig(config = {}) {
95
+ const defaults = {
96
+ closeOnNavigation: true,
97
+ enableClose: false,
98
+ enablePointerEvents: false,
99
+ enableScroll: true,
100
+ showBackdrop: false,
101
+ wrapperClass: '',
102
+ };
103
+ return { ...defaults, ...config };
104
+ }
105
+ #destroyOverlay(instance) {
106
+ SkyOverlayService.overlays.splice(SkyOverlayService.overlays.indexOf(instance), 1);
107
+ if (instance.config.enableScroll === false) {
108
+ // Only release the body scroll if no other overlay wishes it to be disabled.
109
+ const anotherOverlayDisablesScroll = SkyOverlayService.overlays.some((o) => !o.config.enableScroll);
110
+ if (!anotherOverlayDisablesScroll) {
111
+ this.#adapter.releaseBodyScroll();
112
+ }
113
+ }
114
+ }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayService, providedIn: 'root' }); }
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayService, decorators: [{
119
+ type: Injectable,
120
+ args: [{
121
+ providedIn: 'root',
122
+ }]
123
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i1.SkyOverlayAdapterService }]; } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFMUQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjthQUNiLGFBQVEsR0FBeUIsRUFBRSxBQUEzQixDQUE0QjtJQUVuRCxRQUFRLENBQTJCO0lBRW5DLGVBQWUsQ0FBaUI7SUFFaEMseUJBQXlCLENBQTJCO0lBRXBELFNBQVMsQ0FBVztJQUVwQix1REFBdUQ7SUFDdkQsWUFDRSxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsUUFBa0IsRUFDbEIsT0FBaUM7UUFFakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsTUFBeUI7UUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUs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RSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlLENBQUMsUUFBNEI7UUFDMUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDL0IsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDNUMsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMxQyw2RUFBNkU7WUFDN0UsTUFBTSw0QkFBNEIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDOUIsQ0FBQztZQUNGLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQ25DO1NBQ0Y7SUFDSCxDQUFDOzhHQXpJVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9vdmVybGF5LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcbmltcG9ydCB7IFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJy4vb3ZlcmxheS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVybGF5LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gY3JlYXRlIG5ldyBvdmVybGF5cy5cbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5U2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGljIG92ZXJsYXlzOiBTa3lPdmVybGF5SW5zdGFuY2VbXSA9IFtdO1xuXG4gICNhZGFwdGVyOiBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2U7XG5cbiAgI2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZjtcblxuICAjY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAvLyBUT0RPOiBSZXBsYWNlIGRlcHJlY2F0ZWQgYENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcmAuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgYWRhcHRlcjogU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBvdmVybGF5LiBVc2UgdGhlIHJldHVybmVkIGBTa3lPdmVybGF5SW5zdGFuY2VgIHRvIGFwcGVuZCBjb250ZW50LlxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBvdmVybGF5LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZShjb25maWc/OiBTa3lPdmVybGF5Q29uZmlnKTogU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuI3ByZXBhcmVDb25maWcoY29uZmlnKTtcblxuICAgIGlmIChzZXR0aW5ncy5lbmFibGVTY3JvbGwgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLnJlc3RyaWN0Qm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoc2V0dGluZ3MpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreU92ZXJsYXlJbnN0YW5jZShzZXR0aW5ncywgY29tcG9uZW50UmVmKTtcblxuICAgIGluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gT25seSBleGVjdXRlIHRoZSBzZXJ2aWNlJ3MgY2xvc2UgbWV0aG9kIGlmIHRoZSBpbnN0YW5jZSBzdGlsbCBleGlzdHMuXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgcmFjZSBjb25kaXRpb24gaWYgdGhlIGRlcHJlY2F0ZWQgaW5zdGFuY2UuY2xvc2UgbWV0aG9kIGlzIHVzZWQgaW5zdGVhZC5cbiAgICAgIGlmIChTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5pbmRleE9mKGluc3RhbmNlKSA+IC0xKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMucHVzaChpbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIChhbmQgZGVzdHJveXMpIGFuIG92ZXJsYXkgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBUaGUgaW5zdGFuY2UgdG8gY2xvc2UuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoaW5zdGFuY2U6IFNreU92ZXJsYXlJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI2Rlc3Ryb3lPdmVybGF5KGluc3RhbmNlKTtcbiAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5kZXRhY2hWaWV3KGluc3RhbmNlLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcblxuICAgIC8vIEluIHNvbWUgY2FzZXMsIEFuZ3VsYXIga2VlcHMgZHluYW1pY2FsbHktZ2VuZXJhdGVkIGNvbXBvbmVudCdzIG5vZGVzIGluIHRoZSBET00gZHVyaW5nXG4gICAgLy8gdW5pdCB0ZXN0cy4gVGhpcyBjYW4gbWFrZSBxdWVyeWluZyBkaWZmaWN1bHQgYmVjYXVzZSB0aGUgb2xkZXIgRE9NIG5vZGVzIHN0aWxsIGV4aXN0IGFuZFxuICAgIC8vIHByb2R1Y2UgaW5jb25zaXN0ZW50IHJlc3VsdHMuXG4gICAgLy8gQW5ndWxhciBNYXRlcmlhbCdzIG92ZXJsYXkgYXBwZWFycyB0byBkbyB0aGUgc2FtZSB0aGluZzpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFzdGVyL3NyYy9jZGsvcG9ydGFsL2RvbS1wb3J0YWwtb3V0bGV0LnRzI0wxNDMtTDE0NVxuICAgIC8vIChJZ25vcmluZyBjb3ZlcmFnZSBzaW5jZSB0aGlzIGJyYW5jaCB3aWxsIG9ubHkgYmUgaGl0IGJ5IGNvbnN1bWVyIHVuaXQgdGVzdHMuKVxuICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnQgPSBpbnN0YW5jZS5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY29tcG9uZW50RWxlbWVudC5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY29tcG9uZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgb3ZlcmxheSBpbnN0YW5jZXMuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgLy8gVGhlIGBjbG9zZWAgZXZlbnQgaGFuZGxlciBmb3IgZWFjaCBpbnN0YW5jZSBhbHRlcnMgdGhlIGFycmF5J3MgbGVuZ3RoIGFzeW5jaHJvbm91c2x5LFxuICAgIC8vIHNvIHRoZSBvbmx5IFwic2FmZVwiIGluZGV4IHRvIGNhbGwgaXMgemVyby5cbiAgICB3aGlsZSAoU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jbG9zZShTa3lPdmVybGF5U2VydmljZS5vdmVybGF5c1swXSk7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZU92ZXJsYXkoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogQ29tcG9uZW50UmVmPFNreU92ZXJsYXlDb21wb25lbnQ+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICAgICAgICB1c2VWYWx1ZTogbmV3IFNreU92ZXJsYXlDb250ZXh0KGNvbmZpZyksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU2t5T3ZlcmxheUNvbXBvbmVudClcbiAgICAgIC5jcmVhdGUoaW5qZWN0b3IpO1xuXG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICAjcHJlcGFyZUNvbmZpZyhjb25maWc6IFNreU92ZXJsYXlDb25maWcgPSB7fSk6IFNreU92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IGRlZmF1bHRzOiBTa3lPdmVybGF5Q29uZmlnID0ge1xuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgIGVuYWJsZVNjcm9sbDogdHJ1ZSxcbiAgICAgIHNob3dCYWNrZHJvcDogZmFsc2UsXG4gICAgICB3cmFwcGVyQ2xhc3M6ICcnLFxuICAgIH07XG5cbiAgICByZXR1cm4geyAuLi5kZWZhdWx0cywgLi4uY29uZmlnIH07XG4gIH1cblxuICAjZGVzdHJveU92ZXJsYXkoaW5zdGFuY2U6IFNreU92ZXJsYXlJbnN0YW5jZSk6IHZvaWQge1xuICAgIFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLnNwbGljZShcbiAgICAgIFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLmluZGV4T2YoaW5zdGFuY2UpLFxuICAgICAgMVxuICAgICk7XG5cbiAgICBpZiAoaW5zdGFuY2UuY29uZmlnLmVuYWJsZVNjcm9sbCA9PT0gZmFsc2UpIHtcbiAgICAgIC8vIE9ubHkgcmVsZWFzZSB0aGUgYm9keSBzY3JvbGwgaWYgbm8gb3RoZXIgb3ZlcmxheSB3aXNoZXMgaXQgdG8gYmUgZGlzYWJsZWQuXG4gICAgICBjb25zdCBhbm90aGVyT3ZlcmxheURpc2FibGVzU2Nyb2xsID0gU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuc29tZShcbiAgICAgICAgKG8pID0+ICFvLmNvbmZpZy5lbmFibGVTY3JvbGxcbiAgICAgICk7XG4gICAgICBpZiAoIWFub3RoZXJPdmVybGF5RGlzYWJsZXNTY3JvbGwpIHtcbiAgICAgICAgdGhpcy4jYWRhcHRlci5yZWxlYXNlQm9keVNjcm9sbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -4,11 +4,11 @@ import { SkyCoreResourcesModule } from '../shared/sky-core-resources.module';
4
4
  import { SkyPercentPipe } from './percent.pipe';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyPercentPipeModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule], exports: [SkyPercentPipe] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipeModule, providers: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule] }); }
7
10
  }
8
- SkyPercentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyPercentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule], exports: [SkyPercentPipe] });
10
- SkyPercentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipeModule, providers: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyPercentPipe],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
17
17
  exports: [SkyPercentPipe],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC1waXBlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUWhELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFMaEIsY0FBYyxhQUVuQixZQUFZLEVBQUUsc0JBQXNCLGFBQ3BDLGNBQWM7a0hBRWIsb0JBQW9CLGFBSnBCLENBQUMsY0FBYyxDQUFDLFlBQ2pCLFlBQVksRUFBRSxzQkFBc0I7MkZBR25DLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUNvcmVSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVBlcmNlbnRQaXBlIH0gZnJvbSAnLi9wZXJjZW50LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lQZXJjZW50UGlwZV0sXG4gIHByb3ZpZGVyczogW1NreVBlcmNlbnRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5Q29yZVJlc291cmNlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lQZXJjZW50UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBlcmNlbnRQaXBlTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC1waXBlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUWhELE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLGlCQUxoQixjQUFjLGFBRW5CLFlBQVksRUFBRSxzQkFBc0IsYUFDcEMsY0FBYzsrR0FFYixvQkFBb0IsYUFKcEIsQ0FBQyxjQUFjLENBQUMsWUFDakIsWUFBWSxFQUFFLHNCQUFzQjs7MkZBR25DLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUNvcmVSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVBlcmNlbnRQaXBlIH0gZnJvbSAnLi9wZXJjZW50LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lQZXJjZW50UGlwZV0sXG4gIHByb3ZpZGVyczogW1NreVBlcmNlbnRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5Q29yZVJlc291cmNlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lQZXJjZW50UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBlcmNlbnRQaXBlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { SkyIntlNumberFormatStyle } from '@skyux/i18n';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { SkyNumberFormatUtility } from '../shared/number-format/number-format-utility';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@skyux/i18n";
8
+ export class SkyPercentPipe {
9
+ get defaultLocale() {
10
+ return this.#defaultLocale;
11
+ }
12
+ #defaultFormat = '1.0-2';
13
+ #defaultLocale = 'en-US';
14
+ #format;
15
+ #formattedValue = '';
16
+ #locale;
17
+ #ngUnsubscribe = new Subject();
18
+ #value;
19
+ constructor(localeProvider) {
20
+ localeProvider
21
+ .getLocaleInfo()
22
+ .pipe(takeUntil(this.#ngUnsubscribe))
23
+ .subscribe((localeInfo) => {
24
+ this.#defaultLocale = localeInfo.locale;
25
+ this.#updateFormattedValue();
26
+ });
27
+ }
28
+ ngOnDestroy() {
29
+ this.#ngUnsubscribe.next();
30
+ this.#ngUnsubscribe.complete();
31
+ }
32
+ transform(value, format, locale) {
33
+ this.#value = value;
34
+ this.#format = format;
35
+ this.#locale = locale;
36
+ this.#updateFormattedValue();
37
+ return this.#formattedValue;
38
+ }
39
+ #updateFormattedValue() {
40
+ const locale = this.#locale || this.#defaultLocale;
41
+ const format = this.#format || this.#defaultFormat;
42
+ this.#formattedValue = this.#value
43
+ ? SkyNumberFormatUtility.formatNumber(locale, this.#value, SkyIntlNumberFormatStyle.Percent, format)
44
+ : '';
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe }); }
47
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPercentPipe, decorators: [{
50
+ type: Pipe,
51
+ args: [{
52
+ name: 'skyPercent',
53
+ pure: false,
54
+ }]
55
+ }], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }]; } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBTXZGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWMsR0FBRyxPQUFPLENBQUM7SUFFekIsY0FBYyxHQUFHLE9BQU8sQ0FBQztJQUV6QixPQUFPLENBQXFCO0lBRTVCLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFFckIsT0FBTyxDQUFxQjtJQUU1QixjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVyQyxNQUFNLENBQXFCO0lBRTNCLFlBQVksY0FBb0M7UUFDOUMsY0FBYzthQUNYLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRW5ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDaEMsQ0FBQyxDQUFFLHNCQUFzQixDQUFDLFlBQVksQ0FDbEMsTUFBTSxFQUNOLElBQUksQ0FBQyxNQUFNLEVBQ1gsd0JBQXdCLENBQUMsT0FBTyxFQUNoQyxNQUFNLENBQ0k7WUFDZCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQzs4R0F4RFUsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwTG9jYWxlUHJvdmlkZXIsIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IH0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2t5UGVyY2VudCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQZXJjZW50UGlwZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyBnZXQgZGVmYXVsdExvY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNkZWZhdWx0TG9jYWxlO1xuICB9XG5cbiAgI2RlZmF1bHRGb3JtYXQgPSAnMS4wLTInO1xuXG4gICNkZWZhdWx0TG9jYWxlID0gJ2VuLVVTJztcblxuICAjZm9ybWF0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI2Zvcm1hdHRlZFZhbHVlID0gJyc7XG5cbiAgI2xvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXIpIHtcbiAgICBsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLiNkZWZhdWx0TG9jYWxlID0gbG9jYWxlSW5mby5sb2NhbGU7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLiN2YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2Zvcm1hdCA9IGZvcm1hdDtcbiAgICB0aGlzLiNsb2NhbGUgPSBsb2NhbGU7XG5cbiAgICB0aGlzLiN1cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuI2Zvcm1hdHRlZFZhbHVlO1xuICB9XG5cbiAgI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuI2xvY2FsZSB8fCB0aGlzLiNkZWZhdWx0TG9jYWxlO1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuI2Zvcm1hdCB8fCB0aGlzLiNkZWZhdWx0Rm9ybWF0O1xuXG4gICAgdGhpcy4jZm9ybWF0dGVkVmFsdWUgPSB0aGlzLiN2YWx1ZVxuICAgICAgPyAoU2t5TnVtYmVyRm9ybWF0VXRpbGl0eS5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHRoaXMuI3ZhbHVlLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5QZXJjZW50LFxuICAgICAgICAgIGZvcm1hdFxuICAgICAgICApIGFzIHN0cmluZylcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,120 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ReplaySubject, Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./resize-observer.service";
7
+ const DEFAULT_BREAKPOINT = SkyMediaBreakpoints.md;
8
+ /**
9
+ * Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
10
+ */
11
+ export class SkyResizeObserverMediaQueryService {
12
+ /**
13
+ * Returns the current breakpoint.
14
+ */
15
+ get current() {
16
+ return this.#currentBreakpoint;
17
+ }
18
+ #breakpoints = [
19
+ {
20
+ check: (width) => width > 0 && width <= 767,
21
+ name: SkyMediaBreakpoints.xs,
22
+ },
23
+ {
24
+ check: (width) => width > 767 && width <= 991,
25
+ name: SkyMediaBreakpoints.sm,
26
+ },
27
+ {
28
+ check: (width) => width > 991 && width <= 1199,
29
+ name: SkyMediaBreakpoints.md,
30
+ },
31
+ {
32
+ check: (width) => width > 1199,
33
+ name: SkyMediaBreakpoints.lg,
34
+ },
35
+ ];
36
+ #currentBreakpoint = DEFAULT_BREAKPOINT;
37
+ #currentBreakpointObs = new ReplaySubject(1);
38
+ #ngUnsubscribe = new Subject();
39
+ #resizeObserverSvc;
40
+ #target;
41
+ constructor(resizeObserverSvc) {
42
+ this.#resizeObserverSvc = resizeObserverSvc;
43
+ }
44
+ ngOnDestroy() {
45
+ this.unobserve();
46
+ this.#target = undefined;
47
+ this.#currentBreakpointObs.complete();
48
+ }
49
+ /**
50
+ * @internal
51
+ */
52
+ destroy() {
53
+ this.ngOnDestroy();
54
+ }
55
+ /**
56
+ * Sets the container element to watch. The `SkyResizeObserverMediaQueryService` will only observe one element at a
57
+ * time. Any previous subscriptions will be unsubscribed when a new element is observed.
58
+ */
59
+ observe(element) {
60
+ if (this.#target) {
61
+ if (this.#target === element) {
62
+ return this;
63
+ }
64
+ this.unobserve();
65
+ }
66
+ this.#target = element;
67
+ this.#checkWidth(element);
68
+ this.#resizeObserverSvc
69
+ .observe(element)
70
+ .pipe(takeUntil(this.#ngUnsubscribe))
71
+ .subscribe((value) => {
72
+ const breakpoint = this.#checkBreakpoint(value.contentRect.width);
73
+ if (breakpoint && breakpoint !== this.current) {
74
+ this.#updateBreakpoint(breakpoint);
75
+ }
76
+ });
77
+ return this;
78
+ }
79
+ /**
80
+ * Stop watching the container element.
81
+ */
82
+ unobserve() {
83
+ this.#ngUnsubscribe.next();
84
+ this.#ngUnsubscribe.complete();
85
+ }
86
+ /**
87
+ * Subscribes to element size changes that cross breakpoints.
88
+ */
89
+ subscribe(listener) {
90
+ return this.#currentBreakpointObs
91
+ .pipe(takeUntil(this.#ngUnsubscribe))
92
+ .subscribe((value) => {
93
+ listener(value);
94
+ });
95
+ }
96
+ #updateBreakpoint(breakpoint) {
97
+ this.#currentBreakpoint = breakpoint;
98
+ this.#currentBreakpointObs.next(breakpoint);
99
+ }
100
+ #checkBreakpoint(width) {
101
+ const breakpoint = this.#breakpoints.find((breakpoint) => breakpoint.check(width));
102
+ return breakpoint ? breakpoint.name : undefined;
103
+ }
104
+ #checkWidth(el) {
105
+ const width = el.nativeElement.offsetWidth || 0;
106
+ const breakpoint = this.#checkBreakpoint(width);
107
+ if (breakpoint && breakpoint !== this.#currentBreakpoint) {
108
+ this.#updateBreakpoint(breakpoint);
109
+ }
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: [{ token: i1.SkyResizeObserverService }], target: i0.ɵɵFactoryTarget.Injectable }); }
112
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, providedIn: 'any' }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, decorators: [{
115
+ type: Injectable,
116
+ args: [{
117
+ providedIn: 'any',
118
+ }]
119
+ }], ctorParameters: function () { return [{ type: i1.SkyResizeObserverService }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBS3ZFLE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0FBRWxEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFrQztJQUM3Qzs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxHQUdOO1FBQ0o7WUFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEdBQUc7WUFDbkQsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRztZQUNyRCxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxJQUFJO1lBQ3RE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QyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsRUFBYztRQUN4QixNQUFNLEtBQUssR0FBSSxFQUFFLENBQUMsYUFBNkIsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLFVBQVUsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7OEdBOUhVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRmpDLEtBQUs7OzJGQUVOLGtDQUFrQztrQkFIOUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1icmVha3BvaW50cyc7XG5pbXBvcnQgeyBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbmltcG9ydCB7IFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSB9IGZyb20gJy4vcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX0JSRUFLUE9JTlQgPSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kO1xuXG4vKipcbiAqIEFjdHMgbGlrZSBgU2t5TWVkaWFRdWVyeVNlcnZpY2VgIGZvciBhIGNvbnRhaW5lciBlbGVtZW50LCBlbWl0dGluZyB0aGUgc2FtZSByZXNwb25zaXZlIGJyZWFrcG9pbnRzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgYnJlYWtwb2ludC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY3VycmVudCgpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudEJyZWFrcG9pbnQ7XG4gIH1cblxuICAjYnJlYWtwb2ludHM6IHtcbiAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IGJvb2xlYW47XG4gICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cztcbiAgfVtdID0gW1xuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiAwICYmIHdpZHRoIDw9IDc2NyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMueHMsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IHdpZHRoID4gNzY3ICYmIHdpZHRoIDw9IDk5MSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IHdpZHRoID4gOTkxICYmIHdpZHRoIDw9IDExOTksXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKSA9PiB3aWR0aCA+IDExOTksXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLmxnLFxuICAgIH0sXG4gIF07XG5cbiAgI2N1cnJlbnRCcmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzID0gREVGQVVMVF9CUkVBS1BPSU5UO1xuXG4gICNjdXJyZW50QnJlYWtwb2ludE9icyA9IG5ldyBSZXBsYXlTdWJqZWN0PFNreU1lZGlhQnJlYWtwb2ludHM+KDEpO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjcmVzaXplT2JzZXJ2ZXJTdmM6IFNreVJlc2l6ZU9ic2VydmVyU2VydmljZTtcblxuICAjdGFyZ2V0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHJlc2l6ZU9ic2VydmVyU3ZjOiBTa3lSZXNpemVPYnNlcnZlclNlcnZpY2UpIHtcbiAgICB0aGlzLiNyZXNpemVPYnNlcnZlclN2YyA9IHJlc2l6ZU9ic2VydmVyU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5vYnNlcnZlKCk7XG5cbiAgICB0aGlzLiN0YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnRPYnMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb250YWluZXIgZWxlbWVudCB0byB3YXRjaC4gVGhlIGBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlYCB3aWxsIG9ubHkgb2JzZXJ2ZSBvbmUgZWxlbWVudCBhdCBhXG4gICAqIHRpbWUuIEFueSBwcmV2aW91cyBzdWJzY3JpcHRpb25zIHdpbGwgYmUgdW5zdWJzY3JpYmVkIHdoZW4gYSBuZXcgZWxlbWVudCBpcyBvYnNlcnZlZC5cbiAgICovXG4gIHB1YmxpYyBvYnNlcnZlKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlIHtcbiAgICBpZiAodGhpcy4jdGFyZ2V0KSB7XG4gICAgICBpZiAodGhpcy4jdGFyZ2V0ID09PSBlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVub2JzZXJ2ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3RhcmdldCA9IGVsZW1lbnQ7XG5cbiAgICB0aGlzLiNjaGVja1dpZHRoKGVsZW1lbnQpO1xuXG4gICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXJTdmNcbiAgICAgIC5vYnNlcnZlKGVsZW1lbnQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jY2hlY2tCcmVha3BvaW50KHZhbHVlLmNvbnRlbnRSZWN0LndpZHRoKTtcbiAgICAgICAgaWYgKGJyZWFrcG9pbnQgJiYgYnJlYWtwb2ludCAhPT0gdGhpcy5jdXJyZW50KSB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgdW5vYnNlcnZlKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGVsZW1lbnQgc2l6ZSBjaGFuZ2VzIHRoYXQgY3Jvc3MgYnJlYWtwb2ludHMuXG4gICAqL1xuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9ic1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgbGlzdGVuZXIodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICAjdXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzKSB7XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnQgPSBicmVha3BvaW50O1xuICAgIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50T2JzLm5leHQoYnJlYWtwb2ludCk7XG4gIH1cblxuICAjY2hlY2tCcmVha3BvaW50KHdpZHRoOiBudW1iZXIpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jYnJlYWtwb2ludHMuZmluZCgoYnJlYWtwb2ludCkgPT5cbiAgICAgIGJyZWFrcG9pbnQuY2hlY2sod2lkdGgpXG4gICAgKTtcblxuICAgIHJldHVybiBicmVha3BvaW50ID8gYnJlYWtwb2ludC5uYW1lIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgI2NoZWNrV2lkdGgoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aWR0aCA9IChlbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aCB8fCAwO1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLiNjaGVja0JyZWFrcG9pbnQod2lkdGgpO1xuXG4gICAgaWYgKGJyZWFrcG9pbnQgJiYgYnJlYWtwb2ludCAhPT0gdGhpcy4jY3VycmVudEJyZWFrcG9pbnQpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnQoYnJlYWtwb2ludCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,77 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { finalize } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Service to create rxjs observables for changes to the content box dimensions of elements.
7
+ */
8
+ export class SkyResizeObserverService {
9
+ #resizeObserver;
10
+ #tracking = [];
11
+ #zone;
12
+ constructor(zone) {
13
+ this.#zone = zone;
14
+ this.#resizeObserver = new ResizeObserver((entries) => {
15
+ entries.forEach((entry) => this.#callback(entry));
16
+ });
17
+ }
18
+ ngOnDestroy() {
19
+ this.#resizeObserver.disconnect();
20
+ }
21
+ /**
22
+ * Create rxjs observable to get size changes for an element ref.
23
+ */
24
+ observe(element) {
25
+ return this.#observeAndTrack(element).subjectObservable;
26
+ }
27
+ #observeAndTrack(element) {
28
+ const checkTracking = this.#tracking.findIndex((value) => {
29
+ return !value.subject.closed && value.element === element.nativeElement;
30
+ });
31
+ if (checkTracking === -1) {
32
+ this.#resizeObserver.observe(element.nativeElement);
33
+ }
34
+ const subject = new Subject();
35
+ const subjectObservable = subject.pipe(finalize(() => {
36
+ // Are there any other tracking entries still watching this element?
37
+ const checkTracking = this.#tracking.findIndex((value) => {
38
+ return (value.subject !== subject &&
39
+ !value.subject.closed &&
40
+ value.element === element.nativeElement);
41
+ });
42
+ if (checkTracking === -1) {
43
+ this.#resizeObserver.unobserve(element.nativeElement);
44
+ }
45
+ }));
46
+ const tracking = {
47
+ element: element.nativeElement,
48
+ subject,
49
+ subjectObservable,
50
+ };
51
+ this.#tracking.push(tracking);
52
+ return tracking;
53
+ }
54
+ #callback(entry) {
55
+ this.#tracking
56
+ .filter((value) => !(value.subject.closed || value.subject.isStopped))
57
+ .forEach((value) => {
58
+ /* istanbul ignore else */
59
+ if (value.element === entry.target) {
60
+ // Execute the callback within NgZone because Angular does not "monkey patch"
61
+ // ResizeObserver like it does for other features in the DOM.
62
+ this.#zone.run(() => {
63
+ value.subject.next(entry);
64
+ });
65
+ }
66
+ });
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverService, providedIn: 'any' }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyResizeObserverService, decorators: [{
72
+ type: Injectable,
73
+ args: [{
74
+ providedIn: 'any',
75
+ }]
76
+ }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVExQzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsZUFBZSxDQUFpQjtJQUVoQyxTQUFTLEdBQTZCLEVBQUUsQ0FBQztJQUN6QyxLQUFLLENBQVM7SUFFZCxZQUFZLElBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE9BQW1CO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFtQjtRQUNsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckQ7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUNuRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQ3BDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixvRUFBb0U7WUFDcEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdkQsT0FBTyxDQUNMLEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTztvQkFDekIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU07b0JBQ3JCLEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLGFBQWEsQ0FDeEMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRztZQUNmLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYTtZQUM5QixPQUFPO1lBQ1AsaUJBQWlCO1NBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTBCO1FBQ2xDLElBQUksQ0FBQyxTQUFTO2FBQ1gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQiwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xDLDZFQUE2RTtnQkFDN0UsNkRBQTZEO2dCQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTNFVSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQUZ2QixLQUFLOzsyRkFFTix3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgUmVzaXplT2JzZXJ2ZXJUcmFja2luZyA9IHtcbiAgZWxlbWVudDogRWxlbWVudDtcbiAgc3ViamVjdDogU3ViamVjdDxSZXNpemVPYnNlcnZlckVudHJ5PjtcbiAgc3ViamVjdE9ic2VydmFibGU6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeT47XG59O1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gY3JlYXRlIHJ4anMgb2JzZXJ2YWJsZXMgZm9yIGNoYW5nZXMgdG8gdGhlIGNvbnRlbnQgYm94IGRpbWVuc2lvbnMgb2YgZWxlbWVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICNyZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgI3RyYWNraW5nOiBSZXNpemVPYnNlcnZlclRyYWNraW5nW10gPSBbXTtcbiAgI3pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3Rvcih6b25lOiBOZ1pvbmUpIHtcbiAgICB0aGlzLiN6b25lID0gem9uZTtcbiAgICB0aGlzLiNyZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4gdGhpcy4jY2FsbGJhY2soZW50cnkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHJ4anMgb2JzZXJ2YWJsZSB0byBnZXQgc2l6ZSBjaGFuZ2VzIGZvciBhbiBlbGVtZW50IHJlZi5cbiAgICovXG4gIHB1YmxpYyBvYnNlcnZlKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBPYnNlcnZhYmxlPFJlc2l6ZU9ic2VydmVyRW50cnk+IHtcbiAgICByZXR1cm4gdGhpcy4jb2JzZXJ2ZUFuZFRyYWNrKGVsZW1lbnQpLnN1YmplY3RPYnNlcnZhYmxlO1xuICB9XG5cbiAgI29ic2VydmVBbmRUcmFjayhlbGVtZW50OiBFbGVtZW50UmVmKTogUmVzaXplT2JzZXJ2ZXJUcmFja2luZyB7XG4gICAgY29uc3QgY2hlY2tUcmFja2luZyA9IHRoaXMuI3RyYWNraW5nLmZpbmRJbmRleCgodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiAhdmFsdWUuc3ViamVjdC5jbG9zZWQgJiYgdmFsdWUuZWxlbWVudCA9PT0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH0pO1xuXG4gICAgaWYgKGNoZWNrVHJhY2tpbmcgPT09IC0xKSB7XG4gICAgICB0aGlzLiNyZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PFJlc2l6ZU9ic2VydmVyRW50cnk+KCk7XG4gICAgY29uc3Qgc3ViamVjdE9ic2VydmFibGUgPSBzdWJqZWN0LnBpcGUoXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIC8vIEFyZSB0aGVyZSBhbnkgb3RoZXIgdHJhY2tpbmcgZW50cmllcyBzdGlsbCB3YXRjaGluZyB0aGlzIGVsZW1lbnQ/XG4gICAgICAgIGNvbnN0IGNoZWNrVHJhY2tpbmcgPSB0aGlzLiN0cmFja2luZy5maW5kSW5kZXgoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHZhbHVlLnN1YmplY3QgIT09IHN1YmplY3QgJiZcbiAgICAgICAgICAgICF2YWx1ZS5zdWJqZWN0LmNsb3NlZCAmJlxuICAgICAgICAgICAgdmFsdWUuZWxlbWVudCA9PT0gZWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGNoZWNrVHJhY2tpbmcgPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHRyYWNraW5nID0ge1xuICAgICAgZWxlbWVudDogZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgc3ViamVjdCxcbiAgICAgIHN1YmplY3RPYnNlcnZhYmxlLFxuICAgIH07XG5cbiAgICB0aGlzLiN0cmFja2luZy5wdXNoKHRyYWNraW5nKTtcblxuICAgIHJldHVybiB0cmFja2luZztcbiAgfVxuXG4gICNjYWxsYmFjayhlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeSk6IHZvaWQge1xuICAgIHRoaXMuI3RyYWNraW5nXG4gICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gISh2YWx1ZS5zdWJqZWN0LmNsb3NlZCB8fCB2YWx1ZS5zdWJqZWN0LmlzU3RvcHBlZCkpXG4gICAgICAuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgPT09IGVudHJ5LnRhcmdldCkge1xuICAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIGNhbGxiYWNrIHdpdGhpbiBOZ1pvbmUgYmVjYXVzZSBBbmd1bGFyIGRvZXMgbm90IFwibW9ua2V5IHBhdGNoXCJcbiAgICAgICAgICAvLyBSZXNpemVPYnNlcnZlciBsaWtlIGl0IGRvZXMgZm9yIG90aGVyIGZlYXR1cmVzIGluIHRoZSBET00uXG4gICAgICAgICAgdGhpcy4jem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdmFsdWUuc3ViamVjdC5uZXh0KGVudHJ5KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==