@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,108 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
|
2
|
+
import { SkyDockDomAdapterService } from './dock-dom-adapter.service';
|
3
|
+
import { SkyDockLocation } from './dock-location';
|
4
|
+
import { sortByStackOrder } from './sort-by-stack-order';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "./dock-dom-adapter.service";
|
7
|
+
/**
|
8
|
+
* @internal
|
9
|
+
*/
|
10
|
+
export class SkyDockComponent {
|
11
|
+
#changeDetector;
|
12
|
+
#domAdapter;
|
13
|
+
#elementRef;
|
14
|
+
#injector;
|
15
|
+
#itemRefs = [];
|
16
|
+
#options;
|
17
|
+
constructor(changeDetector, elementRef, injector, domAdapter) {
|
18
|
+
this.#changeDetector = changeDetector;
|
19
|
+
this.#elementRef = elementRef;
|
20
|
+
this.#injector = injector;
|
21
|
+
this.#domAdapter = domAdapter;
|
22
|
+
}
|
23
|
+
insertComponent(component, config = {}) {
|
24
|
+
/*istanbul ignore if: untestable*/
|
25
|
+
if (!this.target) {
|
26
|
+
throw Error('[SkyDockComponent] Could not insert the component because the target element could not be found.');
|
27
|
+
}
|
28
|
+
const injector = Injector.create({
|
29
|
+
providers: config.providers || [],
|
30
|
+
parent: this.#injector,
|
31
|
+
});
|
32
|
+
const componentRef = this.target.createComponent(component, {
|
33
|
+
injector,
|
34
|
+
});
|
35
|
+
const stackOrder = config.stackOrder !== null && config.stackOrder !== undefined
|
36
|
+
? config.stackOrder
|
37
|
+
: this.#getHighestStackOrder();
|
38
|
+
this.#itemRefs.push({
|
39
|
+
componentRef,
|
40
|
+
stackOrder,
|
41
|
+
});
|
42
|
+
this.#sortItemsByStackOrder();
|
43
|
+
this.#changeDetector.markForCheck();
|
44
|
+
return {
|
45
|
+
componentRef,
|
46
|
+
stackOrder,
|
47
|
+
};
|
48
|
+
}
|
49
|
+
removeItem(item) {
|
50
|
+
/*istanbul ignore if: untestable*/
|
51
|
+
if (!this.target) {
|
52
|
+
throw Error('[SkyDockComponent] Could not remove the item because the target element could not be found.');
|
53
|
+
}
|
54
|
+
const viewRef = item.componentRef.hostView;
|
55
|
+
this.target.remove(this.target.indexOf(viewRef));
|
56
|
+
const found = this.#itemRefs.find((i) => i.componentRef.hostView === viewRef);
|
57
|
+
if (found) {
|
58
|
+
this.#itemRefs.splice(this.#itemRefs.indexOf(found), 1);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
setOptions(options) {
|
62
|
+
this.#options = options;
|
63
|
+
switch (this.#options?.location) {
|
64
|
+
case SkyDockLocation.BeforeElement:
|
65
|
+
this.#domAdapter.unbindDock(this.#elementRef);
|
66
|
+
break;
|
67
|
+
case SkyDockLocation.ElementBottom:
|
68
|
+
this.#domAdapter.setSticky(this.#elementRef);
|
69
|
+
break;
|
70
|
+
case SkyDockLocation.BodyBottom:
|
71
|
+
default:
|
72
|
+
this.#domAdapter.watchDomChanges(this.#elementRef);
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
if (this.#options?.zIndex) {
|
76
|
+
this.#domAdapter.setZIndex(this.#options.zIndex, this.#elementRef);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
#sortItemsByStackOrder() {
|
80
|
+
if (this.target) {
|
81
|
+
this.#itemRefs.sort(sortByStackOrder);
|
82
|
+
// Reassign the correct index for each view.
|
83
|
+
for (let i = 0, len = this.#itemRefs.length; i < len; i++) {
|
84
|
+
const item = this.#itemRefs[i];
|
85
|
+
this.target.move(item.componentRef.hostView, i);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
#getHighestStackOrder() {
|
90
|
+
if (this.#itemRefs.length === 0) {
|
91
|
+
return 0;
|
92
|
+
}
|
93
|
+
return this.#itemRefs[0].stackOrder + 1;
|
94
|
+
}
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyDockComponent, selector: "sky-dock", providers: [SkyDockDomAdapterService], viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #target></ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:var(--sky-viewport-left, 0);bottom:var(--sky-viewport-bottom, 0);right:var(--sky-viewport-right, 0);width:auto}:host.sky-dock-sticky{position:sticky}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
97
|
+
}
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockComponent, decorators: [{
|
99
|
+
type: Component,
|
100
|
+
args: [{ selector: 'sky-dock', providers: [SkyDockDomAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container #target></ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:var(--sky-viewport-left, 0);bottom:var(--sky-viewport-bottom, 0);right:var(--sky-viewport-right, 0);width:auto}:host.sky-dock-sticky{position:sticky}\n"] }]
|
101
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.SkyDockDomAdapterService }]; }, propDecorators: { target: [{
|
102
|
+
type: ViewChild,
|
103
|
+
args: ['target', {
|
104
|
+
read: ViewContainerRef,
|
105
|
+
static: true,
|
106
|
+
}]
|
107
|
+
}] } });
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsUUFBUSxFQUVSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFekQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLGVBQWUsQ0FBb0I7SUFFbkMsV0FBVyxDQUEyQjtJQUV0QyxXQUFXLENBQWE7SUFFeEIsU0FBUyxDQUFXO0lBRXBCLFNBQVMsR0FBb0MsRUFBRSxDQUFDO0lBRWhELFFBQVEsQ0FBNkI7SUFFckMsWUFDRSxjQUFpQyxFQUNqQyxVQUFzQixFQUN0QixRQUFrQixFQUNsQixVQUFvQztRQUVwQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUF1QyxFQUFFO1FBRXpDLGtDQUFrQztRQUNsQyxJQUFJ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QUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakQ7U0FDRjtJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7OEdBaklVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1DQUhoQixDQUFDLHdCQUF3QixDQUFDLHVHQUs3QixnQkFBZ0IsMkNDOUIxQix5Q0FDQTs7MkZEMkJhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxVQUFVLGFBR1QsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTsrTEFPeEMsTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURvY2tEb21BZGFwdGVyU2VydmljZSB9IGZyb20gJy4vZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW1SZWZlcmVuY2UgfSBmcm9tICcuL2RvY2staXRlbS1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgU2t5RG9ja0xvY2F0aW9uIH0gZnJvbSAnLi9kb2NrLWxvY2F0aW9uJztcbmltcG9ydCB7IFNreURvY2tPcHRpb25zIH0gZnJvbSAnLi9kb2NrLW9wdGlvbnMnO1xuaW1wb3J0IHsgc29ydEJ5U3RhY2tPcmRlciB9IGZyb20gJy4vc29ydC1ieS1zdGFjay1vcmRlcic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURvY2tEb21BZGFwdGVyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NrQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2RvbUFkYXB0ZXI6IFNreURvY2tEb21BZGFwdGVyU2VydmljZTtcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAjaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gICNpdGVtUmVmczogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8dW5rbm93bj5bXSA9IFtdO1xuXG4gICNvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZG9tQWRhcHRlcjogU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNkb21BZGFwdGVyID0gZG9tQWRhcHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBpbnNlcnRDb21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZzogU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyA9IHt9XG4gICk6IFNreURvY2tJdGVtUmVmZXJlbmNlPFQ+IHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdbU2t5RG9ja0NvbXBvbmVudF0gQ291bGQgbm90IGluc2VydCB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogY29uZmlnLnByb3ZpZGVycyB8fCBbXSxcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQ8VD4oY29tcG9uZW50LCB7XG4gICAgICBpbmplY3RvcixcbiAgICB9KTtcbiAgICBjb25zdCBzdGFja09yZGVyID1cbiAgICAgIGNvbmZpZy5zdGFja09yZGVyICE9PSBudWxsICYmIGNvbmZpZy5zdGFja09yZGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBjb25maWcuc3RhY2tPcmRlclxuICAgICAgICA6IHRoaXMuI2dldEhpZ2hlc3RTdGFja09yZGVyKCk7XG5cbiAgICB0aGlzLiNpdGVtUmVmcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGl0ZW06IFNreURvY2tJdGVtUmVmZXJlbmNlPGFueT4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdbU2t5RG9ja0NvbXBvbmVudF0gQ291bGQgbm90IHJlbW92ZSB0aGUgaXRlbSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3UmVmID0gaXRlbS5jb21wb25lbnRSZWYuaG9zdFZpZXc7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlKHRoaXMudGFyZ2V0LmluZGV4T2Yodmlld1JlZikpO1xuXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLiNpdGVtUmVmcy5maW5kKFxuICAgICAgKGkpID0+IGkuY29tcG9uZW50UmVmLmhvc3RWaWV3ID09PSB2aWV3UmVmXG4gICAgKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgdGhpcy4jaXRlbVJlZnMuc3BsaWNlKHRoaXMuI2l0ZW1SZWZzLmluZGV4T2YoZm91bmQpLCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuI29wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgc3dpdGNoICh0aGlzLiNvcHRpb25zPy5sb2NhdGlvbikge1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgdGhpcy4jZG9tQWRhcHRlci51bmJpbmREb2NrKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkVsZW1lbnRCb3R0b206XG4gICAgICAgIHRoaXMuI2RvbUFkYXB0ZXIuc2V0U3RpY2t5KHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJvZHlCb3R0b206XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLiNkb21BZGFwdGVyLndhdGNoRG9tQ2hhbmdlcyh0aGlzLiNlbGVtZW50UmVmKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI29wdGlvbnM/LnpJbmRleCkge1xuICAgICAgdGhpcy4jZG9tQWRhcHRlci5zZXRaSW5kZXgodGhpcy4jb3B0aW9ucy56SW5kZXgsIHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gICNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICB0aGlzLiNpdGVtUmVmcy5zb3J0KHNvcnRCeVN0YWNrT3JkZXIpO1xuXG4gICAgICAvLyBSZWFzc2lnbiB0aGUgY29ycmVjdCBpbmRleCBmb3IgZWFjaCB2aWV3LlxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuI2l0ZW1SZWZzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLiNpdGVtUmVmc1tpXTtcbiAgICAgICAgdGhpcy50YXJnZXQubW92ZShpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldywgaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dldEhpZ2hlc3RTdGFja09yZGVyKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuI2l0ZW1SZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2l0ZW1SZWZzWzBdLnN0YWNrT3JkZXIgKyAxO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICN0YXJnZXQ+PC9uZy1jb250YWluZXI+XG4iXX0=
|
@@ -4,11 +4,11 @@ import { SkyMutationObserverService } from '../mutation/mutation-observer-servic
|
|
4
4
|
import { SkyDockComponent } from './dock.component';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export class SkyDockModule {
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyDockModule, declarations: [SkyDockComponent], imports: [CommonModule] }); }
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockModule, providers: [SkyMutationObserverService], imports: [CommonModule] }); }
|
7
10
|
}
|
8
|
-
|
9
|
-
SkyDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyDockModule, declarations: [SkyDockComponent], imports: [CommonModule] });
|
10
|
-
SkyDockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockModule, providers: [SkyMutationObserverService], imports: [CommonModule] });
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockModule, decorators: [{
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockModule, decorators: [{
|
12
12
|
type: NgModule,
|
13
13
|
args: [{
|
14
14
|
imports: [CommonModule],
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
16
16
|
providers: [SkyMutationObserverService],
|
17
17
|
}]
|
18
18
|
}] });
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQUhULGdCQUFnQixhQURyQixZQUFZOytHQUlYLGFBQWEsYUFGYixDQUFDLDBCQUEwQixDQUFDLFlBRjdCLFlBQVk7OzJGQUlYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbmltcG9ydCB7IFNreURvY2tDb21wb25lbnQgfSBmcm9tICcuL2RvY2suY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1NreURvY2tDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtTa3lNdXRhdGlvbk9ic2VydmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY2tNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,96 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { SkyDynamicComponentLocation } from '../dynamic-component/dynamic-component-location';
|
3
|
+
import { SkyDockItem } from './dock-item';
|
4
|
+
import { SkyDockLocation } from './dock-location';
|
5
|
+
import { SkyDockComponent } from './dock.component';
|
6
|
+
import { sortByStackOrder } from './sort-by-stack-order';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "../dynamic-component/dynamic-component.service";
|
9
|
+
/**
|
10
|
+
* This service docks components to specific areas on the page.
|
11
|
+
*/
|
12
|
+
export class SkyDockService {
|
13
|
+
static { this._items = []; }
|
14
|
+
/**
|
15
|
+
* Returns all docked items.
|
16
|
+
*/
|
17
|
+
get items() {
|
18
|
+
return SkyDockService._items;
|
19
|
+
}
|
20
|
+
#dynamicComponentSvc;
|
21
|
+
#options;
|
22
|
+
constructor(dynamicComponentSvc) {
|
23
|
+
this.#dynamicComponentSvc = dynamicComponentSvc;
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Docks a component to the bottom of the page.
|
27
|
+
* @param component The component to dock.
|
28
|
+
* @param config Options that affect the docking action.
|
29
|
+
*/
|
30
|
+
insertComponent(component, config) {
|
31
|
+
const dockRef = (SkyDockService.dockRef =
|
32
|
+
SkyDockService.dockRef || this.#createDock());
|
33
|
+
const itemRef = dockRef.instance.insertComponent(component, config);
|
34
|
+
const item = new SkyDockItem(itemRef.componentRef.instance, itemRef.stackOrder);
|
35
|
+
item.destroyed.subscribe(() => {
|
36
|
+
dockRef.instance.removeItem(itemRef);
|
37
|
+
SkyDockService._items.splice(SkyDockService._items.indexOf(item), 1);
|
38
|
+
if (SkyDockService._items.length === 0) {
|
39
|
+
this.#destroyDock();
|
40
|
+
}
|
41
|
+
});
|
42
|
+
SkyDockService._items.push(item);
|
43
|
+
SkyDockService._items.sort(sortByStackOrder);
|
44
|
+
return item;
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Sets options for the positioning and styling of the dock component. Since the dock service is a
|
48
|
+
* singleton instance, these options will be applied to all components inserted into the dock. In
|
49
|
+
* order to create a separate dock with different options, consumers should provide a different
|
50
|
+
* instance of the dock service.
|
51
|
+
* @param options The options for positioning and styling
|
52
|
+
*/
|
53
|
+
setDockOptions(options) {
|
54
|
+
this.#options = options;
|
55
|
+
}
|
56
|
+
#createDock() {
|
57
|
+
let dockOptions;
|
58
|
+
if (this.#options) {
|
59
|
+
let dynamicLocation;
|
60
|
+
switch (this.#options.location) {
|
61
|
+
case SkyDockLocation.BeforeElement:
|
62
|
+
dynamicLocation = SkyDynamicComponentLocation.BeforeElement;
|
63
|
+
break;
|
64
|
+
case SkyDockLocation.ElementBottom:
|
65
|
+
dynamicLocation = SkyDynamicComponentLocation.ElementBottom;
|
66
|
+
break;
|
67
|
+
default:
|
68
|
+
dynamicLocation = SkyDynamicComponentLocation.BodyTop;
|
69
|
+
break;
|
70
|
+
}
|
71
|
+
dockOptions = {
|
72
|
+
location: dynamicLocation,
|
73
|
+
referenceEl: this.#options.referenceEl,
|
74
|
+
};
|
75
|
+
}
|
76
|
+
const dockRef = this.#dynamicComponentSvc.createComponent(SkyDockComponent, dockOptions);
|
77
|
+
dockRef.instance.setOptions(this.#options);
|
78
|
+
return dockRef;
|
79
|
+
}
|
80
|
+
#destroyDock() {
|
81
|
+
this.#dynamicComponentSvc.removeComponent(SkyDockService.dockRef);
|
82
|
+
SkyDockService.dockRef = undefined;
|
83
|
+
}
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockService, providedIn: 'any' }); }
|
86
|
+
}
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDockService, decorators: [{
|
88
|
+
type: Injectable,
|
89
|
+
args: [{
|
90
|
+
// Must be 'any' so that the dock component is created in the context of its module's injector.
|
91
|
+
// If set to 'root', the component's dependency injections would only be derived from the root
|
92
|
+
// injector and may loose context if the dock was opened from within a lazy-loaded module.
|
93
|
+
providedIn: 'any',
|
94
|
+
}]
|
95
|
+
}], ctorParameters: function () { return [{ type: i1.SkyDynamicComponentService }]; } });
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2RvY2svZG9jay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBSzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFekQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sY0FBYzthQUVWLFdBQU0sR0FBdUIsRUFBRSxBQUF6QixDQUEwQjtJQUUvQzs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CLENBQTZCO0lBRWpELFFBQVEsQ0FBNkI7SUFFckMsWUFBWSxtQkFBK0M7UUFDekQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixNQUFxQztRQUVyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQ3JDLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBVyxDQUMxQixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFDN0IsT0FBTyxDQUFDLFVBQVUsQ0FDbkIsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWMsQ0FBQyxPQUF1QjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksV0FBbUQsQ0FBQztRQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxlQUE0QyxDQUFDO1lBQ2pELFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQzlCLEtBQUssZUFBZSxDQUFDLGFBQWE7b0JBQ2hDLGVBQWUsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUM7b0JBQzVELE1BQU07Z0JBQ1IsS0FBSyxlQUFlLENBQUMsYUFBYTtvQkFDaEMsZUFBZSxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztvQkFDNUQsTUFBTTtnQkFDUjtvQkFDRSxlQUFlLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDO29CQUN0RCxNQUFNO2FBQ1Q7WUFFRCxXQUFXLEdBQUc7Z0JBQ1osUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7YUFDdkMsQ0FBQztTQUNIO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FDdkQsZ0JBQWdCLEVBQ2hCLFdBQVcsQ0FDWixDQUFDO1FBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsY0FBYyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQzs4R0FsR1UsY0FBYztrSEFBZCxjQUFjLGNBRmIsS0FBSzs7MkZBRU4sY0FBYztrQkFOMUIsVUFBVTttQkFBQztvQkFDViwrRkFBK0Y7b0JBQy9GLDhGQUE4RjtvQkFDOUYsMEZBQTBGO29CQUMxRixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuLi9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmltcG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW0gfSBmcm9tICcuL2RvY2staXRlbSc7XG5pbXBvcnQgeyBTa3lEb2NrTG9jYXRpb24gfSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RG9ja09wdGlvbnMgfSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9kb2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzb3J0QnlTdGFja09yZGVyIH0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgZG9ja3MgY29tcG9uZW50cyB0byBzcGVjaWZpYyBhcmVhcyBvbiB0aGUgcGFnZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIGRvY2sgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9vc2UgY29udGV4dCBpZiB0aGUgZG9jayB3YXMgb3BlbmVkIGZyb20gd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9ja1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBkb2NrUmVmOiBDb21wb25lbnRSZWY8U2t5RG9ja0NvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3RhdGljIF9pdGVtczogU2t5RG9ja0l0ZW08YW55PltdID0gW107XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGRvY2tlZCBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogU2t5RG9ja0l0ZW08YW55PltdIHtcbiAgICByZXR1cm4gU2t5RG9ja1NlcnZpY2UuX2l0ZW1zO1xuICB9XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTdmM6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuXG4gICNvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihkeW5hbWljQ29tcG9uZW50U3ZjOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMgPSBkeW5hbWljQ29tcG9uZW50U3ZjO1xuICB9XG5cbiAgLyoqXG4gICAqIERvY2tzIGEgY29tcG9uZW50IHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBkb2NrLlxuICAgKiBAcGFyYW0gY29uZmlnIE9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGRvY2tpbmcgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZ1xuICApOiBTa3lEb2NrSXRlbTxUPiB7XG4gICAgY29uc3QgZG9ja1JlZiA9IChTa3lEb2NrU2VydmljZS5kb2NrUmVmID1cbiAgICAgIFNreURvY2tTZXJ2aWNlLmRvY2tSZWYgfHwgdGhpcy4jY3JlYXRlRG9jaygpKTtcblxuICAgIGNvbnN0IGl0ZW1SZWYgPSBkb2NrUmVmLmluc3RhbmNlLmluc2VydENvbXBvbmVudChjb21wb25lbnQsIGNvbmZpZyk7XG4gICAgY29uc3QgaXRlbSA9IG5ldyBTa3lEb2NrSXRlbShcbiAgICAgIGl0ZW1SZWYuY29tcG9uZW50UmVmLmluc3RhbmNlLFxuICAgICAgaXRlbVJlZi5zdGFja09yZGVyXG4gICAgKTtcblxuICAgIGl0ZW0uZGVzdHJveWVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBkb2NrUmVmLmluc3RhbmNlLnJlbW92ZUl0ZW0oaXRlbVJlZik7XG4gICAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc3BsaWNlKFNreURvY2tTZXJ2aWNlLl9pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICAgIGlmIChTa3lEb2NrU2VydmljZS5faXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lEb2NrKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMucHVzaChpdGVtKTtcbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc29ydChzb3J0QnlTdGFja09yZGVyKTtcblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgb3B0aW9ucyBmb3IgdGhlIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nIG9mIHRoZSBkb2NrIGNvbXBvbmVudC4gU2luY2UgdGhlIGRvY2sgc2VydmljZSBpcyBhXG4gICAqIHNpbmdsZXRvbiBpbnN0YW5jZSwgdGhlc2Ugb3B0aW9ucyB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGNvbXBvbmVudHMgaW5zZXJ0ZWQgaW50byB0aGUgZG9jay4gSW5cbiAgICogb3JkZXIgdG8gY3JlYXRlIGEgc2VwYXJhdGUgZG9jayB3aXRoIGRpZmZlcmVudCBvcHRpb25zLCBjb25zdW1lcnMgc2hvdWxkIHByb3ZpZGUgYSBkaWZmZXJlbnRcbiAgICogaW5zdGFuY2Ugb2YgdGhlIGRvY2sgc2VydmljZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nXG4gICAqL1xuICBwdWJsaWMgc2V0RG9ja09wdGlvbnMob3B0aW9uczogU2t5RG9ja09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLiNvcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gICNjcmVhdGVEb2NrKCk6IENvbXBvbmVudFJlZjxTa3lEb2NrQ29tcG9uZW50PiB7XG4gICAgbGV0IGRvY2tPcHRpb25zOiBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLiNvcHRpb25zKSB7XG4gICAgICBsZXQgZHluYW1pY0xvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb247XG4gICAgICBzd2l0Y2ggKHRoaXMuI29wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQm9keVRvcDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgZG9ja09wdGlvbnMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiBkeW5hbWljTG9jYXRpb24sXG4gICAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLiNvcHRpb25zLnJlZmVyZW5jZUVsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBkb2NrUmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lEb2NrQ29tcG9uZW50LFxuICAgICAgZG9ja09wdGlvbnNcbiAgICApO1xuXG4gICAgZG9ja1JlZi5pbnN0YW5jZS5zZXRPcHRpb25zKHRoaXMuI29wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGRvY2tSZWY7XG4gIH1cblxuICAjZGVzdHJveURvY2soKTogdm9pZCB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5yZW1vdmVDb21wb25lbnQoU2t5RG9ja1NlcnZpY2UuZG9ja1JlZik7XG4gICAgU2t5RG9ja1NlcnZpY2UuZG9ja1JlZiA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
@@ -6,12 +6,12 @@ import * as i0 from "@angular/core";
|
|
6
6
|
* The `SkyDynamicComponentModule` can be removed from your project.
|
7
7
|
*/
|
8
8
|
export class SkyDynamicComponentModule {
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentModule }); }
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentModule }); }
|
9
12
|
}
|
10
|
-
|
11
|
-
SkyDynamicComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentModule });
|
12
|
-
SkyDynamicComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentModule });
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentModule, decorators: [{
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentModule, decorators: [{
|
14
14
|
type: NgModule,
|
15
15
|
args: [{}]
|
16
16
|
}] });
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6Qzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCOytHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlcyBzZXJ2aWNlcyByZXF1aXJlZCB0byBjcmVhdGUgZHluYW1pYyBjb21wb25lbnRzIG9uIHRoZSBwYWdlLlxuICogQGRlcHJlY2F0ZWQgVGhlIGBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZWAgbm8gbG9uZ2VyIG5lZWRzIHRoZSBgU2t5RHluYW1pY0NvbXBvbmVudE1vZHVsZWAuXG4gKiBUaGUgYFNreUR5bmFtaWNDb21wb25lbnRNb2R1bGVgIGNhbiBiZSByZW1vdmVkIGZyb20geW91ciBwcm9qZWN0LlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudE1vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import { Injectable, Injector, createComponent, } from '@angular/core';
|
2
|
+
import { SkyDynamicComponentLocation } from './dynamic-component-location';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "../window/window-ref";
|
5
|
+
/**
|
6
|
+
* Angular service for creating and rendering a dynamic component.
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export class SkyDynamicComponentService {
|
10
|
+
#applicationRef;
|
11
|
+
#environmentInjector;
|
12
|
+
#injector;
|
13
|
+
#renderer;
|
14
|
+
#windowRef;
|
15
|
+
constructor(applicationRef, injector, windowRef, rendererFactory, environmentInjector) {
|
16
|
+
this.#applicationRef = applicationRef;
|
17
|
+
this.#injector = injector;
|
18
|
+
this.#windowRef = windowRef;
|
19
|
+
this.#environmentInjector = environmentInjector;
|
20
|
+
// Based on suggestions from https://github.com/angular/angular/issues/17824
|
21
|
+
// for accessing an instance of Renderer2 in a service since Renderer2 can't
|
22
|
+
// be injected into a service. Passing undefined for both parameters results
|
23
|
+
// in the default renderer which is what we want here.
|
24
|
+
this.#renderer = rendererFactory.createRenderer(undefined, null);
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Creates an instance of the specified component and adds it to the specified location
|
28
|
+
* on the page.
|
29
|
+
*/
|
30
|
+
createComponent(componentType, options) {
|
31
|
+
options = options || {
|
32
|
+
location: SkyDynamicComponentLocation.BodyBottom,
|
33
|
+
};
|
34
|
+
const injector = Injector.create({
|
35
|
+
providers: options.providers || [],
|
36
|
+
parent: options.parentInjector || this.#injector,
|
37
|
+
});
|
38
|
+
let componentRef;
|
39
|
+
if (options.viewContainerRef) {
|
40
|
+
componentRef = options.viewContainerRef.createComponent(componentType, {
|
41
|
+
injector,
|
42
|
+
});
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
componentRef = createComponent(componentType, {
|
46
|
+
environmentInjector: this.#environmentInjector,
|
47
|
+
elementInjector: injector,
|
48
|
+
});
|
49
|
+
this.#applicationRef.attachView(componentRef.hostView);
|
50
|
+
const el = this.#getRootNode(componentRef);
|
51
|
+
const bodyEl = this.#windowRef.nativeWindow.document.body;
|
52
|
+
switch (options.location) {
|
53
|
+
case SkyDynamicComponentLocation.BeforeElement:
|
54
|
+
if (!options.referenceEl) {
|
55
|
+
throw new Error('[SkyDynamicComponentService] Could not create a component at location `SkyDynamicComponentLocation.BeforeElement` because a reference element was not provided.');
|
56
|
+
}
|
57
|
+
this.#renderer.insertBefore(options.referenceEl.parentElement, el, options.referenceEl);
|
58
|
+
break;
|
59
|
+
case SkyDynamicComponentLocation.ElementTop:
|
60
|
+
if (!options.referenceEl) {
|
61
|
+
throw new Error('[SkyDynamicComponentService] Could not create a component at location `SkyDynamicComponentLocation.ElementTop` because a reference element was not provided.');
|
62
|
+
}
|
63
|
+
this.#renderer.insertBefore(options.referenceEl, el, options.referenceEl.firstChild);
|
64
|
+
break;
|
65
|
+
case SkyDynamicComponentLocation.ElementBottom:
|
66
|
+
this.#renderer.appendChild(options.referenceEl, el);
|
67
|
+
break;
|
68
|
+
case SkyDynamicComponentLocation.BodyTop:
|
69
|
+
this.#renderer.insertBefore(bodyEl, el, bodyEl.firstChild);
|
70
|
+
break;
|
71
|
+
default:
|
72
|
+
this.#renderer.appendChild(bodyEl, el);
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
return componentRef;
|
77
|
+
}
|
78
|
+
/**
|
79
|
+
* Removes a component ref from the page
|
80
|
+
* @param componentRef Component ref for the component being removed
|
81
|
+
*/
|
82
|
+
removeComponent(componentRef) {
|
83
|
+
if (!componentRef) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
this.#applicationRef.detachView(componentRef.hostView);
|
87
|
+
componentRef.destroy();
|
88
|
+
}
|
89
|
+
#getRootNode(componentRef) {
|
90
|
+
// Technique for retrieving the component's root node taken from here:
|
91
|
+
// https://malcoded.com/posts/angular-dynamic-components
|
92
|
+
return componentRef.hostView.rootNodes[0];
|
93
|
+
}
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.SkyAppWindowRef }, { token: i0.RendererFactory2 }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
95
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentService, providedIn: 'any' }); }
|
96
|
+
}
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDynamicComponentService, decorators: [{
|
98
|
+
type: Injectable,
|
99
|
+
args: [{
|
100
|
+
// Must be 'any' so that the component is created in the context of its module's injector.
|
101
|
+
// If set to 'root', the component's dependency injections would only be derived from the root
|
102
|
+
// injector and may lose context if the component is created within a lazy-loaded module.
|
103
|
+
providedIn: 'any',
|
104
|
+
}]
|
105
|
+
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.SkyAppWindowRef }, { type: i0.RendererFactory2 }, { type: i0.EnvironmentInjector }]; } });
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1YsUUFBUSxFQUlSLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUczRTs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLGVBQWUsQ0FBaUI7SUFFaEMsb0JBQW9CLENBQXNCO0lBRTFDLFNBQVMsQ0FBVztJQUVwQixTQUFTLENBQVk7SUFFckIsVUFBVSxDQUFrQjtJQUU1QixZQUNFLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFNBQTBCLEVBQzFCLGVBQWlDLEVBQ2pDLG1CQUF3QztRQUV4QyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7UUFFaEQsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0Usc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FDcEIsYUFBc0IsRUFDdEIsT0FBb0M7UUFFcEMsT0FBTyxHQUFHLE9BQU8sSUFBSTtZQUNuQixRQUFRLEVBQUUsMkJBQTJCLENBQUMsVUFBVTtTQUNqRCxD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VTttQkFBQztvQkFDViwwRkFBMEY7b0JBQzFGLDhGQUE4RjtvQkFDOUYseUZBQXlGO29CQUN6RixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFR5cGUsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4uL3dpbmRvdy93aW5kb3ctcmVmJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1sb2NhdGlvbic7XG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQtb3B0aW9ucyc7XG5cbi8qKlxuICogQW5ndWxhciBzZXJ2aWNlIGZvciBjcmVhdGluZyBhbmQgcmVuZGVyaW5nIGEgZHluYW1pYyBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIGNvbXBvbmVudCBpcyBjcmVhdGVkIGluIHRoZSBjb250ZXh0IG9mIGl0cyBtb2R1bGUncyBpbmplY3Rvci5cbiAgLy8gSWYgc2V0IHRvICdyb290JywgdGhlIGNvbXBvbmVudCdzIGRlcGVuZGVuY3kgaW5qZWN0aW9ucyB3b3VsZCBvbmx5IGJlIGRlcml2ZWQgZnJvbSB0aGUgcm9vdFxuICAvLyBpbmplY3RvciBhbmQgbWF5IGxvc2UgY29udGV4dCBpZiB0aGUgY29tcG9uZW50IGlzIGNyZWF0ZWQgd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmO1xuXG4gICNlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIGVudmlyb25tZW50SW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYgPSBhcHBsaWNhdGlvblJlZjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yID0gZW52aXJvbm1lbnRJbmplY3RvcjtcblxuICAgIC8vIEJhc2VkIG9uIHN1Z2dlc3Rpb25zIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTc4MjRcbiAgICAvLyBmb3IgYWNjZXNzaW5nIGFuIGluc3RhbmNlIG9mIFJlbmRlcmVyMiBpbiBhIHNlcnZpY2Ugc2luY2UgUmVuZGVyZXIyIGNhbid0XG4gICAgLy8gYmUgaW5qZWN0ZWQgaW50byBhIHNlcnZpY2UuICBQYXNzaW5nIHVuZGVmaW5lZCBmb3IgYm90aCBwYXJhbWV0ZXJzIHJlc3VsdHNcbiAgICAvLyBpbiB0aGUgZGVmYXVsdCByZW5kZXJlciB3aGljaCBpcyB3aGF0IHdlIHdhbnQgaGVyZS5cbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgYW5kIGFkZHMgaXQgdG8gdGhlIHNwZWNpZmllZCBsb2NhdGlvblxuICAgKiBvbiB0aGUgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVDb21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50VHlwZTogVHlwZTxUPixcbiAgICBvcHRpb25zPzogU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnNcbiAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7XG4gICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlCb3R0b20sXG4gICAgfTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogb3B0aW9ucy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IG9wdGlvbnMucGFyZW50SW5qZWN0b3IgfHwgdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBsZXQgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD47XG5cbiAgICBpZiAob3B0aW9ucy52aWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICBjb21wb25lbnRSZWYgPSBvcHRpb25zLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUsIHtcbiAgICAgICAgaW5qZWN0b3IsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFR5cGUsIHtcbiAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgICAgZWxlbWVudEluamVjdG9yOiBpbmplY3RvcixcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgIGNvbnN0IGVsID0gdGhpcy4jZ2V0Um9vdE5vZGUoY29tcG9uZW50UmVmKTtcblxuICAgICAgY29uc3QgYm9keUVsID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5O1xuXG4gICAgICBzd2l0Y2ggKG9wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgICBpZiAoIW9wdGlvbnMucmVmZXJlbmNlRWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJlZm9yZUVsZW1lbnRgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbC5wYXJlbnRFbGVtZW50LFxuICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICBvcHRpb25zLnJlZmVyZW5jZUVsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudFRvcDpcbiAgICAgICAgICBpZiAoIW9wdGlvbnMucmVmZXJlbmNlRWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRUb3BgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbCxcbiAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbC5maXJzdENoaWxkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChvcHRpb25zLnJlZmVyZW5jZUVsLCBlbCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlUb3A6XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKGJvZHlFbCwgZWwsIGJvZHlFbC5maXJzdENoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChib2R5RWwsIGVsKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBjb21wb25lbnQgcmVmIGZyb20gdGhlIHBhZ2VcbiAgICogQHBhcmFtIGNvbXBvbmVudFJlZiBDb21wb25lbnQgcmVmIGZvciB0aGUgY29tcG9uZW50IGJlaW5nIHJlbW92ZWRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVDb21wb25lbnQ8VD4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG5cbiAgI2dldFJvb3ROb2RlPFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+KTogYW55IHtcbiAgICAvLyBUZWNobmlxdWUgZm9yIHJldHJpZXZpbmcgdGhlIGNvbXBvbmVudCdzIHJvb3Qgbm9kZSB0YWtlbiBmcm9tIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9tYWxjb2RlZC5jb20vcG9zdHMvYW5ndWxhci1keW5hbWljLWNvbXBvbmVudHNcbiAgICByZXR1cm4gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8VD4pLnJvb3ROb2Rlc1swXTtcbiAgfVxufVxuIl19
|
@@ -6,13 +6,13 @@ export class SkyAppFormat {
|
|
6
6
|
return args[parseInt(capture, 10)];
|
7
7
|
});
|
8
8
|
}
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppFormat, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppFormat, providedIn: 'root' }); }
|
9
11
|
}
|
10
|
-
|
11
|
-
SkyAppFormat.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppFormat, providedIn: 'root' });
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppFormat, decorators: [{
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppFormat, decorators: [{
|
13
13
|
type: Injectable,
|
14
14
|
args: [{
|
15
15
|
providedIn: 'root',
|
16
16
|
}]
|
17
17
|
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9mb3JtYXQvYXBwLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUNoQixVQUFVLENBQUMsTUFBYyxFQUFFLEdBQUcsSUFBVztRQUM5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQzNCLFlBQVksRUFDWixVQUFVLEtBQUssRUFBRSxPQUFPO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBUlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBcHBGb3JtYXQge1xuICBwdWJsaWMgZm9ybWF0VGV4dChmb3JtYXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcoZm9ybWF0KS5yZXBsYWNlKFxuICAgICAgL1xceyhcXGQrKVxcfS9nLFxuICAgICAgZnVuY3Rpb24gKG1hdGNoLCBjYXB0dXJlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFyZ3NbcGFyc2VJbnQoY2FwdHVyZSwgMTApXTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "./id.service";
|
4
|
+
/**
|
5
|
+
* Sets the element's `id` attribute to a unique ID. To reference this unique ID on other elements,
|
6
|
+
* such as in a `label` element's `for` attribute, assign this directive to a template reference
|
7
|
+
* variable, then use its `id` property.
|
8
|
+
*/
|
9
|
+
export class SkyIdDirective {
|
10
|
+
get id() {
|
11
|
+
return this.#_id;
|
12
|
+
}
|
13
|
+
#_id;
|
14
|
+
constructor(elRef, renderer, idSvc) {
|
15
|
+
// Generate and apply the ID before the template is rendered
|
16
|
+
// to avoid a changed-after-checked error.
|
17
|
+
const id = idSvc.generateId();
|
18
|
+
renderer.setAttribute(elRef.nativeElement, 'id', id);
|
19
|
+
this.#_id = id;
|
20
|
+
}
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyIdService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 }); }
|
23
|
+
}
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdDirective, decorators: [{
|
25
|
+
type: Directive,
|
26
|
+
args: [{
|
27
|
+
selector: '[skyId]',
|
28
|
+
exportAs: 'skyId',
|
29
|
+
}]
|
30
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyIdService }]; } });
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2lkL2lkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7O0FBSWpFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sY0FBYztJQUN6QixJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksQ0FBUztJQUViLFlBQVksS0FBaUIsRUFBRSxRQUFtQixFQUFFLEtBQW1CO1FBQ3JFLDREQUE0RDtRQUM1RCwwQ0FBMEM7UUFDMUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlCLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0FmVSxjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxPQUFPO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbi8qKlxuICogU2V0cyB0aGUgZWxlbWVudCdzIGBpZGAgYXR0cmlidXRlIHRvIGEgdW5pcXVlIElELiBUbyByZWZlcmVuY2UgdGhpcyB1bmlxdWUgSUQgb24gb3RoZXIgZWxlbWVudHMsXG4gKiBzdWNoIGFzIGluIGEgYGxhYmVsYCBlbGVtZW50J3MgYGZvcmAgYXR0cmlidXRlLCBhc3NpZ24gdGhpcyBkaXJlY3RpdmUgdG8gYSB0ZW1wbGF0ZSByZWZlcmVuY2VcbiAqIHZhcmlhYmxlLCB0aGVuIHVzZSBpdHMgYGlkYCBwcm9wZXJ0eS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUlkXScsXG4gIGV4cG9ydEFzOiAnc2t5SWQnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJZERpcmVjdGl2ZSB7XG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2lkO1xuICB9XG5cbiAgI19pZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVsUmVmOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyLCBpZFN2YzogU2t5SWRTZXJ2aWNlKSB7XG4gICAgLy8gR2VuZXJhdGUgYW5kIGFwcGx5IHRoZSBJRCBiZWZvcmUgdGhlIHRlbXBsYXRlIGlzIHJlbmRlcmVkXG4gICAgLy8gdG8gYXZvaWQgYSBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3IuXG4gICAgY29uc3QgaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxSZWYubmF0aXZlRWxlbWVudCwgJ2lkJywgaWQpO1xuXG4gICAgdGhpcy4jX2lkID0gaWQ7XG4gIH1cbn1cbiJdfQ==
|
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
|
|
2
2
|
import { SkyIdDirective } from './id.directive';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export class SkyIdModule {
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyIdModule, declarations: [SkyIdDirective], exports: [SkyIdDirective] }); }
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdModule }); }
|
5
8
|
}
|
6
|
-
|
7
|
-
SkyIdModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyIdModule, declarations: [SkyIdDirective], exports: [SkyIdDirective] });
|
8
|
-
SkyIdModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdModule });
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdModule, decorators: [{
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdModule, decorators: [{
|
10
10
|
type: NgModule,
|
11
11
|
args: [{
|
12
12
|
declarations: [SkyIdDirective],
|
13
13
|
exports: [SkyIdDirective],
|
14
14
|
}]
|
15
15
|
}] });
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2lkL2lkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQUhQLGNBQWMsYUFDbkIsY0FBYzsrR0FFYixXQUFXOzsyRkFBWCxXQUFXO2tCQUp2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUlkRGlyZWN0aXZlIH0gZnJvbSAnLi9pZC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lJZERpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtTa3lJZERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUlkTW9kdWxlIHt9XG4iXX0=
|
@@ -12,13 +12,13 @@ export class SkyIdService {
|
|
12
12
|
// elements with the same ID across sessions.
|
13
13
|
return `sky-id-gen__${new Date().getTime()}__${idIndex}`;
|
14
14
|
}
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdService, providedIn: 'root' }); }
|
15
17
|
}
|
16
|
-
|
17
|
-
SkyIdService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdService, providedIn: 'root' });
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdService, decorators: [{
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyIdService, decorators: [{
|
19
19
|
type: Injectable,
|
20
20
|
args: [{
|
21
21
|
providedIn: 'root',
|
22
22
|
}]
|
23
23
|
}] });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9pZC9pZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBQ2hCLFVBQVU7UUFDZixPQUFPLEVBQUUsQ0FBQztRQUVWLGtHQUFrRztRQUNsRyxpR0FBaUc7UUFDakcsNkNBQTZDO1FBQzdDLE9BQU8sZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDO0lBQzNELENBQUM7OEdBUlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdW5pcXVlIElEcyB0byBiZSB1c2VkIHdpdGggSFRNTCBlbGVtZW50cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUlkU2VydmljZSB7XG4gIHB1YmxpYyBnZW5lcmF0ZUlkKCk6IHN0cmluZyB7XG4gICAgaWRJbmRleCsrO1xuXG4gICAgLy8gSW5jbHVkZSB0aW1lc3RhbXAgYW5kIGFuIGluY3JlbWVudGluZyBpbmRleCB0byBndWFyYW50ZWUgdW5pcXVlIElEcyBib3RoIGR1cmluZyB0aGUgYXBwbGljYXRpb25cbiAgICAvLyBsaWZlY3ljbGUgYXMgd2VsbCBhcyBhY3Jvc3Mgc2Vzc2lvbnMsIHNpbmNlIGJyb3dzZXJzIHdpbGwgdHJ5IHRvIGFwcGx5IGF1dG9jb21wbGV0ZSBvcHRpb25zIHRvXG4gICAgLy8gZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBJRCBhY3Jvc3Mgc2Vzc2lvbnMuXG4gICAgcmV0dXJuIGBza3ktaWQtZ2VuX18ke25ldyBEYXRlKCkuZ2V0VGltZSgpfV9fJHtpZEluZGV4fWA7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
/**
|
5
|
+
* @internal
|
6
|
+
*/
|
7
|
+
export class SkyLayoutHostService {
|
8
|
+
get hostLayoutForChild() {
|
9
|
+
return this.#hostLayoutForChildObs;
|
10
|
+
}
|
11
|
+
#hostLayoutForChild = new Subject();
|
12
|
+
#hostLayoutForChildObs = this.#hostLayoutForChild.asObservable();
|
13
|
+
setHostLayoutForChild(layout) {
|
14
|
+
this.#hostLayoutForChild.next(layout);
|
15
|
+
}
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLayoutHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLayoutHostService }); }
|
18
|
+
}
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLayoutHostService, decorators: [{
|
20
|
+
type: Injectable
|
21
|
+
}] });
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhvc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQtaG9zdC9sYXlvdXQtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUMvRCxzQkFBc0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFMUQscUJBQXFCLENBQUMsTUFBaUM7UUFDNUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQVZVLG9CQUFvQjtrSEFBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUxheW91dEhvc3RGb3JDaGlsZEFyZ3MgfSBmcm9tICcuL2xheW91dC1ob3N0LWZvci1jaGlsZC1hcmdzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUxheW91dEhvc3RTZXJ2aWNlIHtcbiAgcHVibGljIGdldCBob3N0TGF5b3V0Rm9yQ2hpbGQoKTogT2JzZXJ2YWJsZTxTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3RMYXlvdXRGb3JDaGlsZE9icztcbiAgfVxuXG4gICNob3N0TGF5b3V0Rm9yQ2hpbGQgPSBuZXcgU3ViamVjdDxTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzPigpO1xuICAjaG9zdExheW91dEZvckNoaWxkT2JzID0gdGhpcy4jaG9zdExheW91dEZvckNoaWxkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBzZXRIb3N0TGF5b3V0Rm9yQ2hpbGQobGF5b3V0OiBTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdExheW91dEZvckNoaWxkLm5leHQobGF5b3V0KTtcbiAgfVxufVxuIl19
|