@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
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # WuiSingle
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project wui-single` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project wui-single`.
8
+ > Note: Don't forget to add `--project wui-single` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build wui-single` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build wui-single`, go to the dist folder `cd dist/wui-single` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test wui-single` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3VzZW5hLXd1aS1zaW5nbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9rdXNlbmEtd3VpLXNpbmdsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,63 @@
1
+ import { Component, ViewChild, inject, Renderer2, ElementRef } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { WuiModal } from '../modal/modal-overlay';
5
+ import { MessageService } from '../../services/message.service';
6
+ import { PageHostComponent } from '../page/page-host.component';
7
+ import { ModalHostComponent } from '../modal/modal-host.component';
8
+ import { SnackbarComponent } from '../snackbar/snackbar.component';
9
+ import * as i0 from "@angular/core";
10
+ export class AppComponent {
11
+ messageService = inject(MessageService);
12
+ wuiModal = inject(WuiModal);
13
+ elementRef = inject(ElementRef);
14
+ renderer = inject(Renderer2);
15
+ tooltip;
16
+ unsub = new Subject();
17
+ ngOnInit() {
18
+ this.messageService.get('wui:tooltip').pipe(takeUntil(this.unsub)).subscribe(params => {
19
+ this.tooltip.nativeElement.textContent = params.label;
20
+ let rect = params.el.getBoundingClientRect();
21
+ this.tooltip.nativeElement.style.top = (rect.y + rect.height + 16) + 'px';
22
+ this.tooltip.nativeElement.style.left = (rect.x + (rect.width / 2)) + 'px';
23
+ this.tooltip.nativeElement.classList.add('show');
24
+ });
25
+ this.messageService.get('wui:tooltip:hide').pipe(takeUntil(this.unsub)).subscribe(params => {
26
+ this.tooltip.nativeElement.classList.remove('show');
27
+ });
28
+ }
29
+ ngOnDestroy() {
30
+ this.unsub.next(null);
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppComponent, isStandalone: true, selector: "wui-app", viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: `
34
+ <ng-content select="wui-drawer"></ng-content>
35
+ <div class="wui-app-main" #appMain>
36
+ <ng-content/>
37
+ <wui-page-host/>
38
+ </div>
39
+ <wui-modal-host/>
40
+ <wui-snackbar/>
41
+ `, isInline: true, dependencies: [{ kind: "component", type: PageHostComponent, selector: "wui-page-host" }, { kind: "component", type: ModalHostComponent, selector: "wui-modal-host" }, { kind: "component", type: SnackbarComponent, selector: "wui-snackbar" }] });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppComponent, decorators: [{
44
+ type: Component,
45
+ args: [{
46
+ selector: 'wui-app',
47
+ standalone: true,
48
+ imports: [PageHostComponent, ModalHostComponent, SnackbarComponent],
49
+ template: `
50
+ <ng-content select="wui-drawer"></ng-content>
51
+ <div class="wui-app-main" #appMain>
52
+ <ng-content/>
53
+ <wui-page-host/>
54
+ </div>
55
+ <wui-modal-host/>
56
+ <wui-snackbar/>
57
+ `
58
+ }]
59
+ }], propDecorators: { tooltip: [{
60
+ type: ViewChild,
61
+ args: ['tooltip']
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC9hcHAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBZ0JuRSxNQUFNLE9BQU8sWUFBWTtJQUV2QixjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUFPO0lBQzVCLEtBQUssR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU1QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdEQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6RixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQTFCVSxZQUFZOzRGQUFaLFlBQVksdUtBVmI7Ozs7Ozs7O0dBUVQsNERBVFUsaUJBQWlCLDBEQUFFLGtCQUFrQiwyREFBRSxpQkFBaUI7OzRGQVd4RCxZQUFZO2tCQWR4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixVQUFVLEVBQUcsSUFBSTtvQkFDakIsT0FBTyxFQUFHLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3BFLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtpQkFDRjs4QkFRdUIsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBpbmplY3QsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgV3VpTW9kYWwgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC1vdmVybGF5JztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlSG9zdENvbXBvbmVudCB9IGZyb20gJy4uL3BhZ2UvcGFnZS1ob3N0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vZGFsSG9zdENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuLi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3dWktYXBwJyxcclxuICBzdGFuZGFsb25lIDogdHJ1ZSxcclxuICBpbXBvcnRzIDogW1BhZ2VIb3N0Q29tcG9uZW50LCBNb2RhbEhvc3RDb21wb25lbnQsIFNuYWNrYmFyQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInd1aS1kcmF3ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgPGRpdiBjbGFzcz1cInd1aS1hcHAtbWFpblwiICNhcHBNYWluPlxyXG4gICAgPG5nLWNvbnRlbnQvPlxyXG4gICAgPHd1aS1wYWdlLWhvc3QvPlxyXG4gIDwvZGl2PlxyXG4gIDx3dWktbW9kYWwtaG9zdC8+XHJcbiAgPHd1aS1zbmFja2Jhci8+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBtZXNzYWdlU2VydmljZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XHJcbiAgd3VpTW9kYWwgPSBpbmplY3QoV3VpTW9kYWwpO1xyXG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA/OiBhbnk7XHJcbiAgcHJpdmF0ZSB1bnN1YjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmdldCgnd3VpOnRvb2x0aXAnKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3ViKSkuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMudG9vbHRpcC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gcGFyYW1zLmxhYmVsO1xyXG4gICAgICBsZXQgcmVjdCA9IHBhcmFtcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgdGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gKHJlY3QueSArIHJlY3QuaGVpZ2h0ICsgMTYpICsgJ3B4JztcclxuICAgICAgdGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IChyZWN0LnggKyAocmVjdC53aWR0aCAvIDIpKSArICdweCc7XHJcbiAgICAgIHRoaXMudG9vbHRpcC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuZ2V0KCd3dWk6dG9vbHRpcDpoaWRlJykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YikpLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLnRvb2x0aXAubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1Yi5uZXh0KG51bGwpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AppBarComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppBarComponent, isStandalone: true, selector: "wui-app-bar", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppBarComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ standalone: true,
11
+ imports: [],
12
+ selector: 'wui-app-bar',
13
+ template: `<ng-content></ng-content>`
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7NEZBQWYsZUFBZSx1RUFGaEIsMkJBQTJCOzs0RkFFMUIsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUcsSUFBSTtvQkFDakIsT0FBTyxFQUFHLEVBQUU7b0JBQ1osUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lIDogdHJ1ZSxcbiAgaW1wb3J0cyA6IFtdLFxuICBzZWxlY3RvcjogJ3d1aS1hcHAtYmFyJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBBcHBCYXJDb21wb25lbnQge1xuXG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, effect, HostBinding, input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AvatarComponent {
6
+ src = input('');
7
+ size = input(40);
8
+ width = '40px';
9
+ height = '40px';
10
+ constructor() {
11
+ effect(() => {
12
+ const px = this.size() + 'px';
13
+ this.width = px;
14
+ this.height = px;
15
+ });
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AvatarComponent, isStandalone: true, selector: "wui-avatar", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.width": "this.width", "style.height": "this.height" } }, ngImport: i0, template: `<img *ngIf="src.length > 0" [src]="src()"/>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'wui-avatar',
24
+ standalone: true,
25
+ imports: [CommonModule],
26
+ template: `<img *ngIf="src.length > 0" [src]="src()"/>`
27
+ }]
28
+ }], ctorParameters: () => [], propDecorators: { width: [{
29
+ type: HostBinding,
30
+ args: ['style.width']
31
+ }], height: [{
32
+ type: HostBinding,
33
+ args: ['style.height']
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFHLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkUsTUFBTSxPQUFPLGVBQWU7SUFFMUIsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixJQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUNkLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFFN0M7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBZFUsZUFBZTs0RkFBZixlQUFlLCtZQUZoQiw2Q0FBNkMsMkRBRDVDLFlBQVk7OzRGQUdaLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRyxJQUFJO29CQUNqQixPQUFPLEVBQUcsQ0FBQyxZQUFZLENBQUM7b0JBQ3hCLFFBQVEsRUFBRSw2Q0FBNkM7aUJBQ3hEO3dEQU02QixLQUFLO3NCQUFoQyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ0csTUFBTTtzQkFBbEMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBIb3N0QmluZGluZywgaW5wdXQgIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3d1aS1hdmF0YXInLFxuICBzdGFuZGFsb25lIDogdHJ1ZSxcbiAgaW1wb3J0cyA6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYDxpbWcgKm5nSWY9XCJzcmMubGVuZ3RoID4gMFwiIFtzcmNdPVwic3JjKClcIi8+YFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgIHtcblxuICBzcmMgPSBpbnB1dCgnJyk7XG4gIHNpemUgPSBpbnB1dDxudW1iZXI+KDQwKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgd2lkdGggPSAnNDBweCc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0ID0gJzQwcHgnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBweCA9IHRoaXMuc2l6ZSgpICsgJ3B4JztcbiAgICAgIHRoaXMud2lkdGggPSBweDtcbiAgICAgIHRoaXMuaGVpZ2h0ID0gcHg7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
2
+ import { Component, inject } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class DialogComponent {
5
+ data = inject(DIALOG_DATA);
6
+ ref = inject(DialogRef);
7
+ close(index) {
8
+ this.ref.close(index);
9
+ }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DialogComponent, isStandalone: true, selector: "wui-dialog", ngImport: i0, template: `
12
+ <div class="wui-modal">
13
+ <div class="wui-modal-inner">
14
+ <div class="wui-modal-header">{{data?.title ?? ""}}</div>
15
+ <div class="wui-modal-content">{{data?.message ?? ""}}</div>
16
+ <div class="wui-modal-footer">
17
+ <div class="d-flex justify-content-end">
18
+ @for(caption of (data?.buttons ?? []); track $index) {
19
+ <button class="wui-button wui-button-smooth" (click)="close($index)">
20
+ {{caption}}
21
+ </button>
22
+ }
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ `, isInline: true });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'wui-dialog',
33
+ standalone: true,
34
+ imports: [],
35
+ template: `
36
+ <div class="wui-modal">
37
+ <div class="wui-modal-inner">
38
+ <div class="wui-modal-header">{{data?.title ?? ""}}</div>
39
+ <div class="wui-modal-content">{{data?.message ?? ""}}</div>
40
+ <div class="wui-modal-footer">
41
+ <div class="d-flex justify-content-end">
42
+ @for(caption of (data?.buttons ?? []); track $index) {
43
+ <button class="wui-button wui-button-smooth" (click)="close($index)">
44
+ {{caption}}
45
+ </button>
46
+ }
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ `
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBeUJsRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEIsS0FBSyxDQUFDLEtBQVM7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQU5VLGVBQWU7NEZBQWYsZUFBZSxzRUFuQmhCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUOzs0RkFHVSxlQUFlO2tCQXZCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFHLElBQUk7b0JBQ2pCLE9BQU8sRUFBRyxFQUFFO29CQUNaLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERJQUxPR19EQVRBLCBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3VpLWRpYWxvZycsXHJcbiAgc3RhbmRhbG9uZSA6IHRydWUsXHJcbiAgaW1wb3J0cyA6IFtdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwid3VpLW1vZGFsXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3dWktbW9kYWwtaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid3VpLW1vZGFsLWhlYWRlclwiPnt7ZGF0YT8udGl0bGUgPz8gXCJcIn19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInd1aS1tb2RhbC1jb250ZW50XCI+e3tkYXRhPy5tZXNzYWdlID8/IFwiXCJ9fTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3dWktbW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgQGZvcihjYXB0aW9uIG9mIChkYXRhPy5idXR0b25zID8/IFtdKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInd1aS1idXR0b24gd3VpLWJ1dHRvbi1zbW9vdGhcIiAoY2xpY2spPVwiY2xvc2UoJGluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAge3tjYXB0aW9ufX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgZGF0YSA9IGluamVjdChESUFMT0dfREFUQSk7XHJcbiAgcmVmID0gaW5qZWN0KERpYWxvZ1JlZik7XHJcblxyXG4gIGNsb3NlKGluZGV4OmFueSkge1xyXG4gICAgdGhpcy5yZWYuY2xvc2UoaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, inject, input, HostListener } from "@angular/core";
3
+ import { IconComponent } from "../icon/icon.component";
4
+ import { MessageService } from "../../services/message.service";
5
+ import * as i0 from "@angular/core";
6
+ export class DrawerItemComponent {
7
+ messageService = inject(MessageService);
8
+ icon = input('');
9
+ onClick() {
10
+ this.messageService.set('wui:showDrawer', false);
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerItemComponent, isStandalone: true, selector: "wui-drawer-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `
14
+ @if (icon()) {
15
+ <wui-icon [icon]="icon()"></wui-icon>
16
+ }
17
+ <div class="content">
18
+ <ng-content></ng-content>
19
+ </div>
20
+ `, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "wui-icon", inputs: ["icon"] }, { kind: "ngmodule", type: CommonModule }] });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerItemComponent, decorators: [{
23
+ type: Component,
24
+ args: [{
25
+ selector: 'wui-drawer-item',
26
+ standalone: true,
27
+ imports: [IconComponent, CommonModule],
28
+ template: `
29
+ @if (icon()) {
30
+ <wui-icon [icon]="icon()"></wui-icon>
31
+ }
32
+ <div class="content">
33
+ <ng-content></ng-content>
34
+ </div>
35
+ `
36
+ }]
37
+ }], propDecorators: { onClick: [{
38
+ type: HostListener,
39
+ args: ['click']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3VpLXNpbmdsZS9zcmMvbGliL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQWVoRSxNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUdqQixPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQzt3R0FQVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyUEFUcEI7Ozs7Ozs7R0FPVCw0REFSUyxhQUFhLHNFQUFFLFlBQVk7OzRGQVUxQixtQkFBbUI7a0JBYi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7OztHQU9UO2lCQUNGOzhCQU1DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLWRyYXdlci1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnQsIENvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChpY29uKCkpIHtcbiAgICAgIDx3dWktaWNvbiBbaWNvbl09XCJpY29uKClcIj48L3d1aS1pY29uPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckl0ZW1Db21wb25lbnQge1xuICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcbiAgaWNvbiA9IGlucHV0KCcnKTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5zZXQoJ3d1aTpzaG93RHJhd2VyJywgZmFsc2UpO1xuICB9XG59Il19
@@ -0,0 +1,82 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, inject, input, HostListener, ContentChild, effect, HostBinding, signal } from "@angular/core";
3
+ import { MessageService } from "../../services/message.service";
4
+ import { Subject, takeUntil } from "rxjs";
5
+ import { AvatarComponent } from "../avatar/avatar.component";
6
+ import * as i0 from "@angular/core";
7
+ export class DrawerComponent {
8
+ _showInput = input(false, {
9
+ transform: (value) => value != null && `${value}` !== 'false'
10
+ });
11
+ show = signal(this._showInput());
12
+ isMobile = signal(this.isMobileDevice());
13
+ avatar;
14
+ messageService = inject(MessageService);
15
+ unsub = new Subject();
16
+ constructor() {
17
+ effect(() => {
18
+ this.isShow = this.show();
19
+ }, { allowSignalWrites: true });
20
+ }
21
+ isShow = false;
22
+ onClick(e) {
23
+ const target = e.target;
24
+ if (target.tagName !== 'WUI-DRAWER-ITEM' &&
25
+ target.offsetParent?.tagName !== 'WUI-DRAWER-ITEM') {
26
+ return;
27
+ }
28
+ this.drawerItemClicked();
29
+ }
30
+ isMobileDevice() {
31
+ return /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i
32
+ .test(navigator.userAgent);
33
+ }
34
+ drawerItemClicked() {
35
+ if (this.isMobile()) {
36
+ this.show.set(false);
37
+ }
38
+ }
39
+ ngAfterContentInit() {
40
+ this.show.set(!this.isMobile());
41
+ }
42
+ ngOnInit() {
43
+ this.messageService.get('wui:toggleDrawer')
44
+ .pipe(takeUntil(this.unsub))
45
+ .subscribe(() => {
46
+ this.show.update(v => !v);
47
+ });
48
+ }
49
+ ngOnDestroy() {
50
+ this.unsub.next();
51
+ this.unsub.complete();
52
+ }
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerComponent, isStandalone: true, selector: "wui-drawer", inputs: { _showInput: { classPropertyName: "_showInput", publicName: "_showInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.show": "this.isShow" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }], ngImport: i0, template: `
55
+ @if (show()) {
56
+ <div class="wui-drawer-backdrop" (click)="show.set(false)"></div>
57
+ }
58
+ <ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ selector: 'wui-drawer',
64
+ standalone: true,
65
+ imports: [CommonModule],
66
+ template: `
67
+ @if (show()) {
68
+ <div class="wui-drawer-backdrop" (click)="show.set(false)"></div>
69
+ }
70
+ <ng-content></ng-content>`,
71
+ }]
72
+ }], ctorParameters: () => [], propDecorators: { avatar: [{
73
+ type: ContentChild,
74
+ args: [AvatarComponent]
75
+ }], isShow: [{
76
+ type: HostBinding,
77
+ args: ['class.show']
78
+ }], onClick: [{
79
+ type: HostListener,
80
+ args: ['click', ['$event']]
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFvQixZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0ksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZN0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDeEIsU0FBUyxFQUFFLENBQUMsS0FBdUIsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxLQUFLLE9BQU87S0FDaEYsQ0FBQyxDQUFDO0lBRUgsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6QixRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBRWxCLE1BQU0sQ0FBbUI7SUFFaEQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVwQztRQUNFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFHRCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBR2YsT0FBTyxDQUFDLENBQVE7UUFDZCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBcUIsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssaUJBQWlCO1lBQ3BDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsT0FBTyxLQUFLLGlCQUFpQixFQUFFLENBQUM7WUFDdkQsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLDhFQUE4RTthQUNsRixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQzthQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQzt3R0ExRFUsZUFBZTs0RkFBZixlQUFlLCtWQVFaLGVBQWUsZ0RBZG5COzs7OzhCQUlrQiwyREFMbEIsWUFBWTs7NEZBT1gsZUFBZTtrQkFWM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFOzs7OzhCQUlrQjtpQkFDN0I7d0RBU2dDLE1BQU07c0JBQXBDLFlBQVk7dUJBQUMsZUFBZTtnQkFZN0IsTUFBTTtzQkFETCxXQUFXO3VCQUFDLFlBQVk7Z0JBSXpCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIEhvc3RMaXN0ZW5lciwgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBlZmZlY3QsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tIFwiLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLWRyYXdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoc2hvdygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwid3VpLWRyYXdlci1iYWNrZHJvcFwiIChjbGljayk9XCJzaG93LnNldChmYWxzZSlcIj48L2Rpdj5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIF9zaG93SW5wdXQgPSBpbnB1dChmYWxzZSwgeyBcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgIT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnIFxuICB9KTtcblxuICBzaG93ID0gc2lnbmFsKHRoaXMuX3Nob3dJbnB1dCgpKTtcbiAgcHJpdmF0ZSBpc01vYmlsZSA9IHNpZ25hbCh0aGlzLmlzTW9iaWxlRGV2aWNlKCkpO1xuICBcbiAgQENvbnRlbnRDaGlsZChBdmF0YXJDb21wb25lbnQpIGF2YXRhcj86IEF2YXRhckNvbXBvbmVudDtcblxuICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB1bnN1YiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNTaG93ID0gdGhpcy5zaG93KCk7XG4gICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hvdycpIFxuICBpc1Nob3cgPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIFxuICBvbkNsaWNrKGU6IEV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRhcmdldC50YWdOYW1lICE9PSAnV1VJLURSQVdFUi1JVEVNJyAmJiBcbiAgICAgICAgdGFyZ2V0Lm9mZnNldFBhcmVudD8udGFnTmFtZSAhPT0gJ1dVSS1EUkFXRVItSVRFTScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kcmF3ZXJJdGVtQ2xpY2tlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01vYmlsZURldmljZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8TWFjfE1hY2ludG9zaHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pXG4gICAgICAudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgfVxuXG4gIGRyYXdlckl0ZW1DbGlja2VkKCkge1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuc2hvdy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLnNob3cuc2V0KCF0aGlzLmlzTW9iaWxlKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5nZXQoJ3d1aTp0b2dnbGVEcmF3ZXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWIpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvdy51cGRhdGUodiA9PiAhdik7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWIubmV4dCgpO1xuICAgIHRoaXMudW5zdWIuY29tcGxldGUoKTtcbiAgfVxufSJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Directive, inject, HostListener } from "@angular/core";
2
+ import { MessageService } from "../../services/message.service";
3
+ import * as i0 from "@angular/core";
4
+ export class DrawerTogglerDirective {
5
+ messageService = inject(MessageService);
6
+ onClick() {
7
+ this.messageService.set('wui:toggleDrawer', null);
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerTogglerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DrawerTogglerDirective, isStandalone: true, selector: "[wuiToggleDrawer]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerTogglerDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[wuiToggleDrawer]',
16
+ standalone: true,
17
+ }]
18
+ }], propDecorators: { onClick: [{
19
+ type: HostListener,
20
+ args: ['click']
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTTlELE1BQU0sT0FBTyxzQkFBc0I7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUdoRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQzt3R0FOVSxzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBS0MsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t3dWlUb2dnbGVEcmF3ZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICB9KVxuICBleHBvcnQgY2xhc3MgRHJhd2VyVG9nZ2xlckRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XG4gIFxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zZXQoJ3d1aTp0b2dnbGVEcmF3ZXInLCBudWxsKTtcbiAgICB9XG4gIH0iXX0=
@@ -0,0 +1,63 @@
1
+ import { Component, ContentChild, HostBinding, effect, inject, Injector, runInInjectionContext } from '@angular/core';
2
+ import { WuiInputDirective } from './wui-input.directive';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class FormFieldComponent {
6
+ input;
7
+ hasContent = false;
8
+ unsub = new Subject();
9
+ injector = inject(Injector);
10
+ ngAfterContentInit() {
11
+ if (this.input) {
12
+ runInInjectionContext(this.injector, () => {
13
+ effect(() => {
14
+ const value = this.input.valueChanges();
15
+ this.hasContent = !!value && value.toString().length > 0;
16
+ });
17
+ });
18
+ }
19
+ }
20
+ ngOnDestroy() {
21
+ this.unsub.next();
22
+ this.unsub.complete();
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "wui-form-field", host: { properties: { "class.has-content": "this.hasContent" } }, queries: [{ propertyName: "input", first: true, predicate: WuiInputDirective, descendants: true }], ngImport: i0, template: `
26
+ <div class="wui-form-field-flex">
27
+ <ng-content select=".wui-form-field-prefix"></ng-content>
28
+ <div class="wui-form-field-infix">
29
+ <ng-content select=".wui-form-field-input-prefix"></ng-content>
30
+ <ng-content></ng-content>
31
+ <ng-content select=".wui-form-field-input-suffix"></ng-content>
32
+ </div>
33
+ <ng-content select=".wui-form-field-suffix"></ng-content>
34
+ </div>
35
+ <ng-content select=".wui-form-field-hint"></ng-content>
36
+ `, isInline: true });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
39
+ type: Component,
40
+ args: [{
41
+ selector: 'wui-form-field',
42
+ standalone: true,
43
+ template: `
44
+ <div class="wui-form-field-flex">
45
+ <ng-content select=".wui-form-field-prefix"></ng-content>
46
+ <div class="wui-form-field-infix">
47
+ <ng-content select=".wui-form-field-input-prefix"></ng-content>
48
+ <ng-content></ng-content>
49
+ <ng-content select=".wui-form-field-input-suffix"></ng-content>
50
+ </div>
51
+ <ng-content select=".wui-form-field-suffix"></ng-content>
52
+ </div>
53
+ <ng-content select=".wui-form-field-hint"></ng-content>
54
+ `
55
+ }]
56
+ }], propDecorators: { input: [{
57
+ type: ContentChild,
58
+ args: [WuiInputDirective]
59
+ }], hasContent: [{
60
+ type: HostBinding,
61
+ args: ['class.has-content']
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3VpLWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3VpLXNpbmdsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC93dWktZm9ybS1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUVYLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLHFCQUFxQixFQUN0QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWtCL0IsTUFBTSxPQUFPLGtCQUFrQjtJQUVJLEtBQUssQ0FBcUI7SUFDekIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU3QyxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM1QixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFO29CQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO3dHQXRCVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiwrS0FFZixpQkFBaUIsZ0RBZnJCOzs7Ozs7Ozs7OztHQVdUOzs0RkFFVSxrQkFBa0I7a0JBaEI5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7aUJBQ0Y7OEJBR2tDLEtBQUs7c0JBQXJDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNHLFVBQVU7c0JBQTNDLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV3VpSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL3d1aS1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3dWktZm9ybS1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInd1aS1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIi53dWktZm9ybS1maWVsZC1wcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwid3VpLWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnd1aS1mb3JtLWZpZWxkLWlucHV0LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIud3VpLWZvcm0tZmllbGQtaW5wdXQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIud3VpLWZvcm0tZmllbGQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIi53dWktZm9ybS1maWVsZC1oaW50XCI+PC9uZy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgQENvbnRlbnRDaGlsZChXdWlJbnB1dERpcmVjdGl2ZSkgaW5wdXQ/OiBXdWlJbnB1dERpcmVjdGl2ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtY29udGVudCcpIGhhc0NvbnRlbnQgPSBmYWxzZTtcblxuICBwcml2YXRlIHVuc3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICh0aGlzLmlucHV0KSB7XG4gICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dCEudmFsdWVDaGFuZ2VzKCk7XG4gICAgICAgICAgdGhpcy5oYXNDb250ZW50ID0gISF2YWx1ZSAmJiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDA7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1Yi5uZXh0KCk7XG4gICAgdGhpcy51bnN1Yi5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Directive, Input, HostListener, inject, signal, input as inputSignal } from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { ControlContainer, NgModel } from '@angular/forms';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ export class WuiInputDirective {
8
+ elementRef = inject(ElementRef);
9
+ controlContainer = inject(ControlContainer, { optional: true, host: true, skipSelf: true });
10
+ ngModel = inject(NgModel, { optional: true });
11
+ valueChanges = signal('');
12
+ set value(val) {
13
+ this.valueChanges.set(val);
14
+ }
15
+ formControlName = inputSignal(undefined);
16
+ unsub = new Subject();
17
+ whenKeyup(event) {
18
+ const value = event.target.value;
19
+ this.valueChanges.set(value);
20
+ }
21
+ whenChange(event) {
22
+ const value = event.target.value;
23
+ this.valueChanges.set(value);
24
+ }
25
+ ngOnInit() {
26
+ const name = this.formControlName();
27
+ if (this.controlContainer && name) {
28
+ const control = this.controlContainer.control?.get(name);
29
+ control?.valueChanges.pipe(takeUntil(this.unsub)).subscribe(value => {
30
+ this.valueChanges.set(value);
31
+ });
32
+ this.valueChanges.set(control?.value || '');
33
+ return;
34
+ }
35
+ if (this.ngModel) {
36
+ this.ngModel.valueChanges?.pipe(takeUntil(this.unsub)).subscribe(value => {
37
+ this.valueChanges.set(value);
38
+ });
39
+ return;
40
+ }
41
+ // Fallback: initial native element value
42
+ const nativeValue = this.elementRef.nativeElement.value;
43
+ this.valueChanges.set(nativeValue || '');
44
+ }
45
+ ngOnDestroy() {
46
+ this.unsub.next();
47
+ this.unsub.complete();
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: WuiInputDirective, isStandalone: true, selector: "[wuiInput]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keyup": "whenKeyup($event)", "change": "whenChange($event)" } }, exportAs: ["wuiInput"], ngImport: i0 });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WuiInputDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: '[wuiInput]',
56
+ exportAs: 'wuiInput',
57
+ standalone: true
58
+ }]
59
+ }], propDecorators: { value: [{
60
+ type: Input
61
+ }], whenKeyup: [{
62
+ type: HostListener,
63
+ args: ['keyup', ['$event']]
64
+ }], whenChange: [{
65
+ type: HostListener,
66
+ args: ['change', ['$event']]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3VpLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d1aS1zaW5nbGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvd3VpLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBR1osTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLElBQUksV0FBVyxFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUVULFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdEQsWUFBWSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUUzQyxJQUFhLEtBQUssQ0FBQyxHQUFXO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUSxlQUFlLEdBQUcsV0FBVyxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUU5RCxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdwQyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHRCxVQUFVLENBQUMsS0FBWTtRQUNuQixNQUFNLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsT0FBTyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBZSxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBRSxPQUFPLEVBQUUsS0FBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN4RCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNYLENBQUM7UUFDRCx5Q0FBeUM7UUFDekMsTUFBTSxXQUFXLEdBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFrQyxDQUFDLEtBQUssQ0FBQztRQUM5RSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0FwRFEsaUJBQWlCOzRGQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBU2dCLEtBQUs7c0JBQWpCLEtBQUs7Z0JBU04sU0FBUztzQkFEUixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPakMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIGluamVjdCxcbiAgICBzaWduYWwsXG4gICAgaW5wdXQgYXMgaW5wdXRTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t3dWlJbnB1dF0nLFxuICAgIGV4cG9ydEFzOiAnd3VpSW5wdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgV3VpSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbENvbnRhaW5lciA9IGluamVjdChDb250cm9sQ29udGFpbmVyLCB7IG9wdGlvbmFsOiB0cnVlLCBob3N0OiB0cnVlLCBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nTW9kZWwgPSBpbmplY3QoTmdNb2RlbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZXMgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gICAgXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLnNldCh2YWwpO1xuICAgIH1cbiAgICBcbiAgICByZWFkb25seSBmb3JtQ29udHJvbE5hbWUgPSBpbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgXG4gICAgcHJpdmF0ZSB1bnN1YiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIHdoZW5LZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLnNldCh2YWx1ZSk7XG4gICAgfVxuICAgIFxuICAgIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gICAgd2hlbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5zZXQodmFsdWUpO1xuICAgIH1cbiAgICBcbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZm9ybUNvbnRyb2xOYW1lKCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIgJiYgbmFtZSkge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sPy5nZXQobmFtZSk7XG4gICAgICAgICAgICBjb250cm9sPy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YikpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMuc2V0KHZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLnNldCgoY29udHJvbD8udmFsdWUgYXMgc3RyaW5nKSB8fCAnJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmdNb2RlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ01vZGVsLnZhbHVlQ2hhbmdlcz8ucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YikpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMuc2V0KHZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBGYWxsYmFjazogaW5pdGlhbCBuYXRpdmUgZWxlbWVudCB2YWx1ZVxuICAgICAgICBjb25zdCBuYXRpdmVWYWx1ZSA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMuc2V0KG5hdGl2ZVZhbHVlIHx8ICcnKTtcbiAgICB9XG4gICAgXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudW5zdWIubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3ViLmNvbXBsZXRlKCk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component, HostBinding, input as inputSignal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IconComponent {
4
+ icon = inputSignal('');
5
+ get hostClass() {
6
+ return this.icon() ? `mdi mdi-${this.icon()}` : 'mdi';
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: IconComponent, isStandalone: true, selector: "wui-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: ``, isInline: true });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'wui-icon',
15
+ standalone: true,
16
+ template: ``,
17
+ }]
18
+ }], propDecorators: { hostClass: [{
19
+ type: HostBinding,
20
+ args: ['class']
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzdFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsSUFBSSxHQUFHLFdBQVcsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUV4QyxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7d0dBTlUsYUFBYTs0RkFBYixhQUFhLDBQQUZkLEVBQUU7OzRGQUVELGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFLSyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlucHV0IGFzIGlucHV0U2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3d1aS1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0U2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvbigpID8gYG1kaSBtZGktJHt0aGlzLmljb24oKX1gIDogJ21kaSc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ListTileComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListTileComponent, isStandalone: true, selector: "wui-list-tile", ngImport: i0, template: `
6
+ <ng-content></ng-content>
7
+ `, isInline: true });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListTileComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'wui-list-tile',
13
+ standalone: true,
14
+ template: `
15
+ <ng-content></ng-content>
16
+ `
17
+ }]
18
+ }] });
19
+ export class ListComponent {
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "wui-list", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'wui-list',
27
+ standalone: true,
28
+ template: `<ng-content></ng-content>`
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93dWktc2luZ2xlL3NyYy9saWIvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyxpQkFBaUI7d0dBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCLHlFQUpsQjs7R0FFVDs7NEZBRVUsaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOztHQUVUO2lCQUNGOztBQVFELE1BQU0sT0FBTyxhQUFhO3dHQUFiLGFBQWE7NEZBQWIsYUFBYSxvRUFGZCwyQkFBMkI7OzRGQUUxQixhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3VpLWxpc3QtdGlsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIExpc3RUaWxlQ29tcG9uZW50IHsgfVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3dWktbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCB7IH1cbiJdfQ==