@skyux/core 8.7.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.
- package/{esm2020 → esm2022}/lib/modules/adapter-service/adapter.module.mjs +5 -5
- package/esm2022/lib/modules/adapter-service/adapter.service.mjs +225 -0
- package/esm2022/lib/modules/affix/affix.directive.mjs +116 -0
- package/{esm2020 → esm2022}/lib/modules/affix/affix.module.mjs +5 -5
- package/esm2022/lib/modules/affix/affix.service.mjs +25 -0
- package/esm2022/lib/modules/affix/affixer.mjs +398 -0
- package/esm2022/lib/modules/default-input-provider/default-input-provider.mjs +26 -0
- package/esm2022/lib/modules/dock/dock-dom-adapter.service.mjs +81 -0
- package/esm2022/lib/modules/dock/dock-item.mjs +31 -0
- package/esm2022/lib/modules/dock/dock.component.mjs +108 -0
- package/{esm2020 → esm2022}/lib/modules/dock/dock.module.mjs +5 -5
- package/esm2022/lib/modules/dock/dock.service.mjs +96 -0
- package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component.module.mjs +5 -5
- package/esm2022/lib/modules/dynamic-component/dynamic-component.service.mjs +106 -0
- package/{esm2020 → esm2022}/lib/modules/format/app-format.mjs +4 -4
- package/esm2022/lib/modules/id/id.directive.mjs +31 -0
- package/{esm2020 → esm2022}/lib/modules/id/id.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/id/id.service.mjs +4 -4
- package/esm2022/lib/modules/layout-host/layout-host.service.mjs +22 -0
- package/esm2022/lib/modules/live-announcer/live-announcer.service.mjs +79 -0
- package/{esm2020 → esm2022}/lib/modules/log/log.module.mjs +5 -5
- package/esm2022/lib/modules/log/log.service.mjs +148 -0
- package/{esm2020 → esm2022}/lib/modules/media-query/media-query.module.mjs +5 -5
- package/esm2022/lib/modules/media-query/media-query.service.mjs +123 -0
- package/{esm2020 → esm2022}/lib/modules/mutation/mutation-observer-service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/numeric/numeric.module.mjs +5 -5
- package/esm2022/lib/modules/numeric/numeric.pipe.mjs +81 -0
- package/esm2022/lib/modules/numeric/numeric.service.mjs +205 -0
- package/esm2022/lib/modules/overlay/overlay-adapter.service.mjs +44 -0
- package/esm2022/lib/modules/overlay/overlay-instance.mjs +62 -0
- package/esm2022/lib/modules/overlay/overlay.component.mjs +193 -0
- package/{esm2020 → esm2022}/lib/modules/overlay/overlay.module.mjs +5 -5
- package/esm2022/lib/modules/overlay/overlay.service.mjs +124 -0
- package/{esm2020 → esm2022}/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
- package/esm2022/lib/modules/percent-pipe/percent.pipe.mjs +56 -0
- package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +120 -0
- package/esm2022/lib/modules/resize-observer/resize-observer.service.mjs +77 -0
- package/esm2022/lib/modules/scrollable-host/scrollable-host.service.mjs +223 -0
- package/esm2022/lib/modules/shared/number-format/number-format-utility.mjs +72 -0
- package/esm2022/lib/modules/shared/sky-core-resources.module.mjs +50 -0
- package/esm2022/lib/modules/title/title.service.mjs +31 -0
- package/esm2022/lib/modules/trim/trim.directive.mjs +64 -0
- package/{esm2020 → esm2022}/lib/modules/trim/trim.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/ui-config/ui-config.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-host-options.mjs +4 -4
- package/esm2022/lib/modules/viewkeeper/viewkeeper.directive.mjs +131 -0
- package/esm2022/lib/modules/viewkeeper/viewkeeper.mjs +283 -0
- package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper.module.mjs +5 -5
- package/esm2022/lib/modules/viewkeeper/viewkeeper.service.mjs +39 -0
- package/{esm2020 → esm2022}/lib/modules/window/window-ref.mjs +4 -4
- package/esm2022/testing/core-testing.module.mjs +32 -0
- package/esm2022/testing/mock-media-query.service.mjs +46 -0
- package/{esm2020 → esm2022}/testing/mock-ui-config.service.mjs +4 -4
- package/esm2022/testing/overlay/overlay-harness.mjs +43 -0
- package/esm2022/testing/shared/component-harness.mjs +13 -0
- package/{fesm2020 → fesm2022}/skyux-core-testing.mjs +28 -34
- package/{fesm2020 → fesm2022}/skyux-core-testing.mjs.map +1 -1
- package/fesm2022/skyux-core.mjs +3858 -0
- package/fesm2022/skyux-core.mjs.map +1 -0
- package/lib/modules/affix/affix.directive.d.ts +1 -1
- package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +1 -1
- package/package.json +14 -22
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +0 -227
- package/esm2020/lib/modules/affix/affix.directive.mjs +0 -118
- package/esm2020/lib/modules/affix/affix.service.mjs +0 -28
- package/esm2020/lib/modules/affix/affixer.mjs +0 -377
- package/esm2020/lib/modules/default-input-provider/default-input-provider.mjs +0 -31
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +0 -83
- package/esm2020/lib/modules/dock/dock-item.mjs +0 -34
- package/esm2020/lib/modules/dock/dock.component.mjs +0 -110
- package/esm2020/lib/modules/dock/dock.service.mjs +0 -98
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +0 -109
- package/esm2020/lib/modules/id/id.directive.mjs +0 -34
- package/esm2020/lib/modules/layout-host/layout-host.service.mjs +0 -27
- package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +0 -80
- package/esm2020/lib/modules/log/log.service.mjs +0 -147
- package/esm2020/lib/modules/media-query/media-query.service.mjs +0 -124
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +0 -84
- package/esm2020/lib/modules/numeric/numeric.service.mjs +0 -179
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +0 -47
- package/esm2020/lib/modules/overlay/overlay-instance.mjs +0 -65
- package/esm2020/lib/modules/overlay/overlay.component.mjs +0 -192
- package/esm2020/lib/modules/overlay/overlay.service.mjs +0 -125
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +0 -59
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +0 -121
- package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +0 -79
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +0 -218
- package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +0 -72
- package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +0 -50
- package/esm2020/lib/modules/title/title.service.mjs +0 -34
- package/esm2020/lib/modules/trim/trim.directive.mjs +0 -65
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +0 -131
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +0 -276
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +0 -42
- package/esm2020/testing/core-testing.module.mjs +0 -32
- package/esm2020/testing/mock-media-query.service.mjs +0 -46
- package/esm2020/testing/overlay/overlay-harness.mjs +0 -43
- package/esm2020/testing/shared/component-harness.mjs +0 -19
- package/fesm2015/skyux-core-testing.mjs +0 -209
- package/fesm2015/skyux-core-testing.mjs.map +0 -1
- package/fesm2015/skyux-core.mjs +0 -3835
- package/fesm2015/skyux-core.mjs.map +0 -1
- package/fesm2020/skyux-core.mjs +0 -3825
- package/fesm2020/skyux-core.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/adapter-service/focusable-children-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-auto-fit-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-horizontal-alignment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-position.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-rect.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/affix-vertical-alignment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/affix/dom-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/dock-insert-component-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-reference.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/dock-location.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/dock-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dock/sort-by-stack-order.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-location.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/layout-host/layout-host-for-child-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-politeness.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/log/types/log-deprecation-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/log/types/log-level-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/log/types/log-level.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/media-query/media-breakpoints.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/media-query/media-query-listener.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/numeric/numeric-symbol.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/numeric/numeric.options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-position.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/title/set-title-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-offset.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-options.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-core.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/overlay/overlay-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/shared/harness-filters.mjs +0 -0
- /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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFMUQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjthQUNiLGFBQVEsR0FBeUIsRUFBRSxBQUEzQixDQUE0QjtJQUVuRCxRQUFRLENBQTJCO0lBRW5DLGVBQWUsQ0FBaUI7SUFFaEMseUJBQXlCLENBQTJCO0lBRXBELFNBQVMsQ0FBVztJQUVwQix1REFBdUQ7SUFDdkQsWUFDRSxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsUUFBa0IsRUFDbEIsT0FBaUM7UUFFakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsTUFBeUI7UUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUNwQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFaEUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdCLHdFQUF3RTtZQUN4RSxzR0FBc0c7WUFDdEcsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsUUFBNEI7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMseUZBQXlGO1FBQ3pGLDJGQUEyRjtRQUMzRixnQ0FBZ0M7UUFDaEMsMkRBQTJEO1FBQzNELGtHQUFrRztRQUNsRyxpRkFBaUY7UUFDakYsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDdEUsd0JBQXdCO1FBQ3hCLElBQUksZ0JBQWdCLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUN4QyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2Isd0ZBQXdGO1FBQ3hGLDRDQUE0QztRQUM1QyxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXdCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMseUJBQXlCO2FBQ2hELHVCQUF1QixDQUFDLG1CQUFtQixDQUFDO2FBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkQsTUFBTSxPQUFPLEdBQUksWUFBWSxDQUFDLFFBQWlDO2FBQzVELFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFFL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUEyQixFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFxQjtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLE9BQU8sRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlLENBQUMsUUFBNEI7UUFDMUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDL0IsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDNUMsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMxQyw2RUFBNkU7WUFDN0UsTUFBTSw0QkFBNEIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDOUIsQ0FBQztZQUNGLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQ25DO1NBQ0Y7SUFDSCxDQUFDOzhHQXpJVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9vdmVybGF5LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcbmltcG9ydCB7IFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJy4vb3ZlcmxheS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVybGF5LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gY3JlYXRlIG5ldyBvdmVybGF5cy5cbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5U2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGljIG92ZXJsYXlzOiBTa3lPdmVybGF5SW5zdGFuY2VbXSA9IFtdO1xuXG4gICNhZGFwdGVyOiBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2U7XG5cbiAgI2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZjtcblxuICAjY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAvLyBUT0RPOiBSZXBsYWNlIGRlcHJlY2F0ZWQgYENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcmAuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgYWRhcHRlcjogU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBvdmVybGF5LiBVc2UgdGhlIHJldHVybmVkIGBTa3lPdmVybGF5SW5zdGFuY2VgIHRvIGFwcGVuZCBjb250ZW50LlxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBvdmVybGF5LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZShjb25maWc/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
|
-
|
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,
|
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==
|