@ssv/ngx.ux 3.2.0-dev.68 → 3.3.0-dev.76

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 (42) hide show
  1. package/fesm2022/ssv-ngx.ux.mjs +60 -72
  2. package/fesm2022/ssv-ngx.ux.mjs.map +1 -1
  3. package/index.d.ts +225 -3
  4. package/package.json +1 -3
  5. package/esm2022/index.mjs +0 -4
  6. package/esm2022/internal/internal.model.mjs +0 -2
  7. package/esm2022/platform/window.mjs +0 -31
  8. package/esm2022/ssv-ngx.ux.mjs +0 -5
  9. package/esm2022/ux.module.mjs +0 -19
  10. package/esm2022/version.mjs +0 -2
  11. package/esm2022/viewport/index.mjs +0 -10
  12. package/esm2022/viewport/viewport-data/index.mjs +0 -4
  13. package/esm2022/viewport/viewport-data/viewport-data-matcher.mjs +0 -107
  14. package/esm2022/viewport/viewport-data/viewport-data.pipe.mjs +0 -48
  15. package/esm2022/viewport/viewport-data/viewport-data.service.mjs +0 -32
  16. package/esm2022/viewport/viewport-data/viewport-data.utils.mjs +0 -100
  17. package/esm2022/viewport/viewport-matcher-var.directive.mjs +0 -69
  18. package/esm2022/viewport/viewport-matcher.directive.mjs +0 -136
  19. package/esm2022/viewport/viewport-server-size.service.mjs +0 -38
  20. package/esm2022/viewport/viewport.model.mjs +0 -30
  21. package/esm2022/viewport/viewport.module.mjs +0 -27
  22. package/esm2022/viewport/viewport.options.mjs +0 -51
  23. package/esm2022/viewport/viewport.service.mjs +0 -79
  24. package/esm2022/viewport/viewport.util.mjs +0 -117
  25. package/internal/internal.model.d.ts +0 -3
  26. package/platform/window.d.ts +0 -13
  27. package/ux.module.d.ts +0 -7
  28. package/version.d.ts +0 -1
  29. package/viewport/index.d.ts +0 -9
  30. package/viewport/viewport-data/index.d.ts +0 -3
  31. package/viewport/viewport-data/viewport-data-matcher.d.ts +0 -32
  32. package/viewport/viewport-data/viewport-data.pipe.d.ts +0 -18
  33. package/viewport/viewport-data/viewport-data.service.d.ts +0 -16
  34. package/viewport/viewport-data/viewport-data.utils.d.ts +0 -21
  35. package/viewport/viewport-matcher-var.directive.d.ts +0 -25
  36. package/viewport/viewport-matcher.directive.d.ts +0 -33
  37. package/viewport/viewport-server-size.service.d.ts +0 -10
  38. package/viewport/viewport.model.d.ts +0 -47
  39. package/viewport/viewport.module.d.ts +0 -9
  40. package/viewport/viewport.options.d.ts +0 -19
  41. package/viewport/viewport.service.d.ts +0 -34
  42. package/viewport/viewport.util.d.ts +0 -25
@@ -1,19 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { SsvUxViewportModule } from "./viewport/viewport.module";
3
- import * as i0 from "@angular/core";
4
- const EXPORTED_IMPORTS = [
5
- SsvUxViewportModule,
6
- ];
7
- export class SsvUxModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SsvUxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: SsvUxModule, imports: [SsvUxViewportModule], exports: [SsvUxViewportModule] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SsvUxModule, imports: [EXPORTED_IMPORTS, SsvUxViewportModule] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SsvUxModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [EXPORTED_IMPORTS],
16
- exports: [EXPORTED_IMPORTS]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9uZ3gudXgvc3JjL3V4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVqRSxNQUFNLGdCQUFnQixHQUFHO0lBQ3hCLG1CQUFtQjtDQUNuQixDQUFDO0FBTUYsTUFBTSxPQUFPLFdBQVc7dUdBQVgsV0FBVzt3R0FBWCxXQUFXLFlBUHZCLG1CQUFtQixhQUFuQixtQkFBbUI7d0dBT1AsV0FBVyxZQUhiLGdCQUFnQixFQUoxQixtQkFBbUI7OzJGQU9QLFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3N2VXhWaWV3cG9ydE1vZHVsZSB9IGZyb20gXCIuL3ZpZXdwb3J0L3ZpZXdwb3J0Lm1vZHVsZVwiO1xuXG5jb25zdCBFWFBPUlRFRF9JTVBPUlRTID0gW1xuXHRTc3ZVeFZpZXdwb3J0TW9kdWxlLFxuXTtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW0VYUE9SVEVEX0lNUE9SVFNdLFxuXHRleHBvcnRzOiBbRVhQT1JURURfSU1QT1JUU11cbn0pXG5leHBvcnQgY2xhc3MgU3N2VXhNb2R1bGUge1xuXG59Il19
@@ -1,2 +0,0 @@
1
- export const VERSION = "3.2.0-dev.68";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbmd4LnV4L3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiMy4yLjAtZGV2LjY4XCI7XG4iXX0=
@@ -1,10 +0,0 @@
1
- export * from "./viewport-data/index";
2
- export { SsvUxViewportModule } from "./viewport.module";
3
- export { provideSsvUxViewportOptions, VIEWPORT_OPTIONS, withViewportSsrDevice } from "./viewport.options";
4
- export { SsvViewportMatcherVarDirective, SsvViewportMatcherVarContext } from "./viewport-matcher-var.directive";
5
- export { SsvViewportMatcherDirective, SsvViewportMatcherContext } from "./viewport-matcher.directive";
6
- export { VIEWPORT_SSR_DEVICE, ViewportServerSizeService } from "./viewport-server-size.service";
7
- export { ComparisonOperation, DeviceType, ViewportSizeType, } from "./viewport.model";
8
- export { ViewportService } from "./viewport.service";
9
- export { generateViewportSizeType } from "./viewport.util";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25neC51eC9zcmMvdmlld3BvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQTBCLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEksT0FBTyxFQUFFLDhCQUE4QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEcsT0FBTyxFQU1OLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsZ0JBQWdCLEdBQ2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdmlld3BvcnQtZGF0YS9pbmRleFwiO1xuXG5leHBvcnQgeyBTc3ZVeFZpZXdwb3J0TW9kdWxlIH0gZnJvbSBcIi4vdmlld3BvcnQubW9kdWxlXCI7XG5leHBvcnQgeyBwcm92aWRlU3N2VXhWaWV3cG9ydE9wdGlvbnMsIFZJRVdQT1JUX09QVElPTlMsIHR5cGUgVXhWaWV3cG9ydE9wdGlvbnMsIHdpdGhWaWV3cG9ydFNzckRldmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0Lm9wdGlvbnNcIjtcblxuZXhwb3J0IHsgU3N2Vmlld3BvcnRNYXRjaGVyVmFyRGlyZWN0aXZlLCBTc3ZWaWV3cG9ydE1hdGNoZXJWYXJDb250ZXh0IH0gZnJvbSBcIi4vdmlld3BvcnQtbWF0Y2hlci12YXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgeyBTc3ZWaWV3cG9ydE1hdGNoZXJEaXJlY3RpdmUsIFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQgfSBmcm9tIFwiLi92aWV3cG9ydC1tYXRjaGVyLmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHsgVklFV1BPUlRfU1NSX0RFVklDRSwgVmlld3BvcnRTZXJ2ZXJTaXplU2VydmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0LXNlcnZlci1zaXplLnNlcnZpY2VcIjtcbmV4cG9ydCB7XG5cdHR5cGUgQ29tcGFyaXNvbk9wZXJhdGlvblZhbHVlVHlwZSxcblx0dHlwZSBDb21wYXJpc29uT3BlcmF0aW9uTGl0ZXJhbCxcblx0dHlwZSBDb21wYXJpc29uT3BlcmF0aW9uS2V5VHlwZSxcblx0dHlwZSBWaWV3cG9ydFNpemUsXG5cdHR5cGUgVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdENvbXBhcmlzb25PcGVyYXRpb24sXG5cdERldmljZVR5cGUsXG5cdFZpZXdwb3J0U2l6ZVR5cGUsXG59IGZyb20gXCIuL3ZpZXdwb3J0Lm1vZGVsXCI7XG5leHBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi92aWV3cG9ydC5zZXJ2aWNlXCI7XG5leHBvcnQgeyBnZW5lcmF0ZVZpZXdwb3J0U2l6ZVR5cGUgfSBmcm9tIFwiLi92aWV3cG9ydC51dGlsXCI7XG4iXX0=
@@ -1,4 +0,0 @@
1
- export { ViewportDataService } from "./viewport-data.service";
2
- export { ViewportDataPipe } from "./viewport-data.pipe";
3
- export { ViewportDataMatchStrategy } from "./viewport-data-matcher";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC51eC9zcmMvdmlld3BvcnQvdmlld3BvcnQtZGF0YS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQTJCLHlCQUF5QixFQUF5QyxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVmlld3BvcnREYXRhU2VydmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGEuc2VydmljZVwiO1xuZXhwb3J0IHsgVmlld3BvcnREYXRhUGlwZSB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGEucGlwZVwiO1xuZXhwb3J0IHsgdHlwZSBWaWV3cG9ydERhdGFDb25maWcsIFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3ksIHR5cGUgVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneUxpdGVyYWwgfSBmcm9tIFwiLi92aWV3cG9ydC1kYXRhLW1hdGNoZXJcIjtcbiJdfQ==
@@ -1,107 +0,0 @@
1
- export var ViewportDataMatchStrategy;
2
- (function (ViewportDataMatchStrategy) {
3
- /** Indicates that size should match exact or default. */
4
- ViewportDataMatchStrategy[ViewportDataMatchStrategy["exact"] = 0] = "exact";
5
- /** Indicates that size matches when exact match, first match smaller (down) or default. */
6
- ViewportDataMatchStrategy[ViewportDataMatchStrategy["smaller"] = 1] = "smaller";
7
- /** Indicates that size matches when exact match, first match larger (up) or default. */
8
- ViewportDataMatchStrategy[ViewportDataMatchStrategy["larger"] = 2] = "larger";
9
- /** Indicates that size matches when exact match, or it tries both smaller/larger (smaller is preferred) until match or default. */
10
- ViewportDataMatchStrategy[ViewportDataMatchStrategy["closestSmallerFirst"] = 3] = "closestSmallerFirst";
11
- /** Indicates that size matches when exact match, or it tries both larger/smaller (larger is preferred) until match or default. */
12
- ViewportDataMatchStrategy[ViewportDataMatchStrategy["closestLargerFirst"] = 4] = "closestLargerFirst";
13
- })(ViewportDataMatchStrategy || (ViewportDataMatchStrategy = {}));
14
- /**
15
- * Utility function to match data based on strategy and size.
16
- *
17
- * @param dataConfig Data config to generate rules based on.
18
- * @param sizeType Size type to get data for.
19
- * @param strategy Strategy to use when building rules.
20
- * @param sizeTypes Available size types ordered by index type. (Can be obtained from `ViewportService`)
21
- * @param sizeTypeMap Available size type map. (Can be obtained from `ViewportService`)
22
- * @returns Returns the matched data value.
23
- */
24
- export function matchViewportData(dataConfig, sizeType, strategy, sizeTypes, sizeTypeMap) {
25
- const matchFn = matchStrategyHandlerMap[strategy];
26
- if (!matchFn) {
27
- throw Error(`matchViewportData: Viewport Data strategy not implemented. Strategy: '${strategy}'`);
28
- }
29
- const data = matchFn(dataConfig, sizeType, sizeTypes, sizeTypeMap);
30
- if (data !== undefined) {
31
- return data;
32
- }
33
- return dataConfig.default;
34
- }
35
- const matchStrategyHandlerMap = {
36
- [ViewportDataMatchStrategy.exact]: matchWithExact,
37
- [ViewportDataMatchStrategy.larger]: matchWithLargerMatch,
38
- [ViewportDataMatchStrategy.smaller]: matchWithSmallerMatch,
39
- [ViewportDataMatchStrategy.closestSmallerFirst]: matchWithClosestSmallerFirstMatch,
40
- [ViewportDataMatchStrategy.closestLargerFirst]: matchWithClosestLargerFirstMatch,
41
- };
42
- function matchWithExact(dataConfig, currentSizeType) {
43
- return dataConfig[currentSizeType.name];
44
- }
45
- function matchWithLargerMatch(dataConfig, currentSizeType, sizeTypes) {
46
- let data = dataConfig[currentSizeType.name];
47
- if (data !== undefined) {
48
- return data;
49
- }
50
- const largestTypeIdx = sizeTypes[sizeTypes.length - 1].type;
51
- if (currentSizeType.type >= largestTypeIdx) {
52
- return undefined;
53
- }
54
- for (let index = currentSizeType.type; index < sizeTypes.length; index++) {
55
- const sizeType = sizeTypes[index];
56
- data = dataConfig[sizeType.name];
57
- if (data !== undefined) {
58
- return data;
59
- }
60
- }
61
- return undefined;
62
- }
63
- function matchWithSmallerMatch(dataConfig, currentSizeType, sizeTypes) {
64
- let data = dataConfig[currentSizeType.name];
65
- if (data !== undefined) {
66
- return data;
67
- }
68
- if (currentSizeType.type <= 0) {
69
- return undefined;
70
- }
71
- // eslint-disable-next-line for-direction
72
- for (let index = currentSizeType.type; index < sizeTypes.length; index--) {
73
- const sizeType = sizeTypes[index];
74
- data = dataConfig[sizeType.name];
75
- if (data !== undefined) {
76
- return data;
77
- }
78
- }
79
- return undefined;
80
- }
81
- function matchWithClosestSmallerFirstMatch(dataConfig, currentSizeType, sizeTypes) {
82
- return closestMatch(dataConfig, currentSizeType, sizeTypes, true);
83
- }
84
- function matchWithClosestLargerFirstMatch(dataConfig, currentSizeType, sizeTypes) {
85
- return closestMatch(dataConfig, currentSizeType, sizeTypes, false);
86
- }
87
- function closestMatch(dataConfig, currentSizeType, sizeTypes, isSmallerFirst) {
88
- let data = dataConfig[currentSizeType.name];
89
- if (data !== undefined) {
90
- return data;
91
- }
92
- let downIndex = currentSizeType.type;
93
- let upIndex = currentSizeType.type;
94
- for (let index = 0; index < sizeTypes.length; index++) {
95
- for (const idx of isSmallerFirst ? [--downIndex, ++upIndex] : [++upIndex, --downIndex]) {
96
- const sizeType = sizeTypes[idx];
97
- if (sizeType) {
98
- data = dataConfig[sizeType.name];
99
- if (data !== undefined) {
100
- return data;
101
- }
102
- }
103
- }
104
- }
105
- return undefined;
106
- }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtZGF0YS1tYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gudXgvc3JjL3ZpZXdwb3J0L3ZpZXdwb3J0LWRhdGEvdmlld3BvcnQtZGF0YS1tYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLHlCQWVYO0FBZkQsV0FBWSx5QkFBeUI7SUFDcEMseURBQXlEO0lBQ3pELDJFQUFLLENBQUE7SUFFTCwyRkFBMkY7SUFDM0YsK0VBQU8sQ0FBQTtJQUVQLHdGQUF3RjtJQUN4Riw2RUFBTSxDQUFBO0lBRU4sbUlBQW1JO0lBQ25JLHVHQUFtQixDQUFBO0lBRW5CLGtJQUFrSTtJQUNsSSxxR0FBa0IsQ0FBQTtBQUNuQixDQUFDLEVBZlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQWVwQztBQVlEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDaEMsVUFBaUMsRUFDakMsUUFBOEIsRUFDOUIsUUFBbUMsRUFDbkMsU0FBaUMsRUFDakMsV0FBNkM7SUFFN0MsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2QsTUFBTSxLQUFLLENBQUMseUVBQXlFLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQU0sQ0FBQztJQUN4RSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUM7QUFDM0IsQ0FBQztBQUdELE1BQU0sdUJBQXVCLEdBQW9DO0lBQ2hFLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUUsY0FB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QUNqQyxjQUF1QjtJQUV2QixJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksU0FBUyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDckMsSUFBSSxPQUFPLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUduQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELEtBQUssTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3hGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNkLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxJQUFJLENBQUM7Z0JBQ2IsQ0FBQztZQUNGLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpY3Rpb25hcnkgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWwvaW50ZXJuYWwubW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgVmlld3BvcnRTaXplVHlwZUluZm8gfSBmcm9tIFwiLi4vdmlld3BvcnQubW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgVmlld3BvcnREYXRhQ29uZmlnPFRWYWx1ZSA9IHVua25vd24sIFREYXRhID0gRGljdGlvbmFyeTxUVmFsdWU+PiA9IFREYXRhICYge1xuXHRkZWZhdWx0PzogVFZhbHVlXG59O1xuXG5leHBvcnQgZW51bSBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5IHtcblx0LyoqIEluZGljYXRlcyB0aGF0IHNpemUgc2hvdWxkIG1hdGNoIGV4YWN0IG9yIGRlZmF1bHQuICovXG5cdGV4YWN0LFxuXG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCBzaXplIG1hdGNoZXMgd2hlbiBleGFjdCBtYXRjaCwgZmlyc3QgbWF0Y2ggc21hbGxlciAoZG93bikgb3IgZGVmYXVsdC4gKi9cblx0c21hbGxlcixcblxuXHQvKiogSW5kaWNhdGVzIHRoYXQgc2l6ZSBtYXRjaGVzIHdoZW4gZXhhY3QgbWF0Y2gsIGZpcnN0IG1hdGNoIGxhcmdlciAodXApIG9yIGRlZmF1bHQuICovXG5cdGxhcmdlcixcblxuXHQvKiogSW5kaWNhdGVzIHRoYXQgc2l6ZSBtYXRjaGVzIHdoZW4gZXhhY3QgbWF0Y2gsIG9yIGl0IHRyaWVzIGJvdGggc21hbGxlci9sYXJnZXIgKHNtYWxsZXIgaXMgcHJlZmVycmVkKSB1bnRpbCBtYXRjaCBvciBkZWZhdWx0LiAqL1xuXHRjbG9zZXN0U21hbGxlckZpcnN0LFxuXG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCBzaXplIG1hdGNoZXMgd2hlbiBleGFjdCBtYXRjaCwgb3IgaXQgdHJpZXMgYm90aCBsYXJnZXIvc21hbGxlciAobGFyZ2VyIGlzIHByZWZlcnJlZCkgdW50aWwgbWF0Y2ggb3IgZGVmYXVsdC4gKi9cblx0Y2xvc2VzdExhcmdlckZpcnN0LFxufVxuZXhwb3J0IHR5cGUgVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneUxpdGVyYWwgPSBrZXlvZiB0eXBlb2YgVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneTtcblxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydERhdGFNYXRjaGVyPFQgPSB1bmtub3duPiB7XG5cdChcblx0XHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdFx0Y3VycmVudFNpemVUeXBlOiBWaWV3cG9ydFNpemVUeXBlSW5mbyxcblx0XHRzaXplVHlwZXM6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvW10sXG5cdFx0c2l6ZVR5cGVNYXA6IERpY3Rpb25hcnk8Vmlld3BvcnRTaXplVHlwZUluZm8+LFxuXHQpOiBUIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gbWF0Y2ggZGF0YSBiYXNlZCBvbiBzdHJhdGVneSBhbmQgc2l6ZS5cbiAqXG4gKiBAcGFyYW0gZGF0YUNvbmZpZyBEYXRhIGNvbmZpZyB0byBnZW5lcmF0ZSBydWxlcyBiYXNlZCBvbi5cbiAqIEBwYXJhbSBzaXplVHlwZSBTaXplIHR5cGUgdG8gZ2V0IGRhdGEgZm9yLlxuICogQHBhcmFtIHN0cmF0ZWd5IFN0cmF0ZWd5IHRvIHVzZSB3aGVuIGJ1aWxkaW5nIHJ1bGVzLlxuICogQHBhcmFtIHNpemVUeXBlcyBBdmFpbGFibGUgc2l6ZSB0eXBlcyBvcmRlcmVkIGJ5IGluZGV4IHR5cGUuIChDYW4gYmUgb2J0YWluZWQgZnJvbSBgVmlld3BvcnRTZXJ2aWNlYClcbiAqIEBwYXJhbSBzaXplVHlwZU1hcCBBdmFpbGFibGUgc2l6ZSB0eXBlIG1hcC4gKENhbiBiZSBvYnRhaW5lZCBmcm9tIGBWaWV3cG9ydFNlcnZpY2VgKVxuICogQHJldHVybnMgUmV0dXJucyB0aGUgbWF0Y2hlZCBkYXRhIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hWaWV3cG9ydERhdGE8VD4oXG5cdGRhdGFDb25maWc6IFZpZXdwb3J0RGF0YUNvbmZpZzxUPixcblx0c2l6ZVR5cGU6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvLFxuXHRzdHJhdGVneTogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSxcblx0c2l6ZVR5cGVzOiBWaWV3cG9ydFNpemVUeXBlSW5mb1tdLFxuXHRzaXplVHlwZU1hcDogRGljdGlvbmFyeTxWaWV3cG9ydFNpemVUeXBlSW5mbz4sXG4pOiBUIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgbWF0Y2hGbiA9IG1hdGNoU3RyYXRlZ3lIYW5kbGVyTWFwW3N0cmF0ZWd5XTtcblx0aWYgKCFtYXRjaEZuKSB7XG5cdFx0dGhyb3cgRXJyb3IoYG1hdGNoVmlld3BvcnREYXRhOiBWaWV3cG9ydCBEYXRhIHN0cmF0ZWd5IG5vdCBpbXBsZW1lbnRlZC4gU3RyYXRlZ3k6ICcke3N0cmF0ZWd5fSdgKTtcblx0fVxuXHRjb25zdCBkYXRhID0gbWF0Y2hGbihkYXRhQ29uZmlnLCBzaXplVHlwZSwgc2l6ZVR5cGVzLCBzaXplVHlwZU1hcCkgYXMgVDtcblx0aWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBkYXRhO1xuXHR9XG5cdHJldHVybiBkYXRhQ29uZmlnLmRlZmF1bHQ7XG59XG5cblxuY29uc3QgbWF0Y2hTdHJhdGVneUhhbmRsZXJNYXA6IERpY3Rpb25hcnk8Vmlld3BvcnREYXRhTWF0Y2hlcj4gPSB7XG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LmV4YWN0XTogbWF0Y2hXaXRoRXhhY3QsXG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5Lmxhcmdlcl06IG1hdGNoV2l0aExhcmdlck1hdGNoLFxuXHRbVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneS5zbWFsbGVyXTogbWF0Y2hXaXRoU21hbGxlck1hdGNoLFxuXHRbVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneS5jbG9zZXN0U21hbGxlckZpcnN0XTogbWF0Y2hXaXRoQ2xvc2VzdFNtYWxsZXJGaXJzdE1hdGNoLFxuXHRbVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneS5jbG9zZXN0TGFyZ2VyRmlyc3RdOiBtYXRjaFdpdGhDbG9zZXN0TGFyZ2VyRmlyc3RNYXRjaCxcbn07XG5cbmZ1bmN0aW9uIG1hdGNoV2l0aEV4YWN0PFQ+KFxuXHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdGN1cnJlbnRTaXplVHlwZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG4pOiBUIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGRhdGFDb25maWdbY3VycmVudFNpemVUeXBlLm5hbWVdO1xufVxuXG5mdW5jdGlvbiBtYXRjaFdpdGhMYXJnZXJNYXRjaDxUPihcblx0ZGF0YUNvbmZpZzogVmlld3BvcnREYXRhQ29uZmlnPFQ+LFxuXHRjdXJyZW50U2l6ZVR5cGU6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvLFxuXHRzaXplVHlwZXM6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvW10sXG4pOiBUIHwgdW5kZWZpbmVkIHtcblx0bGV0IGRhdGEgPSBkYXRhQ29uZmlnW2N1cnJlbnRTaXplVHlwZS5uYW1lXTtcblx0aWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBkYXRhO1xuXHR9XG5cblx0Y29uc3QgbGFyZ2VzdFR5cGVJZHggPSBzaXplVHlwZXNbc2l6ZVR5cGVzLmxlbmd0aCAtIDFdLnR5cGU7XG5cdGlmIChjdXJyZW50U2l6ZVR5cGUudHlwZSA+PSBsYXJnZXN0VHlwZUlkeCkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHRmb3IgKGxldCBpbmRleCA9IGN1cnJlbnRTaXplVHlwZS50eXBlOyBpbmRleCA8IHNpemVUeXBlcy5sZW5ndGg7IGluZGV4KyspIHtcblx0XHRjb25zdCBzaXplVHlwZSA9IHNpemVUeXBlc1tpbmRleF07XG5cdFx0ZGF0YSA9IGRhdGFDb25maWdbc2l6ZVR5cGUubmFtZV07XG5cdFx0aWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGRhdGE7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hXaXRoU21hbGxlck1hdGNoPFQ+KFxuXHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdGN1cnJlbnRTaXplVHlwZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdHNpemVUeXBlczogVmlld3BvcnRTaXplVHlwZUluZm9bXSxcbik6IFQgfCB1bmRlZmluZWQge1xuXHRsZXQgZGF0YSA9IGRhdGFDb25maWdbY3VycmVudFNpemVUeXBlLm5hbWVdO1xuXHRpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRpZiAoY3VycmVudFNpemVUeXBlLnR5cGUgPD0gMCkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9yLWRpcmVjdGlvblxuXHRmb3IgKGxldCBpbmRleCA9IGN1cnJlbnRTaXplVHlwZS50eXBlOyBpbmRleCA8IHNpemVUeXBlcy5sZW5ndGg7IGluZGV4LS0pIHtcblx0XHRjb25zdCBzaXplVHlwZSA9IHNpemVUeXBlc1tpbmRleF07XG5cdFx0ZGF0YSA9IGRhdGFDb25maWdbc2l6ZVR5cGUubmFtZV07XG5cdFx0aWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGRhdGE7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hXaXRoQ2xvc2VzdFNtYWxsZXJGaXJzdE1hdGNoPFQ+KFxuXHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdGN1cnJlbnRTaXplVHlwZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdHNpemVUeXBlczogVmlld3BvcnRTaXplVHlwZUluZm9bXSxcbik6IFQgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gY2xvc2VzdE1hdGNoKGRhdGFDb25maWcsIGN1cnJlbnRTaXplVHlwZSwgc2l6ZVR5cGVzLCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hXaXRoQ2xvc2VzdExhcmdlckZpcnN0TWF0Y2g8VD4oXG5cdGRhdGFDb25maWc6IFZpZXdwb3J0RGF0YUNvbmZpZzxUPixcblx0Y3VycmVudFNpemVUeXBlOiBWaWV3cG9ydFNpemVUeXBlSW5mbyxcblx0c2l6ZVR5cGVzOiBWaWV3cG9ydFNpemVUeXBlSW5mb1tdLFxuKTogVCB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBjbG9zZXN0TWF0Y2goZGF0YUNvbmZpZywgY3VycmVudFNpemVUeXBlLCBzaXplVHlwZXMsIGZhbHNlKTtcbn1cblxuZnVuY3Rpb24gY2xvc2VzdE1hdGNoPFQ+KFxuXHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdGN1cnJlbnRTaXplVHlwZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdHNpemVUeXBlczogVmlld3BvcnRTaXplVHlwZUluZm9bXSxcblx0aXNTbWFsbGVyRmlyc3Q6IGJvb2xlYW5cbik6IFQgfCB1bmRlZmluZWQge1xuXHRsZXQgZGF0YSA9IGRhdGFDb25maWdbY3VycmVudFNpemVUeXBlLm5hbWVdO1xuXHRpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRsZXQgZG93bkluZGV4ID0gY3VycmVudFNpemVUeXBlLnR5cGU7XG5cdGxldCB1cEluZGV4ID0gY3VycmVudFNpemVUeXBlLnR5cGU7XG5cblx0IFxuXHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc2l6ZVR5cGVzLmxlbmd0aDsgaW5kZXgrKykge1xuXHRcdGZvciAoY29uc3QgaWR4IG9mIGlzU21hbGxlckZpcnN0ID8gWy0tZG93bkluZGV4LCArK3VwSW5kZXhdIDogWysrdXBJbmRleCwgLS1kb3duSW5kZXhdKSB7XG5cdFx0XHRjb25zdCBzaXplVHlwZSA9IHNpemVUeXBlc1tpZHhdO1xuXHRcdFx0aWYgKHNpemVUeXBlKSB7XG5cdFx0XHRcdGRhdGEgPSBkYXRhQ29uZmlnW3NpemVUeXBlLm5hbWVdO1xuXHRcdFx0XHRpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGRhdGE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
@@ -1,48 +0,0 @@
1
- import { Subscription, tap } from "rxjs";
2
- import { Pipe, ChangeDetectorRef } from "@angular/core";
3
- import { ViewportDataMatchStrategy } from "./viewport-data-matcher";
4
- import { ViewportDataService } from "./viewport-data.service";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./viewport-data.service";
7
- export class ViewportDataPipe {
8
- viewportData;
9
- cdr;
10
- markForTransform = true;
11
- value;
12
- data;
13
- strategy;
14
- data$$ = Subscription.EMPTY;
15
- constructor(viewportData, cdr) {
16
- this.viewportData = viewportData;
17
- this.cdr = cdr;
18
- }
19
- transform(data, strategy) {
20
- if (!this.markForTransform && data === this.data && strategy === this.strategy) {
21
- return this.value;
22
- }
23
- this.data = data;
24
- this.strategy = strategy;
25
- this.data$$.unsubscribe();
26
- this.data$$ = this.viewportData.get$(data, ViewportDataMatchStrategy[strategy]).pipe(tap(value => {
27
- this.markForTransform = true;
28
- this.value = value;
29
- this.cdr.markForCheck();
30
- })).subscribe();
31
- this.markForTransform = false;
32
- return this.value;
33
- }
34
- ngOnDestroy() {
35
- this.data$$.unsubscribe();
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataPipe, deps: [{ token: i1.ViewportDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
38
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataPipe, isStandalone: true, name: "ssvViewportData", pure: false });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataPipe, decorators: [{
41
- type: Pipe,
42
- args: [{
43
- name: "ssvViewportData",
44
- pure: false,
45
- standalone: true,
46
- }]
47
- }], ctorParameters: () => [{ type: i1.ViewportDataService }, { type: i0.ChangeDetectorRef }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtZGF0YS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gudXgvc3JjL3ZpZXdwb3J0L3ZpZXdwb3J0LWRhdGEvdmlld3BvcnQtZGF0YS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQTRCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBc0IseUJBQXlCLEVBQW9DLE1BQU0seUJBQXlCLENBQUM7QUFDMUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVE5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBU25CO0lBQ0E7SUFSRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDeEIsS0FBSyxDQUFVO0lBQ2YsSUFBSSxDQUFpQztJQUNyQyxRQUFRLENBQStDO0lBQ3ZELE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBRXBDLFlBQ1MsWUFBaUMsRUFDakMsR0FBc0I7UUFEdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRS9CLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBd0IsRUFBRSxRQUEwQztRQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0YsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQXBDVyxnQkFBZ0I7cUdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFMNUIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVmlld3BvcnREYXRhQ29uZmlnLCBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LCBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5TGl0ZXJhbCB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGEtbWF0Y2hlclwiO1xuaW1wb3J0IHsgVmlld3BvcnREYXRhU2VydmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGEuc2VydmljZVwiO1xuXG5cbkBQaXBlKHtcblx0bmFtZTogXCJzc3ZWaWV3cG9ydERhdGFcIixcblx0cHVyZTogZmFsc2UsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdwb3J0RGF0YVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG5cdHByaXZhdGUgbWFya0ZvclRyYW5zZm9ybSA9IHRydWU7XG5cdHByaXZhdGUgdmFsdWU6IHVua25vd247XG5cdHByaXZhdGUgZGF0YTogVmlld3BvcnREYXRhQ29uZmlnIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHN0cmF0ZWd5OiBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5TGl0ZXJhbCB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBkYXRhJCQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB2aWV3cG9ydERhdGE6IFZpZXdwb3J0RGF0YVNlcnZpY2UsXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG5cdCkge1xuXHR9XG5cblx0dHJhbnNmb3JtKGRhdGE6IFZpZXdwb3J0RGF0YUNvbmZpZywgc3RyYXRlZ3k6IFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3lMaXRlcmFsKTogdW5rbm93biB7XG5cdFx0aWYgKCF0aGlzLm1hcmtGb3JUcmFuc2Zvcm0gJiYgZGF0YSA9PT0gdGhpcy5kYXRhICYmIHN0cmF0ZWd5ID09PSB0aGlzLnN0cmF0ZWd5KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy52YWx1ZTtcblx0XHR9XG5cdFx0dGhpcy5kYXRhID0gZGF0YTtcblx0XHR0aGlzLnN0cmF0ZWd5ID0gc3RyYXRlZ3k7XG5cblx0XHR0aGlzLmRhdGEkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuZGF0YSQkID0gdGhpcy52aWV3cG9ydERhdGEuZ2V0JChkYXRhLCBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5W3N0cmF0ZWd5XSkucGlwZShcblx0XHRcdHRhcCh2YWx1ZSA9PiB7XG5cdFx0XHRcdHRoaXMubWFya0ZvclRyYW5zZm9ybSA9IHRydWU7XG5cdFx0XHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0XHRcdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdFx0XHR9KSxcblx0XHQpLnN1YnNjcmliZSgpO1xuXG5cdFx0dGhpcy5tYXJrRm9yVHJhbnNmb3JtID0gZmFsc2U7XG5cdFx0cmV0dXJuIHRoaXMudmFsdWU7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmRhdGEkJC51bnN1YnNjcmliZSgpO1xuXHR9XG5cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { distinctUntilChanged, map } from "rxjs";
3
- import { ViewportService } from "../viewport.service";
4
- import { matchViewportData } from "./viewport-data-matcher";
5
- import { generateViewportRulesRangeFromDataMatcher } from "./viewport-data.utils";
6
- import { VIEWPORT_OPTIONS } from "../viewport.options";
7
- import * as i0 from "@angular/core";
8
- export class ViewportDataService {
9
- #viewport = inject(ViewportService);
10
- #config = inject(VIEWPORT_OPTIONS);
11
- /** Get data for match. */
12
- get(dataConfig, strategy = this.#config.defaultDataMatchStrategy, sizeType = this.#viewport.sizeTypeSnapshot) {
13
- return matchViewportData(dataConfig, sizeType, strategy, this.#viewport.sizeTypes, this.#viewport.sizeTypeMap);
14
- }
15
- /** Get data for match as observable. */
16
- get$(dataConfig, strategy, throttle = true) {
17
- return (throttle ? this.#viewport.sizeType$ : this.#viewport.sizeTypeSnap$).pipe(map(sizeType => this.get(dataConfig, strategy, sizeType)), distinctUntilChanged());
18
- }
19
- /** Generate rules based on strategies for data. */
20
- generateRules(dataConfig, strategy = this.#config.defaultDataMatchStrategy) {
21
- return generateViewportRulesRangeFromDataMatcher(dataConfig, strategy, this.#viewport.sizeTypes, this.#viewport.sizeTypeMap);
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataService, providedIn: "root" });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ViewportDataService, decorators: [{
27
- type: Injectable,
28
- args: [{
29
- providedIn: "root",
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gudXgvc3JjL3ZpZXdwb3J0L3ZpZXdwb3J0LWRhdGEvdmlld3BvcnQtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBaUQsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRyxPQUFPLEVBQUUseUNBQXlDLEVBQW9CLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFFdEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsMEJBQTBCO0lBQzFCLEdBQUcsQ0FDRixVQUFpQyxFQUNqQyxXQUFzQyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUMzRSxXQUFpQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQjtRQUVoRSxPQUFPLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxJQUFJLENBQUksVUFBaUMsRUFBRSxRQUFvQyxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQy9GLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDL0UsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQzVELG9CQUFvQixFQUFFLENBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELGFBQWEsQ0FDWixVQUFpQyxFQUNqQyxXQUFzQyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QjtRQUUzRSxPQUFPLHlDQUF5QyxDQUMvQyxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FDMUIsQ0FBQztJQUNILENBQUM7dUdBakNXLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBRm5CLE1BQU07OzJGQUVOLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IFZpZXdwb3J0U2l6ZVR5cGVJbmZvIH0gZnJvbSBcIi4uL3ZpZXdwb3J0Lm1vZGVsXCI7XG5pbXBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi4vdmlld3BvcnQuc2VydmljZVwiO1xuaW1wb3J0IHsgbWF0Y2hWaWV3cG9ydERhdGEsIFZpZXdwb3J0RGF0YUNvbmZpZywgVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGEtbWF0Y2hlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVWaWV3cG9ydFJ1bGVzUmFuZ2VGcm9tRGF0YU1hdGNoZXIsIFZpZXdwb3J0RGF0YVJ1bGUgfSBmcm9tIFwiLi92aWV3cG9ydC1kYXRhLnV0aWxzXCI7XG5pbXBvcnQgeyBWSUVXUE9SVF9PUFRJT05TIH0gZnJvbSBcIi4uL3ZpZXdwb3J0Lm9wdGlvbnNcIjtcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgVmlld3BvcnREYXRhU2VydmljZSB7XG5cblx0cmVhZG9ubHkgI3ZpZXdwb3J0ID0gaW5qZWN0KFZpZXdwb3J0U2VydmljZSk7XG5cdHJlYWRvbmx5ICNjb25maWcgPSBpbmplY3QoVklFV1BPUlRfT1BUSU9OUyk7XG5cblx0LyoqIEdldCBkYXRhIGZvciBtYXRjaC4gKi9cblx0Z2V0PFQ+KFxuXHRcdGRhdGFDb25maWc6IFZpZXdwb3J0RGF0YUNvbmZpZzxUPixcblx0XHRzdHJhdGVneTogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSA9IHRoaXMuI2NvbmZpZy5kZWZhdWx0RGF0YU1hdGNoU3RyYXRlZ3ksXG5cdFx0c2l6ZVR5cGU6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvID0gdGhpcy4jdmlld3BvcnQuc2l6ZVR5cGVTbmFwc2hvdFxuXHQpOiBUIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gbWF0Y2hWaWV3cG9ydERhdGEoZGF0YUNvbmZpZywgc2l6ZVR5cGUsIHN0cmF0ZWd5LCB0aGlzLiN2aWV3cG9ydC5zaXplVHlwZXMsIHRoaXMuI3ZpZXdwb3J0LnNpemVUeXBlTWFwKTtcblx0fVxuXG5cdC8qKiBHZXQgZGF0YSBmb3IgbWF0Y2ggYXMgb2JzZXJ2YWJsZS4gKi9cblx0Z2V0JDxUPihkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sIHN0cmF0ZWd5PzogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSwgdGhyb3R0bGUgPSB0cnVlKTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG5cdFx0cmV0dXJuICh0aHJvdHRsZSA/IHRoaXMuI3ZpZXdwb3J0LnNpemVUeXBlJCA6IHRoaXMuI3ZpZXdwb3J0LnNpemVUeXBlU25hcCQpLnBpcGUoXG5cdFx0XHRtYXAoc2l6ZVR5cGUgPT4gdGhpcy5nZXQ8VD4oZGF0YUNvbmZpZywgc3RyYXRlZ3ksIHNpemVUeXBlKSksXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuXHRcdCk7XG5cdH1cblxuXHQvKiogR2VuZXJhdGUgcnVsZXMgYmFzZWQgb24gc3RyYXRlZ2llcyBmb3IgZGF0YS4gKi9cblx0Z2VuZXJhdGVSdWxlczxUPihcblx0XHRkYXRhQ29uZmlnOiBWaWV3cG9ydERhdGFDb25maWc8VD4sXG5cdFx0c3RyYXRlZ3k6IFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3kgPSB0aGlzLiNjb25maWcuZGVmYXVsdERhdGFNYXRjaFN0cmF0ZWd5LFxuXHQpOiBWaWV3cG9ydERhdGFSdWxlPFQ+W10ge1xuXHRcdHJldHVybiBnZW5lcmF0ZVZpZXdwb3J0UnVsZXNSYW5nZUZyb21EYXRhTWF0Y2hlcihcblx0XHRcdGRhdGFDb25maWcsXG5cdFx0XHRzdHJhdGVneSxcblx0XHRcdHRoaXMuI3ZpZXdwb3J0LnNpemVUeXBlcyxcblx0XHRcdHRoaXMuI3ZpZXdwb3J0LnNpemVUeXBlTWFwXG5cdFx0KTtcblx0fVxuXG59XG4iXX0=
@@ -1,100 +0,0 @@
1
- import { ViewportDataMatchStrategy } from "./viewport-data-matcher";
2
- /**
3
- * Utility function to generate rules based on strategies.
4
- *
5
- * @param dataConfig Data config to generate rules based on.
6
- * @param strategy Strategy to use when building rules.
7
- * @param sizeTypes Available size types ordered by index type. (Can be obtained from `ViewportService`)
8
- * @param sizeTypeMap Available size type map. (Can be obtained from `ViewportService`)
9
- * @returns Returns a collection of rules (ordered).
10
- */
11
- export function generateViewportRulesRangeFromDataMatcher(dataConfig, strategy, sizeTypes, sizeTypeMap) {
12
- const ruleBuilderFn = matchStrategyHandlerMap[strategy];
13
- if (!ruleBuilderFn) {
14
- throw Error(`generateViewportRulesRangeFromDataMatcher: Viewport Data strategy not implemented. Strategy: '${strategy}'`);
15
- }
16
- let dataSizes = [];
17
- for (const key in dataConfig) {
18
- if (Object.prototype.hasOwnProperty.call(dataConfig, key)) {
19
- const data = dataConfig[key];
20
- if (data === undefined) {
21
- continue;
22
- }
23
- const size = sizeTypeMap[key];
24
- if (size) {
25
- dataSizes.push(size);
26
- }
27
- }
28
- }
29
- dataSizes = dataSizes.sort(({ type: typeA }, { type: typeB }) => typeA - typeB);
30
- const rules = [];
31
- if (dataConfig.default) {
32
- rules.push({ value: dataConfig.default, min: undefined, max: undefined });
33
- }
34
- let prevRule;
35
- for (let index = 0; index < dataSizes.length; index++) {
36
- const prevDataSize = dataSizes[index - 1];
37
- const nextDataSize = dataSizes[index + 1];
38
- const dataSize = dataSizes[index];
39
- const prevSize = sizeTypes[dataSize.type - 1];
40
- // const nextSize = sizeTypes[dataSize.type + 1];
41
- const data = dataConfig[dataSize.name];
42
- const rule = {
43
- value: data,
44
- min: undefined,
45
- max: undefined,
46
- };
47
- ruleBuilderFn(rule, dataSize, nextDataSize, prevDataSize, prevSize, prevRule, sizeTypes);
48
- prevRule = rule;
49
- rules.push(rule);
50
- }
51
- return rules;
52
- }
53
- const matchStrategyHandlerMap = {
54
- [ViewportDataMatchStrategy.exact]: (rule, dataSize, _nextDataSize, _prevDataSize, prevSize) => {
55
- rule.max = dataSize.widthThreshold;
56
- if (prevSize) {
57
- rule.min = prevSize.widthThreshold + 1;
58
- }
59
- },
60
- [ViewportDataMatchStrategy.smaller]: (rule, dataSize, nextDataSize, _prevDataSize, prevSize) => {
61
- if (nextDataSize) {
62
- rule.max = dataSize.widthThreshold;
63
- }
64
- if (prevSize) {
65
- rule.min = prevSize.widthThreshold + 1;
66
- }
67
- },
68
- [ViewportDataMatchStrategy.larger]: (rule, dataSize, _nextDataSize, prevDataSize) => {
69
- if (dataSize) {
70
- rule.max = dataSize.widthThreshold;
71
- }
72
- if (prevDataSize) {
73
- rule.min = prevDataSize.widthThreshold + 1;
74
- }
75
- },
76
- [ViewportDataMatchStrategy.closestSmallerFirst]: (rule, dataSize, nextDataSize, _prevDataSize, _prevSize, prevRule, sizeTypes) => {
77
- if (nextDataSize) {
78
- rule.max = calculateClosestWidthThreshold(nextDataSize, dataSize, sizeTypes, true);
79
- }
80
- if (prevRule?.max) {
81
- rule.min = prevRule.max + 1;
82
- }
83
- },
84
- [ViewportDataMatchStrategy.closestLargerFirst]: (rule, dataSize, nextDataSize, _prevDataSize, _prevSize, prevRule, sizeTypes) => {
85
- if (nextDataSize) {
86
- rule.max = calculateClosestWidthThreshold(nextDataSize, dataSize, sizeTypes, false);
87
- }
88
- if (prevRule?.max) {
89
- rule.min = prevRule.max + 1;
90
- }
91
- },
92
- };
93
- function calculateClosestWidthThreshold(nextDataSize, dataSize, sizeTypes, isSmallerPreferred) {
94
- const fn = isSmallerPreferred ? Math.ceil : Math.floor;
95
- // get closest between curr and next
96
- const diffIndex = fn((nextDataSize.type - dataSize.type - 1) / 2);
97
- const diffNextSize = sizeTypes[dataSize.type + diffIndex];
98
- return (diffNextSize || dataSize).widthThreshold;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtZGF0YS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LnV4L3NyYy92aWV3cG9ydC92aWV3cG9ydC1kYXRhL3ZpZXdwb3J0LWRhdGEudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFzQix5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBUXhGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHlDQUF5QyxDQUN4RCxVQUFpQyxFQUNqQyxRQUFtQyxFQUNuQyxTQUFpQyxFQUNqQyxXQUE2QztJQUU3QyxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEIsTUFBTSxLQUFLLENBQUMsaUdBQWlHLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELElBQUksU0FBUyxHQUEyQixFQUFFLENBQUM7SUFDM0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hCLFNBQVM7WUFDVixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1YsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxF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LENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzFELE9BQU8sQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uLy4uL2ludGVybmFsL2ludGVybmFsLm1vZGVsXCI7XG5pbXBvcnQgeyBWaWV3cG9ydFNpemVUeXBlSW5mbyB9IGZyb20gXCIuLi92aWV3cG9ydC5tb2RlbFwiO1xuaW1wb3J0IHsgVmlld3BvcnREYXRhQ29uZmlnLCBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5IH0gZnJvbSBcIi4vdmlld3BvcnQtZGF0YS1tYXRjaGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnREYXRhUnVsZTxUPiB7XG5cdG1pbj86IG51bWJlcjtcblx0bWF4PzogbnVtYmVyO1xuXHR2YWx1ZTogVDtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHJ1bGVzIGJhc2VkIG9uIHN0cmF0ZWdpZXMuXG4gKlxuICogQHBhcmFtIGRhdGFDb25maWcgRGF0YSBjb25maWcgdG8gZ2VuZXJhdGUgcnVsZXMgYmFzZWQgb24uXG4gKiBAcGFyYW0gc3RyYXRlZ3kgU3RyYXRlZ3kgdG8gdXNlIHdoZW4gYnVpbGRpbmcgcnVsZXMuXG4gKiBAcGFyYW0gc2l6ZVR5cGVzIEF2YWlsYWJsZSBzaXplIHR5cGVzIG9yZGVyZWQgYnkgaW5kZXggdHlwZS4gKENhbiBiZSBvYnRhaW5lZCBmcm9tIGBWaWV3cG9ydFNlcnZpY2VgKVxuICogQHBhcmFtIHNpemVUeXBlTWFwIEF2YWlsYWJsZSBzaXplIHR5cGUgbWFwLiAoQ2FuIGJlIG9idGFpbmVkIGZyb20gYFZpZXdwb3J0U2VydmljZWApXG4gKiBAcmV0dXJucyBSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBydWxlcyAob3JkZXJlZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVZpZXdwb3J0UnVsZXNSYW5nZUZyb21EYXRhTWF0Y2hlcjxUPihcblx0ZGF0YUNvbmZpZzogVmlld3BvcnREYXRhQ29uZmlnPFQ+LFxuXHRzdHJhdGVneTogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSxcblx0c2l6ZVR5cGVzOiBWaWV3cG9ydFNpemVUeXBlSW5mb1tdLFxuXHRzaXplVHlwZU1hcDogRGljdGlvbmFyeTxWaWV3cG9ydFNpemVUeXBlSW5mbz4sXG4pOiBWaWV3cG9ydERhdGFSdWxlPFQ+W10ge1xuXHRjb25zdCBydWxlQnVpbGRlckZuID0gbWF0Y2hTdHJhdGVneUhhbmRsZXJNYXBbc3RyYXRlZ3ldO1xuXHRpZiAoIXJ1bGVCdWlsZGVyRm4pIHtcblx0XHR0aHJvdyBFcnJvcihgZ2VuZXJhdGVWaWV3cG9ydFJ1bGVzUmFuZ2VGcm9tRGF0YU1hdGNoZXI6IFZpZXdwb3J0IERhdGEgc3RyYXRlZ3kgbm90IGltcGxlbWVudGVkLiBTdHJhdGVneTogJyR7c3RyYXRlZ3l9J2ApO1xuXHR9XG5cblx0bGV0IGRhdGFTaXplczogVmlld3BvcnRTaXplVHlwZUluZm9bXSA9IFtdO1xuXHRmb3IgKGNvbnN0IGtleSBpbiBkYXRhQ29uZmlnKSB7XG5cdFx0aWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhQ29uZmlnLCBrZXkpKSB7XG5cdFx0XHRjb25zdCBkYXRhID0gZGF0YUNvbmZpZ1trZXldO1xuXHRcdFx0aWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHNpemUgPSBzaXplVHlwZU1hcFtrZXldO1xuXHRcdFx0aWYgKHNpemUpIHtcblx0XHRcdFx0ZGF0YVNpemVzLnB1c2goc2l6ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGRhdGFTaXplcyA9IGRhdGFTaXplcy5zb3J0KCh7IHR5cGU6IHR5cGVBIH0sIHsgdHlwZTogdHlwZUIgfSkgPT4gdHlwZUEgLSB0eXBlQik7XG5cblx0Y29uc3QgcnVsZXM6IFZpZXdwb3J0RGF0YVJ1bGU8VD5bXSA9IFtdO1xuXHRpZiAoZGF0YUNvbmZpZy5kZWZhdWx0KSB7XG5cdFx0cnVsZXMucHVzaCh7IHZhbHVlOiBkYXRhQ29uZmlnLmRlZmF1bHQsIG1pbjogdW5kZWZpbmVkLCBtYXg6IHVuZGVmaW5lZCB9KTtcblx0fVxuXG5cdGxldCBwcmV2UnVsZTogVmlld3BvcnREYXRhUnVsZTxUPiB8IHVuZGVmaW5lZDtcblx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGFTaXplcy5sZW5ndGg7IGluZGV4KyspIHtcblx0XHRjb25zdCBwcmV2RGF0YVNpemUgPSBkYXRhU2l6ZXNbaW5kZXggLSAxXTtcblx0XHRjb25zdCBuZXh0RGF0YVNpemUgPSBkYXRhU2l6ZXNbaW5kZXggKyAxXTtcblx0XHRjb25zdCBkYXRhU2l6ZSA9IGRhdGFTaXplc1tpbmRleF07XG5cdFx0Y29uc3QgcHJldlNpemUgPSBzaXplVHlwZXNbZGF0YVNpemUudHlwZSAtIDFdO1xuXHRcdC8vIGNvbnN0IG5leHRTaXplID0gc2l6ZVR5cGVzW2RhdGFTaXplLnR5cGUgKyAxXTtcblx0XHRjb25zdCBkYXRhID0gZGF0YUNvbmZpZ1tkYXRhU2l6ZS5uYW1lXTtcblx0XHRjb25zdCBydWxlOiBWaWV3cG9ydERhdGFSdWxlPFQ+ID0ge1xuXHRcdFx0dmFsdWU6IGRhdGEsXG5cdFx0XHRtaW46IHVuZGVmaW5lZCxcblx0XHRcdG1heDogdW5kZWZpbmVkLFxuXHRcdH07XG5cblx0XHRydWxlQnVpbGRlckZuKHJ1bGUsIGRhdGFTaXplLCBuZXh0RGF0YVNpemUsIHByZXZEYXRhU2l6ZSwgcHJldlNpemUsIHByZXZSdWxlLCBzaXplVHlwZXMpO1xuXG5cdFx0cHJldlJ1bGUgPSBydWxlO1xuXHRcdHJ1bGVzLnB1c2gocnVsZSk7XG5cdH1cblx0cmV0dXJuIHJ1bGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdwb3J0UnVsZVJhbmdlQnVpbGRlcjxUID0gdW5rbm93bj4ge1xuXHQoXG5cdFx0cnVsZTogVmlld3BvcnREYXRhUnVsZTxUPixcblx0XHRkYXRhU2l6ZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdFx0bmV4dERhdGFTaXplOiBWaWV3cG9ydFNpemVUeXBlSW5mbyB8IHVuZGVmaW5lZCxcblx0XHRwcmV2RGF0YVNpemU6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHwgdW5kZWZpbmVkLFxuXHRcdHByZXZTaXplOiBWaWV3cG9ydFNpemVUeXBlSW5mbyB8IHVuZGVmaW5lZCxcblx0XHRwcmV2UnVsZTogVmlld3BvcnREYXRhUnVsZTxUPiB8IHVuZGVmaW5lZCxcblx0XHRzaXplVHlwZXM6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvW10sXG5cdCk6IHZvaWQ7XG59XG5cbmNvbnN0IG1hdGNoU3RyYXRlZ3lIYW5kbGVyTWFwOiBEaWN0aW9uYXJ5PFZpZXdwb3J0UnVsZVJhbmdlQnVpbGRlcj4gPSB7XG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LmV4YWN0XTogKHJ1bGUsIGRhdGFTaXplLCBfbmV4dERhdGFTaXplLCBfcHJldkRhdGFTaXplLCBwcmV2U2l6ZSkgPT4ge1xuXHRcdHJ1bGUubWF4ID0gZGF0YVNpemUud2lkdGhUaHJlc2hvbGQ7XG5cdFx0aWYgKHByZXZTaXplKSB7XG5cdFx0XHRydWxlLm1pbiA9IHByZXZTaXplLndpZHRoVGhyZXNob2xkICsgMTtcblx0XHR9XG5cdH0sXG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LnNtYWxsZXJdOiAocnVsZSwgZGF0YVNpemUsIG5leHREYXRhU2l6ZSwgX3ByZXZEYXRhU2l6ZSwgcHJldlNpemUpID0+IHtcblx0XHRpZiAobmV4dERhdGFTaXplKSB7XG5cdFx0XHRydWxlLm1heCA9IGRhdGFTaXplLndpZHRoVGhyZXNob2xkO1xuXHRcdH1cblx0XHRpZiAocHJldlNpemUpIHtcblx0XHRcdHJ1bGUubWluID0gcHJldlNpemUud2lkdGhUaHJlc2hvbGQgKyAxO1xuXHRcdH1cblx0fSxcblx0W1ZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3kubGFyZ2VyXTogKHJ1bGUsIGRhdGFTaXplLCBfbmV4dERhdGFTaXplLCBwcmV2RGF0YVNpemUpID0+IHtcblx0XHRpZiAoZGF0YVNpemUpIHtcblx0XHRcdHJ1bGUubWF4ID0gZGF0YVNpemUud2lkdGhUaHJlc2hvbGQ7XG5cdFx0fVxuXHRcdGlmIChwcmV2RGF0YVNpemUpIHtcblx0XHRcdHJ1bGUubWluID0gcHJldkRhdGFTaXplLndpZHRoVGhyZXNob2xkICsgMTtcblx0XHR9XG5cdH0sXG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LmNsb3Nlc3RTbWFsbGVyRmlyc3RdOiAocnVsZSwgZGF0YVNpemUsIG5leHREYXRhU2l6ZSwgX3ByZXZEYXRhU2l6ZSwgX3ByZXZTaXplLCBwcmV2UnVsZSwgc2l6ZVR5cGVzKSA9PiB7XG5cdFx0aWYgKG5leHREYXRhU2l6ZSkge1xuXHRcdFx0cnVsZS5tYXggPSBjYWxjdWxhdGVDbG9zZXN0V2lkdGhUaHJlc2hvbGQobmV4dERhdGFTaXplLCBkYXRhU2l6ZSwgc2l6ZVR5cGVzLCB0cnVlKTtcblx0XHR9XG5cdFx0aWYgKHByZXZSdWxlPy5tYXgpIHtcblx0XHRcdHJ1bGUubWluID0gcHJldlJ1bGUubWF4ICsgMTtcblx0XHR9XG5cdH0sXG5cdFtWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LmNsb3Nlc3RMYXJnZXJGaXJzdF06IChydWxlLCBkYXRhU2l6ZSwgbmV4dERhdGFTaXplLCBfcHJldkRhdGFTaXplLCBfcHJldlNpemUsIHByZXZSdWxlLCBzaXplVHlwZXMpID0+IHtcblx0XHRpZiAobmV4dERhdGFTaXplKSB7XG5cdFx0XHRydWxlLm1heCA9IGNhbGN1bGF0ZUNsb3Nlc3RXaWR0aFRocmVzaG9sZChuZXh0RGF0YVNpemUsIGRhdGFTaXplLCBzaXplVHlwZXMsIGZhbHNlKTtcblx0XHR9XG5cdFx0aWYgKHByZXZSdWxlPy5tYXgpIHtcblx0XHRcdHJ1bGUubWluID0gcHJldlJ1bGUubWF4ICsgMTtcblx0XHR9XG5cdH0sXG59O1xuXG5mdW5jdGlvbiBjYWxjdWxhdGVDbG9zZXN0V2lkdGhUaHJlc2hvbGQoXG5cdG5leHREYXRhU2l6ZTogVmlld3BvcnRTaXplVHlwZUluZm8sXG5cdGRhdGFTaXplOiBWaWV3cG9ydFNpemVUeXBlSW5mbyxcblx0c2l6ZVR5cGVzOiBWaWV3cG9ydFNpemVUeXBlSW5mb1tdLFxuXHRpc1NtYWxsZXJQcmVmZXJyZWQ6IGJvb2xlYW4sXG4pIHtcblx0Y29uc3QgZm4gPSBpc1NtYWxsZXJQcmVmZXJyZWQgPyBNYXRoLmNlaWwgOiBNYXRoLmZsb29yO1xuXHQvLyBnZXQgY2xvc2VzdCBiZXR3ZWVuIGN1cnIgYW5kIG5leHRcblx0Y29uc3QgZGlmZkluZGV4ID0gZm4oKG5leHREYXRhU2l6ZS50eXBlIC0gZGF0YVNpemUudHlwZSAtIDEpIC8gMik7XG5cdGNvbnN0IGRpZmZOZXh0U2l6ZSA9IHNpemVUeXBlc1tkYXRhU2l6ZS50eXBlICsgZGlmZkluZGV4XTtcblx0cmV0dXJuIChkaWZmTmV4dFNpemUgfHwgZGF0YVNpemUpLndpZHRoVGhyZXNob2xkO1xufVxuIl19
@@ -1,69 +0,0 @@
1
- import { Directive, Input, TemplateRef, ViewContainerRef, } from "@angular/core";
2
- import { combineLatest, ReplaySubject, Subject, tap, map, takeUntil } from "rxjs";
3
- import { ViewportService } from "./viewport.service";
4
- import { isViewportSizeMatcherExpression, isViewportSizeMatcherTupleExpression, isViewportConditionMatch } from "./viewport.util";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./viewport.service";
7
- const NAME_CAMEL = "ssvViewportMatcherVar";
8
- export class SsvViewportMatcherVarContext {
9
- $implicit;
10
- constructor($implicit = false) {
11
- this.$implicit = $implicit;
12
- }
13
- }
14
- export class SsvViewportMatcherVarDirective {
15
- viewport;
16
- viewContainer;
17
- templateRef;
18
- _matchConditions = {};
19
- _context = new SsvViewportMatcherVarContext();
20
- _destroy$ = new Subject();
21
- _update$ = new ReplaySubject(1);
22
- _viewRef;
23
- set condition(value) {
24
- if (isViewportSizeMatcherExpression(value)) {
25
- this._matchConditions.expression = value;
26
- }
27
- else if (isViewportSizeMatcherTupleExpression(value)) {
28
- const [op, size] = value;
29
- this._matchConditions.expression = {
30
- operation: op,
31
- size
32
- };
33
- }
34
- else {
35
- this._matchConditions.sizeType = value;
36
- }
37
- this._update$.next();
38
- }
39
- constructor(viewport, viewContainer, templateRef) {
40
- this.viewport = viewport;
41
- this.viewContainer = viewContainer;
42
- this.templateRef = templateRef;
43
- }
44
- ngOnInit() {
45
- this.updateView();
46
- combineLatest([this.viewport.sizeType$, this._update$]).pipe(map(([sizeType]) => isViewportConditionMatch(sizeType, this._matchConditions, this.viewport.sizeTypeMap)), tap(x => this._context.$implicit = x), tap(() => this._viewRef.markForCheck()), takeUntil(this._destroy$)).subscribe();
47
- }
48
- ngOnDestroy() {
49
- this._destroy$.next();
50
- this._destroy$.complete();
51
- }
52
- updateView() {
53
- this.viewContainer.clear();
54
- this._viewRef = this.viewContainer.createEmbeddedView(this.templateRef, this._context);
55
- }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SsvViewportMatcherVarDirective, deps: [{ token: i1.ViewportService }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
57
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: SsvViewportMatcherVarDirective, isStandalone: true, selector: "[ssvViewportMatcherVar]", inputs: { condition: ["ssvViewportMatcherVarWhen", "condition"] }, ngImport: i0 });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SsvViewportMatcherVarDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- selector: `[${NAME_CAMEL}]`,
63
- standalone: true,
64
- }]
65
- }], ctorParameters: () => [{ type: i1.ViewportService }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { condition: [{
66
- type: Input,
67
- args: [`${NAME_CAMEL}When`]
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtbWF0Y2hlci12YXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gudXgvc3JjL3ZpZXdwb3J0L3ZpZXdwb3J0LW1hdGNoZXItdmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR04sU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBRWhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUNOLCtCQUErQixFQUMvQixvQ0FBb0MsRUFDcEMsd0JBQXdCLEVBQ3hCLE1BQU0saUJBQWlCLENBQUM7OztBQUd6QixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQztBQUUzQyxNQUFNLE9BQU8sNEJBQTRCO0lBR2hDO0lBRFIsWUFDUSxZQUFZLEtBQUs7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUNyQixDQUFDO0NBRUw7QUFNRCxNQUFNLE9BQU8sOEJBQThCO0lBeUJqQztJQUNBO0lBQ0E7SUF6QkQsZ0JBQWdCLEdBQTRCLEVBQUUsQ0FBQztJQUMvQyxRQUFRLEdBQUcsSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQyxRQUFRLENBQWlEO0lBRWpFLElBQWdDLFNBQVMsQ0FBQyxLQUF3RDtRQUNqRyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQzthQUFNLElBQUksb0NBQW9DLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4RCxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxHQUFHO2dCQUNsQyxTQUFTLEVBQUUsRUFBRTtnQkFDYixJQUFJO2FBQ0osQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQ1MsUUFBeUIsRUFDekIsYUFBK0IsRUFDL0IsV0FBc0Q7UUFGdEQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUEyQztJQUUvRCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUN6RyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsRUFDdkMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDekIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxVQUFVO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7dUdBakRXLDhCQUE4QjsyRkFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxJQUFJLFVBQVUsR0FBRztvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzZJQVNnQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLEdBQUcsVUFBVSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0T25Jbml0LFxuXHRPbkRlc3Ryb3ksXG5cdERpcmVjdGl2ZSxcblx0SW5wdXQsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRFbWJlZGRlZFZpZXdSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCB0YXAsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vdmlld3BvcnQuc2VydmljZVwiO1xuaW1wb3J0IHtcblx0aXNWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbixcblx0aXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uLFxuXHRpc1ZpZXdwb3J0Q29uZGl0aW9uTWF0Y2hcbn0gZnJvbSBcIi4vdmlld3BvcnQudXRpbFwiO1xuaW1wb3J0IHsgVmlld3BvcnRNYXRjaENvbmRpdGlvbnMsIFZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uIH0gZnJvbSBcIi4vdmlld3BvcnQubW9kZWxcIjtcblxuY29uc3QgTkFNRV9DQU1FTCA9IFwic3N2Vmlld3BvcnRNYXRjaGVyVmFyXCI7XG5cbmV4cG9ydCBjbGFzcyBTc3ZWaWV3cG9ydE1hdGNoZXJWYXJDb250ZXh0IHtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgJGltcGxpY2l0ID0gZmFsc2UsXG5cdCkgeyB9XG5cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiBgWyR7TkFNRV9DQU1FTH1dYCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU3N2Vmlld3BvcnRNYXRjaGVyVmFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG5cdHByaXZhdGUgX21hdGNoQ29uZGl0aW9uczogVmlld3BvcnRNYXRjaENvbmRpdGlvbnMgPSB7fTtcblx0cHJpdmF0ZSBfY29udGV4dCA9IG5ldyBTc3ZWaWV3cG9ydE1hdGNoZXJWYXJDb250ZXh0KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdXBkYXRlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuXHRwcml2YXRlIF92aWV3UmVmITogRW1iZWRkZWRWaWV3UmVmPFNzdlZpZXdwb3J0TWF0Y2hlclZhckNvbnRleHQ+O1xuXG5cdEBJbnB1dChgJHtOQU1FX0NBTUVMfVdoZW5gKSBzZXQgY29uZGl0aW9uKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uKSB7XG5cdFx0aWYgKGlzVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24odmFsdWUpKSB7XG5cdFx0XHR0aGlzLl9tYXRjaENvbmRpdGlvbnMuZXhwcmVzc2lvbiA9IHZhbHVlO1xuXHRcdH0gZWxzZSBpZiAoaXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0Y29uc3QgW29wLCBzaXplXSA9IHZhbHVlO1xuXHRcdFx0dGhpcy5fbWF0Y2hDb25kaXRpb25zLmV4cHJlc3Npb24gPSB7XG5cdFx0XHRcdG9wZXJhdGlvbjogb3AsXG5cdFx0XHRcdHNpemVcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX21hdGNoQ29uZGl0aW9ucy5zaXplVHlwZSA9IHZhbHVlO1xuXHRcdH1cblxuXHRcdHRoaXMuX3VwZGF0ZSQubmV4dCgpO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB2aWV3cG9ydDogVmlld3BvcnRTZXJ2aWNlLFxuXHRcdHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJWYXJDb250ZXh0Pixcblx0KSB7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnVwZGF0ZVZpZXcoKTtcblx0XHRjb21iaW5lTGF0ZXN0KFt0aGlzLnZpZXdwb3J0LnNpemVUeXBlJCwgdGhpcy5fdXBkYXRlJF0pLnBpcGUoXG5cdFx0XHRtYXAoKFtzaXplVHlwZV0pID0+IGlzVmlld3BvcnRDb25kaXRpb25NYXRjaChzaXplVHlwZSwgdGhpcy5fbWF0Y2hDb25kaXRpb25zLCB0aGlzLnZpZXdwb3J0LnNpemVUeXBlTWFwKSksXG5cdFx0XHR0YXAoeCA9PiB0aGlzLl9jb250ZXh0LiRpbXBsaWNpdCA9IHgpLFxuXHRcdFx0dGFwKCgpID0+IHRoaXMuX3ZpZXdSZWYubWFya0ZvckNoZWNrKCkpLFxuXHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcblx0XHQpLnN1YnNjcmliZSgpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fZGVzdHJveSQubmV4dCgpO1xuXHRcdHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVZpZXcoKTogdm9pZCB7XG5cdFx0dGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG5cdFx0dGhpcy5fdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy5fY29udGV4dCk7XG5cdH1cblxufVxuIl19