ngx-gccb 0.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 (90) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/animations/fade-right.animation.mjs +9 -0
  3. package/esm2022/lib/animations/fade-up.animation.mjs +9 -0
  4. package/esm2022/lib/animations/index.mjs +3 -0
  5. package/esm2022/lib/components/form-errors/form-errors.component.mjs +38 -0
  6. package/esm2022/lib/components/form-errors/index.mjs +2 -0
  7. package/esm2022/lib/components/form-input/form-input.component.mjs +49 -0
  8. package/esm2022/lib/components/form-input/index.mjs +2 -0
  9. package/esm2022/lib/components/index.mjs +7 -0
  10. package/esm2022/lib/components/loading-indicator/index.mjs +2 -0
  11. package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +17 -0
  12. package/esm2022/lib/components/modal/index.mjs +2 -0
  13. package/esm2022/lib/components/modal/modal.component.mjs +25 -0
  14. package/esm2022/lib/components/off-canvas/index.mjs +2 -0
  15. package/esm2022/lib/components/off-canvas/off-canvas.component.mjs +27 -0
  16. package/esm2022/lib/components/toast/index.mjs +2 -0
  17. package/esm2022/lib/components/toast/toast.component.mjs +44 -0
  18. package/esm2022/lib/directives/button-outline.directive.mjs +33 -0
  19. package/esm2022/lib/directives/button.directive.mjs +54 -0
  20. package/esm2022/lib/directives/form-input.directive.mjs +31 -0
  21. package/esm2022/lib/directives/form-label.directive.mjs +20 -0
  22. package/esm2022/lib/directives/form-select.directive.mjs +31 -0
  23. package/esm2022/lib/directives/icon-button.directive.mjs +37 -0
  24. package/esm2022/lib/directives/index.mjs +9 -0
  25. package/esm2022/lib/directives/list-group-item.directive.mjs +23 -0
  26. package/esm2022/lib/directives/list-group.directive.mjs +22 -0
  27. package/esm2022/lib/helpers/index.mjs +2 -0
  28. package/esm2022/lib/helpers/sort.helper.mjs +31 -0
  29. package/esm2022/lib/interfaces/dictionary.interface.mjs +2 -0
  30. package/esm2022/lib/interfaces/index.mjs +2 -0
  31. package/esm2022/lib/pipe/form-control.pipe.mjs +17 -0
  32. package/esm2022/lib/pipe/index.mjs +2 -0
  33. package/esm2022/lib/services/index.mjs +6 -0
  34. package/esm2022/lib/services/loading-indicator.service.mjs +16 -0
  35. package/esm2022/lib/services/local.service.mjs +30 -0
  36. package/esm2022/lib/services/modal.service.mjs +28 -0
  37. package/esm2022/lib/services/toast.service.mjs +39 -0
  38. package/esm2022/lib/services/token.service.mjs +26 -0
  39. package/esm2022/lib/typings/array-extension.mjs +32 -0
  40. package/esm2022/lib/typings/date-extension.mjs +28 -0
  41. package/esm2022/lib/typings/index.mjs +4 -0
  42. package/esm2022/lib/typings/string-extensions.mjs +5 -0
  43. package/esm2022/ngx-gccb.mjs +5 -0
  44. package/esm2022/public-api.mjs +14 -0
  45. package/fesm2022/ngx-gccb.mjs +684 -0
  46. package/fesm2022/ngx-gccb.mjs.map +1 -0
  47. package/index.d.ts +5 -0
  48. package/lib/animations/fade-right.animation.d.ts +1 -0
  49. package/lib/animations/fade-up.animation.d.ts +1 -0
  50. package/lib/animations/index.d.ts +2 -0
  51. package/lib/components/form-errors/form-errors.component.d.ts +7 -0
  52. package/lib/components/form-errors/index.d.ts +1 -0
  53. package/lib/components/form-input/form-input.component.d.ts +21 -0
  54. package/lib/components/form-input/index.d.ts +1 -0
  55. package/lib/components/index.d.ts +6 -0
  56. package/lib/components/loading-indicator/index.d.ts +1 -0
  57. package/lib/components/loading-indicator/loading-indicator.component.d.ts +6 -0
  58. package/lib/components/modal/index.d.ts +1 -0
  59. package/lib/components/modal/modal.component.d.ts +10 -0
  60. package/lib/components/off-canvas/index.d.ts +1 -0
  61. package/lib/components/off-canvas/off-canvas.component.d.ts +10 -0
  62. package/lib/components/toast/index.d.ts +1 -0
  63. package/lib/components/toast/toast.component.d.ts +8 -0
  64. package/lib/directives/button-outline.directive.d.ts +11 -0
  65. package/lib/directives/button.directive.d.ts +15 -0
  66. package/lib/directives/form-input.directive.d.ts +10 -0
  67. package/lib/directives/form-label.directive.d.ts +6 -0
  68. package/lib/directives/form-select.directive.d.ts +10 -0
  69. package/lib/directives/icon-button.directive.d.ts +11 -0
  70. package/lib/directives/index.d.ts +8 -0
  71. package/lib/directives/list-group-item.directive.d.ts +9 -0
  72. package/lib/directives/list-group.directive.d.ts +9 -0
  73. package/lib/helpers/index.d.ts +1 -0
  74. package/lib/helpers/sort.helper.d.ts +1 -0
  75. package/lib/interfaces/dictionary.interface.d.ts +3 -0
  76. package/lib/interfaces/index.d.ts +1 -0
  77. package/lib/pipe/form-control.pipe.d.ts +8 -0
  78. package/lib/pipe/index.d.ts +1 -0
  79. package/lib/services/index.d.ts +5 -0
  80. package/lib/services/loading-indicator.service.d.ts +8 -0
  81. package/lib/services/local.service.d.ts +9 -0
  82. package/lib/services/modal.service.d.ts +12 -0
  83. package/lib/services/toast.service.d.ts +13 -0
  84. package/lib/services/token.service.d.ts +11 -0
  85. package/lib/typings/array-extension.d.ts +10 -0
  86. package/lib/typings/date-extension.d.ts +13 -0
  87. package/lib/typings/index.d.ts +3 -0
  88. package/lib/typings/string-extensions.d.ts +6 -0
  89. package/package.json +30 -0
  90. package/public-api.d.ts +8 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # NgxGccb
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project ngx-gccb` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-gccb`.
8
+ > Note: Don't forget to add `--project ngx-gccb` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build ngx-gccb` 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 ngx-gccb`, go to the dist folder `cd dist/ngx-gccb` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test ngx-gccb` 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.io/cli) page.
@@ -0,0 +1,9 @@
1
+ import { animate, style, transition, trigger } from '@angular/animations';
2
+ export const FadeRightAnimation = trigger('fadeRightAnimation', [
3
+ transition(':enter', [
4
+ style({ transform: 'translateX(-100%)', zIndex: 9999 }),
5
+ animate('200ms ease-in', style({ transform: 'translateX(0%)' })),
6
+ ]),
7
+ transition(':leave', [animate('200ms ease-in', style({ transform: 'translateX(-100%)' }))]),
8
+ ]);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS1yaWdodC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2FuaW1hdGlvbnMvZmFkZS1yaWdodC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUMvRCxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0tBQ2hFLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUMzRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgRmFkZVJpZ2h0QW5pbWF0aW9uID0gdHJpZ2dlcignZmFkZVJpZ2h0QW5pbWF0aW9uJywgW1xuXHR0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG5cdFx0c3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsIHpJbmRleDogOTk5OSB9KSxcblx0XHRhbmltYXRlKCcyMDBtcyBlYXNlLWluJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpLFxuXHRdKSxcblx0dHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzIwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSldKSxcbl0pO1xuIl19
@@ -0,0 +1,9 @@
1
+ import { animate, style, transition, trigger } from '@angular/animations';
2
+ export const FadeAnimation = trigger('fadeAnimation', [
3
+ transition(':enter', [
4
+ style({ opacity: 0, transform: 'translateY(10px)' }),
5
+ animate('500ms', style({ opacity: 1, transform: 'translateY(0)' })),
6
+ ]),
7
+ transition(':leave', [animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' }))]),
8
+ ]);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS11cC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2FuaW1hdGlvbnMvZmFkZS11cC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO0lBQ3JELFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDcEIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztRQUNwRCxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDbkUsQ0FBQztJQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDOUYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IEZhZGVBbmltYXRpb24gPSB0cmlnZ2VyKCdmYWRlQW5pbWF0aW9uJywgW1xuXHR0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG5cdFx0c3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJyB9KSxcblx0XHRhbmltYXRlKCc1MDBtcycsIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuXHRdKSxcblx0dHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzUwMG1zJywgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJyB9KSldKSxcbl0pO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './fade-right.animation';
2
+ export * from './fade-up.animation';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2FuaW1hdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYWRlLXJpZ2h0LmFuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2ZhZGUtdXAuYW5pbWF0aW9uJztcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class FormErrors {
5
+ constructor() {
6
+ this.errors = null;
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormErrors, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: FormErrors, isStandalone: true, selector: "app-form-errors", inputs: { errors: "errors" }, ngImport: i0, template: `
10
+ <div class="invalid-feedback d-block">
11
+ @if (errors) {
12
+ @if (errors['required']) {
13
+ <div>Feld wird benötigt</div>
14
+ }
15
+ }
16
+ </div>
17
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormErrors, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'app-form-errors',
23
+ template: `
24
+ <div class="invalid-feedback d-block">
25
+ @if (errors) {
26
+ @if (errors['required']) {
27
+ <div>Feld wird benötigt</div>
28
+ }
29
+ }
30
+ </div>
31
+ `,
32
+ standalone: true,
33
+ imports: [CommonModule],
34
+ }]
35
+ }], propDecorators: { errors: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3JzL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBaUJqRCxNQUFNLE9BQU8sVUFBVTtJQWR2QjtRQWVVLFdBQU0sR0FBNEIsSUFBSSxDQUFDO0tBQ2hEOzhHQUZZLFVBQVU7a0dBQVYsVUFBVSx5R0FaWjs7Ozs7Ozs7RUFRVCwyREFFUyxZQUFZOzsyRkFFVixVQUFVO2tCQWR0QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7RUFRVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN2Qjs4QkFFUyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYXBwLWZvcm0tZXJyb3JzJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFjayBkLWJsb2NrXCI+XG5cdFx0XHRAaWYgKGVycm9ycykge1xuXHRcdFx0XHRAaWYgKGVycm9yc1sncmVxdWlyZWQnXSkge1xuXHRcdFx0XHRcdDxkaXY+RmVsZCB3aXJkIGJlbsO2dGlndDwvZGl2PlxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JzIHtcblx0QElucHV0KCkgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './form-errors.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1lcnJvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1lcnJvcnMuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FormInputDirective, FormLabelDirective, FormSelectDirective } from '../../directives';
4
+ import { FormErrors } from '../form-errors';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class FormInputComponent {
8
+ constructor() {
9
+ this.inputType = 'text';
10
+ this.isSubmitted = false;
11
+ this.onEnter = new EventEmitter();
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: FormInputComponent, isStandalone: true, selector: "app-form-input", inputs: { control: "control", inputType: "inputType", inputLabel: "inputLabel", inputPlaceholder: "inputPlaceholder", inputId: "inputId", inputName: "inputName", inputTabIndex: "inputTabIndex", isSubmitted: "isSubmitted", selectOptions: "selectOptions" }, outputs: { onEnter: "onEnter" }, ngImport: i0, template: "<div class=\"form-floating mb-3\">\n\t@if (\n\t\tinputType === \"text\" ||\n\t\tinputType === \"number\" ||\n\t\tinputType === \"date\" ||\n\t\tinputType === \"datetime-local\"\n\t) {\n\t\t<input\n\t\t\t[type]=\"inputType\"\n\t\t\t[attr.id]=\"inputId || inputName\"\n\t\t\t[attr.name]=\"inputName\"\n\t\t\t[formControl]=\"control\"\n\t\t\tapp-form-input\n\t\t\t[formInputInvalid]=\"isSubmitted && !!control.errors\"\n\t\t\t[placeholder]=\"inputPlaceholder\"\n\t\t\t[tabIndex]=\"inputTabIndex\"\n\t\t\t(keydown.enter)=\"onEnter.next()\"\n\t\t/>\n\t}\n\t@if (inputType === \"select\") {\n\t\t<select\n\t\t\t[attr.id]=\"inputId || inputName\"\n\t\t\t[attr.name]=\"inputName\"\n\t\t\t[formControl]=\"control\"\n\t\t\tapp-form-select\n\t\t\t[formInputInvalid]=\"isSubmitted && !!control.errors\"\n\t\t\t[tabIndex]=\"inputTabIndex\"\n\t\t\t(keydown.enter)=\"onEnter.next()\"\n\t\t>\n\t\t\t@for (option of selectOptions; track option.value) {\n\t\t\t\t<option [value]=\"option.value\">\n\t\t\t\t\t{{ option.label }}\n\t\t\t\t</option>\n\t\t\t}\n\t\t</select>\n\t}\n\t<label app-form-label [attr.for]=\"inputName || inputId\"> {{ inputLabel }} </label>\n\t@if (isSubmitted && control.errors) {\n\t\t<app-form-errors [errors]=\"control.errors\" />\n\t}\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormErrors, selector: "app-form-errors", inputs: ["errors"] }, { kind: "directive", type: FormLabelDirective, selector: "label[app-form-label]" }, { kind: "directive", type: FormInputDirective, selector: "input,textarea[app-form-input]", inputs: ["formInputInvalid"] }, { kind: "directive", type: FormSelectDirective, selector: "select[app-form-select]", inputs: ["formInputInvalid"] }] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormInputComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'app-form-input', standalone: true, imports: [
19
+ ReactiveFormsModule,
20
+ FormErrors,
21
+ FormLabelDirective,
22
+ FormInputDirective,
23
+ FormSelectDirective,
24
+ ], template: "<div class=\"form-floating mb-3\">\n\t@if (\n\t\tinputType === \"text\" ||\n\t\tinputType === \"number\" ||\n\t\tinputType === \"date\" ||\n\t\tinputType === \"datetime-local\"\n\t) {\n\t\t<input\n\t\t\t[type]=\"inputType\"\n\t\t\t[attr.id]=\"inputId || inputName\"\n\t\t\t[attr.name]=\"inputName\"\n\t\t\t[formControl]=\"control\"\n\t\t\tapp-form-input\n\t\t\t[formInputInvalid]=\"isSubmitted && !!control.errors\"\n\t\t\t[placeholder]=\"inputPlaceholder\"\n\t\t\t[tabIndex]=\"inputTabIndex\"\n\t\t\t(keydown.enter)=\"onEnter.next()\"\n\t\t/>\n\t}\n\t@if (inputType === \"select\") {\n\t\t<select\n\t\t\t[attr.id]=\"inputId || inputName\"\n\t\t\t[attr.name]=\"inputName\"\n\t\t\t[formControl]=\"control\"\n\t\t\tapp-form-select\n\t\t\t[formInputInvalid]=\"isSubmitted && !!control.errors\"\n\t\t\t[tabIndex]=\"inputTabIndex\"\n\t\t\t(keydown.enter)=\"onEnter.next()\"\n\t\t>\n\t\t\t@for (option of selectOptions; track option.value) {\n\t\t\t\t<option [value]=\"option.value\">\n\t\t\t\t\t{{ option.label }}\n\t\t\t\t</option>\n\t\t\t}\n\t\t</select>\n\t}\n\t<label app-form-label [attr.for]=\"inputName || inputId\"> {{ inputLabel }} </label>\n\t@if (isSubmitted && control.errors) {\n\t\t<app-form-errors [errors]=\"control.errors\" />\n\t}\n</div>\n" }]
25
+ }], propDecorators: { control: [{
26
+ type: Input,
27
+ args: [{ required: true }]
28
+ }], inputType: [{
29
+ type: Input
30
+ }], inputLabel: [{
31
+ type: Input,
32
+ args: [{ required: true }]
33
+ }], inputPlaceholder: [{
34
+ type: Input
35
+ }], inputId: [{
36
+ type: Input
37
+ }], inputName: [{
38
+ type: Input,
39
+ args: [{ required: true }]
40
+ }], inputTabIndex: [{
41
+ type: Input
42
+ }], isSubmitted: [{
43
+ type: Input
44
+ }], selectOptions: [{
45
+ type: Input
46
+ }], onEnter: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nY2NiL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQW1CNUMsTUFBTSxPQUFPLGtCQUFrQjtJQVovQjtRQWNVLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFNM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBQzNEOzhHQVpZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDJXQ3RCL0IsdXVDQXlDQSwyQ0QxQkUsbUJBQW1CLHErQkFDbkIsVUFBVSxnRkFDVixrQkFBa0Isa0VBQ2xCLGtCQUFrQix5R0FDbEIsbUJBQW1COzsyRkFHUixrQkFBa0I7a0JBWjlCLFNBQVM7K0JBQ0MsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQO3dCQUNSLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3FCQUNuQjs4QkFHMEIsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ3FCLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNxQixTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1JbnB1dERpcmVjdGl2ZSwgRm9ybUxhYmVsRGlyZWN0aXZlLCBGb3JtU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JzIH0gZnJvbSAnLi4vZm9ybS1lcnJvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RPcHRpb25zIHtcblx0bGFiZWw6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYXBwLWZvcm0taW5wdXQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXHRcdEZvcm1FcnJvcnMsXG5cdFx0Rm9ybUxhYmVsRGlyZWN0aXZlLFxuXHRcdEZvcm1JbnB1dERpcmVjdGl2ZSxcblx0XHRGb3JtU2VsZWN0RGlyZWN0aXZlLFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDb21wb25lbnQge1xuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb250cm9sITogRm9ybUNvbnRyb2w7XG5cdEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nID0gJ3RleHQnO1xuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpbnB1dExhYmVsITogc3RyaW5nO1xuXHRASW5wdXQoKSBpbnB1dFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXHRASW5wdXQoKSBpbnB1dElkPzogc3RyaW5nO1xuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpbnB1dE5hbWUhOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGlucHV0VGFiSW5kZXg/OiBzdHJpbmc7XG5cdEBJbnB1dCgpIGlzU3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XG5cdEBJbnB1dCgpIHNlbGVjdE9wdGlvbnM/OiBJU2VsZWN0T3B0aW9uc1tdO1xuXG5cdEBPdXRwdXQoKSBvbkVudGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1mbG9hdGluZyBtYi0zXCI+XG5cdEBpZiAoXG5cdFx0aW5wdXRUeXBlID09PSBcInRleHRcIiB8fFxuXHRcdGlucHV0VHlwZSA9PT0gXCJudW1iZXJcIiB8fFxuXHRcdGlucHV0VHlwZSA9PT0gXCJkYXRlXCIgfHxcblx0XHRpbnB1dFR5cGUgPT09IFwiZGF0ZXRpbWUtbG9jYWxcIlxuXHQpIHtcblx0XHQ8aW5wdXRcblx0XHRcdFt0eXBlXT1cImlucHV0VHlwZVwiXG5cdFx0XHRbYXR0ci5pZF09XCJpbnB1dElkIHx8IGlucHV0TmFtZVwiXG5cdFx0XHRbYXR0ci5uYW1lXT1cImlucHV0TmFtZVwiXG5cdFx0XHRbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG5cdFx0XHRhcHAtZm9ybS1pbnB1dFxuXHRcdFx0W2Zvcm1JbnB1dEludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgISFjb250cm9sLmVycm9yc1wiXG5cdFx0XHRbcGxhY2Vob2xkZXJdPVwiaW5wdXRQbGFjZWhvbGRlclwiXG5cdFx0XHRbdGFiSW5kZXhdPVwiaW5wdXRUYWJJbmRleFwiXG5cdFx0XHQoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyLm5leHQoKVwiXG5cdFx0Lz5cblx0fVxuXHRAaWYgKGlucHV0VHlwZSA9PT0gXCJzZWxlY3RcIikge1xuXHRcdDxzZWxlY3Rcblx0XHRcdFthdHRyLmlkXT1cImlucHV0SWQgfHwgaW5wdXROYW1lXCJcblx0XHRcdFthdHRyLm5hbWVdPVwiaW5wdXROYW1lXCJcblx0XHRcdFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcblx0XHRcdGFwcC1mb3JtLXNlbGVjdFxuXHRcdFx0W2Zvcm1JbnB1dEludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgISFjb250cm9sLmVycm9yc1wiXG5cdFx0XHRbdGFiSW5kZXhdPVwiaW5wdXRUYWJJbmRleFwiXG5cdFx0XHQoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyLm5leHQoKVwiXG5cdFx0PlxuXHRcdFx0QGZvciAob3B0aW9uIG9mIHNlbGVjdE9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuXHRcdFx0XHQ8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cblx0XHRcdFx0XHR7eyBvcHRpb24ubGFiZWwgfX1cblx0XHRcdFx0PC9vcHRpb24+XG5cdFx0XHR9XG5cdFx0PC9zZWxlY3Q+XG5cdH1cblx0PGxhYmVsIGFwcC1mb3JtLWxhYmVsIFthdHRyLmZvcl09XCJpbnB1dE5hbWUgfHwgaW5wdXRJZFwiPiB7eyBpbnB1dExhYmVsIH19IDwvbGFiZWw+XG5cdEBpZiAoaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5lcnJvcnMpIHtcblx0XHQ8YXBwLWZvcm0tZXJyb3JzIFtlcnJvcnNdPVwiY29udHJvbC5lcnJvcnNcIiAvPlxuXHR9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './form-input.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWlucHV0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './form-errors';
2
+ export * from './form-input';
3
+ export * from './loading-indicator';
4
+ export * from './modal';
5
+ export * from './off-canvas';
6
+ export * from './toast';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS1lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1pbmRpY2F0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL29mZi1jYW52YXMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './loading-indicator.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGluZy1pbmRpY2F0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Component } from '@angular/core';
2
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
3
+ import { faSpinner } from '@fortawesome/free-solid-svg-icons';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@fortawesome/angular-fontawesome";
6
+ export class LoadingIndicatorComponent {
7
+ constructor() {
8
+ this.faSpinner = faSpinner;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LoadingIndicatorComponent, isStandalone: true, selector: "app-loading-indicator", ngImport: i0, template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\"></fa-icon>\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"], dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoadingIndicatorComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'app-loading-indicator', standalone: true, imports: [FontAwesomeModule], template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\"></fa-icon>\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"] }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9jb21wb25lbnRzL2xvYWRpbmctaW5kaWNhdG9yL2xvYWRpbmctaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nY2NiL3NyYy9saWIvY29tcG9uZW50cy9sb2FkaW5nLWluZGljYXRvci9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBaUI5RCxNQUFNLE9BQU8seUJBQXlCO0lBZnRDO1FBZ0JDLGNBQVMsR0FBRyxTQUFTLENBQUM7S0FDdEI7OEdBRlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsaUZDbkJ0QywyRUFDQSw4SURnQlcsaUJBQWlCOzsyRkFFZix5QkFBeUI7a0JBZnJDLFNBQVM7K0JBQ0MsdUJBQXVCLGNBRXJCLElBQUksV0FVUCxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhU3Bpbm5lciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1sb2FkaW5nLWluZGljYXRvcicsXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHN0eWxlczogYFxuXHRcdDpob3N0IHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRjb2xvcjogIzQ5NTA1Nztcblx0XHR9XG5cdGAsXG5cdGltcG9ydHM6IFtGb250QXdlc29tZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQge1xuXHRmYVNwaW5uZXIgPSBmYVNwaW5uZXI7XG59XG4iLCI8ZmEtaWNvbiBhbmltYXRpb249XCJzcGluXCIgc2l6ZT1cIjJ4XCIgW2ljb25dPVwiZmFTcGlubmVyXCI+PC9mYS1pY29uPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './modal.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ModalComponent {
4
+ constructor() {
5
+ this.title = '';
6
+ this.showClose = true;
7
+ this.onClose = new EventEmitter();
8
+ }
9
+ handleClickClose() {
10
+ this.onClose.next();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: ModalComponent, isStandalone: true, selector: "app-modal", inputs: { title: "title", showClose: "showClose" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"modal d-block\" tabindex=\"-1\">\n\t<div class=\"modal-dialog\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-header\">\n\t\t\t\t<h5 class=\"modal-title\">{{ title }}</h5>\n\t\t\t\t@if (showClose) {\n\t\t\t\t\t<button type=\"button\" class=\"btn-close\" (click)=\"handleClickClose()\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n" }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModalComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'app-modal', standalone: true, template: "<div class=\"modal d-block\" tabindex=\"-1\">\n\t<div class=\"modal-dialog\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-header\">\n\t\t\t\t<h5 class=\"modal-title\">{{ title }}</h5>\n\t\t\t\t@if (showClose) {\n\t\t\t\t\t<button type=\"button\" class=\"btn-close\" (click)=\"handleClickClose()\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n" }]
18
+ }], propDecorators: { title: [{
19
+ type: Input
20
+ }], showClose: [{
21
+ type: Input
22
+ }], onClose: [{
23
+ type: Output
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nY2NiL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU92RSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1VLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7S0FLM0Q7SUFIQSxnQkFBZ0I7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBUFcsY0FBYztrR0FBZCxjQUFjLDBKQ1AzQixtakJBb0JBOzsyRkRiYSxjQUFjO2tCQUwxQixTQUFTOytCQUNDLFdBQVcsY0FFVCxJQUFJOzhCQUdQLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtbW9kYWwnLFxuXHR0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCB7XG5cdEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcblx0QElucHV0KCkgc2hvd0Nsb3NlOiBib29sZWFuID0gdHJ1ZTtcblx0QE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRoYW5kbGVDbGlja0Nsb3NlKCkge1xuXHRcdHRoaXMub25DbG9zZS5uZXh0KCk7XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBkLWJsb2NrXCIgdGFiaW5kZXg9XCItMVwiPlxuXHQ8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0XHRcdFx0PGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDU+XG5cdFx0XHRcdEBpZiAoc2hvd0Nsb3NlKSB7XG5cdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiAoY2xpY2spPVwiaGFuZGxlQ2xpY2tDbG9zZSgpXCI+PC9idXR0b24+XG5cdFx0XHRcdH1cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuXHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0PC9kaXY+XG5cblx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './off-canvas.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvb2ZmLWNhbnZhcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vZmYtY2FudmFzLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
3
+ import { faTimes } from '@fortawesome/free-solid-svg-icons';
4
+ import { IconButtonDirective } from '../../directives';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@fortawesome/angular-fontawesome";
7
+ export class OffCanvasComponent {
8
+ constructor() {
9
+ this.title = '';
10
+ this.onClose = new EventEmitter();
11
+ this.faTimes = faTimes;
12
+ }
13
+ handleClickClose() {
14
+ this.onClose.next();
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OffCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: OffCanvasComponent, isStandalone: true, selector: "app-off-canvas", inputs: { title: "title" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"offcanvas offcanvas-start show\" tabindex=\"-1\" id=\"offcanvas\">\n\t<div class=\"offcanvas-header\">\n\t\t<h5 class=\"offcanvas-title\" id=\"offcanvasLabel\">{{ title }}</h5>\n\t\t<button app-icon-button type=\"button\" (click)=\"handleClickClose()\">\n\t\t\t<fa-icon [icon]=\"faTimes\"></fa-icon>\n\t\t</button>\n\t</div>\n\t<ng-content />\n</div>\n", styles: [":host{z-index:9999;display:block}\n"], dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: IconButtonDirective, selector: "button[app-icon-button]", inputs: ["app-icon-button", "shadow"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OffCanvasComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'app-off-canvas', standalone: true, imports: [FontAwesomeModule, IconButtonDirective], template: "<div class=\"offcanvas offcanvas-start show\" tabindex=\"-1\" id=\"offcanvas\">\n\t<div class=\"offcanvas-header\">\n\t\t<h5 class=\"offcanvas-title\" id=\"offcanvasLabel\">{{ title }}</h5>\n\t\t<button app-icon-button type=\"button\" (click)=\"handleClickClose()\">\n\t\t\t<fa-icon [icon]=\"faTimes\"></fa-icon>\n\t\t</button>\n\t</div>\n\t<ng-content />\n</div>\n", styles: [":host{z-index:9999;display:block}\n"] }]
22
+ }], propDecorators: { title: [{
23
+ type: Input
24
+ }], onClose: [{
25
+ type: Output
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nY2NiL3NyYy9saWIvY29tcG9uZW50cy9vZmYtY2FudmFzL29mZi1jYW52YXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQWN2RCxNQUFNLE9BQU8sa0JBQWtCO0lBWi9CO1FBYVUsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0QsWUFBTyxHQUFHLE9BQU8sQ0FBQztLQUtsQjtJQUhBLGdCQUFnQjtRQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FSVyxrQkFBa0I7a0dBQWxCLGtCQUFrQix1SUNqQi9CLCtXQVNBLDRGRE1XLGlCQUFpQixtU0FBRSxtQkFBbUI7OzJGQUVwQyxrQkFBa0I7a0JBWjlCLFNBQVM7K0JBQ0MsZ0JBQWdCLGNBRWQsSUFBSSxXQU9QLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUM7OEJBR3hDLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBJY29uQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1vZmYtY2FudmFzJyxcblx0dGVtcGxhdGVVcmw6ICcuL29mZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzdHlsZXM6IGBcblx0XHQ6aG9zdCB7XG5cdFx0XHR6LWluZGV4OiA5OTk5O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHRgLFxuXHRpbXBvcnRzOiBbRm9udEF3ZXNvbWVNb2R1bGUsIEljb25CdXR0b25EaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBPZmZDYW52YXNDb21wb25lbnQge1xuXHRASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG5cdEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0ZmFUaW1lcyA9IGZhVGltZXM7XG5cblx0aGFuZGxlQ2xpY2tDbG9zZSgpIHtcblx0XHR0aGlzLm9uQ2xvc2UubmV4dCgpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwib2ZmY2FudmFzIG9mZmNhbnZhcy1zdGFydCBzaG93XCIgdGFiaW5kZXg9XCItMVwiIGlkPVwib2ZmY2FudmFzXCI+XG5cdDxkaXYgY2xhc3M9XCJvZmZjYW52YXMtaGVhZGVyXCI+XG5cdFx0PGg1IGNsYXNzPVwib2ZmY2FudmFzLXRpdGxlXCIgaWQ9XCJvZmZjYW52YXNMYWJlbFwiPnt7IHRpdGxlIH19PC9oNT5cblx0XHQ8YnV0dG9uIGFwcC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrQ2xvc2UoKVwiPlxuXHRcdFx0PGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiPjwvZmEtaWNvbj5cblx0XHQ8L2J1dHRvbj5cblx0PC9kaXY+XG5cdDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './toast.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ToastComponent {
4
+ constructor() {
5
+ this.onClose = new EventEmitter();
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ToastComponent, isStandalone: true, selector: "app-toast", inputs: { message: "message" }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
9
+ <div class="toast align-items-center text-bg-dark border-0 show">
10
+ <div class="d-flex">
11
+ <div class="toast-body" [innerHTML]="message"></div>
12
+ <button
13
+ type="button"
14
+ class="btn-close btn-close-white me-2 m-auto"
15
+ (click)="onClose.next()"
16
+ ></button>
17
+ </div>
18
+ </div>
19
+ `, isInline: true }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ToastComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: 'app-toast',
25
+ template: `
26
+ <div class="toast align-items-center text-bg-dark border-0 show">
27
+ <div class="d-flex">
28
+ <div class="toast-body" [innerHTML]="message"></div>
29
+ <button
30
+ type="button"
31
+ class="btn-close btn-close-white me-2 m-auto"
32
+ (click)="onClose.next()"
33
+ ></button>
34
+ </div>
35
+ </div>
36
+ `,
37
+ standalone: true,
38
+ }]
39
+ }], propDecorators: { message: [{
40
+ type: Input
41
+ }], onClose: [{
42
+ type: Output
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWtCdkUsTUFBTSxPQUFPLGNBQWM7SUFoQjNCO1FBa0JXLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUMzRDs4R0FIWSxjQUFjO2tHQUFkLGNBQWMsc0lBZGhCOzs7Ozs7Ozs7OztFQVdUOzsyRkFHVyxjQUFjO2tCQWhCMUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztFQVdUO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNoQjs4QkFFUyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC10b2FzdCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBjbGFzcz1cInRvYXN0IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWJnLWRhcmsgYm9yZGVyLTAgc2hvd1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImQtZmxleFwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwidG9hc3QtYm9keVwiIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvZGl2PlxuXHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJidG4tY2xvc2UgYnRuLWNsb3NlLXdoaXRlIG1lLTIgbS1hdXRvXCJcblx0XHRcdFx0XHQoY2xpY2spPVwib25DbG9zZS5uZXh0KClcIlxuXHRcdFx0XHQ+PC9idXR0b24+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RDb21wb25lbnQge1xuXHRASW5wdXQoKSBtZXNzYWdlPzogc3RyaW5nO1xuXHRAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ButtonOutlineDirective {
4
+ constructor() {
5
+ this.renderer = inject(Renderer2);
6
+ this.elementRef = inject((ElementRef));
7
+ }
8
+ set appButton(val) {
9
+ this.elementRef.nativeElement.classList.add(`btn-outline-${val || 'secondary'}`);
10
+ }
11
+ set size(val) {
12
+ this.elementRef.nativeElement.classList.add(`btn-${val || 'sm'}`);
13
+ }
14
+ ngOnInit() {
15
+ this.elementRef.nativeElement.classList.add('btn');
16
+ this.elementRef.nativeElement.classList.add('shadow-sm');
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ButtonOutlineDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: ButtonOutlineDirective, isStandalone: true, selector: "button[app-button-outline]", inputs: { appButton: ["app-button-outline", "appButton"], size: "size" }, ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ButtonOutlineDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: 'button[app-button-outline]',
25
+ standalone: true,
26
+ }]
27
+ }], propDecorators: { appButton: [{
28
+ type: Input,
29
+ args: ['app-button-outline']
30
+ }], size: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLW91dGxpbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9kaXJlY3RpdmVzL2J1dHRvbi1vdXRsaW5lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQUtDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFrQyxNQUFNLENBQUMsQ0FBQSxVQUE2QixDQUFBLENBQUMsQ0FBQztLQWNsRjtJQVpBLElBQWlDLFNBQVMsQ0FBQyxHQUFXO1FBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FmVyxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDaEI7OEJBS2lDLFNBQVM7c0JBQXpDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlkLElBQUk7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblthcHAtYnV0dG9uLW91dGxpbmVdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uT3V0bGluZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcblxuXHRASW5wdXQoJ2FwcC1idXR0b24tb3V0bGluZScpIHNldCBhcHBCdXR0b24odmFsOiBzdHJpbmcpIHtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBidG4tb3V0bGluZS0ke3ZhbCB8fCAnc2Vjb25kYXJ5J31gKTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBzaXplKHZhbDogc3RyaW5nKSB7XG5cdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgYnRuLSR7dmFsIHx8ICdzbSd9YCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdidG4nKTtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzaGFkb3ctc20nKTtcblx0fVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { Directive, ElementRef, HostListener, Input, Renderer2, inject, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ // extends from autofocus?
4
+ export class ButtonDirective {
5
+ constructor() {
6
+ this.renderer = inject(Renderer2);
7
+ this.elementRef = inject((ElementRef));
8
+ }
9
+ onFocus() {
10
+ this.isFocused = true;
11
+ }
12
+ onblur() {
13
+ this.isFocused = false;
14
+ }
15
+ set isFocused(val) {
16
+ if (val) {
17
+ this.elementRef.nativeElement.classList.add(`focus-ring-${this.color}`);
18
+ }
19
+ else {
20
+ this.elementRef.nativeElement.classList.remove(`focus-ring-${this.color}`);
21
+ }
22
+ }
23
+ set appButton(val) {
24
+ this.color = val || 'secondary';
25
+ this.elementRef.nativeElement.classList.add(`btn-${this.color}`);
26
+ }
27
+ set size(val) {
28
+ this.elementRef.nativeElement.classList.add(`btn-${val || 'sm'}`);
29
+ }
30
+ ngOnInit() {
31
+ this.elementRef.nativeElement.classList.add('btn');
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: ButtonDirective, isStandalone: true, selector: "button[app-button]", inputs: { appButton: ["app-button", "appButton"], size: "size" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onblur($event)" } }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ButtonDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: 'button[app-button]',
40
+ standalone: true,
41
+ }]
42
+ }], propDecorators: { onFocus: [{
43
+ type: HostListener,
44
+ args: ['focus', ['$event']]
45
+ }], onblur: [{
46
+ type: HostListener,
47
+ args: ['blur', ['$event']]
48
+ }], appButton: [{
49
+ type: Input,
50
+ args: ['app-button']
51
+ }], size: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nY2NiL3NyYy9saWIvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQzs7QUFFdkIsMEJBQTBCO0FBTTFCLE1BQU0sT0FBTyxlQUFlO0lBSjVCO1FBS0MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQWtDLE1BQU0sQ0FBQyxDQUFBLFVBQTZCLENBQUEsQ0FBQyxDQUFDO0tBK0JsRjtJQTVCbUMsT0FBTztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRWlDLE1BQU07UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQVk7UUFDekIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0YsQ0FBQztJQUVELElBQXlCLFNBQVMsQ0FBQyxHQUFXO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLEdBQVc7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOzhHQWhDVyxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzhCQU1tQyxPQUFPO3NCQUF6QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJQyxNQUFNO3NCQUF2QyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZUCxTQUFTO3NCQUFqQyxLQUFLO3VCQUFDLFlBQVk7Z0JBS04sSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25Jbml0LFxuXHRSZW5kZXJlcjIsXG5cdGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGV4dGVuZHMgZnJvbSBhdXRvZm9jdXM/XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblthcHAtYnV0dG9uXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcblx0Y29sb3IhOiBzdHJpbmc7XG5cblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKSBvbkZvY3VzKCkge1xuXHRcdHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudCddKSBvbmJsdXIoKSB7XG5cdFx0dGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcblx0fVxuXG5cdHNldCBpc0ZvY3VzZWQodmFsOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbCkge1xuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgZm9jdXMtcmluZy0ke3RoaXMuY29sb3J9YCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYGZvY3VzLXJpbmctJHt0aGlzLmNvbG9yfWApO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCgnYXBwLWJ1dHRvbicpIHNldCBhcHBCdXR0b24odmFsOiBzdHJpbmcpIHtcblx0XHR0aGlzLmNvbG9yID0gdmFsIHx8ICdzZWNvbmRhcnknO1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGJ0bi0ke3RoaXMuY29sb3J9YCk7XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgc2l6ZSh2YWw6IHN0cmluZykge1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGJ0bi0ke3ZhbCB8fCAnc20nfWApO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYnRuJyk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormInputDirective {
4
+ constructor() {
5
+ this.renderer = inject(Renderer2);
6
+ this.elementRef = inject((ElementRef));
7
+ }
8
+ set formInputInvalid(val) {
9
+ if (val === true) {
10
+ this.elementRef.nativeElement.classList.add('is-invalid');
11
+ }
12
+ else {
13
+ this.elementRef.nativeElement.classList.remove('is-invalid');
14
+ }
15
+ }
16
+ ngOnInit() {
17
+ this.elementRef.nativeElement.classList.add('form-control');
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: FormInputDirective, isStandalone: true, selector: "input,textarea[app-form-input]", inputs: { formInputInvalid: "formInputInvalid" }, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormInputDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'input,textarea[app-form-input]',
26
+ standalone: true,
27
+ }]
28
+ }], propDecorators: { formInputInvalid: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXhGLE1BQU0sT0FBTyxrQkFBa0I7SUFKL0I7UUFLQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLGVBQVUsR0FBNEIsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7S0FhdEU7SUFYQSxJQUFhLGdCQUFnQixDQUFDLEdBQVk7UUFDekMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNGLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQWRXLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjs4QkFLYSxnQkFBZ0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2lucHV0LHRleHRhcmVhW2FwcC1mb3JtLWlucHV0XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuXHRASW5wdXQoKSBzZXQgZm9ybUlucHV0SW52YWxpZCh2YWw6IGJvb2xlYW4pIHtcblx0XHRpZiAodmFsID09PSB0cnVlKSB7XG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpcy1pbnZhbGlkJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWludmFsaWQnKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmb3JtLWNvbnRyb2wnKTtcblx0fVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormLabelDirective {
4
+ constructor() {
5
+ this.elementClass = 'form-label';
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: FormLabelDirective, isStandalone: true, selector: "label[app-form-label]", host: { properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormLabelDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'label[app-form-label]',
14
+ standalone: true,
15
+ }]
16
+ }], propDecorators: { elementClass: [{
17
+ type: HostBinding,
18
+ args: ['class']
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1sYWJlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTyxrQkFBa0I7SUFKL0I7UUFNQyxpQkFBWSxHQUFHLFlBQVksQ0FBQztLQUM1Qjs4R0FIWSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDaEI7OEJBR0EsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2xhYmVsW2FwcC1mb3JtLWxhYmVsXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1MYWJlbERpcmVjdGl2ZSB7XG5cdEBIb3N0QmluZGluZygnY2xhc3MnKVxuXHRlbGVtZW50Q2xhc3MgPSAnZm9ybS1sYWJlbCc7XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormSelectDirective {
4
+ constructor() {
5
+ this.renderer = inject(Renderer2);
6
+ this.elementRef = inject((ElementRef));
7
+ }
8
+ set formInputInvalid(val) {
9
+ if (val === true) {
10
+ this.elementRef.nativeElement.classList.add('is-invalid');
11
+ }
12
+ else {
13
+ this.elementRef.nativeElement.classList.remove('is-invalid');
14
+ }
15
+ }
16
+ ngOnInit() {
17
+ this.elementRef.nativeElement.classList.add('form-select');
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: FormSelectDirective, isStandalone: true, selector: "select[app-form-select]", inputs: { formInputInvalid: "formInputInvalid" }, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormSelectDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'select[app-form-select]',
26
+ standalone: true,
27
+ }]
28
+ }], propDecorators: { formInputInvalid: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9kaXJlY3RpdmVzL2Zvcm0tc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQUtDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUE0QixNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztLQWF0RTtJQVhBLElBQWEsZ0JBQWdCLENBQUMsR0FBWTtRQUN6QyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0YsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBZFcsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzhCQUthLGdCQUFnQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnc2VsZWN0W2FwcC1mb3JtLXNlbGVjdF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblx0cmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblx0ZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG5cdEBJbnB1dCgpIHNldCBmb3JtSW5wdXRJbnZhbGlkKHZhbDogYm9vbGVhbikge1xuXHRcdGlmICh2YWwgPT09IHRydWUpIHtcblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lzLWludmFsaWQnKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnaXMtaW52YWxpZCcpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Zvcm0tc2VsZWN0Jyk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Directive, ElementRef, Input, Renderer2, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IconButtonDirective {
4
+ constructor() {
5
+ this.renderer = inject(Renderer2);
6
+ this.elementRef = inject((ElementRef));
7
+ }
8
+ set appButton(val) {
9
+ this.elementRef.nativeElement.classList.add(`btn-${val || 'light'}`);
10
+ }
11
+ set shadow(val) {
12
+ if (val === true || val === undefined) {
13
+ this.elementRef.nativeElement.classList.add('shadow-sm');
14
+ }
15
+ else {
16
+ this.elementRef.nativeElement.classList.remove('shadow-sm');
17
+ }
18
+ }
19
+ ngOnInit() {
20
+ this.elementRef.nativeElement.classList.add('btn', 'icon-button');
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: IconButtonDirective, isStandalone: true, selector: "button[app-icon-button]", inputs: { appButton: ["app-icon-button", "appButton"], shadow: "shadow" }, ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IconButtonDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: 'button[app-icon-button]',
29
+ standalone: true,
30
+ }]
31
+ }], propDecorators: { appButton: [{
32
+ type: Input,
33
+ args: ['app-icon-button']
34
+ }], shadow: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdjY2Ivc3JjL2xpYi9kaXJlY3RpdmVzL2ljb24tYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQUtDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFrQyxNQUFNLENBQUMsQ0FBQSxVQUE2QixDQUFBLENBQUMsQ0FBQztLQWlCbEY7SUFmQSxJQUE4QixTQUFTLENBQUMsR0FBVztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLEdBQVk7UUFDL0IsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0YsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQWxCVyxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDaEI7OEJBSzhCLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlYLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblthcHAtaWNvbi1idXR0b25dJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KTtcblxuXHRASW5wdXQoJ2FwcC1pY29uLWJ1dHRvbicpIHNldCBhcHBCdXR0b24odmFsOiBzdHJpbmcpIHtcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBidG4tJHt2YWwgfHwgJ2xpZ2h0J31gKTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBzaGFkb3codmFsOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbCA9PT0gdHJ1ZSB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2hhZG93LXNtJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3NoYWRvdy1zbScpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2J0bicsICdpY29uLWJ1dHRvbicpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export * from './button-outline.directive';
2
+ export * from './button.directive';
3
+ export * from './form-input.directive';
4
+ export * from './form-label.directive';
5
+ export * from './form-select.directive';
6
+ export * from './icon-button.directive';
7
+ export * from './list-group-item.directive';
8
+ export * from './list-group.directive';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2NjYi9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24tb3V0bGluZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWxhYmVsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24tYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtZ3JvdXAtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWdyb3VwLmRpcmVjdGl2ZSc7XG4iXX0=