@skyux/core 11.15.1 → 11.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/documentation.json +2408 -1407
  2. package/esm2022/index.mjs +6 -1
  3. package/esm2022/lib/modules/adapter-service/adapter.service.mjs +12 -27
  4. package/esm2022/lib/modules/breakpoint-observer/breakpoint-observer.mjs +2 -0
  5. package/esm2022/lib/modules/breakpoint-observer/breakpoint-observer.token.mjs +7 -0
  6. package/esm2022/lib/modules/breakpoint-observer/breakpoint-utils.mjs +38 -0
  7. package/esm2022/lib/modules/breakpoint-observer/breakpoint.mjs +5 -0
  8. package/esm2022/lib/modules/breakpoint-observer/container-breakpoint-observer.mjs +64 -0
  9. package/esm2022/lib/modules/breakpoint-observer/media-breakpoint-observer.mjs +58 -0
  10. package/esm2022/lib/modules/breakpoint-observer/provide-breakpoint-observer.mjs +24 -0
  11. package/esm2022/lib/modules/breakpoint-observer/responsive-host.directive.mjs +55 -0
  12. package/esm2022/lib/modules/media-query/media-breakpoints.mjs +5 -1
  13. package/esm2022/lib/modules/media-query/media-query-listener.mjs +1 -1
  14. package/esm2022/lib/modules/media-query/media-query.service.mjs +34 -77
  15. package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +18 -3
  16. package/esm2022/testing/media-query/breakpoint-observer-testing.mjs +26 -0
  17. package/esm2022/testing/media-query/media-query-testing-controller.mjs +22 -0
  18. package/esm2022/testing/media-query/provide-media-query-testing.mjs +26 -0
  19. package/esm2022/testing/mock-media-query.service.mjs +3 -1
  20. package/esm2022/testing/public-api.mjs +6 -3
  21. package/esm2022/testing/resize-observer-mock.mjs +11 -1
  22. package/esm2022/testing/shared/input-harness.mjs +63 -0
  23. package/esm2022/version.mjs +1 -1
  24. package/fesm2022/skyux-core-testing.mjs +213 -74
  25. package/fesm2022/skyux-core-testing.mjs.map +1 -1
  26. package/fesm2022/skyux-core.mjs +422 -236
  27. package/fesm2022/skyux-core.mjs.map +1 -1
  28. package/index.d.ts +8 -1
  29. package/lib/modules/adapter-service/adapter.service.d.ts +5 -3
  30. package/lib/modules/breakpoint-observer/breakpoint-observer.d.ts +9 -0
  31. package/lib/modules/breakpoint-observer/breakpoint-observer.token.d.ts +7 -0
  32. package/lib/modules/breakpoint-observer/breakpoint-utils.d.ts +17 -0
  33. package/lib/modules/breakpoint-observer/breakpoint.d.ts +8 -0
  34. package/lib/modules/breakpoint-observer/container-breakpoint-observer.d.ts +18 -0
  35. package/lib/modules/breakpoint-observer/media-breakpoint-observer.d.ts +18 -0
  36. package/lib/modules/breakpoint-observer/provide-breakpoint-observer.d.ts +7 -0
  37. package/lib/modules/breakpoint-observer/responsive-host.directive.d.ts +32 -0
  38. package/lib/modules/media-query/media-breakpoints.d.ts +4 -0
  39. package/lib/modules/media-query/media-query-listener.d.ts +1 -0
  40. package/lib/modules/media-query/media-query.service.d.ts +16 -6
  41. package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +10 -2
  42. package/package.json +2 -2
  43. package/testing/media-query/breakpoint-observer-testing.d.ts +15 -0
  44. package/testing/media-query/media-query-testing-controller.d.ts +15 -0
  45. package/testing/media-query/provide-media-query-testing.d.ts +5 -0
  46. package/testing/mock-media-query.service.d.ts +1 -0
  47. package/testing/public-api.d.ts +5 -2
  48. package/testing/resize-observer-mock.d.ts +9 -0
  49. package/testing/shared/input-harness.d.ts +36 -0
@@ -1,10 +1,22 @@
1
- var _a;
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { map } from 'rxjs';
4
+ import { toSkyMediaBreakpoints } from '../breakpoint-observer/breakpoint-utils';
5
+ import { SkyMediaBreakpointObserver } from '../breakpoint-observer/media-breakpoint-observer';
4
6
  import { SkyMediaBreakpoints } from './media-breakpoints';
5
7
  import * as i0 from "@angular/core";
6
8
  const DEFAULT_BREAKPOINT = SkyMediaBreakpoints.md;
9
+ /**
10
+ * Utility used to subscribe to viewport and container breakpoint changes.
11
+ */
7
12
  export class SkyMediaQueryService {
13
+ #breakpointObserver = inject(SkyMediaBreakpointObserver);
14
+ /**
15
+ * Emits when the breakpoint changes.
16
+ */
17
+ get breakpointChange() {
18
+ return this.#breakpointObserver.breakpointChange;
19
+ }
8
20
  /**
9
21
  * The size for the `xs` breakpoint.
10
22
  * @default "(max-width: 767px)"
@@ -27,99 +39,44 @@ export class SkyMediaQueryService {
27
39
  static { this.lg = '(min-width: 1200px)'; }
28
40
  /**
29
41
  * Returns the current breakpoint.
42
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
30
43
  */
31
44
  get current() {
32
- return this.#currentBreakpoint;
33
- }
34
- #currentSubject = new BehaviorSubject(DEFAULT_BREAKPOINT);
35
- #currentBreakpoint = DEFAULT_BREAKPOINT;
36
- #breakpoints = [
37
- {
38
- mediaQueryString: _a.xs,
39
- name: SkyMediaBreakpoints.xs,
40
- },
41
- {
42
- mediaQueryString: _a.sm,
43
- name: SkyMediaBreakpoints.sm,
44
- },
45
- {
46
- mediaQueryString: _a.md,
47
- name: SkyMediaBreakpoints.md,
48
- },
49
- {
50
- mediaQueryString: _a.lg,
51
- name: SkyMediaBreakpoints.lg,
52
- },
53
- ];
54
- #mediaQueries = [];
55
- #zone;
56
- constructor(zone) {
57
- this.#zone = zone;
58
- this.#addListeners();
45
+ return this.#currentBreakpoint();
59
46
  }
47
+ #currentBreakpoint = toSignal(this.#breakpointObserver.breakpointChange.pipe(map((breakpoint) => toSkyMediaBreakpoints(breakpoint))), {
48
+ initialValue: DEFAULT_BREAKPOINT,
49
+ });
50
+ // Keep NgZone as a constructor param so that consumer mocks don't encounter typing errors.
51
+ constructor(_zone) { }
60
52
  ngOnDestroy() {
61
- this.#removeListeners();
62
- this.#currentSubject.complete();
53
+ this.destroy();
54
+ }
55
+ /**
56
+ * @internal
57
+ */
58
+ destroy() {
59
+ this.#breakpointObserver.destroy();
63
60
  }
64
61
  /**
65
62
  * Subscribes to screen size changes.
66
63
  * @param listener Specifies a function that is called when breakpoints change.
64
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
67
65
  */
68
66
  subscribe(listener) {
69
- return this.#currentSubject.subscribe({
70
- next: (breakpoints) => {
71
- listener(breakpoints);
67
+ return this.#breakpointObserver.breakpointChange.subscribe({
68
+ next: (breakpoint) => {
69
+ listener(toSkyMediaBreakpoints(breakpoint));
72
70
  },
73
71
  });
74
72
  }
75
- /**
76
- * @internal
77
- */
78
- destroy() {
79
- this.#removeListeners();
80
- this.#currentSubject.complete();
81
- }
82
- #addListeners() {
83
- this.#mediaQueries = this.#breakpoints.map((breakpoint) => {
84
- const mq = matchMedia(breakpoint.mediaQueryString);
85
- const listener = (event) => {
86
- // Run the check outside of Angular's change detection since Angular
87
- // does not wrap matchMedia listeners in NgZone.
88
- // See: https://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
89
- this.#zone.run(() => {
90
- if (event.matches) {
91
- this.#notifyBreakpointChange(breakpoint.name);
92
- }
93
- });
94
- };
95
- mq.addListener(listener);
96
- if (mq.matches) {
97
- this.#notifyBreakpointChange(breakpoint.name);
98
- }
99
- return {
100
- mediaQueryList: mq,
101
- listener,
102
- };
103
- });
104
- }
105
- #removeListeners() {
106
- this.#mediaQueries.forEach((mediaQuery) => {
107
- mediaQuery.mediaQueryList.removeListener(mediaQuery.listener);
108
- });
109
- this.#mediaQueries = [];
110
- }
111
- #notifyBreakpointChange(breakpoint) {
112
- this.#currentBreakpoint = breakpoint;
113
- this.#currentSubject.next(breakpoint);
114
- }
115
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
74
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryService, providedIn: 'root' }); }
117
75
  }
118
- _a = SkyMediaQueryService;
119
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryService, decorators: [{
120
77
  type: Injectable,
121
78
  args: [{
122
79
  providedIn: 'root',
123
80
  }]
124
81
  }], ctorParameters: () => [{ type: i0.NgZone }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHMUQsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7QUFLbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjs7O09BR0c7YUFDVyxPQUFFLEdBQUcsb0JBQW9CLEFBQXZCLENBQXdCO0lBRXhDOzs7T0FHRzthQUNXLE9BQUUsR0FBRywyQ0FBMkMsQUFBOUMsQ0FBK0M7SUFFL0Q7OztPQUdHO2FBQ1csT0FBRSxHQUFHLDRDQUE0QyxBQUEvQyxDQUFnRDtJQUVoRTs7O09BR0c7YUFDVyxPQUFFLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRXpDOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQ25DLGtCQUFrQixDQUNuQixDQUFDO0lBRUYsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFFeEMsWUFBWSxHQUdOO1FBQ0o7WUFDRSxnQkFBZ0IsRUFBRSxFQUFvQixDQUFDLEVBQUU7WUFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLGdCQUFnQixFQUFFLEVBQW9CLENBQUMsRUFBRTtZQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsZ0JBQWdCLEVBQUUsRUFBb0IsQ0FBQyxFQUFFO1lBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxnQkFBZ0IsRUFBRSxFQUFvQixDQUFDLEVBQUU7WUFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7U0FDN0I7S0FDRixDQUFDO0lBRUYsYUFBYSxHQUdQLEVBQUUsQ0FBQztJQUVULEtBQUssQ0FBUztJQUVkLFlBQVksSUFBWTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLFFBQStCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxFQUFFLENBQUMsV0FBZ0MsRUFBRSxFQUFFO2dCQUN6QyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hELE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVuRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtnQkFDOUMsb0VBQW9FO2dCQUNwRSxnREFBZ0Q7Z0JBQ2hELDhFQUE4RTtnQkFDOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNsQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDbEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEQsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztZQUVGLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFekIsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsT0FBTztnQkFDTCxjQUFjLEVBQUUsRUFBRTtnQkFDbEIsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxVQUErQjtRQUNyRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBdklVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbmNvbnN0IERFRkFVTFRfQlJFQUtQT0lOVCA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWF4LXdpZHRoOiA3NjdweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNtID0gJyhtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50O1xuICB9XG5cbiAgI2N1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICBERUZBVUxUX0JSRUFLUE9JTlQsXG4gICk7XG5cbiAgI2N1cnJlbnRCcmVha3BvaW50ID0gREVGQVVMVF9CUkVBS1BPSU5UO1xuXG4gICNicmVha3BvaW50czoge1xuICAgIG1lZGlhUXVlcnlTdHJpbmc6IHN0cmluZztcbiAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuICB9W10gPSBbXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2UueHMsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzLFxuICAgIH0sXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2Uuc20sXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtLFxuICAgIH0sXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2UubWQsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kLFxuICAgIH0sXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2UubGcsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLmxnLFxuICAgIH0sXG4gIF07XG5cbiAgI21lZGlhUXVlcmllczoge1xuICAgIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gIH1bXSA9IFtdO1xuXG4gICN6b25lOiBOZ1pvbmU7XG5cbiAgY29uc3RydWN0b3Ioem9uZTogTmdab25lKSB7XG4gICAgdGhpcy4jem9uZSA9IHpvbmU7XG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy4jY3VycmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHNjcmVlbiBzaXplIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBsaXN0ZW5lciBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIGJyZWFrcG9pbnRzIGNoYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRTdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgbGlzdGVuZXIoYnJlYWtwb2ludHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIHRoaXMuI2N1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICAjYWRkTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI21lZGlhUXVlcmllcyA9IHRoaXMuI2JyZWFrcG9pbnRzLm1hcCgoYnJlYWtwb2ludCkgPT4ge1xuICAgICAgY29uc3QgbXEgPSBtYXRjaE1lZGlhKGJyZWFrcG9pbnQubWVkaWFRdWVyeVN0cmluZyk7XG5cbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gKGV2ZW50OiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KSA9PiB7XG4gICAgICAgIC8vIFJ1biB0aGUgY2hlY2sgb3V0c2lkZSBvZiBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBzaW5jZSBBbmd1bGFyXG4gICAgICAgIC8vIGRvZXMgbm90IHdyYXAgbWF0Y2hNZWRpYSBsaXN0ZW5lcnMgaW4gTmdab25lLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYmxvZy5hc3NhZi5jby9hbmd1bGFyLTItY2hhbmdlLWRldGVjdGlvbi16b25lcy1hbmQtYW4tZXhhbXBsZS9cbiAgICAgICAgdGhpcy4jem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5tYXRjaGVzKSB7XG4gICAgICAgICAgICB0aGlzLiNub3RpZnlCcmVha3BvaW50Q2hhbmdlKGJyZWFrcG9pbnQubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIG1xLmFkZExpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgaWYgKG1xLm1hdGNoZXMpIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50Lm5hbWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZWRpYVF1ZXJ5TGlzdDogbXEsXG4gICAgICAgIGxpc3RlbmVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gICNyZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbWVkaWFRdWVyaWVzLmZvckVhY2goKG1lZGlhUXVlcnkpID0+IHtcbiAgICAgIG1lZGlhUXVlcnkubWVkaWFRdWVyeUxpc3QucmVtb3ZlTGlzdGVuZXIobWVkaWFRdWVyeS5saXN0ZW5lcik7XG4gICAgfSk7XG4gICAgdGhpcy4jbWVkaWFRdWVyaWVzID0gW107XG4gIH1cblxuICAjbm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnQgPSBicmVha3BvaW50O1xuICAgIHRoaXMuI2N1cnJlbnRTdWJqZWN0Lm5leHQoYnJlYWtwb2ludCk7XG4gIH1cbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUE0QixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRzFELE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0FBRWxEOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUVsRTs7T0FFRztJQUNILElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7YUFDVyxPQUFFLEdBQUcsb0JBQW9CLEFBQXZCLENBQXdCO0lBRXhDOzs7T0FHRzthQUNXLE9BQUUsR0FBRywyQ0FBMkMsQUFBOUMsQ0FBK0M7SUFFL0Q7OztPQUdHO2FBQ1csT0FBRSxHQUFHLDRDQUE0QyxBQUEvQyxDQUFnRDtJQUVoRTs7O09BR0c7YUFDVyxPQUFFLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRXpDOzs7T0FHRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQkFBa0IsR0FBRyxRQUFRLENBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDdkQsRUFDRDtRQUNFLFlBQVksRUFBRSxrQkFBa0I7S0FDakMsQ0FDRixDQUFDO0lBRUYsMkZBQTJGO0lBQzNGLFlBQVksS0FBYyxJQUFHLENBQUM7SUFFdkIsV0FBVztRQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxRQUErQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDekQsSUFBSSxFQUFFLENBQUMsVUFBeUIsRUFBRSxFQUFFO2dCQUNsQyxRQUFRLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1RVUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lCcmVha3BvaW50IH0gZnJvbSAnLi4vYnJlYWtwb2ludC1vYnNlcnZlci9icmVha3BvaW50JztcbmltcG9ydCB7IHRvU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4uL2JyZWFrcG9pbnQtb2JzZXJ2ZXIvYnJlYWtwb2ludC11dGlscyc7XG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJy4uL2JyZWFrcG9pbnQtb2JzZXJ2ZXIvbWVkaWEtYnJlYWtwb2ludC1vYnNlcnZlcic7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuL21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlMaXN0ZW5lciB9IGZyb20gJy4vbWVkaWEtcXVlcnktbGlzdGVuZXInO1xuXG5jb25zdCBERUZBVUxUX0JSRUFLUE9JTlQgPSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kO1xuXG4vKipcbiAqIFV0aWxpdHkgdXNlZCB0byBzdWJzY3JpYmUgdG8gdmlld3BvcnQgYW5kIGNvbnRhaW5lciBicmVha3BvaW50IGNoYW5nZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5ICNicmVha3BvaW50T2JzZXJ2ZXIgPSBpbmplY3QoU2t5TWVkaWFCcmVha3BvaW50T2JzZXJ2ZXIpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBicmVha3BvaW50IGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJyZWFrcG9pbnRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lCcmVha3BvaW50PiB7XG4gICAgcmV0dXJuIHRoaXMuI2JyZWFrcG9pbnRPYnNlcnZlci5icmVha3BvaW50Q2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgKiBAZGVmYXVsdCBcIihtYXgtd2lkdGg6IDc2N3B4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHhzID0gJyhtYXgtd2lkdGg6IDc2N3B4KSc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgKiBAZGVmYXVsdCBcIihtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc20gPSAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtZCA9ICcobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiAxMjAwcHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGcgPSAnKG1pbi13aWR0aDogMTIwMHB4KSc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgYnJlYWtwb2ludC5cbiAgICogQGRlcHJlY2F0ZWQgU3Vic2NyaWJlIHRvIHRoZSBgYnJlYWtwb2ludENoYW5nZWAgb2JzZXJ2YWJsZSBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50QnJlYWtwb2ludCgpO1xuICB9XG5cbiAgI2N1cnJlbnRCcmVha3BvaW50ID0gdG9TaWduYWwoXG4gICAgdGhpcy4jYnJlYWtwb2ludE9ic2VydmVyLmJyZWFrcG9pbnRDaGFuZ2UucGlwZShcbiAgICAgIG1hcCgoYnJlYWtwb2ludCkgPT4gdG9Ta3lNZWRpYUJyZWFrcG9pbnRzKGJyZWFrcG9pbnQpKSxcbiAgICApLFxuICAgIHtcbiAgICAgIGluaXRpYWxWYWx1ZTogREVGQVVMVF9CUkVBS1BPSU5ULFxuICAgIH0sXG4gICk7XG5cbiAgLy8gS2VlcCBOZ1pvbmUgYXMgYSBjb25zdHJ1Y3RvciBwYXJhbSBzbyB0aGF0IGNvbnN1bWVyIG1vY2tzIGRvbid0IGVuY291bnRlciB0eXBpbmcgZXJyb3JzLlxuICBjb25zdHJ1Y3Rvcihfem9uZT86IE5nWm9uZSkge31cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNicmVha3BvaW50T2JzZXJ2ZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gc2NyZWVuIHNpemUgY2hhbmdlcy5cbiAgICogQHBhcmFtIGxpc3RlbmVyIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gYnJlYWtwb2ludHMgY2hhbmdlLlxuICAgKiBAZGVwcmVjYXRlZCBTdWJzY3JpYmUgdG8gdGhlIGBicmVha3BvaW50Q2hhbmdlYCBvYnNlcnZhYmxlIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLiNicmVha3BvaW50T2JzZXJ2ZXIuYnJlYWtwb2ludENoYW5nZS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGJyZWFrcG9pbnQ6IFNreUJyZWFrcG9pbnQpID0+IHtcbiAgICAgICAgbGlzdGVuZXIodG9Ta3lNZWRpYUJyZWFrcG9pbnRzKGJyZWFrcG9pbnQpKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +1,32 @@
1
1
  import { Injectable, inject } from '@angular/core';
2
2
  import { ReplaySubject, Subject } from 'rxjs';
3
3
  import { takeUntil } from 'rxjs/operators';
4
+ import { toSkyBreakpoint } from '../breakpoint-observer/breakpoint-utils';
4
5
  import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
6
+ import { SkyMediaQueryService } from '../media-query/media-query.service';
5
7
  import { SkyResizeObserverService } from './resize-observer.service';
6
8
  import * as i0 from "@angular/core";
7
9
  const DEFAULT_BREAKPOINT = SkyMediaBreakpoints.md;
8
10
  /**
9
11
  * Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
12
+ * @deprecated Use the `SkyResponsiveHostDirective` instead.
10
13
  */
11
- export class SkyResizeObserverMediaQueryService {
14
+ export class SkyResizeObserverMediaQueryService extends SkyMediaQueryService {
15
+ /**
16
+ * Emits when the breakpoint changes.
17
+ */
18
+ get breakpointChange() {
19
+ return this.#breakpointChangeObs;
20
+ }
12
21
  /**
13
22
  * Returns the current breakpoint.
23
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
14
24
  */
15
25
  get current() {
16
26
  return this.#currentBreakpoint;
17
27
  }
28
+ #breakpointChange = new ReplaySubject(1);
29
+ #breakpointChangeObs = this.#breakpointChange.asObservable();
18
30
  #breakpoints = [
19
31
  {
20
32
  check: (width) => width > 0 && width <= 767,
@@ -42,6 +54,7 @@ export class SkyResizeObserverMediaQueryService {
42
54
  this.unobserve();
43
55
  this.#target = undefined;
44
56
  this.#currentBreakpointObs.complete();
57
+ this.#breakpointChange.complete();
45
58
  }
46
59
  /**
47
60
  * @internal
@@ -97,6 +110,8 @@ export class SkyResizeObserverMediaQueryService {
97
110
  }
98
111
  if (this.current !== breakpoint) {
99
112
  this.#currentBreakpointObs.next(breakpoint);
113
+ const breakpointType = toSkyBreakpoint(breakpoint);
114
+ this.#breakpointChange.next(breakpointType);
100
115
  }
101
116
  this.#currentBreakpoint = breakpoint;
102
117
  }
@@ -129,10 +144,10 @@ export class SkyResizeObserverMediaQueryService {
129
144
  this.#updateBreakpoint(breakpoint, updateResponsiveClasses);
130
145
  }
131
146
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
133
148
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyResizeObserverMediaQueryService }); }
134
149
  }
135
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyResizeObserverMediaQueryService, decorators: [{
136
151
  type: Injectable
137
152
  }] });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXJFLE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0FBRWxEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtDQUFrQztJQUM3Qzs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxHQUdOO1FBQ0o7WUFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQVcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEdBQUc7WUFDNUQsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBVyxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRztZQUM5RCxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLENBQUMsS0FBYSxF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QU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFjLEVBQUUsdUJBQWlDO1FBQzNELE1BQU0sS0FBSyxHQUFJLEVBQUUsQ0FBQyxhQUE2QixDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7OEdBcEtVLGtDQUFrQztrSEFBbEMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUQ5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1icmVha3BvaW50cyc7XG5pbXBvcnQgeyBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbmltcG9ydCB7IFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSB9IGZyb20gJy4vcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX0JSRUFLUE9JTlQgPSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kO1xuXG4vKipcbiAqIEFjdHMgbGlrZSBgU2t5TWVkaWFRdWVyeVNlcnZpY2VgIGZvciBhIGNvbnRhaW5lciBlbGVtZW50LCBlbWl0dGluZyB0aGUgc2FtZSByZXNwb25zaXZlIGJyZWFrcG9pbnRzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50O1xuICB9XG5cbiAgI2JyZWFrcG9pbnRzOiB7XG4gICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKSA9PiBib29sZWFuO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpOiBib29sZWFuID0+IHdpZHRoID4gMCAmJiB3aWR0aCA8PSA3NjcsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKTogYm9vbGVhbiA9PiB3aWR0aCA+IDc2NyAmJiB3aWR0aCA8PSA5OTEsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKTogYm9vbGVhbiA9PiB3aWR0aCA+IDk5MSAmJiB3aWR0aCA8PSAxMTk5LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5tZCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcik6IGJvb2xlYW4gPT4gd2lkdGggPiAxMTk5LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5sZyxcbiAgICB9LFxuICBdO1xuXG4gICNjdXJyZW50QnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyA9IERFRkFVTFRfQlJFQUtQT0lOVDtcblxuICAjY3VycmVudEJyZWFrcG9pbnRPYnMgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPigxKTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3Jlc2l6ZU9ic2VydmVyU3ZjID0gaW5qZWN0KFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSk7XG5cbiAgI3RhcmdldDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bm9ic2VydmUoKTtcblxuICAgIHRoaXMuI3RhcmdldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9icy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbnRhaW5lciBlbGVtZW50IHRvIHdhdGNoLiBUaGUgYFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2VgIHdpbGwgb25seSBvYnNlcnZlIG9uZSBlbGVtZW50IGF0IGFcbiAgICogdGltZS4gQW55IHByZXZpb3VzIHN1YnNjcmlwdGlvbnMgd2lsbCBiZSB1bnN1YnNjcmliZWQgd2hlbiBhIG5ldyBlbGVtZW50IGlzIG9ic2VydmVkLlxuICAgKi9cbiAgcHVibGljIG9ic2VydmUoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBvcHRpb25zPzoge1xuICAgICAgdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXM/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2Uge1xuICAgIGlmICh0aGlzLiN0YXJnZXQpIHtcbiAgICAgIGlmICh0aGlzLiN0YXJnZXQgPT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudW5vYnNlcnZlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jdGFyZ2V0ID0gZWxlbWVudDtcblxuICAgIHRoaXMuI2NoZWNrV2lkdGgoZWxlbWVudCwgb3B0aW9ucz8udXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXMpO1xuXG4gICAgdGhpcy4jcmVzaXplT2JzZXJ2ZXJTdmNcbiAgICAgIC5vYnNlcnZlKGVsZW1lbnQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jY2hlY2tCcmVha3BvaW50KHZhbHVlLmNvbnRlbnRSZWN0LndpZHRoKTtcbiAgICAgICAgaWYgKGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQsIG9wdGlvbnM/LnVwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQgYW5kIHJlbW92ZSBhbnkgYWRkZWQgY2xhc3Nlcy5cbiAgICovXG4gIHB1YmxpYyB1bm9ic2VydmUoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlUmVzcG9uc2l2ZUNsYXNzZXMoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBlbGVtZW50IHNpemUgY2hhbmdlcyB0aGF0IGNyb3NzIGJyZWFrcG9pbnRzLlxuICAgKi9cbiAgcHVibGljIHN1YnNjcmliZShsaXN0ZW5lcjogU2t5TWVkaWFRdWVyeUxpc3RlbmVyKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudEJyZWFrcG9pbnRPYnNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGxpc3RlbmVyKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZUJyZWFrcG9pbnQoXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgICB1cGRhdGVSZXNwb25zaXZlQ2xhc3Nlcz86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICh1cGRhdGVSZXNwb25zaXZlQ2xhc3Nlcykge1xuICAgICAgdGhpcy4jdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXModGhpcy5jdXJyZW50LCBicmVha3BvaW50KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW50ICE9PSBicmVha3BvaW50KSB7XG4gICAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9icy5uZXh0KGJyZWFrcG9pbnQpO1xuICAgIH1cbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludCA9IGJyZWFrcG9pbnQ7XG4gIH1cblxuICAjdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXMoXG4gICAgb2xkQnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgICBuZXdCcmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBvbGRDbGFzcyA9IHRoaXMuI2dldENsYXNzRm9yQnJlYWtwb2ludChvbGRCcmVha3BvaW50KTtcbiAgICBjb25zdCBuZXdDbGFzcyA9IHRoaXMuI2dldENsYXNzRm9yQnJlYWtwb2ludChuZXdCcmVha3BvaW50KTtcblxuICAgIGNvbnN0IHRhcmdldENsYXNzTGlzdCA9IHRoaXMuI3RhcmdldD8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0O1xuXG4gICAgdGFyZ2V0Q2xhc3NMaXN0Py5yZW1vdmUob2xkQ2xhc3MpO1xuICAgIHRhcmdldENsYXNzTGlzdD8uYWRkKG5ld0NsYXNzKTtcbiAgfVxuXG4gICNyZW1vdmVSZXNwb25zaXZlQ2xhc3NlcygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGJyZWFrcG9pbnQgb2YgT2JqZWN0LnZhbHVlcyhTa3lNZWRpYUJyZWFrcG9pbnRzKSkge1xuICAgICAgaWYgKHR5cGVvZiBicmVha3BvaW50ID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLiNnZXRDbGFzc0ZvckJyZWFrcG9pbnQoYnJlYWtwb2ludCk7XG5cbiAgICAgICAgdGhpcy4jdGFyZ2V0Py5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3Q/LnJlbW92ZShjbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRDbGFzc0ZvckJyZWFrcG9pbnQoYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBza3ktcmVzcG9uc2l2ZS1jb250YWluZXItJHtTa3lNZWRpYUJyZWFrcG9pbnRzW2JyZWFrcG9pbnRdfWA7XG4gIH1cblxuICAjY2hlY2tCcmVha3BvaW50KHdpZHRoOiBudW1iZXIpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jYnJlYWtwb2ludHMuZmluZCgoYnJlYWtwb2ludCkgPT5cbiAgICAgIGJyZWFrcG9pbnQuY2hlY2sod2lkdGgpLFxuICAgICk7XG5cbiAgICByZXR1cm4gYnJlYWtwb2ludCA/IGJyZWFrcG9pbnQubmFtZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gICNjaGVja1dpZHRoKGVsOiBFbGVtZW50UmVmLCB1cGRhdGVSZXNwb25zaXZlQ2xhc3Nlcz86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWR0aCA9IChlbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aCB8fCAwO1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLiNjaGVja0JyZWFrcG9pbnQod2lkdGgpO1xuXG4gICAgaWYgKGJyZWFrcG9pbnQpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXMpO1xuICAgIH1cbiAgfVxufVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVyRSxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztBQUVsRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sa0NBQ1gsU0FBUSxvQkFBb0I7SUFHNUI7O09BRUc7SUFDSCxJQUFvQixnQkFBZ0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQW9CLE9BQU87UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELGlCQUFpQixHQUFHLElBQUksYUFBYSxDQUFnQixDQUFDLENBQUMsQ0FBQztJQUN4RCxvQkFBb0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFN0Qs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QUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUUxRCxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQStCO1FBQ3BELE9BQU8sNEJBQTRCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUN2RCxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUN4QixDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWMsRUFBRSx1QkFBaUM7UUFDM0QsTUFBTSxLQUFLLEdBQUksRUFBRSxDQUFDLGFBQTZCLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzs4R0FyTFUsa0NBQWtDO2tIQUFsQyxrQ0FBa0M7OzJGQUFsQyxrQ0FBa0M7a0JBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QnJlYWtwb2ludCB9IGZyb20gJy4uL2JyZWFrcG9pbnQtb2JzZXJ2ZXIvYnJlYWtwb2ludCc7XG5pbXBvcnQgeyB0b1NreUJyZWFrcG9pbnQgfSBmcm9tICcuLi9icmVha3BvaW50LW9ic2VydmVyL2JyZWFrcG9pbnQtdXRpbHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlMaXN0ZW5lciB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LWxpc3RlbmVyJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi4vbWVkaWEtcXVlcnkvbWVkaWEtcXVlcnkuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSB9IGZyb20gJy4vcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX0JSRUFLUE9JTlQgPSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kO1xuXG4vKipcbiAqIEFjdHMgbGlrZSBgU2t5TWVkaWFRdWVyeVNlcnZpY2VgIGZvciBhIGNvbnRhaW5lciBlbGVtZW50LCBlbWl0dGluZyB0aGUgc2FtZSByZXNwb25zaXZlIGJyZWFrcG9pbnRzLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmVgIGluc3RlYWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlXG4gIGV4dGVuZHMgU2t5TWVkaWFRdWVyeVNlcnZpY2VcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGJyZWFrcG9pbnQgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYnJlYWtwb2ludENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreUJyZWFrcG9pbnQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYnJlYWtwb2ludENoYW5nZU9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqIEBkZXByZWNhdGVkIFN1YnNjcmliZSB0byB0aGUgYGJyZWFrcG9pbnRDaGFuZ2VgIG9ic2VydmFibGUgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgY3VycmVudCgpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudEJyZWFrcG9pbnQ7XG4gIH1cblxuICAjYnJlYWtwb2ludENoYW5nZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFNreUJyZWFrcG9pbnQ+KDEpO1xuICAjYnJlYWtwb2ludENoYW5nZU9icyA9IHRoaXMuI2JyZWFrcG9pbnRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgI2JyZWFrcG9pbnRzOiB7XG4gICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKSA9PiBib29sZWFuO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpOiBib29sZWFuID0+IHdpZHRoID4gMCAmJiB3aWR0aCA8PSA3NjcsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKTogYm9vbGVhbiA9PiB3aWR0aCA+IDc2NyAmJiB3aWR0aCA8PSA5OTEsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKTogYm9vbGVhbiA9PiB3aWR0aCA+IDk5MSAmJiB3aWR0aCA8PSAxMTk5LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5tZCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcik6IGJvb2xlYW4gPT4gd2lkdGggPiAxMTk5LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5sZyxcbiAgICB9LFxuICBdO1xuXG4gICNjdXJyZW50QnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyA9IERFRkFVTFRfQlJFQUtQT0lOVDtcblxuICAjY3VycmVudEJyZWFrcG9pbnRPYnMgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPigxKTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3Jlc2l6ZU9ic2VydmVyU3ZjID0gaW5qZWN0KFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSk7XG5cbiAgI3RhcmdldDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bm9ic2VydmUoKTtcblxuICAgIHRoaXMuI3RhcmdldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9icy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2JyZWFrcG9pbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb250YWluZXIgZWxlbWVudCB0byB3YXRjaC4gVGhlIGBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlYCB3aWxsIG9ubHkgb2JzZXJ2ZSBvbmUgZWxlbWVudCBhdCBhXG4gICAqIHRpbWUuIEFueSBwcmV2aW91cyBzdWJzY3JpcHRpb25zIHdpbGwgYmUgdW5zdWJzY3JpYmVkIHdoZW4gYSBuZXcgZWxlbWVudCBpcyBvYnNlcnZlZC5cbiAgICovXG4gIHB1YmxpYyBvYnNlcnZlKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIHVwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlIHtcbiAgICBpZiAodGhpcy4jdGFyZ2V0KSB7XG4gICAgICBpZiAodGhpcy4jdGFyZ2V0ID09PSBlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVub2JzZXJ2ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3RhcmdldCA9IGVsZW1lbnQ7XG5cbiAgICB0aGlzLiNjaGVja1dpZHRoKGVsZW1lbnQsIG9wdGlvbnM/LnVwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzKTtcblxuICAgIHRoaXMuI3Jlc2l6ZU9ic2VydmVyU3ZjXG4gICAgICAub2JzZXJ2ZShlbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuI2NoZWNrQnJlYWtwb2ludCh2YWx1ZS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIGlmIChicmVha3BvaW50KSB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50LCBvcHRpb25zPy51cGRhdGVSZXNwb25zaXZlQ2xhc3Nlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgdGhlIGNvbnRhaW5lciBlbGVtZW50IGFuZCByZW1vdmUgYW55IGFkZGVkIGNsYXNzZXMuXG4gICAqL1xuICBwdWJsaWMgdW5vYnNlcnZlKCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZVJlc3BvbnNpdmVDbGFzc2VzKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gZWxlbWVudCBzaXplIGNoYW5nZXMgdGhhdCBjcm9zcyBicmVha3BvaW50cy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50T2JzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBsaXN0ZW5lcih2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gICN1cGRhdGVCcmVha3BvaW50KFxuICAgIGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMsXG4gICAgdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXM/OiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICBpZiAodXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXMpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzKHRoaXMuY3VycmVudCwgYnJlYWtwb2ludCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudCAhPT0gYnJlYWtwb2ludCkge1xuICAgICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnRPYnMubmV4dChicmVha3BvaW50KTtcbiAgICAgIGNvbnN0IGJyZWFrcG9pbnRUeXBlID0gdG9Ta3lCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuICAgICAgdGhpcy4jYnJlYWtwb2ludENoYW5nZS5uZXh0KGJyZWFrcG9pbnRUeXBlKTtcbiAgICB9XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnQgPSBicmVha3BvaW50O1xuICB9XG5cbiAgI3VwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzKFxuICAgIG9sZEJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMsXG4gICAgbmV3QnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkQ2xhc3MgPSB0aGlzLiNnZXRDbGFzc0ZvckJyZWFrcG9pbnQob2xkQnJlYWtwb2ludCk7XG4gICAgY29uc3QgbmV3Q2xhc3MgPSB0aGlzLiNnZXRDbGFzc0ZvckJyZWFrcG9pbnQobmV3QnJlYWtwb2ludCk7XG5cbiAgICBjb25zdCB0YXJnZXRDbGFzc0xpc3QgPSB0aGlzLiN0YXJnZXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdDtcblxuICAgIHRhcmdldENsYXNzTGlzdD8ucmVtb3ZlKG9sZENsYXNzKTtcbiAgICB0YXJnZXRDbGFzc0xpc3Q/LmFkZChuZXdDbGFzcyk7XG4gIH1cblxuICAjcmVtb3ZlUmVzcG9uc2l2ZUNsYXNzZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBicmVha3BvaW50IG9mIE9iamVjdC52YWx1ZXMoU2t5TWVkaWFCcmVha3BvaW50cykpIHtcbiAgICAgIGlmICh0eXBlb2YgYnJlYWtwb2ludCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy4jZ2V0Q2xhc3NGb3JCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuXG4gICAgICAgIHRoaXMuI3RhcmdldD8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0Py5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q2xhc3NGb3JCcmVha3BvaW50KGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLSR7U2t5TWVkaWFCcmVha3BvaW50c1ticmVha3BvaW50XX1gO1xuICB9XG5cbiAgI2NoZWNrQnJlYWtwb2ludCh3aWR0aDogbnVtYmVyKTogU2t5TWVkaWFCcmVha3BvaW50cyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuI2JyZWFrcG9pbnRzLmZpbmQoKGJyZWFrcG9pbnQpID0+XG4gICAgICBicmVha3BvaW50LmNoZWNrKHdpZHRoKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGJyZWFrcG9pbnQgPyBicmVha3BvaW50Lm5hbWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAjY2hlY2tXaWR0aChlbDogRWxlbWVudFJlZiwgdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXM/OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3Qgd2lkdGggPSAoZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0V2lkdGggfHwgMDtcbiAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jY2hlY2tCcmVha3BvaW50KHdpZHRoKTtcblxuICAgIGlmIChicmVha3BvaW50KSB7XG4gICAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQsIHVwZGF0ZVJlc3BvbnNpdmVDbGFzc2VzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ReplaySubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Overrides the media and container breakpoint observers for testing.
6
+ * @internal
7
+ */
8
+ export class SkyBreakpointObserverTesting {
9
+ get breakpointChange() {
10
+ return this.#breakpointChangeObs;
11
+ }
12
+ #breakpointChange = new ReplaySubject(1);
13
+ #breakpointChangeObs = this.#breakpointChange.asObservable();
14
+ destroy() {
15
+ this.#breakpointChange.complete();
16
+ }
17
+ setBreakpoint(breakpoint) {
18
+ this.#breakpointChange.next(breakpoint);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyBreakpointObserverTesting, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyBreakpointObserverTesting }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyBreakpointObserverTesting, decorators: [{
24
+ type: Injectable
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC1vYnNlcnZlci10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbWVkaWEtcXVlcnkvYnJlYWtwb2ludC1vYnNlcnZlci10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFakQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsaUJBQWlCLEdBQUcsSUFBSSxhQUFhLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3hELG9CQUFvQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0RCxPQUFPO1FBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBeUI7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQWRVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QnJlYWtwb2ludCwgU2t5QnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogT3ZlcnJpZGVzIHRoZSBtZWRpYSBhbmQgY29udGFpbmVyIGJyZWFrcG9pbnQgb2JzZXJ2ZXJzIGZvciB0ZXN0aW5nLlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lCcmVha3BvaW50T2JzZXJ2ZXJUZXN0aW5nIGltcGxlbWVudHMgU2t5QnJlYWtwb2ludE9ic2VydmVyIHtcbiAgcHVibGljIGdldCBicmVha3BvaW50Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5QnJlYWtwb2ludD4ge1xuICAgIHJldHVybiB0aGlzLiNicmVha3BvaW50Q2hhbmdlT2JzO1xuICB9XG5cbiAgI2JyZWFrcG9pbnRDaGFuZ2UgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lCcmVha3BvaW50PigxKTtcbiAgI2JyZWFrcG9pbnRDaGFuZ2VPYnMgPSB0aGlzLiNicmVha3BvaW50Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI2JyZWFrcG9pbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50KGJyZWFrcG9pbnQ6IFNreUJyZWFrcG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNicmVha3BvaW50Q2hhbmdlLm5leHQoYnJlYWtwb2ludCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A controller to be injected into tests, which mocks the
6
+ * `SkyMediaQueryService` and handles interactions with breakpoints.
7
+ */
8
+ export class SkyMediaQueryTestingController {
9
+ #observer = inject(SkyBreakpointObserverTesting);
10
+ /**
11
+ * Emits the provided breakpoint to all subscribers.
12
+ */
13
+ setBreakpoint(breakpoint) {
14
+ this.#observer.setBreakpoint(breakpoint);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryTestingController, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryTestingController }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyMediaQueryTestingController, decorators: [{
20
+ type: Injectable
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnktdGVzdGluZy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbWVkaWEtcXVlcnkvbWVkaWEtcXVlcnktdGVzdGluZy1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUU3RTs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUUxRDs7T0FFRztJQUNJLGFBQWEsQ0FBQyxVQUF5QjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQVJVLDhCQUE4QjtrSEFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lCcmVha3BvaW50IH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lCcmVha3BvaW50T2JzZXJ2ZXJUZXN0aW5nIH0gZnJvbSAnLi9icmVha3BvaW50LW9ic2VydmVyLXRlc3RpbmcnO1xuXG4vKipcbiAqIEEgY29udHJvbGxlciB0byBiZSBpbmplY3RlZCBpbnRvIHRlc3RzLCB3aGljaCBtb2NrcyB0aGVcbiAqIGBTa3lNZWRpYVF1ZXJ5U2VydmljZWAgYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggYnJlYWtwb2ludHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5VGVzdGluZ0NvbnRyb2xsZXIge1xuICByZWFkb25seSAjb2JzZXJ2ZXIgPSBpbmplY3QoU2t5QnJlYWtwb2ludE9ic2VydmVyVGVzdGluZyk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBwcm92aWRlZCBicmVha3BvaW50IHRvIGFsbCBzdWJzY3JpYmVycy5cbiAgICovXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50KGJyZWFrcG9pbnQ6IFNreUJyZWFrcG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNvYnNlcnZlci5zZXRCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { SKY_BREAKPOINT_OBSERVER, SkyContainerBreakpointObserver, SkyMediaBreakpointObserver, SkyMediaQueryService, } from '@skyux/core';
2
+ import { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';
3
+ import { SkyMediaQueryTestingController } from './media-query-testing-controller';
4
+ /**
5
+ * Adds mocks to allow interactions with breakpoints in tests.
6
+ */
7
+ export function provideSkyMediaQueryTesting() {
8
+ return [
9
+ SkyMediaQueryService,
10
+ SkyBreakpointObserverTesting,
11
+ SkyMediaQueryTestingController,
12
+ {
13
+ provide: SkyContainerBreakpointObserver,
14
+ useExisting: SkyBreakpointObserverTesting,
15
+ },
16
+ {
17
+ provide: SkyMediaBreakpointObserver,
18
+ useExisting: SkyBreakpointObserverTesting,
19
+ },
20
+ {
21
+ provide: SKY_BREAKPOINT_OBSERVER,
22
+ useExisting: SkyBreakpointObserverTesting,
23
+ },
24
+ ];
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1tZWRpYS1xdWVyeS10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbWVkaWEtcXVlcnkvcHJvdmlkZS1tZWRpYS1xdWVyeS10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMxQixvQkFBb0IsR0FDckIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU87UUFDTCxvQkFBb0I7UUFDcEIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5QjtZQUNFLE9BQU8sRUFBRSw4QkFBOEI7WUFDdkMsV0FBVyxFQUFFLDRCQUE0QjtTQUMxQztRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxXQUFXLEVBQUUsNEJBQTRCO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLFdBQVcsRUFBRSw0QkFBNEI7U0FDMUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzICovXG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU0tZX0JSRUFLUE9JTlRfT0JTRVJWRVIsXG4gIFNreUNvbnRhaW5lckJyZWFrcG9pbnRPYnNlcnZlcixcbiAgU2t5TWVkaWFCcmVha3BvaW50T2JzZXJ2ZXIsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreUJyZWFrcG9pbnRPYnNlcnZlclRlc3RpbmcgfSBmcm9tICcuL2JyZWFrcG9pbnQtb2JzZXJ2ZXItdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lNZWRpYVF1ZXJ5VGVzdGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuL21lZGlhLXF1ZXJ5LXRlc3RpbmctY29udHJvbGxlcic7XG5cbi8qKlxuICogQWRkcyBtb2NrcyB0byBhbGxvdyBpbnRlcmFjdGlvbnMgd2l0aCBicmVha3BvaW50cyBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTa3lNZWRpYVF1ZXJ5VGVzdGluZygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICBTa3lCcmVha3BvaW50T2JzZXJ2ZXJUZXN0aW5nLFxuICAgIFNreU1lZGlhUXVlcnlUZXN0aW5nQ29udHJvbGxlcixcbiAgICB7XG4gICAgICBwcm92aWRlOiBTa3lDb250YWluZXJCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICB1c2VFeGlzdGluZzogU2t5QnJlYWtwb2ludE9ic2VydmVyVGVzdGluZyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreUJyZWFrcG9pbnRPYnNlcnZlclRlc3RpbmcsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfQlJFQUtQT0lOVF9PQlNFUlZFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lCcmVha3BvaW50T2JzZXJ2ZXJUZXN0aW5nLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
@@ -1,9 +1,11 @@
1
+ /* eslint-disable @nx/enforce-module-boundaries */
1
2
  import { Injectable, NgZone } from '@angular/core';
2
3
  import { SkyMediaBreakpoints, SkyMediaQueryService, } from '@skyux/core';
3
4
  import { BehaviorSubject } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * @internal
8
+ * @deprecated Use `provideSkyMediaQueryTesting()` coupled with `SkyMediaQueryTestingController`.
7
9
  */
8
10
  export class MockSkyMediaQueryService extends SkyMediaQueryService {
9
11
  static { this.xs = '(max-width: 767px)'; }
@@ -43,4 +45,4 @@ export class MockSkyMediaQueryService extends SkyMediaQueryService {
43
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MockSkyMediaQueryService, decorators: [{
44
46
  type: Injectable
45
47
  }], ctorParameters: () => [] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUVyRDs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7YUFDekMsT0FBRSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjthQUMxQixPQUFFLEdBQUcsMkNBQTJDLEFBQTlDLENBQStDO2FBQ2pELE9BQUUsR0FBRyw0Q0FBNEMsQUFBL0MsQ0FBZ0Q7YUFDbEQsT0FBRSxHQUFHLHFCQUFxQixBQUF4QixDQUF5QjtJQUVsRCxJQUFvQixPQUFPO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFvQixPQUFPLENBQUMsV0FBZ0M7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBUUQ7UUFDRSxLQUFLLENBQ0gsSUFBSSxNQUFNLENBQUM7WUFDVCxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUMsQ0FDSCxDQUFDO1FBWEcsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQzdDLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUVRLHVCQUFrQixHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztJQVF0RCxDQUFDO0lBRWUsU0FBUyxDQUFDLFFBQStCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztZQUN2QyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUF5QjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixnRUFBZ0U7SUFDaEQsT0FBTyxLQUFVLENBQUM7OEdBM0N2Qix3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeUxpc3RlbmVyLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9ja1NreU1lZGlhUXVlcnlTZXJ2aWNlIGV4dGVuZHMgU2t5TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHhzID0gJyhtYXgtd2lkdGg6IDc2N3B4KSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc20gPSAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIG1kID0gJyhtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgbGcgPSAnKG1pbi13aWR0aDogMTIwMHB4KSc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRCcmVha3BvaW50cztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgY3VycmVudChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykge1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7XG4gIH1cblxuICBwdWJsaWMgY3VycmVudE1vY2tTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnQsXG4gICk7XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRCcmVha3BvaW50cyA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgTmdab25lKHtcbiAgICAgICAgZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHN1YnNjcmliZShsaXN0ZW5lcjogU2t5TWVkaWFRdWVyeUxpc3RlbmVyKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9ja1N1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGZpcmUoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnRzID0gYXJncztcbiAgICB0aGlzLmN1cnJlbnRNb2NrU3ViamVjdC5uZXh0KHRoaXMuY3VycmVudEJyZWFrcG9pbnRzKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7fVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvdGVzdGluZy9zcmMvbW9jay1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsbUJBQW1CLEVBRW5CLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7QUFFckQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjthQUN6QyxPQUFFLEdBQUcsb0JBQW9CLEFBQXZCLENBQXdCO2FBQzFCLE9BQUUsR0FBRywyQ0FBMkMsQUFBOUMsQ0FBK0M7YUFDakQsT0FBRSxHQUFHLDRDQUE0QyxBQUEvQyxDQUFnRDthQUNsRCxPQUFFLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRWxELElBQW9CLE9BQU87UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQW9CLE9BQU8sQ0FBQyxXQUFnQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFRRDtRQUNFLEtBQUssQ0FDSCxJQUFJLE1BQU0sQ0FBQztZQUNULG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQyxDQUNILENBQUM7UUFYRyx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FDN0MsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRVEsdUJBQWtCLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0lBUXRELENBQUM7SUFFZSxTQUFTLENBQUMsUUFBK0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxDQUFDLFdBQWdDLEVBQUUsRUFBRTtnQkFDekMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQXlCO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLGdFQUFnRTtJQUNoRCxPQUFPLEtBQVUsQ0FBQzs4R0EzQ3ZCLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXMgKi9cbmltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeUxpc3RlbmVyLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIGBwcm92aWRlU2t5TWVkaWFRdWVyeVRlc3RpbmcoKWAgY291cGxlZCB3aXRoIGBTa3lNZWRpYVF1ZXJ5VGVzdGluZ0NvbnRyb2xsZXJgLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9ja1NreU1lZGlhUXVlcnlTZXJ2aWNlIGV4dGVuZHMgU2t5TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHhzID0gJyhtYXgtd2lkdGg6IDc2N3B4KSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc20gPSAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIG1kID0gJyhtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgbGcgPSAnKG1pbi13aWR0aDogMTIwMHB4KSc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRCcmVha3BvaW50cztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgY3VycmVudChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykge1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7XG4gIH1cblxuICBwdWJsaWMgY3VycmVudE1vY2tTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnQsXG4gICk7XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRCcmVha3BvaW50cyA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgTmdab25lKHtcbiAgICAgICAgZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHN1YnNjcmliZShsaXN0ZW5lcjogU2t5TWVkaWFRdWVyeUxpc3RlbmVyKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9ja1N1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGZpcmUoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnRzID0gYXJncztcbiAgICB0aGlzLmN1cnJlbnRNb2NrU3ViamVjdC5uZXh0KHRoaXMuY3VycmVudEJyZWFrcG9pbnRzKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7fVxufVxuIl19
@@ -1,11 +1,14 @@
1
1
  export { SkyCoreTestingModule } from './core-testing.module';
2
+ export { SkyHelpTestingController } from './help/help-testing-controller';
3
+ export { SkyHelpTestingModule } from './help/help-testing.module';
4
+ export { SkyMediaQueryTestingController } from './media-query/media-query-testing-controller';
5
+ export { provideSkyMediaQueryTesting } from './media-query/provide-media-query-testing';
2
6
  export { MockSkyMediaQueryService } from './mock-media-query.service';
3
7
  export { MockSkyUIConfigService } from './mock-ui-config.service';
4
8
  export { SkyOverlayHarness } from './overlay/overlay-harness';
5
9
  export { mockResizeObserver, mockResizeObserverEntry, mockResizeObserverHandle, } from './resize-observer-mock';
6
10
  export { SkyComponentHarness } from './shared/component-harness';
7
11
  export { SkyHarnessUtility } from './shared/harness-utility';
12
+ export { SkyInputHarness } from './shared/input-harness';
8
13
  export { SkyQueryableComponentHarness } from './shared/queryable-component-harness';
9
- export { SkyHelpTestingController } from './help/help-testing-controller';
10
- export { SkyHelpTestingModule } from './help/help-testing.module';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsd0JBQXdCLEdBQ3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDb3JlVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vY29yZS10ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgeyBNb2NrU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICcuL21vY2stbWVkaWEtcXVlcnkuc2VydmljZSc7XG5leHBvcnQgeyBNb2NrU2t5VUlDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb2NrLXVpLWNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCB7IFNreU92ZXJsYXlIYXJuZXNzIH0gZnJvbSAnLi9vdmVybGF5L292ZXJsYXktaGFybmVzcyc7XG5leHBvcnQgeyBTa3lPdmVybGF5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL292ZXJsYXkvb3ZlcmxheS1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHtcbiAgbW9ja1Jlc2l6ZU9ic2VydmVyLFxuICBtb2NrUmVzaXplT2JzZXJ2ZXJFbnRyeSxcbiAgbW9ja1Jlc2l6ZU9ic2VydmVySGFuZGxlLFxufSBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZlci1tb2NrJztcbmV4cG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2hhcmVkL2hhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lIYXJuZXNzVXRpbGl0eSB9IGZyb20gJy4vc2hhcmVkL2hhcm5lc3MtdXRpbGl0eSc7XG5leHBvcnQgeyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnLi9zaGFyZWQvcXVlcnlhYmxlLWNvbXBvbmVudC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUhlbHBUZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vaGVscC9oZWxwLXRlc3RpbmctY29udHJvbGxlcic7XG5leHBvcnQgeyBTa3lIZWxwVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vaGVscC9oZWxwLXRlc3RpbmcubW9kdWxlJztcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsd0JBQXdCLEdBQ3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5Q29yZVRlc3RpbmdNb2R1bGUgfSBmcm9tICcuL2NvcmUtdGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5SGVscFRlc3RpbmdDb250cm9sbGVyIH0gZnJvbSAnLi9oZWxwL2hlbHAtdGVzdGluZy1jb250cm9sbGVyJztcbmV4cG9ydCB7IFNreUhlbHBUZXN0aW5nTW9kdWxlIH0gZnJvbSAnLi9oZWxwL2hlbHAtdGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5TWVkaWFRdWVyeVRlc3RpbmdDb250cm9sbGVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS10ZXN0aW5nLWNvbnRyb2xsZXInO1xuZXhwb3J0IHsgcHJvdmlkZVNreU1lZGlhUXVlcnlUZXN0aW5nIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS9wcm92aWRlLW1lZGlhLXF1ZXJ5LXRlc3RpbmcnO1xuZXhwb3J0IHsgTW9ja1NreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9tb2NrLW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuZXhwb3J0IHsgTW9ja1NreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9jay11aS1jb25maWcuc2VydmljZSc7XG5leHBvcnQgeyBTa3lPdmVybGF5SGFybmVzcyB9IGZyb20gJy4vb3ZlcmxheS9vdmVybGF5LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5T3ZlcmxheUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9vdmVybGF5L292ZXJsYXktaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7XG4gIG1vY2tSZXNpemVPYnNlcnZlcixcbiAgbW9ja1Jlc2l6ZU9ic2VydmVyRW50cnksXG4gIG1vY2tSZXNpemVPYnNlcnZlckhhbmRsZSxcbn0gZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXItbW9jayc7XG5leHBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3NoYXJlZC9oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5SGFybmVzc1V0aWxpdHkgfSBmcm9tICcuL3NoYXJlZC9oYXJuZXNzLXV0aWxpdHknO1xuZXhwb3J0IHsgU2t5SW5wdXRIYXJuZXNzIH0gZnJvbSAnLi9zaGFyZWQvaW5wdXQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnLi9zaGFyZWQvcXVlcnlhYmxlLWNvbXBvbmVudC1oYXJuZXNzJztcbiJdfQ==
@@ -1,3 +1,7 @@
1
+ /* istanbul ignore file: these are used in @skyux/core */
2
+ /**
3
+ * @internal
4
+ */
1
5
  export const mockResizeObserverEntry = {
2
6
  target: {},
3
7
  borderBoxSize: [],
@@ -16,12 +20,18 @@ export const mockResizeObserverEntry = {
16
20
  devicePixelContentBoxSize: [],
17
21
  };
18
22
  const defaultCallback = (entries, observer) => { };
23
+ /**
24
+ * @internal
25
+ */
19
26
  export const mockResizeObserverHandle = {
20
27
  callback: defaultCallback,
21
28
  emit: (entries, observer) => {
22
29
  mockResizeObserverHandle.callback(entries, observer);
23
30
  },
24
31
  };
32
+ /**
33
+ * @internal
34
+ */
25
35
  export function mockResizeObserver() {
26
36
  window.requestAnimationFrame = (callback) => {
27
37
  callback();
@@ -37,4 +47,4 @@ export function mockResizeObserver() {
37
47
  unobserve(element) { }
38
48
  };
39
49
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9yZXNpemUtb2JzZXJ2ZXItbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBd0I7SUFDMUQsTUFBTSxFQUFFLEVBQWE7SUFDckIsYUFBYSxFQUFFLEVBQUU7SUFDakIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsV0FBVyxFQUFFO1FBQ1gsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLENBQUMsRUFBRSxFQUFFO1FBQ0wsQ0FBQyxFQUFFLEVBQUU7UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNO0tBQ0Y7SUFDcEIseUJBQXlCLEVBQUUsRUFBRTtDQUM5QixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQTJCLENBQzlDLE9BQThCLEVBQzlCLFFBQXdCLEVBQ3hCLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFFUixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxRQUFRLEVBQUUsZUFBZTtJQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUE4QixFQUFFLFFBQXlCLEVBQUUsRUFBRTtRQUNsRSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQjtJQUMvQixNQUFjLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxRQUFvQixFQUFVLEVBQUU7UUFDdkUsUUFBUSxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQztJQUNELE1BQWMsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQVMsRUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3RFLE1BQU0sQ0FBQyxjQUFjLEdBQUc7UUFDdEIsWUFBWSxRQUFnQztZQUMxQyx3QkFBd0IsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQy9DLENBQUM7UUFFTSxVQUFVLEtBQUksQ0FBQztRQUVmLE9BQU8sQ0FBQyxNQUFlLEVBQUUsT0FBK0IsSUFBRyxDQUFDO1FBRTVELFNBQVMsQ0FBQyxPQUFvQixJQUFHLENBQUM7S0FDMUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbW9ja1Jlc2l6ZU9ic2VydmVyRW50cnk6IFJlc2l6ZU9ic2VydmVyRW50cnkgPSB7XG4gIHRhcmdldDoge30gYXMgRWxlbWVudCxcbiAgYm9yZGVyQm94U2l6ZTogW10sXG4gIGNvbnRlbnRCb3hTaXplOiBbXSxcbiAgY29udGVudFJlY3Q6IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB4OiAyMCxcbiAgICB5OiAyMCxcbiAgICB0b3A6IDIwLFxuICAgIGJvdHRvbTogMjAsXG4gICAgbGVmdDogMjAsXG4gICAgcmlnaHQ6IDIwLFxuICAgIHRvSlNPTjogKCkgPT4gJ3RydWUnLFxuICB9IGFzIERPTVJlY3RSZWFkT25seSxcbiAgZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTogW10sXG59O1xuXG5jb25zdCBkZWZhdWx0Q2FsbGJhY2s6IFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sgPSAoXG4gIGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSxcbiAgb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyLFxuKSA9PiB7fTtcblxuZXhwb3J0IGNvbnN0IG1vY2tSZXNpemVPYnNlcnZlckhhbmRsZSA9IHtcbiAgY2FsbGJhY2s6IGRlZmF1bHRDYWxsYmFjayxcbiAgZW1pdDogKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSwgb2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcikgPT4ge1xuICAgIG1vY2tSZXNpemVPYnNlcnZlckhhbmRsZS5jYWxsYmFjayhlbnRyaWVzLCBvYnNlcnZlciEpO1xuICB9LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tSZXNpemVPYnNlcnZlcigpIHtcbiAgKHdpbmRvdyBhcyBhbnkpLnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IChjYWxsYmFjazogKCkgPT4gdm9pZCk6IG51bWJlciA9PiB7XG4gICAgY2FsbGJhY2soKTtcbiAgICByZXR1cm4gMDtcbiAgfTtcbiAgKHdpbmRvdyBhcyBhbnkpLmNhbmNlbEFuaW1hdGlvbkZyYW1lID0gKF86IG51bWJlcik6IHZvaWQgPT4gdW5kZWZpbmVkO1xuICB3aW5kb3cuUmVzaXplT2JzZXJ2ZXIgPSBjbGFzcyB7XG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2s6IFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2spIHtcbiAgICAgIG1vY2tSZXNpemVPYnNlcnZlckhhbmRsZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0KCkge31cblxuICAgIHB1YmxpYyBvYnNlcnZlKHRhcmdldDogRWxlbWVudCwgb3B0aW9ucz86IFJlc2l6ZU9ic2VydmVyT3B0aW9ucykge31cblxuICAgIHB1YmxpYyB1bm9ic2VydmUoZWxlbWVudDogSFRNTEVsZW1lbnQpIHt9XG4gIH07XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9yZXNpemUtb2JzZXJ2ZXItbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBd0I7SUFDMUQsTUFBTSxFQUFFLEVBQWE7SUFDckIsYUFBYSxFQUFFLEVBQUU7SUFDakIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsV0FBVyxFQUFFO1FBQ1gsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLENBQUMsRUFBRSxFQUFFO1FBQ0wsQ0FBQyxFQUFFLEVBQUU7UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNO0tBQ0Y7SUFDcEIseUJBQXlCLEVBQUUsRUFBRTtDQUM5QixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQTJCLENBQzlDLE9BQThCLEVBQzlCLFFBQXdCLEVBQ3hCLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFFUjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLElBQUksRUFBRSxDQUFDLE9BQThCLEVBQUUsUUFBeUIsRUFBRSxFQUFFO1FBQ2xFLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDL0IsTUFBYyxDQUFDLHFCQUFxQixHQUFHLENBQUMsUUFBb0IsRUFBVSxFQUFFO1FBQ3ZFLFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7SUFDRCxNQUFjLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFTLEVBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN0RSxNQUFNLENBQUMsY0FBYyxHQUFHO1FBQ3RCLFlBQVksUUFBZ0M7WUFDMUMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMvQyxDQUFDO1FBRU0sVUFBVSxLQUFJLENBQUM7UUFFZixPQUFPLENBQUMsTUFBZSxFQUFFLE9BQStCLElBQUcsQ0FBQztRQUU1RCxTQUFTLENBQUMsT0FBb0IsSUFBRyxDQUFDO0tBQzFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGU6IHRoZXNlIGFyZSB1c2VkIGluIEBza3l1eC9jb3JlICovXG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBtb2NrUmVzaXplT2JzZXJ2ZXJFbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeSA9IHtcbiAgdGFyZ2V0OiB7fSBhcyBFbGVtZW50LFxuICBib3JkZXJCb3hTaXplOiBbXSxcbiAgY29udGVudEJveFNpemU6IFtdLFxuICBjb250ZW50UmVjdDoge1xuICAgIHdpZHRoOiAyMCxcbiAgICBoZWlnaHQ6IDIwLFxuICAgIHg6IDIwLFxuICAgIHk6IDIwLFxuICAgIHRvcDogMjAsXG4gICAgYm90dG9tOiAyMCxcbiAgICBsZWZ0OiAyMCxcbiAgICByaWdodDogMjAsXG4gICAgdG9KU09OOiAoKSA9PiAndHJ1ZScsXG4gIH0gYXMgRE9NUmVjdFJlYWRPbmx5LFxuICBkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplOiBbXSxcbn07XG5cbmNvbnN0IGRlZmF1bHRDYWxsYmFjazogUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayA9IChcbiAgZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdLFxuICBvYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIsXG4pID0+IHt9O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgbW9ja1Jlc2l6ZU9ic2VydmVySGFuZGxlID0ge1xuICBjYWxsYmFjazogZGVmYXVsdENhbGxiYWNrLFxuICBlbWl0OiAoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdLCBvYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyKSA9PiB7XG4gICAgbW9ja1Jlc2l6ZU9ic2VydmVySGFuZGxlLmNhbGxiYWNrKGVudHJpZXMsIG9ic2VydmVyISk7XG4gIH0sXG59O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9ja1Jlc2l6ZU9ic2VydmVyKCkge1xuICAod2luZG93IGFzIGFueSkucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogbnVtYmVyID0+IHtcbiAgICBjYWxsYmFjaygpO1xuICAgIHJldHVybiAwO1xuICB9O1xuICAod2luZG93IGFzIGFueSkuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSAoXzogbnVtYmVyKTogdm9pZCA9PiB1bmRlZmluZWQ7XG4gIHdpbmRvdy5SZXNpemVPYnNlcnZlciA9IGNsYXNzIHtcbiAgICBjb25zdHJ1Y3RvcihjYWxsYmFjazogUmVzaXplT2JzZXJ2ZXJDYWxsYmFjaykge1xuICAgICAgbW9ja1Jlc2l6ZU9ic2VydmVySGFuZGxlLmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2Nvbm5lY3QoKSB7fVxuXG4gICAgcHVibGljIG9ic2VydmUodGFyZ2V0OiBFbGVtZW50LCBvcHRpb25zPzogUmVzaXplT2JzZXJ2ZXJPcHRpb25zKSB7fVxuXG4gICAgcHVibGljIHVub2JzZXJ2ZShlbGVtZW50OiBIVE1MRWxlbWVudCkge31cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { ComponentHarness } from '@angular/cdk/testing';
2
+ /**
3
+ * Harness used to interact with native input elements in tests.
4
+ * @internal
5
+ */
6
+ export class SkyInputHarness extends ComponentHarness {
7
+ /**
8
+ * Blurs the input.
9
+ */
10
+ async blur() {
11
+ return (await this.host()).blur();
12
+ }
13
+ /**
14
+ * Clears the input value.
15
+ */
16
+ async clear() {
17
+ return (await this.host()).clear();
18
+ }
19
+ /**
20
+ * Focuses the input.
21
+ */
22
+ async focus() {
23
+ return (await this.host()).focus();
24
+ }
25
+ /**
26
+ * Gets the value of the input.
27
+ */
28
+ async getValue() {
29
+ return (await this.host()).getProperty('value');
30
+ }
31
+ /**
32
+ * Whether the input is disabled.
33
+ */
34
+ async isDisabled() {
35
+ const disabled = await (await this.host()).getAttribute('disabled');
36
+ return disabled !== null;
37
+ }
38
+ /**
39
+ * Whether the input is focused.
40
+ */
41
+ async isFocused() {
42
+ return (await this.host()).isFocused();
43
+ }
44
+ /**
45
+ * Sets the value of the input. The value will be set by simulating key
46
+ * presses that correspond to the given value.
47
+ */
48
+ async setValue(value) {
49
+ const inputEl = await this.host();
50
+ await inputEl.clear();
51
+ // We don't want to send keys for the value if the value is an empty
52
+ // string in order to clear the value. Sending keys with an empty string
53
+ // still results in unnecessary focus events.
54
+ if (value) {
55
+ await inputEl.sendKeys(value);
56
+ }
57
+ // Some input types won't respond to key presses (e.g. `color`) so to be sure that the
58
+ // value is set, we also set the property after the keyboard sequence. Note that we don't
59
+ // want to do it before, because it can cause the value to be entered twice.
60
+ await inputEl.setInputValue(value);
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3Rlc3Rpbmcvc3JjL3NoYXJlZC9pbnB1dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUNuRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRSxPQUFPLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBYTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV0QixvRUFBb0U7UUFDcEUsd0VBQXdFO1FBQ3hFLDZDQUE2QztRQUM3QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxzRkFBc0Y7UUFDdEYseUZBQXlGO1FBQ3pGLDRFQUE0RTtRQUM1RSxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBuYXRpdmUgaW5wdXQgZWxlbWVudHMgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUlucHV0SGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQmx1cnMgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldFByb3BlcnR5KCd2YWx1ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0LiBUaGUgdmFsdWUgd2lsbCBiZSBzZXQgYnkgc2ltdWxhdGluZyBrZXlcbiAgICogcHJlc3NlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsID0gYXdhaXQgdGhpcy5ob3N0KCk7XG4gICAgYXdhaXQgaW5wdXRFbC5jbGVhcigpO1xuXG4gICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBzZW5kIGtleXMgZm9yIHRoZSB2YWx1ZSBpZiB0aGUgdmFsdWUgaXMgYW4gZW1wdHlcbiAgICAvLyBzdHJpbmcgaW4gb3JkZXIgdG8gY2xlYXIgdGhlIHZhbHVlLiBTZW5kaW5nIGtleXMgd2l0aCBhbiBlbXB0eSBzdHJpbmdcbiAgICAvLyBzdGlsbCByZXN1bHRzIGluIHVubmVjZXNzYXJ5IGZvY3VzIGV2ZW50cy5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGF3YWl0IGlucHV0RWwuc2VuZEtleXModmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNvbWUgaW5wdXQgdHlwZXMgd29uJ3QgcmVzcG9uZCB0byBrZXkgcHJlc3NlcyAoZS5nLiBgY29sb3JgKSBzbyB0byBiZSBzdXJlIHRoYXQgdGhlXG4gICAgLy8gdmFsdWUgaXMgc2V0LCB3ZSBhbHNvIHNldCB0aGUgcHJvcGVydHkgYWZ0ZXIgdGhlIGtleWJvYXJkIHNlcXVlbmNlLiBOb3RlIHRoYXQgd2UgZG9uJ3RcbiAgICAvLyB3YW50IHRvIGRvIGl0IGJlZm9yZSwgYmVjYXVzZSBpdCBjYW4gY2F1c2UgdGhlIHZhbHVlIHRvIGJlIGVudGVyZWQgdHdpY2UuXG4gICAgYXdhaXQgaW5wdXRFbC5zZXRJbnB1dFZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -15,5 +15,5 @@ export class Version {
15
15
  /**
16
16
  * Represents the version of @skyux/core.
17
17
  */
18
- export const VERSION = new Version('11.15.1');
18
+ export const VERSION = new Version('11.17.0');
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxtRkFBbUY7QUFFbkY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFLbEIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFrZW4gZnJvbSBBbmd1bGFyJ3MgdmVyc2lvbi50cyBmaWxlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTYuMi54L3BhY2thZ2VzL2NvcmUvc3JjL3ZlcnNpb24udHNcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9uIG9mIGEgcGFja2FnZS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbiB7XG4gIHB1YmxpYyByZWFkb25seSBtYWpvcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWlub3I6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGZ1bGw6IHN0cmluZykge1xuICAgIHRoaXMubWFqb3IgPSBmdWxsLnNwbGl0KCcuJylbMF07XG4gICAgdGhpcy5taW5vciA9IGZ1bGwuc3BsaXQoJy4nKVsxXTtcbiAgICB0aGlzLnBhdGNoID0gZnVsbC5zcGxpdCgnLicpLnNsaWNlKDIpLmpvaW4oJy4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgQHNreXV4L2NvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=