@scion/components 18.1.1 → 19.0.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 (56) hide show
  1. package/dimension/dimension.module.d.ts +2 -0
  2. package/dimension/public_api.d.ts +1 -1
  3. package/fesm2022/scion-components-dimension.mjs +17 -16
  4. package/fesm2022/scion-components-dimension.mjs.map +1 -1
  5. package/fesm2022/scion-components-sashbox.mjs +73 -43
  6. package/fesm2022/scion-components-sashbox.mjs.map +1 -1
  7. package/fesm2022/scion-components-splitter.mjs +40 -33
  8. package/fesm2022/scion-components-splitter.mjs.map +1 -1
  9. package/fesm2022/scion-components-throbber.mjs +39 -39
  10. package/fesm2022/scion-components-throbber.mjs.map +1 -1
  11. package/fesm2022/scion-components-viewport.mjs +86 -71
  12. package/fesm2022/scion-components-viewport.mjs.map +1 -1
  13. package/package.json +4 -16
  14. package/sashbox/sashbox.module.d.ts +2 -0
  15. package/splitter/public_api.d.ts +1 -1
  16. package/splitter/splitter.module.d.ts +2 -0
  17. package/throbber/throbber.module.d.ts +2 -0
  18. package/viewport/public_api.d.ts +1 -1
  19. package/viewport/viewport.component.d.ts +7 -6
  20. package/viewport/viewport.module.d.ts +2 -0
  21. package/esm2022/dimension/bounding-client-rect.signal.mjs +0 -54
  22. package/esm2022/dimension/dimension.directive.mjs +0 -67
  23. package/esm2022/dimension/dimension.mjs +0 -11
  24. package/esm2022/dimension/dimension.module.mjs +0 -34
  25. package/esm2022/dimension/dimension.signal.mjs +0 -63
  26. package/esm2022/dimension/public_api.mjs +0 -19
  27. package/esm2022/dimension/scion-components-dimension.mjs +0 -5
  28. package/esm2022/public-api.mjs +0 -11
  29. package/esm2022/sashbox/element-ref.directive.mjs +0 -31
  30. package/esm2022/sashbox/public_api.mjs +0 -18
  31. package/esm2022/sashbox/sash-initializer.directive.mjs +0 -35
  32. package/esm2022/sashbox/sash.directive.mjs +0 -145
  33. package/esm2022/sashbox/sashbox-accessor.mjs +0 -6
  34. package/esm2022/sashbox/sashbox.component.mjs +0 -282
  35. package/esm2022/sashbox/sashbox.module.mjs +0 -55
  36. package/esm2022/sashbox/scion-components-sashbox.mjs +0 -5
  37. package/esm2022/scion-components.mjs +0 -5
  38. package/esm2022/splitter/public_api.mjs +0 -17
  39. package/esm2022/splitter/scion-components-splitter.mjs +0 -5
  40. package/esm2022/splitter/splitter.component.mjs +0 -226
  41. package/esm2022/splitter/splitter.module.mjs +0 -38
  42. package/esm2022/throbber/ellipsis-throbber/ellipsis-throbber.component.mjs +0 -25
  43. package/esm2022/throbber/public_api.mjs +0 -17
  44. package/esm2022/throbber/ripple-throbber/ripple-throbber.component.mjs +0 -25
  45. package/esm2022/throbber/roller-throbber/roller-throbber.component.mjs +0 -25
  46. package/esm2022/throbber/scion-components-throbber.mjs +0 -5
  47. package/esm2022/throbber/spinner-throbber/spinner-throbber.component.mjs +0 -26
  48. package/esm2022/throbber/throbber.component.mjs +0 -72
  49. package/esm2022/throbber/throbber.module.mjs +0 -32
  50. package/esm2022/viewport/native-scrollbar-track-size-provider.service.mjs +0 -91
  51. package/esm2022/viewport/public_api.mjs +0 -19
  52. package/esm2022/viewport/scion-components-viewport.mjs +0 -5
  53. package/esm2022/viewport/scrollable.directive.mjs +0 -92
  54. package/esm2022/viewport/scrollbar/scrollbar.component.mjs +0 -305
  55. package/esm2022/viewport/viewport.component.mjs +0 -264
  56. package/esm2022/viewport/viewport.module.mjs +0 -42
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scion/components",
3
- "version": "18.1.1",
3
+ "version": "19.0.0",
4
4
  "description": "Provides a collection of Angular components and directives primarily for use in SCION libraries such as `@scion/workbench` and `@scion/microfrontend-platform`. This library is not a comprehensive component library as its focus is on SCION requirements.",
5
5
  "license": "EPL-2.0",
6
6
  "private": false,
@@ -18,8 +18,6 @@
18
18
  ".": {
19
19
  "sass": "./_index.scss",
20
20
  "types": "./index.d.ts",
21
- "esm2022": "./esm2022/scion-components.mjs",
22
- "esm": "./esm2022/scion-components.mjs",
23
21
  "default": "./fesm2022/scion-components.mjs"
24
22
  },
25
23
  "./design": {
@@ -33,32 +31,22 @@
33
31
  },
34
32
  "./dimension": {
35
33
  "types": "./dimension/index.d.ts",
36
- "esm2022": "./esm2022/dimension/scion-components-dimension.mjs",
37
- "esm": "./esm2022/dimension/scion-components-dimension.mjs",
38
34
  "default": "./fesm2022/scion-components-dimension.mjs"
39
35
  },
40
36
  "./sashbox": {
41
37
  "types": "./sashbox/index.d.ts",
42
- "esm2022": "./esm2022/sashbox/scion-components-sashbox.mjs",
43
- "esm": "./esm2022/sashbox/scion-components-sashbox.mjs",
44
38
  "default": "./fesm2022/scion-components-sashbox.mjs"
45
39
  },
46
40
  "./splitter": {
47
41
  "types": "./splitter/index.d.ts",
48
- "esm2022": "./esm2022/splitter/scion-components-splitter.mjs",
49
- "esm": "./esm2022/splitter/scion-components-splitter.mjs",
50
42
  "default": "./fesm2022/scion-components-splitter.mjs"
51
43
  },
52
44
  "./throbber": {
53
45
  "types": "./throbber/index.d.ts",
54
- "esm2022": "./esm2022/throbber/scion-components-throbber.mjs",
55
- "esm": "./esm2022/throbber/scion-components-throbber.mjs",
56
46
  "default": "./fesm2022/scion-components-throbber.mjs"
57
47
  },
58
48
  "./viewport": {
59
49
  "types": "./viewport/index.d.ts",
60
- "esm2022": "./esm2022/viewport/scion-components-viewport.mjs",
61
- "esm": "./esm2022/viewport/scion-components-viewport.mjs",
62
50
  "default": "./fesm2022/scion-components-viewport.mjs"
63
51
  }
64
52
  },
@@ -66,9 +54,9 @@
66
54
  "tslib": "^2.5.0"
67
55
  },
68
56
  "peerDependencies": {
69
- "@angular/common": "^18.0.0",
70
- "@angular/core": "^18.0.0",
71
- "@angular/cdk": "^18.0.0",
57
+ "@angular/common": "^19.0.0",
58
+ "@angular/core": "^19.0.0",
59
+ "@angular/cdk": "^19.0.0",
72
60
  "@scion/toolkit": "^1.6.0",
73
61
  "rxjs": "^7.8.0"
74
62
  },
@@ -21,6 +21,8 @@ import * as i2 from "./sash.directive";
21
21
  * </ng-template>
22
22
  * </sci-sashbox>
23
23
  * ```
24
+ *
25
+ * @deprecated since version 19.0.0; Import standalone component and directive instead; API will be removed in a future release.
24
26
  */
25
27
  export declare class SciSashboxModule {
26
28
  static ɵfac: i0.ɵɵFactoryDeclaration<SciSashboxModule, never>;
@@ -1,2 +1,2 @@
1
1
  export { SciSplitterModule } from './splitter.module';
2
- export { SciSplitterComponent, SplitterMoveEvent, EventPosition } from './splitter.component';
2
+ export { SciSplitterComponent, type SplitterMoveEvent, type EventPosition } from './splitter.component';
@@ -8,6 +8,8 @@ import * as i1 from "./splitter.component";
8
8
  * ```html
9
9
  * <sci-splitter (move)="onSplitterMove($event.distance)"></sci-splitter>
10
10
  * ```
11
+ *
12
+ * @deprecated since version 19.0.0; Import standalone component; API will be removed in a future release.
11
13
  */
12
14
  export declare class SciSplitterModule {
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SciSplitterModule, never>;
@@ -2,6 +2,8 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./throbber.component";
3
3
  /**
4
4
  * Provides {@link SciThrobberComponent}, an animated graphical control to indicate the execution of an action.
5
+ *
6
+ * @deprecated since version 19.0.0; Import standalone component instead; API will be removed in a future release.
5
7
  */
6
8
  export declare class SciThrobberModule {
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SciThrobberModule, never>;
@@ -1,4 +1,4 @@
1
1
  export { SciViewportModule } from './viewport.module';
2
- export { SciViewportComponent, ScrollbarStyle } from './viewport.component';
2
+ export { SciViewportComponent, type ScrollbarStyle } from './viewport.component';
3
3
  export { SciScrollbarComponent } from './scrollbar/scrollbar.component';
4
4
  export { SciScrollableDirective } from './scrollable.directive';
@@ -74,18 +74,15 @@ export declare class SciViewportComponent {
74
74
  private _host;
75
75
  protected nativeScrollbarTrackSizeProvider: SciNativeScrollbarTrackSizeProvider;
76
76
  /**
77
- * Controls whether to use native scrollbars or, which is by default, emulated scrollbars that sit on top of the viewport client.
78
- * In the latter, the viewport client remains natively scrollable.
77
+ * Controls if to use the native scrollbar or a scrollbar that sits on top of the viewport. Defaults to `on-top`.
79
78
  */
80
79
  scrollbarStyle: import("@angular/core").InputSignal<ScrollbarStyle>;
81
80
  /**
82
- * Emits upon a scroll event.
83
- *
84
- * You can add [sciDimension] directive to the viewport or viewport client to be notified about layout changes.
81
+ * Emits when the viewport is scrolled. The event is emitted outside the Angular zone to avoid unnecessary change detection cycles.
85
82
  */
86
83
  scroll: import("@angular/core").OutputEmitterRef<Event>;
84
+ constructor();
87
85
  focus(): void;
88
- protected onScroll(event: Event): void;
89
86
  /**
90
87
  * Returns the number of pixels that the viewport client is scrolled vertically.
91
88
  *
@@ -152,6 +149,10 @@ export declare class SciViewportComponent {
152
149
  * in the viewport or the element or any ancestor has the `display` property set to `none`.
153
150
  */
154
151
  computeOffset(element: ElementRef<HTMLElement> | HTMLElement, border: 'left' | 'top'): number | null;
152
+ /**
153
+ * Emits when the scroll position changes.
154
+ */
155
+ private installScrollEmitter;
155
156
  static ɵfac: i0.ɵɵFactoryDeclaration<SciViewportComponent, never>;
156
157
  static ɵcmp: i0.ɵɵComponentDeclaration<SciViewportComponent, "sci-viewport", never, { "scrollbarStyle": { "alias": "scrollbarStyle"; "required": false; "isSignal": true; }; }, { "scroll": "scroll"; }, never, never, true, never>;
157
158
  }
@@ -4,6 +4,8 @@ import * as i2 from "./scrollbar/scrollbar.component";
4
4
  import * as i3 from "./scrollable.directive";
5
5
  /**
6
6
  * Provides a viewport component with scrollbars that sit on top of the viewport client.
7
+ *
8
+ * @deprecated since version 19.0.0; Import standalone components and directive instead; API will be removed in a future release.
7
9
  */
8
10
  export declare class SciViewportModule {
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SciViewportModule, never>;
@@ -1,54 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2024 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { assertInInjectionContext, assertNotInReactiveContext, computed, effect, inject, Injector, isSignal, NgZone, signal, untracked } from '@angular/core';
11
- import { coerceElement } from '@angular/cdk/coercion';
12
- import { fromBoundingClientRect$ } from '@scion/toolkit/observable';
13
- import { subscribeIn } from '@scion/toolkit/operators';
14
- export function boundingClientRect(elementLike, options) {
15
- assertNotInReactiveContext(boundingClientRect, 'Invoking `boundingClientRect` causes new subscriptions every time. Move `boundingClientRect` outside of the reactive context and read the signal value where needed.');
16
- if (!options?.injector) {
17
- assertInInjectionContext(boundingClientRect);
18
- }
19
- const injector = options?.injector ?? inject(Injector);
20
- const zone = injector.get(NgZone);
21
- const element = computed(() => coerceElement(isSignal(elementLike) ? elementLike() : elementLike));
22
- const onBoundingBoxChange = signal(undefined, { equal: () => false });
23
- // Subscribe to element bounding box changes.
24
- effect(onCleanup => {
25
- const el = element();
26
- if (!el) {
27
- return;
28
- }
29
- untracked(() => {
30
- const subscription = fromBoundingClientRect$(el)
31
- // Avoid triggering change detection cycle.
32
- .pipe(subscribeIn(fn => zone.runOutsideAngular(fn)))
33
- .subscribe(() => {
34
- NgZone.assertNotInAngularZone();
35
- onBoundingBoxChange.set();
36
- });
37
- onCleanup(() => subscription.unsubscribe());
38
- });
39
- }, { injector });
40
- // Create signal that recomputes each time the bounding box changes.
41
- return computed(() => {
42
- const el = element();
43
- if (!el) {
44
- return undefined;
45
- }
46
- // Track bounding box.
47
- onBoundingBoxChange();
48
- return el.getBoundingClientRect();
49
- }, { equal: isEqualDomRect });
50
- }
51
- function isEqualDomRect(a, b) {
52
- return a?.top === b?.top && a?.right === b?.right && a?.bottom === b?.bottom && a?.left === b?.left;
53
- }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRpbmctY2xpZW50LXJlY3Quc2lnbmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9kaW1lbnNpb24vc3JjL2JvdW5kaW5nLWNsaWVudC1yZWN0LnNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hMLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFvQnJELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUE4RyxFQUFFLE9BQStCO0lBQ2hMLDBCQUEwQixDQUFDLGtCQUFrQixFQUFFLHNLQUFzSyxDQUFDLENBQUM7SUFDdk4sSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2Qix3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBTyxTQUFTLEVBQUUsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUUxRSw2Q0FBNkM7SUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNSLE9BQU87UUFDVCxDQUFDO1FBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE1BQU0sWUFBWSxHQUFHLHVCQUF1QixDQUFDLEVBQUUsQ0FBQztnQkFDOUMsMkNBQTJDO2lCQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ25ELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQ2hDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUVmLG9FQUFvRTtJQUNwRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixtQkFBbUIsRUFBRSxDQUFDO1FBRXRCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDcEMsQ0FBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLENBQXNCLEVBQUUsQ0FBc0I7SUFDcEUsT0FBTyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDdEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHthc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGFzc2VydE5vdEluUmVhY3RpdmVDb250ZXh0LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBpc1NpZ25hbCwgTmdab25lLCBzaWduYWwsIFNpZ25hbCwgdW50cmFja2VkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Y29lcmNlRWxlbWVudH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7ZnJvbUJvdW5kaW5nQ2xpZW50UmVjdCR9IGZyb20gJ0BzY2lvbi90b29sa2l0L29ic2VydmFibGUnO1xuaW1wb3J0IHtzdWJzY3JpYmVJbn0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgc2lnbmFsIG9ic2VydmluZyB0aGUgYm91bmRpbmcgYm94IG9mIGFuIGVsZW1lbnQuXG4gKlxuICogVGhlIGJvdW5kaW5nIGJveCBpbmNsdWRlcyB0aGUgZWxlbWVudCdzIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0b3AtbGVmdCBvZiB0aGUgdmlld3BvcnQgYW5kIGl0cyBzaXplLlxuICogUmVmZXIgdG8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnQvZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogVGhlIGVsZW1lbnQgY2FuIGJlIHBhc3NlZCBhcyBhIHNpZ25hbCwgZW5hYmxpbmcgb2JzZXJ2YXRpb24gb2YgdmlldyBjaGlsZHJlbiBpbiB0aGUgY29tcG9uZW50IGNvbnN0cnVjdG9yLlxuICpcbiAqIFRoZXJlIGlzIG5vIG5hdGl2ZSBicm93c2VyIEFQSSB0byBvYnNlcnZlIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50LiBUaGUgc2lnbmFsIHVzZXMge0BsaW5rIEludGVyc2VjdGlvbk9ic2VydmVyfSBhbmRcbiAqIHtAbGluayBSZXNpemVPYnNlcnZlcn0gdG8gZGV0ZWN0IHBvc2l0aW9uIGNoYW5nZXMuIEZvciB0cmFja2luZyBvbmx5IHNpemUgY2hhbmdlcywgdXNlIHRoZSB7QGxpbmsgZGltZW5zaW9ufSBzaWduYWwgaW5zdGVhZC5cbiAqXG4gKiBVc2FnZTpcbiAqIC0gTXVzdCBiZSBjYWxsZWQgd2l0aGluIGFuIGluamVjdGlvbiBjb250ZXh0IG9yIGFuIGluamVjdG9yIHByb3ZpZGVkLiBEZXN0cm95aW5nIHRoZSBpbmplY3RvciB3aWxsIHVuc3Vic2NyaWJlIHRoZSBzaWduYWwuXG4gKiAtIE11c3Qgbm90IGJlIGNhbGxlZCB3aXRoaW4gYSByZWFjdGl2ZSBjb250ZXh0IHRvIGF2b2lkIHJlcGVhdGVkIHN1YnNjcmlwdGlvbnMuXG4gKiAtIFRoZSBlbGVtZW50IGFuZCB0aGUgZG9jdW1lbnQgcm9vdCAoYDxodG1sPmApIG11c3QgYmUgcG9zaXRpb25lZCBgcmVsYXRpdmVgIG9yIGBhYnNvbHV0ZWAuIElmIG5vdCwgYSB3YXJuaW5nIGlzIGxvZ2dlZCwgYW5kIHBvc2l0aW9uaW5nIGNoYW5nZWQgdG8gYHJlbGF0aXZlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50TGlrZTogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IFNpZ25hbDxIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Piwgb3B0aW9ucz86IHtpbmplY3Rvcj86IEluamVjdG9yfSk6IFNpZ25hbDxET01SZWN0PjtcbmV4cG9ydCBmdW5jdGlvbiBib3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudExpa2U6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBTaWduYWw8SFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZD4sIG9wdGlvbnM/OiB7aW5qZWN0b3I/OiBJbmplY3Rvcn0pOiBTaWduYWw8RE9NUmVjdCB8IHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gYm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnRMaWtlOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgU2lnbmFsPEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ+LCBvcHRpb25zPzoge2luamVjdG9yPzogSW5qZWN0b3J9KTogU2lnbmFsPERPTVJlY3QgfCB1bmRlZmluZWQ+IHtcbiAgYXNzZXJ0Tm90SW5SZWFjdGl2ZUNvbnRleHQoYm91bmRpbmdDbGllbnRSZWN0LCAnSW52b2tpbmcgYGJvdW5kaW5nQ2xpZW50UmVjdGAgY2F1c2VzIG5ldyBzdWJzY3JpcHRpb25zIGV2ZXJ5IHRpbWUuIE1vdmUgYGJvdW5kaW5nQ2xpZW50UmVjdGAgb3V0c2lkZSBvZiB0aGUgcmVhY3RpdmUgY29udGV4dCBhbmQgcmVhZCB0aGUgc2lnbmFsIHZhbHVlIHdoZXJlIG5lZWRlZC4nKTtcbiAgaWYgKCFvcHRpb25zPy5pbmplY3Rvcikge1xuICAgIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChib3VuZGluZ0NsaWVudFJlY3QpO1xuICB9XG5cbiAgY29uc3QgaW5qZWN0b3IgPSBvcHRpb25zPy5pbmplY3RvciA/PyBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCB6b25lID0gaW5qZWN0b3IuZ2V0KE5nWm9uZSk7XG4gIGNvbnN0IGVsZW1lbnQgPSBjb21wdXRlZCgoKSA9PiBjb2VyY2VFbGVtZW50KGlzU2lnbmFsKGVsZW1lbnRMaWtlKSA/IGVsZW1lbnRMaWtlKCkgOiBlbGVtZW50TGlrZSkpO1xuICBjb25zdCBvbkJvdW5kaW5nQm94Q2hhbmdlID0gc2lnbmFsPHZvaWQ+KHVuZGVmaW5lZCwge2VxdWFsOiAoKSA9PiBmYWxzZX0pO1xuXG4gIC8vIFN1YnNjcmliZSB0byBlbGVtZW50IGJvdW5kaW5nIGJveCBjaGFuZ2VzLlxuICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICBjb25zdCBlbCA9IGVsZW1lbnQoKTtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGZyb21Cb3VuZGluZ0NsaWVudFJlY3QkKGVsKVxuICAgICAgICAvLyBBdm9pZCB0cmlnZ2VyaW5nIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAgICAgIC5waXBlKHN1YnNjcmliZUluKGZuID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoZm4pKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcbiAgICAgICAgICBvbkJvdW5kaW5nQm94Q2hhbmdlLnNldCgpO1xuICAgICAgICB9KTtcbiAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG4gIH0sIHtpbmplY3Rvcn0pO1xuXG4gIC8vIENyZWF0ZSBzaWduYWwgdGhhdCByZWNvbXB1dGVzIGVhY2ggdGltZSB0aGUgYm91bmRpbmcgYm94IGNoYW5nZXMuXG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZWwgPSBlbGVtZW50KCk7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBUcmFjayBib3VuZGluZyBib3guXG4gICAgb25Cb3VuZGluZ0JveENoYW5nZSgpO1xuXG4gICAgcmV0dXJuIGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9LCB7ZXF1YWw6IGlzRXF1YWxEb21SZWN0fSk7XG59XG5cbmZ1bmN0aW9uIGlzRXF1YWxEb21SZWN0KGE6IERPTVJlY3QgfCB1bmRlZmluZWQsIGI6IERPTVJlY3QgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGE/LnRvcCA9PT0gYj8udG9wICYmIGE/LnJpZ2h0ID09PSBiPy5yaWdodCAmJiBhPy5ib3R0b20gPT09IGI/LmJvdHRvbSAmJiBhPy5sZWZ0ID09PSBiPy5sZWZ0O1xufVxuIl19
@@ -1,67 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2024 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { Directive, ElementRef, inject, input, NgZone, output } from '@angular/core';
11
- import { fromResize$ } from '@scion/toolkit/observable';
12
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
- import { observeIn, subscribeIn } from '@scion/toolkit/operators';
14
- import * as i0 from "@angular/core";
15
- /**
16
- * Observes the size of the host element.
17
- *
18
- * ---
19
- * Usage:
20
- *
21
- * ```html
22
- * <div sciDimension (sciDimensionChange)="onDimensionChange($event)"></div>
23
- * ```
24
- */
25
- export class SciDimensionDirective {
26
- constructor() {
27
- /**
28
- * Controls if to output outside the Angular zone. Defaults to `false`.
29
- */
30
- this.emitOutsideAngular = input(false);
31
- /**
32
- * Outputs the size of the element.
33
- */
34
- this.dimensionChange = output({ alias: 'sciDimensionChange' });
35
- const host = inject((ElementRef)).nativeElement;
36
- const zone = inject(NgZone);
37
- fromResize$(host)
38
- .pipe(
39
- // Avoid triggering change detection cycle.
40
- subscribeIn(fn => zone.runOutsideAngular(fn)),
41
- // Run in animation frame to prevent 'ResizeObserver loop completed with undelivered notifications' error.
42
- // Do not use `animationFrameScheduler` because the scheduler does not necessarily execute in the current execution context, such as inside or outside Angular.
43
- // The scheduler always executes tasks in the context (e.g. zone) where the scheduler was first used in the application.
44
- observeIn(fn => requestAnimationFrame(fn)), observeIn(fn => this.emitOutsideAngular() ? fn() : zone.run(fn)), takeUntilDestroyed())
45
- .subscribe(() => {
46
- // Assert Angular zone.
47
- this.emitOutsideAngular() ? NgZone.assertNotInAngularZone() : NgZone.assertInAngularZone();
48
- this.dimensionChange.emit({
49
- clientWidth: host.clientWidth,
50
- offsetWidth: host.offsetWidth,
51
- clientHeight: host.clientHeight,
52
- offsetHeight: host.offsetHeight,
53
- element: host,
54
- });
55
- });
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: SciDimensionDirective, isStandalone: true, selector: "[sciDimension]", inputs: { emitOutsideAngular: { classPropertyName: "emitOutsideAngular", publicName: "emitOutsideAngular", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dimensionChange: "sciDimensionChange" }, ngImport: i0 }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionDirective, decorators: [{
61
- type: Directive,
62
- args: [{
63
- selector: '[sciDimension]',
64
- standalone: true,
65
- }]
66
- }], ctorParameters: () => [] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvZGltZW5zaW9uL3NyYy9kaW1lbnNpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUdoRTs7Ozs7Ozs7O0dBU0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBWWhDO1FBVkE7O1dBRUc7UUFDSSx1QkFBa0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekM7O1dBRUc7UUFDSSxvQkFBZSxHQUFHLE1BQU0sQ0FBZSxFQUFDLEtBQUssRUFBRSxvQkFBb0IsRUFBQyxDQUFDLENBQUM7UUFHM0UsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QixXQUFXLENBQUMsSUFBSSxDQUFDO2FBQ2QsSUFBSTtRQUNILDJDQUEyQztRQUMzQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0MsMEdBQTBHO1FBQzFHLCtKQUErSjtRQUMvSix3SEFBd0g7UUFDeEgsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDMUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ2hFLGtCQUFrQixFQUFFLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLHVCQUF1QjtZQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRTNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUN4QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXZDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgTmdab25lLCBvdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tUmVzaXplJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtvYnNlcnZlSW4sIHN1YnNjcmliZUlufSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTY2lEaW1lbnNpb259IGZyb20gJy4vZGltZW5zaW9uJztcblxuLyoqXG4gKiBPYnNlcnZlcyB0aGUgc2l6ZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICpcbiAqIC0tLVxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPGRpdiBzY2lEaW1lbnNpb24gKHNjaURpbWVuc2lvbkNoYW5nZSk9XCJvbkRpbWVuc2lvbkNoYW5nZSgkZXZlbnQpXCI+PC9kaXY+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NjaURpbWVuc2lvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lEaW1lbnNpb25EaXJlY3RpdmUge1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBpZiB0byBvdXRwdXQgb3V0c2lkZSB0aGUgQW5ndWxhciB6b25lLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgcHVibGljIGVtaXRPdXRzaWRlQW5ndWxhciA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogT3V0cHV0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBkaW1lbnNpb25DaGFuZ2UgPSBvdXRwdXQ8U2NpRGltZW5zaW9uPih7YWxpYXM6ICdzY2lEaW1lbnNpb25DaGFuZ2UnfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgaG9zdCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50PikubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBmcm9tUmVzaXplJChob3N0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEF2b2lkIHRyaWdnZXJpbmcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgc3Vic2NyaWJlSW4oZm4gPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcihmbikpLFxuICAgICAgICAvLyBSdW4gaW4gYW5pbWF0aW9uIGZyYW1lIHRvIHByZXZlbnQgJ1Jlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9ucycgZXJyb3IuXG4gICAgICAgIC8vIERvIG5vdCB1c2UgYGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyYCBiZWNhdXNlIHRoZSBzY2hlZHVsZXIgZG9lcyBub3QgbmVjZXNzYXJpbHkgZXhlY3V0ZSBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4dCwgc3VjaCBhcyBpbnNpZGUgb3Igb3V0c2lkZSBBbmd1bGFyLlxuICAgICAgICAvLyBUaGUgc2NoZWR1bGVyIGFsd2F5cyBleGVjdXRlcyB0YXNrcyBpbiB0aGUgY29udGV4dCAoZS5nLiB6b25lKSB3aGVyZSB0aGUgc2NoZWR1bGVyIHdhcyBmaXJzdCB1c2VkIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgICAgb2JzZXJ2ZUluKGZuID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZShmbikpLFxuICAgICAgICBvYnNlcnZlSW4oZm4gPT4gdGhpcy5lbWl0T3V0c2lkZUFuZ3VsYXIoKSA/IGZuKCkgOiB6b25lLnJ1bihmbikpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBBc3NlcnQgQW5ndWxhciB6b25lLlxuICAgICAgICB0aGlzLmVtaXRPdXRzaWRlQW5ndWxhcigpID8gTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKSA6IE5nWm9uZS5hc3NlcnRJbkFuZ3VsYXJab25lKCk7XG5cbiAgICAgICAgdGhpcy5kaW1lbnNpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgY2xpZW50V2lkdGg6IGhvc3QuY2xpZW50V2lkdGgsXG4gICAgICAgICAgb2Zmc2V0V2lkdGg6IGhvc3Qub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgY2xpZW50SGVpZ2h0OiBob3N0LmNsaWVudEhlaWdodCxcbiAgICAgICAgICBvZmZzZXRIZWlnaHQ6IGhvc3Qub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgIGVsZW1lbnQ6IGhvc3QsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2024 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- export {};
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9kaW1lbnNpb24vc3JjL2RpbWVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGltZW5zaW9uIG9mIGFuIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NpRGltZW5zaW9uIHtcbiAgb2Zmc2V0V2lkdGg6IG51bWJlcjtcbiAgb2Zmc2V0SGVpZ2h0OiBudW1iZXI7XG4gIGNsaWVudFdpZHRoOiBudW1iZXI7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { NgModule } from '@angular/core';
11
- import { SciDimensionDirective } from './dimension.directive';
12
- import * as i0 from "@angular/core";
13
- /**
14
- * Provides a directive for observing changes to the size of the host element.
15
- *
16
- * @see fromDimension$
17
- */
18
- export class SciDimensionModule {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionModule, imports: [SciDimensionDirective], exports: [SciDimensionDirective] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionModule }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciDimensionModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- imports: [
27
- SciDimensionDirective,
28
- ],
29
- exports: [
30
- SciDimensionDirective,
31
- ],
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvZGltZW5zaW9uL3NyYy9kaW1lbnNpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFNUQ7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBTjNCLHFCQUFxQixhQUdyQixxQkFBcUI7K0dBR1osa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVI5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NjaURpbWVuc2lvbkRpcmVjdGl2ZX0gZnJvbSAnLi9kaW1lbnNpb24uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIGRpcmVjdGl2ZSBmb3Igb2JzZXJ2aW5nIGNoYW5nZXMgdG8gdGhlIHNpemUgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAqXG4gKiBAc2VlIGZyb21EaW1lbnNpb24kXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTY2lEaW1lbnNpb25EaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTY2lEaW1lbnNpb25EaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjaURpbWVuc2lvbk1vZHVsZSB7XG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2024 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { assertInInjectionContext, assertNotInReactiveContext, computed, effect, inject, Injector, isSignal, NgZone, signal, untracked } from '@angular/core';
11
- import { coerceElement } from '@angular/cdk/coercion';
12
- import { Objects } from '@scion/toolkit/util';
13
- import { fromResize$ } from '@scion/toolkit/observable';
14
- import { observeIn, subscribeIn } from '@scion/toolkit/operators';
15
- export function dimension(elementLike, options) {
16
- assertNotInReactiveContext(dimension, 'Invoking `dimension` causes new subscriptions every time. Move `dimension` outside of the reactive context and read the signal value where needed.');
17
- if (!options?.injector) {
18
- assertInInjectionContext(dimension);
19
- }
20
- const injector = options?.injector ?? inject(Injector);
21
- const zone = injector.get(NgZone);
22
- const element = computed(() => coerceElement(isSignal(elementLike) ? elementLike() : elementLike));
23
- const onResize = signal(undefined, { equal: () => false });
24
- // Subscribe to element size changes.
25
- effect(onCleanup => {
26
- const el = element();
27
- if (!el) {
28
- return;
29
- }
30
- untracked(() => {
31
- const subscription = fromResize$(el)
32
- .pipe(
33
- // Avoid triggering change detection cycle.
34
- subscribeIn(fn => zone.runOutsideAngular(fn)),
35
- // Run in animation frame to prevent 'ResizeObserver loop completed with undelivered notifications' error.
36
- // Do not use `animationFrameScheduler` because the scheduler does not necessarily execute in the current execution context, such as inside or outside Angular.
37
- // The scheduler always executes tasks in the context (e.g. zone) where the scheduler was first used in the application.
38
- observeIn(fn => requestAnimationFrame(fn)))
39
- .subscribe(() => {
40
- NgZone.assertNotInAngularZone();
41
- onResize.set();
42
- });
43
- onCleanup(() => subscription.unsubscribe());
44
- });
45
- }, { injector });
46
- // Create signal that recomputes each time the size changes.
47
- return computed(() => {
48
- const el = element();
49
- if (!el) {
50
- return undefined;
51
- }
52
- // Track element size.
53
- onResize();
54
- return {
55
- clientWidth: el.clientWidth,
56
- offsetWidth: el.offsetWidth,
57
- clientHeight: el.clientHeight,
58
- offsetHeight: el.offsetHeight,
59
- element: el,
60
- };
61
- }, { equal: Objects.isEqual });
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLnNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvZGltZW5zaW9uL3NyYy9kaW1lbnNpb24uc2lnbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEwsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQWVoRSxNQUFNLFVBQVUsU0FBUyxDQUFDLFdBQThHLEVBQUUsT0FBK0I7SUFDdkssMEJBQTBCLENBQUMsU0FBUyxFQUFFLG9KQUFvSixDQUFDLENBQUM7SUFDNUwsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2Qix3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkcsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFPLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBRS9ELHFDQUFxQztJQUNyQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDakIsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTztRQUNULENBQUM7UUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztpQkFDakMsSUFBSTtZQUNILDJDQUEyQztZQUMzQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsMEdBQTBHO1lBQzFHLCtKQUErSjtZQUMvSix3SEFBd0g7WUFDeEgsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDM0M7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDaEMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUVmLDREQUE0RDtJQUM1RCxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixRQUFRLEVBQUUsQ0FBQztRQUVYLE9BQU87WUFDTCxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVc7WUFDM0IsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXO1lBQzNCLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtZQUM3QixZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVk7WUFDN0IsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBhc3NlcnROb3RJblJlYWN0aXZlQ29udGV4dCwgY29tcHV0ZWQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3RvciwgaXNTaWduYWwsIE5nWm9uZSwgc2lnbmFsLCBTaWduYWwsIHVudHJhY2tlZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NjaURpbWVuc2lvbn0gZnJvbSAnLi9kaW1lbnNpb24nO1xuaW1wb3J0IHtjb2VyY2VFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7ZnJvbVJlc2l6ZSR9IGZyb20gJ0BzY2lvbi90b29sa2l0L29ic2VydmFibGUnO1xuaW1wb3J0IHtvYnNlcnZlSW4sIHN1YnNjcmliZUlufSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzaWduYWwgb2JzZXJ2aW5nIHRoZSBzaXplIG9mIGFuIGVsZW1lbnQuXG4gKlxuICogVGhlIGVsZW1lbnQgY2FuIGJlIHBhc3NlZCBhcyBhIHNpZ25hbCwgZW5hYmxpbmcgb2JzZXJ2YXRpb24gb2YgdmlldyBjaGlsZHJlbiBpbiB0aGUgY29tcG9uZW50IGNvbnN0cnVjdG9yLlxuICpcbiAqIFRoZSBzaWduYWwgc3Vic2NyaWJlcyB0byB0aGUgbmF0aXZlIHtAbGluayBSZXNpemVPYnNlcnZlcn0gdG8gbW9uaXRvciBlbGVtZW50IHNpemUgY2hhbmdlcy4gRGVzdHJveWluZyB0aGUgaW5qZWN0aW9uIGNvbnRleHQgd2lsbCB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2ZXIuXG4gKlxuICogVXNhZ2U6XG4gKiAtIE11c3QgYmUgY2FsbGVkIHdpdGhpbiBhbiBpbmplY3Rpb24gY29udGV4dCBvciBhbiBpbmplY3RvciBwcm92aWRlZC4gRGVzdHJveWluZyB0aGUgaW5qZWN0b3Igd2lsbCB1bnN1YnNjcmliZSB0aGUgc2lnbmFsLlxuICogLSBNdXN0IG5vdCBiZSBjYWxsZWQgd2l0aGluIGEgcmVhY3RpdmUgY29udGV4dCB0byBhdm9pZCByZXBlYXRlZCBzdWJzY3JpcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGltZW5zaW9uKGVsZW1lbnRMaWtlOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgU2lnbmFsPEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4+LCBvcHRpb25zPzoge2luamVjdG9yPzogSW5qZWN0b3J9KTogU2lnbmFsPFNjaURpbWVuc2lvbj47XG5leHBvcnQgZnVuY3Rpb24gZGltZW5zaW9uKGVsZW1lbnRMaWtlOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgU2lnbmFsPEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ+LCBvcHRpb25zPzoge2luamVjdG9yPzogSW5qZWN0b3J9KTogU2lnbmFsPFNjaURpbWVuc2lvbiB8IHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gZGltZW5zaW9uKGVsZW1lbnRMaWtlOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgU2lnbmFsPEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ+LCBvcHRpb25zPzoge2luamVjdG9yPzogSW5qZWN0b3J9KTogU2lnbmFsPFNjaURpbWVuc2lvbiB8IHVuZGVmaW5lZD4ge1xuICBhc3NlcnROb3RJblJlYWN0aXZlQ29udGV4dChkaW1lbnNpb24sICdJbnZva2luZyBgZGltZW5zaW9uYCBjYXVzZXMgbmV3IHN1YnNjcmlwdGlvbnMgZXZlcnkgdGltZS4gTW92ZSBgZGltZW5zaW9uYCBvdXRzaWRlIG9mIHRoZSByZWFjdGl2ZSBjb250ZXh0IGFuZCByZWFkIHRoZSBzaWduYWwgdmFsdWUgd2hlcmUgbmVlZGVkLicpO1xuICBpZiAoIW9wdGlvbnM/LmluamVjdG9yKSB7XG4gICAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGRpbWVuc2lvbik7XG4gIH1cblxuICBjb25zdCBpbmplY3RvciA9IG9wdGlvbnM/LmluamVjdG9yID8/IGluamVjdChJbmplY3Rvcik7XG4gIGNvbnN0IHpvbmUgPSBpbmplY3Rvci5nZXQoTmdab25lKTtcbiAgY29uc3QgZWxlbWVudCA9IGNvbXB1dGVkKCgpID0+IGNvZXJjZUVsZW1lbnQoaXNTaWduYWwoZWxlbWVudExpa2UpID8gZWxlbWVudExpa2UoKSA6IGVsZW1lbnRMaWtlKSk7XG4gIGNvbnN0IG9uUmVzaXplID0gc2lnbmFsPHZvaWQ+KHVuZGVmaW5lZCwge2VxdWFsOiAoKSA9PiBmYWxzZX0pO1xuXG4gIC8vIFN1YnNjcmliZSB0byBlbGVtZW50IHNpemUgY2hhbmdlcy5cbiAgZWZmZWN0KG9uQ2xlYW51cCA9PiB7XG4gICAgY29uc3QgZWwgPSBlbGVtZW50KCk7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBmcm9tUmVzaXplJChlbClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gQXZvaWQgdHJpZ2dlcmluZyBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgICAgICAgIHN1YnNjcmliZUluKGZuID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoZm4pKSxcbiAgICAgICAgICAvLyBSdW4gaW4gYW5pbWF0aW9uIGZyYW1lIHRvIHByZXZlbnQgJ1Jlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9ucycgZXJyb3IuXG4gICAgICAgICAgLy8gRG8gbm90IHVzZSBgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXJgIGJlY2F1c2UgdGhlIHNjaGVkdWxlciBkb2VzIG5vdCBuZWNlc3NhcmlseSBleGVjdXRlIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0LCBzdWNoIGFzIGluc2lkZSBvciBvdXRzaWRlIEFuZ3VsYXIuXG4gICAgICAgICAgLy8gVGhlIHNjaGVkdWxlciBhbHdheXMgZXhlY3V0ZXMgdGFza3MgaW4gdGhlIGNvbnRleHQgKGUuZy4gem9uZSkgd2hlcmUgdGhlIHNjaGVkdWxlciB3YXMgZmlyc3QgdXNlZCBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAgICAgICAgb2JzZXJ2ZUluKGZuID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZShmbikpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIE5nWm9uZS5hc3NlcnROb3RJbkFuZ3VsYXJab25lKCk7XG4gICAgICAgICAgb25SZXNpemUuc2V0KCk7XG4gICAgICAgIH0pO1xuICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9KTtcbiAgfSwge2luamVjdG9yfSk7XG5cbiAgLy8gQ3JlYXRlIHNpZ25hbCB0aGF0IHJlY29tcHV0ZXMgZWFjaCB0aW1lIHRoZSBzaXplIGNoYW5nZXMuXG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZWwgPSBlbGVtZW50KCk7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBUcmFjayBlbGVtZW50IHNpemUuXG4gICAgb25SZXNpemUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjbGllbnRXaWR0aDogZWwuY2xpZW50V2lkdGgsXG4gICAgICBvZmZzZXRXaWR0aDogZWwub2Zmc2V0V2lkdGgsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgZWxlbWVudDogZWwsXG4gICAgfTtcbiAgfSwge2VxdWFsOiBPYmplY3RzLmlzRXF1YWx9KTtcbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- /*
11
- * Secondary entrypoint: '@scion/components/dimension'
12
- *
13
- * @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md
14
- */
15
- export { SciDimensionModule } from './dimension.module';
16
- export { SciDimensionDirective } from './dimension.directive';
17
- export { dimension } from './dimension.signal';
18
- export { boundingClientRect } from './bounding-client-rect.signal';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvZGltZW5zaW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUg7Ozs7R0FJRztBQUNILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbi8qXG4gKiBTZWNvbmRhcnkgZW50cnlwb2ludDogJ0BzY2lvbi9jb21wb25lbnRzL2RpbWVuc2lvbidcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvYmxvYi9tYXN0ZXIvZG9jcy9zZWNvbmRhcnktZW50cnlwb2ludHMubWRcbiAqL1xuZXhwb3J0IHtTY2lEaW1lbnNpb25Nb2R1bGV9IGZyb20gJy4vZGltZW5zaW9uLm1vZHVsZSc7XG5leHBvcnQge1NjaURpbWVuc2lvbkRpcmVjdGl2ZX0gZnJvbSAnLi9kaW1lbnNpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7ZGltZW5zaW9ufSBmcm9tICcuL2RpbWVuc2lvbi5zaWduYWwnO1xuZXhwb3J0IHtib3VuZGluZ0NsaWVudFJlY3R9IGZyb20gJy4vYm91bmRpbmctY2xpZW50LXJlY3Quc2lnbmFsJztcbmV4cG9ydCB7U2NpRGltZW5zaW9ufSBmcm9tICcuL2RpbWVuc2lvbic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Npb24tY29tcG9uZW50cy1kaW1lbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL2RpbWVuc2lvbi9zcmMvc2Npb24tY29tcG9uZW50cy1kaW1lbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,11 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- export {};
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG4vKipcbiAqIFByaW1hcnkgZW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCB7fSBmcm9tICcnO1xuIl19
@@ -1,31 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { Directive } from '@angular/core';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * Provides access to the native {@link HTMLElement} of the host.
14
- */
15
- export class SciElementRefDirective {
16
- constructor(host) {
17
- this.host = host;
18
- this.nativeElement = host.nativeElement;
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciElementRefDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: SciElementRefDirective, isStandalone: true, selector: "[sciElementRef]", exportAs: ["sciElementRef"], ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciElementRefDirective, decorators: [{
24
- type: Directive,
25
- args: [{
26
- selector: '[sciElementRef]',
27
- exportAs: 'sciElementRef',
28
- standalone: true,
29
- }]
30
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zYXNoYm94L3NyYy9lbGVtZW50LXJlZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBbUIsSUFBNkI7UUFBN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7OEdBTlUsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIG5hdGl2ZSB7QGxpbmsgSFRNTEVsZW1lbnR9IG9mIHRoZSBob3N0LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2NpRWxlbWVudFJlZl0nLFxuICBleHBvcnRBczogJ3NjaUVsZW1lbnRSZWYnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lFbGVtZW50UmVmRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gaG9zdC5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- /*
11
- * Secondary entrypoint: '@scion/components/sashbox'
12
- *
13
- * @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md
14
- */
15
- export { SciSashboxModule } from './sashbox.module';
16
- export { SciSashboxComponent } from './sashbox.component';
17
- export { SciSashDirective } from './sash.directive';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvc2FzaGJveC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVIOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbi8qXG4gKiBTZWNvbmRhcnkgZW50cnlwb2ludDogJ0BzY2lvbi9jb21wb25lbnRzL3Nhc2hib3gnXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2Jsb2IvbWFzdGVyL2RvY3Mvc2Vjb25kYXJ5LWVudHJ5cG9pbnRzLm1kXG4gKi9cbmV4cG9ydCB7U2NpU2FzaGJveE1vZHVsZX0gZnJvbSAnLi9zYXNoYm94Lm1vZHVsZSc7XG5leHBvcnQge1NjaVNhc2hib3hDb21wb25lbnR9IGZyb20gJy4vc2FzaGJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtTY2lTYXNoRGlyZWN0aXZlfSBmcm9tICcuL3Nhc2guZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,35 +0,0 @@
1
- /*
2
- * Copyright (c) 2018-2019 Swiss Federal Railways
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- */
10
- import { Directive, Input } from '@angular/core';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * Initializes {SashDirective} with the target {HTMLDivElement}.
14
- */
15
- export class SciSashInitializerDirective {
16
- constructor(_host) {
17
- this._host = _host;
18
- }
19
- ngOnChanges(changes) {
20
- this.sash.element = this._host.nativeElement;
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciSashInitializerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: SciSashInitializerDirective, isStandalone: true, selector: "div[sciSashInitializer].sash", inputs: { sash: ["sciSashInitializer", "sash"] }, usesOnChanges: true, ngImport: i0 }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SciSashInitializerDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: 'div[sciSashInitializer].sash',
29
- standalone: true,
30
- }]
31
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { sash: [{
32
- type: Input,
33
- args: [{ alias: 'sciSashInitializer', required: true }]
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FzaC1pbml0aWFsaXplci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3Nhc2hib3gvc3JjL3Nhc2gtaW5pdGlhbGl6ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBYyxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDOztBQUdyRjs7R0FFRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsWUFBb0IsS0FBaUM7UUFBakMsVUFBSyxHQUFMLEtBQUssQ0FBNEI7SUFDckQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUMvQyxDQUFDOzhHQVZVLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFJUSxJQUFJO3NCQURWLEtBQUs7dUJBQUMsRUFBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2NpU2FzaERpcmVjdGl2ZX0gZnJvbSAnLi9zYXNoLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMge1Nhc2hEaXJlY3RpdmV9IHdpdGggdGhlIHRhcmdldCB7SFRNTERpdkVsZW1lbnR9LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkaXZbc2NpU2FzaEluaXRpYWxpemVyXS5zYXNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU2FzaEluaXRpYWxpemVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoe2FsaWFzOiAnc2NpU2FzaEluaXRpYWxpemVyJywgcmVxdWlyZWQ6IHRydWV9KVxuICBwdWJsaWMgc2FzaCE6IFNjaVNhc2hEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zYXNoLmVsZW1lbnQgPSB0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==