@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
@@ -1,47 +0,0 @@
|
|
1
|
-
var _SkyOverlayAdapterService_instances, _SkyOverlayAdapterService_renderer, _SkyOverlayAdapterService_styleElement, _SkyOverlayAdapterService_destroyStyleElement;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { Injectable } from '@angular/core';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
/**
|
6
|
-
* @internal
|
7
|
-
*/
|
8
|
-
export class SkyOverlayAdapterService {
|
9
|
-
constructor(rendererFactory) {
|
10
|
-
_SkyOverlayAdapterService_instances.add(this);
|
11
|
-
_SkyOverlayAdapterService_renderer.set(this, void 0);
|
12
|
-
_SkyOverlayAdapterService_styleElement.set(this, void 0);
|
13
|
-
__classPrivateFieldSet(this, _SkyOverlayAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
14
|
-
}
|
15
|
-
restrictBodyScroll() {
|
16
|
-
// Create a style element to avoid overwriting any existing inline body styles.
|
17
|
-
const styleElement = __classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").createElement('style');
|
18
|
-
const textNode = __classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").createText('body { overflow: hidden }');
|
19
|
-
// Apply a `data-` attribute to make unit testing easier.
|
20
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").setAttribute(styleElement, 'data-test-selector', 'sky-overlay-restrict-scroll-styles');
|
21
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").appendChild(styleElement, textNode);
|
22
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").appendChild(document.head, styleElement);
|
23
|
-
if (__classPrivateFieldGet(this, _SkyOverlayAdapterService_styleElement, "f")) {
|
24
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_instances, "m", _SkyOverlayAdapterService_destroyStyleElement).call(this);
|
25
|
-
}
|
26
|
-
__classPrivateFieldSet(this, _SkyOverlayAdapterService_styleElement, styleElement, "f");
|
27
|
-
}
|
28
|
-
releaseBodyScroll() {
|
29
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_instances, "m", _SkyOverlayAdapterService_destroyStyleElement).call(this);
|
30
|
-
}
|
31
|
-
}
|
32
|
-
_SkyOverlayAdapterService_renderer = new WeakMap(), _SkyOverlayAdapterService_styleElement = new WeakMap(), _SkyOverlayAdapterService_instances = new WeakSet(), _SkyOverlayAdapterService_destroyStyleElement = function _SkyOverlayAdapterService_destroyStyleElement() {
|
33
|
-
/* istanbul ignore else */
|
34
|
-
if (__classPrivateFieldGet(this, _SkyOverlayAdapterService_styleElement, "f") &&
|
35
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_styleElement, "f").parentElement === document.head) {
|
36
|
-
__classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").removeChild(document.head, __classPrivateFieldGet(this, _SkyOverlayAdapterService_styleElement, "f"));
|
37
|
-
}
|
38
|
-
};
|
39
|
-
SkyOverlayAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
40
|
-
SkyOverlayAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' });
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
|
42
|
-
type: Injectable,
|
43
|
-
args: [{
|
44
|
-
providedIn: 'root',
|
45
|
-
}]
|
46
|
-
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStCLE1BQU0sZUFBZSxDQUFDOztBQUV4RTs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFLbkMsWUFBWSxlQUFpQzs7UUFKN0MscURBQXFCO1FBRXJCLHlEQUE0QztRQUcxQyx1QkFBQSxJQUFJLHNDQUFhLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDbkUsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QiwrRUFBK0U7UUFDL0UsTUFBTSxZQUFZLEdBQUcsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLDBDQUFVLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFeEUseURBQXlEO1FBQ3pELHVCQUFBLElBQUksMENBQVUsQ0FBQyxZQUFZLENBQ3pCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsb0NBQW9DLENBQ3JDLENBQUM7UUFFRix1QkFBQSxJQUFJLDBDQUFVLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRCx1QkFBQSxJQUFJLDBDQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFeEQsSUFBSSx1QkFBQSxJQUFJLDhDQUFjLEVBQUU7WUFDdEIsdUJBQUEsSUFBSSwwRkFBcUIsTUFBekIsSUFBSSxDQUF1QixDQUFDO1NBQzdCO1FBRUQsdUJBQUEsSUFBSSwwQ0FBaUIsWUFBWSxNQUFBLENBQUM7SUFDcEMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0Qix1QkFBQSxJQUFJLDBGQUFxQixNQUF6QixJQUFJLENBQXVCLENBQUM7SUFDOUIsQ0FBQzs7O0lBR0MsMEJBQTBCO0lBQzFCLElBQ0UsdUJBQUEsSUFBSSw4Q0FBYztRQUNsQix1QkFBQSxJQUFJLDhDQUFjLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQ2xEO1FBQ0EsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLHVCQUFBLElBQUksOENBQWMsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQztxSEEzQ1Usd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICAjc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgcmVzdHJpY3RCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBhIHN0eWxlIGVsZW1lbnQgdG8gYXZvaWQgb3ZlcndyaXRpbmcgYW55IGV4aXN0aW5nIGlubGluZSBib2R5IHN0eWxlcy5cbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLiNyZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIGNvbnN0IHRleHROb2RlID0gdGhpcy4jcmVuZGVyZXIuY3JlYXRlVGV4dCgnYm9keSB7IG92ZXJmbG93OiBoaWRkZW4gfScpO1xuXG4gICAgLy8gQXBwbHkgYSBgZGF0YS1gIGF0dHJpYnV0ZSB0byBtYWtlIHVuaXQgdGVzdGluZyBlYXNpZXIuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgc3R5bGVFbGVtZW50LFxuICAgICAgJ2RhdGEtdGVzdC1zZWxlY3RvcicsXG4gICAgICAnc2t5LW92ZXJsYXktcmVzdHJpY3Qtc2Nyb2xsLXN0eWxlcydcbiAgICApO1xuXG4gICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50LCB0ZXh0Tm9kZSk7XG4gICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuaGVhZCwgc3R5bGVFbGVtZW50KTtcblxuICAgIGlmICh0aGlzLiNzdHlsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI2Rlc3Ryb3lTdHlsZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNzdHlsZUVsZW1lbnQgPSBzdHlsZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZUJvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveVN0eWxlRWxlbWVudCgpO1xuICB9XG5cbiAgI2Rlc3Ryb3lTdHlsZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoXG4gICAgICB0aGlzLiNzdHlsZUVsZW1lbnQgJiZcbiAgICAgIHRoaXMuI3N0eWxlRWxlbWVudC5wYXJlbnRFbGVtZW50ID09PSBkb2N1bWVudC5oZWFkXG4gICAgKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLiNzdHlsZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,65 +0,0 @@
|
|
1
|
-
var _SkyOverlayInstance_backdropClick, _SkyOverlayInstance_backdropClickObs, _SkyOverlayInstance_closed, _SkyOverlayInstance_closedObs;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { Subject } from 'rxjs';
|
4
|
-
/**
|
5
|
-
* Represents a new overlay instance. It is used to manage the "closed" state of the overlay,
|
6
|
-
* and access any public members on the appended content component instance.
|
7
|
-
*/
|
8
|
-
export class SkyOverlayInstance {
|
9
|
-
/**
|
10
|
-
* Emits when the overlay is clicked (but not its content).
|
11
|
-
*/
|
12
|
-
get backdropClick() {
|
13
|
-
return __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClickObs, "f");
|
14
|
-
}
|
15
|
-
/**
|
16
|
-
* Emits after the overlay is closed.
|
17
|
-
*/
|
18
|
-
get closed() {
|
19
|
-
return __classPrivateFieldGet(this, _SkyOverlayInstance_closedObs, "f");
|
20
|
-
}
|
21
|
-
constructor(
|
22
|
-
/**
|
23
|
-
* The configuration for the overlay.
|
24
|
-
*/
|
25
|
-
config, componentRef) {
|
26
|
-
this.config = config;
|
27
|
-
this.componentRef = componentRef;
|
28
|
-
_SkyOverlayInstance_backdropClick.set(this, void 0);
|
29
|
-
_SkyOverlayInstance_backdropClickObs.set(this, void 0);
|
30
|
-
_SkyOverlayInstance_closed.set(this, void 0);
|
31
|
-
_SkyOverlayInstance_closedObs.set(this, void 0);
|
32
|
-
this.id = this.componentRef.instance.id;
|
33
|
-
this.componentRef.instance.closed.subscribe(() => {
|
34
|
-
__classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").next();
|
35
|
-
__classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").complete();
|
36
|
-
__classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").complete();
|
37
|
-
});
|
38
|
-
this.componentRef.instance.backdropClick.subscribe(() => {
|
39
|
-
__classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").next();
|
40
|
-
});
|
41
|
-
__classPrivateFieldSet(this, _SkyOverlayInstance_backdropClick, new Subject(), "f");
|
42
|
-
__classPrivateFieldSet(this, _SkyOverlayInstance_closed, new Subject(), "f");
|
43
|
-
__classPrivateFieldSet(this, _SkyOverlayInstance_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").asObservable(), "f");
|
44
|
-
__classPrivateFieldSet(this, _SkyOverlayInstance_closedObs, __classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").asObservable(), "f");
|
45
|
-
}
|
46
|
-
/**
|
47
|
-
* Creates and attaches a component to the overlay.
|
48
|
-
* @param component The component to attach.
|
49
|
-
* @param providers Custom providers to apply to the component.
|
50
|
-
*/
|
51
|
-
attachComponent(component, providers) {
|
52
|
-
const componentRef = this.componentRef.instance.attachComponent(component, providers);
|
53
|
-
return componentRef.instance;
|
54
|
-
}
|
55
|
-
/**
|
56
|
-
* Attaches a `TemplateRef` to the overlay.
|
57
|
-
* @param templateRef The `TemplateRef` to attach.
|
58
|
-
* @param context The context to provide to the template.
|
59
|
-
*/
|
60
|
-
attachTemplate(templateRef, context) {
|
61
|
-
this.componentRef.instance.attachTemplate(templateRef, context);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
_SkyOverlayInstance_backdropClick = new WeakMap(), _SkyOverlayInstance_backdropClickObs = new WeakMap(), _SkyOverlayInstance_closed = new WeakMap(), _SkyOverlayInstance_closedObs = new WeakMap();
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDdEIsT0FBTyx1QkFBQSxJQUFJLDRDQUFrQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSxxQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFZRDtJQUNFOztPQUVHO0lBQ2EsTUFBd0IsRUFDeEIsWUFBK0M7UUFEL0MsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQW1DO1FBYmpFLG9EQUE4QjtRQUU5Qix1REFBb0M7UUFFcEMsNkNBQXVCO1FBRXZCLGdEQUE2QjtRQVMzQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUV4QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyx1QkFBQSxJQUFJLGtDQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsdUJBQUEsSUFBSSxrQ0FBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLHVCQUFBLElBQUkseUNBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELHVCQUFBLElBQUkseUNBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILHVCQUFBLElBQUkscUNBQWtCLElBQUksT0FBTyxFQUFRLE1BQUEsQ0FBQztRQUMxQyx1QkFBQSxJQUFJLDhCQUFXLElBQUksT0FBTyxFQUFRLE1BQUEsQ0FBQztRQUVuQyx1QkFBQSxJQUFJLHdDQUFxQix1QkFBQSxJQUFJLHlDQUFlLENBQUMsWUFBWSxFQUFFLE1BQUEsQ0FBQztRQUM1RCx1QkFBQSxJQUFJLGlDQUFjLHVCQUFBLElBQUksa0NBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUE0QjtRQUU1QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzdELFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBSSxXQUEyQixFQUFFLE9BQVc7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV3IG92ZXJsYXkgaW5zdGFuY2UuIEl0IGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBcImNsb3NlZFwiIHN0YXRlIG9mIHRoZSBvdmVybGF5LFxuICogYW5kIGFjY2VzcyBhbnkgcHVibGljIG1lbWJlcnMgb24gdGhlIGFwcGVuZGVkIGNvbnRlbnQgY29tcG9uZW50IGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG92ZXJsYXkgaXMgY2xpY2tlZCAoYnV0IG5vdCBpdHMgY29udGVudCkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgY2xvc2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjbG9zZWQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2Nsb3NlZE9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD5cbiAgKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmlkO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5iYWNrZHJvcENsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrT2JzID0gdGhpcy4jYmFja2Ryb3BDbGljay5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYSBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBhdHRhY2guXG4gICAqIEBwYXJhbSBwcm92aWRlcnMgQ3VzdG9tIHByb3ZpZGVycyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXVxuICApOiBDIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hdHRhY2hDb21wb25lbnQoXG4gICAgICBjb21wb25lbnQsXG4gICAgICBwcm92aWRlcnNcbiAgICApO1xuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBgVGVtcGxhdGVSZWZgIHRvIHRoZSBvdmVybGF5LlxuICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgVGhlIGBUZW1wbGF0ZVJlZmAgdG8gYXR0YWNoLlxuICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCB0byBwcm92aWRlIHRvIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIGNvbnRleHQ/OiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXR0YWNoVGVtcGxhdGUodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICB9XG59XG4iXX0=
|
@@ -1,192 +0,0 @@
|
|
1
|
-
var _SkyOverlayComponent_instances, _SkyOverlayComponent_backdropClick, _SkyOverlayComponent_backdropClickObs, _SkyOverlayComponent_changeDetector, _SkyOverlayComponent_closed, _SkyOverlayComponent_closedObs, _SkyOverlayComponent_context, _SkyOverlayComponent_coreAdapter, _SkyOverlayComponent_injector, _SkyOverlayComponent_ngUnsubscribe, _SkyOverlayComponent_router, _SkyOverlayComponent_routerSubscription, _SkyOverlayComponent_applyConfig, _SkyOverlayComponent_addBackdropClickListener, _SkyOverlayComponent_addRouteListener, _SkyOverlayComponent_removeRouteListener;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
4
|
-
import { NavigationStart } from '@angular/router';
|
5
|
-
import { BehaviorSubject, ReplaySubject, Subject, fromEvent, } from 'rxjs';
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
7
|
-
import { SKY_STACKING_CONTEXT } from '../stacking-context/stacking-context-token';
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "../adapter-service/adapter.service";
|
10
|
-
import * as i2 from "./overlay-context";
|
11
|
-
import * as i3 from "../id/id.service";
|
12
|
-
import * as i4 from "@angular/router";
|
13
|
-
import * as i5 from "@angular/common";
|
14
|
-
const POSITION_DEFAULT = 'fixed';
|
15
|
-
/**
|
16
|
-
* Omnibar is 1000.
|
17
|
-
* See: https://github.com/blackbaud/auth-client/blob/master/src/omnibar/omnibar.ts#L139
|
18
|
-
* ---
|
19
|
-
* Modals start their z-indexes at 1040. However, each modal's z-index is a multiple of 10, so it
|
20
|
-
* will be difficult to reliably predict a z-index that will always appear above all other
|
21
|
-
* layers. Starting the z-index for overlays at a number much greater than modals will accommodate
|
22
|
-
* the most reasonable of scenarios.
|
23
|
-
* See: https://github.com/blackbaud/skyux-modals/blob/master/src/app/public/modules/modal/modal-host.service.ts#L22
|
24
|
-
* (NOTE: It should be noted that modals do not use the overlay service, which is something we
|
25
|
-
* should do in the near future to make sure z-indexes are predictable across all component
|
26
|
-
* libraries.)
|
27
|
-
*/
|
28
|
-
let uniqueZIndex = 5000;
|
29
|
-
/**
|
30
|
-
* @internal
|
31
|
-
*/
|
32
|
-
export class SkyOverlayComponent {
|
33
|
-
get backdropClick() {
|
34
|
-
return __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClickObs, "f");
|
35
|
-
}
|
36
|
-
get closed() {
|
37
|
-
return __classPrivateFieldGet(this, _SkyOverlayComponent_closedObs, "f");
|
38
|
-
}
|
39
|
-
constructor(changeDetector, injector, coreAdapter, context, idSvc, router) {
|
40
|
-
_SkyOverlayComponent_instances.add(this);
|
41
|
-
this.wrapperClass = '';
|
42
|
-
this.enablePointerEvents = false;
|
43
|
-
this.showBackdrop = false;
|
44
|
-
this.zIndex = `${++uniqueZIndex}`;
|
45
|
-
this.clipPath$ = new ReplaySubject(1);
|
46
|
-
this.position = POSITION_DEFAULT;
|
47
|
-
_SkyOverlayComponent_backdropClick.set(this, void 0);
|
48
|
-
_SkyOverlayComponent_backdropClickObs.set(this, void 0);
|
49
|
-
_SkyOverlayComponent_changeDetector.set(this, void 0);
|
50
|
-
_SkyOverlayComponent_closed.set(this, void 0);
|
51
|
-
_SkyOverlayComponent_closedObs.set(this, void 0);
|
52
|
-
_SkyOverlayComponent_context.set(this, void 0);
|
53
|
-
_SkyOverlayComponent_coreAdapter.set(this, void 0);
|
54
|
-
_SkyOverlayComponent_injector.set(this, void 0);
|
55
|
-
_SkyOverlayComponent_ngUnsubscribe.set(this, new Subject());
|
56
|
-
_SkyOverlayComponent_router.set(this, void 0);
|
57
|
-
_SkyOverlayComponent_routerSubscription.set(this, void 0);
|
58
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_changeDetector, changeDetector, "f");
|
59
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_injector, injector, "f");
|
60
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_coreAdapter, coreAdapter, "f");
|
61
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_context, context, "f");
|
62
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_router, router, "f");
|
63
|
-
this.id = idSvc.generateId();
|
64
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_backdropClick, new Subject(), "f");
|
65
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_closed, new Subject(), "f");
|
66
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").asObservable(), "f");
|
67
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_closedObs, __classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").asObservable(), "f");
|
68
|
-
}
|
69
|
-
ngOnInit() {
|
70
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_applyConfig).call(this, __classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config);
|
71
|
-
setTimeout(() => {
|
72
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_addBackdropClickListener).call(this);
|
73
|
-
});
|
74
|
-
if (__classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config.closeOnNavigation) {
|
75
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_addRouteListener).call(this);
|
76
|
-
}
|
77
|
-
}
|
78
|
-
ngOnDestroy() {
|
79
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_removeRouteListener).call(this);
|
80
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f").next();
|
81
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f").complete();
|
82
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").complete();
|
83
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
84
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").complete();
|
85
|
-
}
|
86
|
-
attachComponent(component, providers = []) {
|
87
|
-
/*istanbul ignore if: untestable*/
|
88
|
-
if (!this.targetRef) {
|
89
|
-
throw new Error('[SkyOverlayComponent] Could not attach the component because the target element could not be found.');
|
90
|
-
}
|
91
|
-
this.targetRef.clear();
|
92
|
-
const injector = Injector.create({
|
93
|
-
providers: [
|
94
|
-
{
|
95
|
-
provide: SKY_STACKING_CONTEXT,
|
96
|
-
useValue: {
|
97
|
-
zIndex: new BehaviorSubject(parseInt(this.zIndex, 10))
|
98
|
-
.asObservable()
|
99
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f"))),
|
100
|
-
},
|
101
|
-
},
|
102
|
-
...providers,
|
103
|
-
],
|
104
|
-
parent: __classPrivateFieldGet(this, _SkyOverlayComponent_injector, "f"),
|
105
|
-
});
|
106
|
-
const componentRef = this.targetRef.createComponent(component, {
|
107
|
-
injector,
|
108
|
-
});
|
109
|
-
// Run an initial change detection cycle after the component has been created.
|
110
|
-
componentRef.changeDetectorRef.detectChanges();
|
111
|
-
return componentRef;
|
112
|
-
}
|
113
|
-
attachTemplate(templateRef, context) {
|
114
|
-
/*istanbul ignore if: untestable*/
|
115
|
-
if (!this.targetRef) {
|
116
|
-
throw new Error('[SkyOverlayComponent] Could not attach the template because the target element could not be found.');
|
117
|
-
}
|
118
|
-
this.targetRef.clear();
|
119
|
-
return this.targetRef.createEmbeddedView(templateRef, context);
|
120
|
-
}
|
121
|
-
updateClipPath(clipPath) {
|
122
|
-
this.clipPath$.next(clipPath);
|
123
|
-
}
|
124
|
-
}
|
125
|
-
_SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdropClickObs = new WeakMap(), _SkyOverlayComponent_changeDetector = new WeakMap(), _SkyOverlayComponent_closed = new WeakMap(), _SkyOverlayComponent_closedObs = new WeakMap(), _SkyOverlayComponent_context = new WeakMap(), _SkyOverlayComponent_coreAdapter = new WeakMap(), _SkyOverlayComponent_injector = new WeakMap(), _SkyOverlayComponent_ngUnsubscribe = new WeakMap(), _SkyOverlayComponent_router = new WeakMap(), _SkyOverlayComponent_routerSubscription = new WeakMap(), _SkyOverlayComponent_instances = new WeakSet(), _SkyOverlayComponent_applyConfig = function _SkyOverlayComponent_applyConfig(config) {
|
126
|
-
this.wrapperClass = config.wrapperClass || '';
|
127
|
-
this.showBackdrop = !!config.showBackdrop;
|
128
|
-
this.enablePointerEvents = !!config.enablePointerEvents;
|
129
|
-
this.position = config.position || POSITION_DEFAULT;
|
130
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_changeDetector, "f").markForCheck();
|
131
|
-
}, _SkyOverlayComponent_addBackdropClickListener = function _SkyOverlayComponent_addBackdropClickListener() {
|
132
|
-
fromEvent(window.document, 'click')
|
133
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f")))
|
134
|
-
.subscribe((event) => {
|
135
|
-
if (event.target && this.overlayContentRef && this.overlayRef) {
|
136
|
-
const isChild = this.overlayContentRef.nativeElement.contains(event.target);
|
137
|
-
const isAbove = __classPrivateFieldGet(this, _SkyOverlayComponent_coreAdapter, "f").isTargetAboveElement(event.target, this.overlayRef.nativeElement);
|
138
|
-
/* istanbul ignore else */
|
139
|
-
if (!isChild && !isAbove) {
|
140
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").next();
|
141
|
-
if (__classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config.enableClose) {
|
142
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
143
|
-
}
|
144
|
-
}
|
145
|
-
}
|
146
|
-
});
|
147
|
-
}, _SkyOverlayComponent_addRouteListener = function _SkyOverlayComponent_addRouteListener() {
|
148
|
-
/*istanbul ignore else*/
|
149
|
-
if (__classPrivateFieldGet(this, _SkyOverlayComponent_router, "f")) {
|
150
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, __classPrivateFieldGet(this, _SkyOverlayComponent_router, "f").events.subscribe((event) => {
|
151
|
-
/* istanbul ignore else */
|
152
|
-
if (event instanceof NavigationStart) {
|
153
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
154
|
-
}
|
155
|
-
}), "f");
|
156
|
-
}
|
157
|
-
}, _SkyOverlayComponent_removeRouteListener = function _SkyOverlayComponent_removeRouteListener() {
|
158
|
-
if (__classPrivateFieldGet(this, _SkyOverlayComponent_routerSubscription, "f")) {
|
159
|
-
__classPrivateFieldGet(this, _SkyOverlayComponent_routerSubscription, "f").unsubscribe();
|
160
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, undefined, "f");
|
161
|
-
}
|
162
|
-
};
|
163
|
-
SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
164
|
-
SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayComponent, decorators: [{
|
166
|
-
type: Component,
|
167
|
-
args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
|
168
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyOverlayContext }, { type: i3.SkyIdService }, { type: i4.Router, decorators: [{
|
169
|
-
type: Optional
|
170
|
-
}] }]; }, propDecorators: { id: [{
|
171
|
-
type: HostBinding,
|
172
|
-
args: ['id']
|
173
|
-
}], overlayContentRef: [{
|
174
|
-
type: ViewChild,
|
175
|
-
args: ['overlayContentRef', {
|
176
|
-
read: ElementRef,
|
177
|
-
static: true,
|
178
|
-
}]
|
179
|
-
}], overlayRef: [{
|
180
|
-
type: ViewChild,
|
181
|
-
args: ['overlayRef', {
|
182
|
-
read: ElementRef,
|
183
|
-
static: true,
|
184
|
-
}]
|
185
|
-
}], targetRef: [{
|
186
|
-
type: ViewChild,
|
187
|
-
args: ['target', {
|
188
|
-
read: ViewContainerRef,
|
189
|
-
static: true,
|
190
|
-
}]
|
191
|
-
}] } });
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBRVYsV0FBVyxFQUNYLFFBQVEsRUFHUixRQUFRLEVBSVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBQ2IsT0FBTyxFQUVQLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQU1sRixNQUFNLGdCQUFnQixHQUF1QixPQUFPLENBQUM7QUFFckQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRXhCOztHQUVHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixJQUFXLGFBQWE7UUFDdEIsT0FBTyx1QkFBQSxJQUFJLDZDQUFrQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksc0NBQVcsQ0FBQztJQUN6QixDQUFDO0lBdURELFlBQ0UsY0FBaUMsRUFDakMsUUFBa0IsRUFDbEIsV0FBa0MsRUFDbEMsT0FBMEIsRUFD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Q0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxNQUFBLENBQUM7S0FDSjtBQUNILENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksK0NBQW9CLEVBQUU7UUFDNUIsdUJBQUEsSUFBSSwrQ0FBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2Qyx1QkFBQSxJQUFJLDJDQUF1QixTQUFTLE1BQUEsQ0FBQztLQUN0QztBQUNILENBQUM7Z0hBMU5VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlNQXlCdEIsVUFBVSxpSEFNVixVQUFVLDRHQU1WLGdCQUFnQiwyQ0NyRzFCLHNkQWVBOzJGRGlEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkF3RTVDLFFBQVE7NENBeERKLEVBQUU7c0JBRFIsV0FBVzt1QkFBQyxJQUFJO2dCQWVWLGlCQUFpQjtzQkFKdkIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRTt3QkFDOUIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLFVBQVU7c0JBSmhCLFNBQVM7dUJBQUMsWUFBWSxFQUFFO3dCQUN2QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sU0FBUztzQkFKZixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTdGF0aWNQcm92aWRlcixcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBmcm9tRXZlbnQsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4uL2lkL2lkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX1NUQUNLSU5HX0NPTlRFWFQgfSBmcm9tICcuLi9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQtdG9rZW4nO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcbmltcG9ydCB7IFNreU92ZXJsYXlQb3NpdGlvbiB9IGZyb20gJy4vb3ZlcmxheS1wb3NpdGlvbic7XG5cbmNvbnN0IFBPU0lUSU9OX0RFRkFVTFQ6IFNreU92ZXJsYXlQb3NpdGlvbiA9ICdmaXhlZCc7XG5cbi8qKlxuICogT21uaWJhciBpcyAxMDAwLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL2F1dGgtY2xpZW50L2Jsb2IvbWFzdGVyL3NyYy9vbW5pYmFyL29tbmliYXIudHMjTDEzOVxuICogLS0tXG4gKiBNb2RhbHMgc3RhcnQgdGhlaXIgei1pbmRleGVzIGF0IDEwNDAuIEhvd2V2ZXIsIGVhY2ggbW9kYWwncyB6LWluZGV4IGlzIGEgbXVsdGlwbGUgb2YgMTAsIHNvIGl0XG4gKiB3aWxsIGJlIGRpZmZpY3VsdCB0byByZWxpYWJseSBwcmVkaWN0IGEgei1pbmRleCB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBhYm92ZSBhbGwgb3RoZXJcbiAqIGxheWVycy4gU3RhcnRpbmcgdGhlIHotaW5kZXggZm9yIG92ZXJsYXlzIGF0IGEgbnVtYmVyIG11Y2ggZ3JlYXRlciB0aGFuIG1vZGFscyB3aWxsIGFjY29tbW9kYXRlXG4gKiB0aGUgbW9zdCByZWFzb25hYmxlIG9mIHNjZW5hcmlvcy5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9za3l1eC1tb2RhbHMvYmxvYi9tYXN0ZXIvc3JjL2FwcC9wdWJsaWMvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LnNlcnZpY2UudHMjTDIyXG4gKiAoTk9URTogSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgbW9kYWxzIGRvIG5vdCB1c2UgdGhlIG92ZXJsYXkgc2VydmljZSwgd2hpY2ggaXMgc29tZXRoaW5nIHdlXG4gKiBzaG91bGQgZG8gaW4gdGhlIG5lYXIgZnV0dXJlIHRvIG1ha2Ugc3VyZSB6LWluZGV4ZXMgYXJlIHByZWRpY3RhYmxlIGFjcm9zcyBhbGwgY29tcG9uZW50XG4gKiBsaWJyYXJpZXMuKVxuICovXG5sZXQgdW5pcXVlWkluZGV4ID0gNTAwMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3MgPSAnJztcblxuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xvc2VkT2JzO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVBvaW50ZXJFdmVudHMgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dCYWNrZHJvcCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB6SW5kZXggPSBgJHsrK3VuaXF1ZVpJbmRleH1gO1xuXG4gIHByb3RlY3RlZCBjbGlwUGF0aCQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KDEpO1xuXG4gIHByb3RlY3RlZCBwb3NpdGlvbiA9IFBPU0lUSU9OX0RFRkFVTFQ7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRlbnRSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBvdmVybGF5Q29udGVudFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdvdmVybGF5UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgb3ZlcmxheVJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXRSZWY6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2JhY2tkcm9wQ2xpY2s6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JhY2tkcm9wQ2xpY2tPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY2xvc2VkOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNjbG9zZWRPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0O1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNyb3V0ZXI6IFJvdXRlciB8IHVuZGVmaW5lZDtcblxuICAjcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0LFxuICAgIGlkU3ZjOiBTa3lJZFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyPzogUm91dGVyXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI2NvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcblxuICAgIHRoaXMuaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNjbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGlja09icyA9IHRoaXMuI2JhY2tkcm9wQ2xpY2suYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jY2xvc2VkT2JzID0gdGhpcy4jY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FwcGx5Q29uZmlnKHRoaXMuI2NvbnRleHQuY29uZmlnKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuY2xvc2VPbk5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMuI2FkZFJvdXRlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlUm91dGVMaXN0ZW5lcigpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXVxuICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdbU2t5T3ZlcmxheUNvbXBvbmVudF0gQ291bGQgbm90IGF0dGFjaCB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNLWV9TVEFDS0lOR19DT05URVhULFxuICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICB6SW5kZXg6IG5ldyBCZWhhdmlvclN1YmplY3QocGFyc2VJbnQodGhpcy56SW5kZXgsIDEwKSlcbiAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldFJlZi5jcmVhdGVDb21wb25lbnQ8Qz4oY29tcG9uZW50LCB7XG4gICAgICBpbmplY3RvcixcbiAgICB9KTtcblxuICAgIC8vIFJ1biBhbiBpbml0aWFsIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlPFQ+KFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb250ZXh0OiBUXG4gICk6IEVtYmVkZGVkVmlld1JlZjxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1tTa3lPdmVybGF5Q29tcG9uZW50XSBDb3VsZCBub3QgYXR0YWNoIHRoZSB0ZW1wbGF0ZSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2xpcFBhdGgoY2xpcFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuY2xpcFBhdGgkLm5leHQoY2xpcFBhdGgpO1xuICB9XG5cbiAgI2FwcGx5Q29uZmlnKGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMud3JhcHBlckNsYXNzID0gY29uZmlnLndyYXBwZXJDbGFzcyB8fCAnJztcbiAgICB0aGlzLnNob3dCYWNrZHJvcCA9ICEhY29uZmlnLnNob3dCYWNrZHJvcDtcbiAgICB0aGlzLmVuYWJsZVBvaW50ZXJFdmVudHMgPSAhIWNvbmZpZy5lbmFibGVQb2ludGVyRXZlbnRzO1xuICAgIHRoaXMucG9zaXRpb24gPSBjb25maWcucG9zaXRpb24gfHwgUE9TSVRJT05fREVGQVVMVDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNhZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdy5kb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgJiYgdGhpcy5vdmVybGF5Q29udGVudFJlZiAmJiB0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICBjb25zdCBpc0NoaWxkID0gdGhpcy5vdmVybGF5Q29udGVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPSB0aGlzLiNjb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0NoaWxkICYmICFpc0Fib3ZlKSB7XG4gICAgICAgICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLiNjb250ZXh0LmNvbmZpZy5lbmFibGVDbG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjYWRkUm91dGVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcm91dGVyKSB7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLiNyb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZVJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCInc2t5LW92ZXJsYXktcG9zaXRpb24tJyArIHBvc2l0aW9uICsgJyAnICsgd3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCJcbiAgW3N0eWxlLmNsaXAtcGF0aF09XCJjbGlwUGF0aCQgfCBhc3luY1wiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZW5hYmxlLXBvaW50ZXItZXZlbnRzLXBhc3MtdGhyb3VnaCc6IGVuYWJsZVBvaW50ZXJFdmVudHMsXG4gICAgJ3NreS1vdmVybGF5JzogdHJ1ZVxuICB9XCJcbiAgI292ZXJsYXlSZWZcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1vdmVybGF5LWNvbnRlbnRcIiAjb3ZlcmxheUNvbnRlbnRSZWY+XG4gICAgPG5nLXRlbXBsYXRlICN0YXJnZXQ+IDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tkcm9wXCIgY2xhc3M9XCJza3ktb3ZlcmxheS1iYWNrZHJvcFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -1,125 +0,0 @@
|
|
1
|
-
var _SkyOverlayService_instances, _SkyOverlayService_adapter, _SkyOverlayService_applicationRef, _SkyOverlayService_componentFactoryResolver, _SkyOverlayService_injector, _SkyOverlayService_createOverlay, _SkyOverlayService_prepareConfig, _SkyOverlayService_destroyOverlay;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { Injectable, Injector, } from '@angular/core';
|
4
|
-
import { SkyOverlayContext } from './overlay-context';
|
5
|
-
import { SkyOverlayInstance } from './overlay-instance';
|
6
|
-
import { SkyOverlayComponent } from './overlay.component';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "./overlay-adapter.service";
|
9
|
-
/**
|
10
|
-
* This service is used to create new overlays.
|
11
|
-
* @dynamic
|
12
|
-
*/
|
13
|
-
export class SkyOverlayService {
|
14
|
-
// TODO: Replace deprecated `ComponentFactoryResolver`.
|
15
|
-
constructor(applicationRef, componentFactoryResolver, injector, adapter) {
|
16
|
-
_SkyOverlayService_instances.add(this);
|
17
|
-
_SkyOverlayService_adapter.set(this, void 0);
|
18
|
-
_SkyOverlayService_applicationRef.set(this, void 0);
|
19
|
-
_SkyOverlayService_componentFactoryResolver.set(this, void 0);
|
20
|
-
_SkyOverlayService_injector.set(this, void 0);
|
21
|
-
__classPrivateFieldSet(this, _SkyOverlayService_applicationRef, applicationRef, "f");
|
22
|
-
__classPrivateFieldSet(this, _SkyOverlayService_componentFactoryResolver, componentFactoryResolver, "f");
|
23
|
-
__classPrivateFieldSet(this, _SkyOverlayService_injector, injector, "f");
|
24
|
-
__classPrivateFieldSet(this, _SkyOverlayService_adapter, adapter, "f");
|
25
|
-
}
|
26
|
-
/**
|
27
|
-
* Creates an empty overlay. Use the returned `SkyOverlayInstance` to append content.
|
28
|
-
* @param config Configuration for the overlay.
|
29
|
-
*/
|
30
|
-
create(config) {
|
31
|
-
const settings = __classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_prepareConfig).call(this, config);
|
32
|
-
if (settings.enableScroll === false) {
|
33
|
-
__classPrivateFieldGet(this, _SkyOverlayService_adapter, "f").restrictBodyScroll();
|
34
|
-
}
|
35
|
-
const componentRef = __classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_createOverlay).call(this, settings);
|
36
|
-
const instance = new SkyOverlayInstance(settings, componentRef);
|
37
|
-
instance.closed.subscribe(() => {
|
38
|
-
// Only execute the service's close method if the instance still exists.
|
39
|
-
// This is needed to address a race condition if the deprecated instance.close method is used instead.
|
40
|
-
if (SkyOverlayService.overlays.indexOf(instance) > -1) {
|
41
|
-
this.close(instance);
|
42
|
-
}
|
43
|
-
});
|
44
|
-
SkyOverlayService.overlays.push(instance);
|
45
|
-
return instance;
|
46
|
-
}
|
47
|
-
/**
|
48
|
-
* Closes (and destroys) an overlay instance.
|
49
|
-
* @param instance The instance to close.
|
50
|
-
*/
|
51
|
-
close(instance) {
|
52
|
-
__classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_destroyOverlay).call(this, instance);
|
53
|
-
__classPrivateFieldGet(this, _SkyOverlayService_applicationRef, "f").detachView(instance.componentRef.hostView);
|
54
|
-
instance.componentRef.destroy();
|
55
|
-
// In some cases, Angular keeps dynamically-generated component's nodes in the DOM during
|
56
|
-
// unit tests. This can make querying difficult because the older DOM nodes still exist and
|
57
|
-
// produce inconsistent results.
|
58
|
-
// Angular Material's overlay appears to do the same thing:
|
59
|
-
// https://github.com/angular/components/blob/master/src/cdk/portal/dom-portal-outlet.ts#L143-L145
|
60
|
-
// (Ignoring coverage since this branch will only be hit by consumer unit tests.)
|
61
|
-
const componentElement = instance.componentRef.location.nativeElement;
|
62
|
-
/* istanbul ignore if */
|
63
|
-
if (componentElement.parentNode !== null) {
|
64
|
-
componentElement.parentNode.removeChild(componentElement);
|
65
|
-
}
|
66
|
-
}
|
67
|
-
/**
|
68
|
-
* Closes all overlay instances.
|
69
|
-
*/
|
70
|
-
closeAll() {
|
71
|
-
// The `close` event handler for each instance alters the array's length asynchronously,
|
72
|
-
// so the only "safe" index to call is zero.
|
73
|
-
while (SkyOverlayService.overlays.length > 0) {
|
74
|
-
this.close(SkyOverlayService.overlays[0]);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
}
|
78
|
-
_SkyOverlayService_adapter = new WeakMap(), _SkyOverlayService_applicationRef = new WeakMap(), _SkyOverlayService_componentFactoryResolver = new WeakMap(), _SkyOverlayService_injector = new WeakMap(), _SkyOverlayService_instances = new WeakSet(), _SkyOverlayService_createOverlay = function _SkyOverlayService_createOverlay(config) {
|
79
|
-
const injector = Injector.create({
|
80
|
-
parent: __classPrivateFieldGet(this, _SkyOverlayService_injector, "f"),
|
81
|
-
providers: [
|
82
|
-
{
|
83
|
-
provide: SkyOverlayContext,
|
84
|
-
useValue: new SkyOverlayContext(config),
|
85
|
-
},
|
86
|
-
],
|
87
|
-
});
|
88
|
-
const componentRef = __classPrivateFieldGet(this, _SkyOverlayService_componentFactoryResolver, "f")
|
89
|
-
.resolveComponentFactory(SkyOverlayComponent)
|
90
|
-
.create(injector);
|
91
|
-
__classPrivateFieldGet(this, _SkyOverlayService_applicationRef, "f").attachView(componentRef.hostView);
|
92
|
-
const domElem = componentRef.hostView
|
93
|
-
.rootNodes[0];
|
94
|
-
document.body.appendChild(domElem);
|
95
|
-
return componentRef;
|
96
|
-
}, _SkyOverlayService_prepareConfig = function _SkyOverlayService_prepareConfig(config = {}) {
|
97
|
-
const defaults = {
|
98
|
-
closeOnNavigation: true,
|
99
|
-
enableClose: false,
|
100
|
-
enablePointerEvents: false,
|
101
|
-
enableScroll: true,
|
102
|
-
showBackdrop: false,
|
103
|
-
wrapperClass: '',
|
104
|
-
};
|
105
|
-
return { ...defaults, ...config };
|
106
|
-
}, _SkyOverlayService_destroyOverlay = function _SkyOverlayService_destroyOverlay(instance) {
|
107
|
-
SkyOverlayService.overlays.splice(SkyOverlayService.overlays.indexOf(instance), 1);
|
108
|
-
if (instance.config.enableScroll === false) {
|
109
|
-
// Only release the body scroll if no other overlay wishes it to be disabled.
|
110
|
-
const anotherOverlayDisablesScroll = SkyOverlayService.overlays.some((o) => !o.config.enableScroll);
|
111
|
-
if (!anotherOverlayDisablesScroll) {
|
112
|
-
__classPrivateFieldGet(this, _SkyOverlayService_adapter, "f").releaseBodyScroll();
|
113
|
-
}
|
114
|
-
}
|
115
|
-
};
|
116
|
-
SkyOverlayService.overlays = [];
|
117
|
-
SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
118
|
-
SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayService, decorators: [{
|
120
|
-
type: Injectable,
|
121
|
-
args: [{
|
122
|
-
providedIn: 'root',
|
123
|
-
}]
|
124
|
-
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i1.SkyOverlayAdapterService }]; } });
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUtMLFVBQVUsRUFDVixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUUxRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBVzVCLHVEQUF1RDtJQUN2RCxZQUNFLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixPQUFpQzs7UUFibkMsNkNBQW1DO1FBRW5DLG9EQUFnQztRQUVoQyw4REFBb0Q7UUFFcEQsOENBQW9CO1FBU2xCLHVCQUFBLElBQUkscUNBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksK0NBQTZCLHdCQUF3QixNQUFBLENBQUM7UUFDMUQsdUJBQUEsSUFBSSwrQkFBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1QkFBQSxJQUFJLDhCQUFZLE9BQU8sTUFBQSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsTUFBeUI7UUFDckMsTUFBTSxRQUFRLEdBQUcsdUJBQUEsSUFBSSxzRUFBZSxNQUFuQixJQUFJLEVBQWdCLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDbkMsdUJBQUEsSUFBSSxrQ0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDcEM7UUFFRCxNQUFNLFlB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QUcsTUFBTSxFQUFFLENBQUM7QUFDcEMsQ0FBQyxpRkFFZSxRQUE0QjtJQUMxQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUMvQixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUM1QyxDQUFDLENBQ0YsQ0FBQztJQUVGLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFO1FBQzFDLDZFQUE2RTtRQUM3RSxNQUFNLDRCQUE0QixHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2xFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUM5QixDQUFDO1FBQ0YsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ2pDLHVCQUFBLElBQUksa0NBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ25DO0tBQ0Y7QUFDSCxDQUFDO0FBeEljLDBCQUFRLEdBQXlCLEVBQUUsQ0FBQzs4R0FEeEMsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9vdmVybGF5LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcbmltcG9ydCB7IFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJy4vb3ZlcmxheS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVybGF5LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gY3JlYXRlIG5ldyBvdmVybGF5cy5cbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5U2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGljIG92ZXJsYXlzOiBTa3lPdmVybGF5SW5zdGFuY2VbXSA9IFtdO1xuXG4gICNhZGFwdGVyOiBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2U7XG5cbiAgI2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZjtcblxuICAjY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAvLyBUT0RPOiBSZXBsYWNlIGRlcHJlY2F0ZWQgYENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcmAuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgYWRhcHRlcjogU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jYWRhcHRlciA9IGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBvdmVybGF5LiBVc2UgdGhlIHJldHVybmVkIGBTa3lPdmVybGF5SW5zdGFuY2VgIHRvIGFwcGVuZCBjb250ZW50LlxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBvdmVybGF5LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZShjb25maWc/OiBTa3lPdmVybGF5Q29uZmlnKTogU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuI3ByZXBhcmVDb25maWcoY29uZmlnKTtcblxuICAgIGlmIChzZXR0aW5ncy5lbmFibGVTY3JvbGwgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLnJlc3RyaWN0Qm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2NyZWF0ZU92ZXJsYXkoc2V0dGluZ3MpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreU92ZXJsYXlJbnN0YW5jZShzZXR0aW5ncywgY29tcG9uZW50UmVmKTtcblxuICAgIGluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gT25seSBleGVjdXRlIHRoZSBzZXJ2aWNlJ3MgY2xvc2UgbWV0aG9kIGlmIHRoZSBpbnN0YW5jZSBzdGlsbCBleGlzdHMuXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgcmFjZSBjb25kaXRpb24gaWYgdGhlIGRlcHJlY2F0ZWQgaW5zdGFuY2UuY2xvc2UgbWV0aG9kIGlzIHVzZWQgaW5zdGVhZC5cbiAgICAgIGlmIChTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5pbmRleE9mKGluc3RhbmNlKSA+IC0xKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMucHVzaChpbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIChhbmQgZGVzdHJveXMpIGFuIG92ZXJsYXkgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBUaGUgaW5zdGFuY2UgdG8gY2xvc2UuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoaW5zdGFuY2U6IFNreU92ZXJsYXlJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI2Rlc3Ryb3lPdmVybGF5KGluc3RhbmNlKTtcbiAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5kZXRhY2hWaWV3KGluc3RhbmNlLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcblxuICAgIC8vIEluIHNvbWUgY2FzZXMsIEFuZ3VsYXIga2VlcHMgZHluYW1pY2FsbHktZ2VuZXJhdGVkIGNvbXBvbmVudCdzIG5vZGVzIGluIHRoZSBET00gZHVyaW5nXG4gICAgLy8gdW5pdCB0ZXN0cy4gVGhpcyBjYW4gbWFrZSBxdWVyeWluZyBkaWZmaWN1bHQgYmVjYXVzZSB0aGUgb2xkZXIgRE9NIG5vZGVzIHN0aWxsIGV4aXN0IGFuZFxuICAgIC8vIHByb2R1Y2UgaW5jb25zaXN0ZW50IHJlc3VsdHMuXG4gICAgLy8gQW5ndWxhciBNYXRlcmlhbCdzIG92ZXJsYXkgYXBwZWFycyB0byBkbyB0aGUgc2FtZSB0aGluZzpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFzdGVyL3NyYy9jZGsvcG9ydGFsL2RvbS1wb3J0YWwtb3V0bGV0LnRzI0wxNDMtTDE0NVxuICAgIC8vIChJZ25vcmluZyBjb3ZlcmFnZSBzaW5jZSB0aGlzIGJyYW5jaCB3aWxsIG9ubHkgYmUgaGl0IGJ5IGNvbnN1bWVyIHVuaXQgdGVzdHMuKVxuICAgIGNvbnN0IGNvbXBvbmVudEVsZW1lbnQgPSBpbnN0YW5jZS5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY29tcG9uZW50RWxlbWVudC5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY29tcG9uZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgb3ZlcmxheSBpbnN0YW5jZXMuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgLy8gVGhlIGBjbG9zZWAgZXZlbnQgaGFuZGxlciBmb3IgZWFjaCBpbnN0YW5jZSBhbHRlcnMgdGhlIGFycmF5J3MgbGVuZ3RoIGFzeW5jaHJvbm91c2x5LFxuICAgIC8vIHNvIHRoZSBvbmx5IFwic2FmZVwiIGluZGV4IHRvIGNhbGwgaXMgemVyby5cbiAgICB3aGlsZSAoU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jbG9zZShTa3lPdmVybGF5U2VydmljZS5vdmVybGF5c1swXSk7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZU92ZXJsYXkoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogQ29tcG9uZW50UmVmPFNreU92ZXJsYXlDb21wb25lbnQ+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICAgICAgICB1c2VWYWx1ZTogbmV3IFNreU92ZXJsYXlDb250ZXh0KGNvbmZpZyksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU2t5T3ZlcmxheUNvbXBvbmVudClcbiAgICAgIC5jcmVhdGUoaW5qZWN0b3IpO1xuXG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICAjcHJlcGFyZUNvbmZpZyhjb25maWc6IFNreU92ZXJsYXlDb25maWcgPSB7fSk6IFNreU92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IGRlZmF1bHRzOiBTa3lPdmVybGF5Q29uZmlnID0ge1xuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgIGVuYWJsZVNjcm9sbDogdHJ1ZSxcbiAgICAgIHNob3dCYWNrZHJvcDogZmFsc2UsXG4gICAgICB3cmFwcGVyQ2xhc3M6ICcnLFxuICAgIH07XG5cbiAgICByZXR1cm4geyAuLi5kZWZhdWx0cywgLi4uY29uZmlnIH07XG4gIH1cblxuICAjZGVzdHJveU92ZXJsYXkoaW5zdGFuY2U6IFNreU92ZXJsYXlJbnN0YW5jZSk6IHZvaWQge1xuICAgIFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLnNwbGljZShcbiAgICAgIFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLmluZGV4T2YoaW5zdGFuY2UpLFxuICAgICAgMVxuICAgICk7XG5cbiAgICBpZiAoaW5zdGFuY2UuY29uZmlnLmVuYWJsZVNjcm9sbCA9PT0gZmFsc2UpIHtcbiAgICAgIC8vIE9ubHkgcmVsZWFzZSB0aGUgYm9keSBzY3JvbGwgaWYgbm8gb3RoZXIgb3ZlcmxheSB3aXNoZXMgaXQgdG8gYmUgZGlzYWJsZWQuXG4gICAgICBjb25zdCBhbm90aGVyT3ZlcmxheURpc2FibGVzU2Nyb2xsID0gU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuc29tZShcbiAgICAgICAgKG8pID0+ICFvLmNvbmZpZy5lbmFibGVTY3JvbGxcbiAgICAgICk7XG4gICAgICBpZiAoIWFub3RoZXJPdmVybGF5RGlzYWJsZXNTY3JvbGwpIHtcbiAgICAgICAgdGhpcy4jYWRhcHRlci5yZWxlYXNlQm9keVNjcm9sbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,59 +0,0 @@
|
|
1
|
-
var _SkyPercentPipe_instances, _SkyPercentPipe_defaultFormat, _SkyPercentPipe_defaultLocale, _SkyPercentPipe_format, _SkyPercentPipe_formattedValue, _SkyPercentPipe_locale, _SkyPercentPipe_ngUnsubscribe, _SkyPercentPipe_value, _SkyPercentPipe_updateFormattedValue;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { Pipe } from '@angular/core';
|
4
|
-
import { SkyIntlNumberFormatStyle } from '@skyux/i18n';
|
5
|
-
import { Subject } from 'rxjs';
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
7
|
-
import { SkyNumberFormatUtility } from '../shared/number-format/number-format-utility';
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "@skyux/i18n";
|
10
|
-
export class SkyPercentPipe {
|
11
|
-
get defaultLocale() {
|
12
|
-
return __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
|
13
|
-
}
|
14
|
-
constructor(localeProvider) {
|
15
|
-
_SkyPercentPipe_instances.add(this);
|
16
|
-
_SkyPercentPipe_defaultFormat.set(this, '1.0-2');
|
17
|
-
_SkyPercentPipe_defaultLocale.set(this, 'en-US');
|
18
|
-
_SkyPercentPipe_format.set(this, void 0);
|
19
|
-
_SkyPercentPipe_formattedValue.set(this, '');
|
20
|
-
_SkyPercentPipe_locale.set(this, void 0);
|
21
|
-
_SkyPercentPipe_ngUnsubscribe.set(this, new Subject());
|
22
|
-
_SkyPercentPipe_value.set(this, void 0);
|
23
|
-
localeProvider
|
24
|
-
.getLocaleInfo()
|
25
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f")))
|
26
|
-
.subscribe((localeInfo) => {
|
27
|
-
__classPrivateFieldSet(this, _SkyPercentPipe_defaultLocale, localeInfo.locale, "f");
|
28
|
-
__classPrivateFieldGet(this, _SkyPercentPipe_instances, "m", _SkyPercentPipe_updateFormattedValue).call(this);
|
29
|
-
});
|
30
|
-
}
|
31
|
-
ngOnDestroy() {
|
32
|
-
__classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").next();
|
33
|
-
__classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").complete();
|
34
|
-
}
|
35
|
-
transform(value, format, locale) {
|
36
|
-
__classPrivateFieldSet(this, _SkyPercentPipe_value, value, "f");
|
37
|
-
__classPrivateFieldSet(this, _SkyPercentPipe_format, format, "f");
|
38
|
-
__classPrivateFieldSet(this, _SkyPercentPipe_locale, locale, "f");
|
39
|
-
__classPrivateFieldGet(this, _SkyPercentPipe_instances, "m", _SkyPercentPipe_updateFormattedValue).call(this);
|
40
|
-
return __classPrivateFieldGet(this, _SkyPercentPipe_formattedValue, "f");
|
41
|
-
}
|
42
|
-
}
|
43
|
-
_SkyPercentPipe_defaultFormat = new WeakMap(), _SkyPercentPipe_defaultLocale = new WeakMap(), _SkyPercentPipe_format = new WeakMap(), _SkyPercentPipe_formattedValue = new WeakMap(), _SkyPercentPipe_locale = new WeakMap(), _SkyPercentPipe_ngUnsubscribe = new WeakMap(), _SkyPercentPipe_value = new WeakMap(), _SkyPercentPipe_instances = new WeakSet(), _SkyPercentPipe_updateFormattedValue = function _SkyPercentPipe_updateFormattedValue() {
|
44
|
-
const locale = __classPrivateFieldGet(this, _SkyPercentPipe_locale, "f") || __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
|
45
|
-
const format = __classPrivateFieldGet(this, _SkyPercentPipe_format, "f") || __classPrivateFieldGet(this, _SkyPercentPipe_defaultFormat, "f");
|
46
|
-
__classPrivateFieldSet(this, _SkyPercentPipe_formattedValue, __classPrivateFieldGet(this, _SkyPercentPipe_value, "f")
|
47
|
-
? SkyNumberFormatUtility.formatNumber(locale, __classPrivateFieldGet(this, _SkyPercentPipe_value, "f"), SkyIntlNumberFormatStyle.Percent, format)
|
48
|
-
: '', "f");
|
49
|
-
};
|
50
|
-
SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
|
51
|
-
SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPercentPipe, decorators: [{
|
53
|
-
type: Pipe,
|
54
|
-
args: [{
|
55
|
-
name: 'skyPercent',
|
56
|
-
pure: false,
|
57
|
-
}]
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }]; } });
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFNdkYsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBQzdCLENBQUM7SUFnQkQsWUFBWSxjQUFvQzs7UUFkaEQsd0NBQWlCLE9BQU8sRUFBQztRQUV6Qix3Q0FBaUIsT0FBTyxFQUFDO1FBRXpCLHlDQUE0QjtRQUU1Qix5Q0FBa0IsRUFBRSxFQUFDO1FBRXJCLHlDQUE0QjtRQUU1Qix3Q0FBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyx3Q0FBMkI7UUFHekIsY0FBYzthQUNYLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsdUJBQUEsSUFBSSxpQ0FBa0IsVUFBVSxDQUFDLE1BQU0sTUFBQSxDQUFDO1lBQ3hDLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUkscUNBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQix1QkFBQSxJQUFJLHFDQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBZSxFQUFFLE1BQWU7UUFDOUQsdUJBQUEsSUFBSSx5QkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBQ3RCLHVCQUFBLElBQUksMEJBQVcsTUFBTSxNQUFBLENBQUM7UUFFdEIsdUJBQUEsSUFBSSx1RUFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDO1FBRTdCLE9BQU8sdUJBQUEsSUFBSSxzQ0FBZ0IsQ0FBQztJQUM5QixDQUFDOzs7SUFHQyxNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDhCQUFRLElBQUksdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUksOEJBQVEsSUFBSSx1QkFBQSxJQUFJLHFDQUFlLENBQUM7SUFFbkQsdUJBQUEsSUFBSSxrQ0FBbUIsdUJBQUEsSUFBSSw2QkFBTztRQUNoQyxDQUFDLENBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUNsQyxNQUFNLEVBQ04sdUJBQUEsSUFBSSw2QkFBTyxFQUNYLHdCQUF3QixDQUFDLE9BQU8sRUFDaEMsTUFBTSxDQUNJO1FBQ2QsQ0FBQyxDQUFDLEVBQUUsTUFBQSxDQUFDO0FBQ1QsQ0FBQzsyR0F4RFUsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBMb2NhbGVQcm92aWRlciwgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU51bWJlckZvcm1hdFV0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvbnVtYmVyLWZvcm1hdC9udW1iZXItZm9ybWF0LXV0aWxpdHknO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lQZXJjZW50JyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNreVBlcmNlbnRQaXBlIGltcGxlbWVudHMgT25EZXN0cm95LCBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIGdldCBkZWZhdWx0TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2RlZmF1bHRMb2NhbGU7XG4gIH1cblxuICAjZGVmYXVsdEZvcm1hdCA9ICcxLjAtMic7XG5cbiAgI2RlZmF1bHRMb2NhbGUgPSAnZW4tVVMnO1xuXG4gICNmb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjZm9ybWF0dGVkVmFsdWUgPSAnJztcblxuICAjbG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICN2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcikge1xuICAgIGxvY2FsZVByb3ZpZGVyXG4gICAgICAuZ2V0TG9jYWxlSW5mbygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGVJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuI2RlZmF1bHRMb2NhbGUgPSBsb2NhbGVJbmZvLmxvY2FsZTtcbiAgICAgICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVmFsdWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jZm9ybWF0ID0gZm9ybWF0O1xuICAgIHRoaXMuI2xvY2FsZSA9IGxvY2FsZTtcblxuICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk7XG5cbiAgICByZXR1cm4gdGhpcy4jZm9ybWF0dGVkVmFsdWU7XG4gIH1cblxuICAjdXBkYXRlRm9ybWF0dGVkVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy4jbG9jYWxlIHx8IHRoaXMuI2RlZmF1bHRMb2NhbGU7XG4gICAgY29uc3QgZm9ybWF0ID0gdGhpcy4jZm9ybWF0IHx8IHRoaXMuI2RlZmF1bHRGb3JtYXQ7XG5cbiAgICB0aGlzLiNmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuI3ZhbHVlXG4gICAgICA/IChTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWUsXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLlBlcmNlbnQsXG4gICAgICAgICAgZm9ybWF0XG4gICAgICAgICkgYXMgc3RyaW5nKVxuICAgICAgOiAnJztcbiAgfVxufVxuIl19
|