valtech-components 2.0.19 → 2.0.21

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 (153) hide show
  1. package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +47 -0
  3. package/esm2022/lib/components/atoms/box/types.mjs +2 -0
  4. package/esm2022/lib/components/atoms/button/button.component.mjs +1 -1
  5. package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
  6. package/esm2022/lib/components/atoms/display/display.component.mjs +28 -0
  7. package/esm2022/lib/components/atoms/display/types.mjs +2 -0
  8. package/esm2022/lib/components/atoms/divider/divider.component.mjs +17 -0
  9. package/esm2022/lib/components/atoms/divider/types.mjs +2 -0
  10. package/esm2022/lib/components/atoms/href/href.component.mjs +51 -0
  11. package/esm2022/lib/components/atoms/href/types.mjs +2 -0
  12. package/esm2022/lib/components/atoms/icon/icon.component.mjs +18 -0
  13. package/esm2022/lib/components/atoms/icon/types.mjs +2 -0
  14. package/esm2022/lib/components/atoms/image/image.component.mjs +50 -0
  15. package/esm2022/lib/components/atoms/image/types.mjs +2 -0
  16. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +36 -0
  17. package/esm2022/lib/components/atoms/progress-bar/types.mjs +2 -0
  18. package/esm2022/lib/components/atoms/text/text.component.mjs +24 -0
  19. package/esm2022/lib/components/atoms/text/types.mjs +2 -0
  20. package/esm2022/lib/components/atoms/title/title.component.mjs +31 -0
  21. package/esm2022/lib/components/atoms/title/types.mjs +2 -0
  22. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +32 -0
  23. package/esm2022/lib/components/molecules/alert-box/types.mjs +2 -0
  24. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +49 -0
  25. package/esm2022/lib/components/molecules/button-group/types.mjs +2 -0
  26. package/esm2022/lib/components/molecules/card/card.component.mjs +369 -0
  27. package/esm2022/lib/components/molecules/card/types.mjs +16 -0
  28. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +15 -0
  29. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +23 -0
  30. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +32 -0
  31. package/esm2022/lib/components/molecules/content-loader/types.mjs +2 -0
  32. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +73 -0
  33. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +19 -0
  34. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +69 -0
  35. package/esm2022/lib/components/molecules/hint/hint.component.mjs +52 -0
  36. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +18 -0
  37. package/esm2022/lib/components/molecules/link/link.component.mjs +37 -0
  38. package/esm2022/lib/components/molecules/link/types.mjs +2 -0
  39. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +37 -0
  40. package/esm2022/lib/components/molecules/links-cake/types.mjs +2 -0
  41. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +33 -0
  42. package/esm2022/lib/components/molecules/notes-box/types.mjs +2 -0
  43. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +18 -0
  44. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +44 -0
  45. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +45 -0
  46. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +94 -0
  47. package/esm2022/lib/components/molecules/progress-status/types.mjs +2 -0
  48. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +84 -0
  49. package/esm2022/lib/components/molecules/prompter/types.mjs +2 -0
  50. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +33 -0
  51. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +61 -0
  52. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +18 -0
  53. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +77 -0
  54. package/esm2022/lib/components/molecules/title-block/types.mjs +2 -0
  55. package/esm2022/lib/components/organisms/banner/banner.component.mjs +75 -0
  56. package/esm2022/lib/components/organisms/banner/types.mjs +2 -0
  57. package/esm2022/lib/components/organisms/footer/footer.component.mjs +50 -0
  58. package/esm2022/lib/components/organisms/footer/types.mjs +2 -0
  59. package/esm2022/lib/components/organisms/form/factory.mjs +8 -0
  60. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +76 -0
  61. package/esm2022/lib/components/organisms/form/form.component.mjs +230 -0
  62. package/esm2022/lib/components/organisms/header/header.component.mjs +33 -0
  63. package/esm2022/lib/components/organisms/header/types.mjs +2 -0
  64. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +34 -0
  65. package/esm2022/lib/components/organisms/no-content/types.mjs +2 -0
  66. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +168 -0
  67. package/esm2022/lib/components/organisms/toolbar/types.mjs +2 -0
  68. package/esm2022/lib/components/organisms/wizard/types.mjs +7 -0
  69. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +107 -0
  70. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +103 -0
  71. package/esm2022/lib/components/templates/simple/simple.component.mjs +64 -0
  72. package/esm2022/lib/components/templates/simple/types.mjs +2 -0
  73. package/esm2022/lib/components/types.mjs +8 -1
  74. package/esm2022/public-api.mjs +71 -4
  75. package/fesm2022/valtech-components.mjs +2529 -159
  76. package/fesm2022/valtech-components.mjs.map +1 -1
  77. package/lib/components/atoms/avatar/types.d.ts +1 -1
  78. package/lib/components/atoms/box/box.component.d.ts +12 -0
  79. package/lib/components/atoms/box/types.d.ts +7 -0
  80. package/lib/components/atoms/button/button.component.d.ts +1 -1
  81. package/lib/components/atoms/button/factory.d.ts +1 -1
  82. package/lib/components/atoms/display/display.component.d.ts +10 -0
  83. package/lib/components/atoms/display/types.d.ts +6 -0
  84. package/lib/components/atoms/divider/divider.component.d.ts +10 -0
  85. package/lib/components/atoms/divider/types.d.ts +5 -0
  86. package/lib/components/atoms/href/href.component.d.ts +15 -0
  87. package/lib/components/atoms/href/types.d.ts +9 -0
  88. package/lib/components/atoms/icon/icon.component.d.ts +10 -0
  89. package/lib/components/atoms/icon/types.d.ts +6 -0
  90. package/lib/components/atoms/image/image.component.d.ts +12 -0
  91. package/lib/components/atoms/image/types.d.ts +11 -0
  92. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +10 -0
  93. package/lib/components/atoms/progress-bar/types.d.ts +9 -0
  94. package/lib/components/atoms/text/text.component.d.ts +10 -0
  95. package/lib/components/atoms/text/types.d.ts +7 -0
  96. package/lib/components/atoms/title/title.component.d.ts +10 -0
  97. package/lib/components/atoms/title/types.d.ts +7 -0
  98. package/lib/components/molecules/alert-box/alert-box.component.d.ts +10 -0
  99. package/lib/components/molecules/alert-box/types.d.ts +8 -0
  100. package/lib/components/molecules/button-group/button-group.component.d.ts +13 -0
  101. package/lib/components/molecules/button-group/types.d.ts +6 -0
  102. package/lib/components/molecules/card/card.component.d.ts +16 -0
  103. package/lib/components/molecules/card/types.d.ts +33 -0
  104. package/lib/components/molecules/check-input/check-input.component.d.ts +8 -0
  105. package/lib/components/molecules/comment-input/comment-input.component.d.ts +10 -0
  106. package/lib/components/molecules/content-loader/content-loader.component.d.ts +10 -0
  107. package/lib/components/molecules/content-loader/types.d.ts +7 -0
  108. package/lib/components/molecules/date-input/date-input.component.d.ts +10 -0
  109. package/lib/components/molecules/email-input/email-input.component.d.ts +10 -0
  110. package/lib/components/molecules/file-input/file-input.component.d.ts +15 -0
  111. package/lib/components/molecules/hint/hint.component.d.ts +11 -0
  112. package/lib/components/molecules/hour-input/hour-input.component.d.ts +10 -0
  113. package/lib/components/molecules/link/link.component.d.ts +12 -0
  114. package/lib/components/molecules/link/types.d.ts +6 -0
  115. package/lib/components/molecules/links-cake/links-cake.component.d.ts +10 -0
  116. package/lib/components/molecules/links-cake/types.d.ts +6 -0
  117. package/lib/components/molecules/notes-box/notes-box.component.d.ts +10 -0
  118. package/lib/components/molecules/notes-box/types.d.ts +8 -0
  119. package/lib/components/molecules/number-input/number-input.component.d.ts +10 -0
  120. package/lib/components/molecules/password-input/password-input.component.d.ts +11 -0
  121. package/lib/components/molecules/pin-input/pin-input.component.d.ts +15 -0
  122. package/lib/components/molecules/progress-status/progress-status.component.d.ts +14 -0
  123. package/lib/components/molecules/progress-status/types.d.ts +10 -0
  124. package/lib/components/molecules/prompter/prompter.component.d.ts +12 -0
  125. package/lib/components/molecules/prompter/types.d.ts +11 -0
  126. package/lib/components/molecules/radio-input/radio-input.component.d.ts +10 -0
  127. package/lib/components/molecules/searchbar/searchbar.component.d.ts +14 -0
  128. package/lib/components/molecules/text-input/text-input.component.d.ts +10 -0
  129. package/lib/components/molecules/title-block/title-block.component.d.ts +10 -0
  130. package/lib/components/molecules/title-block/types.d.ts +12 -0
  131. package/lib/components/organisms/banner/banner.component.d.ts +14 -0
  132. package/lib/components/organisms/banner/types.d.ts +11 -0
  133. package/lib/components/organisms/footer/footer.component.d.ts +12 -0
  134. package/lib/components/organisms/footer/types.d.ts +6 -0
  135. package/lib/components/organisms/form/factory.d.ts +5 -0
  136. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +15 -0
  137. package/lib/components/organisms/form/form.component.d.ts +23 -0
  138. package/lib/components/organisms/header/header.component.d.ts +12 -0
  139. package/lib/components/organisms/header/types.d.ts +6 -0
  140. package/lib/components/organisms/no-content/no-content.component.d.ts +12 -0
  141. package/lib/components/organisms/no-content/types.d.ts +6 -0
  142. package/lib/components/organisms/toolbar/toolbar.component.d.ts +21 -0
  143. package/lib/components/organisms/toolbar/types.d.ts +11 -0
  144. package/lib/components/organisms/wizard/types.d.ts +20 -0
  145. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +21 -0
  146. package/lib/components/organisms/wizard/wizard.component.d.ts +22 -0
  147. package/lib/components/templates/simple/simple.component.d.ts +7 -0
  148. package/lib/components/templates/simple/types.d.ts +7 -0
  149. package/lib/components/types.d.ts +37 -2
  150. package/package.json +1 -1
  151. package/public-api.d.ts +70 -3
  152. package/esm2022/lib/components/atoms/button/types.mjs +0 -2
  153. package/lib/components/atoms/button/types.d.ts +0 -22
@@ -0,0 +1,76 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ButtonGroupComponent } from '../../../molecules/button-group/button-group.component';
3
+ import { ComponentStates } from '../../../types';
4
+ import { FooterComponent } from '../../footer/footer.component';
5
+ import * as i0 from "@angular/core";
6
+ export class FormFooterComponent {
7
+ constructor() {
8
+ this.onSubmit = new EventEmitter();
9
+ }
10
+ ngOnInit() { }
11
+ async submitHandler(token) {
12
+ this.onSubmit.emit({ fields: this.form.value, token });
13
+ }
14
+ get actions() {
15
+ if (!this.form) {
16
+ return [];
17
+ }
18
+ if (this.form.valid) {
19
+ this.action.state = ComponentStates.ENABLED;
20
+ }
21
+ return [this.action];
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormFooterComponent, isStandalone: true, selector: "val-form-footer", inputs: { form: "form", action: "action" }, outputs: { onSubmit: "onSubmit" }, ngImport: i0, template: `
25
+ <val-footer
26
+ [props]="{
27
+ bordered: false,
28
+ translucent: false,
29
+ toolbar: {
30
+ title: '',
31
+ actions: [],
32
+ color: 'background',
33
+ withBack: false,
34
+ withActions: false,
35
+ },
36
+ }"
37
+ >
38
+ <val-button-group
39
+ extra
40
+ [props]="{ buttons: actions, position: 'center', columned: false }"
41
+ (onClick)="submitHandler($event)"
42
+ ></val-button-group>
43
+ </val-footer>
44
+ `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: FooterComponent, selector: "val-footer", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFooterComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'val-form-footer', standalone: true, imports: [FooterComponent, ButtonGroupComponent], template: `
49
+ <val-footer
50
+ [props]="{
51
+ bordered: false,
52
+ translucent: false,
53
+ toolbar: {
54
+ title: '',
55
+ actions: [],
56
+ color: 'background',
57
+ withBack: false,
58
+ withActions: false,
59
+ },
60
+ }"
61
+ >
62
+ <val-button-group
63
+ extra
64
+ [props]="{ buttons: actions, position: 'center', columned: false }"
65
+ (onClick)="submitHandler($event)"
66
+ ></val-button-group>
67
+ </val-footer>
68
+ ` }]
69
+ }], ctorParameters: () => [], propDecorators: { form: [{
70
+ type: Input
71
+ }], action: [{
72
+ type: Input
73
+ }], onSubmit: [{
74
+ type: Output
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mb3JtLWZvb3Rlci9mb3JtLWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQWtCLGVBQWUsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUE2QmhFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUI7UUFGQSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUUzQixDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QixDQUFDOytHQTVCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwSkF2QnBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCwwRUFyQlMsZUFBZSxnR0FBRSxvQkFBb0I7OzRGQXdCcEMsbUJBQW1CO2tCQTNCL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUMsWUFDdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUO3dEQUtELElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcywgRm9ybVN1Ym1pdCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvcm0tZm9vdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvb3RlckNvbXBvbmVudCwgQnV0dG9uR3JvdXBDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtZm9vdGVyXG4gICAgICBbcHJvcHNdPVwie1xuICAgICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICAgIHRyYW5zbHVjZW50OiBmYWxzZSxcbiAgICAgICAgdG9vbGJhcjoge1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBhY3Rpb25zOiBbXSxcbiAgICAgICAgICBjb2xvcjogJ2JhY2tncm91bmQnLFxuICAgICAgICAgIHdpdGhCYWNrOiBmYWxzZSxcbiAgICAgICAgICB3aXRoQWN0aW9uczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8dmFsLWJ1dHRvbi1ncm91cFxuICAgICAgICBleHRyYVxuICAgICAgICBbcHJvcHNdPVwieyBidXR0b25zOiBhY3Rpb25zLCBwb3NpdGlvbjogJ2NlbnRlcicsIGNvbHVtbmVkOiBmYWxzZSB9XCJcbiAgICAgICAgKG9uQ2xpY2spPVwic3VibWl0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgID48L3ZhbC1idXR0b24tZ3JvdXA+XG4gICAgPC92YWwtZm9vdGVyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZvb3Rlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGlvbjogQnV0dG9uTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtU3VibWl0PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgYXN5bmMgc3VibWl0SGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25TdWJtaXQuZW1pdCh7IGZpZWxkczogdGhpcy5mb3JtLnZhbHVlLCB0b2tlbiB9KTtcbiAgfVxuXG4gIGdldCBhY3Rpb25zKCk6IEJ1dHRvbk1ldGFkYXRhW10ge1xuICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5hY3Rpb24uc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgICB9XG5cbiAgICByZXR1cm4gW3RoaXMuYWN0aW9uXTtcbiAgfVxufVxuIl19
@@ -0,0 +1,230 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { isAtEnd } from '../../../shared/utils/dom';
5
+ import { DisplayComponent } from '../../atoms/display/display.component';
6
+ import { DividerComponent } from '../../atoms/divider/divider.component';
7
+ import { TitleComponent } from '../../atoms/title/title.component';
8
+ import { ButtonGroupComponent } from '../../molecules/button-group/button-group.component';
9
+ import { CheckInputComponent } from '../../molecules/check-input/check-input.component';
10
+ import { CommentInputComponent } from '../../molecules/comment-input/comment-input.component';
11
+ import { DateInputComponent } from '../../molecules/date-input/date-input.component';
12
+ import { EmailInputComponent } from '../../molecules/email-input/email-input.component';
13
+ import { FileInputComponent } from '../../molecules/file-input/file-input.component';
14
+ import { HintComponent } from '../../molecules/hint/hint.component';
15
+ import { HourInputComponent } from '../../molecules/hour-input/hour-input.component';
16
+ import { NumberInputComponent } from '../../molecules/number-input/number-input.component';
17
+ import { PasswordInputComponent } from '../../molecules/password-input/password-input.component';
18
+ import { PinInputComponent } from '../../molecules/pin-input/pin-input.component';
19
+ import { RadioInputComponent } from '../../molecules/radio-input/radio-input.component';
20
+ import { TextInputComponent } from '../../molecules/text-input/text-input.component';
21
+ import { ComponentStates, InputType } from '../../types';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "@angular/forms";
24
+ import * as i2 from "@angular/common";
25
+ export class FormComponent {
26
+ constructor(fb, elementRef) {
27
+ this.fb = fb;
28
+ this.elementRef = elementRef;
29
+ this.onSubmit = new EventEmitter();
30
+ this.onInvalid = new EventEmitter();
31
+ this.types = InputType;
32
+ }
33
+ ngOnInit() {
34
+ const formControls = {};
35
+ this.props.sections.forEach(section => {
36
+ section.fields.forEach(field => {
37
+ formControls[field.name] = [undefined, field.validators || []];
38
+ });
39
+ });
40
+ this.form = this.fb.group(formControls);
41
+ }
42
+ async submitHandler(token) {
43
+ this.onSubmit.emit({ fields: this.form.value, token });
44
+ }
45
+ getControl(field) {
46
+ return this.Form.get(field);
47
+ }
48
+ getFieldProp(field) {
49
+ return {
50
+ ...field,
51
+ control: this.getControl(field.name),
52
+ };
53
+ }
54
+ get isAtEndOfForm() {
55
+ return isAtEnd(this.elementRef);
56
+ }
57
+ get Form() {
58
+ return this.form;
59
+ }
60
+ get actions() {
61
+ if (!this.form) {
62
+ return [];
63
+ }
64
+ if (this.form.valid) {
65
+ this.props.actions.state = ComponentStates.ENABLED;
66
+ }
67
+ if (this.props.state === ComponentStates.WORKING) {
68
+ this.props.actions.state = ComponentStates.WORKING;
69
+ }
70
+ if (this.props.state === ComponentStates.ENABLED) {
71
+ this.props.actions.state = ComponentStates.ENABLED;
72
+ }
73
+ if (this.props.state === ComponentStates.DISABLED) {
74
+ this.props.actions.state = ComponentStates.DISABLED;
75
+ }
76
+ return [this.props.actions];
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormComponent, isStandalone: true, selector: "val-form", inputs: { props: "props" }, outputs: { onSubmit: "onSubmit", onInvalid: "onInvalid" }, ngImport: i0, template: `
80
+ <div class="container">
81
+ <form [formGroup]="form">
82
+ <val-display
83
+ [props]="{
84
+ content: props.name,
85
+ color: 'dark',
86
+ size: 'large',
87
+ }"
88
+ ></val-display>
89
+ <div class="section" *ngFor="let s of props.sections">
90
+ <val-title [props]="{ content: s.name, size: 'large', color: '', bold: false }"></val-title>
91
+ <div class="input" *ngFor="let f of s.fields">
92
+ <val-title [props]="{ content: f.label, size: 'small', color: 'dark', bold: false }"></val-title>
93
+ <ng-container *ngIf="f.type === types.TEXT">
94
+ <val-text-input [props]="getFieldProp(f)"></val-text-input>
95
+ </ng-container>
96
+ <ng-container *ngIf="f.type === types.CHECK">
97
+ <val-check-input></val-check-input>
98
+ </ng-container>
99
+ <ng-container *ngIf="f.type === types.COMMENT">
100
+ <val-comment-input [props]="getFieldProp(f)"></val-comment-input>
101
+ </ng-container>
102
+ <ng-container *ngIf="f.type === types.DATE">
103
+ <val-date-input [props]="getFieldProp(f)"></val-date-input>
104
+ </ng-container>
105
+ <ng-container *ngIf="f.type === types.EMAIL">
106
+ <val-email-input [props]="getFieldProp(f)"></val-email-input>
107
+ </ng-container>
108
+ <ng-container *ngIf="f.type === types.FILE">
109
+ <val-file-input [props]="getFieldProp(f)"></val-file-input>
110
+ </ng-container>
111
+ <ng-container *ngIf="f.type === types.HOUR">
112
+ <val-hour-input [props]="getFieldProp(f)"></val-hour-input>
113
+ </ng-container>
114
+ <ng-container *ngIf="f.type === types.NUMBER">
115
+ <val-number-input [props]="getFieldProp(f)"></val-number-input>
116
+ </ng-container>
117
+ <ng-container *ngIf="f.type === types.PASSWORD">
118
+ <val-password-input [props]="getFieldProp(f)"></val-password-input>
119
+ </ng-container>
120
+ <ng-container *ngIf="f.type === types.PIN_CODE">
121
+ <val-pin-input [props]="getFieldProp(f)"></val-pin-input>
122
+ </ng-container>
123
+ <ng-container *ngIf="f.type === types.RADIO">
124
+ <val-radio-input [props]="getFieldProp(f)"></val-radio-input>
125
+ </ng-container>
126
+ <ng-container *ngIf="f.type === types.SELECT">
127
+ <!-- <val-select-input></val-select-input> -->
128
+ </ng-container>
129
+ <val-hint [props]="getFieldProp(f)"></val-hint>
130
+ </div>
131
+ <val-divider [props]="{ fill: 'solid', size: 'medium', color: 'medium' }"></val-divider>
132
+ </div>
133
+ <val-button-group
134
+ [props]="{ buttons: actions, position: 'center', columned: false }"
135
+ (onClick)="submitHandler($event)"
136
+ ></val-button-group>
137
+ </form>
138
+ </div>
139
+ `, isInline: true, styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["props"] }, { kind: "component", type: CheckInputComponent, selector: "val-check-input" }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: DividerComponent, selector: "val-divider", inputs: ["props"] }, { kind: "component", type: HintComponent, selector: "val-hint", inputs: ["props"] }, { kind: "component", type: CommentInputComponent, selector: "val-comment-input", inputs: ["props"] }, { kind: "component", type: DateInputComponent, selector: "val-date-input", inputs: ["props"] }, { kind: "component", type: FileInputComponent, selector: "val-file-input", inputs: ["props"] }, { kind: "component", type: HourInputComponent, selector: "val-hour-input", inputs: ["props"] }, { kind: "component", type: EmailInputComponent, selector: "val-email-input", inputs: ["props"] }, { kind: "component", type: NumberInputComponent, selector: "val-number-input", inputs: ["props"] }, { kind: "component", type: RadioInputComponent, selector: "val-radio-input", inputs: ["props"] }, { kind: "component", type: PasswordInputComponent, selector: "val-password-input", inputs: ["props"] }, { kind: "component", type: PinInputComponent, selector: "val-pin-input", inputs: ["props"] }] }); }
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormComponent, decorators: [{
142
+ type: Component,
143
+ args: [{ selector: 'val-form', standalone: true, imports: [
144
+ CommonModule,
145
+ ReactiveFormsModule,
146
+ DisplayComponent,
147
+ TitleComponent,
148
+ TextInputComponent,
149
+ CheckInputComponent,
150
+ ButtonGroupComponent,
151
+ DividerComponent,
152
+ HintComponent,
153
+ CommentInputComponent,
154
+ DateInputComponent,
155
+ FileInputComponent,
156
+ HourInputComponent,
157
+ EmailInputComponent,
158
+ NumberInputComponent,
159
+ RadioInputComponent,
160
+ PasswordInputComponent,
161
+ PinInputComponent,
162
+ ], template: `
163
+ <div class="container">
164
+ <form [formGroup]="form">
165
+ <val-display
166
+ [props]="{
167
+ content: props.name,
168
+ color: 'dark',
169
+ size: 'large',
170
+ }"
171
+ ></val-display>
172
+ <div class="section" *ngFor="let s of props.sections">
173
+ <val-title [props]="{ content: s.name, size: 'large', color: '', bold: false }"></val-title>
174
+ <div class="input" *ngFor="let f of s.fields">
175
+ <val-title [props]="{ content: f.label, size: 'small', color: 'dark', bold: false }"></val-title>
176
+ <ng-container *ngIf="f.type === types.TEXT">
177
+ <val-text-input [props]="getFieldProp(f)"></val-text-input>
178
+ </ng-container>
179
+ <ng-container *ngIf="f.type === types.CHECK">
180
+ <val-check-input></val-check-input>
181
+ </ng-container>
182
+ <ng-container *ngIf="f.type === types.COMMENT">
183
+ <val-comment-input [props]="getFieldProp(f)"></val-comment-input>
184
+ </ng-container>
185
+ <ng-container *ngIf="f.type === types.DATE">
186
+ <val-date-input [props]="getFieldProp(f)"></val-date-input>
187
+ </ng-container>
188
+ <ng-container *ngIf="f.type === types.EMAIL">
189
+ <val-email-input [props]="getFieldProp(f)"></val-email-input>
190
+ </ng-container>
191
+ <ng-container *ngIf="f.type === types.FILE">
192
+ <val-file-input [props]="getFieldProp(f)"></val-file-input>
193
+ </ng-container>
194
+ <ng-container *ngIf="f.type === types.HOUR">
195
+ <val-hour-input [props]="getFieldProp(f)"></val-hour-input>
196
+ </ng-container>
197
+ <ng-container *ngIf="f.type === types.NUMBER">
198
+ <val-number-input [props]="getFieldProp(f)"></val-number-input>
199
+ </ng-container>
200
+ <ng-container *ngIf="f.type === types.PASSWORD">
201
+ <val-password-input [props]="getFieldProp(f)"></val-password-input>
202
+ </ng-container>
203
+ <ng-container *ngIf="f.type === types.PIN_CODE">
204
+ <val-pin-input [props]="getFieldProp(f)"></val-pin-input>
205
+ </ng-container>
206
+ <ng-container *ngIf="f.type === types.RADIO">
207
+ <val-radio-input [props]="getFieldProp(f)"></val-radio-input>
208
+ </ng-container>
209
+ <ng-container *ngIf="f.type === types.SELECT">
210
+ <!-- <val-select-input></val-select-input> -->
211
+ </ng-container>
212
+ <val-hint [props]="getFieldProp(f)"></val-hint>
213
+ </div>
214
+ <val-divider [props]="{ fill: 'solid', size: 'medium', color: 'medium' }"></val-divider>
215
+ </div>
216
+ <val-button-group
217
+ [props]="{ buttons: actions, position: 'center', columned: false }"
218
+ (onClick)="submitHandler($event)"
219
+ ></val-button-group>
220
+ </form>
221
+ </div>
222
+ `, styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"] }]
223
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i0.ElementRef }], propDecorators: { props: [{
224
+ type: Input
225
+ }], onSubmit: [{
226
+ type: Output
227
+ }], onInvalid: [{
228
+ type: Output
229
+ }] } });
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBdUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERUO3lHQUtELEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNBdEVuZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9kb20nO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jaGVjay1pbnB1dC9jaGVjay1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWVudElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvbW1lbnQtaW5wdXQvY29tbWVudC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1haWxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbWFpbC1pbnB1dC9lbWFpbC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGludENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9oaW50L2hpbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9ob3VyLWlucHV0L2hvdXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Bpbi1pbnB1dC9waW4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMsIEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCwgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja0lucHV0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIERpdmlkZXJDb21wb25lbnQsXG4gICAgSGludENvbXBvbmVudCxcbiAgICBDb21tZW50SW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBIb3VySW5wdXRDb21wb25lbnQsXG4gICAgRW1haWxJbnB1dENvbXBvbmVudCxcbiAgICBOdW1iZXJJbnB1dENvbXBvbmVudCxcbiAgICBSYWRpb0lucHV0Q29tcG9uZW50LFxuICAgIFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gICAgUGluSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDx2YWwtZGlzcGxheVxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiBwcm9wcy5uYW1lLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgfVwiXG4gICAgICAgID48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiICpuZ0Zvcj1cImxldCBzIG9mIHByb3BzLnNlY3Rpb25zXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBzLm5hbWUsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiPjwvdmFsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiICpuZ0Zvcj1cImxldCBmIG9mIHMuZmllbGRzXCI+XG4gICAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IGYubGFiZWwsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IGZhbHNlIH1cIj48L3ZhbC10aXRsZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlRFWFRcIj5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC10ZXh0LWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5DSEVDS1wiPlxuICAgICAgICAgICAgICA8dmFsLWNoZWNrLWlucHV0PjwvdmFsLWNoZWNrLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5DT01NRU5UXCI+XG4gICAgICAgICAgICAgIDx2YWwtY29tbWVudC1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtY29tbWVudC1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuREFURVwiPlxuICAgICAgICAgICAgICA8dmFsLWRhdGUtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWRhdGUtaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLkVNQUlMXCI+XG4gICAgICAgICAgICAgIDx2YWwtZW1haWwtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWVtYWlsLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5GSUxFXCI+XG4gICAgICAgICAgICAgIDx2YWwtZmlsZS1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtZmlsZS1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuSE9VUlwiPlxuICAgICAgICAgICAgICA8dmFsLWhvdXItaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWhvdXItaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLk5VTUJFUlwiPlxuICAgICAgICAgICAgICA8dmFsLW51bWJlci1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtbnVtYmVyLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5QQVNTV09SRFwiPlxuICAgICAgICAgICAgICA8dmFsLXBhc3N3b3JkLWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1wYXNzd29yZC1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuUElOX0NPREVcIj5cbiAgICAgICAgICAgICAgPHZhbC1waW4taW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXBpbi1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuUkFESU9cIj5cbiAgICAgICAgICAgICAgPHZhbC1yYWRpby1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtcmFkaW8taW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlNFTEVDVFwiPlxuICAgICAgICAgICAgICA8IS0tIDx2YWwtc2VsZWN0LWlucHV0PjwvdmFsLXNlbGVjdC1pbnB1dD4gLS0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDx2YWwtaGludCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtaGludD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dmFsLWRpdmlkZXIgW3Byb3BzXT1cInsgZmlsbDogJ3NvbGlkJywgc2l6ZTogJ21lZGl1bScsIGNvbG9yOiAnbWVkaXVtJyB9XCI+PC92YWwtZGl2aWRlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx2YWwtYnV0dG9uLWdyb3VwXG4gICAgICAgICAgW3Byb3BzXT1cInsgYnV0dG9uczogYWN0aW9ucywgcG9zaXRpb246ICdjZW50ZXInLCBjb2x1bW5lZDogZmFsc2UgfVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwic3VibWl0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgPjwvdmFsLWJ1dHRvbi1ncm91cD5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHM6IEZvcm1NZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1TdWJtaXQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uSW52YWxpZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIHR5cGVzID0gSW5wdXRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2xzID0ge307XG4gICAgdGhpcy5wcm9wcy5zZWN0aW9ucy5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgIGZvcm1Db250cm9sc1tmaWVsZC5uYW1lXSA9IFt1bmRlZmluZWQsIGZpZWxkLnZhbGlkYXRvcnMgfHwgW11dO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChmb3JtQ29udHJvbHMpO1xuICB9XG5cbiAgYXN5bmMgc3VibWl0SGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25TdWJtaXQuZW1pdCh7IGZpZWxkczogdGhpcy5mb3JtLnZhbHVlLCB0b2tlbiB9KTtcbiAgfVxuXG4gIGdldENvbnRyb2woZmllbGQ6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Gb3JtLmdldChmaWVsZCkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXRGaWVsZFByb3AoZmllbGQ6IElucHV0TWV0YWRhdGEpOiBJbnB1dE1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICBjb250cm9sOiB0aGlzLmdldENvbnRyb2woZmllbGQubmFtZSksXG4gICAgfTtcbiAgfVxuXG4gIGdldCBpc0F0RW5kT2ZGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0F0RW5kKHRoaXMuZWxlbWVudFJlZik7XG4gIH1cblxuICBnZXQgRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm07XG4gIH1cblxuICBnZXQgYWN0aW9ucygpOiBCdXR0b25NZXRhZGF0YVtdIHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMucHJvcHMuYWN0aW9ucy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSBDb21wb25lbnRTdGF0ZXMuV09SS0lORykge1xuICAgICAgdGhpcy5wcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLldPUktJTkc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEKSB7XG4gICAgICB0aGlzLnByb3BzLmFjdGlvbnMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gQ29tcG9uZW50U3RhdGVzLkRJU0FCTEVEKSB7XG4gICAgICB0aGlzLnByb3BzLmFjdGlvbnMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFt0aGlzLnByb3BzLmFjdGlvbnNdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { IonHeader } from '@ionic/angular/standalone';
4
+ import { ToolbarComponent } from '../toolbar/toolbar.component';
5
+ import * as i0 from "@angular/core";
6
+ export class HeaderComponent {
7
+ constructor() {
8
+ this.onClick = new EventEmitter();
9
+ }
10
+ ngOnInit() { }
11
+ clickHandler(token) {
12
+ this.onClick.emit(token);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeaderComponent, isStandalone: true, selector: "val-header", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
16
+ <ion-header [class.ion-no-border]="!props.bordered" [translucent]="props.translucent">
17
+ <val-toolbar [props]="props.toolbar" (onClick)="clickHandler($event)"></val-toolbar>
18
+ </ion-header>
19
+ `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: ToolbarComponent, selector: "val-toolbar", inputs: ["props"], outputs: ["onClick"] }] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'val-header', standalone: true, imports: [NgClass, IonHeader, ToolbarComponent], template: `
24
+ <ion-header [class.ion-no-border]="!props.bordered" [translucent]="props.translucent">
25
+ <val-toolbar [props]="props.toolbar" (onClick)="clickHandler($event)"></val-toolbar>
26
+ </ion-header>
27
+ ` }]
28
+ }], ctorParameters: () => [], propDecorators: { props: [{
29
+ type: Input
30
+ }], onClick: [{
31
+ type: Output
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFjaEUsTUFBTSxPQUFPLGVBQWU7SUFPMUI7UUFGQSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV0QixDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FiVSxlQUFlO21HQUFmLGVBQWUsbUlBUGhCOzs7O0dBSVQsMEVBTGtCLFNBQVMsb0dBQUUsZ0JBQWdCOzs0RkFRbkMsZUFBZTtrQkFYM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUNyQzs7OztHQUlUO3dEQUtELEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkhlYWRlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBJb25IZWFkZXIsIFRvb2xiYXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24taGVhZGVyIFtjbGFzcy5pb24tbm8tYm9yZGVyXT1cIiFwcm9wcy5ib3JkZXJlZFwiIFt0cmFuc2x1Y2VudF09XCJwcm9wcy50cmFuc2x1Y2VudFwiPlxuICAgICAgPHZhbC10b29sYmFyIFtwcm9wc109XCJwcm9wcy50b29sYmFyXCIgKG9uQ2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIj48L3ZhbC10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBIZWFkZXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9oZWFkZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2xiYXJNZXRhZGF0YSB9IGZyb20gJy4uL3Rvb2xiYXIvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBIZWFkZXJNZXRhZGF0YSA9IHtcbiAgdHJhbnNsdWNlbnQ/OiBib29sZWFuO1xuICBib3JkZXJlZD86IGJvb2xlYW47XG4gIHRvb2xiYXI6IFRvb2xiYXJNZXRhZGF0YTtcbn07XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ImageComponent } from '../../atoms/image/image.component';
3
+ import { BannerComponent } from '../banner/banner.component';
4
+ import * as i0 from "@angular/core";
5
+ export class NoContentComponent {
6
+ constructor() {
7
+ this.onClick = new EventEmitter();
8
+ }
9
+ ngOnInit() { }
10
+ onClickHandler(token) {
11
+ this.onClick.emit(token);
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoContentComponent, isStandalone: true, selector: "val-no-content", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
15
+ <val-image class="image-container" [props]="props.image"></val-image>
16
+ <div>
17
+ <val-banner [props]="props.content" (onClick)="onClickHandler($event)"></val-banner>
18
+ </div>
19
+ `, isInline: true, styles: [".image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: BannerComponent, selector: "val-banner", inputs: ["props"], outputs: ["onClick", "onClose"] }] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoContentComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'val-no-content', standalone: true, imports: [ImageComponent, BannerComponent], template: `
24
+ <val-image class="image-container" [props]="props.image"></val-image>
25
+ <div>
26
+ <val-banner [props]="props.content" (onClick)="onClickHandler($event)"></val-banner>
27
+ </div>
28
+ `, styles: [".image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"] }]
29
+ }], ctorParameters: () => [], propDecorators: { props: [{
30
+ type: Input
31
+ }], onClick: [{
32
+ type: Output
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9uby1jb250ZW50L25vLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFlN0QsTUFBTSxPQUFPLGtCQUFrQjtJQU83QjtRQUZBLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXRCLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQWJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHVJQVJuQjs7Ozs7R0FLVCxtTEFOUyxjQUFjLHlFQUFFLGVBQWU7OzRGQVM5QixrQkFBa0I7a0JBWjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxZQUNoQzs7Ozs7R0FLVDt3REFLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFubmVyL2Jhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9Db250ZW50TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW5vLWNvbnRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSW1hZ2VDb21wb25lbnQsIEJhbm5lckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1pbWFnZSBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtwcm9wc109XCJwcm9wcy5pbWFnZVwiPjwvdmFsLWltYWdlPlxuICAgIDxkaXY+XG4gICAgICA8dmFsLWJhbm5lciBbcHJvcHNdPVwicHJvcHMuY29udGVudFwiIChvbkNsaWNrKT1cIm9uQ2xpY2tIYW5kbGVyKCRldmVudClcIj48L3ZhbC1iYW5uZXI+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL25vLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm9Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHM6IE5vQ29udGVudE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBvbkNsaWNrSGFuZGxlcih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9uby1jb250ZW50L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbWFnZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvdHlwZXMnO1xuaW1wb3J0IHsgQmFubmVyTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvYmFubmVyL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTm9Db250ZW50TWV0YWRhdGEgPSB7XG4gIGltYWdlOiBJbWFnZU1ldGFkYXRhO1xuICBjb250ZW50OiBCYW5uZXJNZXRhZGF0YTtcbn07XG4iXX0=
@@ -0,0 +1,168 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { IonButton, IonButtons, IonIcon, IonText, IonTitle, IonToolbar } from '@ionic/angular/standalone';
4
+ import { AvatarComponent } from '../../atoms/avatar/avatar.component';
5
+ import { ImageComponent } from '../../atoms/image/image.component';
6
+ import { ToolbarActionType } from '../../types';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ionic/angular";
9
+ import * as i2 from "@angular/common";
10
+ export class ToolbarComponent {
11
+ constructor(navCtrl) {
12
+ this.navCtrl = navCtrl;
13
+ this.onClick = new EventEmitter();
14
+ this.actionTypes = ToolbarActionType;
15
+ }
16
+ ngOnInit() { }
17
+ goBack() {
18
+ this.navCtrl.back();
19
+ }
20
+ rightActions() {
21
+ return this.props.actions.filter(x => x.position === 'right');
22
+ }
23
+ leftActions() {
24
+ return this.props.actions.filter(x => x.position === 'left');
25
+ }
26
+ someInRight() {
27
+ return !!this.props.actions.find(x => x.position === 'right');
28
+ }
29
+ someInLeft() {
30
+ return !!this.props.actions.find(x => x.position === 'left');
31
+ }
32
+ clickHandler(token) {
33
+ this.onClick.emit(token);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToolbarComponent, isStandalone: true, selector: "val-toolbar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
37
+ <ion-toolbar [color]="props.color" [class.background]="props.color === 'background'">
38
+ <ng-container *ngIf="props.withBack">
39
+ <ion-buttons class="left-buttons" slot="start" *ngIf="props.withBack">
40
+ <ion-button fill="clear" (click)="goBack()" [color]="props.textColor">
41
+ <ion-icon name="chevron-back-outline" [slot]="props.backText ? 'start' : 'icon-only'"></ion-icon>
42
+ <ion-text *ngIf="props.backText">{{ props.backText }}</ion-text>
43
+ </ion-button>
44
+ </ion-buttons>
45
+ </ng-container>
46
+ <ng-container *ngIf="props.withActions">
47
+ <ion-buttons slot="end" *ngIf="someInRight()">
48
+ <ng-container *ngFor="let action of rightActions()">
49
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
50
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
51
+ </ion-button>
52
+ <val-avatar
53
+ *ngIf="action.type === actionTypes.AVATAR"
54
+ [props]="{ size: 'small', image: action.description, default: '' }"
55
+ (onClick)="clickHandler(action.token)"
56
+ ></val-avatar>
57
+ <val-image
58
+ *ngIf="action.type === actionTypes.IMAGE"
59
+ [props]="action.image"
60
+ (click)="clickHandler(action.token)"
61
+ ></val-image>
62
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
63
+ action.description
64
+ }}</ion-button>
65
+ </ng-container>
66
+ </ion-buttons>
67
+ <ion-buttons slot="start" *ngIf="someInLeft()">
68
+ <ng-container *ngFor="let action of leftActions()">
69
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
70
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
71
+ </ion-button>
72
+ <val-avatar
73
+ *ngIf="action.type === actionTypes.AVATAR"
74
+ [props]="{ size: 'small', image: action.description, default: '' }"
75
+ (onClick)="clickHandler(action.token)"
76
+ ></val-avatar>
77
+ <val-image
78
+ *ngIf="action.type === actionTypes.IMAGE"
79
+ [props]="action.image"
80
+ (click)="clickHandler(action.token)"
81
+ ></val-image>
82
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
83
+ action.description
84
+ }}</ion-button>
85
+ </ng-container>
86
+ </ion-buttons>
87
+ </ng-container>
88
+ <ion-title *ngIf="props.title" [color]="props.textColor">{{ props.title }}</ion-title>
89
+ <!-- experimental -->
90
+ <ng-content select="[toolbar-bottom]"></ng-content>
91
+ </ion-toolbar>
92
+ `, isInline: true, styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.background{background:var(--ion-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }] }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'val-toolbar', standalone: true, imports: [
97
+ CommonModule,
98
+ IonToolbar,
99
+ IonButtons,
100
+ IonButton,
101
+ IonIcon,
102
+ IonText,
103
+ IonTitle,
104
+ AvatarComponent,
105
+ ImageComponent,
106
+ ], template: `
107
+ <ion-toolbar [color]="props.color" [class.background]="props.color === 'background'">
108
+ <ng-container *ngIf="props.withBack">
109
+ <ion-buttons class="left-buttons" slot="start" *ngIf="props.withBack">
110
+ <ion-button fill="clear" (click)="goBack()" [color]="props.textColor">
111
+ <ion-icon name="chevron-back-outline" [slot]="props.backText ? 'start' : 'icon-only'"></ion-icon>
112
+ <ion-text *ngIf="props.backText">{{ props.backText }}</ion-text>
113
+ </ion-button>
114
+ </ion-buttons>
115
+ </ng-container>
116
+ <ng-container *ngIf="props.withActions">
117
+ <ion-buttons slot="end" *ngIf="someInRight()">
118
+ <ng-container *ngFor="let action of rightActions()">
119
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
120
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
121
+ </ion-button>
122
+ <val-avatar
123
+ *ngIf="action.type === actionTypes.AVATAR"
124
+ [props]="{ size: 'small', image: action.description, default: '' }"
125
+ (onClick)="clickHandler(action.token)"
126
+ ></val-avatar>
127
+ <val-image
128
+ *ngIf="action.type === actionTypes.IMAGE"
129
+ [props]="action.image"
130
+ (click)="clickHandler(action.token)"
131
+ ></val-image>
132
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
133
+ action.description
134
+ }}</ion-button>
135
+ </ng-container>
136
+ </ion-buttons>
137
+ <ion-buttons slot="start" *ngIf="someInLeft()">
138
+ <ng-container *ngFor="let action of leftActions()">
139
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
140
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
141
+ </ion-button>
142
+ <val-avatar
143
+ *ngIf="action.type === actionTypes.AVATAR"
144
+ [props]="{ size: 'small', image: action.description, default: '' }"
145
+ (onClick)="clickHandler(action.token)"
146
+ ></val-avatar>
147
+ <val-image
148
+ *ngIf="action.type === actionTypes.IMAGE"
149
+ [props]="action.image"
150
+ (click)="clickHandler(action.token)"
151
+ ></val-image>
152
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
153
+ action.description
154
+ }}</ion-button>
155
+ </ng-container>
156
+ </ion-buttons>
157
+ </ng-container>
158
+ <ion-title *ngIf="props.title" [color]="props.textColor">{{ props.title }}</ion-title>
159
+ <!-- experimental -->
160
+ <ng-content select="[toolbar-bottom]"></ng-content>
161
+ </ion-toolbar>
162
+ `, styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.background{background:var(--ion-background-color)}\n"] }]
163
+ }], ctorParameters: () => [{ type: i1.NavController }], propDecorators: { props: [{
164
+ type: Input
165
+ }], onClick: [{
166
+ type: Output
167
+ }] } });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQTRFL0QsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBSjFDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXJDLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFFYSxDQUFDO0lBRTlDLFFBQVEsS0FBSSxDQUFDO0lBRWIsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FuQ1UsZ0JBQWdCO21HQUFoQixnQkFBZ0Isb0lBM0RqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RFQsOE5BbEVDLFlBQVksZ1FBQ1osVUFBVSxtRkFDVixVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsT0FBTywySkFDUCxPQUFPLGdGQUNQLFFBQVEsaUZBQ1IsZUFBZSxnR0FDZixjQUFjOzs0RkE2REwsZ0JBQWdCO2tCQXpFNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsZUFBZTt3QkFDZixjQUFjO3FCQUNmLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RUO2tGQUtELEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uSWNvbiwgSW9uVGV4dCwgSW9uVGl0bGUsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb24sIFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGJhck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC10b29sYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkljb24sXG4gICAgSW9uVGV4dCxcbiAgICBJb25UaXRsZSxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgSW1hZ2VDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10b29sYmFyIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiIFtjbGFzcy5iYWNrZ3JvdW5kXT1cInByb3BzLmNvbG9yID09PSAnYmFja2dyb3VuZCdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wcy53aXRoQmFja1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgY2xhc3M9XCJsZWZ0LWJ1dHRvbnNcIiBzbG90PVwic3RhcnRcIiAqbmdJZj1cInByb3BzLndpdGhCYWNrXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgKGNsaWNrKT1cImdvQmFjaygpXCIgW2NvbG9yXT1cInByb3BzLnRleHRDb2xvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWJhY2stb3V0bGluZVwiIFtzbG90XT1cInByb3BzLmJhY2tUZXh0ID8gJ3N0YXJ0JyA6ICdpY29uLW9ubHknXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLmJhY2tUZXh0XCI+e3sgcHJvcHMuYmFja1RleHQgfX08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BzLndpdGhBY3Rpb25zXCI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJzb21lSW5SaWdodCgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJpZ2h0QWN0aW9ucygpXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCIgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiYWN0aW9uLmRlc2NyaXB0aW9uXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDx2YWwtYXZhdGFyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGltYWdlOiBhY3Rpb24uZGVzY3JpcHRpb24sIGRlZmF1bHQ6ICcnIH1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtYXZhdGFyPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JTUFHRVwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJhY3Rpb24uaW1hZ2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgPjwvdmFsLWltYWdlPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQlVUVE9OXCIgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCI+e3tcbiAgICAgICAgICAgICAgYWN0aW9uLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9fTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwic29tZUluTGVmdCgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGxlZnRBY3Rpb25zKClcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC1hdmF0YXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuQVZBVEFSXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgaW1hZ2U6IGFjdGlvbi5kZXNjcmlwdGlvbiwgZGVmYXVsdDogJycgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklNQUdFXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIj57e1xuICAgICAgICAgICAgICBhY3Rpb24uZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH19PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8aW9uLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIiBbY29sb3JdPVwicHJvcHMudGV4dENvbG9yXCI+e3sgcHJvcHMudGl0bGUgfX08L2lvbi10aXRsZT5cbiAgICAgIDwhLS0gZXhwZXJpbWVudGFsIC0tPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2xiYXItYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgICA8L2lvbi10b29sYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcm9wczogVG9vbGJhck1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgYWN0aW9uVHlwZXMgPSBUb29sYmFyQWN0aW9uVHlwZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hdkN0cmw6IE5hdkNvbnRyb2xsZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGdvQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLm5hdkN0cmwuYmFjaygpO1xuICB9XG5cbiAgcmlnaHRBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWN0aW9ucy5maWx0ZXIoeCA9PiB4LnBvc2l0aW9uID09PSAncmlnaHQnKTtcbiAgfVxuXG4gIGxlZnRBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWN0aW9ucy5maWx0ZXIoeCA9PiB4LnBvc2l0aW9uID09PSAnbGVmdCcpO1xuICB9XG5cbiAgc29tZUluUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wcy5hY3Rpb25zLmZpbmQoeCA9PiB4LnBvc2l0aW9uID09PSAncmlnaHQnKTtcbiAgfVxuXG4gIHNvbWVJbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wcy5hY3Rpb25zLmZpbmQoeCA9PiB4LnBvc2l0aW9uID09PSAnbGVmdCcpO1xuICB9XG5cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRvb2xiYXJNZXRhZGF0YSA9IHtcbiAgd2l0aEJhY2s6IGJvb2xlYW47XG4gIGJhY2tUZXh0Pzogc3RyaW5nO1xuICB3aXRoQWN0aW9uczogYm9vbGVhbjtcbiAgY29sb3I/OiBDb2xvcjtcbiAgdGV4dENvbG9yPzogQ29sb3I7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXTtcbn07XG4iXX0=