@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,50 +0,0 @@
1
- /**
2
- * NOTICE: DO NOT MODIFY THIS FILE!
3
- * The contents of this file were automatically generated by
4
- * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-core' schematic.
5
- * To update this file, simply rerun the command.
6
- */
7
- import { NgModule } from '@angular/core';
8
- import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
- import * as i0 from "@angular/core";
10
- const RESOURCES = {
11
- 'EN-US': {
12
- skyux_numeric_billions_symbol: { message: 'B' },
13
- skyux_numeric_millions_symbol: { message: 'M' },
14
- skyux_numeric_thousands_symbol: { message: 'K' },
15
- skyux_numeric_trillions_symbol: { message: 'T' },
16
- },
17
- };
18
- export class SkyCoreResourcesProvider {
19
- getString(localeInfo, name) {
20
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
21
- }
22
- }
23
- /**
24
- * Import into any component library module that needs to use resource strings.
25
- */
26
- export class SkyCoreResourcesModule {
27
- }
28
- SkyCoreResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyCoreResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- SkyCoreResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyCoreResourcesModule, exports: [SkyI18nModule] });
30
- SkyCoreResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyCoreResourcesModule, providers: [
31
- {
32
- provide: SKY_LIB_RESOURCES_PROVIDERS,
33
- useClass: SkyCoreResourcesProvider,
34
- multi: true,
35
- },
36
- ], imports: [SkyI18nModule] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyCoreResourcesModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- exports: [SkyI18nModule],
41
- providers: [
42
- {
43
- provide: SKY_LIB_RESOURCES_PROVIDERS,
44
- useClass: SkyCoreResourcesProvider,
45
- multi: true,
46
- },
47
- ],
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQy9DLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUMvQyw4QkFBOEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDaEQsOEJBQThCLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO0tBQ2pEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLFlBVHZCLGFBQWE7b0hBU1osc0JBQXNCLGFBUnRCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBUFMsYUFBYTsyRkFTWixzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1jb3JlJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9udW1lcmljX2JpbGxpb25zX3N5bWJvbDogeyBtZXNzYWdlOiAnQicgfSxcbiAgICBza3l1eF9udW1lcmljX21pbGxpb25zX3N5bWJvbDogeyBtZXNzYWdlOiAnTScgfSxcbiAgICBza3l1eF9udW1lcmljX3Rob3VzYW5kc19zeW1ib2w6IHsgbWVzc2FnZTogJ0snIH0sXG4gICAgc2t5dXhfbnVtZXJpY190cmlsbGlvbnNfc3ltYm9sOiB7IG1lc3NhZ2U6ICdUJyB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreUNvcmVSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreUNvcmVSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvcmVSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
@@ -1,34 +0,0 @@
1
- var _SkyAppTitleService_title;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Injectable } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/platform-browser";
6
- /**
7
- * Provides a method for setting a formatted title on the current window.
8
- */
9
- export class SkyAppTitleService {
10
- constructor(title) {
11
- _SkyAppTitleService_title.set(this, void 0);
12
- __classPrivateFieldSet(this, _SkyAppTitleService_title, title, "f");
13
- }
14
- /**
15
- * Sets the title on the current window.
16
- * @param args An array of title parts. The parts will be concatenated with a hyphen between
17
- * each part.
18
- */
19
- setTitle(args) {
20
- if (args?.titleParts) {
21
- __classPrivateFieldGet(this, _SkyAppTitleService_title, "f").setTitle(args.titleParts.join(' - '));
22
- }
23
- }
24
- }
25
- _SkyAppTitleService_title = new WeakMap();
26
- SkyAppTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppTitleService, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
27
- SkyAppTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppTitleService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppTitleService, decorators: [{
29
- type: Injectable,
30
- args: [{
31
- providedIn: 'root',
32
- }]
33
- }], ctorParameters: function () { return [{ type: i1.Title }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy90aXRsZS90aXRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUFZLEtBQVk7UUFGeEIsNENBQWM7UUFHWix1QkFBQSxJQUFJLDZCQUFVLEtBQUssTUFBQSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLElBQW9DO1FBQ2xELElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNwQix1QkFBQSxJQUFJLGlDQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDOzs7K0dBaEJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IFNreUFwcFNldFRpdGxlQXJncyB9IGZyb20gJy4vc2V0LXRpdGxlLWFyZ3MnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgbWV0aG9kIGZvciBzZXR0aW5nIGEgZm9ybWF0dGVkIHRpdGxlIG9uIHRoZSBjdXJyZW50IHdpbmRvdy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFwcFRpdGxlU2VydmljZSB7XG4gICN0aXRsZTogVGl0bGU7XG5cbiAgY29uc3RydWN0b3IodGl0bGU6IFRpdGxlKSB7XG4gICAgdGhpcy4jdGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0aXRsZSBvbiB0aGUgY3VycmVudCB3aW5kb3cuXG4gICAqIEBwYXJhbSBhcmdzIEFuIGFycmF5IG9mIHRpdGxlIHBhcnRzLiBUaGUgcGFydHMgd2lsbCBiZSBjb25jYXRlbmF0ZWQgd2l0aCBhIGh5cGhlbiBiZXR3ZWVuXG4gICAqIGVhY2ggcGFydC5cbiAgICovXG4gIHB1YmxpYyBzZXRUaXRsZShhcmdzOiBTa3lBcHBTZXRUaXRsZUFyZ3MgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoYXJncz8udGl0bGVQYXJ0cykge1xuICAgICAgdGhpcy4jdGl0bGUuc2V0VGl0bGUoYXJncy50aXRsZVBhcnRzLmpvaW4oJyAtICcpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,65 +0,0 @@
1
- var _SkyTrimDirective_instances, _SkyTrimDirective_elRef, _SkyTrimDirective_obs, _SkyTrimDirective_observe, _SkyTrimDirective_disconnect, _SkyTrimDirective_trim;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Directive } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../mutation/mutation-observer-service";
6
- /**
7
- * Trims whitespace in each text node that is a direct descendent of the current element.
8
- */
9
- export class SkyTrimDirective {
10
- constructor(elRef, mutationObs) {
11
- _SkyTrimDirective_instances.add(this);
12
- _SkyTrimDirective_elRef.set(this, void 0);
13
- _SkyTrimDirective_obs.set(this, void 0);
14
- __classPrivateFieldSet(this, _SkyTrimDirective_elRef, elRef, "f");
15
- __classPrivateFieldSet(this, _SkyTrimDirective_obs, mutationObs.create((mutations) => {
16
- const nodes = [];
17
- // Only trim white space inside direct descendants of the current element.
18
- for (const mutation of mutations) {
19
- if (mutation.target.parentNode === elRef.nativeElement) {
20
- nodes.push(mutation.target);
21
- }
22
- }
23
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, nodes);
24
- }), "f");
25
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
26
- }
27
- ngOnInit() {
28
- const el = __classPrivateFieldGet(this, _SkyTrimDirective_elRef, "f").nativeElement;
29
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, Array.from(el.childNodes));
30
- }
31
- ngOnDestroy() {
32
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
33
- }
34
- }
35
- _SkyTrimDirective_elRef = new WeakMap(), _SkyTrimDirective_obs = new WeakMap(), _SkyTrimDirective_instances = new WeakSet(), _SkyTrimDirective_observe = function _SkyTrimDirective_observe() {
36
- __classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").observe(__classPrivateFieldGet(this, _SkyTrimDirective_elRef, "f").nativeElement, {
37
- characterData: true,
38
- subtree: true,
39
- });
40
- }, _SkyTrimDirective_disconnect = function _SkyTrimDirective_disconnect() {
41
- __classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").disconnect();
42
- }, _SkyTrimDirective_trim = function _SkyTrimDirective_trim(nodes) {
43
- // Suspend the MutationObserver so altering the text content of each node
44
- // doesn't retrigger the observe callback.
45
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
46
- for (const node of nodes) {
47
- if (node.nodeType === Node.TEXT_NODE && node.textContent) {
48
- const textContent = node.textContent;
49
- const textContentTrimmed = textContent.trim();
50
- if (textContent !== textContentTrimmed) {
51
- node.textContent = textContentTrimmed;
52
- }
53
- }
54
- }
55
- __classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
56
- };
57
- SkyTrimDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTrimDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyMutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
58
- SkyTrimDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyTrimDirective, selector: "[skyTrim]", ngImport: i0 });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTrimDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- selector: '[skyTrim]',
63
- }]
64
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyMutationObserverService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvdHJpbS90cmltLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLE1BQU0sZUFBZSxDQUFDOzs7QUFJekU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQVksS0FBaUIsRUFBRSxXQUF1Qzs7UUFKdEUsMENBQW1CO1FBRW5CLHdDQUF1QjtRQUdyQix1QkFBQSxJQUFJLDJCQUFVLEtBQUssTUFBQSxDQUFDO1FBRXBCLHVCQUFBLElBQUkseUJBQVEsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUM3RCxNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7WUFFekIsMEVBQTBFO1lBQzFFLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO2dCQUNoQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxhQUFhLEVBQUU7b0JBQ3RELEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUM3QjthQUNGO1lBRUQsdUJBQUEsSUFBSSwyREFBTSxNQUFWLElBQUksRUFBTyxLQUFLLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsTUFBQSxDQUFDO1FBRUgsdUJBQUEsSUFBSSw4REFBUyxNQUFiLElBQUksQ0FBVyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLEdBQUcsdUJBQUEsSUFBSSwrQkFBTyxDQUFDLGFBQXdCLENBQUM7UUFDaEQsdUJBQUEsSUFBSSwyREFBTSxNQUFWLElBQUksRUFBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUksaUVBQVksTUFBaEIsSUFBSSxDQUFjLENBQUM7SUFDckIsQ0FBQzs7O0lBR0MsdUJBQUEsSUFBSSw2QkFBSyxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLCtCQUFPLENBQUMsYUFBYSxFQUFFO1FBQzNDLGFBQWEsRUFBRSxJQUFJO1FBQ25CLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztJQUdDLHVCQUFBLElBQUksNkJBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUN6QixDQUFDLDJEQUVLLEtBQWE7SUFDakIseUVBQXlFO0lBQ3pFLDBDQUEwQztJQUMxQyx1QkFBQSxJQUFJLGlFQUFZLE1BQWhCLElBQUksQ0FBYyxDQUFDO0lBRW5CLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUU5QyxJQUFJLFdBQVcsS0FBSyxrQkFBa0IsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQzthQUN2QztTQUNGO0tBQ0Y7SUFFRCx1QkFBQSxJQUFJLDhEQUFTLE1BQWIsSUFBSSxDQUFXLENBQUM7QUFDbEIsQ0FBQzs2R0E3RFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbi8qKlxuICogVHJpbXMgd2hpdGVzcGFjZSBpbiBlYWNoIHRleHQgbm9kZSB0aGF0IGlzIGEgZGlyZWN0IGRlc2NlbmRlbnQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRyaW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VHJpbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNvYnM6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoZWxSZWY6IEVsZW1lbnRSZWYsIG11dGF0aW9uT2JzOiBTa3lNdXRhdGlvbk9ic2VydmVyU2VydmljZSkge1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG5cbiAgICB0aGlzLiNvYnMgPSBtdXRhdGlvbk9icy5jcmVhdGUoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZXM6IE5vZGVbXSA9IFtdO1xuXG4gICAgICAvLyBPbmx5IHRyaW0gd2hpdGUgc3BhY2UgaW5zaWRlIGRpcmVjdCBkZXNjZW5kYW50cyBvZiB0aGUgY3VycmVudCBlbGVtZW50LlxuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnRhcmdldC5wYXJlbnROb2RlID09PSBlbFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgbm9kZXMucHVzaChtdXRhdGlvbi50YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3RyaW0obm9kZXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jb2JzZXJ2ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCBhcyBFbGVtZW50O1xuICAgIHRoaXMuI3RyaW0oQXJyYXkuZnJvbShlbC5jaGlsZE5vZGVzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgI29ic2VydmUoKTogdm9pZCB7XG4gICAgdGhpcy4jb2JzLm9ic2VydmUodGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAjZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNvYnMuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgI3RyaW0obm9kZXM6IE5vZGVbXSk6IHZvaWQge1xuICAgIC8vIFN1c3BlbmQgdGhlIE11dGF0aW9uT2JzZXJ2ZXIgc28gYWx0ZXJpbmcgdGhlIHRleHQgY29udGVudCBvZiBlYWNoIG5vZGVcbiAgICAvLyBkb2Vzbid0IHJldHJpZ2dlciB0aGUgb2JzZXJ2ZSBjYWxsYmFjay5cbiAgICB0aGlzLiNkaXNjb25uZWN0KCk7XG5cbiAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSAmJiBub2RlLnRleHRDb250ZW50KSB7XG4gICAgICAgIGNvbnN0IHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDtcbiAgICAgICAgY29uc3QgdGV4dENvbnRlbnRUcmltbWVkID0gdGV4dENvbnRlbnQudHJpbSgpO1xuXG4gICAgICAgIGlmICh0ZXh0Q29udGVudCAhPT0gdGV4dENvbnRlbnRUcmltbWVkKSB7XG4gICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IHRleHRDb250ZW50VHJpbW1lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI29ic2VydmUoKTtcbiAgfVxufVxuIl19
@@ -1,131 +0,0 @@
1
- var _SkyViewkeeperDirective_instances, _SkyViewkeeperDirective__skyViewkeeper, _SkyViewkeeperDirective_currentViewkeeperEls, _SkyViewkeeperDirective_el, _SkyViewkeeperDirective_mutationObserverSvc, _SkyViewkeeperDirective_observer, _SkyViewkeeperDirective_scrollableHostSvc, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, _SkyViewkeeperDirective_viewkeepers, _SkyViewkeeperDirective_viewkeeperSvc, _SkyViewkeeperDirective_destroyViewkeepers, _SkyViewkeeperDirective_getViewkeeperEls, _SkyViewkeeperDirective_viewkeeperElsChanged, _SkyViewkeeperDirective_detectElements;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Directive, Input, Optional, } from '@angular/core';
4
- import { Subject } from 'rxjs';
5
- import { takeUntil } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../mutation/mutation-observer-service";
8
- import * as i2 from "./viewkeeper.service";
9
- import * as i3 from "../scrollable-host/scrollable-host.service";
10
- export class SkyViewkeeperDirective {
11
- set skyViewkeeper(value) {
12
- __classPrivateFieldSet(this, _SkyViewkeeperDirective__skyViewkeeper, value, "f");
13
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_detectElements).call(this);
14
- }
15
- get skyViewkeeper() {
16
- return __classPrivateFieldGet(this, _SkyViewkeeperDirective__skyViewkeeper, "f");
17
- }
18
- constructor(el, mutationObserverSvc, viewkeeperSvc, scrollableHostSvc) {
19
- _SkyViewkeeperDirective_instances.add(this);
20
- _SkyViewkeeperDirective__skyViewkeeper.set(this, void 0);
21
- _SkyViewkeeperDirective_currentViewkeeperEls.set(this, void 0);
22
- _SkyViewkeeperDirective_el.set(this, void 0);
23
- _SkyViewkeeperDirective_mutationObserverSvc.set(this, void 0);
24
- _SkyViewkeeperDirective_observer.set(this, void 0);
25
- _SkyViewkeeperDirective_scrollableHostSvc.set(this, void 0);
26
- _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe.set(this, void 0);
27
- _SkyViewkeeperDirective_viewkeepers.set(this, []);
28
- _SkyViewkeeperDirective_viewkeeperSvc.set(this, void 0);
29
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_el, el, "f");
30
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_mutationObserverSvc, mutationObserverSvc, "f");
31
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_viewkeeperSvc, viewkeeperSvc, "f");
32
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_scrollableHostSvc, scrollableHostSvc, "f");
33
- }
34
- ngOnInit() {
35
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_observer, __classPrivateFieldGet(this, _SkyViewkeeperDirective_mutationObserverSvc, "f").create(() => __classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_detectElements).call(this)), "f");
36
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_observer, "f").observe(__classPrivateFieldGet(this, _SkyViewkeeperDirective_el, "f").nativeElement, {
37
- childList: true,
38
- subtree: true,
39
- });
40
- }
41
- ngOnDestroy() {
42
- /*istanbul ignore else*/
43
- if (__classPrivateFieldGet(this, _SkyViewkeeperDirective_observer, "f")) {
44
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_observer, "f").disconnect();
45
- }
46
- /*istanbul ignore else*/
47
- if (__classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f")) {
48
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f").next();
49
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f").complete();
50
- }
51
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_destroyViewkeepers).call(this);
52
- }
53
- }
54
- _SkyViewkeeperDirective__skyViewkeeper = new WeakMap(), _SkyViewkeeperDirective_currentViewkeeperEls = new WeakMap(), _SkyViewkeeperDirective_el = new WeakMap(), _SkyViewkeeperDirective_mutationObserverSvc = new WeakMap(), _SkyViewkeeperDirective_observer = new WeakMap(), _SkyViewkeeperDirective_scrollableHostSvc = new WeakMap(), _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe = new WeakMap(), _SkyViewkeeperDirective_viewkeepers = new WeakMap(), _SkyViewkeeperDirective_viewkeeperSvc = new WeakMap(), _SkyViewkeeperDirective_instances = new WeakSet(), _SkyViewkeeperDirective_destroyViewkeepers = function _SkyViewkeeperDirective_destroyViewkeepers() {
55
- for (const viewkeeper of __classPrivateFieldGet(this, _SkyViewkeeperDirective_viewkeepers, "f")) {
56
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_viewkeeperSvc, "f").destroy(viewkeeper);
57
- }
58
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_viewkeepers, [], "f");
59
- }, _SkyViewkeeperDirective_getViewkeeperEls = function _SkyViewkeeperDirective_getViewkeeperEls() {
60
- let viewkeeperEls = [];
61
- if (this.skyViewkeeper) {
62
- viewkeeperEls = [];
63
- for (const item of this.skyViewkeeper) {
64
- const matchingEls = Array.from(__classPrivateFieldGet(this, _SkyViewkeeperDirective_el, "f").nativeElement.querySelectorAll(item));
65
- viewkeeperEls = [...viewkeeperEls, ...matchingEls];
66
- }
67
- }
68
- return viewkeeperEls;
69
- }, _SkyViewkeeperDirective_viewkeeperElsChanged = function _SkyViewkeeperDirective_viewkeeperElsChanged(viewkeeperEls) {
70
- if (!viewkeeperEls !== !__classPrivateFieldGet(this, _SkyViewkeeperDirective_currentViewkeeperEls, "f")) {
71
- return true;
72
- }
73
- if (viewkeeperEls && __classPrivateFieldGet(this, _SkyViewkeeperDirective_currentViewkeeperEls, "f")) {
74
- if (viewkeeperEls.length !== __classPrivateFieldGet(this, _SkyViewkeeperDirective_currentViewkeeperEls, "f").length) {
75
- return true;
76
- }
77
- for (let i = 0, n = viewkeeperEls.length; i < n; i++) {
78
- if (viewkeeperEls[i] !== __classPrivateFieldGet(this, _SkyViewkeeperDirective_currentViewkeeperEls, "f")[i]) {
79
- return true;
80
- }
81
- }
82
- }
83
- return false;
84
- }, _SkyViewkeeperDirective_detectElements = function _SkyViewkeeperDirective_detectElements() {
85
- const viewkeeperEls = __classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_getViewkeeperEls).call(this);
86
- if (__classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_viewkeeperElsChanged).call(this, viewkeeperEls)) {
87
- if (__classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f")) {
88
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f").next();
89
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f").complete();
90
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, new Subject(), "f");
91
- }
92
- else {
93
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, new Subject(), "f");
94
- }
95
- if (__classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostSvc, "f")) {
96
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostSvc, "f")
97
- .watchScrollableHost(__classPrivateFieldGet(this, _SkyViewkeeperDirective_el, "f"))
98
- .pipe(takeUntil(__classPrivateFieldGet(this, _SkyViewkeeperDirective_scrollableHostWatchUnsubscribe, "f")))
99
- .subscribe((scrollableHost) => {
100
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_instances, "m", _SkyViewkeeperDirective_destroyViewkeepers).call(this);
101
- let previousViewkeeperEl;
102
- for (const viewkeeperEl of viewkeeperEls) {
103
- __classPrivateFieldGet(this, _SkyViewkeeperDirective_viewkeepers, "f").push(__classPrivateFieldGet(this, _SkyViewkeeperDirective_viewkeeperSvc, "f").create({
104
- boundaryEl: __classPrivateFieldGet(this, _SkyViewkeeperDirective_el, "f").nativeElement,
105
- scrollableHost: scrollableHost instanceof HTMLElement
106
- ? scrollableHost
107
- : undefined,
108
- el: viewkeeperEl,
109
- setWidth: true,
110
- verticalOffsetEl: previousViewkeeperEl,
111
- }));
112
- previousViewkeeperEl = viewkeeperEl;
113
- }
114
- });
115
- }
116
- __classPrivateFieldSet(this, _SkyViewkeeperDirective_currentViewkeeperEls, viewkeeperEls, "f");
117
- }
118
- };
119
- SkyViewkeeperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyViewkeeperDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyMutationObserverService }, { token: i2.SkyViewkeeperService }, { token: i3.SkyScrollableHostService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
120
- SkyViewkeeperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyViewkeeperDirective, selector: "[skyViewkeeper]", inputs: { skyViewkeeper: "skyViewkeeper" }, ngImport: i0 });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyViewkeeperDirective, decorators: [{
122
- type: Directive,
123
- args: [{
124
- selector: '[skyViewkeeper]',
125
- }]
126
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyMutationObserverService }, { type: i2.SkyViewkeeperService }, { type: i3.SkyScrollableHostService, decorators: [{
127
- type: Optional
128
- }] }]; }, propDecorators: { skyViewkeeper: [{
129
- type: Input
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFXM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUNXLGFBQWEsQ0FBQyxLQUEyQjtRQUNsRCx1QkFBQSxJQUFJLDBDQUFtQixLQUFLLE1BQUEsQ0FBQztRQUU3Qix1QkFBQSxJQUFJLGlGQUFnQixNQUFwQixJQUFJLENBQWtCLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLHVCQUFBLElBQUksOENBQWdCLENBQUM7SUFDOUIsQ0FBQztJQW9CRCxZQUNFLEVBQWMsRUFDZCxtQkFBK0MsRUFDL0MsYUFBbUMsRUFDdkIsaUJBQTRDOztRQXRCMUQseURBQXNDO1FBRXRDLCtEQUFpRDtRQUVqRCw2Q0FBZ0I7UUFFaEIsOERBQWlEO1FBRWpELG1EQUF3QztRQUV4Qyw0REFBeUQ7UUFFekQseUVBQTJEO1FBRTNELDhDQUFnQyxFQUFFLEVBQUM7UUFFbkMsd0RBQXFDO1FBUW5DLHVCQUFBLElBQUksOEJBQU8sRUFBRSxNQUFBLENBQUM7UUFDZCx1QkFBQSxJQUFJLCtDQUF3QixtQkFBbUIsTUFBQSxDQUFDO1FBQ2hELHVCQUFBLElBQUkseUNBQWtCLGFBQWEsTUFBQSxDQUFDO1FBQ3BDLHVCQUFBLElBQUksNkNBQXNCLGlCQUFpQixNQUFBLENBQUM7SUFDOUMsQ0FB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c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5pbXBvcnQgeyBTa3lTY3JvbGxhYmxlSG9zdFNlcnZpY2UgfSBmcm9tICcuLi9zY3JvbGxhYmxlLWhvc3Qvc2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyIH0gZnJvbSAnLi92aWV3a2VlcGVyJztcbmltcG9ydCB7IFNreVZpZXdrZWVwZXJTZXJ2aWNlIH0gZnJvbSAnLi92aWV3a2VlcGVyLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5Vmlld2tlZXBlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lWaWV3a2VlcGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreVZpZXdrZWVwZXIodmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3NreVZpZXdrZWVwZXIgPSB2YWx1ZTtcblxuICAgIHRoaXMuI2RldGVjdEVsZW1lbnRzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNreVZpZXdrZWVwZXIoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc2t5Vmlld2tlZXBlcjtcbiAgfVxuXG4gICNfc2t5Vmlld2tlZXBlcjogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRWaWV3a2VlcGVyRWxzOiBIVE1MRWxlbWVudFtdIHwgdW5kZWZpbmVkO1xuXG4gICNlbDogRWxlbWVudFJlZjtcblxuICAjbXV0YXRpb25PYnNlcnZlclN2YzogU2t5TXV0YXRpb25PYnNlcnZlclNlcnZpY2U7XG5cbiAgI29ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gICNzY3JvbGxhYmxlSG9zdFN2YzogU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gICNzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gfCB1bmRlZmluZWQ7XG5cbiAgI3ZpZXdrZWVwZXJzOiBTa3lWaWV3a2VlcGVyW10gPSBbXTtcblxuICAjdmlld2tlZXBlclN2YzogU2t5Vmlld2tlZXBlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWw6IEVsZW1lbnRSZWYsXG4gICAgbXV0YXRpb25PYnNlcnZlclN2YzogU2t5TXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgdmlld2tlZXBlclN2YzogU2t5Vmlld2tlZXBlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgc2Nyb2xsYWJsZUhvc3RTdmM/OiBTa3lTY3JvbGxhYmxlSG9zdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jZWwgPSBlbDtcbiAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyU3ZjID0gbXV0YXRpb25PYnNlcnZlclN2YztcbiAgICB0aGlzLiN2aWV3a2VlcGVyU3ZjID0gdmlld2tlZXBlclN2YztcbiAgICB0aGlzLiNzY3JvbGxhYmxlSG9zdFN2YyA9IHNjcm9sbGFibGVIb3N0U3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI29ic2VydmVyID0gdGhpcy4jbXV0YXRpb25PYnNlcnZlclN2Yy5jcmVhdGUoKCkgPT5cbiAgICAgIHRoaXMuI2RldGVjdEVsZW1lbnRzKClcbiAgICApO1xuXG4gICAgdGhpcy4jb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLiNlbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNvYnNlcnZlcikge1xuICAgICAgdGhpcy4jb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICB0aGlzLiNzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNkZXN0cm95Vmlld2tlZXBlcnMoKTtcbiAgfVxuXG4gICNkZXN0cm95Vmlld2tlZXBlcnMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB2aWV3a2VlcGVyIG9mIHRoaXMuI3ZpZXdrZWVwZXJzKSB7XG4gICAgICB0aGlzLiN2aWV3a2VlcGVyU3ZjLmRlc3Ryb3kodmlld2tlZXBlcik7XG4gICAgfVxuXG4gICAgdGhpcy4jdmlld2tlZXBlcnMgPSBbXTtcbiAgfVxuXG4gICNnZXRWaWV3a2VlcGVyRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIGxldCB2aWV3a2VlcGVyRWxzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgICBpZiAodGhpcy5za3lWaWV3a2VlcGVyKSB7XG4gICAgICB2aWV3a2VlcGVyRWxzID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnNreVZpZXdrZWVwZXIpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hpbmdFbHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgICh0aGlzLiNlbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKGl0ZW0pXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnRbXTtcblxuICAgICAgICB2aWV3a2VlcGVyRWxzID0gWy4uLnZpZXdrZWVwZXJFbHMsIC4uLm1hdGNoaW5nRWxzXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmlld2tlZXBlckVscztcbiAgfVxuXG4gICN2aWV3a2VlcGVyRWxzQ2hhbmdlZCh2aWV3a2VlcGVyRWxzOiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2aWV3a2VlcGVyRWxzICE9PSAhdGhpcy4jY3VycmVudFZpZXdrZWVwZXJFbHMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2aWV3a2VlcGVyRWxzICYmIHRoaXMuI2N1cnJlbnRWaWV3a2VlcGVyRWxzKSB7XG4gICAgICBpZiAodmlld2tlZXBlckVscy5sZW5ndGggIT09IHRoaXMuI2N1cnJlbnRWaWV3a2VlcGVyRWxzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSB2aWV3a2VlcGVyRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBpZiAodmlld2tlZXBlckVsc1tpXSAhPT0gdGhpcy4jY3VycmVudFZpZXdrZWVwZXJFbHNbaV0pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICNkZXRlY3RFbGVtZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3a2VlcGVyRWxzID0gdGhpcy4jZ2V0Vmlld2tlZXBlckVscygpO1xuXG4gICAgaWYgKHRoaXMuI3ZpZXdrZWVwZXJFbHNDaGFuZ2VkKHZpZXdrZWVwZXJFbHMpKSB7XG4gICAgICBpZiAodGhpcy4jc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlKSB7XG4gICAgICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLiNzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuI3Njcm9sbGFibGVIb3N0U3ZjKSB7XG4gICAgICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0U3ZjXG4gICAgICAgICAgLndhdGNoU2Nyb2xsYWJsZUhvc3QodGhpcy4jZWwpXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI3Njcm9sbGFibGVIb3N0V2F0Y2hVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoc2Nyb2xsYWJsZUhvc3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuI2Rlc3Ryb3lWaWV3a2VlcGVycygpO1xuXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNWaWV3a2VlcGVyRWw6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZpZXdrZWVwZXJFbCBvZiB2aWV3a2VlcGVyRWxzKSB7XG4gICAgICAgICAgICAgIHRoaXMuI3ZpZXdrZWVwZXJzLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy4jdmlld2tlZXBlclN2Yy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgYm91bmRhcnlFbDogdGhpcy4jZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0OlxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlSG9zdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgPyBzY3JvbGxhYmxlSG9zdFxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZWw6IHZpZXdrZWVwZXJFbCxcbiAgICAgICAgICAgICAgICAgIHNldFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdmVydGljYWxPZmZzZXRFbDogcHJldmlvdXNWaWV3a2VlcGVyRWwsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBwcmV2aW91c1ZpZXdrZWVwZXJFbCA9IHZpZXdrZWVwZXJFbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jY3VycmVudFZpZXdrZWVwZXJFbHMgPSB2aWV3a2VlcGVyRWxzO1xuICAgIH1cbiAgfVxufVxuIl19