@skyux/flyout 5.7.0 → 6.0.0-beta.1
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 +5 -5
- package/esm2020/index.mjs +14 -0
- package/esm2020/lib/modules/flyout/flyout-adapter.service.mjs +64 -0
- package/esm2020/lib/modules/flyout/flyout-instance.mjs +109 -0
- package/esm2020/lib/modules/flyout/flyout-iterator.component.mjs +55 -0
- package/esm2020/lib/modules/flyout/flyout-media-query.service.mjs +72 -0
- package/esm2020/lib/modules/flyout/flyout.component.mjs +499 -0
- package/esm2020/lib/modules/flyout/flyout.module.mjs +55 -0
- package/esm2020/lib/modules/flyout/flyout.service.mjs +169 -0
- package/esm2020/lib/modules/flyout/types/flyout-action.mjs +2 -0
- package/esm2020/lib/modules/flyout/types/flyout-before-close-handler.mjs +9 -0
- package/esm2020/lib/modules/flyout/types/flyout-close-args.mjs +2 -0
- package/esm2020/lib/modules/flyout/types/flyout-config.mjs +2 -0
- package/esm2020/lib/modules/flyout/types/flyout-message-type.mjs +13 -0
- package/esm2020/lib/modules/flyout/types/flyout-message.mjs +2 -0
- package/esm2020/lib/modules/flyout/types/flyout-permalink.mjs +2 -0
- package/esm2020/lib/modules/shared/sky-flyout-resources.module.mjs +54 -0
- package/esm2020/skyux-flyout.mjs +5 -0
- package/fesm2015/skyux-flyout.mjs +1065 -0
- package/fesm2015/skyux-flyout.mjs.map +1 -0
- package/{fesm2015/skyux-flyout.js → fesm2020/skyux-flyout.mjs} +30 -44
- package/fesm2020/skyux-flyout.mjs.map +1 -0
- package/package.json +30 -17
- package/bundles/skyux-flyout.umd.js +0 -1179
- package/esm2015/index.js +0 -14
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout-adapter.service.js +0 -64
- package/esm2015/lib/modules/flyout/flyout-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout-instance.js +0 -109
- package/esm2015/lib/modules/flyout/flyout-instance.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout-iterator.component.js +0 -59
- package/esm2015/lib/modules/flyout/flyout-iterator.component.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout-media-query.service.js +0 -72
- package/esm2015/lib/modules/flyout/flyout-media-query.service.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout.component.js +0 -508
- package/esm2015/lib/modules/flyout/flyout.component.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout.module.js +0 -56
- package/esm2015/lib/modules/flyout/flyout.module.js.map +0 -1
- package/esm2015/lib/modules/flyout/flyout.service.js +0 -169
- package/esm2015/lib/modules/flyout/flyout.service.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-action.js +0 -2
- package/esm2015/lib/modules/flyout/types/flyout-action.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-before-close-handler.js +0 -9
- package/esm2015/lib/modules/flyout/types/flyout-before-close-handler.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-close-args.js +0 -2
- package/esm2015/lib/modules/flyout/types/flyout-close-args.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-config.js +0 -2
- package/esm2015/lib/modules/flyout/types/flyout-config.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-message-type.js +0 -13
- package/esm2015/lib/modules/flyout/types/flyout-message-type.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-message.js +0 -2
- package/esm2015/lib/modules/flyout/types/flyout-message.js.map +0 -1
- package/esm2015/lib/modules/flyout/types/flyout-permalink.js +0 -2
- package/esm2015/lib/modules/flyout/types/flyout-permalink.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-flyout-resources.module.js +0 -54
- package/esm2015/lib/modules/shared/sky-flyout-resources.module.js.map +0 -1
- package/esm2015/skyux-flyout.js +0 -5
- package/esm2015/skyux-flyout.js.map +0 -1
- package/fesm2015/skyux-flyout.js.map +0 -1
package/documentation.json
CHANGED
|
@@ -649,7 +649,7 @@
|
|
|
649
649
|
"name": "NgModule"
|
|
650
650
|
},
|
|
651
651
|
"arguments": {
|
|
652
|
-
"obj": "{\n declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],\n imports: [\n A11yModule,\n CommonModule,\n FormsModule,\n RouterModule,\n SkyI18nModule,\n SkyIconModule,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n SkyHrefModule,\n ],\n exports: [SkyFlyoutComponent],\n
|
|
652
|
+
"obj": "{\n declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],\n imports: [\n A11yModule,\n CommonModule,\n FormsModule,\n RouterModule,\n SkyI18nModule,\n SkyIconModule,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n SkyHrefModule,\n ],\n exports: [SkyFlyoutComponent],\n}"
|
|
653
653
|
}
|
|
654
654
|
}
|
|
655
655
|
],
|
|
@@ -666,7 +666,7 @@
|
|
|
666
666
|
"sources": [
|
|
667
667
|
{
|
|
668
668
|
"fileName": "projects/flyout/src/modules/flyout/flyout.module.ts",
|
|
669
|
-
"line":
|
|
669
|
+
"line": 31,
|
|
670
670
|
"character": 13
|
|
671
671
|
}
|
|
672
672
|
]
|
|
@@ -1802,7 +1802,7 @@
|
|
|
1802
1802
|
{
|
|
1803
1803
|
"fileName": "flyout-demo.module.ts",
|
|
1804
1804
|
"filePath": "/projects/flyout/documentation/code-examples/flyout/basic/flyout-demo.module.ts",
|
|
1805
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFlyoutModule } from '@skyux/flyout';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyFlyoutModule],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n
|
|
1805
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFlyoutModule } from '@skyux/flyout';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyFlyoutModule],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n exports: [FlyoutDemoComponent],\n})\nexport class AutocompleteDemoModule {}\n"
|
|
1806
1806
|
},
|
|
1807
1807
|
{
|
|
1808
1808
|
"fileName": "flyout-demo-flyout.component.ts",
|
|
@@ -1822,7 +1822,7 @@
|
|
|
1822
1822
|
{
|
|
1823
1823
|
"fileName": "flyout-demo.module.ts",
|
|
1824
1824
|
"filePath": "/projects/flyout/documentation/code-examples/flyout/custom-headers/flyout-demo.module.ts",
|
|
1825
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFlyoutModule } from '@skyux/flyout';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyFlyoutModule],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n
|
|
1825
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFlyoutModule } from '@skyux/flyout';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyFlyoutModule],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n exports: [FlyoutDemoComponent],\n})\nexport class AutocompleteDemoModule {}\n"
|
|
1826
1826
|
},
|
|
1827
1827
|
{
|
|
1828
1828
|
"fileName": "flyout-demo-context.ts",
|
|
@@ -1852,7 +1852,7 @@
|
|
|
1852
1852
|
{
|
|
1853
1853
|
"fileName": "flyout-demo.module.ts",
|
|
1854
1854
|
"filePath": "/projects/flyout/documentation/code-examples/flyout/grid/flyout-demo.module.ts",
|
|
1855
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAvatarModule } from '@skyux/avatar';\nimport { SkyFlyoutModule } from '@skyux/flyout';\nimport { SkyKeyInfoModule, SkyLabelModule } from '@skyux/indicators';\nimport { SkyPageSummaryModule } from '@skyux/layout';\nimport { SkyListModule } from '@skyux/list-builder';\nimport { SkyListViewGridModule } from '@skyux/list-builder-view-grids';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyAvatarModule,\n SkyFlyoutModule,\n SkyListModule,\n SkyKeyInfoModule,\n SkyLabelModule,\n SkyListViewGridModule,\n SkyPageSummaryModule,\n ],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n
|
|
1855
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAvatarModule } from '@skyux/avatar';\nimport { SkyFlyoutModule } from '@skyux/flyout';\nimport { SkyKeyInfoModule, SkyLabelModule } from '@skyux/indicators';\nimport { SkyPageSummaryModule } from '@skyux/layout';\nimport { SkyListModule } from '@skyux/list-builder';\nimport { SkyListViewGridModule } from '@skyux/list-builder-view-grids';\n\nimport { FlyoutDemoFlyoutComponent } from './flyout-demo-flyout.component';\nimport { FlyoutDemoComponent } from './flyout-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyAvatarModule,\n SkyFlyoutModule,\n SkyListModule,\n SkyKeyInfoModule,\n SkyLabelModule,\n SkyListViewGridModule,\n SkyPageSummaryModule,\n ],\n declarations: [FlyoutDemoComponent, FlyoutDemoFlyoutComponent],\n exports: [FlyoutDemoComponent],\n})\nexport class AutocompleteDemoModule {}\n"
|
|
1856
1856
|
}
|
|
1857
1857
|
]
|
|
1858
1858
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './lib/modules/flyout/flyout-instance';
|
|
2
|
+
export * from './lib/modules/flyout/flyout.module';
|
|
3
|
+
export * from './lib/modules/flyout/flyout.service';
|
|
4
|
+
export * from './lib/modules/flyout/types/flyout-action';
|
|
5
|
+
export * from './lib/modules/flyout/types/flyout-before-close-handler';
|
|
6
|
+
export * from './lib/modules/flyout/types/flyout-close-args';
|
|
7
|
+
export * from './lib/modules/flyout/types/flyout-config';
|
|
8
|
+
export * from './lib/modules/flyout/types/flyout-message';
|
|
9
|
+
export * from './lib/modules/flyout/types/flyout-message-type';
|
|
10
|
+
export * from './lib/modules/flyout/types/flyout-permalink';
|
|
11
|
+
// Components and directives must be exported to support Angular’s “partial” Ivy compiler.
|
|
12
|
+
// Obscure names are used to indicate types are not part of the public API.
|
|
13
|
+
export { SkyFlyoutComponent as λ1 } from './lib/modules/flyout/flyout.component';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFy4oCZcyDigJxwYXJ0aWFs4oCdIEl2eSBjb21waWxlci5cbi8vIE9ic2N1cmUgbmFtZXMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdHlwZXMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgU2t5Rmx5b3V0Q29tcG9uZW50IGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Injectable, RendererFactory2, } from '@angular/core';
|
|
2
|
+
import { SkyAppWindowRef, SkyMediaBreakpoints } from '@skyux/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@skyux/core";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SkyFlyoutAdapterService {
|
|
9
|
+
constructor(rendererFactory, windowRef) {
|
|
10
|
+
this.rendererFactory = rendererFactory;
|
|
11
|
+
this.windowRef = windowRef;
|
|
12
|
+
this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
|
|
13
|
+
}
|
|
14
|
+
adjustHeaderForHelp(header) {
|
|
15
|
+
const windowObj = this.windowRef.nativeWindow;
|
|
16
|
+
const helpWidget = windowObj.document.getElementById('bb-help-invoker');
|
|
17
|
+
if (helpWidget) {
|
|
18
|
+
this.renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
setResponsiveClass(element, breakpoint) {
|
|
22
|
+
const nativeEl = element.nativeElement;
|
|
23
|
+
this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
|
|
24
|
+
this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
|
|
25
|
+
this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
|
|
26
|
+
this.renderer.removeClass(nativeEl, 'sky-responsive-container-lg');
|
|
27
|
+
let newClass;
|
|
28
|
+
switch (breakpoint) {
|
|
29
|
+
case SkyMediaBreakpoints.xs: {
|
|
30
|
+
newClass = 'sky-responsive-container-xs';
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case SkyMediaBreakpoints.sm: {
|
|
34
|
+
newClass = 'sky-responsive-container-sm';
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
case SkyMediaBreakpoints.md: {
|
|
38
|
+
newClass = 'sky-responsive-container-md';
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
default: {
|
|
42
|
+
newClass = 'sky-responsive-container-lg';
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
this.renderer.addClass(nativeEl, newClass);
|
|
47
|
+
}
|
|
48
|
+
toggleIframePointerEvents(enable) {
|
|
49
|
+
// When iframes are present on the page, they may interfere with dragging
|
|
50
|
+
// temporarily disable pointer events in iframes when dragging starts.
|
|
51
|
+
// When re-enabling we set to the empty string as it will remove the element styling
|
|
52
|
+
// and fall back to any css originally given to iframe
|
|
53
|
+
const iframes = document.querySelectorAll('iframe');
|
|
54
|
+
for (let i = 0; i < iframes.length; i++) {
|
|
55
|
+
iframes[i].style.pointerEvents = enable ? '' : 'none';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutAdapterService });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
|
|
62
|
+
type: Injectable
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVuRTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFDVSxlQUFpQyxFQUNqQyxTQUEwQjtRQUQxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRU0sa0JBQWtCLENBQ3ZCLE9BQW1CLEVBQ25CLFVBQStCO1FBRS9CLE1BQU0sUUFBUSxHQUFnQixPQUFPLENBQUMsYUFBYSxDQUFDO1FBRXBELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBRW5FLElBQUksUUFBZ0IsQ0FBQztRQUVyQixRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtZQUNELEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLDZCQUE2QixDQUFDO2dCQUN6QyxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxRQUFRLEdBQUcsNkJBQTZCLENBQUM7Z0JBQ3pDLE1BQU07YUFDUDtTQUNGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxNQUFlO1FBQzlDLHlFQUF5RTtRQUN6RSxzRUFBc0U7UUFDdEUsb0ZBQW9GO1FBQ3BGLHNEQUFzRDtRQUN0RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUN2RDtJQUNILENBQUM7O29IQS9EVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiwgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGp1c3RIZWFkZXJGb3JIZWxwKGhlYWRlcjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IHdpbmRvd09iaiA9IHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdztcbiAgICBjb25zdCBoZWxwV2lkZ2V0ID0gd2luZG93T2JqLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYi1oZWxwLWludm9rZXInKTtcblxuICAgIGlmIChoZWxwV2lkZ2V0KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzcG9uc2l2ZUNsYXNzKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBuYXRpdmVFbDogSFRNTEVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLXhzJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1zbScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJyk7XG5cbiAgICBsZXQgbmV3Q2xhc3M6IHN0cmluZztcblxuICAgIHN3aXRjaCAoYnJlYWtwb2ludCkge1xuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1zbSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kOiB7XG4gICAgICAgIG5ld0NsYXNzID0gJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1tZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbGcnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5hdGl2ZUVsLCBuZXdDbGFzcyk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpZnJhbWUnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlmcmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmcmFtZXNbaV0uc3R5bGUucG9pbnRlckV2ZW50cyA9IGVuYWJsZSA/ICcnIDogJ25vbmUnO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { SkyFlyoutMessageType } from './types/flyout-message-type';
|
|
4
|
+
/**
|
|
5
|
+
* Represents a single displayed flyout.
|
|
6
|
+
*/
|
|
7
|
+
export class SkyFlyoutInstance {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* An event that the flyout instance emits when it closes.
|
|
11
|
+
*/
|
|
12
|
+
this.closed = new EventEmitter();
|
|
13
|
+
/**
|
|
14
|
+
* A `boolean` value that returns `true` if the flyout is open.
|
|
15
|
+
* @default true
|
|
16
|
+
*/
|
|
17
|
+
this.isOpen = true;
|
|
18
|
+
this._beforeClose = new Subject();
|
|
19
|
+
this._iteratorNextButtonClick = new EventEmitter();
|
|
20
|
+
this._iteratorPreviousButtonClick = new EventEmitter();
|
|
21
|
+
this._iteratorNextButtonDisabled = false;
|
|
22
|
+
this._iteratorPreviousButtonDisabled = false;
|
|
23
|
+
this._hostController = new Subject();
|
|
24
|
+
this.closed.subscribe(() => {
|
|
25
|
+
this.isOpen = false;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An event that the modal instance emits when it is about to close.
|
|
30
|
+
* If a subscription exists for this event,
|
|
31
|
+
* the modal does not close until the subscriber calls the handler's `closeModal` method.
|
|
32
|
+
*/
|
|
33
|
+
get beforeClose() {
|
|
34
|
+
return this._beforeClose;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Used to communicate with the host component.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
get hostController() {
|
|
41
|
+
return this._hostController;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* An event that the flyout instance emits when users click the next iterator button.
|
|
45
|
+
*/
|
|
46
|
+
get iteratorNextButtonClick() {
|
|
47
|
+
return this._iteratorNextButtonClick;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* An event that the flyout instance emits when users click the previous iterator button.
|
|
51
|
+
*/
|
|
52
|
+
get iteratorPreviousButtonClick() {
|
|
53
|
+
return this._iteratorPreviousButtonClick;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Disables the next iterator button.
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
set iteratorNextButtonDisabled(newValue) {
|
|
60
|
+
this._iteratorNextButtonDisabled = newValue;
|
|
61
|
+
if (newValue) {
|
|
62
|
+
this.hostController.next({
|
|
63
|
+
type: SkyFlyoutMessageType.DisableIteratorNextButton,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.hostController.next({
|
|
68
|
+
type: SkyFlyoutMessageType.EnableIteratorNextButton,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
get iteratorNextButtonDisabled() {
|
|
73
|
+
return this._iteratorNextButtonDisabled;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Disables the previous iterator button.
|
|
77
|
+
* @default false
|
|
78
|
+
*/
|
|
79
|
+
set iteratorPreviousButtonDisabled(newValue) {
|
|
80
|
+
this._iteratorPreviousButtonDisabled = newValue;
|
|
81
|
+
if (newValue) {
|
|
82
|
+
this.hostController.next({
|
|
83
|
+
type: SkyFlyoutMessageType.DisableIteratorPreviousButton,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.hostController.next({
|
|
88
|
+
type: SkyFlyoutMessageType.EnableIteratorPreviousButton,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
get iteratorPreviousButtonDisabled() {
|
|
93
|
+
return this._iteratorPreviousButtonDisabled;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Closes the flyout instance and emits its `closed` event.
|
|
97
|
+
* @param args Arguments used when closing the flyout.
|
|
98
|
+
*/
|
|
99
|
+
close(args) {
|
|
100
|
+
this.hostController.next({
|
|
101
|
+
type: SkyFlyoutMessageType.Close,
|
|
102
|
+
data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },
|
|
103
|
+
});
|
|
104
|
+
this._iteratorPreviousButtonClick.complete();
|
|
105
|
+
this._iteratorNextButtonClick.complete();
|
|
106
|
+
this.hostController.complete();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBc0c1QjtRQTVGQTs7V0FFRztRQUNJLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBZXpDOzs7V0FHRztRQUNJLFdBQU0sR0FBRyxJQUFJLENBQUM7UUEwRGIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQztRQUUxRCw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBELGlDQUE0QixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEQsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBRXBDLG9DQUErQixHQUFHLEtBQUssQ0FBQztRQUV4QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBR3hELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUF6R0Q7Ozs7T0FJRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQVlEOzs7T0FHRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsMEJBQTBCLENBQUMsUUFBaUI7UUFDckQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLFFBQVEsQ0FBQztRQUM1QyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMseUJBQXlCO2FBQ3JELENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QjthQUNwRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFXLDBCQUEwQjtRQUNuQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyw4QkFBOEIsQ0FBQyxRQUFpQjtRQUN6RCxJQUFJLENBQUMsK0JBQStCLEdBQUcsUUFBUSxDQUFDO1FBQ2hELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyw2QkFBNkI7YUFDekQsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsNEJBQTRCO2FBQ3hELENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELElBQVcsOEJBQThCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLCtCQUErQixDQUFDO0lBQzlDLENBQUM7SUFvQkQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLElBQXlCO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxLQUFLO1lBQ2hDLElBQUksRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7U0FDbkUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENsb3NlQXJncyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgZGlzcGxheWVkIGZseW91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgaXMgYWJvdXQgdG8gY2xvc2UuXG4gICAqIElmIGEgc3Vic2NyaXB0aW9uIGV4aXN0cyBmb3IgdGhpcyBldmVudCxcbiAgICogdGhlIG1vZGFsIGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBoYW5kbGVyJ3MgYGNsb3NlTW9kYWxgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2U7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZTogVDtcblxuICAvKipcbiAgICogVXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBob3N0IGNvbXBvbmVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhvc3RDb250cm9sbGVyKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLl9ob3N0Q29udHJvbGxlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGBib29sZWFuYCB2YWx1ZSB0aGF0IHJldHVybnMgYHRydWVgIGlmIHRoZSBmbHlvdXQgaXMgb3Blbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcHVibGljIGlzT3BlbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIGZseW91dCBpbnN0YW5jZSBlbWl0cyB3aGVuIHVzZXJzIGNsaWNrIHRoZSBuZXh0IGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5faXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaztcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgbmV4dCBpdGVyYXRvciBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgc2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuaG9zdENvbnRyb2xsZXIubmV4dCh7XG4gICAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkRpc2FibGVJdGVyYXRvck5leHRCdXR0b24sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBzZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2JlZm9yZUNsb3NlID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyPigpO1xuXG4gIHByaXZhdGUgX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2hvc3RDb250cm9sbGVyID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dCBpbnN0YW5jZSBhbmQgZW1pdHMgaXRzIGBjbG9zZWRgIGV2ZW50LlxuICAgKiBAcGFyYW0gYXJncyBBcmd1bWVudHMgdXNlZCB3aGVuIGNsb3NpbmcgdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShhcmdzPzogU2t5Rmx5b3V0Q2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgICAgZGF0YTogeyBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5faXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5faXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuaG9zdENvbnRyb2xsZXIuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@skyux/indicators";
|
|
5
|
+
import * as i2 from "@skyux/theme";
|
|
6
|
+
import * as i3 from "@skyux/i18n";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export class SkyFlyoutIteratorComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.ngUnsubscribe = new Subject();
|
|
13
|
+
this._nextButtonClick = new EventEmitter();
|
|
14
|
+
this._previousButtonClick = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
get previousButtonClick() {
|
|
17
|
+
return this._previousButtonClick;
|
|
18
|
+
}
|
|
19
|
+
get nextButtonClick() {
|
|
20
|
+
return this._nextButtonClick;
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
this.ngUnsubscribe.next();
|
|
24
|
+
this.ngUnsubscribe.complete();
|
|
25
|
+
this._previousButtonClick.complete();
|
|
26
|
+
this._nextButtonClick.complete();
|
|
27
|
+
}
|
|
28
|
+
onIteratorPreviousClick() {
|
|
29
|
+
/* istanbul ignore else */
|
|
30
|
+
if (!this.previousButtonDisabled) {
|
|
31
|
+
this._previousButtonClick.emit();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
onIteratorNextClick() {
|
|
35
|
+
/* istanbul ignore else */
|
|
36
|
+
if (!this.nextButtonDisabled) {
|
|
37
|
+
this._nextButtonClick.emit();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], components: [{ type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe } });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'sky-flyout-iterator', template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"] }]
|
|
46
|
+
}], propDecorators: { nextButtonDisabled: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], previousButtonDisabled: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], previousButtonClick: [{
|
|
51
|
+
type: Output
|
|
52
|
+
}], nextButtonClick: [{
|
|
53
|
+
type: Output
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRS9COztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQXNCVSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFOUIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBc0J6RDtJQXBDQyxJQUNXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFDVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFRTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDOzt1SEExQ1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsZ1FDbEJ2Qyx5dkNBMENBOzJGRHhCYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU14QixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlLLG1CQUFtQjtzQkFEN0IsTUFBTTtnQkFNSSxlQUFlO3NCQUR6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZseW91dC1pdGVyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmV2aW91c0J1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHByZXZpb3VzQnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNCdXR0b25DbGljaztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IG5leHRCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9uZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX25leHRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9wcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3ByZXZpb3VzQnV0dG9uQ2xpY2suY29tcGxldGUoKTtcbiAgICB0aGlzLl9uZXh0QnV0dG9uQ2xpY2suY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5wcmV2aW91c0J1dHRvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9wcmV2aW91c0J1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvck5leHRDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5uZXh0QnV0dG9uRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX25leHRCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGlkPVwiaXRlcmF0b3JzXCIgY2xhc3M9XCJza3ktZmx5b3V0LWl0ZXJhdG9yc1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJza3ktYnRuXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgJ3NreXV4X2ZseW91dF9pdGVyYXRvcl9wcmV2aW91c19idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgXCJcbiAgICBbZGlzYWJsZWRdPVwicHJldmlvdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvclByZXZpb3VzQ2xpY2soKVwiXG4gID5cbiAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwiY2hldnJvbi11cFwiPiA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvblxuICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICBpY29uPVwiY2hldnJvbi11cFwiXG4gICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgIHNpemU9XCJsZ1wiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJza3ktYnRuXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbZGlzYWJsZWRdPVwibmV4dEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWNvbXBhY3QnOiAnZGVmYXVsdCcsXG4gICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LW1hcmdpbi1pbmxpbmUtc20nOiAnbW9kZXJuJ1xuICAgIH1cIlxuICAgIChjbGljayk9XCJvbkl0ZXJhdG9yTmV4dENsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNoZXZyb24tZG93blwiPiA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvblxuICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICBpY29uPVwiY2hldnJvbi1kb3duXCJcbiAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgc2l6ZT1cImxnXCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SkyMediaBreakpoints } from '@skyux/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SkyFlyoutMediaQueryService {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.currentSubject = new BehaviorSubject(this.current);
|
|
11
|
+
this._current = SkyMediaBreakpoints.xs;
|
|
12
|
+
this.currentSubject.next(this._current);
|
|
13
|
+
}
|
|
14
|
+
get current() {
|
|
15
|
+
return this._current;
|
|
16
|
+
}
|
|
17
|
+
subscribe(listener) {
|
|
18
|
+
return this.currentSubject.subscribe({
|
|
19
|
+
next: (breakpoints) => {
|
|
20
|
+
listener(breakpoints);
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
setBreakpointForWidth(width) {
|
|
25
|
+
let breakpoint;
|
|
26
|
+
if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.xs)) {
|
|
27
|
+
breakpoint = SkyMediaBreakpoints.xs;
|
|
28
|
+
}
|
|
29
|
+
else if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.sm)) {
|
|
30
|
+
breakpoint = SkyMediaBreakpoints.sm;
|
|
31
|
+
}
|
|
32
|
+
else if (this.isWidthWithinBreakpiont(width, SkyMediaBreakpoints.md)) {
|
|
33
|
+
breakpoint = SkyMediaBreakpoints.md;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
breakpoint = SkyMediaBreakpoints.lg;
|
|
37
|
+
}
|
|
38
|
+
this._current = breakpoint;
|
|
39
|
+
this.currentSubject.next(this._current);
|
|
40
|
+
}
|
|
41
|
+
isWidthWithinBreakpiont(width, breakpoint) {
|
|
42
|
+
const xsBreakpointMaxPixels = 767;
|
|
43
|
+
const smBreakpointMinPixels = 768;
|
|
44
|
+
const smBreakpointMaxPixels = 991;
|
|
45
|
+
const mdBreakpointMinPixels = 992;
|
|
46
|
+
const mdBreakpointMaxPixels = 1199;
|
|
47
|
+
const lgBreakpointMinPixels = 1200;
|
|
48
|
+
switch (breakpoint) {
|
|
49
|
+
case SkyMediaBreakpoints.xs: {
|
|
50
|
+
return width <= xsBreakpointMaxPixels;
|
|
51
|
+
}
|
|
52
|
+
case SkyMediaBreakpoints.sm: {
|
|
53
|
+
return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;
|
|
54
|
+
}
|
|
55
|
+
case SkyMediaBreakpoints.md: {
|
|
56
|
+
return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;
|
|
57
|
+
}
|
|
58
|
+
default: {
|
|
59
|
+
return width >= lgBreakpointMinPixels;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
destroy() {
|
|
64
|
+
this.currentSubject.complete();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
|
|
70
|
+
type: Injectable
|
|
71
|
+
}], ctorParameters: function () { return []; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sYUFBYSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUVyRDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFXckM7UUFOUSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUMxQyxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFTSxhQUFRLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBR3hDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBWkQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBWU0sU0FBUyxDQUFDLFFBQStCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxFQUFFLENBQUMsV0FBZ0MsRUFBRSxFQUFFO2dCQUN6QyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksVUFBK0IsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDL0QsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztTQUNyQzthQUFNLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN0RSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7YUFBTTtZQUNMLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLHVCQUF1QixDQUM1QixLQUFhLEVBQ2IsVUFBK0I7UUFFL0IsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFbkMsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDdkM7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsSUFBSSxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDekU7WUFDRCxLQUFLLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEtBQUssSUFBSSxxQkFBcUIsSUFBSSxLQUFLLElBQUkscUJBQXFCLENBQUM7YUFDekU7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxPQUFPLEtBQUssSUFBSSxxQkFBcUIsQ0FBQzthQUN2QztTQUNGO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O3VIQXJFVSwwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cywgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TWVkaWFRdWVyeVNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0Lm5leHQodGhpcy5fY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgbGlzdGVuZXIoYnJlYWtwb2ludHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuXG4gICAgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMueHMpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMuc20pKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5zbTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXaWR0aFdpdGhpbkJyZWFrcGlvbnQod2lkdGgsIFNreU1lZGlhQnJlYWtwb2ludHMubWQpKSB7XG4gICAgICBicmVha3BvaW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWtwb2ludCA9IFNreU1lZGlhQnJlYWtwb2ludHMubGc7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy5jdXJyZW50U3ViamVjdC5uZXh0KHRoaXMuX2N1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzV2lkdGhXaXRoaW5CcmVha3Bpb250KFxuICAgIHdpZHRoOiBudW1iZXIsXG4gICAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50c1xuICApOiBib29sZWFuIHtcbiAgICBjb25zdCB4c0JyZWFrcG9pbnRNYXhQaXhlbHMgPSA3Njc7XG4gICAgY29uc3Qgc21CcmVha3BvaW50TWluUGl4ZWxzID0gNzY4O1xuICAgIGNvbnN0IHNtQnJlYWtwb2ludE1heFBpeGVscyA9IDk5MTtcbiAgICBjb25zdCBtZEJyZWFrcG9pbnRNaW5QaXhlbHMgPSA5OTI7XG4gICAgY29uc3QgbWRCcmVha3BvaW50TWF4UGl4ZWxzID0gMTE5OTtcbiAgICBjb25zdCBsZ0JyZWFrcG9pbnRNaW5QaXhlbHMgPSAxMjAwO1xuXG4gICAgc3dpdGNoIChicmVha3BvaW50KSB7XG4gICAgICBjYXNlIFNreU1lZGlhQnJlYWtwb2ludHMueHM6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoIDw9IHhzQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gc21CcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IHNtQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICByZXR1cm4gd2lkdGggPj0gbWRCcmVha3BvaW50TWluUGl4ZWxzICYmIHdpZHRoIDw9IG1kQnJlYWtwb2ludE1heFBpeGVscztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID49IGxnQnJlYWtwb2ludE1pblBpeGVscztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|