@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.
Files changed (117) hide show
  1. package/README.md +24 -0
  2. package/esm2022/kusena-wui-single.mjs +5 -0
  3. package/esm2022/lib/components/app/app.component.mjs +63 -0
  4. package/esm2022/lib/components/app-bar/app-bar.component.mjs +16 -0
  5. package/esm2022/lib/components/avatar/avatar.component.mjs +35 -0
  6. package/esm2022/lib/components/dialog/dialog.component.mjs +54 -0
  7. package/esm2022/lib/components/drawer/drawer-item.component.mjs +41 -0
  8. package/esm2022/lib/components/drawer/drawer.component.mjs +82 -0
  9. package/esm2022/lib/components/drawer/drawer.directive.mjs +22 -0
  10. package/esm2022/lib/components/form-field/wui-form-field.component.mjs +63 -0
  11. package/esm2022/lib/components/form-field/wui-input.directive.mjs +68 -0
  12. package/esm2022/lib/components/icon/icon.component.mjs +22 -0
  13. package/esm2022/lib/components/list/list.component.mjs +31 -0
  14. package/esm2022/lib/components/loading/loading.component.mjs +60 -0
  15. package/esm2022/lib/components/loading-dialog/loading-dialog.component.mjs +24 -0
  16. package/esm2022/lib/components/menu/menu.component.mjs +134 -0
  17. package/esm2022/lib/components/modal/modal-host.component.mjs +21 -0
  18. package/esm2022/lib/components/modal/modal-overlay.mjs +63 -0
  19. package/esm2022/lib/components/modal/modal.component.mjs +38 -0
  20. package/esm2022/lib/components/nav/nav.component.mjs +85 -0
  21. package/esm2022/lib/components/page/page-host.component.mjs +21 -0
  22. package/esm2022/lib/components/page/page-overlay.service.mjs +63 -0
  23. package/esm2022/lib/components/page/page.component.mjs +23 -0
  24. package/esm2022/lib/components/snackbar/snackbar.component.mjs +65 -0
  25. package/esm2022/lib/components/toggle/toggle.component.mjs +79 -0
  26. package/esm2022/lib/directives/menu.directive.mjs +79 -0
  27. package/esm2022/lib/directives/nav.directive.mjs +78 -0
  28. package/esm2022/lib/directives/num-input.directive.mjs +105 -0
  29. package/esm2022/lib/directives/page-header.directive.mjs +48 -0
  30. package/esm2022/lib/directives/ripple.directive.mjs +87 -0
  31. package/esm2022/lib/directives/scroll-end.directive.mjs +27 -0
  32. package/esm2022/lib/directives/sortable.directive.mjs +99 -0
  33. package/esm2022/lib/index.mjs +39 -0
  34. package/esm2022/lib/services/message.service.mjs +22 -0
  35. package/esm2022/lib/services/modal.service.mjs +26 -0
  36. package/esm2022/lib/services/nav.service.mjs +55 -0
  37. package/esm2022/lib/services/page.service.mjs +38 -0
  38. package/esm2022/lib/services/router.service.mjs +42 -0
  39. package/esm2022/lib/services/wui.service.mjs +43 -0
  40. package/esm2022/lib/wui-single.component.mjs +19 -0
  41. package/esm2022/lib/wui.providers.mjs +20 -0
  42. package/esm2022/public-api.mjs +5 -0
  43. package/fesm2022/kusena-wui-single.mjs +1841 -0
  44. package/fesm2022/kusena-wui-single.mjs.map +1 -0
  45. package/index.d.ts +5 -0
  46. package/lib/components/app/app.component.d.ts +16 -0
  47. package/lib/components/app-bar/app-bar.component.d.ts +5 -0
  48. package/lib/components/avatar/avatar.component.d.ts +10 -0
  49. package/lib/components/dialog/dialog.component.d.ts +9 -0
  50. package/lib/components/drawer/drawer-item.component.d.ts +8 -0
  51. package/lib/components/drawer/drawer.component.d.ts +21 -0
  52. package/lib/components/drawer/drawer.directive.d.ts +7 -0
  53. package/lib/components/form-field/wui-form-field.component.d.ts +13 -0
  54. package/lib/components/form-field/wui-input.directive.d.ts +17 -0
  55. package/lib/components/icon/icon.component.d.ts +7 -0
  56. package/lib/components/list/list.component.d.ts +9 -0
  57. package/lib/components/loading/loading.component.d.ts +9 -0
  58. package/lib/components/loading-dialog/loading-dialog.component.d.ts +8 -0
  59. package/lib/components/menu/menu.component.d.ts +27 -0
  60. package/lib/components/modal/modal-host.component.d.ts +10 -0
  61. package/lib/components/modal/modal-overlay.d.ts +25 -0
  62. package/lib/components/modal/modal.component.d.ts +11 -0
  63. package/lib/components/nav/nav.component.d.ts +17 -0
  64. package/lib/components/page/page-host.component.d.ts +10 -0
  65. package/lib/components/page/page-overlay.service.d.ts +25 -0
  66. package/lib/components/page/page.component.d.ts +5 -0
  67. package/lib/components/snackbar/snackbar.component.d.ts +18 -0
  68. package/lib/components/toggle/toggle.component.d.ts +21 -0
  69. package/lib/directives/menu.directive.d.ts +17 -0
  70. package/lib/directives/nav.directive.d.ts +30 -0
  71. package/lib/directives/num-input.directive.d.ts +27 -0
  72. package/lib/directives/page-header.directive.d.ts +13 -0
  73. package/lib/directives/ripple.directive.d.ts +16 -0
  74. package/lib/directives/scroll-end.directive.d.ts +9 -0
  75. package/lib/directives/sortable.directive.d.ts +19 -0
  76. package/lib/index.d.ts +33 -0
  77. package/lib/services/message.service.d.ts +9 -0
  78. package/lib/services/modal.service.d.ts +13 -0
  79. package/lib/services/nav.service.d.ts +14 -0
  80. package/lib/services/page.service.d.ts +16 -0
  81. package/lib/services/router.service.d.ts +16 -0
  82. package/lib/services/wui.service.d.ts +16 -0
  83. package/lib/wui-single.component.d.ts +5 -0
  84. package/lib/wui.providers.d.ts +2 -0
  85. package/package.json +25 -0
  86. package/public-api.d.ts +1 -0
  87. package/scss/screen/appbar.scss +71 -0
  88. package/scss/screen/avatar.scss +17 -0
  89. package/scss/screen/backdrop.scss +15 -0
  90. package/scss/screen/box.scss +67 -0
  91. package/scss/screen/breadcrumb.scss +34 -0
  92. package/scss/screen/buttons.scss +177 -0
  93. package/scss/screen/core.scss +103 -0
  94. package/scss/screen/drawer.scss +273 -0
  95. package/scss/screen/formfields.scss +288 -0
  96. package/scss/screen/icon.scss +33 -0
  97. package/scss/screen/list.scss +90 -0
  98. package/scss/screen/loading.scss +169 -0
  99. package/scss/screen/menu.scss +120 -0
  100. package/scss/screen/modal.scss +238 -0
  101. package/scss/screen/normalize.scss +340 -0
  102. package/scss/screen/page.scss +115 -0
  103. package/scss/screen/pagination.scss +46 -0
  104. package/scss/screen/ripple.scss +18 -0
  105. package/scss/screen/scrollbar.scss +108 -0
  106. package/scss/screen/searchbox.scss +40 -0
  107. package/scss/screen/selection.scss +190 -0
  108. package/scss/screen/snackbar.scss +25 -0
  109. package/scss/screen/sortable.scss +10 -0
  110. package/scss/screen/table.scss +199 -0
  111. package/scss/screen/tabs.scss +71 -0
  112. package/scss/screen/toogle.scss +79 -0
  113. package/scss/screen/tooltip.scss +16 -0
  114. package/scss/screen/utils.scss +140 -0
  115. package/scss/variables/colors.scss +180 -0
  116. package/scss/variables/defaults.scss +0 -0
  117. 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=