@skyux/core 6.0.0-beta.0 → 6.0.0-beta.3
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.
- package/documentation.json +655 -117
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/modules/media-query/media-query-listener.mjs +1 -1
- package/esm2020/lib/modules/media-query/media-query.service.mjs +2 -2
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +117 -0
- package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +73 -0
- package/fesm2015/skyux-core.mjs +183 -4
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +183 -4
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/modules/media-query/media-query-listener.d.ts +1 -1
- package/lib/modules/media-query/media-query.service.d.ts +1 -1
- package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +45 -0
- package/lib/modules/resize-observer/resize-observer.service.d.ts +21 -0
- package/package.json +21 -18
package/esm2020/index.mjs
CHANGED
@@ -43,6 +43,8 @@ export * from './lib/modules/overlay/overlay.module';
|
|
43
43
|
export * from './lib/modules/overlay/overlay.service';
|
44
44
|
export * from './lib/modules/percent-pipe/percent-pipe.module';
|
45
45
|
export * from './lib/modules/percent-pipe/percent.pipe';
|
46
|
+
export * from './lib/modules/resize-observer/resize-observer.service';
|
47
|
+
export * from './lib/modules/resize-observer/resize-observer-media-query.service';
|
46
48
|
export * from './lib/modules/scrollable-host/scrollable-host.service';
|
47
49
|
export * from './lib/modules/title/set-title-args';
|
48
50
|
export * from './lib/modules/title/title.service';
|
@@ -57,4 +59,4 @@ export * from './lib/modules/window/window-ref';
|
|
57
59
|
export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
|
58
60
|
export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
|
59
61
|
export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMERBQTBELENBQUM7QUFFekUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsY0FBYyxrREFBa0QsQ0FBQztBQUVqRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG1FQUFtRSxDQUFDO0FBRWxGLGNBQWMsdURBQXVELENBQUM7QUFFdEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2ZvY3VzYWJsZS1jaGlsZHJlbi1vcHRpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1hdXRvLWZpdC1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtaG9yaXpvbnRhbC1hbGlnbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1vZmZzZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1vZmZzZXQtY2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcGxhY2VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LXZlcnRpY2FsLWFsaWdubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay1pdGVtLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay1sb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1sb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtYXQvYXBwLWZvcm1hdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvZy9sb2cuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy90aXRsZS9zZXQtdGl0bGUtYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RpdGxlL3RpdGxlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3VpLWNvbmZpZy91aS1jb25maWcuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLWhvc3Qtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy93aW5kb3cvd2luZG93LXJlZic7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXIncyBcInBhcnRpYWxcIiBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbmV4cG9ydCB7IFNreUFmZml4RGlyZWN0aXZlIGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXguZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUlkRGlyZWN0aXZlIGFzIM67MiB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreVZpZXdrZWVwZXJEaXJlY3RpdmUgYXMgzrszIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIuZGlyZWN0aXZlJztcbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnktbGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtcXVlcnktbGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuL21lZGlhLWJyZWFrcG9pbnRzJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBicmVha3BvaW50cyBjaGFuZ2UuIEl0IGlzIGNhbGxlZFxuICogd2l0aCBhIGBTa3lNZWRpYUJyZWFrcG9pbnRzYCBhcmd1bWVudCwgd2hpY2ggaXMgYW4gZW51bSB0aGF0IHJlcHJlc2VudHMgdGhlIG5ldyBicmVha3BvaW50LlxuICovXG5leHBvcnQgdHlwZSBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIgPSAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4gdm9pZDtcbiJdfQ==
|
@@ -39,7 +39,7 @@ export class SkyMediaQueryService {
|
|
39
39
|
this.currentSubject.complete();
|
40
40
|
}
|
41
41
|
/**
|
42
|
-
*
|
42
|
+
* Subscribes to screen size changes.
|
43
43
|
* @param listener Specifies a function that is called when breakpoints change.
|
44
44
|
*/
|
45
45
|
subscribe(listener) {
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
118
118
|
providedIn: 'root',
|
119
119
|
}]
|
120
120
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU0xRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUUvQixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQWpDeEIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FDMUMsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRU0sYUFBUSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUdiO1lBQ0o7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7U0FDRixDQUFDO1FBRU0saUJBQVksR0FHZCxFQUFFLENBQUM7UUFHUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQTFDRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQXVDTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDOUIsb0VBQW9FO2dCQUNwRSxnREFBZ0Q7Z0JBQ2hELDhFQUE4RTtnQkFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7d0JBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzlDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBRUYsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU87Z0JBQ0wsY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFFBQVE7YUFDVCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUErQjtRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQW5JRDs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLG9CQUFxQixDQUFBO0FBRXhDOzs7R0FHRztBQUNXLHVCQUFFLEdBQUcsMkNBQTRDLENBQUE7QUFFL0Q7OztHQUdHO0FBQ1csdUJBQUUsR0FBRyw0Q0FBNkMsQ0FBQTtBQUVoRTs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLHFCQUFzQixDQUFBO2lIQXZCOUIsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWF4LXdpZHRoOiA3NjdweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNtID0gJyhtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRzOiB7XG4gICAgbWVkaWFRdWVyeVN0cmluZzogc3RyaW5nO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS54cyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMueHMsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5zbSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5tZCxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5sZyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIG1lZGlhUXVlcmllczoge1xuICAgIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBhbnkpID0+
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU0xRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUUvQixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQWpDeEIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FDMUMsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRU0sYUFBUSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUdiO1lBQ0o7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7U0FDRixDQUFDO1FBRU0saUJBQVksR0FHZCxFQUFFLENBQUM7UUFHUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQTFDRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQXVDTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDOUIsb0VBQW9FO2dCQUNwRSxnREFBZ0Q7Z0JBQ2hELDhFQUE4RTtnQkFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7d0JBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzlDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBRUYsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU87Z0JBQ0wsY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFFBQVE7YUFDVCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUErQjtRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQW5JRDs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLG9CQUFxQixDQUFBO0FBRXhDOzs7R0FHRztBQUNXLHVCQUFFLEdBQUcsMkNBQTRDLENBQUE7QUFFL0Q7OztHQUdHO0FBQ1csdUJBQUUsR0FBRyw0Q0FBNkMsQ0FBQTtBQUVoRTs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLHFCQUFzQixDQUFBO2lIQXZCOUIsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWF4LXdpZHRoOiA3NjdweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNtID0gJyhtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRzOiB7XG4gICAgbWVkaWFRdWVyeVN0cmluZzogc3RyaW5nO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS54cyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMueHMsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5zbSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5tZCxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5sZyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIG1lZGlhUXVlcmllczoge1xuICAgIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7XG4gICAgdGhpcy5hZGRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xuICAgIHRoaXMuY3VycmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHNjcmVlbiBzaXplIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBsaXN0ZW5lciBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIGJyZWFrcG9pbnRzIGNoYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZExpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcmllcyA9IHRoaXMuYnJlYWtwb2ludHMubWFwKChicmVha3BvaW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG1xID0gbWF0Y2hNZWRpYShicmVha3BvaW50Lm1lZGlhUXVlcnlTdHJpbmcpO1xuXG4gICAgICBjb25zdCBsaXN0ZW5lciA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIC8vIFJ1biB0aGUgY2hlY2sgb3V0c2lkZSBvZiBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBzaW5jZSBBbmd1bGFyXG4gICAgICAgIC8vIGRvZXMgbm90IHdyYXAgbWF0Y2hNZWRpYSBsaXN0ZW5lcnMgaW4gTmdab25lLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYmxvZy5hc3NhZi5jby9hbmd1bGFyLTItY2hhbmdlLWRldGVjdGlvbi16b25lcy1hbmQtYW4tZXhhbXBsZS9cbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50Lm1hdGNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50Lm5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBtcS5hZGRMaXN0ZW5lcihsaXN0ZW5lcik7XG5cbiAgICAgIGlmIChtcS5tYXRjaGVzKSB7XG4gICAgICAgIHRoaXMubm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50Lm5hbWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZWRpYVF1ZXJ5TGlzdDogbXEsXG4gICAgICAgIGxpc3RlbmVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubWVkaWFRdWVyaWVzLmZvckVhY2goKG1lZGlhUXVlcnkpID0+IHtcbiAgICAgIG1lZGlhUXVlcnkubWVkaWFRdWVyeUxpc3QucmVtb3ZlTGlzdGVuZXIobWVkaWFRdWVyeS5saXN0ZW5lcik7XG4gICAgfSk7XG4gICAgdGhpcy5tZWRpYVF1ZXJpZXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy5jdXJyZW50U3ViamVjdC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { ReplaySubject, Subject } from 'rxjs';
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
4
|
+
import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
|
5
|
+
import { SkyResizeObserverService } from './resize-observer.service';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "./resize-observer.service";
|
8
|
+
/**
|
9
|
+
* Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
|
10
|
+
*/
|
11
|
+
export class SkyResizeObserverMediaQueryService {
|
12
|
+
constructor(resizeObserverService) {
|
13
|
+
this.resizeObserverService = resizeObserverService;
|
14
|
+
this._breakpoints = [
|
15
|
+
{
|
16
|
+
check: (width) => width <= 767,
|
17
|
+
name: SkyMediaBreakpoints.xs,
|
18
|
+
},
|
19
|
+
{
|
20
|
+
check: (width) => width > 767 && width <= 991,
|
21
|
+
name: SkyMediaBreakpoints.sm,
|
22
|
+
},
|
23
|
+
{
|
24
|
+
check: (width) => width > 991 && width <= 1199,
|
25
|
+
name: SkyMediaBreakpoints.md,
|
26
|
+
},
|
27
|
+
{
|
28
|
+
check: (width) => width > 1199,
|
29
|
+
name: SkyMediaBreakpoints.lg,
|
30
|
+
},
|
31
|
+
];
|
32
|
+
this._currentBreakpointObservable = new ReplaySubject(1);
|
33
|
+
this._stopListening = new Subject();
|
34
|
+
this._stopListening.subscribe(() => {
|
35
|
+
this._target = undefined;
|
36
|
+
this.updateBreakpoint(undefined);
|
37
|
+
});
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Returns the current breakpoint.
|
41
|
+
*/
|
42
|
+
get current() {
|
43
|
+
return this._currentBreakpoint;
|
44
|
+
}
|
45
|
+
ngOnDestroy() {
|
46
|
+
this._stopListening.next();
|
47
|
+
this._currentBreakpoint = undefined;
|
48
|
+
this._stopListening.complete();
|
49
|
+
this._currentBreakpointObservable.complete();
|
50
|
+
}
|
51
|
+
/**
|
52
|
+
* @internal
|
53
|
+
*/
|
54
|
+
destroy() {
|
55
|
+
this.ngOnDestroy();
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Sets the container element to watch. The `SkyResizeObserverMediaQueryService` will only observe one element at a
|
59
|
+
* time. Any previous subscriptions will be unsubscribed when a new element is observed.
|
60
|
+
*/
|
61
|
+
observe(element) {
|
62
|
+
if (this._target) {
|
63
|
+
if (this._target === element) {
|
64
|
+
return this;
|
65
|
+
}
|
66
|
+
this._stopListening.next();
|
67
|
+
}
|
68
|
+
this._target = element;
|
69
|
+
const width = element.nativeElement.offsetWidth;
|
70
|
+
if (width) {
|
71
|
+
const breakpoint = this.checkBreakpoint(width);
|
72
|
+
this.updateBreakpoint(breakpoint);
|
73
|
+
}
|
74
|
+
this._resizeSubscription = this.resizeObserverService
|
75
|
+
.observe(element)
|
76
|
+
.pipe(takeUntil(this._stopListening))
|
77
|
+
.subscribe((value) => {
|
78
|
+
const breakpoint = this.checkBreakpoint(value.contentRect.width);
|
79
|
+
/* istanbul ignore else */
|
80
|
+
if (breakpoint !== this._currentBreakpoint) {
|
81
|
+
this.updateBreakpoint(breakpoint);
|
82
|
+
}
|
83
|
+
});
|
84
|
+
return this;
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* Stop watching the container element.
|
88
|
+
*/
|
89
|
+
unobserve() {
|
90
|
+
this._stopListening.next();
|
91
|
+
}
|
92
|
+
/**
|
93
|
+
* Subscribes to element size changes that cross breakpoints.
|
94
|
+
*/
|
95
|
+
subscribe(listener) {
|
96
|
+
return this._currentBreakpointObservable
|
97
|
+
.pipe(takeUntil(this._stopListening))
|
98
|
+
.subscribe(listener);
|
99
|
+
}
|
100
|
+
updateBreakpoint(breakpoint) {
|
101
|
+
this._currentBreakpoint = breakpoint;
|
102
|
+
this._currentBreakpointObservable.next(breakpoint);
|
103
|
+
}
|
104
|
+
checkBreakpoint(width) {
|
105
|
+
return this._breakpoints.find((breakpoint) => breakpoint.check(width))
|
106
|
+
?.name;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
SkyResizeObserverMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: [{ token: i1.SkyResizeObserverService }], target: i0.ɵɵFactoryTarget.Injectable });
|
110
|
+
SkyResizeObserverMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, providedIn: 'any' });
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, decorators: [{
|
112
|
+
type: Injectable,
|
113
|
+
args: [{
|
114
|
+
providedIn: 'any',
|
115
|
+
}]
|
116
|
+
}], ctorParameters: function () { return [{ type: i1.SkyResizeObserverService }]; } });
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUd2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRXJFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFrQztJQXFDN0MsWUFBb0IscUJBQStDO1FBQS9DLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7UUE3QjNELGlCQUFZLEdBR2Q7WUFDSjtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxHQUFHO2dCQUN0QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRztnQkFDckQsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUk7Z0JBQ3RELElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FB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QztJQUVPLGVBQWUsQ0FBQyxLQUFhO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsRUFBRSxJQUFJLENBQUM7SUFDWCxDQUFDOzsrSEFoSFUsa0NBQWtDO21JQUFsQyxrQ0FBa0MsY0FGakMsS0FBSzsyRkFFTixrQ0FBa0M7a0JBSDlDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzIH0gZnJvbSAnLi4vbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi4vbWVkaWEtcXVlcnkvbWVkaWEtcXVlcnktbGlzdGVuZXInO1xuXG5pbXBvcnQgeyBTa3lSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBBY3RzIGxpa2UgYFNreU1lZGlhUXVlcnlTZXJ2aWNlYCBmb3IgYSBjb250YWluZXIgZWxlbWVudCwgZW1pdHRpbmcgdGhlIHNhbWUgcmVzcG9uc2l2ZSBicmVha3BvaW50cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRCcmVha3BvaW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfYnJlYWtwb2ludHM6IHtcbiAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IGJvb2xlYW47XG4gICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cztcbiAgfVtdID0gW1xuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPD0gNzY3LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy54cyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA3NjcgJiYgd2lkdGggPD0gOTkxLFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5zbSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA5OTEgJiYgd2lkdGggPD0gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IHdpZHRoID4gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcbiAgcHJpdmF0ZSBfY3VycmVudEJyZWFrcG9pbnRPYnNlcnZhYmxlID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgU2t5TWVkaWFCcmVha3BvaW50cyB8IHVuZGVmaW5lZFxuICA+KDEpO1xuICBwcml2YXRlIF9jdXJyZW50QnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cztcbiAgcHJpdmF0ZSBfcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX3N0b3BMaXN0ZW5pbmcgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF90YXJnZXQ/OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBTa3lSZXNpemVPYnNlcnZlclNlcnZpY2UpIHtcbiAgICB0aGlzLl9zdG9wTGlzdGVuaW5nLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl90YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnQodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9wTGlzdGVuaW5nLm5leHQoKTtcbiAgICB0aGlzLl9jdXJyZW50QnJlYWtwb2ludCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9zdG9wTGlzdGVuaW5nLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY3VycmVudEJyZWFrcG9pbnRPYnNlcnZhYmxlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nT25EZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29udGFpbmVyIGVsZW1lbnQgdG8gd2F0Y2guIFRoZSBgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZWAgd2lsbCBvbmx5IG9ic2VydmUgb25lIGVsZW1lbnQgYXQgYVxuICAgKiB0aW1lLiBBbnkgcHJldmlvdXMgc3Vic2NyaXB0aW9ucyB3aWxsIGJlIHVuc3Vic2NyaWJlZCB3aGVuIGEgbmV3IGVsZW1lbnQgaXMgb2JzZXJ2ZWQuXG4gICAqL1xuICBwdWJsaWMgb2JzZXJ2ZShlbGVtZW50OiBFbGVtZW50UmVmKTogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSB7XG4gICAgaWYgKHRoaXMuX3RhcmdldCkge1xuICAgICAgaWYgKHRoaXMuX3RhcmdldCA9PT0gZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICAgIHRoaXMuX3N0b3BMaXN0ZW5pbmcubmV4dCgpO1xuICAgIH1cbiAgICB0aGlzLl90YXJnZXQgPSBlbGVtZW50O1xuICAgIGNvbnN0IHdpZHRoID0gKGVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0V2lkdGg7XG4gICAgaWYgKHdpZHRoKSB7XG4gICAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy5jaGVja0JyZWFrcG9pbnQod2lkdGgpO1xuICAgICAgdGhpcy51cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuICAgIH1cbiAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZVxuICAgICAgLm9ic2VydmUoZWxlbWVudClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9zdG9wTGlzdGVuaW5nKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLmNoZWNrQnJlYWtwb2ludCh2YWx1ZS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChicmVha3BvaW50ICE9PSB0aGlzLl9jdXJyZW50QnJlYWtwb2ludCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgdW5vYnNlcnZlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3BMaXN0ZW5pbmcubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gZWxlbWVudCBzaXplIGNoYW5nZXMgdGhhdCBjcm9zcyBicmVha3BvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRCcmVha3BvaW50T2JzZXJ2YWJsZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3N0b3BMaXN0ZW5pbmcpKVxuICAgICAgLnN1YnNjcmliZShsaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJyZWFrcG9pbnQoYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cykge1xuICAgIHRoaXMuX2N1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB0aGlzLl9jdXJyZW50QnJlYWtwb2ludE9ic2VydmFibGUubmV4dChicmVha3BvaW50KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tCcmVha3BvaW50KHdpZHRoOiBudW1iZXIpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMuZmluZCgoYnJlYWtwb2ludCkgPT4gYnJlYWtwb2ludC5jaGVjayh3aWR0aCkpXG4gICAgICA/Lm5hbWU7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { Injectable, NgZone } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { finalize } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Service to create rxjs observables for changes to the content box dimensions of elements.
|
7
|
+
*/
|
8
|
+
export class SkyResizeObserverService {
|
9
|
+
constructor(zone) {
|
10
|
+
this.zone = zone;
|
11
|
+
this._tracking = [];
|
12
|
+
this._resizeObserver = new ResizeObserver((entries) => {
|
13
|
+
entries.forEach((entry) => this.callback(entry));
|
14
|
+
});
|
15
|
+
}
|
16
|
+
ngOnDestroy() {
|
17
|
+
this._resizeObserver.disconnect();
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Create rxjs observable to get size changes for an element ref.
|
21
|
+
*/
|
22
|
+
observe(element) {
|
23
|
+
return this.observeAndTrack(element).subjectObservable;
|
24
|
+
}
|
25
|
+
observeAndTrack(element) {
|
26
|
+
const checkTracking = this._tracking.findIndex((value) => {
|
27
|
+
return !value.subject.closed && value.element === element.nativeElement;
|
28
|
+
});
|
29
|
+
if (checkTracking === -1) {
|
30
|
+
this._resizeObserver.observe(element.nativeElement);
|
31
|
+
}
|
32
|
+
const subject = new Subject();
|
33
|
+
const subjectObservable = subject.pipe(finalize(() => {
|
34
|
+
// Are there any other tracking entries still watching this element?
|
35
|
+
const checkTracking = this._tracking.findIndex((value) => {
|
36
|
+
return (value.subject !== subject &&
|
37
|
+
!value.subject.closed &&
|
38
|
+
value.element === element.nativeElement);
|
39
|
+
});
|
40
|
+
if (checkTracking === -1) {
|
41
|
+
this._resizeObserver.unobserve(element.nativeElement);
|
42
|
+
}
|
43
|
+
}));
|
44
|
+
const tracking = {
|
45
|
+
element: element.nativeElement,
|
46
|
+
subject,
|
47
|
+
subjectObservable,
|
48
|
+
};
|
49
|
+
this._tracking.push(tracking);
|
50
|
+
return tracking;
|
51
|
+
}
|
52
|
+
callback(entry) {
|
53
|
+
this._tracking
|
54
|
+
.filter((value) => !(value.subject.closed || value.subject.isStopped))
|
55
|
+
.forEach((value) => {
|
56
|
+
/* istanbul ignore else */
|
57
|
+
if (value.element === entry.target) {
|
58
|
+
this.zone.run(() => {
|
59
|
+
value.subject.next(entry);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
});
|
63
|
+
}
|
64
|
+
}
|
65
|
+
SkyResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
66
|
+
SkyResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, providedIn: 'any' });
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, decorators: [{
|
68
|
+
type: Injectable,
|
69
|
+
args: [{
|
70
|
+
providedIn: 'any',
|
71
|
+
}]
|
72
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVExQzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFGeEIsY0FBUyxHQUE2QixFQUFFLENBQUM7UUFHL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDdkMsQ0FBQyxPQUE4QixFQUFFLEVBQUU7WUFDakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPLENBQUMsT0FBbUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlLENBQUMsT0FBbUI7UUFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUNwQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osb0VBQW9FO1lBQ3BFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZELE9BQU8sQ0FDTCxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU87b0JBQ3pCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNO29CQUNyQixLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQ3hDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUc7WUFDZixPQUFPLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDOUIsT0FBTztZQUNQLGlCQUFpQjtTQUNsQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUEwQjtRQUN6QyxJQUFJLENBQUMsU0FBUzthQUNYLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDckUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEFsRVUsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsS0FBSzsyRkFFTix3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgUmVzaXplT2JzZXJ2ZXJUcmFja2luZyA9IHtcbiAgZWxlbWVudDogRWxlbWVudDtcbiAgc3ViamVjdDogU3ViamVjdDxSZXNpemVPYnNlcnZlckVudHJ5PjtcbiAgc3ViamVjdE9ic2VydmFibGU6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeT47XG59O1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gY3JlYXRlIHJ4anMgb2JzZXJ2YWJsZXMgZm9yIGNoYW5nZXMgdG8gdGhlIGNvbnRlbnQgYm94IGRpbWVuc2lvbnMgb2YgZWxlbWVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcbiAgcHJpdmF0ZSBfdHJhY2tpbmc6IFJlc2l6ZU9ic2VydmVyVHJhY2tpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoXG4gICAgICAoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKSA9PiB7XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHRoaXMuY2FsbGJhY2soZW50cnkpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgcnhqcyBvYnNlcnZhYmxlIHRvIGdldCBzaXplIGNoYW5nZXMgZm9yIGFuIGVsZW1lbnQgcmVmLlxuICAgKi9cbiAgcHVibGljIG9ic2VydmUoZWxlbWVudDogRWxlbWVudFJlZik6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeT4ge1xuICAgIHJldHVybiB0aGlzLm9ic2VydmVBbmRUcmFjayhlbGVtZW50KS5zdWJqZWN0T2JzZXJ2YWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFuZFRyYWNrKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBSZXNpemVPYnNlcnZlclRyYWNraW5nIHtcbiAgICBjb25zdCBjaGVja1RyYWNraW5nID0gdGhpcy5fdHJhY2tpbmcuZmluZEluZGV4KCh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuICF2YWx1ZS5zdWJqZWN0LmNsb3NlZCAmJiB2YWx1ZS5lbGVtZW50ID09PSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfSk7XG4gICAgaWYgKGNoZWNrVHJhY2tpbmcgPT09IC0xKSB7XG4gICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxSZXNpemVPYnNlcnZlckVudHJ5PigpO1xuICAgIGNvbnN0IHN1YmplY3RPYnNlcnZhYmxlID0gc3ViamVjdC5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAvLyBBcmUgdGhlcmUgYW55IG90aGVyIHRyYWNraW5nIGVudHJpZXMgc3RpbGwgd2F0Y2hpbmcgdGhpcyBlbGVtZW50P1xuICAgICAgICBjb25zdCBjaGVja1RyYWNraW5nID0gdGhpcy5fdHJhY2tpbmcuZmluZEluZGV4KCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWx1ZS5zdWJqZWN0ICE9PSBzdWJqZWN0ICYmXG4gICAgICAgICAgICAhdmFsdWUuc3ViamVjdC5jbG9zZWQgJiZcbiAgICAgICAgICAgIHZhbHVlLmVsZW1lbnQgPT09IGVsZW1lbnQubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoY2hlY2tUcmFja2luZyA9PT0gLTEpIHtcbiAgICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IHRyYWNraW5nID0ge1xuICAgICAgZWxlbWVudDogZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgc3ViamVjdCxcbiAgICAgIHN1YmplY3RPYnNlcnZhYmxlLFxuICAgIH07XG4gICAgdGhpcy5fdHJhY2tpbmcucHVzaCh0cmFja2luZyk7XG4gICAgcmV0dXJuIHRyYWNraW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxsYmFjayhlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeSkge1xuICAgIHRoaXMuX3RyYWNraW5nXG4gICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gISh2YWx1ZS5zdWJqZWN0LmNsb3NlZCB8fCB2YWx1ZS5zdWJqZWN0LmlzU3RvcHBlZCkpXG4gICAgICAuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgPT09IGVudHJ5LnRhcmdldCkge1xuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdmFsdWUuc3ViamVjdC5uZXh0KGVudHJ5KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/skyux-core.mjs
CHANGED
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
|
|
2
2
|
import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, Pipe, ElementRef, Optional } from '@angular/core';
|
3
3
|
import * as i4 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
|
-
import { Subject, fromEvent, BehaviorSubject, Observable, of } from 'rxjs';
|
6
|
-
import { takeUntil, debounceTime } from 'rxjs/operators';
|
5
|
+
import { Subject, fromEvent, BehaviorSubject, ReplaySubject, Observable, of } from 'rxjs';
|
6
|
+
import { takeUntil, debounceTime, finalize } from 'rxjs/operators';
|
7
7
|
import * as i1 from '@skyux/i18n';
|
8
8
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
|
9
9
|
import * as i3 from '@angular/router';
|
@@ -1465,7 +1465,7 @@ class SkyMediaQueryService {
|
|
1465
1465
|
this.currentSubject.complete();
|
1466
1466
|
}
|
1467
1467
|
/**
|
1468
|
-
*
|
1468
|
+
* Subscribes to screen size changes.
|
1469
1469
|
* @param listener Specifies a function that is called when breakpoints change.
|
1470
1470
|
*/
|
1471
1471
|
subscribe(listener) {
|
@@ -2398,6 +2398,185 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
2398
2398
|
}]
|
2399
2399
|
}] });
|
2400
2400
|
|
2401
|
+
/**
|
2402
|
+
* Service to create rxjs observables for changes to the content box dimensions of elements.
|
2403
|
+
*/
|
2404
|
+
class SkyResizeObserverService {
|
2405
|
+
constructor(zone) {
|
2406
|
+
this.zone = zone;
|
2407
|
+
this._tracking = [];
|
2408
|
+
this._resizeObserver = new ResizeObserver((entries) => {
|
2409
|
+
entries.forEach((entry) => this.callback(entry));
|
2410
|
+
});
|
2411
|
+
}
|
2412
|
+
ngOnDestroy() {
|
2413
|
+
this._resizeObserver.disconnect();
|
2414
|
+
}
|
2415
|
+
/**
|
2416
|
+
* Create rxjs observable to get size changes for an element ref.
|
2417
|
+
*/
|
2418
|
+
observe(element) {
|
2419
|
+
return this.observeAndTrack(element).subjectObservable;
|
2420
|
+
}
|
2421
|
+
observeAndTrack(element) {
|
2422
|
+
const checkTracking = this._tracking.findIndex((value) => {
|
2423
|
+
return !value.subject.closed && value.element === element.nativeElement;
|
2424
|
+
});
|
2425
|
+
if (checkTracking === -1) {
|
2426
|
+
this._resizeObserver.observe(element.nativeElement);
|
2427
|
+
}
|
2428
|
+
const subject = new Subject();
|
2429
|
+
const subjectObservable = subject.pipe(finalize(() => {
|
2430
|
+
// Are there any other tracking entries still watching this element?
|
2431
|
+
const checkTracking = this._tracking.findIndex((value) => {
|
2432
|
+
return (value.subject !== subject &&
|
2433
|
+
!value.subject.closed &&
|
2434
|
+
value.element === element.nativeElement);
|
2435
|
+
});
|
2436
|
+
if (checkTracking === -1) {
|
2437
|
+
this._resizeObserver.unobserve(element.nativeElement);
|
2438
|
+
}
|
2439
|
+
}));
|
2440
|
+
const tracking = {
|
2441
|
+
element: element.nativeElement,
|
2442
|
+
subject,
|
2443
|
+
subjectObservable,
|
2444
|
+
};
|
2445
|
+
this._tracking.push(tracking);
|
2446
|
+
return tracking;
|
2447
|
+
}
|
2448
|
+
callback(entry) {
|
2449
|
+
this._tracking
|
2450
|
+
.filter((value) => !(value.subject.closed || value.subject.isStopped))
|
2451
|
+
.forEach((value) => {
|
2452
|
+
/* istanbul ignore else */
|
2453
|
+
if (value.element === entry.target) {
|
2454
|
+
this.zone.run(() => {
|
2455
|
+
value.subject.next(entry);
|
2456
|
+
});
|
2457
|
+
}
|
2458
|
+
});
|
2459
|
+
}
|
2460
|
+
}
|
2461
|
+
SkyResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
2462
|
+
SkyResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, providedIn: 'any' });
|
2463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverService, decorators: [{
|
2464
|
+
type: Injectable,
|
2465
|
+
args: [{
|
2466
|
+
providedIn: 'any',
|
2467
|
+
}]
|
2468
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
2469
|
+
|
2470
|
+
/**
|
2471
|
+
* Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
|
2472
|
+
*/
|
2473
|
+
class SkyResizeObserverMediaQueryService {
|
2474
|
+
constructor(resizeObserverService) {
|
2475
|
+
this.resizeObserverService = resizeObserverService;
|
2476
|
+
this._breakpoints = [
|
2477
|
+
{
|
2478
|
+
check: (width) => width <= 767,
|
2479
|
+
name: SkyMediaBreakpoints.xs,
|
2480
|
+
},
|
2481
|
+
{
|
2482
|
+
check: (width) => width > 767 && width <= 991,
|
2483
|
+
name: SkyMediaBreakpoints.sm,
|
2484
|
+
},
|
2485
|
+
{
|
2486
|
+
check: (width) => width > 991 && width <= 1199,
|
2487
|
+
name: SkyMediaBreakpoints.md,
|
2488
|
+
},
|
2489
|
+
{
|
2490
|
+
check: (width) => width > 1199,
|
2491
|
+
name: SkyMediaBreakpoints.lg,
|
2492
|
+
},
|
2493
|
+
];
|
2494
|
+
this._currentBreakpointObservable = new ReplaySubject(1);
|
2495
|
+
this._stopListening = new Subject();
|
2496
|
+
this._stopListening.subscribe(() => {
|
2497
|
+
this._target = undefined;
|
2498
|
+
this.updateBreakpoint(undefined);
|
2499
|
+
});
|
2500
|
+
}
|
2501
|
+
/**
|
2502
|
+
* Returns the current breakpoint.
|
2503
|
+
*/
|
2504
|
+
get current() {
|
2505
|
+
return this._currentBreakpoint;
|
2506
|
+
}
|
2507
|
+
ngOnDestroy() {
|
2508
|
+
this._stopListening.next();
|
2509
|
+
this._currentBreakpoint = undefined;
|
2510
|
+
this._stopListening.complete();
|
2511
|
+
this._currentBreakpointObservable.complete();
|
2512
|
+
}
|
2513
|
+
/**
|
2514
|
+
* @internal
|
2515
|
+
*/
|
2516
|
+
destroy() {
|
2517
|
+
this.ngOnDestroy();
|
2518
|
+
}
|
2519
|
+
/**
|
2520
|
+
* Sets the container element to watch. The `SkyResizeObserverMediaQueryService` will only observe one element at a
|
2521
|
+
* time. Any previous subscriptions will be unsubscribed when a new element is observed.
|
2522
|
+
*/
|
2523
|
+
observe(element) {
|
2524
|
+
if (this._target) {
|
2525
|
+
if (this._target === element) {
|
2526
|
+
return this;
|
2527
|
+
}
|
2528
|
+
this._stopListening.next();
|
2529
|
+
}
|
2530
|
+
this._target = element;
|
2531
|
+
const width = element.nativeElement.offsetWidth;
|
2532
|
+
if (width) {
|
2533
|
+
const breakpoint = this.checkBreakpoint(width);
|
2534
|
+
this.updateBreakpoint(breakpoint);
|
2535
|
+
}
|
2536
|
+
this._resizeSubscription = this.resizeObserverService
|
2537
|
+
.observe(element)
|
2538
|
+
.pipe(takeUntil(this._stopListening))
|
2539
|
+
.subscribe((value) => {
|
2540
|
+
const breakpoint = this.checkBreakpoint(value.contentRect.width);
|
2541
|
+
/* istanbul ignore else */
|
2542
|
+
if (breakpoint !== this._currentBreakpoint) {
|
2543
|
+
this.updateBreakpoint(breakpoint);
|
2544
|
+
}
|
2545
|
+
});
|
2546
|
+
return this;
|
2547
|
+
}
|
2548
|
+
/**
|
2549
|
+
* Stop watching the container element.
|
2550
|
+
*/
|
2551
|
+
unobserve() {
|
2552
|
+
this._stopListening.next();
|
2553
|
+
}
|
2554
|
+
/**
|
2555
|
+
* Subscribes to element size changes that cross breakpoints.
|
2556
|
+
*/
|
2557
|
+
subscribe(listener) {
|
2558
|
+
return this._currentBreakpointObservable
|
2559
|
+
.pipe(takeUntil(this._stopListening))
|
2560
|
+
.subscribe(listener);
|
2561
|
+
}
|
2562
|
+
updateBreakpoint(breakpoint) {
|
2563
|
+
this._currentBreakpoint = breakpoint;
|
2564
|
+
this._currentBreakpointObservable.next(breakpoint);
|
2565
|
+
}
|
2566
|
+
checkBreakpoint(width) {
|
2567
|
+
var _a;
|
2568
|
+
return (_a = this._breakpoints.find((breakpoint) => breakpoint.check(width))) === null || _a === void 0 ? void 0 : _a.name;
|
2569
|
+
}
|
2570
|
+
}
|
2571
|
+
SkyResizeObserverMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: [{ token: SkyResizeObserverService }], target: i0.ɵɵFactoryTarget.Injectable });
|
2572
|
+
SkyResizeObserverMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, providedIn: 'any' });
|
2573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyResizeObserverMediaQueryService, decorators: [{
|
2574
|
+
type: Injectable,
|
2575
|
+
args: [{
|
2576
|
+
providedIn: 'any',
|
2577
|
+
}]
|
2578
|
+
}], ctorParameters: function () { return [{ type: SkyResizeObserverService }]; } });
|
2579
|
+
|
2401
2580
|
function notifySubscribers(subscribers, item) {
|
2402
2581
|
for (const subscriber of subscribers) {
|
2403
2582
|
subscriber.next(item);
|
@@ -3039,5 +3218,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
3039
3218
|
* Generated bundle index. Do not edit.
|
3040
3219
|
*/
|
3041
3220
|
|
3042
|
-
export { MutationObserverService, NumericOptions, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyScrollableHostService, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3 };
|
3221
|
+
export { MutationObserverService, NumericOptions, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3 };
|
3043
3222
|
//# sourceMappingURL=skyux-core.mjs.map
|