@skyux/core 8.6.0 → 9.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/{esm2020 → esm2022}/lib/modules/adapter-service/adapter.module.mjs +5 -5
  2. package/esm2022/lib/modules/adapter-service/adapter.service.mjs +225 -0
  3. package/esm2022/lib/modules/affix/affix.directive.mjs +116 -0
  4. package/{esm2020 → esm2022}/lib/modules/affix/affix.module.mjs +5 -5
  5. package/esm2022/lib/modules/affix/affix.service.mjs +25 -0
  6. package/esm2022/lib/modules/affix/affixer.mjs +398 -0
  7. package/esm2022/lib/modules/default-input-provider/default-input-provider.mjs +26 -0
  8. package/esm2022/lib/modules/dock/dock-dom-adapter.service.mjs +81 -0
  9. package/esm2022/lib/modules/dock/dock-item.mjs +31 -0
  10. package/esm2022/lib/modules/dock/dock.component.mjs +108 -0
  11. package/{esm2020 → esm2022}/lib/modules/dock/dock.module.mjs +5 -5
  12. package/esm2022/lib/modules/dock/dock.service.mjs +96 -0
  13. package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component.module.mjs +5 -5
  14. package/esm2022/lib/modules/dynamic-component/dynamic-component.service.mjs +106 -0
  15. package/{esm2020 → esm2022}/lib/modules/format/app-format.mjs +4 -4
  16. package/esm2022/lib/modules/id/id.directive.mjs +31 -0
  17. package/{esm2020 → esm2022}/lib/modules/id/id.module.mjs +5 -5
  18. package/{esm2020 → esm2022}/lib/modules/id/id.service.mjs +4 -4
  19. package/esm2022/lib/modules/layout-host/layout-host.service.mjs +22 -0
  20. package/esm2022/lib/modules/live-announcer/live-announcer.service.mjs +79 -0
  21. package/{esm2020 → esm2022}/lib/modules/log/log.module.mjs +5 -5
  22. package/esm2022/lib/modules/log/log.service.mjs +148 -0
  23. package/{esm2020 → esm2022}/lib/modules/media-query/media-query.module.mjs +5 -5
  24. package/esm2022/lib/modules/media-query/media-query.service.mjs +123 -0
  25. package/{esm2020 → esm2022}/lib/modules/mutation/mutation-observer-service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/modules/numeric/numeric.module.mjs +5 -5
  27. package/esm2022/lib/modules/numeric/numeric.pipe.mjs +81 -0
  28. package/esm2022/lib/modules/numeric/numeric.service.mjs +205 -0
  29. package/esm2022/lib/modules/overlay/overlay-adapter.service.mjs +44 -0
  30. package/esm2022/lib/modules/overlay/overlay-instance.mjs +62 -0
  31. package/esm2022/lib/modules/overlay/overlay.component.mjs +193 -0
  32. package/{esm2020 → esm2022}/lib/modules/overlay/overlay.module.mjs +5 -5
  33. package/esm2022/lib/modules/overlay/overlay.service.mjs +124 -0
  34. package/{esm2020 → esm2022}/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
  35. package/esm2022/lib/modules/percent-pipe/percent.pipe.mjs +56 -0
  36. package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +120 -0
  37. package/esm2022/lib/modules/resize-observer/resize-observer.service.mjs +77 -0
  38. package/esm2022/lib/modules/scrollable-host/scrollable-host.service.mjs +223 -0
  39. package/esm2022/lib/modules/shared/number-format/number-format-utility.mjs +72 -0
  40. package/esm2022/lib/modules/shared/sky-core-resources.module.mjs +50 -0
  41. package/esm2022/lib/modules/title/title.service.mjs +31 -0
  42. package/esm2022/lib/modules/trim/trim.directive.mjs +64 -0
  43. package/{esm2020 → esm2022}/lib/modules/trim/trim.module.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/modules/ui-config/ui-config.service.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-host-options.mjs +4 -4
  46. package/esm2022/lib/modules/viewkeeper/viewkeeper.directive.mjs +131 -0
  47. package/esm2022/lib/modules/viewkeeper/viewkeeper.mjs +283 -0
  48. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper.module.mjs +5 -5
  49. package/esm2022/lib/modules/viewkeeper/viewkeeper.service.mjs +39 -0
  50. package/{esm2020 → esm2022}/lib/modules/window/window-ref.mjs +4 -4
  51. package/esm2022/testing/core-testing.module.mjs +32 -0
  52. package/esm2022/testing/mock-media-query.service.mjs +46 -0
  53. package/{esm2020 → esm2022}/testing/mock-ui-config.service.mjs +4 -4
  54. package/esm2022/testing/overlay/overlay-harness.mjs +43 -0
  55. package/esm2022/testing/shared/component-harness.mjs +13 -0
  56. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs +28 -34
  57. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs.map +1 -1
  58. package/fesm2022/skyux-core.mjs +3858 -0
  59. package/fesm2022/skyux-core.mjs.map +1 -0
  60. package/lib/modules/affix/affix.directive.d.ts +1 -1
  61. package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +1 -1
  62. package/package.json +14 -22
  63. package/esm2020/lib/modules/adapter-service/adapter.service.mjs +0 -227
  64. package/esm2020/lib/modules/affix/affix.directive.mjs +0 -118
  65. package/esm2020/lib/modules/affix/affix.service.mjs +0 -28
  66. package/esm2020/lib/modules/affix/affixer.mjs +0 -377
  67. package/esm2020/lib/modules/default-input-provider/default-input-provider.mjs +0 -31
  68. package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +0 -83
  69. package/esm2020/lib/modules/dock/dock-item.mjs +0 -34
  70. package/esm2020/lib/modules/dock/dock.component.mjs +0 -110
  71. package/esm2020/lib/modules/dock/dock.service.mjs +0 -98
  72. package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +0 -109
  73. package/esm2020/lib/modules/id/id.directive.mjs +0 -34
  74. package/esm2020/lib/modules/layout-host/layout-host.service.mjs +0 -27
  75. package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +0 -80
  76. package/esm2020/lib/modules/log/log.service.mjs +0 -147
  77. package/esm2020/lib/modules/media-query/media-query.service.mjs +0 -124
  78. package/esm2020/lib/modules/numeric/numeric.pipe.mjs +0 -84
  79. package/esm2020/lib/modules/numeric/numeric.service.mjs +0 -179
  80. package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +0 -47
  81. package/esm2020/lib/modules/overlay/overlay-instance.mjs +0 -65
  82. package/esm2020/lib/modules/overlay/overlay.component.mjs +0 -192
  83. package/esm2020/lib/modules/overlay/overlay.service.mjs +0 -125
  84. package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +0 -59
  85. package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +0 -121
  86. package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +0 -79
  87. package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +0 -218
  88. package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +0 -72
  89. package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +0 -50
  90. package/esm2020/lib/modules/title/title.service.mjs +0 -34
  91. package/esm2020/lib/modules/trim/trim.directive.mjs +0 -65
  92. package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +0 -131
  93. package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +0 -276
  94. package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +0 -42
  95. package/esm2020/testing/core-testing.module.mjs +0 -32
  96. package/esm2020/testing/mock-media-query.service.mjs +0 -46
  97. package/esm2020/testing/overlay/overlay-harness.mjs +0 -43
  98. package/esm2020/testing/shared/component-harness.mjs +0 -19
  99. package/fesm2015/skyux-core-testing.mjs +0 -209
  100. package/fesm2015/skyux-core-testing.mjs.map +0 -1
  101. package/fesm2015/skyux-core.mjs +0 -3835
  102. package/fesm2015/skyux-core.mjs.map +0 -1
  103. package/fesm2020/skyux-core.mjs +0 -3825
  104. package/fesm2020/skyux-core.mjs.map +0 -1
  105. /package/{esm2020 → esm2022}/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/adapter-service/focusable-children-options.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/affix/affix-auto-fit-context.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/modules/affix/affix-config.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/modules/affix/affix-horizontal-alignment.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset-change.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement-change.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/modules/affix/affix-position.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/modules/affix/affix-rect.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/modules/affix/affix-utils.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/modules/affix/affix-vertical-alignment.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/modules/affix/dom-utils.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/modules/dock/dock-insert-component-config.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-config.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-reference.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/modules/dock/dock-location.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/modules/dock/dock-options.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/modules/dock/sort-by-stack-order.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-location.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-options.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/modules/layout-host/layout-host-for-child-args.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-args.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-politeness.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/modules/log/types/log-deprecation-args.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level-token.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/modules/media-query/media-breakpoints.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/modules/media-query/media-query-listener.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric-symbol.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric.options.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-config.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-context.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-position.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context-token.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/modules/title/set-title-args.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-offset.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-options.mjs +0 -0
  147. /package/{esm2020 → esm2022}/skyux-core.mjs +0 -0
  148. /package/{esm2020 → esm2022}/testing/overlay/overlay-harness-filters.mjs +0 -0
  149. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  150. /package/{esm2020 → esm2022}/testing/shared/harness-filters.mjs +0 -0
  151. /package/{esm2020 → esm2022}/testing/skyux-core-testing.mjs +0 -0
@@ -1,110 +0,0 @@
1
- var _SkyDockComponent_instances, _SkyDockComponent_changeDetector, _SkyDockComponent_domAdapter, _SkyDockComponent_elementRef, _SkyDockComponent_injector, _SkyDockComponent_itemRefs, _SkyDockComponent_options, _SkyDockComponent_sortItemsByStackOrder, _SkyDockComponent_getHighestStackOrder;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectionStrategy, Component, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
4
- import { SkyDockDomAdapterService } from './dock-dom-adapter.service';
5
- import { SkyDockLocation } from './dock-location';
6
- import { sortByStackOrder } from './sort-by-stack-order';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./dock-dom-adapter.service";
9
- /**
10
- * @internal
11
- */
12
- export class SkyDockComponent {
13
- constructor(changeDetector, elementRef, injector, domAdapter) {
14
- _SkyDockComponent_instances.add(this);
15
- _SkyDockComponent_changeDetector.set(this, void 0);
16
- _SkyDockComponent_domAdapter.set(this, void 0);
17
- _SkyDockComponent_elementRef.set(this, void 0);
18
- _SkyDockComponent_injector.set(this, void 0);
19
- _SkyDockComponent_itemRefs.set(this, []);
20
- _SkyDockComponent_options.set(this, void 0);
21
- __classPrivateFieldSet(this, _SkyDockComponent_changeDetector, changeDetector, "f");
22
- __classPrivateFieldSet(this, _SkyDockComponent_elementRef, elementRef, "f");
23
- __classPrivateFieldSet(this, _SkyDockComponent_injector, injector, "f");
24
- __classPrivateFieldSet(this, _SkyDockComponent_domAdapter, domAdapter, "f");
25
- }
26
- insertComponent(component, config = {}) {
27
- /*istanbul ignore if: untestable*/
28
- if (!this.target) {
29
- throw Error('[SkyDockComponent] Could not insert the component because the target element could not be found.');
30
- }
31
- const injector = Injector.create({
32
- providers: config.providers || [],
33
- parent: __classPrivateFieldGet(this, _SkyDockComponent_injector, "f"),
34
- });
35
- const componentRef = this.target.createComponent(component, {
36
- injector,
37
- });
38
- const stackOrder = config.stackOrder !== null && config.stackOrder !== undefined
39
- ? config.stackOrder
40
- : __classPrivateFieldGet(this, _SkyDockComponent_instances, "m", _SkyDockComponent_getHighestStackOrder).call(this);
41
- __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").push({
42
- componentRef,
43
- stackOrder,
44
- });
45
- __classPrivateFieldGet(this, _SkyDockComponent_instances, "m", _SkyDockComponent_sortItemsByStackOrder).call(this);
46
- __classPrivateFieldGet(this, _SkyDockComponent_changeDetector, "f").markForCheck();
47
- return {
48
- componentRef,
49
- stackOrder,
50
- };
51
- }
52
- removeItem(item) {
53
- /*istanbul ignore if: untestable*/
54
- if (!this.target) {
55
- throw Error('[SkyDockComponent] Could not remove the item because the target element could not be found.');
56
- }
57
- const viewRef = item.componentRef.hostView;
58
- this.target.remove(this.target.indexOf(viewRef));
59
- const found = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").find((i) => i.componentRef.hostView === viewRef);
60
- if (found) {
61
- __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").splice(__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").indexOf(found), 1);
62
- }
63
- }
64
- setOptions(options) {
65
- __classPrivateFieldSet(this, _SkyDockComponent_options, options, "f");
66
- switch (__classPrivateFieldGet(this, _SkyDockComponent_options, "f")?.location) {
67
- case SkyDockLocation.BeforeElement:
68
- __classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").unbindDock(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
69
- break;
70
- case SkyDockLocation.ElementBottom:
71
- __classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").setSticky(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
72
- break;
73
- case SkyDockLocation.BodyBottom:
74
- default:
75
- __classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").watchDomChanges(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
76
- break;
77
- }
78
- if (__classPrivateFieldGet(this, _SkyDockComponent_options, "f")?.zIndex) {
79
- __classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").setZIndex(__classPrivateFieldGet(this, _SkyDockComponent_options, "f").zIndex, __classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
80
- }
81
- }
82
- }
83
- _SkyDockComponent_changeDetector = new WeakMap(), _SkyDockComponent_domAdapter = new WeakMap(), _SkyDockComponent_elementRef = new WeakMap(), _SkyDockComponent_injector = new WeakMap(), _SkyDockComponent_itemRefs = new WeakMap(), _SkyDockComponent_options = new WeakMap(), _SkyDockComponent_instances = new WeakSet(), _SkyDockComponent_sortItemsByStackOrder = function _SkyDockComponent_sortItemsByStackOrder() {
84
- if (this.target) {
85
- __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").sort(sortByStackOrder);
86
- // Reassign the correct index for each view.
87
- for (let i = 0, len = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").length; i < len; i++) {
88
- const item = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f")[i];
89
- this.target.move(item.componentRef.hostView, i);
90
- }
91
- }
92
- }, _SkyDockComponent_getHighestStackOrder = function _SkyDockComponent_getHighestStackOrder() {
93
- if (__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").length === 0) {
94
- return 0;
95
- }
96
- return __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f")[0].stackOrder + 1;
97
- };
98
- SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
99
- SkyDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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 });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockComponent, decorators: [{
101
- type: Component,
102
- 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"] }]
103
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.SkyDockDomAdapterService }]; }, propDecorators: { target: [{
104
- type: ViewChild,
105
- args: ['target', {
106
- read: ViewContainerRef,
107
- static: true,
108
- }]
109
- }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxRQUFRLEVBRVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUV6RDs7R0FFRztBQVFILE1BQU0sT0FBTyxnQkFBZ0I7SUFtQjNCLFlBQ0UsY0FBaUMsRUFDakMsVUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsVUFBb0M7O1FBaEJ0QyxtREFBbUM7UUFFbkMsK0NBQXNDO1FBRXRDLCtDQUF3QjtRQUV4Qiw2Q0FBb0I7UUFFcEIscUNBQTZDLEVBQUUsRUFBQztRQUVoRCw0Q0FBcUM7UUFRbkMsdUJBQUEsSUFBSSxvQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSxnQ0FBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLDhCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksZ0NBQWUsVUFBVSxNQUFBLENBQUM7SUFDaEMsQ0FBQztJQUVNLGVBQWUsQ0FDcEIsU0FBa0IsRUFDbEIsU0FBdUMsRUFBRTtRQUV6QyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLElB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Q0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0Qyw0Q0FBNEM7UUFDNUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLHVCQUFBLElBQUksa0NBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6RCxNQUFNLElBQUksR0FBRyx1QkFBQSxJQUFJLGtDQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDakQ7S0FDRjtBQUNILENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksa0NBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFFRCxPQUFPLHVCQUFBLElBQUksa0NBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLENBQUM7NkdBaklVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1DQUhoQixDQUFDLHdCQUF3QixDQUFDLHVHQUs3QixnQkFBZ0IsMkNDOUIxQix5Q0FDQTsyRkQyQmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLFVBQVUsYUFHVCxDQUFDLHdCQUF3QixDQUFDLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOytMQU94QyxNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9kb2NrLWRvbS1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vZG9jay1pbnNlcnQtY29tcG9uZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEb2NrSXRlbVJlZmVyZW5jZSB9IGZyb20gJy4vZG9jay1pdGVtLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBTa3lEb2NrTG9jYXRpb24gfSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RG9ja09wdGlvbnMgfSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5pbXBvcnQgeyBzb3J0QnlTdGFja09yZGVyIH0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY2tDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjZG9tQWRhcHRlcjogU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI2l0ZW1SZWZzOiBTa3lEb2NrSXRlbVJlZmVyZW5jZTx1bmtub3duPltdID0gW107XG5cbiAgI29wdGlvbnM6IFNreURvY2tPcHRpb25zIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI2RvbUFkYXB0ZXIgPSBkb21BZGFwdGVyO1xuICB9XG5cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnOiBTa3lEb2NrSW5zZXJ0Q29tcG9uZW50Q29uZmlnID0ge31cbiAgKTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8VD4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1tTa3lEb2NrQ29tcG9uZW50XSBDb3VsZCBub3QgaW5zZXJ0IHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgdGFyZ2V0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBjb25maWcucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgcGFyZW50OiB0aGlzLiNpbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudDxUPihjb21wb25lbnQsIHtcbiAgICAgIGluamVjdG9yLFxuICAgIH0pO1xuICAgIGNvbnN0IHN0YWNrT3JkZXIgPVxuICAgICAgY29uZmlnLnN0YWNrT3JkZXIgIT09IG51bGwgJiYgY29uZmlnLnN0YWNrT3JkZXIgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGNvbmZpZy5zdGFja09yZGVyXG4gICAgICAgIDogdGhpcy4jZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuI2l0ZW1SZWZzLnB1c2goe1xuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgc3RhY2tPcmRlcixcbiAgICB9KTtcblxuICAgIHRoaXMuI3NvcnRJdGVtc0J5U3RhY2tPcmRlcigpO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgc3RhY2tPcmRlcixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUl0ZW0oaXRlbTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55Pik6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1tTa3lEb2NrQ29tcG9uZW50XSBDb3VsZCBub3QgcmVtb3ZlIHRoZSBpdGVtIGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdSZWYgPSBpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldztcbiAgICB0aGlzLnRhcmdldC5yZW1vdmUodGhpcy50YXJnZXQuaW5kZXhPZih2aWV3UmVmKSk7XG5cbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuI2l0ZW1SZWZzLmZpbmQoXG4gICAgICAoaSkgPT4gaS5jb21wb25lbnRSZWYuaG9zdFZpZXcgPT09IHZpZXdSZWZcbiAgICApO1xuXG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICB0aGlzLiNpdGVtUmVmcy5zcGxpY2UodGhpcy4jaXRlbVJlZnMuaW5kZXhPZihmb3VuZCksIDEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRPcHRpb25zKG9wdGlvbnM6IFNreURvY2tPcHRpb25zIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jb3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICBzd2l0Y2ggKHRoaXMuI29wdGlvbnM/LmxvY2F0aW9uKSB7XG4gICAgICBjYXNlIFNreURvY2tMb2NhdGlvbi5CZWZvcmVFbGVtZW50OlxuICAgICAgICB0aGlzLiNkb21BZGFwdGVyLnVuYmluZERvY2sodGhpcy4jZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgdGhpcy4jZG9tQWRhcHRlci5zZXRTdGlja3kodGhpcy4jZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQm9keUJvdHRvbTpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuI2RvbUFkYXB0ZXIud2F0Y2hEb21DaGFuZ2VzKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jb3B0aW9ucz8uekluZGV4KSB7XG4gICAgICB0aGlzLiNkb21BZGFwdGVyLnNldFpJbmRleCh0aGlzLiNvcHRpb25zLnpJbmRleCwgdGhpcy4jZWxlbWVudFJlZik7XG4gICAgfVxuICB9XG5cbiAgI3NvcnRJdGVtc0J5U3RhY2tPcmRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIHRoaXMuI2l0ZW1SZWZzLnNvcnQoc29ydEJ5U3RhY2tPcmRlcik7XG5cbiAgICAgIC8vIFJlYXNzaWduIHRoZSBjb3JyZWN0IGluZGV4IGZvciBlYWNoIHZpZXcuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy4jaXRlbVJlZnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuI2l0ZW1SZWZzW2ldO1xuICAgICAgICB0aGlzLnRhcmdldC5tb3ZlKGl0ZW0uY29tcG9uZW50UmVmLmhvc3RWaWV3LCBpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy4jaXRlbVJlZnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jaXRlbVJlZnNbMF0uc3RhY2tPcmRlciArIDE7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgI3RhcmdldD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,98 +0,0 @@
1
- var _SkyDockService_instances, _SkyDockService_dynamicComponentSvc, _SkyDockService_options, _SkyDockService_createDock, _SkyDockService_destroyDock;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Injectable } from '@angular/core';
4
- import { SkyDynamicComponentLocation } from '../dynamic-component/dynamic-component-location';
5
- import { SkyDockItem } from './dock-item';
6
- import { SkyDockLocation } from './dock-location';
7
- import { SkyDockComponent } from './dock.component';
8
- import { sortByStackOrder } from './sort-by-stack-order';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../dynamic-component/dynamic-component.service";
11
- /**
12
- * This service docks components to specific areas on the page.
13
- */
14
- export class SkyDockService {
15
- /**
16
- * Returns all docked items.
17
- */
18
- get items() {
19
- return SkyDockService._items;
20
- }
21
- constructor(dynamicComponentSvc) {
22
- _SkyDockService_instances.add(this);
23
- _SkyDockService_dynamicComponentSvc.set(this, void 0);
24
- _SkyDockService_options.set(this, void 0);
25
- __classPrivateFieldSet(this, _SkyDockService_dynamicComponentSvc, dynamicComponentSvc, "f");
26
- }
27
- /**
28
- * Docks a component to the bottom of the page.
29
- * @param component The component to dock.
30
- * @param config Options that affect the docking action.
31
- */
32
- insertComponent(component, config) {
33
- const dockRef = (SkyDockService.dockRef =
34
- SkyDockService.dockRef || __classPrivateFieldGet(this, _SkyDockService_instances, "m", _SkyDockService_createDock).call(this));
35
- const itemRef = dockRef.instance.insertComponent(component, config);
36
- const item = new SkyDockItem(itemRef.componentRef.instance, itemRef.stackOrder);
37
- item.destroyed.subscribe(() => {
38
- dockRef.instance.removeItem(itemRef);
39
- SkyDockService._items.splice(SkyDockService._items.indexOf(item), 1);
40
- if (SkyDockService._items.length === 0) {
41
- __classPrivateFieldGet(this, _SkyDockService_instances, "m", _SkyDockService_destroyDock).call(this);
42
- }
43
- });
44
- SkyDockService._items.push(item);
45
- SkyDockService._items.sort(sortByStackOrder);
46
- return item;
47
- }
48
- /**
49
- * Sets options for the positioning and styling of the dock component. Since the dock service is a
50
- * singleton instance, these options will be applied to all components inserted into the dock. In
51
- * order to create a separate dock with different options, consumers should provide a different
52
- * instance of the dock service.
53
- * @param options The options for positioning and styling
54
- */
55
- setDockOptions(options) {
56
- __classPrivateFieldSet(this, _SkyDockService_options, options, "f");
57
- }
58
- }
59
- _SkyDockService_dynamicComponentSvc = new WeakMap(), _SkyDockService_options = new WeakMap(), _SkyDockService_instances = new WeakSet(), _SkyDockService_createDock = function _SkyDockService_createDock() {
60
- let dockOptions;
61
- if (__classPrivateFieldGet(this, _SkyDockService_options, "f")) {
62
- let dynamicLocation;
63
- switch (__classPrivateFieldGet(this, _SkyDockService_options, "f").location) {
64
- case SkyDockLocation.BeforeElement:
65
- dynamicLocation = SkyDynamicComponentLocation.BeforeElement;
66
- break;
67
- case SkyDockLocation.ElementBottom:
68
- dynamicLocation = SkyDynamicComponentLocation.ElementBottom;
69
- break;
70
- default:
71
- dynamicLocation = SkyDynamicComponentLocation.BodyTop;
72
- break;
73
- }
74
- dockOptions = {
75
- location: dynamicLocation,
76
- referenceEl: __classPrivateFieldGet(this, _SkyDockService_options, "f").referenceEl,
77
- };
78
- }
79
- const dockRef = __classPrivateFieldGet(this, _SkyDockService_dynamicComponentSvc, "f").createComponent(SkyDockComponent, dockOptions);
80
- dockRef.instance.setOptions(__classPrivateFieldGet(this, _SkyDockService_options, "f"));
81
- return dockRef;
82
- }, _SkyDockService_destroyDock = function _SkyDockService_destroyDock() {
83
- __classPrivateFieldGet(this, _SkyDockService_dynamicComponentSvc, "f").removeComponent(SkyDockService.dockRef);
84
- SkyDockService.dockRef = undefined;
85
- };
86
- SkyDockService._items = [];
87
- SkyDockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
88
- SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockService, providedIn: 'any' });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDockService, decorators: [{
90
- type: Injectable,
91
- args: [{
92
- // Must be 'any' so that the dock component is created in the context of its module's injector.
93
- // If set to 'root', the component's dependency injections would only be derived from the root
94
- // injector and may loose context if the dock was opened from within a lazy-loaded module.
95
- providedIn: 'any',
96
- }]
97
- }], ctorParameters: function () { return [{ type: i1.SkyDynamicComponentService }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2RvY2svZG9jay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFLOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUV6RDs7R0FFRztBQU9ILE1BQU0sT0FBTyxjQUFjO0lBSXpCOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFNRCxZQUFZLG1CQUErQzs7UUFKM0Qsc0RBQWlEO1FBRWpELDBDQUFxQztRQUduQyx1QkFBQSxJQUFJLHVDQUF3QixtQkFBbUIsTUFBQSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixNQUFxQztRQUVyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQ3JDLGNBQWMsQ0FBQyxPQUFPLElBQUksdUJBQUEsSUFBSSw2REFBWSxNQUFoQixJQUFJLENBQWMsQ0FBQyxDQUFDO1FBRWhELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLFdBQVcsQ0FDMUIsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLHVCQUFBLElBQUksOERBQWEsTUFBakIsSUFBSSxDQUFlLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYyxDQUFDLE9BQXVCO1FBQzNDLHVCQUFBLElBQUksMkJBQVksT0FBTyxNQUFBLENBQUM7SUFDMUIsQ0FBQzs7O0lBR0MsSUFBSSxXQUFtRCxDQUFDO0lBRXhELElBQUksdUJBQUEsSUFBSSwrQkFBUyxFQUFFO1FBQ2pCLElBQUksZUFBNEMsQ0FBQztRQUNqRCxRQUFRLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDOUIsS0FBSyxlQUFlLENBQUMsYUFBYTtnQkFDaEMsZUFBZSxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztnQkFDNUQsTUFBTTtZQUNSLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQ2hDLGVBQWUsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUM7Z0JBQzVELE1BQU07WUFDUjtnQkFDRSxlQUFlLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDO2dCQUN0RCxNQUFNO1NBQ1Q7UUFFRCxXQUFXLEdBQUc7WUFDWixRQUFRLEVBQUUsZUFBZTtZQUN6QixXQUFXLEVBQUUsdUJBQUEsSUFBSSwrQkFBUyxDQUFDLFdBQVc7U0FDdkMsQ0FBQztLQUNIO0lBRUQsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSwyQ0FBcUIsQ0FBQyxlQUFlLENBQ3ZELGdCQUFnQixFQUNoQixXQUFXLENBQ1osQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7SUFHQyx1QkFBQSxJQUFJLDJDQUFxQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsY0FBYyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDckMsQ0FBQztBQWhHYyxxQkFBTSxHQUF1QixFQUFFLENBQUM7MkdBRnBDLGNBQWM7K0dBQWQsY0FBYyxjQUZiLEtBQUs7MkZBRU4sY0FBYztrQkFOMUIsVUFBVTttQkFBQztvQkFDViwrRkFBK0Y7b0JBQy9GLDhGQUE4RjtvQkFDOUYsMEZBQTBGO29CQUMxRixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuLi9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmltcG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW0gfSBmcm9tICcuL2RvY2staXRlbSc7XG5pbXBvcnQgeyBTa3lEb2NrTG9jYXRpb24gfSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RG9ja09wdGlvbnMgfSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9kb2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzb3J0QnlTdGFja09yZGVyIH0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgZG9ja3MgY29tcG9uZW50cyB0byBzcGVjaWZpYyBhcmVhcyBvbiB0aGUgcGFnZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIGRvY2sgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9vc2UgY29udGV4dCBpZiB0aGUgZG9jayB3YXMgb3BlbmVkIGZyb20gd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9ja1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBkb2NrUmVmOiBDb21wb25lbnRSZWY8U2t5RG9ja0NvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3RhdGljIF9pdGVtczogU2t5RG9ja0l0ZW08YW55PltdID0gW107XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGRvY2tlZCBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogU2t5RG9ja0l0ZW08YW55PltdIHtcbiAgICByZXR1cm4gU2t5RG9ja1NlcnZpY2UuX2l0ZW1zO1xuICB9XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTdmM6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuXG4gICNvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihkeW5hbWljQ29tcG9uZW50U3ZjOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMgPSBkeW5hbWljQ29tcG9uZW50U3ZjO1xuICB9XG5cbiAgLyoqXG4gICAqIERvY2tzIGEgY29tcG9uZW50IHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBkb2NrLlxuICAgKiBAcGFyYW0gY29uZmlnIE9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGRvY2tpbmcgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZ1xuICApOiBTa3lEb2NrSXRlbTxUPiB7XG4gICAgY29uc3QgZG9ja1JlZiA9IChTa3lEb2NrU2VydmljZS5kb2NrUmVmID1cbiAgICAgIFNreURvY2tTZXJ2aWNlLmRvY2tSZWYgfHwgdGhpcy4jY3JlYXRlRG9jaygpKTtcblxuICAgIGNvbnN0IGl0ZW1SZWYgPSBkb2NrUmVmLmluc3RhbmNlLmluc2VydENvbXBvbmVudChjb21wb25lbnQsIGNvbmZpZyk7XG4gICAgY29uc3QgaXRlbSA9IG5ldyBTa3lEb2NrSXRlbShcbiAgICAgIGl0ZW1SZWYuY29tcG9uZW50UmVmLmluc3RhbmNlLFxuICAgICAgaXRlbVJlZi5zdGFja09yZGVyXG4gICAgKTtcblxuICAgIGl0ZW0uZGVzdHJveWVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBkb2NrUmVmLmluc3RhbmNlLnJlbW92ZUl0ZW0oaXRlbVJlZik7XG4gICAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc3BsaWNlKFNreURvY2tTZXJ2aWNlLl9pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICAgIGlmIChTa3lEb2NrU2VydmljZS5faXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lEb2NrKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMucHVzaChpdGVtKTtcbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc29ydChzb3J0QnlTdGFja09yZGVyKTtcblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgb3B0aW9ucyBmb3IgdGhlIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nIG9mIHRoZSBkb2NrIGNvbXBvbmVudC4gU2luY2UgdGhlIGRvY2sgc2VydmljZSBpcyBhXG4gICAqIHNpbmdsZXRvbiBpbnN0YW5jZSwgdGhlc2Ugb3B0aW9ucyB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGNvbXBvbmVudHMgaW5zZXJ0ZWQgaW50byB0aGUgZG9jay4gSW5cbiAgICogb3JkZXIgdG8gY3JlYXRlIGEgc2VwYXJhdGUgZG9jayB3aXRoIGRpZmZlcmVudCBvcHRpb25zLCBjb25zdW1lcnMgc2hvdWxkIHByb3ZpZGUgYSBkaWZmZXJlbnRcbiAgICogaW5zdGFuY2Ugb2YgdGhlIGRvY2sgc2VydmljZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nXG4gICAqL1xuICBwdWJsaWMgc2V0RG9ja09wdGlvbnMob3B0aW9uczogU2t5RG9ja09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLiNvcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gICNjcmVhdGVEb2NrKCk6IENvbXBvbmVudFJlZjxTa3lEb2NrQ29tcG9uZW50PiB7XG4gICAgbGV0IGRvY2tPcHRpb25zOiBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLiNvcHRpb25zKSB7XG4gICAgICBsZXQgZHluYW1pY0xvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb247XG4gICAgICBzd2l0Y2ggKHRoaXMuI29wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQm9keVRvcDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgZG9ja09wdGlvbnMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiBkeW5hbWljTG9jYXRpb24sXG4gICAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLiNvcHRpb25zLnJlZmVyZW5jZUVsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBkb2NrUmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lEb2NrQ29tcG9uZW50LFxuICAgICAgZG9ja09wdGlvbnNcbiAgICApO1xuXG4gICAgZG9ja1JlZi5pbnN0YW5jZS5zZXRPcHRpb25zKHRoaXMuI29wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGRvY2tSZWY7XG4gIH1cblxuICAjZGVzdHJveURvY2soKTogdm9pZCB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5yZW1vdmVDb21wb25lbnQoU2t5RG9ja1NlcnZpY2UuZG9ja1JlZik7XG4gICAgU2t5RG9ja1NlcnZpY2UuZG9ja1JlZiA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,109 +0,0 @@
1
- var _SkyDynamicComponentService_instances, _SkyDynamicComponentService_applicationRef, _SkyDynamicComponentService_environmentInjector, _SkyDynamicComponentService_injector, _SkyDynamicComponentService_renderer, _SkyDynamicComponentService_windowRef, _SkyDynamicComponentService_getRootNode;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Injectable, Injector, createComponent, } from '@angular/core';
4
- import { SkyDynamicComponentLocation } from './dynamic-component-location';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../window/window-ref";
7
- /**
8
- * Angular service for creating and rendering a dynamic component.
9
- * @internal
10
- */
11
- export class SkyDynamicComponentService {
12
- constructor(applicationRef, injector, windowRef, rendererFactory, environmentInjector) {
13
- _SkyDynamicComponentService_instances.add(this);
14
- _SkyDynamicComponentService_applicationRef.set(this, void 0);
15
- _SkyDynamicComponentService_environmentInjector.set(this, void 0);
16
- _SkyDynamicComponentService_injector.set(this, void 0);
17
- _SkyDynamicComponentService_renderer.set(this, void 0);
18
- _SkyDynamicComponentService_windowRef.set(this, void 0);
19
- __classPrivateFieldSet(this, _SkyDynamicComponentService_applicationRef, applicationRef, "f");
20
- __classPrivateFieldSet(this, _SkyDynamicComponentService_injector, injector, "f");
21
- __classPrivateFieldSet(this, _SkyDynamicComponentService_windowRef, windowRef, "f");
22
- __classPrivateFieldSet(this, _SkyDynamicComponentService_environmentInjector, environmentInjector, "f");
23
- // Based on suggestions from https://github.com/angular/angular/issues/17824
24
- // for accessing an instance of Renderer2 in a service since Renderer2 can't
25
- // be injected into a service. Passing undefined for both parameters results
26
- // in the default renderer which is what we want here.
27
- __classPrivateFieldSet(this, _SkyDynamicComponentService_renderer, rendererFactory.createRenderer(undefined, null), "f");
28
- }
29
- /**
30
- * Creates an instance of the specified component and adds it to the specified location
31
- * on the page.
32
- */
33
- createComponent(componentType, options) {
34
- options = options || {
35
- location: SkyDynamicComponentLocation.BodyBottom,
36
- };
37
- const injector = Injector.create({
38
- providers: options.providers || [],
39
- parent: options.parentInjector || __classPrivateFieldGet(this, _SkyDynamicComponentService_injector, "f"),
40
- });
41
- let componentRef;
42
- if (options.viewContainerRef) {
43
- componentRef = options.viewContainerRef.createComponent(componentType, {
44
- injector,
45
- });
46
- }
47
- else {
48
- componentRef = createComponent(componentType, {
49
- environmentInjector: __classPrivateFieldGet(this, _SkyDynamicComponentService_environmentInjector, "f"),
50
- elementInjector: injector,
51
- });
52
- __classPrivateFieldGet(this, _SkyDynamicComponentService_applicationRef, "f").attachView(componentRef.hostView);
53
- const el = __classPrivateFieldGet(this, _SkyDynamicComponentService_instances, "m", _SkyDynamicComponentService_getRootNode).call(this, componentRef);
54
- const bodyEl = __classPrivateFieldGet(this, _SkyDynamicComponentService_windowRef, "f").nativeWindow.document.body;
55
- switch (options.location) {
56
- case SkyDynamicComponentLocation.BeforeElement:
57
- if (!options.referenceEl) {
58
- throw new Error('[SkyDynamicComponentService] Could not create a component at location `SkyDynamicComponentLocation.BeforeElement` because a reference element was not provided.');
59
- }
60
- __classPrivateFieldGet(this, _SkyDynamicComponentService_renderer, "f").insertBefore(options.referenceEl.parentElement, el, options.referenceEl);
61
- break;
62
- case SkyDynamicComponentLocation.ElementTop:
63
- if (!options.referenceEl) {
64
- throw new Error('[SkyDynamicComponentService] Could not create a component at location `SkyDynamicComponentLocation.ElementTop` because a reference element was not provided.');
65
- }
66
- __classPrivateFieldGet(this, _SkyDynamicComponentService_renderer, "f").insertBefore(options.referenceEl, el, options.referenceEl.firstChild);
67
- break;
68
- case SkyDynamicComponentLocation.ElementBottom:
69
- __classPrivateFieldGet(this, _SkyDynamicComponentService_renderer, "f").appendChild(options.referenceEl, el);
70
- break;
71
- case SkyDynamicComponentLocation.BodyTop:
72
- __classPrivateFieldGet(this, _SkyDynamicComponentService_renderer, "f").insertBefore(bodyEl, el, bodyEl.firstChild);
73
- break;
74
- default:
75
- __classPrivateFieldGet(this, _SkyDynamicComponentService_renderer, "f").appendChild(bodyEl, el);
76
- break;
77
- }
78
- }
79
- return componentRef;
80
- }
81
- /**
82
- * Removes a component ref from the page
83
- * @param componentRef Component ref for the component being removed
84
- */
85
- removeComponent(componentRef) {
86
- if (!componentRef) {
87
- return;
88
- }
89
- __classPrivateFieldGet(this, _SkyDynamicComponentService_applicationRef, "f").detachView(componentRef.hostView);
90
- componentRef.destroy();
91
- }
92
- }
93
- _SkyDynamicComponentService_applicationRef = new WeakMap(), _SkyDynamicComponentService_environmentInjector = new WeakMap(), _SkyDynamicComponentService_injector = new WeakMap(), _SkyDynamicComponentService_renderer = new WeakMap(), _SkyDynamicComponentService_windowRef = new WeakMap(), _SkyDynamicComponentService_instances = new WeakSet(), _SkyDynamicComponentService_getRootNode = function _SkyDynamicComponentService_getRootNode(componentRef) {
94
- // Technique for retrieving the component's root node taken from here:
95
- // https://malcoded.com/posts/angular-dynamic-components
96
- return componentRef.hostView.rootNodes[0];
97
- };
98
- SkyDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.SkyAppWindowRef }, { token: i0.RendererFactory2 }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
99
- SkyDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentService, providedIn: 'any' });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDynamicComponentService, decorators: [{
101
- type: Injectable,
102
- args: [{
103
- // Must be 'any' so that the component is created in the context of its module's injector.
104
- // If set to 'root', the component's dependency injections would only be derived from the root
105
- // injector and may lose context if the component is created within a lazy-loaded module.
106
- providedIn: 'any',
107
- }]
108
- }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.SkyAppWindowRef }, { type: i0.RendererFactory2 }, { type: i0.EnvironmentInjector }]; } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUtMLFVBQVUsRUFDVixRQUFRLEVBSVIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRzNFOzs7R0FHRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFDRSxjQUE4QixFQUM5QixRQUFrQixFQUNsQixTQUEwQixFQUMxQixlQUFpQyxFQUNqQyxtQkFBd0M7O1FBZjFDLDZEQUFnQztRQUVoQyxrRUFBMEM7UUFFMUMsdURBQW9CO1FBRXBCLHVEQUFxQjtRQUVyQix3REFBNEI7UUFTMUIsdUJBQUEsSUFBSSw4Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSx3Q0FBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1QkFBQSxJQUFJLHlDQUFjLFNBQVMsTUFBQSxDQUFDO1FBQzVCLHVCQUFBLElBQUksbURBQXdCLG1CQUFtQixNQUFBLENBQUM7UUFFaEQsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0Usc0RBQXNEO1FBQ3RELHVCQUFBLElBQUksd0NBQWEsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQUEsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZSxDQUNwQixhQUFzQixFQUN0QixPQUFvQztRQUVwQyxPQUFPLEdBQUcsT0FBTyxJQUFJO1lBQ25CLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxVQUFVO1NBQ2pELENBQUM7UUFF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LDBCQUEwQjtrQkFOdEMsVUFBVTttQkFBQztvQkFDViwwRkFBMEY7b0JBQzFGLDhGQUE4RjtvQkFDOUYseUZBQXlGO29CQUN6RixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFR5cGUsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4uL3dpbmRvdy93aW5kb3ctcmVmJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1sb2NhdGlvbic7XG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQtb3B0aW9ucyc7XG5cbi8qKlxuICogQW5ndWxhciBzZXJ2aWNlIGZvciBjcmVhdGluZyBhbmQgcmVuZGVyaW5nIGEgZHluYW1pYyBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIGNvbXBvbmVudCBpcyBjcmVhdGVkIGluIHRoZSBjb250ZXh0IG9mIGl0cyBtb2R1bGUncyBpbmplY3Rvci5cbiAgLy8gSWYgc2V0IHRvICdyb290JywgdGhlIGNvbXBvbmVudCdzIGRlcGVuZGVuY3kgaW5qZWN0aW9ucyB3b3VsZCBvbmx5IGJlIGRlcml2ZWQgZnJvbSB0aGUgcm9vdFxuICAvLyBpbmplY3RvciBhbmQgbWF5IGxvc2UgY29udGV4dCBpZiB0aGUgY29tcG9uZW50IGlzIGNyZWF0ZWQgd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmO1xuXG4gICNlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIGVudmlyb25tZW50SW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYgPSBhcHBsaWNhdGlvblJlZjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yID0gZW52aXJvbm1lbnRJbmplY3RvcjtcblxuICAgIC8vIEJhc2VkIG9uIHN1Z2dlc3Rpb25zIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTc4MjRcbiAgICAvLyBmb3IgYWNjZXNzaW5nIGFuIGluc3RhbmNlIG9mIFJlbmRlcmVyMiBpbiBhIHNlcnZpY2Ugc2luY2UgUmVuZGVyZXIyIGNhbid0XG4gICAgLy8gYmUgaW5qZWN0ZWQgaW50byBhIHNlcnZpY2UuICBQYXNzaW5nIHVuZGVmaW5lZCBmb3IgYm90aCBwYXJhbWV0ZXJzIHJlc3VsdHNcbiAgICAvLyBpbiB0aGUgZGVmYXVsdCByZW5kZXJlciB3aGljaCBpcyB3aGF0IHdlIHdhbnQgaGVyZS5cbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgYW5kIGFkZHMgaXQgdG8gdGhlIHNwZWNpZmllZCBsb2NhdGlvblxuICAgKiBvbiB0aGUgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVDb21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50VHlwZTogVHlwZTxUPixcbiAgICBvcHRpb25zPzogU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnNcbiAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7XG4gICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlCb3R0b20sXG4gICAgfTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogb3B0aW9ucy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IG9wdGlvbnMucGFyZW50SW5qZWN0b3IgfHwgdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBsZXQgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD47XG5cbiAgICBpZiAob3B0aW9ucy52aWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICBjb21wb25lbnRSZWYgPSBvcHRpb25zLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUsIHtcbiAgICAgICAgaW5qZWN0b3IsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFR5cGUsIHtcbiAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgICAgZWxlbWVudEluamVjdG9yOiBpbmplY3RvcixcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgIGNvbnN0IGVsID0gdGhpcy4jZ2V0Um9vdE5vZGUoY29tcG9uZW50UmVmKTtcblxuICAgICAgY29uc3QgYm9keUVsID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5O1xuXG4gICAgICBzd2l0Y2ggKG9wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgICBpZiAoIW9wdGlvbnMucmVmZXJlbmNlRWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJlZm9yZUVsZW1lbnRgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbC5wYXJlbnRFbGVtZW50LFxuICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICBvcHRpb25zLnJlZmVyZW5jZUVsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudFRvcDpcbiAgICAgICAgICBpZiAoIW9wdGlvbnMucmVmZXJlbmNlRWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRUb3BgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbCxcbiAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbC5maXJzdENoaWxkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChvcHRpb25zLnJlZmVyZW5jZUVsLCBlbCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlUb3A6XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKGJvZHlFbCwgZWwsIGJvZHlFbC5maXJzdENoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5hcHBlbmRDaGlsZChib2R5RWwsIGVsKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBjb21wb25lbnQgcmVmIGZyb20gdGhlIHBhZ2VcbiAgICogQHBhcmFtIGNvbXBvbmVudFJlZiBDb21wb25lbnQgcmVmIGZvciB0aGUgY29tcG9uZW50IGJlaW5nIHJlbW92ZWRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVDb21wb25lbnQ8VD4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIWNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG5cbiAgI2dldFJvb3ROb2RlPFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+KTogYW55IHtcbiAgICAvLyBUZWNobmlxdWUgZm9yIHJldHJpZXZpbmcgdGhlIGNvbXBvbmVudCdzIHJvb3Qgbm9kZSB0YWtlbiBmcm9tIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9tYWxjb2RlZC5jb20vcG9zdHMvYW5ndWxhci1keW5hbWljLWNvbXBvbmVudHNcbiAgICByZXR1cm4gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8VD4pLnJvb3ROb2Rlc1swXTtcbiAgfVxufVxuIl19
@@ -1,34 +0,0 @@
1
- var _SkyIdDirective__id;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Directive } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./id.service";
6
- /**
7
- * Sets the element's `id` attribute to a unique ID. To reference this unique ID on other elements,
8
- * such as in a `label` element's `for` attribute, assign this directive to a template reference
9
- * variable, then use its `id` property.
10
- */
11
- export class SkyIdDirective {
12
- get id() {
13
- return __classPrivateFieldGet(this, _SkyIdDirective__id, "f");
14
- }
15
- constructor(elRef, renderer, idSvc) {
16
- _SkyIdDirective__id.set(this, void 0);
17
- // Generate and apply the ID before the template is rendered
18
- // to avoid a changed-after-checked error.
19
- const id = idSvc.generateId();
20
- renderer.setAttribute(elRef.nativeElement, 'id', id);
21
- __classPrivateFieldSet(this, _SkyIdDirective__id, id, "f");
22
- }
23
- }
24
- _SkyIdDirective__id = new WeakMap();
25
- SkyIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyIdService }], target: i0.ɵɵFactoryTarget.Directive });
26
- SkyIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyIdDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[skyId]',
31
- exportAs: 'skyId',
32
- }]
33
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyIdService }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2lkL2lkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDOzs7QUFJakU7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxjQUFjO0lBQ3pCLElBQVcsRUFBRTtRQUNYLE9BQU8sdUJBQUEsSUFBSSwyQkFBSyxDQUFDO0lBQ25CLENBQUM7SUFJRCxZQUFZLEtBQWlCLEVBQUUsUUFBbUIsRUFBRSxLQUFtQjtRQUZ2RSxzQ0FBYTtRQUdYLDREQUE0RDtRQUM1RCwwQ0FBMEM7UUFDMUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlCLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsdUJBQUEsSUFBSSx1QkFBUSxFQUFFLE1BQUEsQ0FBQztJQUNqQixDQUFDOzs7MkdBZlUsY0FBYzsrRkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxPQUFPO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbi8qKlxuICogU2V0cyB0aGUgZWxlbWVudCdzIGBpZGAgYXR0cmlidXRlIHRvIGEgdW5pcXVlIElELiBUbyByZWZlcmVuY2UgdGhpcyB1bmlxdWUgSUQgb24gb3RoZXIgZWxlbWVudHMsXG4gKiBzdWNoIGFzIGluIGEgYGxhYmVsYCBlbGVtZW50J3MgYGZvcmAgYXR0cmlidXRlLCBhc3NpZ24gdGhpcyBkaXJlY3RpdmUgdG8gYSB0ZW1wbGF0ZSByZWZlcmVuY2VcbiAqIHZhcmlhYmxlLCB0aGVuIHVzZSBpdHMgYGlkYCBwcm9wZXJ0eS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUlkXScsXG4gIGV4cG9ydEFzOiAnc2t5SWQnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJZERpcmVjdGl2ZSB7XG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2lkO1xuICB9XG5cbiAgI19pZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVsUmVmOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyLCBpZFN2YzogU2t5SWRTZXJ2aWNlKSB7XG4gICAgLy8gR2VuZXJhdGUgYW5kIGFwcGx5IHRoZSBJRCBiZWZvcmUgdGhlIHRlbXBsYXRlIGlzIHJlbmRlcmVkXG4gICAgLy8gdG8gYXZvaWQgYSBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3IuXG4gICAgY29uc3QgaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxSZWYubmF0aXZlRWxlbWVudCwgJ2lkJywgaWQpO1xuXG4gICAgdGhpcy4jX2lkID0gaWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- var _SkyLayoutHostService_hostLayoutForChild, _SkyLayoutHostService_hostLayoutForChildObs;
2
- import { __classPrivateFieldGet } from "tslib";
3
- import { Injectable } from '@angular/core';
4
- import { Subject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * @internal
8
- */
9
- export class SkyLayoutHostService {
10
- constructor() {
11
- _SkyLayoutHostService_hostLayoutForChild.set(this, new Subject());
12
- _SkyLayoutHostService_hostLayoutForChildObs.set(this, __classPrivateFieldGet(this, _SkyLayoutHostService_hostLayoutForChild, "f").asObservable());
13
- }
14
- get hostLayoutForChild() {
15
- return __classPrivateFieldGet(this, _SkyLayoutHostService_hostLayoutForChildObs, "f");
16
- }
17
- setHostLayoutForChild(layout) {
18
- __classPrivateFieldGet(this, _SkyLayoutHostService_hostLayoutForChild, "f").next(layout);
19
- }
20
- }
21
- _SkyLayoutHostService_hostLayoutForChild = new WeakMap(), _SkyLayoutHostService_hostLayoutForChildObs = new WeakMap();
22
- SkyLayoutHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLayoutHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- SkyLayoutHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLayoutHostService });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLayoutHostService, decorators: [{
25
- type: Injectable
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhvc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQtaG9zdC9sYXlvdXQtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUkzQzs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFNRSxtREFBc0IsSUFBSSxPQUFPLEVBQTZCLEVBQUM7UUFDL0Qsc0RBQXlCLHVCQUFBLElBQUksZ0RBQW9CLENBQUMsWUFBWSxFQUFFLEVBQUM7S0FLbEU7SUFWQyxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLHVCQUFBLElBQUksbURBQXVCLENBQUM7SUFDckMsQ0FBQztJQUtNLHFCQUFxQixDQUFDLE1BQWlDO1FBQzVELHVCQUFBLElBQUksZ0RBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OztpSEFWVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUxheW91dEhvc3RGb3JDaGlsZEFyZ3MgfSBmcm9tICcuL2xheW91dC1ob3N0LWZvci1jaGlsZC1hcmdzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUxheW91dEhvc3RTZXJ2aWNlIHtcbiAgcHVibGljIGdldCBob3N0TGF5b3V0Rm9yQ2hpbGQoKTogT2JzZXJ2YWJsZTxTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3RMYXlvdXRGb3JDaGlsZE9icztcbiAgfVxuXG4gICNob3N0TGF5b3V0Rm9yQ2hpbGQgPSBuZXcgU3ViamVjdDxTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzPigpO1xuICAjaG9zdExheW91dEZvckNoaWxkT2JzID0gdGhpcy4jaG9zdExheW91dEZvckNoaWxkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBzZXRIb3N0TGF5b3V0Rm9yQ2hpbGQobGF5b3V0OiBTa3lMYXlvdXRIb3N0Rm9yQ2hpbGRBcmdzKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdExheW91dEZvckNoaWxkLm5leHQobGF5b3V0KTtcbiAgfVxufVxuIl19
@@ -1,80 +0,0 @@
1
- var _SkyLiveAnnouncerService_instances, _SkyLiveAnnouncerService_announcerElement, _SkyLiveAnnouncerService_document, _SkyLiveAnnouncerService_idService, _SkyLiveAnnouncerService_createLiveElement;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { DOCUMENT } from '@angular/common';
4
- import { Injectable, inject } from '@angular/core';
5
- import { ReplaySubject } from 'rxjs';
6
- import { SkyIdService } from '../id/id.service';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Allows for announcing messages to screen reader users through the use of a common `aria-live` element.
10
- * @internal
11
- */
12
- export class SkyLiveAnnouncerService {
13
- constructor() {
14
- _SkyLiveAnnouncerService_instances.add(this);
15
- this.announcerElementChanged = new ReplaySubject(1);
16
- _SkyLiveAnnouncerService_announcerElement.set(this, void 0);
17
- _SkyLiveAnnouncerService_document.set(this, inject(DOCUMENT));
18
- _SkyLiveAnnouncerService_idService.set(this, inject(SkyIdService));
19
- __classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
20
- this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
21
- }
22
- /**
23
- * Announces a message to screen readers.
24
- * @param message Message to be announced to the screen reader.
25
- * @param args Options for the announcement of the message.
26
- */
27
- announce(message, args) {
28
- /* safety-check */
29
- /* istanbul ignore if */
30
- if (!__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
31
- __classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
32
- this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
33
- }
34
- const politeness = args?.politeness ?? 'polite';
35
- this.clear();
36
- __classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").setAttribute('aria-live', politeness);
37
- __classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = message;
38
- }
39
- /**
40
- * Clears the current text from the announcer element. Can be used to prevent
41
- * screen readers from reading the text out again while the user is going
42
- * through the page landmarks.
43
- */
44
- clear() {
45
- if (__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
46
- __classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = '';
47
- }
48
- }
49
- /**
50
- * @internal
51
- */
52
- ngOnDestroy() {
53
- __classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")?.remove();
54
- __classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, undefined, "f");
55
- this.announcerElementChanged.next(undefined);
56
- }
57
- }
58
- _SkyLiveAnnouncerService_announcerElement = new WeakMap(), _SkyLiveAnnouncerService_document = new WeakMap(), _SkyLiveAnnouncerService_idService = new WeakMap(), _SkyLiveAnnouncerService_instances = new WeakSet(), _SkyLiveAnnouncerService_createLiveElement = function _SkyLiveAnnouncerService_createLiveElement() {
59
- const elementClass = 'sky-live-announcer-element';
60
- const previousElements = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").getElementsByClassName(elementClass);
61
- const liveEl = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").createElement('div');
62
- // Remove any old containers. This can happen when coming in from a server-side-rendered page.
63
- for (let i = 0; i < previousElements.length; i++) {
64
- previousElements[i].remove();
65
- }
66
- liveEl.classList.add(elementClass);
67
- liveEl.classList.add('sky-screen-reader-only');
68
- liveEl.setAttribute('aria-atomic', 'true');
69
- liveEl.setAttribute('aria-live', 'polite');
70
- liveEl.id = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_idService, "f").generateId();
71
- __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").body.appendChild(liveEl);
72
- return liveEl;
73
- };
74
- SkyLiveAnnouncerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLiveAnnouncerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
75
- SkyLiveAnnouncerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLiveAnnouncerService, providedIn: 'root' });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLiveAnnouncerService, decorators: [{
77
- type: Injectable,
78
- args: [{ providedIn: 'root' }]
79
- }], ctorParameters: function () { return []; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci9saXZlLWFubm91bmNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUloRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDOztRQVJPLDRCQUF1QixHQUFHLElBQUksYUFBYSxDQUNoRCxDQUFDLENBQ0YsQ0FBQztRQUVGLDREQUEyQztRQUMzQyw0Q0FBWSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUM7UUFDN0IsNkNBQWEsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDO1FBR2hDLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1FBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE9BQWUsRUFBRSxJQUEyQjtRQUMxRCxrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyx1QkFBQSxJQUFJLGlEQUFrQixFQUFFO1lBQzNCLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1lBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxFQUFFLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdELHVCQUFBLElBQUksaURBQWtCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUs7UUFDVixJQUFJLHVCQUFBLElBQUksaURBQWtCLEVBQUU7WUFDMUIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQix1QkFBQSxJQUFJLGlEQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLHVCQUFBLElBQUksNkNBQXFCLFNBQVMsTUFBQSxDQUFDO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O0lBR0MsTUFBTSxZQUFZLEdBQUcsNEJBQTRCLENBQUM7SUFDbEQsTUFBTSxnQkFBZ0IsR0FDcEIsdUJBQUEsSUFBSSx5Q0FBVSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkQsOEZBQThGO0lBQzlGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEQsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDOUI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsdUJBQUEsSUFBSSwwQ0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXpDLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7b0hBN0VVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTsyRkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnLi4vaWQvaWQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJBcmdzIH0gZnJvbSAnLi90eXBlcy9saXZlLWFubm91bmNlci1hcmdzJztcblxuLyoqXG4gKiBBbGxvd3MgZm9yIGFubm91bmNpbmcgbWVzc2FnZXMgdG8gc2NyZWVuIHJlYWRlciB1c2VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgYSBjb21tb24gYGFyaWEtbGl2ZWAgZWxlbWVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGFubm91bmNlckVsZW1lbnRDaGFuZ2VkID0gbmV3IFJlcGxheVN1YmplY3Q8SFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ+KFxuICAgIDFcbiAgKTtcblxuICAjYW5ub3VuY2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICNpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdGhpcy4jY3JlYXRlTGl2ZUVsZW1lbnQoKTtcbiAgICB0aGlzLmFubm91bmNlckVsZW1lbnRDaGFuZ2VkLm5leHQodGhpcy4jYW5ub3VuY2VyRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQW5ub3VuY2VzIGEgbWVzc2FnZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZSB0byBiZSBhbm5vdW5jZWQgdG8gdGhlIHNjcmVlbiByZWFkZXIuXG4gICAqIEBwYXJhbSBhcmdzIE9wdGlvbnMgZm9yIHRoZSBhbm5vdW5jZW1lbnQgb2YgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBwdWJsaWMgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nLCBhcmdzPzogU2t5TGl2ZUFubm91bmNlckFyZ3MpOiB2b2lkIHtcbiAgICAvKiBzYWZldHktY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuI2Fubm91bmNlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI2Fubm91bmNlckVsZW1lbnQgPSB0aGlzLiNjcmVhdGVMaXZlRWxlbWVudCgpO1xuICAgICAgdGhpcy5hbm5vdW5jZXJFbGVtZW50Q2hhbmdlZC5uZXh0KHRoaXMuI2Fubm91bmNlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IHBvbGl0ZW5lc3MgPSBhcmdzPy5wb2xpdGVuZXNzID8/ICdwb2xpdGUnO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScsIHBvbGl0ZW5lc3MpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9IG1lc3NhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHRleHQgZnJvbSB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuIENhbiBiZSB1c2VkIHRvIHByZXZlbnRcbiAgICogc2NyZWVuIHJlYWRlcnMgZnJvbSByZWFkaW5nIHRoZSB0ZXh0IG91dCBhZ2FpbiB3aGlsZSB0aGUgdXNlciBpcyBnb2luZ1xuICAgKiB0aHJvdWdoIHRoZSBwYWdlIGxhbmRtYXJrcy5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jYW5ub3VuY2VyRWxlbWVudCkge1xuICAgICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50Py5yZW1vdmUoKTtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgI2NyZWF0ZUxpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSAnc2t5LWxpdmUtYW5ub3VuY2VyLWVsZW1lbnQnO1xuICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudHMgPVxuICAgICAgdGhpcy4jZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlbGVtZW50Q2xhc3MpO1xuICAgIGNvbnN0IGxpdmVFbCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSBvbGQgY29udGFpbmVycy4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gY29taW5nIGluIGZyb20gYSBzZXJ2ZXItc2lkZS1yZW5kZXJlZCBwYWdlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgcHJldmlvdXNFbGVtZW50c1tpXS5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBsaXZlRWwuY2xhc3NMaXN0LmFkZChlbGVtZW50Q2xhc3MpO1xuICAgIGxpdmVFbC5jbGFzc0xpc3QuYWRkKCdza3ktc2NyZWVuLXJlYWRlci1vbmx5Jyk7XG5cbiAgICBsaXZlRWwuc2V0QXR0cmlidXRlKCdhcmlhLWF0b21pYycsICd0cnVlJyk7XG4gICAgbGl2ZUVsLnNldEF0dHJpYnV0ZSgnYXJpYS1saXZlJywgJ3BvbGl0ZScpO1xuICAgIGxpdmVFbC5pZCA9IHRoaXMuI2lkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpdmVFbCk7XG5cbiAgICByZXR1cm4gbGl2ZUVsO1xuICB9XG59XG4iXX0=