@kusena/wui-single 18.0.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/README.md +24 -0
- package/esm2022/kusena-wui-single.mjs +5 -0
- package/esm2022/lib/components/app/app.component.mjs +63 -0
- package/esm2022/lib/components/app-bar/app-bar.component.mjs +16 -0
- package/esm2022/lib/components/avatar/avatar.component.mjs +35 -0
- package/esm2022/lib/components/dialog/dialog.component.mjs +54 -0
- package/esm2022/lib/components/drawer/drawer-item.component.mjs +41 -0
- package/esm2022/lib/components/drawer/drawer.component.mjs +82 -0
- package/esm2022/lib/components/drawer/drawer.directive.mjs +22 -0
- package/esm2022/lib/components/form-field/wui-form-field.component.mjs +63 -0
- package/esm2022/lib/components/form-field/wui-input.directive.mjs +68 -0
- package/esm2022/lib/components/icon/icon.component.mjs +22 -0
- package/esm2022/lib/components/list/list.component.mjs +31 -0
- package/esm2022/lib/components/loading/loading.component.mjs +60 -0
- package/esm2022/lib/components/loading-dialog/loading-dialog.component.mjs +24 -0
- package/esm2022/lib/components/menu/menu.component.mjs +134 -0
- package/esm2022/lib/components/modal/modal-host.component.mjs +21 -0
- package/esm2022/lib/components/modal/modal-overlay.mjs +63 -0
- package/esm2022/lib/components/modal/modal.component.mjs +38 -0
- package/esm2022/lib/components/nav/nav.component.mjs +85 -0
- package/esm2022/lib/components/page/page-host.component.mjs +21 -0
- package/esm2022/lib/components/page/page-overlay.service.mjs +63 -0
- package/esm2022/lib/components/page/page.component.mjs +23 -0
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +65 -0
- package/esm2022/lib/components/toggle/toggle.component.mjs +79 -0
- package/esm2022/lib/directives/menu.directive.mjs +79 -0
- package/esm2022/lib/directives/nav.directive.mjs +78 -0
- package/esm2022/lib/directives/num-input.directive.mjs +105 -0
- package/esm2022/lib/directives/page-header.directive.mjs +48 -0
- package/esm2022/lib/directives/ripple.directive.mjs +87 -0
- package/esm2022/lib/directives/scroll-end.directive.mjs +27 -0
- package/esm2022/lib/directives/sortable.directive.mjs +99 -0
- package/esm2022/lib/index.mjs +39 -0
- package/esm2022/lib/services/message.service.mjs +22 -0
- package/esm2022/lib/services/modal.service.mjs +26 -0
- package/esm2022/lib/services/nav.service.mjs +55 -0
- package/esm2022/lib/services/page.service.mjs +38 -0
- package/esm2022/lib/services/router.service.mjs +42 -0
- package/esm2022/lib/services/wui.service.mjs +43 -0
- package/esm2022/lib/wui-single.component.mjs +19 -0
- package/esm2022/lib/wui.providers.mjs +20 -0
- package/esm2022/public-api.mjs +5 -0
- package/fesm2022/kusena-wui-single.mjs +1841 -0
- package/fesm2022/kusena-wui-single.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/app/app.component.d.ts +16 -0
- package/lib/components/app-bar/app-bar.component.d.ts +5 -0
- package/lib/components/avatar/avatar.component.d.ts +10 -0
- package/lib/components/dialog/dialog.component.d.ts +9 -0
- package/lib/components/drawer/drawer-item.component.d.ts +8 -0
- package/lib/components/drawer/drawer.component.d.ts +21 -0
- package/lib/components/drawer/drawer.directive.d.ts +7 -0
- package/lib/components/form-field/wui-form-field.component.d.ts +13 -0
- package/lib/components/form-field/wui-input.directive.d.ts +17 -0
- package/lib/components/icon/icon.component.d.ts +7 -0
- package/lib/components/list/list.component.d.ts +9 -0
- package/lib/components/loading/loading.component.d.ts +9 -0
- package/lib/components/loading-dialog/loading-dialog.component.d.ts +8 -0
- package/lib/components/menu/menu.component.d.ts +27 -0
- package/lib/components/modal/modal-host.component.d.ts +10 -0
- package/lib/components/modal/modal-overlay.d.ts +25 -0
- package/lib/components/modal/modal.component.d.ts +11 -0
- package/lib/components/nav/nav.component.d.ts +17 -0
- package/lib/components/page/page-host.component.d.ts +10 -0
- package/lib/components/page/page-overlay.service.d.ts +25 -0
- package/lib/components/page/page.component.d.ts +5 -0
- package/lib/components/snackbar/snackbar.component.d.ts +18 -0
- package/lib/components/toggle/toggle.component.d.ts +21 -0
- package/lib/directives/menu.directive.d.ts +17 -0
- package/lib/directives/nav.directive.d.ts +30 -0
- package/lib/directives/num-input.directive.d.ts +27 -0
- package/lib/directives/page-header.directive.d.ts +13 -0
- package/lib/directives/ripple.directive.d.ts +16 -0
- package/lib/directives/scroll-end.directive.d.ts +9 -0
- package/lib/directives/sortable.directive.d.ts +19 -0
- package/lib/index.d.ts +33 -0
- package/lib/services/message.service.d.ts +9 -0
- package/lib/services/modal.service.d.ts +13 -0
- package/lib/services/nav.service.d.ts +14 -0
- package/lib/services/page.service.d.ts +16 -0
- package/lib/services/router.service.d.ts +16 -0
- package/lib/services/wui.service.d.ts +16 -0
- package/lib/wui-single.component.d.ts +5 -0
- package/lib/wui.providers.d.ts +2 -0
- package/package.json +25 -0
- package/public-api.d.ts +1 -0
- package/scss/screen/appbar.scss +71 -0
- package/scss/screen/avatar.scss +17 -0
- package/scss/screen/backdrop.scss +15 -0
- package/scss/screen/box.scss +67 -0
- package/scss/screen/breadcrumb.scss +34 -0
- package/scss/screen/buttons.scss +177 -0
- package/scss/screen/core.scss +103 -0
- package/scss/screen/drawer.scss +273 -0
- package/scss/screen/formfields.scss +288 -0
- package/scss/screen/icon.scss +33 -0
- package/scss/screen/list.scss +90 -0
- package/scss/screen/loading.scss +169 -0
- package/scss/screen/menu.scss +120 -0
- package/scss/screen/modal.scss +238 -0
- package/scss/screen/normalize.scss +340 -0
- package/scss/screen/page.scss +115 -0
- package/scss/screen/pagination.scss +46 -0
- package/scss/screen/ripple.scss +18 -0
- package/scss/screen/scrollbar.scss +108 -0
- package/scss/screen/searchbox.scss +40 -0
- package/scss/screen/selection.scss +190 -0
- package/scss/screen/snackbar.scss +25 -0
- package/scss/screen/sortable.scss +10 -0
- package/scss/screen/table.scss +199 -0
- package/scss/screen/tabs.scss +71 -0
- package/scss/screen/toogle.scss +79 -0
- package/scss/screen/tooltip.scss +16 -0
- package/scss/screen/utils.scss +140 -0
- package/scss/variables/colors.scss +180 -0
- package/scss/variables/defaults.scss +0 -0
- package/scss/wui.scss +2 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, input, HostBinding } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class LoadingComponent {
|
|
6
|
+
mode = input('indeterminate');
|
|
7
|
+
pos = input(0);
|
|
8
|
+
size = input(32);
|
|
9
|
+
get hostClass() {
|
|
10
|
+
return `mode-${this.mode()}`;
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LoadingComponent, isStandalone: true, selector: "wui-loading", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, pos: { classPropertyName: "pos", publicName: "pos", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: `
|
|
14
|
+
<div class="indeterminate" *ngIf="mode() === 'indeterminate'"></div>
|
|
15
|
+
|
|
16
|
+
<div class="linear" *ngIf="mode() === 'linear'">
|
|
17
|
+
<div class="pos" [style.width.%]="pos()"></div>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<div class="circular" *ngIf="mode() === 'circular'">
|
|
21
|
+
<div class="showbox">
|
|
22
|
+
<div class="loader" [style.width.px]="size()">
|
|
23
|
+
<svg class="circle" viewBox="25 25 50 50">
|
|
24
|
+
<circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="4" stroke-miterlimit="10"/>
|
|
25
|
+
</svg>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'wui-loading',
|
|
35
|
+
standalone: true,
|
|
36
|
+
imports: [CommonModule],
|
|
37
|
+
// changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38
|
+
template: `
|
|
39
|
+
<div class="indeterminate" *ngIf="mode() === 'indeterminate'"></div>
|
|
40
|
+
|
|
41
|
+
<div class="linear" *ngIf="mode() === 'linear'">
|
|
42
|
+
<div class="pos" [style.width.%]="pos()"></div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="circular" *ngIf="mode() === 'circular'">
|
|
46
|
+
<div class="showbox">
|
|
47
|
+
<div class="loader" [style.width.px]="size()">
|
|
48
|
+
<svg class="circle" viewBox="25 25 50 50">
|
|
49
|
+
<circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="4" stroke-miterlimit="10"/>
|
|
50
|
+
</svg>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
`,
|
|
55
|
+
}]
|
|
56
|
+
}], propDecorators: { hostClass: [{
|
|
57
|
+
type: HostBinding,
|
|
58
|
+
args: ['class']
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7OztBQXlCdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixJQUFJLEdBQUcsS0FBSyxDQUEwQyxlQUFlLENBQUMsQ0FBQztJQUN2RSxHQUFHLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLElBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFekIsSUFDYyxTQUFTO1FBQ3JCLE9BQU8sUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUMvQixDQUFDO3dHQVJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLG9lQWxCakI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsMkRBbEJTLFlBQVk7OzRGQW9CWCxnQkFBZ0I7a0JBdkI1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixtREFBbUQ7b0JBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtpQkFDRjs4QkFPZSxTQUFTO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBpbnB1dCxcclxuICBlZmZlY3QsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3VpLWxvYWRpbmcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJtb2RlKCkgPT09ICdpbmRldGVybWluYXRlJ1wiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsaW5lYXJcIiAqbmdJZj1cIm1vZGUoKSA9PT0gJ2xpbmVhcidcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBvc1wiIFtzdHlsZS53aWR0aC4lXT1cInBvcygpXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2lyY3VsYXJcIiAqbmdJZj1cIm1vZGUoKSA9PT0gJ2NpcmN1bGFyJ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2hvd2JveFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXJcIiBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSgpXCI+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2lyY2xlXCIgdmlld0JveD1cIjI1IDI1IDUwIDUwXCI+XHJcbiAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJwYXRoXCIgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiMjBcIiBmaWxsPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjRcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRpbmdDb21wb25lbnQge1xyXG4gIG1vZGUgPSBpbnB1dDwnaW5kZXRlcm1pbmF0ZScgfCAnbGluZWFyJyB8ICdjaXJjdWxhcic+KCdpbmRldGVybWluYXRlJyk7XHJcbiAgcG9zID0gaW5wdXQ8bnVtYmVyPigwKTtcclxuICBzaXplID0gaW5wdXQ8bnVtYmVyPigzMik7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIHByb3RlY3RlZCBnZXQgaG9zdENsYXNzKCkge1xyXG4gICAgcmV0dXJuIGBtb2RlLSR7dGhpcy5tb2RlKCl9YDtcclxuICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, HostBinding, signal, computed } from '@angular/core';
|
|
2
|
+
import { LoadingComponent } from '../loading/loading.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LoadingDialogComponent {
|
|
5
|
+
loading = signal(true);
|
|
6
|
+
dialogClass = computed(() => this.loading() ? 'loading-active' : 'loading-idle');
|
|
7
|
+
get hostClass() {
|
|
8
|
+
return this.dialogClass();
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoadingDialogComponent, isStandalone: true, selector: "wui-loading-dialog", host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: `
|
|
12
|
+
<wui-loading mode="circular" />
|
|
13
|
+
`, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background-color:#fff;box-shadow:0 4px 5px #00000024,0 1px 10px #0000001f,0 2px 4px -1px #0003}\n"], dependencies: [{ kind: "component", type: LoadingComponent, selector: "wui-loading", inputs: ["mode", "pos", "size"] }] });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingDialogComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'wui-loading-dialog', standalone: true, imports: [LoadingComponent], template: `
|
|
18
|
+
<wui-loading mode="circular" />
|
|
19
|
+
`, styles: [":host{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background-color:#fff;box-shadow:0 4px 5px #00000024,0 1px 10px #0000001f,0 2px 4px -1px #0003}\n"] }]
|
|
20
|
+
}], propDecorators: { hostClass: [{
|
|
21
|
+
type: HostBinding,
|
|
22
|
+
args: ['class']
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3VpLXNpbmdsZS9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cvbG9hZGluZy1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBeUJoRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkIsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUNuRCxDQUFDO0lBRUYsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0FWVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixtSUFuQnZCOztHQUVULGlSQUhVLGdCQUFnQjs7NEZBb0JoQixzQkFBc0I7a0JBdkJsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ04sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNsQjs7R0FFVDs4QkF5QkcsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBzaWduYWwsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3d1aS1sb2FkaW5nLWRpYWxvZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHMgOiBbTG9hZGluZ0NvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHd1aS1sb2FkaW5nIG1vZGU9XCJjaXJjdWxhclwiIC8+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IFxuICAgICAgICAwIDRweCA1cHggMCByZ2JhKDAsMCwwLDAuMTQpLCBcbiAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsMC4xMiksIFxuICAgICAgICAwIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLDAuMjApO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0RpYWxvZ0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG5cbiAgcmVhZG9ubHkgZGlhbG9nQ2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMubG9hZGluZygpID8gJ2xvYWRpbmctYWN0aXZlJyA6ICdsb2FkaW5nLWlkbGUnXG4gICk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nQ2xhc3MoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Directive, Component, Input, HostListener, HostBinding, inject, signal } from '@angular/core';
|
|
2
|
+
import { ElementRef, Renderer2 } from '@angular/core';
|
|
3
|
+
import { IconComponent } from '../icon/icon.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MenuDirective {
|
|
6
|
+
el = inject(ElementRef);
|
|
7
|
+
menu;
|
|
8
|
+
onClick() {
|
|
9
|
+
this.menu?.open(this.el.nativeElement);
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MenuDirective, isStandalone: true, selector: "[wuiMenu]", inputs: { menu: ["wuiMenu", "menu"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: '[wuiMenu]',
|
|
18
|
+
standalone: true
|
|
19
|
+
}]
|
|
20
|
+
}], propDecorators: { menu: [{
|
|
21
|
+
type: Input,
|
|
22
|
+
args: ['wuiMenu']
|
|
23
|
+
}], onClick: [{
|
|
24
|
+
type: HostListener,
|
|
25
|
+
args: ['click']
|
|
26
|
+
}] } });
|
|
27
|
+
export class MenuItemComponent {
|
|
28
|
+
icon = '';
|
|
29
|
+
host = inject(MenuComponent, { optional: true, host: true, skipSelf: true });
|
|
30
|
+
onClick(e) {
|
|
31
|
+
this.host?.close();
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MenuItemComponent, isStandalone: true, selector: "wui-menu-item", inputs: { icon: "icon" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: `
|
|
35
|
+
<div class="wui-menu-item-leading">
|
|
36
|
+
<wui-icon [icon]="icon"></wui-icon>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="wui-menu-item-content"><ng-content></ng-content></div>
|
|
39
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "wui-icon", inputs: ["icon"] }] });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuItemComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'wui-menu-item',
|
|
45
|
+
standalone: true,
|
|
46
|
+
imports: [IconComponent],
|
|
47
|
+
template: `
|
|
48
|
+
<div class="wui-menu-item-leading">
|
|
49
|
+
<wui-icon [icon]="icon"></wui-icon>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="wui-menu-item-content"><ng-content></ng-content></div>
|
|
52
|
+
`
|
|
53
|
+
}]
|
|
54
|
+
}], propDecorators: { icon: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], onClick: [{
|
|
57
|
+
type: HostListener,
|
|
58
|
+
args: ['click', ['$event']]
|
|
59
|
+
}] } });
|
|
60
|
+
export class MenuComponent {
|
|
61
|
+
el = inject(ElementRef);
|
|
62
|
+
renderer = inject(Renderer2);
|
|
63
|
+
_show = signal(false);
|
|
64
|
+
listenDocumentClick = false;
|
|
65
|
+
get showClass() {
|
|
66
|
+
return this._show();
|
|
67
|
+
}
|
|
68
|
+
onWindowClick(e) {
|
|
69
|
+
if (this.listenDocumentClick && this._show() && !this.el.nativeElement.contains(e.target)) {
|
|
70
|
+
this.close();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
open(triggerElement) {
|
|
74
|
+
this.close();
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
const rect = triggerElement.getBoundingClientRect();
|
|
77
|
+
const el = this.el.nativeElement;
|
|
78
|
+
const menuWidth = el.offsetWidth;
|
|
79
|
+
const menuHeight = el.offsetHeight;
|
|
80
|
+
const windowWidth = window.innerWidth;
|
|
81
|
+
const windowHeight = window.innerHeight;
|
|
82
|
+
const possibleLeft = rect.x;
|
|
83
|
+
if (windowWidth - possibleLeft < menuWidth) {
|
|
84
|
+
const possibleRight = windowWidth - (rect.x + rect.width);
|
|
85
|
+
this.renderer.setStyle(el, 'right', `${possibleRight}px`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.renderer.setStyle(el, 'left', `${possibleLeft}px`);
|
|
89
|
+
}
|
|
90
|
+
if (windowHeight < menuHeight) {
|
|
91
|
+
this.renderer.setStyle(el, 'top', '1rem');
|
|
92
|
+
this.renderer.setStyle(el, 'bottom', '1rem');
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const possibleTop = rect.y;
|
|
96
|
+
if (windowHeight - possibleTop > menuHeight) {
|
|
97
|
+
this.renderer.setStyle(el, 'top', `${possibleTop}px`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const possibleBottom = windowHeight - (rect.y + rect.height);
|
|
101
|
+
this.renderer.setStyle(el, 'bottom', `${possibleBottom}px`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
this.listenDocumentClick = true;
|
|
105
|
+
this._show.set(true);
|
|
106
|
+
}, 200);
|
|
107
|
+
}
|
|
108
|
+
close() {
|
|
109
|
+
this._show.set(false);
|
|
110
|
+
this.listenDocumentClick = false;
|
|
111
|
+
const el = this.el.nativeElement;
|
|
112
|
+
this.renderer.removeStyle(el, 'top');
|
|
113
|
+
this.renderer.removeStyle(el, 'right');
|
|
114
|
+
this.renderer.removeStyle(el, 'bottom');
|
|
115
|
+
this.renderer.removeStyle(el, 'left');
|
|
116
|
+
}
|
|
117
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MenuComponent, isStandalone: true, selector: "wui-menu", host: { listeners: { "document:click": "onWindowClick($event)" }, properties: { "class.show": "this.showClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
119
|
+
}
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{
|
|
123
|
+
selector: 'wui-menu',
|
|
124
|
+
standalone: true,
|
|
125
|
+
template: `<ng-content></ng-content>`
|
|
126
|
+
}]
|
|
127
|
+
}], propDecorators: { showClass: [{
|
|
128
|
+
type: HostBinding,
|
|
129
|
+
args: ['class.show']
|
|
130
|
+
}], onWindowClick: [{
|
|
131
|
+
type: HostListener,
|
|
132
|
+
args: ['document:click', ['$event']]
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU12RCxNQUFNLE9BQU8sYUFBYTtJQUNQLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkIsSUFBSSxDQUFpQjtJQUd2QyxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dHQVBVLGFBQWE7NEZBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdtQixJQUFJO3NCQUFyQixLQUFLO3VCQUFDLFNBQVM7Z0JBR2hCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPOztBQWlCdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ0YsSUFBSSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFHOUYsT0FBTyxDQUFDLENBQVE7UUFDZCxJQUFJ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O2lCQUN0Qzs4QkFTSyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsWUFBWTtnQkFNekIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBIb3N0TGlzdGVuZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd3VpTWVudV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBASW5wdXQoJ3d1aU1lbnUnKSBtZW51PzogTWVudUNvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5tZW51Py5vcGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLW1lbnUtaXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHMgOiBbSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInd1aS1tZW51LWl0ZW0tbGVhZGluZ1wiPlxuICAgICAgPHd1aS1pY29uIFtpY29uXT1cImljb25cIj48L3d1aS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3dWktbWVudS1pdGVtLWNvbnRlbnRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBpY29uID0gJyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdCA9IGluamVjdChNZW51Q29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlLCBob3N0OiB0cnVlLCBza2lwU2VsZjogdHJ1ZSB9KTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3Q/LmNsb3NlKCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLW1lbnUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvdyA9IHNpZ25hbChmYWxzZSk7XG4gIGxpc3RlbkRvY3VtZW50Q2xpY2sgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3cnKVxuICBnZXQgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93Q2xpY2soZTogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saXN0ZW5Eb2N1bWVudENsaWNrICYmIHRoaXMuX3Nob3coKSAmJiAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW4odHJpZ2dlckVsZW1lbnQ6IEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gKHRyaWdnZXJFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgY29uc3QgbWVudVdpZHRoID0gZWwub2Zmc2V0V2lkdGg7XG4gICAgICBjb25zdCBtZW51SGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0O1xuICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgY29uc3QgcG9zc2libGVMZWZ0ID0gcmVjdC54O1xuICAgICAgaWYgKHdpbmRvd1dpZHRoIC0gcG9zc2libGVMZWZ0IDwgbWVudVdpZHRoKSB7XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlUmlnaHQgPSB3aW5kb3dXaWR0aCAtIChyZWN0LnggKyByZWN0LndpZHRoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ3JpZ2h0JywgYCR7cG9zc2libGVSaWdodH1weGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ2xlZnQnLCBgJHtwb3NzaWJsZUxlZnR9cHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdpbmRvd0hlaWdodCA8IG1lbnVIZWlnaHQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ3RvcCcsICcxcmVtJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwsICdib3R0b20nLCAnMXJlbScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcG9zc2libGVUb3AgPSByZWN0Lnk7XG4gICAgICAgIGlmICh3aW5kb3dIZWlnaHQgLSBwb3NzaWJsZVRvcCA+IG1lbnVIZWlnaHQpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsLCAndG9wJywgYCR7cG9zc2libGVUb3B9cHhgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBwb3NzaWJsZUJvdHRvbSA9IHdpbmRvd0hlaWdodCAtIChyZWN0LnkgKyByZWN0LmhlaWdodCk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ2JvdHRvbScsIGAke3Bvc3NpYmxlQm90dG9tfXB4YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5saXN0ZW5Eb2N1bWVudENsaWNrID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3Nob3cuc2V0KHRydWUpO1xuICAgIH0sIDIwMCk7XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zaG93LnNldChmYWxzZSk7XG4gICAgdGhpcy5saXN0ZW5Eb2N1bWVudENsaWNrID0gZmFsc2U7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbCwgJ3RvcCcpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICdyaWdodCcpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICdib3R0b20nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGVsLCAnbGVmdCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ElementRef, inject } from "@angular/core";
|
|
2
|
+
import { WuiModal } from "./modal-overlay";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModalHostComponent {
|
|
5
|
+
modalDialog = inject(WuiModal);
|
|
6
|
+
elementRef = inject(ElementRef);
|
|
7
|
+
constructor() {
|
|
8
|
+
this.modalDialog.setContainerElement(this.elementRef.nativeElement);
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalHostComponent, isStandalone: true, selector: "wui-modal-host", ngImport: i0, template: ``, isInline: true });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalHostComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'wui-modal-host',
|
|
17
|
+
standalone: true,
|
|
18
|
+
template: ``
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: () => [] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU8zQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQztRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO3dHQVBRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBFQUZqQixFQUFFOzs0RkFFSCxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgV3VpTW9kYWwgfSBmcm9tIFwiLi9tb2RhbC1vdmVybGF5XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd3VpLW1vZGFsLWhvc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBgXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsSG9zdENvbXBvbmVudCB7XG5cbiAgICBtb2RhbERpYWxvZyA9IGluamVjdChXdWlNb2RhbCk7XG4gICAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm1vZGFsRGlhbG9nLnNldENvbnRhaW5lckVsZW1lbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxufSJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Overlay, OverlayContainer } from "@angular/cdk/overlay";
|
|
2
|
+
import { Inject, Injectable, Optional } from "@angular/core";
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY } from "@angular/cdk/dialog";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
+
import * as i2 from "@angular/cdk/bidi";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/cdk/dialog";
|
|
10
|
+
export class WuiModalOverlayContainer extends OverlayContainer {
|
|
11
|
+
setContainerElement(containerElement) {
|
|
12
|
+
this._containerElement = containerElement;
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlayContainer });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlayContainer, decorators: [{
|
|
18
|
+
type: Injectable
|
|
19
|
+
}] });
|
|
20
|
+
export class WuiModalOverlay extends Overlay {
|
|
21
|
+
_modalOverlayContainer;
|
|
22
|
+
constructor(_scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _appRef, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {
|
|
23
|
+
super(_scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher);
|
|
24
|
+
this._modalOverlayContainer = _overlayContainer;
|
|
25
|
+
}
|
|
26
|
+
setContainerElement(containerElement) {
|
|
27
|
+
this._modalOverlayContainer.setContainerElement(containerElement);
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: WuiModalOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlay });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModalOverlay, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }, { type: WuiModalOverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: i1.OverlayPositionBuilder }, { type: i1.OverlayKeyboardDispatcher }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [DOCUMENT]
|
|
37
|
+
}] }, { type: i2.Directionality }, { type: i3.Location }, { type: i1.OverlayOutsideClickDispatcher }] });
|
|
38
|
+
export class WuiModal extends Dialog {
|
|
39
|
+
_customOverlay;
|
|
40
|
+
constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, _scrollStrategy) {
|
|
41
|
+
super(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, _scrollStrategy);
|
|
42
|
+
this._customOverlay = _overlay;
|
|
43
|
+
}
|
|
44
|
+
setContainerElement(containerElement) {
|
|
45
|
+
this._customOverlay.setContainerElement(containerElement);
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModal, deps: [{ token: WuiModalOverlay }, { token: i0.Injector }, { token: DEFAULT_DIALOG_CONFIG, optional: true }, { token: i4.Dialog }, { token: WuiModalOverlayContainer }, { token: DIALOG_SCROLL_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModal });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiModal, decorators: [{
|
|
51
|
+
type: Injectable
|
|
52
|
+
}], ctorParameters: () => [{ type: WuiModalOverlay }, { type: i0.Injector }, { type: i4.DialogConfig, decorators: [{
|
|
53
|
+
type: Optional
|
|
54
|
+
}, {
|
|
55
|
+
type: Inject,
|
|
56
|
+
args: [DEFAULT_DIALOG_CONFIG]
|
|
57
|
+
}] }, { type: i4.Dialog }, { type: WuiModalOverlayContainer }, { type: undefined, decorators: [{
|
|
58
|
+
type: Optional
|
|
59
|
+
}, {
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [DIALOG_SCROLL_STRATEGY]
|
|
62
|
+
}] }] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLW92ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxSyxPQUFPLEVBQTRDLE1BQU0sRUFBRSxVQUFVLEVBQW9CLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsUUFBUSxFQUEwQixNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQUcxRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRW5ELG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUMsQ0FBQzt3R0FKUSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7QUFVWCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBRWhDLHNCQUFzQixDQUEyQjtJQUV6RCxZQUNJLGlCQUF3QyxFQUN4QyxpQkFBMkMsRUFDM0MseUJBQW1ELEVBQ25ELGdCQUF3QyxFQUN4QyxtQkFBOEMsRUFDOUMsT0FBdUIsRUFDdkIsU0FBbUIsRUFDbkIsT0FBZSxFQUNHLFNBQWMsRUFDaEMsZUFBK0IsRUFDL0IsU0FBcUIsRUFDckIsdUJBQXNEO1FBRXRELEtBQUssQ0FDRCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsdUJBQXVCLENBQzFCLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsaUJBQWlCLENBQUM7SUFDcEQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RSxDQUFDO3dHQXJDUSxlQUFlLCtSQWFaLFFBQVE7NEdBYlgsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBY0YsTUFBTTsyQkFBQyxRQUFROztBQTZCeEIsTUFBTSxPQUFPLFFBQVMsU0FBUSxNQUFNO0lBRXhCLGNBQWMsQ0FBa0I7SUFFeEMsWUFDSSxRQUF5QixFQUMzQixTQUFtQixFQUN3QixlQUE2QixFQUN4RSxhQUFxQixFQUNyQixpQkFBMkMsRUFDQyxlQUFvQjtRQUVoRSxLQUFLLENBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxlQUFlLEVBQ2YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixlQUFlLENBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO3dHQTFCUSxRQUFRLHNFQU9LLHFCQUFxQix3RkFHckIsc0JBQXNCOzRHQVZuQyxRQUFROzs0RkFBUixRQUFRO2tCQURwQixVQUFVOzswQkFRSixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBR3hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIsIE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9DVU1FTlQsIExvY2F0aW9uIGFzIExvY2F0aW9uXzIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgREVGQVVMVF9ESUFMT0dfQ09ORklHLCBEaWFsb2csIERJQUxPR19TQ1JPTExfU1RSQVRFR1ksIERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9jZGsvZGlhbG9nXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXdWlNb2RhbE92ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBPdmVybGF5Q29udGFpbmVyIHtcblxuICAgIHB1YmxpYyBzZXRDb250YWluZXJFbGVtZW50KGNvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50O1xuICAgIH1cblxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV3VpTW9kYWxPdmVybGF5IGV4dGVuZHMgT3ZlcmxheSB7XG5cbiAgICBwcml2YXRlIF9tb2RhbE92ZXJsYXlDb250YWluZXI6IFd1aU1vZGFsT3ZlcmxheUNvbnRhaW5lcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zLFxuICAgICAgICBfb3ZlcmxheUNvbnRhaW5lcjogV3VpTW9kYWxPdmVybGF5Q29udGFpbmVyLFxuICAgICAgICBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIF9wb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIF9rZXlib2FyZERpc3BhdGNoZXI6IE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsXG4gICAgICAgIF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBfbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxuICAgICAgICBfZGlyZWN0aW9uYWxpdHk6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICBfbG9jYXRpb246IExvY2F0aW9uXzIsXG4gICAgICAgIF9vdXRzaWRlQ2xpY2tEaXNwYXRjaGVyOiBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIF9zY3JvbGxTdHJhdGVnaWVzLFxuICAgICAgICAgICAgX292ZXJsYXlDb250YWluZXIsXG4gICAgICAgICAgICBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgX3Bvc2l0aW9uQnVpbGRlcixcbiAgICAgICAgICAgIF9rZXlib2FyZERpc3BhdGNoZXIsXG4gICAgICAgICAgICBfaW5qZWN0b3IsXG4gICAgICAgICAgICBfbmdab25lLFxuICAgICAgICAgICAgX2RvY3VtZW50LFxuICAgICAgICAgICAgX2RpcmVjdGlvbmFsaXR5LFxuICAgICAgICAgICAgX2xvY2F0aW9uLFxuICAgICAgICAgICAgX291dHNpZGVDbGlja0Rpc3BhdGNoZXJcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9tb2RhbE92ZXJsYXlDb250YWluZXIgPSBfb3ZlcmxheUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tb2RhbE92ZXJsYXlDb250YWluZXIuc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcbiAgICB9XG5cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFd1aU1vZGFsIGV4dGVuZHMgRGlhbG9nIHtcblxuICAgIHByaXZhdGUgX2N1c3RvbU92ZXJsYXk6IFd1aU1vZGFsT3ZlcmxheTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfb3ZlcmxheTogV3VpTW9kYWxPdmVybGF5LFxuICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREVGQVVMVF9ESUFMT0dfQ09ORklHKSBfZGVmYXVsdE9wdGlvbnM6IERpYWxvZ0NvbmZpZyxcbiAgICAgIF9wYXJlbnREaWFsb2c6IERpYWxvZyxcbiAgICAgIF9vdmVybGF5Q29udGFpbmVyOiBXdWlNb2RhbE92ZXJsYXlDb250YWluZXIsXG4gICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19TQ1JPTExfU1RSQVRFR1kpIF9zY3JvbGxTdHJhdGVneTogYW55XG4gICAgKSB7XG4gICAgICBzdXBlcihcbiAgICAgICAgX292ZXJsYXksXG4gICAgICAgIF9pbmplY3RvcixcbiAgICAgICAgX2RlZmF1bHRPcHRpb25zLFxuICAgICAgICBfcGFyZW50RGlhbG9nLFxuICAgICAgICBfb3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgX3Njcm9sbFN0cmF0ZWd5XG4gICAgICApO1xuXG4gICAgICB0aGlzLl9jdXN0b21PdmVybGF5ID0gX292ZXJsYXk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2N1c3RvbU92ZXJsYXkuc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcbiAgICB9XG5cbn0iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, HostBinding, input, signal, computed } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ModalComponent {
|
|
4
|
+
width = input('300px');
|
|
5
|
+
showSignal = signal(false);
|
|
6
|
+
isVisible = computed(() => this.showSignal());
|
|
7
|
+
get show() {
|
|
8
|
+
return this.isVisible();
|
|
9
|
+
}
|
|
10
|
+
open() {
|
|
11
|
+
this.showSignal.set(true);
|
|
12
|
+
}
|
|
13
|
+
close() {
|
|
14
|
+
this.showSignal.set(false);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ModalComponent, isStandalone: true, selector: "wui-modal", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.show": "this.show" } }, ngImport: i0, template: `
|
|
18
|
+
<div class="wui-modal-inner" [style.max-width]="width()" cdkTrapFocus>
|
|
19
|
+
<ng-content></ng-content>
|
|
20
|
+
</div>
|
|
21
|
+
`, isInline: true });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: 'wui-modal',
|
|
27
|
+
standalone: true,
|
|
28
|
+
template: `
|
|
29
|
+
<div class="wui-modal-inner" [style.max-width]="width()" cdkTrapFocus>
|
|
30
|
+
<ng-content></ng-content>
|
|
31
|
+
</div>
|
|
32
|
+
`
|
|
33
|
+
}]
|
|
34
|
+
}], propDecorators: { show: [{
|
|
35
|
+
type: HostBinding,
|
|
36
|
+
args: ['class.show']
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3VpLXNpbmdsZS9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVdoRixNQUFNLE9BQU8sY0FBYztJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFTLE9BQU8sQ0FBQyxDQUFDO0lBRWhDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUV2RCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzt3R0FqQlUsY0FBYzs0RkFBZCxjQUFjLDhQQU5mOzs7O0dBSVQ7OzRGQUVVLGNBQWM7a0JBVDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRjs4QkFRSyxJQUFJO3NCQURQLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlucHV0LCBzaWduYWwsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3d1aS1tb2RhbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInd1aS1tb2RhbC1pbm5lclwiIFtzdHlsZS5tYXgtd2lkdGhdPVwid2lkdGgoKVwiIGNka1RyYXBGb2N1cz5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8c3RyaW5nPignMzAwcHgnKTtcclxuXHJcbiAgcHJpdmF0ZSBzaG93U2lnbmFsID0gc2lnbmFsKGZhbHNlKTtcclxuICByZWFkb25seSBpc1Zpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNob3dTaWduYWwoKSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hvdycpXHJcbiAgZ2V0IHNob3coKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUoKTtcclxuICB9XHJcblxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLnNob3dTaWduYWwuc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLnNob3dTaWduYWwuc2V0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/nav.service";
|
|
6
|
+
export class NavComponent {
|
|
7
|
+
navService;
|
|
8
|
+
componentFactoryResolver;
|
|
9
|
+
viewContainer;
|
|
10
|
+
unsub = new Subject();
|
|
11
|
+
constructor(navService, componentFactoryResolver) {
|
|
12
|
+
this.navService = navService;
|
|
13
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
14
|
+
}
|
|
15
|
+
root(e) {
|
|
16
|
+
this.viewContainer?.clear();
|
|
17
|
+
this.navService.components = [];
|
|
18
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(e.componentName);
|
|
19
|
+
const componentRef = this.viewContainer?.createComponent(componentFactory);
|
|
20
|
+
const instance = componentRef?.instance;
|
|
21
|
+
instance.navId = e.navId;
|
|
22
|
+
instance.params = e.params;
|
|
23
|
+
this.navService.components.push({
|
|
24
|
+
navId: e.navId,
|
|
25
|
+
componentName: e.componentName,
|
|
26
|
+
componentRef,
|
|
27
|
+
options: e.options
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
push(e) {
|
|
31
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(e.componentName);
|
|
32
|
+
const componentRef = this.viewContainer?.createComponent(componentFactory);
|
|
33
|
+
const instance = componentRef?.instance;
|
|
34
|
+
instance.navId = e.navId;
|
|
35
|
+
instance.params = e.params;
|
|
36
|
+
this.navService.components.push({
|
|
37
|
+
navId: e.navId,
|
|
38
|
+
componentName: e.componentName,
|
|
39
|
+
componentRef,
|
|
40
|
+
options: e.options
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
pop(e) {
|
|
44
|
+
if (this.viewContainer && (this.viewContainer?.length ?? 0) > 0) {
|
|
45
|
+
this.viewContainer.remove(this.viewContainer?.length - 1);
|
|
46
|
+
}
|
|
47
|
+
this.navService.components[this.navService.components.length - 1].componentRef.destroy();
|
|
48
|
+
this.navService.components.pop();
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
this.navService.events.pipe(takeUntil(this.unsub)).subscribe(async (e) => {
|
|
52
|
+
if (e !== null && e.type === 'command') {
|
|
53
|
+
switch (e.action) {
|
|
54
|
+
case 'root':
|
|
55
|
+
this.root(e);
|
|
56
|
+
break;
|
|
57
|
+
case 'push':
|
|
58
|
+
this.push(e);
|
|
59
|
+
break;
|
|
60
|
+
case 'pop':
|
|
61
|
+
this.pop(e);
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
ngOnDestroy() {
|
|
68
|
+
this.unsub.next(null);
|
|
69
|
+
this.unsub.complete();
|
|
70
|
+
}
|
|
71
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavComponent, deps: [{ token: i1.NavService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NavComponent, isStandalone: true, selector: "wui-nav", viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["navHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-template #navHost></ng-template>`, isInline: true });
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: 'wui-nav',
|
|
78
|
+
standalone: true,
|
|
79
|
+
template: `<ng-template #navHost></ng-template>`
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.NavService }, { type: i0.ComponentFactoryResolver }], propDecorators: { viewContainer: [{
|
|
82
|
+
type: ViewChild,
|
|
83
|
+
args: ['navHost', { read: ViewContainerRef, static: true }]
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsU0FBUyxFQUNULGdCQUFnQixFQUVqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYTNDLE1BQU0sT0FBTyxZQUFZO0lBTWI7SUFDQTtJQUxzRCxhQUFhLENBQW9CO0lBQ3pGLEtBQUssR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU1QyxZQUNVLFVBQXNCLEVBQ3RCLHdCQUFrRDtRQURsRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFDeEQsQ0FBQztJQUVMLElBQUksQ0FBQyxDQUFNO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFM0UsTUFBTSxRQUFRLEdBQUcsWUFBWSxFQUFFLFFBQWdDLENBQUM7UUFDaEUsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUUzQixJ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QkFBNUUsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXYuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLy8gSW50ZXJmYWNlIHVudHVrIG1lbWFzdGlrYW4gaW5zdGFuY2Uga29tcG9uZW4gbWVtaWxpa2kgbmF2SWQgZGFuIHBhcmFtc1xyXG5pbnRlcmZhY2UgTmF2Q29tcG9uZW50SW5zdGFuY2Uge1xyXG4gIG5hdklkOiBhbnk7XHJcbiAgcGFyYW1zOiBhbnk7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3VpLW5hdicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjbmF2SG9zdD48L25nLXRlbXBsYXRlPmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2SG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHZpZXdDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHByaXZhdGUgdW5zdWI6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuYXZTZXJ2aWNlOiBOYXZTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICkgeyB9XHJcblxyXG4gIHJvb3QoZTogYW55KSB7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXI/LmNsZWFyKCk7XHJcbiAgICB0aGlzLm5hdlNlcnZpY2UuY29tcG9uZW50cyA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShlLmNvbXBvbmVudE5hbWUpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyPy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XHJcblxyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWY/Lmluc3RhbmNlIGFzIE5hdkNvbXBvbmVudEluc3RhbmNlO1xyXG4gICAgaW5zdGFuY2UubmF2SWQgPSBlLm5hdklkO1xyXG4gICAgaW5zdGFuY2UucGFyYW1zID0gZS5wYXJhbXM7XHJcblxyXG4gICAgdGhpcy5uYXZTZXJ2aWNlLmNvbXBvbmVudHMucHVzaCh7IFxyXG4gICAgICBuYXZJZDogZS5uYXZJZCxcclxuICAgICAgY29tcG9uZW50TmFtZTogZS5jb21wb25lbnROYW1lLFxyXG4gICAgICBjb21wb25lbnRSZWYsXHJcbiAgICAgIG9wdGlvbnM6IGUub3B0aW9uc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdXNoKGU6IGFueSkge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGUuY29tcG9uZW50TmFtZSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXI/LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuXHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZj8uaW5zdGFuY2UgYXMgTmF2Q29tcG9uZW50SW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS5uYXZJZCA9IGUubmF2SWQ7XHJcbiAgICBpbnN0YW5jZS5wYXJhbXMgPSBlLnBhcmFtcztcclxuXHJcbiAgICB0aGlzLm5hdlNlcnZpY2UuY29tcG9uZW50cy5wdXNoKHsgXHJcbiAgICAgIG5hdklkOiBlLm5hdklkLFxyXG4gICAgICBjb21wb25lbnROYW1lOiBlLmNvbXBvbmVudE5hbWUsXHJcbiAgICAgIGNvbXBvbmVudFJlZixcclxuICAgICAgb3B0aW9uczogZS5vcHRpb25zXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBvcChlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnZpZXdDb250YWluZXIgJiYgKHRoaXMudmlld0NvbnRhaW5lcj8ubGVuZ3RoID8/IDApID4gMCkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIucmVtb3ZlKHRoaXMudmlld0NvbnRhaW5lcj8ubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5hdlNlcnZpY2UuY29tcG9uZW50c1t0aGlzLm5hdlNlcnZpY2UuY29tcG9uZW50cy5sZW5ndGggLSAxXS5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5uYXZTZXJ2aWNlLmNvbXBvbmVudHMucG9wKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubmF2U2VydmljZS5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YikpLnN1YnNjcmliZShhc3luYyAoZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlICE9PSBudWxsICYmIGUudHlwZSA9PT0gJ2NvbW1hbmQnKSB7XHJcbiAgICAgICAgc3dpdGNoIChlLmFjdGlvbikge1xyXG4gICAgICAgICAgY2FzZSAncm9vdCc6IHRoaXMucm9vdChlKTsgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdwdXNoJzogdGhpcy5wdXNoKGUpOyBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3BvcCc6IHRoaXMucG9wKGUpOyBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3ViLm5leHQobnVsbCk7XHJcbiAgICB0aGlzLnVuc3ViLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ElementRef, inject } from "@angular/core";
|
|
2
|
+
import { WuiPage } from "./page-overlay.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PageHostComponent {
|
|
5
|
+
pageDialog = inject(WuiPage);
|
|
6
|
+
elementRef = inject(ElementRef);
|
|
7
|
+
constructor() {
|
|
8
|
+
this.pageDialog.setContainerElement(this.elementRef.nativeElement);
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageHostComponent, isStandalone: true, selector: "wui-page-host", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageHostComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'wui-page-host',
|
|
17
|
+
standalone: true,
|
|
18
|
+
template: `<ng-content></ng-content>`
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: () => [] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ob3N0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UvcGFnZS1ob3N0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU9qRCxNQUFNLE9BQU8saUJBQWlCO0lBRTFCLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQztRQUNJLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQVBRLGlCQUFpQjs0RkFBakIsaUJBQWlCLHlFQUZoQiwyQkFBMkI7OzRGQUU1QixpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFd1aVBhZ2UgfSBmcm9tIFwiLi9wYWdlLW92ZXJsYXkuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3d1aS1wYWdlLWhvc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlSG9zdENvbXBvbmVudCB7XG5cbiAgICBwYWdlRGlhbG9nID0gaW5qZWN0KFd1aVBhZ2UpO1xuICAgIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5wYWdlRGlhbG9nLnNldENvbnRhaW5lckVsZW1lbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxufSJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Overlay, OverlayContainer } from "@angular/cdk/overlay";
|
|
2
|
+
import { Inject, Injectable, Optional } from "@angular/core";
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY } from "@angular/cdk/dialog";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
+
import * as i2 from "@angular/cdk/bidi";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/cdk/dialog";
|
|
10
|
+
export class WuiPageOverlayContainer extends OverlayContainer {
|
|
11
|
+
setContainerElement(containerElement) {
|
|
12
|
+
this._containerElement = containerElement;
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlayContainer });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlayContainer, decorators: [{
|
|
18
|
+
type: Injectable
|
|
19
|
+
}] });
|
|
20
|
+
export class WuiPageOverlay extends Overlay {
|
|
21
|
+
_pageOverlayContainer;
|
|
22
|
+
constructor(_scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _appRef, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {
|
|
23
|
+
super(_scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher);
|
|
24
|
+
this._pageOverlayContainer = _overlayContainer;
|
|
25
|
+
}
|
|
26
|
+
setContainerElement(containerElement) {
|
|
27
|
+
this._pageOverlayContainer.setContainerElement(containerElement);
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: WuiPageOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlay });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPageOverlay, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }, { type: WuiPageOverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: i1.OverlayPositionBuilder }, { type: i1.OverlayKeyboardDispatcher }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [DOCUMENT]
|
|
37
|
+
}] }, { type: i2.Directionality }, { type: i3.Location }, { type: i1.OverlayOutsideClickDispatcher }] });
|
|
38
|
+
export class WuiPage extends Dialog {
|
|
39
|
+
_customOverlay;
|
|
40
|
+
constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, _scrollStrategy) {
|
|
41
|
+
super(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, _scrollStrategy);
|
|
42
|
+
this._customOverlay = _overlay;
|
|
43
|
+
}
|
|
44
|
+
setContainerElement(containerElement) {
|
|
45
|
+
this._customOverlay.setContainerElement(containerElement);
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPage, deps: [{ token: WuiPageOverlay }, { token: i0.Injector }, { token: DEFAULT_DIALOG_CONFIG, optional: true }, { token: i4.Dialog }, { token: WuiPageOverlayContainer }, { token: DIALOG_SCROLL_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPage });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiPage, decorators: [{
|
|
51
|
+
type: Injectable
|
|
52
|
+
}], ctorParameters: () => [{ type: WuiPageOverlay }, { type: i0.Injector }, { type: i4.DialogConfig, decorators: [{
|
|
53
|
+
type: Optional
|
|
54
|
+
}, {
|
|
55
|
+
type: Inject,
|
|
56
|
+
args: [DEFAULT_DIALOG_CONFIG]
|
|
57
|
+
}] }, { type: i4.Dialog }, { type: WuiPageOverlayContainer }, { type: undefined, decorators: [{
|
|
58
|
+
type: Optional
|
|
59
|
+
}, {
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [DIALOG_SCROLL_STRATEGY]
|
|
62
|
+
}] }] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1vdmVybGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2Utb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJHLE1BQU0sc0JBQXNCLENBQUM7QUFDMUssT0FBTyxFQUE0QyxNQUFNLEVBQUUsVUFBVSxFQUFvQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFnQixNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFHMUcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQUVsRCxtQkFBbUIsQ0FBQyxnQkFBNkI7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0lBQzlDLENBQUM7d0dBSlEsdUJBQXVCOzRHQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7O0FBVVgsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBRS9CLHFCQUFxQixDQUEwQjtJQUV2RCxZQUNJLGlCQUF3QyxFQUN4QyxpQkFBMEMsRUFDMUMseUJBQW1ELEVBQ25ELGdCQUF3QyxFQUN4QyxtQkFBOEMsRUFDOUMsT0FBdUIsRUFDdkIsU0FBbUIsRUFDbkIsT0FBZSxFQUNHLFNBQWMsRUFDaEMsZUFBK0IsRUFDL0IsU0FBcUIsRUFDckIsdUJBQXNEO1FBRXRELEtBQUssQ0FDRCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsdUJBQXVCLENBQzFCLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLENBQUM7SUFDbkQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRSxDQUFDO3dHQXJDUSxjQUFjLDhSQWFYLFFBQVE7NEdBYlgsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBY0YsTUFBTTsyQkFBQyxRQUFROztBQTZCeEIsTUFBTSxPQUFPLE9BQVEsU0FBUSxNQUFNO0lBRXZCLGNBQWMsQ0FBaUI7SUFFdkMsWUFDSSxRQUF3QixFQUN4QixTQUFtQixFQUN3QixlQUE2QixFQUN4RSxhQUFxQixFQUNyQixpQkFBMEMsRUFDRSxlQUFvQjtRQUVoRSxLQUFLLENBQ0QsUUFBUSxFQUNSLFNBQVMsRUFDVCxlQUFlLEVBQ2YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixlQUFlLENBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTFCUSxPQUFPLHFFQU9RLHFCQUFxQix1RkFHckIsc0JBQXNCOzRHQVZyQyxPQUFPOzs0RkFBUCxPQUFPO2tCQURuQixVQUFVOzswQkFRRixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBR3hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIsIE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9DVU1FTlQsIExvY2F0aW9uIGFzIExvY2F0aW9uXzIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgREVGQVVMVF9ESUFMT0dfQ09ORklHLCBEaWFsb2csIERJQUxPR19TQ1JPTExfU1RSQVRFR1ksIERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9jZGsvZGlhbG9nXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXdWlQYWdlT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuXG4gICAgcHVibGljIHNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQ7XG4gICAgfVxuXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXdWlQYWdlT3ZlcmxheSBleHRlbmRzIE92ZXJsYXkge1xuXG4gICAgcHJpdmF0ZSBfcGFnZU92ZXJsYXlDb250YWluZXI6IFd1aVBhZ2VPdmVybGF5Q29udGFpbmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9zY3JvbGxTdHJhdGVnaWVzOiBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXG4gICAgICAgIF9vdmVybGF5Q29udGFpbmVyOiBXdWlQYWdlT3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBfcG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgICAgICBfa2V5Ym9hcmREaXNwYXRjaGVyOiBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyLFxuICAgICAgICBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgX25nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBfZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgX2RpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgX2xvY2F0aW9uOiBMb2NhdGlvbl8yLFxuICAgICAgICBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBfc2Nyb2xsU3RyYXRlZ2llcyxcbiAgICAgICAgICAgIF9vdmVybGF5Q29udGFpbmVyLFxuICAgICAgICAgICAgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgIF9wb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgICAgICBfa2V5Ym9hcmREaXNwYXRjaGVyLFxuICAgICAgICAgICAgX2luamVjdG9yLFxuICAgICAgICAgICAgX25nWm9uZSxcbiAgICAgICAgICAgIF9kb2N1bWVudCxcbiAgICAgICAgICAgIF9kaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgICAgIF9sb2NhdGlvbixcbiAgICAgICAgICAgIF9vdXRzaWRlQ2xpY2tEaXNwYXRjaGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fcGFnZU92ZXJsYXlDb250YWluZXIgPSBfb3ZlcmxheUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wYWdlT3ZlcmxheUNvbnRhaW5lci5zZXRDb250YWluZXJFbGVtZW50KGNvbnRhaW5lckVsZW1lbnQpO1xuICAgIH1cblxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV3VpUGFnZSBleHRlbmRzIERpYWxvZyB7XG5cbiAgICBwcml2YXRlIF9jdXN0b21PdmVybGF5OiBXdWlQYWdlT3ZlcmxheTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfb3ZlcmxheTogV3VpUGFnZU92ZXJsYXksXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREVGQVVMVF9ESUFMT0dfQ09ORklHKSBfZGVmYXVsdE9wdGlvbnM6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgX3BhcmVudERpYWxvZzogRGlhbG9nLFxuICAgICAgICBfb3ZlcmxheUNvbnRhaW5lcjogV3VpUGFnZU92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX1NDUk9MTF9TVFJBVEVHWSkgX3Njcm9sbFN0cmF0ZWd5OiBhbnlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBfb3ZlcmxheSxcbiAgICAgICAgICAgIF9pbmplY3RvcixcbiAgICAgICAgICAgIF9kZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgICAgIF9wYXJlbnREaWFsb2csXG4gICAgICAgICAgICBfb3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgICAgIF9zY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2N1c3RvbU92ZXJsYXkgPSBfb3ZlcmxheTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLl9jdXN0b21PdmVybGF5LnNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxuXG59Il19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PageComponent {
|
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageComponent, isStandalone: true, selector: "wui-page", ngImport: i0, template: `
|
|
6
|
+
<ng-content select="wui-app-bar"></ng-content>
|
|
7
|
+
<ng-content select=".wui-page-inner"></ng-content>
|
|
8
|
+
<ng-content select=".wui-page-footer"></ng-content>
|
|
9
|
+
`, isInline: true });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'wui-page',
|
|
15
|
+
standalone: true,
|
|
16
|
+
template: `
|
|
17
|
+
<ng-content select="wui-app-bar"></ng-content>
|
|
18
|
+
<ng-content select=".wui-page-inner"></ng-content>
|
|
19
|
+
<ng-content select=".wui-page-footer"></ng-content>
|
|
20
|
+
`
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFDLE1BQU0sT0FBTyxhQUFhO3dHQUFiLGFBQWE7NEZBQWIsYUFBYSxvRUFOZDs7OztHQUlUOzs0RkFFVSxhQUFhO2tCQVR6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInd1aS1hcHAtYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIi53dWktcGFnZS1pbm5lclwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCIud3VpLXBhZ2UtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQge30iXX0=
|