@ssv/ngx.ux 2.0.1-dev198 → 2.0.2

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 (75) hide show
  1. package/CHANGELOG.md +149 -142
  2. package/LICENSE +21 -21
  3. package/README.md +297 -297
  4. package/bundles/ssv-ngx.ux.umd.js +1154 -1154
  5. package/bundles/ssv-ngx.ux.umd.js.map +1 -1
  6. package/bundles/ssv-ngx.ux.umd.min.js +1 -1
  7. package/bundles/ssv-ngx.ux.umd.min.js.map +1 -1
  8. package/config.d.ts +7 -7
  9. package/esm2015/config.js +7 -7
  10. package/esm2015/index.js +5 -5
  11. package/esm2015/internal/internal.model.js +2 -2
  12. package/esm2015/module.js +50 -50
  13. package/esm2015/platform/window.js +28 -28
  14. package/esm2015/ssv-ngx.ux.js +7 -7
  15. package/esm2015/version.js +2 -2
  16. package/esm2015/viewport/index.js +9 -9
  17. package/esm2015/viewport/viewport-data/index.js +4 -4
  18. package/esm2015/viewport/viewport-data/viewport-data-matcher.js +108 -108
  19. package/esm2015/viewport/viewport-data/viewport-data.pipe.js +43 -43
  20. package/esm2015/viewport/viewport-data/viewport-data.service.js +38 -38
  21. package/esm2015/viewport/viewport-data/viewport-data.utils.js +100 -100
  22. package/esm2015/viewport/viewport-matcher-var.directive.js +64 -64
  23. package/esm2015/viewport/viewport-matcher.directive.js +134 -134
  24. package/esm2015/viewport/viewport-server-size.service.js +38 -38
  25. package/esm2015/viewport/viewport.const.js +18 -18
  26. package/esm2015/viewport/viewport.model.js +31 -31
  27. package/esm2015/viewport/viewport.service.js +69 -69
  28. package/esm2015/viewport/viewport.util.js +117 -117
  29. package/esm2020/config.mjs +7 -0
  30. package/esm2020/index.mjs +5 -0
  31. package/esm2020/internal/internal.model.mjs +2 -0
  32. package/esm2020/module.mjs +65 -0
  33. package/esm2020/platform/window.mjs +30 -0
  34. package/esm2020/ssv-ngx.ux.mjs +5 -0
  35. package/esm2020/version.mjs +2 -0
  36. package/esm2020/viewport/index.mjs +9 -0
  37. package/esm2020/viewport/viewport-data/index.mjs +4 -0
  38. package/esm2020/viewport/viewport-data/viewport-data-matcher.mjs +108 -0
  39. package/esm2020/viewport/viewport-data/viewport-data.pipe.mjs +43 -0
  40. package/esm2020/viewport/viewport-data/viewport-data.service.mjs +37 -0
  41. package/esm2020/viewport/viewport-data/viewport-data.utils.mjs +100 -0
  42. package/esm2020/viewport/viewport-matcher-var.directive.mjs +63 -0
  43. package/esm2020/viewport/viewport-matcher.directive.mjs +131 -0
  44. package/esm2020/viewport/viewport-server-size.service.mjs +43 -0
  45. package/esm2020/viewport/viewport.const.mjs +18 -0
  46. package/esm2020/viewport/viewport.model.mjs +31 -0
  47. package/esm2020/viewport/viewport.service.mjs +67 -0
  48. package/esm2020/viewport/viewport.util.mjs +117 -0
  49. package/fesm2015/ssv-ngx.ux.js +770 -770
  50. package/fesm2015/ssv-ngx.ux.js.map +1 -1
  51. package/fesm2015/ssv-ngx.ux.mjs +829 -0
  52. package/fesm2015/ssv-ngx.ux.mjs.map +1 -0
  53. package/fesm2020/ssv-ngx.ux.mjs +823 -0
  54. package/fesm2020/ssv-ngx.ux.mjs.map +1 -0
  55. package/index.d.ts +4 -4
  56. package/internal/internal.model.d.ts +9 -9
  57. package/module.d.ts +19 -12
  58. package/package.json +21 -9
  59. package/platform/window.d.ts +13 -10
  60. package/ssv-ngx.ux.d.ts +6 -6
  61. package/ssv-ngx.ux.metadata.json +1 -1
  62. package/version.d.ts +1 -1
  63. package/viewport/index.d.ts +8 -8
  64. package/viewport/viewport-data/index.d.ts +3 -3
  65. package/viewport/viewport-data/viewport-data-matcher.d.ts +32 -32
  66. package/viewport/viewport-data/viewport-data.pipe.d.ts +18 -15
  67. package/viewport/viewport-data/viewport-data.service.d.ts +20 -17
  68. package/viewport/viewport-data/viewport-data.utils.d.ts +21 -21
  69. package/viewport/viewport-matcher-var.directive.d.ts +25 -22
  70. package/viewport/viewport-matcher.directive.d.ts +33 -30
  71. package/viewport/viewport-server-size.service.d.ts +12 -9
  72. package/viewport/viewport.const.d.ts +5 -5
  73. package/viewport/viewport.model.d.ts +57 -57
  74. package/viewport/viewport.service.d.ts +37 -34
  75. package/viewport/viewport.util.d.ts +25 -25
@@ -1,134 +1,134 @@
1
- import { Directive, Renderer2, ViewContainerRef, Input, TemplateRef, ChangeDetectorRef, } from "@angular/core";
2
- import { Subscription, Subject } from "rxjs";
3
- import { tap, filter, pairwise, startWith } from "rxjs/operators";
4
- import { ViewportService } from "./viewport.service";
5
- import { isViewportSizeMatcherExpression, isViewportSizeMatcherTupleExpression, isViewportConditionMatch } from "./viewport.util";
6
- export class SsvViewportMatcherContext {
7
- constructor() {
8
- this.sizeType = null;
9
- this.sizeTypeExclude = null;
10
- }
11
- }
12
- export class SsvViewportMatcherDirective {
13
- constructor(viewport, renderer, viewContainer, cdr, templateRef) {
14
- this.viewport = viewport;
15
- this.renderer = renderer;
16
- this.viewContainer = viewContainer;
17
- this.cdr = cdr;
18
- this._context = new SsvViewportMatcherContext();
19
- this._thenTemplateRef = null;
20
- this._elseTemplateRef = null;
21
- this._thenViewRef = null;
22
- this._elseViewRef = null;
23
- this.sizeType$$ = Subscription.EMPTY;
24
- this.cssClass$$ = Subscription.EMPTY;
25
- this._update$ = new Subject();
26
- this._thenTemplateRef = templateRef;
27
- }
28
- set ssvViewportMatcher(value) {
29
- if (isViewportSizeMatcherExpression(value)) {
30
- this._context.expression = value;
31
- }
32
- else if (isViewportSizeMatcherTupleExpression(value)) {
33
- const [op, size] = value;
34
- this._context.expression = {
35
- operation: op,
36
- size
37
- };
38
- }
39
- else {
40
- this._context.sizeType = value;
41
- }
42
- if (this.sizeInfo) {
43
- this._update$.next(this._context);
44
- }
45
- }
46
- set ssvViewportMatcherExclude(value) {
47
- this._context.sizeTypeExclude = value;
48
- if (this.sizeInfo) {
49
- this._update$.next(this._context);
50
- }
51
- }
52
- set ssvViewportMatcherElse(templateRef) {
53
- this._elseTemplateRef = templateRef;
54
- this._elseViewRef = null; // clear previous view if any.
55
- if (this.sizeInfo) {
56
- this._update$.next(this._context);
57
- }
58
- }
59
- ngOnInit() {
60
- // console.log("ssvViewportMatcher init");
61
- this._update$
62
- .pipe(
63
- // tap(x => console.log(">>> ssvViewportMatcher - update triggered", x)),
64
- filter(() => !!this.sizeInfo),
65
- // tap(x => console.log(">>> ssvViewportMatcher - updating...", x)),
66
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
- tap(() => this._updateView(this.sizeInfo)), tap(() => this.cdr.markForCheck()))
68
- .subscribe();
69
- this.sizeType$$ = this.viewport.sizeType$
70
- .pipe(
71
- // tap(x => console.log("ssvViewportMatcher - sizeType changed", x)),
72
- tap(x => this.sizeInfo = x), tap(() => this._update$.next(this._context)))
73
- .subscribe();
74
- this.cssClass$$ = this.viewport.sizeType$
75
- .pipe(startWith(undefined), filter(() => !!(this._thenViewRef || this._elseViewRef)), pairwise(), tap(([prev, curr]) => {
76
- var _a;
77
- const el = this._thenViewRef
78
- ? this._thenViewRef.rootNodes[0]
79
- : (_a = this._elseViewRef) === null || _a === void 0 ? void 0 : _a.rootNodes[0];
80
- if (!el.classList) {
81
- return;
82
- }
83
- if (prev) {
84
- this.renderer.removeClass(el, `ssv-vp-size--${prev.name}`);
85
- }
86
- this.renderer.addClass(el, `ssv-vp-size--${curr === null || curr === void 0 ? void 0 : curr.name}`);
87
- }))
88
- .subscribe();
89
- }
90
- ngOnDestroy() {
91
- this.cssClass$$.unsubscribe();
92
- this.sizeType$$.unsubscribe();
93
- this._update$.complete();
94
- }
95
- _updateView(sizeInfo) {
96
- if (isViewportConditionMatch(sizeInfo, this._context, this.viewport.sizeTypeMap)) {
97
- if (!this._thenViewRef) {
98
- this.viewContainer.clear();
99
- this._elseViewRef = null;
100
- if (this._thenTemplateRef) {
101
- this._thenViewRef = this.viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);
102
- }
103
- }
104
- }
105
- else {
106
- if (!this._elseViewRef) {
107
- this.viewContainer.clear();
108
- this._thenViewRef = null;
109
- if (this._elseTemplateRef) {
110
- this._elseViewRef = this.viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);
111
- }
112
- }
113
- }
114
- }
115
- }
116
- SsvViewportMatcherDirective.decorators = [
117
- { type: Directive, args: [{
118
- selector: "[ssvViewportMatcher]",
119
- exportAs: "ssvViewportMatcher",
120
- },] }
121
- ];
122
- SsvViewportMatcherDirective.ctorParameters = () => [
123
- { type: ViewportService },
124
- { type: Renderer2 },
125
- { type: ViewContainerRef },
126
- { type: ChangeDetectorRef },
127
- { type: TemplateRef }
128
- ];
129
- SsvViewportMatcherDirective.propDecorators = {
130
- ssvViewportMatcher: [{ type: Input }],
131
- ssvViewportMatcherExclude: [{ type: Input }],
132
- ssvViewportMatcherElse: [{ type: Input }]
133
- };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtbWF0Y2hlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvY2lyY2xlY2kvcmVwby9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC1tYXRjaGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR04sU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsS0FBSyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QixNQUFNLE9BQU8seUJBQXlCO0lBQXRDO1FBRUMsYUFBUSxHQUE2QixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBNkIsSUFBSSxDQUFDO0lBR2xELENBQUM7Q0FBQTtBQU1ELE1BQU0sT0FBTywyQkFBMkI7SUErQ3ZDLFlBQ1MsUUFBeUIsRUFDekIsUUFBbUIsRUFDbkIsYUFBK0IsRUFDL0IsR0FBc0IsRUFDOUIsV0FBbUQ7UUFKM0MsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvQ3ZCLGFBQVEsR0FBOEIsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RFLHFCQUFnQixHQUFrRCxJQUFJLENBQUM7UUFDdkUscUJBQWdCLEdBQWtELElBQUksQ0FBQztRQUN2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QUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFFekIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FDeEQsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsUUFBUSxDQUNiLENBQUM7aUJBQ0Y7YUFDRDtTQUNEO2FBQU07WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBRXpCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQ3hELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FDYixDQUFDO2lCQUNGO2FBQ0Q7U0FDRDtJQUNGLENBQUM7OztZQXpJRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjthQUM5Qjs7O1lBbkJRLGVBQWU7WUFWdkIsU0FBUztZQUNULGdCQUFnQjtZQUloQixpQkFBaUI7WUFEakIsV0FBVzs7O2lDQXVDVixLQUFLO3dDQWtCTCxLQUFLO3FDQVFMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRPbkluaXQsXG5cdE9uRGVzdHJveSxcblx0RGlyZWN0aXZlLFxuXHRSZW5kZXJlcjIsXG5cdFZpZXdDb250YWluZXJSZWYsXG5cdElucHV0LFxuXHRFbWJlZGRlZFZpZXdSZWYsXG5cdFRlbXBsYXRlUmVmLFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YXAsIGZpbHRlciwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi92aWV3cG9ydC5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuXHRpc1ZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uLFxuXHRpc1ZpZXdwb3J0U2l6ZU1hdGNoZXJUdXBsZUV4cHJlc3Npb24sXG5cdGlzVmlld3BvcnRDb25kaXRpb25NYXRjaFxufSBmcm9tIFwiLi92aWV3cG9ydC51dGlsXCI7XG5pbXBvcnQgeyBWaWV3cG9ydFNpemVUeXBlSW5mbywgVmlld3BvcnRNYXRjaENvbmRpdGlvbnMsIFZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uIH0gZnJvbSBcIi4vdmlld3BvcnQubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQgaW1wbGVtZW50cyBWaWV3cG9ydE1hdGNoQ29uZGl0aW9ucyB7XG5cblx0c2l6ZVR5cGU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG5cdHNpemVUeXBlRXhjbHVkZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblx0ZXhwcmVzc2lvbj86IFZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uO1xuXG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogXCJbc3N2Vmlld3BvcnRNYXRjaGVyXVwiLFxuXHRleHBvcnRBczogXCJzc3ZWaWV3cG9ydE1hdGNoZXJcIixcbn0pXG5leHBvcnQgY2xhc3MgU3N2Vmlld3BvcnRNYXRjaGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG5cdHNpemVJbmZvOiBWaWV3cG9ydFNpemVUeXBlSW5mbyB8IHVuZGVmaW5lZDtcblxuXHRwcml2YXRlIF9jb250ZXh0OiBTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0ID0gbmV3IFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQoKTtcblx0cHJpdmF0ZSBfdGhlblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIF9lbHNlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgX3RoZW5WaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBfZWxzZVZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHNpemVUeXBlJCQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cdHByaXZhdGUgY3NzQ2xhc3MkJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblx0cHJpdmF0ZSByZWFkb25seSBfdXBkYXRlJCA9IG5ldyBTdWJqZWN0PFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+KCk7XG5cblx0QElucHV0KCkgc2V0IHNzdlZpZXdwb3J0TWF0Y2hlcih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbikge1xuXHRcdGlmIChpc1ZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0dGhpcy5fY29udGV4dC5leHByZXNzaW9uID0gdmFsdWU7XG5cdFx0fSBlbHNlIGlmIChpc1ZpZXdwb3J0U2l6ZU1hdGNoZXJUdXBsZUV4cHJlc3Npb24odmFsdWUpKSB7XG5cdFx0XHRjb25zdCBbb3AsIHNpemVdID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9jb250ZXh0LmV4cHJlc3Npb24gPSB7XG5cdFx0XHRcdG9wZXJhdGlvbjogb3AsXG5cdFx0XHRcdHNpemVcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2NvbnRleHQuc2l6ZVR5cGUgPSB2YWx1ZTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5zaXplSW5mbykge1xuXHRcdFx0dGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCgpIHNldCBzc3ZWaWV3cG9ydE1hdGNoZXJFeGNsdWRlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRcdHRoaXMuX2NvbnRleHQuc2l6ZVR5cGVFeGNsdWRlID0gdmFsdWU7XG5cblx0XHRpZiAodGhpcy5zaXplSW5mbykge1xuXHRcdFx0dGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCgpIHNldCBzc3ZWaWV3cG9ydE1hdGNoZXJFbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwpIHtcblx0XHR0aGlzLl9lbHNlVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcblx0XHR0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7IC8vIGNsZWFyIHByZXZpb3VzIHZpZXcgaWYgYW55LlxuXHRcdGlmICh0aGlzLnNpemVJbmZvKSB7XG5cdFx0XHR0aGlzLl91cGRhdGUkLm5leHQodGhpcy5fY29udGV4dCk7XG5cdFx0fVxuXHR9XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB2aWV3cG9ydDogVmlld3BvcnRTZXJ2aWNlLFxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcblx0XHRwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuXHRcdHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0Pixcblx0KSB7XG5cdFx0dGhpcy5fdGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvLyBjb25zb2xlLmxvZyhcInNzdlZpZXdwb3J0TWF0Y2hlciBpbml0XCIpO1xuXG5cdFx0dGhpcy5fdXBkYXRlJFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdC8vIHRhcCh4ID0+IGNvbnNvbGUubG9nKFwiPj4+IHNzdlZpZXdwb3J0TWF0Y2hlciAtIHVwZGF0ZSB0cmlnZ2VyZWRcIiwgeCkpLFxuXHRcdFx0XHRmaWx0ZXIoKCkgPT4gISF0aGlzLnNpemVJbmZvKSxcblx0XHRcdFx0Ly8gdGFwKHggPT4gY29uc29sZS5sb2coXCI+Pj4gc3N2Vmlld3BvcnRNYXRjaGVyIC0gdXBkYXRpbmcuLi5cIiwgeCkpLFxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5fdXBkYXRlVmlldyh0aGlzLnNpemVJbmZvISkpLFxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCk7XG5cblx0XHR0aGlzLnNpemVUeXBlJCQgPSB0aGlzLnZpZXdwb3J0LnNpemVUeXBlJFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdC8vIHRhcCh4ID0+IGNvbnNvbGUubG9nKFwic3N2Vmlld3BvcnRNYXRjaGVyIC0gc2l6ZVR5cGUgY2hhbmdlZFwiLCB4KSksXG5cdFx0XHRcdHRhcCh4ID0+IHRoaXMuc2l6ZUluZm8gPSB4KSxcblx0XHRcdFx0dGFwKCgpID0+IHRoaXMuX3VwZGF0ZSQubmV4dCh0aGlzLl9jb250ZXh0KSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCk7XG5cblx0XHR0aGlzLmNzc0NsYXNzJCQgPSB0aGlzLnZpZXdwb3J0LnNpemVUeXBlJFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHN0YXJ0V2l0aDxWaWV3cG9ydFNpemVUeXBlSW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKSxcblx0XHRcdFx0ZmlsdGVyKCgpID0+ICEhKHRoaXMuX3RoZW5WaWV3UmVmIHx8IHRoaXMuX2Vsc2VWaWV3UmVmKSksXG5cdFx0XHRcdHBhaXJ3aXNlKCksXG5cdFx0XHRcdHRhcCgoW3ByZXYsIGN1cnJdKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgZWw6IEVsZW1lbnQgPSB0aGlzLl90aGVuVmlld1JlZlxuXHRcdFx0XHRcdFx0PyB0aGlzLl90aGVuVmlld1JlZi5yb290Tm9kZXNbMF1cblx0XHRcdFx0XHRcdDogdGhpcy5fZWxzZVZpZXdSZWY/LnJvb3ROb2Rlc1swXTtcblxuXHRcdFx0XHRcdGlmICghZWwuY2xhc3NMaXN0KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChwcmV2KSB7XG5cdFx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsLCBgc3N2LXZwLXNpemUtLSR7cHJldi5uYW1lfWApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsLCBgc3N2LXZwLXNpemUtLSR7Y3Vycj8ubmFtZX1gKTtcblx0XHRcdFx0fSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNzc0NsYXNzJCQudW5zdWJzY3JpYmUoKTtcblx0XHR0aGlzLnNpemVUeXBlJCQudW5zdWJzY3JpYmUoKTtcblx0XHR0aGlzLl91cGRhdGUkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRwcml2YXRlIF91cGRhdGVWaWV3KHNpemVJbmZvOiBWaWV3cG9ydFNpemVUeXBlSW5mbykge1xuXHRcdGlmIChpc1ZpZXdwb3J0Q29uZGl0aW9uTWF0Y2goc2l6ZUluZm8sIHRoaXMuX2NvbnRleHQsIHRoaXMudmlld3BvcnQuc2l6ZVR5cGVNYXApKSB7XG5cdFx0XHRpZiAoIXRoaXMuX3RoZW5WaWV3UmVmKSB7XG5cdFx0XHRcdHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuXHRcdFx0XHR0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7XG5cblx0XHRcdFx0aWYgKHRoaXMuX3RoZW5UZW1wbGF0ZVJlZikge1xuXHRcdFx0XHRcdHRoaXMuX3RoZW5WaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcblx0XHRcdFx0XHRcdHRoaXMuX3RoZW5UZW1wbGF0ZVJlZixcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnRleHQsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoIXRoaXMuX2Vsc2VWaWV3UmVmKSB7XG5cdFx0XHRcdHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuXHRcdFx0XHR0aGlzLl90aGVuVmlld1JlZiA9IG51bGw7XG5cblx0XHRcdFx0aWYgKHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZikge1xuXHRcdFx0XHRcdHRoaXMuX2Vsc2VWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcblx0XHRcdFx0XHRcdHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZixcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnRleHQsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG4iXX0=
1
+ import { Directive, Renderer2, ViewContainerRef, Input, TemplateRef, ChangeDetectorRef, } from "@angular/core";
2
+ import { Subscription, Subject } from "rxjs";
3
+ import { tap, filter, pairwise, startWith } from "rxjs/operators";
4
+ import { ViewportService } from "./viewport.service";
5
+ import { isViewportSizeMatcherExpression, isViewportSizeMatcherTupleExpression, isViewportConditionMatch } from "./viewport.util";
6
+ export class SsvViewportMatcherContext {
7
+ constructor() {
8
+ this.sizeType = null;
9
+ this.sizeTypeExclude = null;
10
+ }
11
+ }
12
+ export class SsvViewportMatcherDirective {
13
+ constructor(viewport, renderer, viewContainer, cdr, templateRef) {
14
+ this.viewport = viewport;
15
+ this.renderer = renderer;
16
+ this.viewContainer = viewContainer;
17
+ this.cdr = cdr;
18
+ this._context = new SsvViewportMatcherContext();
19
+ this._thenTemplateRef = null;
20
+ this._elseTemplateRef = null;
21
+ this._thenViewRef = null;
22
+ this._elseViewRef = null;
23
+ this.sizeType$$ = Subscription.EMPTY;
24
+ this.cssClass$$ = Subscription.EMPTY;
25
+ this._update$ = new Subject();
26
+ this._thenTemplateRef = templateRef;
27
+ }
28
+ set ssvViewportMatcher(value) {
29
+ if (isViewportSizeMatcherExpression(value)) {
30
+ this._context.expression = value;
31
+ }
32
+ else if (isViewportSizeMatcherTupleExpression(value)) {
33
+ const [op, size] = value;
34
+ this._context.expression = {
35
+ operation: op,
36
+ size
37
+ };
38
+ }
39
+ else {
40
+ this._context.sizeType = value;
41
+ }
42
+ if (this.sizeInfo) {
43
+ this._update$.next(this._context);
44
+ }
45
+ }
46
+ set ssvViewportMatcherExclude(value) {
47
+ this._context.sizeTypeExclude = value;
48
+ if (this.sizeInfo) {
49
+ this._update$.next(this._context);
50
+ }
51
+ }
52
+ set ssvViewportMatcherElse(templateRef) {
53
+ this._elseTemplateRef = templateRef;
54
+ this._elseViewRef = null; // clear previous view if any.
55
+ if (this.sizeInfo) {
56
+ this._update$.next(this._context);
57
+ }
58
+ }
59
+ ngOnInit() {
60
+ // console.log("ssvViewportMatcher init");
61
+ this._update$
62
+ .pipe(
63
+ // tap(x => console.log(">>> ssvViewportMatcher - update triggered", x)),
64
+ filter(() => !!this.sizeInfo),
65
+ // tap(x => console.log(">>> ssvViewportMatcher - updating...", x)),
66
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
+ tap(() => this._updateView(this.sizeInfo)), tap(() => this.cdr.markForCheck()))
68
+ .subscribe();
69
+ this.sizeType$$ = this.viewport.sizeType$
70
+ .pipe(
71
+ // tap(x => console.log("ssvViewportMatcher - sizeType changed", x)),
72
+ tap(x => this.sizeInfo = x), tap(() => this._update$.next(this._context)))
73
+ .subscribe();
74
+ this.cssClass$$ = this.viewport.sizeType$
75
+ .pipe(startWith(undefined), filter(() => !!(this._thenViewRef || this._elseViewRef)), pairwise(), tap(([prev, curr]) => {
76
+ var _a;
77
+ const el = this._thenViewRef
78
+ ? this._thenViewRef.rootNodes[0]
79
+ : (_a = this._elseViewRef) === null || _a === void 0 ? void 0 : _a.rootNodes[0];
80
+ if (!el.classList) {
81
+ return;
82
+ }
83
+ if (prev) {
84
+ this.renderer.removeClass(el, `ssv-vp-size--${prev.name}`);
85
+ }
86
+ this.renderer.addClass(el, `ssv-vp-size--${curr === null || curr === void 0 ? void 0 : curr.name}`);
87
+ }))
88
+ .subscribe();
89
+ }
90
+ ngOnDestroy() {
91
+ this.cssClass$$.unsubscribe();
92
+ this.sizeType$$.unsubscribe();
93
+ this._update$.complete();
94
+ }
95
+ _updateView(sizeInfo) {
96
+ if (isViewportConditionMatch(sizeInfo, this._context, this.viewport.sizeTypeMap)) {
97
+ if (!this._thenViewRef) {
98
+ this.viewContainer.clear();
99
+ this._elseViewRef = null;
100
+ if (this._thenTemplateRef) {
101
+ this._thenViewRef = this.viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);
102
+ }
103
+ }
104
+ }
105
+ else {
106
+ if (!this._elseViewRef) {
107
+ this.viewContainer.clear();
108
+ this._thenViewRef = null;
109
+ if (this._elseTemplateRef) {
110
+ this._elseViewRef = this.viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ SsvViewportMatcherDirective.decorators = [
117
+ { type: Directive, args: [{
118
+ selector: "[ssvViewportMatcher]",
119
+ exportAs: "ssvViewportMatcher",
120
+ },] }
121
+ ];
122
+ SsvViewportMatcherDirective.ctorParameters = () => [
123
+ { type: ViewportService },
124
+ { type: Renderer2 },
125
+ { type: ViewContainerRef },
126
+ { type: ChangeDetectorRef },
127
+ { type: TemplateRef }
128
+ ];
129
+ SsvViewportMatcherDirective.propDecorators = {
130
+ ssvViewportMatcher: [{ type: Input }],
131
+ ssvViewportMatcherExclude: [{ type: Input }],
132
+ ssvViewportMatcherElse: [{ type: Input }]
133
+ };
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtbWF0Y2hlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiQzovZGV2L2dpdC9Ac3N2Lm5neC51eC9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC1tYXRjaGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR04sU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsS0FBSyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QixNQUFNLE9BQU8seUJBQXlCO0lBQXRDO1FBRUMsYUFBUSxHQUE2QixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBNkIsSUFBSSxDQUFDO0lBR2xELENBQUM7Q0FBQTtBQU1ELE1BQU0sT0FBTywyQkFBMkI7SUErQ3ZDLFlBQ1MsUUFBeUIsRUFDekIsUUFBbUIsRUFDbkIsYUFBK0IsRUFDL0IsR0FBc0IsRUFDOUIsV0FBbUQ7UUFKM0MsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvQ3ZCLGFBQVEsR0FBOEIsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RFLHFCQUFnQixHQUFrRCxJQUFJLENBQUM7UUFDdkUscUJBQWdCLEdBQWtELElBQUksQ0FBQztR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QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFFekIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FDeEQsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsUUFBUSxDQUNiLENBQUM7aUJBQ0Y7YUFDRDtTQUNEO2FBQU07WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBRXpCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQ3hELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FDYixDQUFDO2lCQUNGO2FBQ0Q7U0FDRDtJQUNGLENBQUM7OztZQXpJRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjthQUM5Qjs7O1lBbkJRLGVBQWU7WUFWdkIsU0FBUztZQUNULGdCQUFnQjtZQUloQixpQkFBaUI7WUFEakIsV0FBVzs7O2lDQXVDVixLQUFLO3dDQWtCTCxLQUFLO3FDQVFMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdE9uSW5pdCxcclxuXHRPbkRlc3Ryb3ksXHJcblx0RGlyZWN0aXZlLFxyXG5cdFJlbmRlcmVyMixcclxuXHRWaWV3Q29udGFpbmVyUmVmLFxyXG5cdElucHV0LFxyXG5cdEVtYmVkZGVkVmlld1JlZixcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIGZpbHRlciwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vdmlld3BvcnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG5cdGlzVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24sXHJcblx0aXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uLFxyXG5cdGlzVmlld3BvcnRDb25kaXRpb25NYXRjaFxyXG59IGZyb20gXCIuL3ZpZXdwb3J0LnV0aWxcIjtcclxuaW1wb3J0IHsgVmlld3BvcnRTaXplVHlwZUluZm8sIFZpZXdwb3J0TWF0Y2hDb25kaXRpb25zLCBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbiB9IGZyb20gXCIuL3ZpZXdwb3J0Lm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dCBpbXBsZW1lbnRzIFZpZXdwb3J0TWF0Y2hDb25kaXRpb25zIHtcclxuXHJcblx0c2l6ZVR5cGU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XHJcblx0c2l6ZVR5cGVFeGNsdWRlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cdGV4cHJlc3Npb24/OiBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbjtcclxuXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiBcIltzc3ZWaWV3cG9ydE1hdGNoZXJdXCIsXHJcblx0ZXhwb3J0QXM6IFwic3N2Vmlld3BvcnRNYXRjaGVyXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTc3ZWaWV3cG9ydE1hdGNoZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG5cdHNpemVJbmZvOiBWaWV3cG9ydFNpemVUeXBlSW5mbyB8IHVuZGVmaW5lZDtcclxuXHJcblx0cHJpdmF0ZSBfY29udGV4dDogU3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dCA9IG5ldyBTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0KCk7XHJcblx0cHJpdmF0ZSBfdGhlblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xyXG5cdHByaXZhdGUgX2Vsc2VUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsID0gbnVsbDtcclxuXHRwcml2YXRlIF90aGVuVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcblx0cHJpdmF0ZSBfZWxzZVZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xyXG5cdHByaXZhdGUgc2l6ZVR5cGUkJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcclxuXHRwcml2YXRlIGNzc0NsYXNzJCQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfdXBkYXRlJCA9IG5ldyBTdWJqZWN0PFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+KCk7XHJcblxyXG5cdEBJbnB1dCgpIHNldCBzc3ZWaWV3cG9ydE1hdGNoZXIodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24pIHtcclxuXHRcdGlmIChpc1ZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uKHZhbHVlKSkge1xyXG5cdFx0XHR0aGlzLl9jb250ZXh0LmV4cHJlc3Npb24gPSB2YWx1ZTtcclxuXHRcdH0gZWxzZSBpZiAoaXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uKHZhbHVlKSkge1xyXG5cdFx0XHRjb25zdCBbb3AsIHNpemVdID0gdmFsdWU7XHJcblx0XHRcdHRoaXMuX2NvbnRleHQuZXhwcmVzc2lvbiA9IHtcclxuXHRcdFx0XHRvcGVyYXRpb246IG9wLFxyXG5cdFx0XHRcdHNpemVcclxuXHRcdFx0fTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuX2NvbnRleHQuc2l6ZVR5cGUgPSB2YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5zaXplSW5mbykge1xyXG5cdFx0XHR0aGlzLl91cGRhdGUkLm5leHQodGhpcy5fY29udGV4dCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBzZXQgc3N2Vmlld3BvcnRNYXRjaGVyRXhjbHVkZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuXHRcdHRoaXMuX2NvbnRleHQuc2l6ZVR5cGVFeGNsdWRlID0gdmFsdWU7XHJcblxyXG5cdFx0aWYgKHRoaXMuc2l6ZUluZm8pIHtcclxuXHRcdFx0dGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QElucHV0KCkgc2V0IHNzdlZpZXdwb3J0TWF0Y2hlckVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCkge1xyXG5cdFx0dGhpcy5fZWxzZVRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XHJcblx0XHR0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7IC8vIGNsZWFyIHByZXZpb3VzIHZpZXcgaWYgYW55LlxyXG5cdFx0aWYgKHRoaXMuc2l6ZUluZm8pIHtcclxuXHRcdFx0dGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHZpZXdwb3J0OiBWaWV3cG9ydFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcblx0XHRwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcblx0XHRwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHR0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4sXHJcblx0KSB7XHJcblx0XHR0aGlzLl90aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0Ly8gY29uc29sZS5sb2coXCJzc3ZWaWV3cG9ydE1hdGNoZXIgaW5pdFwiKTtcclxuXHJcblx0XHR0aGlzLl91cGRhdGUkXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdC8vIHRhcCh4ID0+IGNvbnNvbGUubG9nKFwiPj4+IHNzdlZpZXdwb3J0TWF0Y2hlciAtIHVwZGF0ZSB0cmlnZ2VyZWRcIiwgeCkpLFxyXG5cdFx0XHRcdGZpbHRlcigoKSA9PiAhIXRoaXMuc2l6ZUluZm8pLFxyXG5cdFx0XHRcdC8vIHRhcCh4ID0+IGNvbnNvbGUubG9nKFwiPj4+IHNzdlZpZXdwb3J0TWF0Y2hlciAtIHVwZGF0aW5nLi4uXCIsIHgpKSxcclxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG5cdFx0XHRcdHRhcCgoKSA9PiB0aGlzLl91cGRhdGVWaWV3KHRoaXMuc2l6ZUluZm8hKSksXHJcblx0XHRcdFx0dGFwKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKTtcclxuXHJcblx0XHR0aGlzLnNpemVUeXBlJCQgPSB0aGlzLnZpZXdwb3J0LnNpemVUeXBlJFxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHQvLyB0YXAoeCA9PiBjb25zb2xlLmxvZyhcInNzdlZpZXdwb3J0TWF0Y2hlciAtIHNpemVUeXBlIGNoYW5nZWRcIiwgeCkpLFxyXG5cdFx0XHRcdHRhcCh4ID0+IHRoaXMuc2l6ZUluZm8gPSB4KSxcclxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpKSxcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKCk7XHJcblxyXG5cdFx0dGhpcy5jc3NDbGFzcyQkID0gdGhpcy52aWV3cG9ydC5zaXplVHlwZSRcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0c3RhcnRXaXRoPFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxyXG5cdFx0XHRcdGZpbHRlcigoKSA9PiAhISh0aGlzLl90aGVuVmlld1JlZiB8fCB0aGlzLl9lbHNlVmlld1JlZikpLFxyXG5cdFx0XHRcdHBhaXJ3aXNlKCksXHJcblx0XHRcdFx0dGFwKChbcHJldiwgY3Vycl0pID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IGVsOiBFbGVtZW50ID0gdGhpcy5fdGhlblZpZXdSZWZcclxuXHRcdFx0XHRcdFx0PyB0aGlzLl90aGVuVmlld1JlZi5yb290Tm9kZXNbMF1cclxuXHRcdFx0XHRcdFx0OiB0aGlzLl9lbHNlVmlld1JlZj8ucm9vdE5vZGVzWzBdO1xyXG5cclxuXHRcdFx0XHRcdGlmICghZWwuY2xhc3NMaXN0KSB7XHJcblx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChwcmV2KSB7XHJcblx0XHRcdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWwsIGBzc3YtdnAtc2l6ZS0tJHtwcmV2Lm5hbWV9YCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsLCBgc3N2LXZwLXNpemUtLSR7Y3Vycj8ubmFtZX1gKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuY3NzQ2xhc3MkJC51bnN1YnNjcmliZSgpO1xyXG5cdFx0dGhpcy5zaXplVHlwZSQkLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR0aGlzLl91cGRhdGUkLmNvbXBsZXRlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF91cGRhdGVWaWV3KHNpemVJbmZvOiBWaWV3cG9ydFNpemVUeXBlSW5mbykge1xyXG5cdFx0aWYgKGlzVmlld3BvcnRDb25kaXRpb25NYXRjaChzaXplSW5mbywgdGhpcy5fY29udGV4dCwgdGhpcy52aWV3cG9ydC5zaXplVHlwZU1hcCkpIHtcclxuXHRcdFx0aWYgKCF0aGlzLl90aGVuVmlld1JlZikge1xyXG5cdFx0XHRcdHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG5cdFx0XHRcdHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDtcclxuXHJcblx0XHRcdFx0aWYgKHRoaXMuX3RoZW5UZW1wbGF0ZVJlZikge1xyXG5cdFx0XHRcdFx0dGhpcy5fdGhlblZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxyXG5cdFx0XHRcdFx0XHR0aGlzLl90aGVuVGVtcGxhdGVSZWYsXHJcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnRleHQsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKCF0aGlzLl9lbHNlVmlld1JlZikge1xyXG5cdFx0XHRcdHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG5cdFx0XHRcdHRoaXMuX3RoZW5WaWV3UmVmID0gbnVsbDtcclxuXHJcblx0XHRcdFx0aWYgKHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZikge1xyXG5cdFx0XHRcdFx0dGhpcy5fZWxzZVZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxyXG5cdFx0XHRcdFx0XHR0aGlzLl9lbHNlVGVtcGxhdGVSZWYsXHJcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnRleHQsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuIl19
@@ -1,38 +1,38 @@
1
- import { Injectable, Inject, InjectionToken, Optional } from "@angular/core";
2
- import { DeviceType } from "./viewport.model";
3
- import * as i0 from "@angular/core";
4
- // todo: make this configurable
5
- /** Viewport size for SSR. */
6
- const viewportSizeSSR = {
7
- [DeviceType.desktop]: {
8
- width: 1366,
9
- height: 768,
10
- },
11
- [DeviceType.tablet]: {
12
- width: 768,
13
- height: 1024,
14
- },
15
- [DeviceType.mobile]: {
16
- width: 414,
17
- height: 736,
18
- },
19
- };
20
- export const UX_VIEWPORT_SSR_DEVICE = new InjectionToken("@ssv/ngx.ux-config/viewport/ssr-device");
21
- export class ViewportServerSizeService {
22
- constructor(deviceType) {
23
- this.deviceType = deviceType;
24
- }
25
- get() {
26
- return viewportSizeSSR[this.deviceType] || viewportSizeSSR[DeviceType.desktop];
27
- }
28
- }
29
- ViewportServerSizeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewportServerSizeService_Factory() { return new ViewportServerSizeService(i0.ɵɵinject(UX_VIEWPORT_SSR_DEVICE, 8)); }, token: ViewportServerSizeService, providedIn: "root" });
30
- ViewportServerSizeService.decorators = [
31
- { type: Injectable, args: [{
32
- providedIn: "root",
33
- },] }
34
- ];
35
- ViewportServerSizeService.ctorParameters = () => [
36
- { type: DeviceType, decorators: [{ type: Optional }, { type: Inject, args: [UX_VIEWPORT_SSR_DEVICE,] }] }
37
- ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtc2VydmVyLXNpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9jaXJjbGVjaS9yZXBvL3NyYy8iLCJzb3VyY2VzIjpbInZpZXdwb3J0L3ZpZXdwb3J0LXNlcnZlci1zaXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLGtCQUFrQixDQUFDOztBQUc1RCwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLE1BQU0sZUFBZSxHQUE2QjtJQUNqRCxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxHQUFHO0tBQ1g7SUFDRCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxJQUFJO0tBQ1o7SUFDRCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO0tBQ1g7Q0FDRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQVksd0NBQXdDLENBQUMsQ0FBQztBQUs5RyxNQUFNLE9BQU8seUJBQXlCO0lBRXJDLFlBQ3FELFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFM0UsQ0FBQztJQUVELEdBQUc7UUFDRixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7O1lBWkQsVUFBVSxTQUFDO2dCQUNYLFVBQVUsRUFBRSxNQUFNO2FBQ2xCOzs7WUF4QlEsVUFBVSx1QkE0QmhCLFFBQVEsWUFBSSxNQUFNLFNBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVybmFsL2ludGVybmFsLm1vZGVsXCI7XG5pbXBvcnQgeyBEZXZpY2VUeXBlLCBWaWV3cG9ydFNpemUgfSBmcm9tIFwiLi92aWV3cG9ydC5tb2RlbFwiO1xuaW1wb3J0IHsgVXhPcHRpb25zIH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuXG4vLyB0b2RvOiBtYWtlIHRoaXMgY29uZmlndXJhYmxlXG4vKiogVmlld3BvcnQgc2l6ZSBmb3IgU1NSLiAqL1xuY29uc3Qgdmlld3BvcnRTaXplU1NSOiBEaWN0aW9uYXJ5PFZpZXdwb3J0U2l6ZT4gPSB7XG5cdFtEZXZpY2VUeXBlLmRlc2t0b3BdOiB7XG5cdFx0d2lkdGg6IDEzNjYsXG5cdFx0aGVpZ2h0OiA3NjgsXG5cdH0sXG5cdFtEZXZpY2VUeXBlLnRhYmxldF06IHtcblx0XHR3aWR0aDogNzY4LFxuXHRcdGhlaWdodDogMTAyNCxcblx0fSxcblx0W0RldmljZVR5cGUubW9iaWxlXToge1xuXHRcdHdpZHRoOiA0MTQsXG5cdFx0aGVpZ2h0OiA3MzYsXG5cdH0sXG59O1xuXG5leHBvcnQgY29uc3QgVVhfVklFV1BPUlRfU1NSX0RFVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxVeE9wdGlvbnM+KFwiQHNzdi9uZ3gudXgtY29uZmlnL3ZpZXdwb3J0L3Nzci1kZXZpY2VcIik7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdwb3J0U2VydmVyU2l6ZVNlcnZpY2Uge1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoVVhfVklFV1BPUlRfU1NSX0RFVklDRSkgcHJpdmF0ZSBkZXZpY2VUeXBlOiBEZXZpY2VUeXBlLFxuXHQpIHtcblx0fVxuXG5cdGdldCgpOiBWaWV3cG9ydFNpemUge1xuXHRcdHJldHVybiB2aWV3cG9ydFNpemVTU1JbdGhpcy5kZXZpY2VUeXBlXSB8fCB2aWV3cG9ydFNpemVTU1JbRGV2aWNlVHlwZS5kZXNrdG9wXTtcblx0fVxuXG59XG4iXX0=
1
+ import { Injectable, Inject, InjectionToken, Optional } from "@angular/core";
2
+ import { DeviceType } from "./viewport.model";
3
+ import * as i0 from "@angular/core";
4
+ // todo: make this configurable
5
+ /** Viewport size for SSR. */
6
+ const viewportSizeSSR = {
7
+ [DeviceType.desktop]: {
8
+ width: 1366,
9
+ height: 768,
10
+ },
11
+ [DeviceType.tablet]: {
12
+ width: 768,
13
+ height: 1024,
14
+ },
15
+ [DeviceType.mobile]: {
16
+ width: 414,
17
+ height: 736,
18
+ },
19
+ };
20
+ export const UX_VIEWPORT_SSR_DEVICE = new InjectionToken("@ssv/ngx.ux-config/viewport/ssr-device");
21
+ export class ViewportServerSizeService {
22
+ constructor(deviceType) {
23
+ this.deviceType = deviceType;
24
+ }
25
+ get() {
26
+ return viewportSizeSSR[this.deviceType] || viewportSizeSSR[DeviceType.desktop];
27
+ }
28
+ }
29
+ ViewportServerSizeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewportServerSizeService_Factory() { return new ViewportServerSizeService(i0.ɵɵinject(UX_VIEWPORT_SSR_DEVICE, 8)); }, token: ViewportServerSizeService, providedIn: "root" });
30
+ ViewportServerSizeService.decorators = [
31
+ { type: Injectable, args: [{
32
+ providedIn: "root",
33
+ },] }
34
+ ];
35
+ ViewportServerSizeService.ctorParameters = () => [
36
+ { type: DeviceType, decorators: [{ type: Optional }, { type: Inject, args: [UX_VIEWPORT_SSR_DEVICE,] }] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtc2VydmVyLXNpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9kZXYvZ2l0L0Bzc3Yubmd4LnV4L3NyYy8iLCJzb3VyY2VzIjpbInZpZXdwb3J0L3ZpZXdwb3J0LXNlcnZlci1zaXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLGtCQUFrQixDQUFDOztBQUc1RCwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLE1BQU0sZUFBZSxHQUE2QjtJQUNqRCxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxHQUFHO0tBQ1g7SUFDRCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxJQUFJO0tBQ1o7SUFDRCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO0tBQ1g7Q0FDRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQVksd0NBQXdDLENBQUMsQ0FBQztBQUs5RyxNQUFNLE9BQU8seUJBQXlCO0lBRXJDLFlBQ3FELFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFM0UsQ0FBQztJQUVELEdBQUc7UUFDRixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7O1lBWkQsVUFBVSxTQUFDO2dCQUNYLFVBQVUsRUFBRSxNQUFNO2FBQ2xCOzs7WUF4QlEsVUFBVSx1QkE0QmhCLFFBQVEsWUFBSSxNQUFNLFNBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gXCIuLi9pbnRlcm5hbC9pbnRlcm5hbC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBEZXZpY2VUeXBlLCBWaWV3cG9ydFNpemUgfSBmcm9tIFwiLi92aWV3cG9ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBVeE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG4vLyB0b2RvOiBtYWtlIHRoaXMgY29uZmlndXJhYmxlXHJcbi8qKiBWaWV3cG9ydCBzaXplIGZvciBTU1IuICovXHJcbmNvbnN0IHZpZXdwb3J0U2l6ZVNTUjogRGljdGlvbmFyeTxWaWV3cG9ydFNpemU+ID0ge1xyXG5cdFtEZXZpY2VUeXBlLmRlc2t0b3BdOiB7XHJcblx0XHR3aWR0aDogMTM2NixcclxuXHRcdGhlaWdodDogNzY4LFxyXG5cdH0sXHJcblx0W0RldmljZVR5cGUudGFibGV0XToge1xyXG5cdFx0d2lkdGg6IDc2OCxcclxuXHRcdGhlaWdodDogMTAyNCxcclxuXHR9LFxyXG5cdFtEZXZpY2VUeXBlLm1vYmlsZV06IHtcclxuXHRcdHdpZHRoOiA0MTQsXHJcblx0XHRoZWlnaHQ6IDczNixcclxuXHR9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFVYX1ZJRVdQT1JUX1NTUl9ERVZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXhPcHRpb25zPihcIkBzc3Yvbmd4LnV4LWNvbmZpZy92aWV3cG9ydC9zc3ItZGV2aWNlXCIpO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld3BvcnRTZXJ2ZXJTaXplU2VydmljZSB7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QE9wdGlvbmFsKCkgQEluamVjdChVWF9WSUVXUE9SVF9TU1JfREVWSUNFKSBwcml2YXRlIGRldmljZVR5cGU6IERldmljZVR5cGUsXHJcblx0KSB7XHJcblx0fVxyXG5cclxuXHRnZXQoKTogVmlld3BvcnRTaXplIHtcclxuXHRcdHJldHVybiB2aWV3cG9ydFNpemVTU1JbdGhpcy5kZXZpY2VUeXBlXSB8fCB2aWV3cG9ydFNpemVTU1JbRGV2aWNlVHlwZS5kZXNrdG9wXTtcclxuXHR9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,18 +1,18 @@
1
- import { ViewportDataMatchStrategy } from "./viewport-data/viewport-data-matcher";
2
- /** Default viewport breakpoints. */
3
- export const UX_VIEWPORT_DEFAULT_BREAKPOINTS = {
4
- xsmall: 450,
5
- small: 767,
6
- medium: 992,
7
- large: 1280,
8
- fhd: 1920,
9
- qhd: 2560,
10
- uhd4k: 3840,
11
- uhd8k: 7680,
12
- };
13
- export const UX_VIEWPORT_DEFAULT_CONFIG = {
14
- resizePollingSpeed: 33,
15
- breakpoints: UX_VIEWPORT_DEFAULT_BREAKPOINTS,
16
- defaultDataMatchStrategy: ViewportDataMatchStrategy.smaller,
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuY29uc3QuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvY2lyY2xlY2kvcmVwby9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdsRixvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXVCO0lBQ2xFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQXNCO0lBQzVELGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsV0FBVyxFQUFFLCtCQUErQjtJQUM1Qyx3QkFBd0IsRUFBRSx5QkFBeUIsQ0FBQyxPQUFPO0NBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVybmFsL2ludGVybmFsLm1vZGVsXCI7XG5pbXBvcnQgeyBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5IH0gZnJvbSBcIi4vdmlld3BvcnQtZGF0YS92aWV3cG9ydC1kYXRhLW1hdGNoZXJcIjtcbmltcG9ydCB7IFV4Vmlld3BvcnRPcHRpb25zIH0gZnJvbSBcIi4vdmlld3BvcnQubW9kZWxcIjtcblxuLyoqIERlZmF1bHQgdmlld3BvcnQgYnJlYWtwb2ludHMuICovXG5leHBvcnQgY29uc3QgVVhfVklFV1BPUlRfREVGQVVMVF9CUkVBS1BPSU5UUzogRGljdGlvbmFyeTxudW1iZXI+ID0ge1xuXHR4c21hbGw6IDQ1MCxcblx0c21hbGw6IDc2Nyxcblx0bWVkaXVtOiA5OTIsXG5cdGxhcmdlOiAxMjgwLFxuXHRmaGQ6IDE5MjAsXG5cdHFoZDogMjU2MCxcblx0dWhkNGs6IDM4NDAsXG5cdHVoZDhrOiA3NjgwLFxufTtcblxuZXhwb3J0IGNvbnN0IFVYX1ZJRVdQT1JUX0RFRkFVTFRfQ09ORklHOiBVeFZpZXdwb3J0T3B0aW9ucyA9IHtcblx0cmVzaXplUG9sbGluZ1NwZWVkOiAzMyxcblx0YnJlYWtwb2ludHM6IFVYX1ZJRVdQT1JUX0RFRkFVTFRfQlJFQUtQT0lOVFMsXG5cdGRlZmF1bHREYXRhTWF0Y2hTdHJhdGVneTogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneS5zbWFsbGVyLFxufTtcbiJdfQ==
1
+ import { ViewportDataMatchStrategy } from "./viewport-data/viewport-data-matcher";
2
+ /** Default viewport breakpoints. */
3
+ export const UX_VIEWPORT_DEFAULT_BREAKPOINTS = {
4
+ xsmall: 450,
5
+ small: 767,
6
+ medium: 992,
7
+ large: 1280,
8
+ fhd: 1920,
9
+ qhd: 2560,
10
+ uhd4k: 3840,
11
+ uhd8k: 7680,
12
+ };
13
+ export const UX_VIEWPORT_DEFAULT_CONFIG = {
14
+ resizePollingSpeed: 33,
15
+ breakpoints: UX_VIEWPORT_DEFAULT_BREAKPOINTS,
16
+ defaultDataMatchStrategy: ViewportDataMatchStrategy.smaller,
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuY29uc3QuanMiLCJzb3VyY2VSb290IjoiQzovZGV2L2dpdC9Ac3N2Lm5neC51eC9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdsRixvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXVCO0lBQ2xFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQXNCO0lBQzVELGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsV0FBVyxFQUFFLCtCQUErQjtJQUM1Qyx3QkFBd0IsRUFBRSx5QkFBeUIsQ0FBQyxPQUFPO0NBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVybmFsL2ludGVybmFsLm1vZGVsXCI7XHJcbmltcG9ydCB7IFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3kgfSBmcm9tIFwiLi92aWV3cG9ydC1kYXRhL3ZpZXdwb3J0LWRhdGEtbWF0Y2hlclwiO1xyXG5pbXBvcnQgeyBVeFZpZXdwb3J0T3B0aW9ucyB9IGZyb20gXCIuL3ZpZXdwb3J0Lm1vZGVsXCI7XHJcblxyXG4vKiogRGVmYXVsdCB2aWV3cG9ydCBicmVha3BvaW50cy4gKi9cclxuZXhwb3J0IGNvbnN0IFVYX1ZJRVdQT1JUX0RFRkFVTFRfQlJFQUtQT0lOVFM6IERpY3Rpb25hcnk8bnVtYmVyPiA9IHtcclxuXHR4c21hbGw6IDQ1MCxcclxuXHRzbWFsbDogNzY3LFxyXG5cdG1lZGl1bTogOTkyLFxyXG5cdGxhcmdlOiAxMjgwLFxyXG5cdGZoZDogMTkyMCxcclxuXHRxaGQ6IDI1NjAsXHJcblx0dWhkNGs6IDM4NDAsXHJcblx0dWhkOGs6IDc2ODAsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgVVhfVklFV1BPUlRfREVGQVVMVF9DT05GSUc6IFV4Vmlld3BvcnRPcHRpb25zID0ge1xyXG5cdHJlc2l6ZVBvbGxpbmdTcGVlZDogMzMsXHJcblx0YnJlYWtwb2ludHM6IFVYX1ZJRVdQT1JUX0RFRkFVTFRfQlJFQUtQT0lOVFMsXHJcblx0ZGVmYXVsdERhdGFNYXRjaFN0cmF0ZWd5OiBWaWV3cG9ydERhdGFNYXRjaFN0cmF0ZWd5LnNtYWxsZXIsXHJcbn07XHJcbiJdfQ==
@@ -1,31 +1,31 @@
1
- /**
2
- * The indices of each breakpoint provided based on the `UX_VIEWPORT_DEFAULT_BREAKPOINTS`.
3
- * @see UX_VIEWPORT_DEFAULT_BREAKPOINTS
4
- */
5
- export var ViewportSizeType;
6
- (function (ViewportSizeType) {
7
- ViewportSizeType[ViewportSizeType["xsmall"] = 0] = "xsmall";
8
- ViewportSizeType[ViewportSizeType["small"] = 1] = "small";
9
- ViewportSizeType[ViewportSizeType["medium"] = 2] = "medium";
10
- ViewportSizeType[ViewportSizeType["large"] = 3] = "large";
11
- ViewportSizeType[ViewportSizeType["fhd"] = 4] = "fhd";
12
- ViewportSizeType[ViewportSizeType["qhd"] = 6] = "qhd";
13
- ViewportSizeType[ViewportSizeType["uhd4k"] = 7] = "uhd4k";
14
- ViewportSizeType[ViewportSizeType["uhd8k"] = 8] = "uhd8k";
15
- })(ViewportSizeType || (ViewportSizeType = {}));
16
- export var ComparisonOperation;
17
- (function (ComparisonOperation) {
18
- ComparisonOperation["equals"] = "=";
19
- ComparisonOperation["notEquals"] = "<>";
20
- ComparisonOperation["lessThan"] = "<";
21
- ComparisonOperation["lessOrEqualThan"] = "<=";
22
- ComparisonOperation["greaterThan"] = ">";
23
- ComparisonOperation["greaterOrEqualThan"] = ">=";
24
- })(ComparisonOperation || (ComparisonOperation = {}));
25
- export var DeviceType;
26
- (function (DeviceType) {
27
- DeviceType["desktop"] = "desktop";
28
- DeviceType["mobile"] = "mobile";
29
- DeviceType["tablet"] = "tablet";
30
- })(DeviceType || (DeviceType = {}));
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvY2lyY2xlY2kvcmVwby9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxnQkFTWDtBQVRELFdBQVksZ0JBQWdCO0lBQzNCLDJEQUFVLENBQUE7SUFDVix5REFBUyxDQUFBO0lBQ1QsMkRBQVUsQ0FBQTtJQUNWLHlEQUFTLENBQUE7SUFDVCxxREFBTyxDQUFBO0lBQ1AscURBQU8sQ0FBQTtJQUNQLHlEQUFTLENBQUE7SUFDVCx5REFBUyxDQUFBO0FBQ1YsQ0FBQyxFQVRXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFTM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFPWDtBQVBELFdBQVksbUJBQW1CO0lBQzlCLG1DQUFZLENBQUE7SUFDWix1Q0FBZ0IsQ0FBQTtJQUNoQixxQ0FBYyxDQUFBO0lBQ2QsNkNBQXNCLENBQUE7SUFDdEIsd0NBQWlCLENBQUE7SUFDakIsZ0RBQXlCLENBQUE7QUFDMUIsQ0FBQyxFQVBXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFPOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3JCLGlDQUFtQixDQUFBO0lBQ25CLCtCQUFpQixDQUFBO0lBQ2pCLCtCQUFpQixDQUFBO0FBQ2xCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tIFwiLi4vaW50ZXJuYWwvaW50ZXJuYWwubW9kZWxcIjtcbmltcG9ydCB7IFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3kgfSBmcm9tIFwiLi92aWV3cG9ydC1kYXRhXCI7XG5cbi8qKlxuICogVGhlIGluZGljZXMgb2YgZWFjaCBicmVha3BvaW50IHByb3ZpZGVkIGJhc2VkIG9uIHRoZSBgVVhfVklFV1BPUlRfREVGQVVMVF9CUkVBS1BPSU5UU2AuXG4gKiBAc2VlIFVYX1ZJRVdQT1JUX0RFRkFVTFRfQlJFQUtQT0lOVFNcbiAqL1xuZXhwb3J0IGVudW0gVmlld3BvcnRTaXplVHlwZSB7XG5cdHhzbWFsbCA9IDAsXG5cdHNtYWxsID0gMSxcblx0bWVkaXVtID0gMixcblx0bGFyZ2UgPSAzLFxuXHRmaGQgPSA0LFxuXHRxaGQgPSA2LFxuXHR1aGQ0ayA9IDcsXG5cdHVoZDhrID0gOCxcbn1cblxuZXhwb3J0IGVudW0gQ29tcGFyaXNvbk9wZXJhdGlvbiB7XG5cdGVxdWFscyA9IFwiPVwiLFxuXHRub3RFcXVhbHMgPSBcIjw+XCIsXG5cdGxlc3NUaGFuID0gXCI8XCIsXG5cdGxlc3NPckVxdWFsVGhhbiA9IFwiPD1cIixcblx0Z3JlYXRlclRoYW4gPSBcIj5cIixcblx0Z3JlYXRlck9yRXF1YWxUaGFuID0gXCI+PVwiLFxufVxuXG5leHBvcnQgZW51bSBEZXZpY2VUeXBlIHtcblx0ZGVza3RvcCA9IFwiZGVza3RvcFwiLFxuXHRtb2JpbGUgPSBcIm1vYmlsZVwiLFxuXHR0YWJsZXQgPSBcInRhYmxldFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXhWaWV3cG9ydE9wdGlvbnMge1xuXHQvKiogUG9sbGluZyBzcGVlZCBvbiByZXNpemluZyAoaW4gbWlsbGlzZWNvbmRzKS4gZS5nLiB0aGUgaGlnaGVyIHRoZSBudW1iZXIgdGhlIGxvbmdlciBpdCB0YWtlcyB0byByZWNhbGN1bGF0ZS4gKi9cblx0cmVzaXplUG9sbGluZ1NwZWVkOiBudW1iZXI7XG5cblx0LyoqIEJyZWFrcG9pbnRzIHRvIHVzZS4gS2V5IG5lZWRzIHRvIG1hdGNoIHRoZSBzaXplIHR5cGUgYW5kIHRoZSB2YWx1ZSB0aGUgd2lkdGggdGhyZXNob2xkLlxuXHQgKiBlLmcuIGdpdmVuIHdpZHRoICcxMDAwJyBhbmQgYG1lZGl1bWAgaXMgc2V0IHRvICc5OTInID0+IGBsYXJnZWAuXG5cdCAqL1xuXHRicmVha3BvaW50czogRGljdGlvbmFyeTxudW1iZXI+O1xuXG5cdC8qKiBEZWZhdWx0IGRhdGEgbWF0Y2ggc3RyYXRlZ3kgdG8gdXNlLiAqL1xuXHRkZWZhdWx0RGF0YU1hdGNoU3RyYXRlZ3k6IFZpZXdwb3J0RGF0YU1hdGNoU3RyYXRlZ3k7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRTaXplIHtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRTaXplVHlwZUluZm8ge1xuXHR0eXBlOiBudW1iZXI7XG5cdG5hbWU6IHN0cmluZztcblx0d2lkdGhUaHJlc2hvbGQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydE1hdGNoQ29uZGl0aW9ucyB7XG5cdHNpemVUeXBlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuXHRzaXplVHlwZUV4Y2x1ZGU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG5cdGV4cHJlc3Npb24/OiBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbiB7XG5cdHNpemU6IHN0cmluZztcblx0b3BlcmF0aW9uOiBDb21wYXJpc29uT3BlcmF0aW9uO1xufVxuIl19
1
+ /**
2
+ * The indices of each breakpoint provided based on the `UX_VIEWPORT_DEFAULT_BREAKPOINTS`.
3
+ * @see UX_VIEWPORT_DEFAULT_BREAKPOINTS
4
+ */
5
+ export var ViewportSizeType;
6
+ (function (ViewportSizeType) {
7
+ ViewportSizeType[ViewportSizeType["xsmall"] = 0] = "xsmall";
8
+ ViewportSizeType[ViewportSizeType["small"] = 1] = "small";
9
+ ViewportSizeType[ViewportSizeType["medium"] = 2] = "medium";
10
+ ViewportSizeType[ViewportSizeType["large"] = 3] = "large";
11
+ ViewportSizeType[ViewportSizeType["fhd"] = 4] = "fhd";
12
+ ViewportSizeType[ViewportSizeType["qhd"] = 6] = "qhd";
13
+ ViewportSizeType[ViewportSizeType["uhd4k"] = 7] = "uhd4k";
14
+ ViewportSizeType[ViewportSizeType["uhd8k"] = 8] = "uhd8k";
15
+ })(ViewportSizeType || (ViewportSizeType = {}));
16
+ export var ComparisonOperation;
17
+ (function (ComparisonOperation) {
18
+ ComparisonOperation["equals"] = "=";
19
+ ComparisonOperation["notEquals"] = "<>";
20
+ ComparisonOperation["lessThan"] = "<";
21
+ ComparisonOperation["lessOrEqualThan"] = "<=";
22
+ ComparisonOperation["greaterThan"] = ">";
23
+ ComparisonOperation["greaterOrEqualThan"] = ">=";
24
+ })(ComparisonOperation || (ComparisonOperation = {}));
25
+ export var DeviceType;
26
+ (function (DeviceType) {
27
+ DeviceType["desktop"] = "desktop";
28
+ DeviceType["mobile"] = "mobile";
29
+ DeviceType["tablet"] = "tablet";
30
+ })(DeviceType || (DeviceType = {}));
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovZGV2L2dpdC9Ac3N2Lm5neC51eC9zcmMvIiwic291cmNlcyI6WyJ2aWV3cG9ydC92aWV3cG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxnQkFTWDtBQVRELFdBQVksZ0JBQWdCO0lBQzNCLDJEQUFVLENBQUE7SUFDVix5REFBUyxDQUFBO0lBQ1QsMkRBQVUsQ0FBQTtJQUNWLHlEQUFTLENBQUE7SUFDVCxxREFBTyxDQUFBO0lBQ1AscURBQU8sQ0FBQTtJQUNQLHlEQUFTLENBQUE7SUFDVCx5REFBUyxDQUFBO0FBQ1YsQ0FBQyxFQVRXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFTM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFPWDtBQVBELFdBQVksbUJBQW1CO0lBQzlCLG1DQUFZLENBQUE7SUFDWix1Q0FBZ0IsQ0FBQTtJQUNoQixxQ0FBYyxDQUFBO0lBQ2QsNkNBQXNCLENBQUE7SUFDdEIsd0NBQWlCLENBQUE7SUFDakIsZ0RBQXlCLENBQUE7QUFDMUIsQ0FBQyxFQVBXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFPOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3JCLGlDQUFtQixDQUFBO0lBQ25CLCtCQUFpQixDQUFBO0lBQ2pCLCtCQUFpQixDQUFBO0FBQ2xCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tIFwiLi4vaW50ZXJuYWwvaW50ZXJuYWwubW9kZWxcIjtcclxuaW1wb3J0IHsgVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneSB9IGZyb20gXCIuL3ZpZXdwb3J0LWRhdGFcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGUgaW5kaWNlcyBvZiBlYWNoIGJyZWFrcG9pbnQgcHJvdmlkZWQgYmFzZWQgb24gdGhlIGBVWF9WSUVXUE9SVF9ERUZBVUxUX0JSRUFLUE9JTlRTYC5cclxuICogQHNlZSBVWF9WSUVXUE9SVF9ERUZBVUxUX0JSRUFLUE9JTlRTXHJcbiAqL1xyXG5leHBvcnQgZW51bSBWaWV3cG9ydFNpemVUeXBlIHtcclxuXHR4c21hbGwgPSAwLFxyXG5cdHNtYWxsID0gMSxcclxuXHRtZWRpdW0gPSAyLFxyXG5cdGxhcmdlID0gMyxcclxuXHRmaGQgPSA0LFxyXG5cdHFoZCA9IDYsXHJcblx0dWhkNGsgPSA3LFxyXG5cdHVoZDhrID0gOCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ29tcGFyaXNvbk9wZXJhdGlvbiB7XHJcblx0ZXF1YWxzID0gXCI9XCIsXHJcblx0bm90RXF1YWxzID0gXCI8PlwiLFxyXG5cdGxlc3NUaGFuID0gXCI8XCIsXHJcblx0bGVzc09yRXF1YWxUaGFuID0gXCI8PVwiLFxyXG5cdGdyZWF0ZXJUaGFuID0gXCI+XCIsXHJcblx0Z3JlYXRlck9yRXF1YWxUaGFuID0gXCI+PVwiLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEZXZpY2VUeXBlIHtcclxuXHRkZXNrdG9wID0gXCJkZXNrdG9wXCIsXHJcblx0bW9iaWxlID0gXCJtb2JpbGVcIixcclxuXHR0YWJsZXQgPSBcInRhYmxldFwiXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXhWaWV3cG9ydE9wdGlvbnMge1xyXG5cdC8qKiBQb2xsaW5nIHNwZWVkIG9uIHJlc2l6aW5nIChpbiBtaWxsaXNlY29uZHMpLiBlLmcuIHRoZSBoaWdoZXIgdGhlIG51bWJlciB0aGUgbG9uZ2VyIGl0IHRha2VzIHRvIHJlY2FsY3VsYXRlLiAqL1xyXG5cdHJlc2l6ZVBvbGxpbmdTcGVlZDogbnVtYmVyO1xyXG5cclxuXHQvKiogQnJlYWtwb2ludHMgdG8gdXNlLiBLZXkgbmVlZHMgdG8gbWF0Y2ggdGhlIHNpemUgdHlwZSBhbmQgdGhlIHZhbHVlIHRoZSB3aWR0aCB0aHJlc2hvbGQuXHJcblx0ICogZS5nLiBnaXZlbiB3aWR0aCAnMTAwMCcgYW5kIGBtZWRpdW1gIGlzIHNldCB0byAnOTkyJyA9PiBgbGFyZ2VgLlxyXG5cdCAqL1xyXG5cdGJyZWFrcG9pbnRzOiBEaWN0aW9uYXJ5PG51bWJlcj47XHJcblxyXG5cdC8qKiBEZWZhdWx0IGRhdGEgbWF0Y2ggc3RyYXRlZ3kgdG8gdXNlLiAqL1xyXG5cdGRlZmF1bHREYXRhTWF0Y2hTdHJhdGVneTogVmlld3BvcnREYXRhTWF0Y2hTdHJhdGVneTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydFNpemUge1xyXG5cdHdpZHRoOiBudW1iZXI7XHJcblx0aGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRTaXplVHlwZUluZm8ge1xyXG5cdHR5cGU6IG51bWJlcjtcclxuXHRuYW1lOiBzdHJpbmc7XHJcblx0d2lkdGhUaHJlc2hvbGQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydE1hdGNoQ29uZGl0aW9ucyB7XHJcblx0c2l6ZVR5cGU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XHJcblx0c2l6ZVR5cGVFeGNsdWRlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xyXG5cdGV4cHJlc3Npb24/OiBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbiB7XHJcblx0c2l6ZTogc3RyaW5nO1xyXG5cdG9wZXJhdGlvbjogQ29tcGFyaXNvbk9wZXJhdGlvbjtcclxufVxyXG4iXX0=