valtech-components 1.11.76 → 2.0.2

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 (166) hide show
  1. package/README.md +5 -84
  2. package/ng-package.json +7 -0
  3. package/package.json +5 -29
  4. package/src/lib/valtech-components.component.spec.ts +23 -0
  5. package/src/lib/valtech-components.component.ts +16 -0
  6. package/src/lib/valtech-components.service.spec.ts +16 -0
  7. package/src/lib/valtech-components.service.ts +9 -0
  8. package/src/public-api.ts +6 -0
  9. package/tsconfig.lib.json +14 -0
  10. package/tsconfig.lib.prod.json +10 -0
  11. package/tsconfig.spec.json +14 -0
  12. package/LICENSE +0 -21
  13. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
  14. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -32
  15. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -34
  16. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  17. package/esm2022/lib/components/atoms/button/types.mjs +0 -2
  18. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -20
  19. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -24
  20. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -32
  21. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  22. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -23
  23. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -23
  24. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  25. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -32
  26. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
  27. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -20
  28. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -31
  29. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -36
  30. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -33
  31. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  32. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -14
  33. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -19
  34. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -27
  35. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -20
  36. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -19
  37. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -37
  38. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -29
  39. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -19
  40. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -27
  41. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -24
  42. package/esm2022/lib/components/molecules/no-content/no-content.component.mjs +0 -24
  43. package/esm2022/lib/components/molecules/no-content/types.mjs +0 -2
  44. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -29
  45. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -19
  46. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -21
  47. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -39
  48. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -34
  49. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  50. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -27
  51. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  52. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -20
  53. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -35
  54. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -20
  55. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -26
  56. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  57. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -32
  58. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  59. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -25
  60. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  61. package/esm2022/lib/components/organisms/form/factory.mjs +0 -8
  62. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -36
  63. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -83
  64. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -24
  65. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  66. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -44
  67. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -8
  68. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -7
  69. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -57
  70. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -72
  71. package/esm2022/lib/components/types.mjs +0 -29
  72. package/esm2022/lib/services/download.service.mjs +0 -63
  73. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
  74. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
  75. package/esm2022/lib/services/lang-provider/content.mjs +0 -8
  76. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
  77. package/esm2022/lib/services/lang-provider/types.mjs +0 -14
  78. package/esm2022/lib/services/local-storage.service.mjs +0 -16
  79. package/esm2022/lib/services/theme.service.mjs +0 -97
  80. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  81. package/esm2022/lib/shared/utils/dom.mjs +0 -17
  82. package/esm2022/lib/valtech-components.module.mjs +0 -239
  83. package/esm2022/public-api.mjs +0 -68
  84. package/esm2022/valtech-components.mjs +0 -5
  85. package/fesm2022/valtech-components.mjs +0 -1813
  86. package/fesm2022/valtech-components.mjs.map +0 -1
  87. package/index.d.ts +0 -5
  88. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -14
  89. package/lib/components/atoms/box/box.component.d.ts +0 -15
  90. package/lib/components/atoms/button/button.component.d.ts +0 -20
  91. package/lib/components/atoms/button/factory.d.ts +0 -71
  92. package/lib/components/atoms/button/types.d.ts +0 -22
  93. package/lib/components/atoms/display/display.component.d.ts +0 -12
  94. package/lib/components/atoms/divider/divider.component.d.ts +0 -11
  95. package/lib/components/atoms/href/href.component.d.ts +0 -15
  96. package/lib/components/atoms/href/types.d.ts +0 -9
  97. package/lib/components/atoms/icon/icon.component.d.ts +0 -12
  98. package/lib/components/atoms/image/image.component.d.ts +0 -12
  99. package/lib/components/atoms/image/types.d.ts +0 -11
  100. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -15
  101. package/lib/components/atoms/text/text.component.d.ts +0 -13
  102. package/lib/components/atoms/title/title.component.d.ts +0 -12
  103. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -14
  104. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -15
  105. package/lib/components/molecules/card/card.component.d.ts +0 -16
  106. package/lib/components/molecules/card/types.d.ts +0 -33
  107. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -8
  108. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -12
  109. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -13
  110. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -12
  111. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -12
  112. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -18
  113. package/lib/components/molecules/hint/hint.component.d.ts +0 -13
  114. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -12
  115. package/lib/components/molecules/link/link.component.d.ts +0 -14
  116. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -12
  117. package/lib/components/molecules/no-content/no-content.component.d.ts +0 -12
  118. package/lib/components/molecules/no-content/types.d.ts +0 -6
  119. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -14
  120. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -12
  121. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -13
  122. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -17
  123. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -14
  124. package/lib/components/molecules/progress-status/types.d.ts +0 -10
  125. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -12
  126. package/lib/components/molecules/prompter/types.d.ts +0 -11
  127. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -12
  128. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -14
  129. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -12
  130. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -13
  131. package/lib/components/molecules/title-block/types.d.ts +0 -11
  132. package/lib/components/organisms/banner/banner.component.d.ts +0 -14
  133. package/lib/components/organisms/banner/types.d.ts +0 -11
  134. package/lib/components/organisms/footer/footer.component.d.ts +0 -12
  135. package/lib/components/organisms/footer/types.d.ts +0 -6
  136. package/lib/components/organisms/form/factory.d.ts +0 -5
  137. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -16
  138. package/lib/components/organisms/form/form.component.d.ts +0 -23
  139. package/lib/components/organisms/header/header.component.d.ts +0 -12
  140. package/lib/components/organisms/header/types.d.ts +0 -6
  141. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -20
  142. package/lib/components/organisms/toolbar/types.d.ts +0 -24
  143. package/lib/components/organisms/wizard/types.d.ts +0 -21
  144. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -21
  145. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -22
  146. package/lib/components/types.d.ts +0 -78
  147. package/lib/services/download.service.d.ts +0 -8
  148. package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
  149. package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
  150. package/lib/services/lang-provider/content.d.ts +0 -6
  151. package/lib/services/lang-provider/lang-provider.service.d.ts +0 -16
  152. package/lib/services/lang-provider/types.d.ts +0 -18
  153. package/lib/services/local-storage.service.d.ts +0 -6
  154. package/lib/services/theme.service.d.ts +0 -27
  155. package/lib/shared/constants/storage.d.ts +0 -2
  156. package/lib/shared/utils/dom.d.ts +0 -3
  157. package/lib/valtech-components.module.d.ts +0 -60
  158. package/public-api.d.ts +0 -64
  159. package/src/lib/components/styles/functions.scss +0 -20
  160. package/src/lib/components/styles/media-queries.scss +0 -66
  161. package/src/lib/components/styles/mixins.scss +0 -66
  162. package/src/lib/components/styles/overrides.scss +0 -158
  163. package/src/lib/components/styles/typography.scss +0 -189
  164. package/src/lib/components/styles/variables.scss +0 -82
  165. package/styles/overrides.scss +0 -1
  166. package/styles/utils.scss +0 -5
@@ -1,1813 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Component, Input, Output, ViewChild, InjectionToken, NgModule, Inject } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i1$1 from '@ionic/angular';
6
- import { IonicModule } from '@ionic/angular';
7
- import * as i2 from '@angular/forms';
8
- import { Validators, ReactiveFormsModule } from '@angular/forms';
9
- import * as i1$2 from 'ng-otp-input';
10
- import { NgOtpInputComponent, NgOtpInputModule } from 'ng-otp-input';
11
- import { BehaviorSubject } from 'rxjs';
12
- import { HttpClientModule } from '@angular/common/http';
13
-
14
- const ENABLED = 'ENABLED';
15
- const DISABLED = 'DISABLED';
16
- const WORKING = 'WORKING';
17
- const ERROR = 'ERROR';
18
- const ComponentStates = { ENABLED, DISABLED, WORKING, ERROR };
19
- var ActionType;
20
- (function (ActionType) {
21
- ActionType[ActionType["BROWSER_NEW_TAB"] = 0] = "BROWSER_NEW_TAB";
22
- ActionType[ActionType["BROWSER_DOWNLOAD"] = 1] = "BROWSER_DOWNLOAD";
23
- ActionType[ActionType["NATIVE_DOWNLOAD"] = 2] = "NATIVE_DOWNLOAD";
24
- ActionType[ActionType["APP_NAVIGATION"] = 3] = "APP_NAVIGATION";
25
- ActionType[ActionType["BROWSER_NAVIGATION"] = 4] = "BROWSER_NAVIGATION";
26
- })(ActionType || (ActionType = {}));
27
- var InputType;
28
- (function (InputType) {
29
- InputType[InputType["TEXT"] = 0] = "TEXT";
30
- InputType[InputType["EMAIL"] = 1] = "EMAIL";
31
- InputType[InputType["PASSWORD"] = 2] = "PASSWORD";
32
- InputType[InputType["COMMENT"] = 3] = "COMMENT";
33
- InputType[InputType["NUMBER"] = 4] = "NUMBER";
34
- InputType[InputType["PIN_CODE"] = 5] = "PIN_CODE";
35
- InputType[InputType["DATE"] = 6] = "DATE";
36
- InputType[InputType["HOUR"] = 7] = "HOUR";
37
- InputType[InputType["CHECK"] = 8] = "CHECK";
38
- InputType[InputType["RADIO"] = 9] = "RADIO";
39
- InputType[InputType["SELECT"] = 10] = "SELECT";
40
- InputType[InputType["FILE"] = 11] = "FILE";
41
- })(InputType || (InputType = {}));
42
-
43
- class DownloadService {
44
- getFileNameFromUrl(url) {
45
- try {
46
- const pathSegments = url.split('/');
47
- const lastSegment = pathSegments[pathSegments.length - 1];
48
- const fileName = decodeURIComponent(lastSegment);
49
- return fileName;
50
- }
51
- catch (error) {
52
- console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));
53
- return 'filename';
54
- }
55
- }
56
- openNewTab(url) {
57
- if (url) {
58
- const fileName = this.getFileNameFromUrl(url);
59
- const link = document.createElement('a');
60
- link.href = url;
61
- link.download = fileName;
62
- link.target = '_blank';
63
- document.body.appendChild(link);
64
- link.click();
65
- document.body.removeChild(link);
66
- }
67
- else {
68
- console.error('La URL no está definida');
69
- }
70
- }
71
- downloadLinkFromBrowser(url) {
72
- console.log('trying to download file from url');
73
- if (url) {
74
- fetch(url)
75
- .then((response) => response.blob())
76
- .then((blob) => {
77
- const url = window.URL.createObjectURL(blob);
78
- const link = document.createElement('a');
79
- link.href = url;
80
- const fileName = this.getFileNameFromUrl(url);
81
- link.download = `${+new Date()}-${fileName}`;
82
- link.target = '_self';
83
- link.click();
84
- window.URL.revokeObjectURL(url);
85
- })
86
- .catch((error) => {
87
- console.error('Error al descargar el archivo:', JSON.stringify(error));
88
- });
89
- }
90
- else {
91
- console.error('La URL no está definida');
92
- }
93
- }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, providedIn: 'root' }); }
96
- }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DownloadService, decorators: [{
98
- type: Injectable,
99
- args: [{
100
- providedIn: 'root',
101
- }]
102
- }] });
103
-
104
- class ButtonComponent {
105
- constructor(download) {
106
- this.download = download;
107
- this.states = ComponentStates;
108
- this.onClick = new EventEmitter();
109
- }
110
- ngOnInit() { }
111
- clickHandler() {
112
- if (this.props.download) {
113
- this.download.downloadLinkFromBrowser(this.props.download);
114
- }
115
- if (this.props.state === this.states.DISABLED) {
116
- return;
117
- }
118
- this.onClick.emit(this.props.token);
119
- }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonComponent, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n [disabled]=\"props.state === states.DISABLED\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.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: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1$1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
124
- type: Component,
125
- args: [{ selector: 'val-button', template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [shape]=\"props.shape\"\n (click)=\"clickHandler()\"\n [disabled]=\"props.state === states.DISABLED\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
126
- }], ctorParameters: () => [{ type: DownloadService }], propDecorators: { props: [{
127
- type: Input
128
- }], onClick: [{
129
- type: Output
130
- }] } });
131
-
132
- const Icon = (name, slot) => {
133
- return {
134
- name,
135
- slot,
136
- };
137
- };
138
- /* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */
139
- const BaseDefault = (text, type) => {
140
- return {
141
- color: 'primary',
142
- state: 'ENABLED',
143
- text,
144
- size: 'default',
145
- type,
146
- };
147
- };
148
- const ClearDefault = (text, type) => {
149
- return { ...BaseDefault(text, type), fill: 'clear' };
150
- };
151
- const ClearDefaultRound = (text, type) => {
152
- return { ...ClearDefault(text, type), shape: 'round' };
153
- };
154
- const SolidDefault = (text, type) => {
155
- return { ...BaseDefault(text, type), fill: 'solid' };
156
- };
157
- const SolidDefaultRound = (text, type) => {
158
- return { ...SolidDefault(text, type), shape: 'round' };
159
- };
160
- const OutlineDefault = (text, type) => {
161
- return { ...BaseDefault(text, type), fill: 'outline' };
162
- };
163
- const OutlineDefaultRound = (text, type) => {
164
- return { ...OutlineDefault(text, type), shape: 'round' };
165
- };
166
- const ClearDefaultFull = (text, type) => {
167
- return { ...ClearDefault(text, type), expand: 'full' };
168
- };
169
- const ClearDefaultRoundFull = (text, type) => {
170
- return { ...ClearDefaultRound(text, type), expand: 'full' };
171
- };
172
- const ClearDefaultBlock = (text, type) => {
173
- return { ...ClearDefault(text, type), expand: 'block' };
174
- };
175
- const ClearDefaultRoundBlock = (text, type) => {
176
- return { ...ClearDefaultRound(text, type), expand: 'block' };
177
- };
178
- const SolidDefaultFull = (text, type) => {
179
- return { ...SolidDefault(text, type), expand: 'full' };
180
- };
181
- const SolidDefaultRoundFull = (text, type) => {
182
- return { ...SolidDefaultRound(text, type), expand: 'full' };
183
- };
184
- const SolidDefaultBlock = (text, type) => {
185
- return { ...SolidDefault(text, type), expand: 'block' };
186
- };
187
- const SolidDefaultRoundBlock = (text, type) => {
188
- return { ...SolidDefaultRound(text, type), expand: 'block' };
189
- };
190
- const OutlineDefaultFull = (text, type) => {
191
- return { ...OutlineDefault(text, type), expand: 'full' };
192
- };
193
- const OutlineDefaultRoundFull = (text, type) => {
194
- return { ...OutlineDefaultRound(text, type), expand: 'full' };
195
- };
196
- const OutlineDefaultBlock = (text, type) => {
197
- return { ...OutlineDefault(text, type), expand: 'block' };
198
- };
199
- const OutlineDefaultRoundBlock = (text, type) => {
200
- return { ...OutlineDefaultRound(text, type), expand: 'block' };
201
- };
202
- const SolidDefaultButton = (text) => {
203
- return SolidDefault(text, 'button');
204
- };
205
- const SolidSmallButton = (text) => {
206
- return { ...SolidDefault(text, 'button'), size: 'small' };
207
- };
208
- const SolidLargeButton = (text) => {
209
- return { ...SolidDefault(text, 'button'), size: 'large' };
210
- };
211
- const SolidDefaultRoundButton = (text) => {
212
- return SolidDefaultRound(text, 'button');
213
- };
214
- const SolidSmallRoundButton = (text) => {
215
- return { ...SolidDefaultRound(text, 'button'), size: 'small' };
216
- };
217
- const SolidLargeRoundButton = (text) => {
218
- return { ...SolidDefaultRound(text, 'button'), size: 'large' };
219
- };
220
- const SolidFullButton = (text) => {
221
- return SolidDefaultFull(text, 'button');
222
- };
223
- const SolidBlockButton = (text) => {
224
- return SolidDefaultBlock(text, 'button');
225
- };
226
- /** PRIMARY */
227
- const PrimarySolidDefaultRoundButton = (text) => {
228
- return { ...SolidDefaultRoundButton(text), color: 'primary' };
229
- };
230
- const PrimarySolidDefaultRoundIconButton = (text, icon) => {
231
- return { ...PrimarySolidDefaultRoundButton(text), icon };
232
- };
233
- const PrimarySolidDefaultRoundHrefButton = (text, href, target) => {
234
- return { ...PrimarySolidDefaultRoundButton(text), href, target };
235
- };
236
- const PrimarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
237
- return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };
238
- };
239
- const PrimarySolidSmallRoundButton = (text) => {
240
- return { ...SolidSmallRoundButton(text), color: 'primary' };
241
- };
242
- const PrimarySolidSmallRoundIconButton = (text, icon) => {
243
- return { ...PrimarySolidSmallRoundButton(text), icon };
244
- };
245
- const PrimarySolidSmallRoundHrefButton = (text, href, target) => {
246
- return { ...PrimarySolidSmallRoundButton(text), href, target };
247
- };
248
- const PrimarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
249
- return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };
250
- };
251
- const PrimarySolidLargeRoundButton = (text) => {
252
- return { ...SolidLargeRoundButton(text), color: 'primary' };
253
- };
254
- const PrimarySolidLargeRoundIconButton = (text, icon) => {
255
- return { ...PrimarySolidLargeRoundButton(text), icon };
256
- };
257
- const PrimarySolidLargeRoundHrefButton = (text, href, target) => {
258
- return { ...PrimarySolidLargeRoundButton(text), href, target };
259
- };
260
- const PrimarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
261
- return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };
262
- };
263
- const PrimarySolidBlockButton = (text) => {
264
- return { ...SolidBlockButton(text), color: 'primary' };
265
- };
266
- const PrimarySolidBlockIconButton = (text, icon) => {
267
- return { ...PrimarySolidBlockButton(text), icon };
268
- };
269
- const PrimarySolidBlockHrefButton = (text, href, target) => {
270
- return { ...PrimarySolidBlockButton(text), href, target };
271
- };
272
- const PrimarySolidBlockIconHrefButton = (text, icon, href, target) => {
273
- return { ...PrimarySolidBlockIconButton(text, icon), href, target };
274
- };
275
- const PrimarySolidFullButton = (text) => {
276
- return { ...SolidFullButton(text), color: 'primary' };
277
- };
278
- const PrimarySolidFullIconButton = (text, icon) => {
279
- return { ...PrimarySolidFullButton(text), icon };
280
- };
281
- const PrimarySolidFullHrefButton = (text, href, target) => {
282
- return { ...PrimarySolidFullButton(text), href, target };
283
- };
284
- const PrimarySolidFullIconHrefButton = (text, icon, href, target) => {
285
- return { ...PrimarySolidFullIconButton(text, icon), href, target };
286
- };
287
- /** SECONDARY */
288
- const SecondarySolidDefaultRoundButton = (text) => {
289
- return { ...SolidDefaultRoundButton(text), color: 'secondary' };
290
- };
291
- const SecondarySolidDefaultRoundIconButton = (text, icon) => {
292
- return { ...SecondarySolidDefaultRoundButton(text), icon };
293
- };
294
- const SecondarySolidDefaultRoundHrefButton = (text, href, target) => {
295
- return { ...SecondarySolidDefaultRoundButton(text), href, target };
296
- };
297
- const SecondarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
298
- return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };
299
- };
300
- const SecondarySolidSmallRoundButton = (text) => {
301
- return { ...SolidSmallRoundButton(text), color: 'secondary' };
302
- };
303
- const SecondarySolidSmallRoundIconButton = (text, icon) => {
304
- return { ...SecondarySolidSmallRoundButton(text), icon };
305
- };
306
- const SecondarySolidSmallRoundHrefButton = (text, href, target) => {
307
- return { ...SecondarySolidSmallRoundButton(text), href, target };
308
- };
309
- const SecondarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
310
- return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };
311
- };
312
- const SecondarySolidLargeRoundButton = (text) => {
313
- return { ...SolidLargeRoundButton(text), color: 'secondary' };
314
- };
315
- const SecondarySolidLargeRoundIconButton = (text, icon) => {
316
- return { ...SecondarySolidLargeRoundButton(text), icon };
317
- };
318
- const SecondarySolidLargeRoundHrefButton = (text, href, target) => {
319
- return { ...SecondarySolidLargeRoundButton(text), href, target };
320
- };
321
- const SecondarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
322
- return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };
323
- };
324
- const SecondarySolidFullButton = (text) => {
325
- return { ...SolidFullButton(text), color: 'secondary' };
326
- };
327
- const SecondarySolidFullIconButton = (text, icon) => {
328
- return { ...SecondarySolidFullButton(text), icon };
329
- };
330
- const SecondarySolidFullHrefButton = (text, href, target) => {
331
- return { ...SecondarySolidFullButton(text), href, target };
332
- };
333
- const SecondarySolidFullIconHrefButton = (text, icon, href, target) => {
334
- return { ...SecondarySolidFullIconButton(text, icon), href, target };
335
- };
336
- const SecondarySolidBlockButton = (text) => {
337
- return { ...SolidBlockButton(text), color: 'secondary' };
338
- };
339
- const SecondarySolidBlockIconButton = (text, icon) => {
340
- return { ...SecondarySolidBlockButton(text), icon };
341
- };
342
- const SecondarySolidBlockHrefButton = (text, href, target) => {
343
- return { ...SecondarySolidBlockButton(text), href, target };
344
- };
345
- const SecondarySolidBlockIconHrefButton = (text, icon, href, target) => {
346
- return { ...SecondarySolidBlockIconButton(text, icon), href, target };
347
- };
348
-
349
- class TextComponent {
350
- constructor() {
351
- this.bold = false;
352
- }
353
- ngOnInit() { }
354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TextComponent, selector: "val-text", inputs: { size: "size", color: "color", content: "content", bold: "bold" }, ngImport: i0, template: "<ion-text [color]=\"color\">\n <p [class]=\"size\" [class.bold]=\"bold\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
356
- }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextComponent, decorators: [{
358
- type: Component,
359
- args: [{ selector: 'val-text', template: "<ion-text [color]=\"color\">\n <p [class]=\"size\" [class.bold]=\"bold\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"] }]
360
- }], ctorParameters: () => [], propDecorators: { size: [{
361
- type: Input
362
- }], color: [{
363
- type: Input
364
- }], content: [{
365
- type: Input
366
- }], bold: [{
367
- type: Input
368
- }] } });
369
-
370
- class TitleComponent {
371
- constructor() { }
372
- ngOnInit() { }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TitleComponent, selector: "val-title", inputs: { size: "size", color: "color", content: "content" }, ngImport: i0, template: "<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.small{font-size:1rem;line-height:1.5rem}}.medium{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium{font-size:1.125rem;line-height:1.5rem}}.large{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large{font-size:1.5rem;line-height:2rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
375
- }
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleComponent, decorators: [{
377
- type: Component,
378
- args: [{ selector: 'val-title', template: "<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.small{font-size:1rem;line-height:1.5rem}}.medium{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium{font-size:1.125rem;line-height:1.5rem}}.large{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large{font-size:1.5rem;line-height:2rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}\n"] }]
379
- }], ctorParameters: () => [], propDecorators: { size: [{
380
- type: Input
381
- }], color: [{
382
- type: Input
383
- }], content: [{
384
- type: Input
385
- }] } });
386
-
387
- class DisplayComponent {
388
- constructor() { }
389
- ngOnInit() { }
390
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
391
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: DisplayComponent, selector: "val-display", inputs: { size: "size", color: "color", content: "content" }, ngImport: i0, template: "<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:1.5rem;line-height:2rem;font-weight:800}@media (min-width: 768px){.small{font-size:2rem;line-height:2.5rem}}.medium{font-size:2rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.medium{font-size:2.5rem;line-height:3rem}}.large{font-size:2.5rem;line-height:3rem;font-weight:800}@media (min-width: 768px){.large{font-size:3rem;line-height:3.5rem}}.xlarge{font-size:3rem;line-height:3.5rem;font-weight:800}@media (min-width: 768px){.xlarge{font-size:3.5rem;line-height:4rem}}\n"], dependencies: [{ kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
392
- }
393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DisplayComponent, decorators: [{
394
- type: Component,
395
- args: [{ selector: 'val-display', template: "<ion-text [color]=\"color\">\n <p [class]=\"size\">\n {{ content }}\n </p>\n</ion-text>\n", styles: [".small{font-size:1.5rem;line-height:2rem;font-weight:800}@media (min-width: 768px){.small{font-size:2rem;line-height:2.5rem}}.medium{font-size:2rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.medium{font-size:2.5rem;line-height:3rem}}.large{font-size:2.5rem;line-height:3rem;font-weight:800}@media (min-width: 768px){.large{font-size:3rem;line-height:3.5rem}}.xlarge{font-size:3rem;line-height:3.5rem;font-weight:800}@media (min-width: 768px){.xlarge{font-size:3.5rem;line-height:4rem}}\n"] }]
396
- }], ctorParameters: () => [], propDecorators: { size: [{
397
- type: Input
398
- }], color: [{
399
- type: Input
400
- }], content: [{
401
- type: Input
402
- }] } });
403
-
404
- class AvatarComponent {
405
- constructor() {
406
- this.size = 'medium';
407
- this.box = false;
408
- this.onClick = new EventEmitter();
409
- }
410
- ngOnInit() { }
411
- onClickHandler() {
412
- this.onClick.emit();
413
- }
414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: AvatarComponent, selector: "val-avatar", inputs: { image: "image", default: "default", size: "size", box: "box" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n", styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"], dependencies: [{ kind: "component", type: i1$1.IonAvatar, selector: "ion-avatar" }] }); }
416
- }
417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AvatarComponent, decorators: [{
418
- type: Component,
419
- args: [{ selector: 'val-avatar', template: "<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n", styles: [".box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"] }]
420
- }], ctorParameters: () => [], propDecorators: { image: [{
421
- type: Input
422
- }], default: [{
423
- type: Input
424
- }], size: [{
425
- type: Input
426
- }], box: [{
427
- type: Input
428
- }], onClick: [{
429
- type: Output
430
- }] } });
431
-
432
- class DividerComponent {
433
- constructor() {
434
- this.size = 'small';
435
- this.color = 'dark';
436
- this.fill = 'solid';
437
- }
438
- ngOnInit() { }
439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
440
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: DividerComponent, selector: "val-divider", inputs: { size: "size", color: "color", fill: "fill" }, ngImport: i0, template: "<div [ngClass]=\"['divider', size, color, fill]\"></div>\n", styles: [".solid{border-top:.0625rem solid #878ca0}.gradient{height:.125rem}.gradient.primary{background:linear-gradient(to right,var(--ion-color-primary),var(--ion-color-light))}.gradient.secondary{background:linear-gradient(to right,var(--ion-color-secondary),var(--ion-color-light))}.gradient.dark{background:linear-gradient(to right,var(--ion-color-dark),var(--ion-color-light))}.gradient.light{background:linear-gradient(to right,var(--ion-color-light),#ffffff)}.gradient.medium{background:linear-gradient(to right,var(--ion-color-medium),#ffffff)}.small{margin:1rem}.medium{margin:1.5rem 1rem}.large{margin:2.25rem 1rem}.primary{border-color:var(--ion-color-primary)}.secondary{border-color:var(--ion-color-secondary)}.dark{border-color:var(--ion-color-dark)}.light{border-color:var(--ion-color-light)}.medium{border-color:var(--ion-color-medium)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
441
- }
442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DividerComponent, decorators: [{
443
- type: Component,
444
- args: [{ selector: 'val-divider', template: "<div [ngClass]=\"['divider', size, color, fill]\"></div>\n", styles: [".solid{border-top:.0625rem solid #878ca0}.gradient{height:.125rem}.gradient.primary{background:linear-gradient(to right,var(--ion-color-primary),var(--ion-color-light))}.gradient.secondary{background:linear-gradient(to right,var(--ion-color-secondary),var(--ion-color-light))}.gradient.dark{background:linear-gradient(to right,var(--ion-color-dark),var(--ion-color-light))}.gradient.light{background:linear-gradient(to right,var(--ion-color-light),#ffffff)}.gradient.medium{background:linear-gradient(to right,var(--ion-color-medium),#ffffff)}.small{margin:1rem}.medium{margin:1.5rem 1rem}.large{margin:2.25rem 1rem}.primary{border-color:var(--ion-color-primary)}.secondary{border-color:var(--ion-color-secondary)}.dark{border-color:var(--ion-color-dark)}.light{border-color:var(--ion-color-light)}.medium{border-color:var(--ion-color-medium)}\n"] }]
445
- }], ctorParameters: () => [], propDecorators: { size: [{
446
- type: Input
447
- }], color: [{
448
- type: Input
449
- }], fill: [{
450
- type: Input
451
- }] } });
452
-
453
- class BoxComponent {
454
- constructor() {
455
- this.bordered = false;
456
- this.leftBorder = false;
457
- this.onClick = new EventEmitter();
458
- }
459
- ngOnInit() { }
460
- clickHandler() {
461
- this.onClick.emit();
462
- }
463
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
464
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: BoxComponent, selector: "val-box", inputs: { color: "color", icon: "icon", bordered: "bordered", leftBorder: "leftBorder" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-card class=\"box\" [color]=\"color\" [class.bordered]=\"bordered\" [class.transparent]=\"!color\"[class.left-border]=\"leftBorder\">\n <ion-icon *ngIf=\"!!icon\" class=\"icon\" [name]=\"icon\" (click)=\"clickHandler()\"></ion-icon>\n <ng-content select=\"[body]\"></ng-content>\n</ion-card>\n", styles: [".bordered{border:.0625rem solid var(--ion-color-medium)}.box{width:100%;margin:0rem;border-radius:0rem;box-shadow:none;padding:.25rem}@media (min-width: 768px){.box{padding:.5rem}}.icon{cursor:pointer;margin:0rem;padding:0rem;position:absolute;right:.25rem;top:.25rem;font-size:1rem}@media (min-width: 768px){.icon{right:.5rem;top:.5rem;font-size:1.5rem}}.left-border{border-left:.1875rem solid #dde3ed}.left-border.small{border-width:.1875rem}.left-border.medium{border-width:.375rem}.left-border.large{border-width:.4375rem}.left-border.xlarge{border-width:.5rem}.transparent{--background: transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
465
- }
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BoxComponent, decorators: [{
467
- type: Component,
468
- args: [{ selector: 'val-box', template: "<ion-card class=\"box\" [color]=\"color\" [class.bordered]=\"bordered\" [class.transparent]=\"!color\"[class.left-border]=\"leftBorder\">\n <ion-icon *ngIf=\"!!icon\" class=\"icon\" [name]=\"icon\" (click)=\"clickHandler()\"></ion-icon>\n <ng-content select=\"[body]\"></ng-content>\n</ion-card>\n", styles: [".bordered{border:.0625rem solid var(--ion-color-medium)}.box{width:100%;margin:0rem;border-radius:0rem;box-shadow:none;padding:.25rem}@media (min-width: 768px){.box{padding:.5rem}}.icon{cursor:pointer;margin:0rem;padding:0rem;position:absolute;right:.25rem;top:.25rem;font-size:1rem}@media (min-width: 768px){.icon{right:.5rem;top:.5rem;font-size:1.5rem}}.left-border{border-left:.1875rem solid #dde3ed}.left-border.small{border-width:.1875rem}.left-border.medium{border-width:.375rem}.left-border.large{border-width:.4375rem}.left-border.xlarge{border-width:.5rem}.transparent{--background: transparent}\n"] }]
469
- }], ctorParameters: () => [], propDecorators: { color: [{
470
- type: Input
471
- }], icon: [{
472
- type: Input
473
- }], bordered: [{
474
- type: Input
475
- }], leftBorder: [{
476
- type: Input
477
- }], onClick: [{
478
- type: Output
479
- }] } });
480
-
481
- class IconComponent {
482
- constructor() {
483
- this.size = 'small';
484
- }
485
- ngOnInit() { }
486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: IconComponent, selector: "val-icon", inputs: { size: "size", color: "color", name: "name" }, ngImport: i0, template: "<ion-icon [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-icon>\n", styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
488
- }
489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconComponent, decorators: [{
490
- type: Component,
491
- args: [{ selector: 'val-icon', template: "<ion-icon [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-icon>\n", styles: [".small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}\n"] }]
492
- }], ctorParameters: () => [], propDecorators: { size: [{
493
- type: Input
494
- }], color: [{
495
- type: Input
496
- }], name: [{
497
- type: Input
498
- }] } });
499
-
500
- class ImageComponent {
501
- constructor() {
502
- this.available = true;
503
- }
504
- ngOnInit() { }
505
- changeToVisible() {
506
- setInterval(() => {
507
- this.available = true;
508
- }, 100);
509
- }
510
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
511
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ImageComponent, selector: "val-image", inputs: { props: "props" }, ngImport: i0, template: "<img\n [ngClass]=\"['image', props.mode, props.size]\"\n [class.bordered]=\"props.bordered\"\n [class.shaded]=\"props.shaded\"\n [class.limited]=\"props.limited\"\n [class.visible]=\"available\"\n [src]=\"props.src\"\n [alt]=\"props.alt\"\n [style.width.px]=\"props.width\"\n [style.max-width.px]=\"props.width\"\n [style.height.px]=\"props.height\"\n/>\n", styles: [".small{width:30%}.small.limited{max-width:6.25rem}.medium{width:50%}.medium.limited{max-width:15rem}.large{width:70%}.large.limited{max-width:28.125rem}.xlarge{width:100%}.xlarge.limited{max-width:43.75rem}.image{opacity:0;height:0;display:block}.visible{animation:appereance ease-in 1s forwards}@keyframes appereance{0%{opacity:0;height:0}to{opacity:1;height:auto}}.rounded{border-radius:.5rem}.circular{border-radius:50%}.bordered{border:.0625rem solid var(--ion-color-medium)}.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
512
- }
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ImageComponent, decorators: [{
514
- type: Component,
515
- args: [{ selector: 'val-image', template: "<img\n [ngClass]=\"['image', props.mode, props.size]\"\n [class.bordered]=\"props.bordered\"\n [class.shaded]=\"props.shaded\"\n [class.limited]=\"props.limited\"\n [class.visible]=\"available\"\n [src]=\"props.src\"\n [alt]=\"props.alt\"\n [style.width.px]=\"props.width\"\n [style.max-width.px]=\"props.width\"\n [style.height.px]=\"props.height\"\n/>\n", styles: [".small{width:30%}.small.limited{max-width:6.25rem}.medium{width:50%}.medium.limited{max-width:15rem}.large{width:70%}.large.limited{max-width:28.125rem}.xlarge{width:100%}.xlarge.limited{max-width:43.75rem}.image{opacity:0;height:0;display:block}.visible{animation:appereance ease-in 1s forwards}@keyframes appereance{0%{opacity:0;height:0}to{opacity:1;height:auto}}.rounded{border-radius:.5rem}.circular{border-radius:50%}.bordered{border:.0625rem solid var(--ion-color-medium)}.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}\n"] }]
516
- }], ctorParameters: () => [], propDecorators: { props: [{
517
- type: Input
518
- }] } });
519
-
520
- class HrefComponent {
521
- constructor(downloadService) {
522
- this.downloadService = downloadService;
523
- this.onClick = new EventEmitter();
524
- }
525
- ngOnInit() { }
526
- getFileName() {
527
- return this.downloadService.getFileNameFromUrl(this.props.url);
528
- }
529
- onClickHandler(event) {
530
- if (this.props.download && this.props.url) {
531
- event.preventDefault();
532
- this.downloadService.downloadLinkFromBrowser(this.props.url);
533
- }
534
- this.onClick.emit(this.props.token);
535
- }
536
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HrefComponent, deps: [{ token: DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
537
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: HrefComponent, selector: "val-href", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<a [ngClass]=\"[props.color]\" [class.hoverable]=\"props.hoverable\" [href]=\"props.url\" target=\"_blank\"\n (click)=\"onClickHandler($event)\">{{ props.text }}</a>", styles: [".primary{color:var(--ion-color-primary)}.secondary{color:var(--ion-color-secondary)}.dark{color:var(--ion-color-dark)}.medium{color:var(--ion-color-medium)}.hoverable{text-decoration:none}.hoverable:hover{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
538
- }
539
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HrefComponent, decorators: [{
540
- type: Component,
541
- args: [{ selector: 'val-href', template: "<a [ngClass]=\"[props.color]\" [class.hoverable]=\"props.hoverable\" [href]=\"props.url\" target=\"_blank\"\n (click)=\"onClickHandler($event)\">{{ props.text }}</a>", styles: [".primary{color:var(--ion-color-primary)}.secondary{color:var(--ion-color-secondary)}.dark{color:var(--ion-color-dark)}.medium{color:var(--ion-color-medium)}.hoverable{text-decoration:none}.hoverable:hover{text-decoration:underline}\n"] }]
542
- }], ctorParameters: () => [{ type: DownloadService }], propDecorators: { props: [{
543
- type: Input
544
- }], onClick: [{
545
- type: Output
546
- }] } });
547
-
548
- class ProgressBarComponent {
549
- constructor() {
550
- this.size = 'small';
551
- this.buffer = 1;
552
- this.type = 'determinate';
553
- this.rounded = false;
554
- }
555
- ngOnInit() { }
556
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
557
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ProgressBarComponent, selector: "val-progress-bar", inputs: { progress: "progress", size: "size", color: "color", buffer: "buffer", type: "type", rounded: "rounded" }, ngImport: i0, template: "<ion-progress-bar [ngClass]=\"[size]\" [class.rounded]=\"rounded\" [value]=\"progress\" [color]=\"color\" [buffer]=\"buffer\" [type]=\"type\"></ion-progress-bar>", styles: ["ion-progress-bar.rounded{border-radius:.5rem}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }] }); }
558
- }
559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ProgressBarComponent, decorators: [{
560
- type: Component,
561
- args: [{ selector: 'val-progress-bar', template: "<ion-progress-bar [ngClass]=\"[size]\" [class.rounded]=\"rounded\" [value]=\"progress\" [color]=\"color\" [buffer]=\"buffer\" [type]=\"type\"></ion-progress-bar>", styles: ["ion-progress-bar.rounded{border-radius:.5rem}.medium{height:.25rem}.large{height:.375rem}.xlarge{height:.5rem}\n"] }]
562
- }], ctorParameters: () => [], propDecorators: { progress: [{
563
- type: Input
564
- }], size: [{
565
- type: Input
566
- }], color: [{
567
- type: Input
568
- }], buffer: [{
569
- type: Input
570
- }], type: [{
571
- type: Input
572
- }], rounded: [{
573
- type: Input
574
- }] } });
575
-
576
- class ContentLoaderComponent {
577
- constructor() {
578
- this.color = 'primary';
579
- this.size = 'small';
580
- this.name = 'circular';
581
- }
582
- ngOnInit() { }
583
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ContentLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
584
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ContentLoaderComponent, selector: "val-content-loader", inputs: { color: "color", size: "size", name: "name", text: "text" }, ngImport: i0, template: "<div [ngClass]=\"['spinner-wrapper', size]\">\n <ion-spinner [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-spinner>\n <ion-text [color]=\"color\">\n <p>{{ text }}</p>\n </ion-text>\n</div>\n", styles: [".small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}.spinner-wrapper{width:100%;text-align:center}.spinner-wrapper.small{height:4.5rem;padding-top:1.5rem;font-size:.75rem;line-height:1.25rem;font-weight:400}.spinner-wrapper.medium{height:6.125rem;padding-top:2rem;font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.medium{font-size:1rem;line-height:1.5rem}}.spinner-wrapper.large{height:6.75rem;padding-top:2.625rem;font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.large{font-size:1.125rem;line-height:1.5rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
585
- }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ContentLoaderComponent, decorators: [{
587
- type: Component,
588
- args: [{ selector: 'val-content-loader', template: "<div [ngClass]=\"['spinner-wrapper', size]\">\n <ion-spinner [ngClass]=\"[size]\" [name]=\"name\" [color]=\"color\"></ion-spinner>\n <ion-text [color]=\"color\">\n <p>{{ text }}</p>\n </ion-text>\n</div>\n", styles: [".small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}.spinner-wrapper{width:100%;text-align:center}.spinner-wrapper.small{height:4.5rem;padding-top:1.5rem;font-size:.75rem;line-height:1.25rem;font-weight:400}.spinner-wrapper.medium{height:6.125rem;padding-top:2rem;font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.medium{font-size:1rem;line-height:1.5rem}}.spinner-wrapper.large{height:6.75rem;padding-top:2.625rem;font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.spinner-wrapper.large{font-size:1.125rem;line-height:1.5rem}}\n"] }]
589
- }], ctorParameters: () => [], propDecorators: { color: [{
590
- type: Input
591
- }], size: [{
592
- type: Input
593
- }], name: [{
594
- type: Input
595
- }], text: [{
596
- type: Input
597
- }] } });
598
-
599
- class LinkComponent {
600
- constructor() {
601
- this.onClick = new EventEmitter();
602
- }
603
- ngOnInit() { }
604
- onClickHandler() {
605
- this.onClick.emit();
606
- }
607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
608
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: LinkComponent, selector: "val-link", inputs: { text: "text", size: "size", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div>\n <ion-button type=\"button\" [color]=\"color\" fill=\"clear\" [size]=\"size\" (click)=\"onClickHandler()\">\n <ion-icon slot=\"end\" name=\"chevron-forward-outline\"></ion-icon>\n <ion-text>{{ text }}</ion-text>\n </ion-button>\n</div>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "component", type: i1$1.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: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
609
- }
610
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LinkComponent, decorators: [{
611
- type: Component,
612
- args: [{ selector: 'val-link', template: "<div>\n <ion-button type=\"button\" [color]=\"color\" fill=\"clear\" [size]=\"size\" (click)=\"onClickHandler()\">\n <ion-icon slot=\"end\" name=\"chevron-forward-outline\"></ion-icon>\n <ion-text>{{ text }}</ion-text>\n </ion-button>\n</div>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
613
- }], ctorParameters: () => [], propDecorators: { text: [{
614
- type: Input
615
- }], size: [{
616
- type: Input
617
- }], color: [{
618
- type: Input
619
- }], onClick: [{
620
- type: Output
621
- }] } });
622
-
623
- class SearchbarComponent {
624
- constructor() {
625
- this.focusEvent = new EventEmitter();
626
- this.blurEvent = new EventEmitter();
627
- this.filterEvent = new EventEmitter();
628
- }
629
- onSearch($event) {
630
- const searchTerm = $event.detail.value;
631
- this.filterEvent.emit(searchTerm);
632
- }
633
- onFocus() {
634
- this.focusEvent.emit();
635
- }
636
- onBlur() {
637
- this.blurEvent.emit();
638
- }
639
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
640
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: SearchbarComponent, selector: "app-searchbar", inputs: { disabled: "disabled" }, outputs: { focusEvent: "focusEvent", blurEvent: "blurEvent", filterEvent: "filterEvent" }, ngImport: i0, template: "<ion-searchbar mode=\"ios\" debounce=\"500\" placeholder=\"B\u00FAsqueda\" [disabled]=\"disabled\"\n showCancelButton=\"focus\" cancelButtonText=\"Cancelar\" (ionInput)=\"onSearch($event)\" \n (ionBlur)=\"onBlur()\" (ionFocus)=\"onFocus()\">\n</ion-searchbar>", styles: ["ion-searchbar{--cancel-button-color: var(--ion-color-dark);--background: var(--ion-color-light);font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "component", type: i1$1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i1$1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }] }); }
641
- }
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SearchbarComponent, decorators: [{
643
- type: Component,
644
- args: [{ selector: 'app-searchbar', template: "<ion-searchbar mode=\"ios\" debounce=\"500\" placeholder=\"B\u00FAsqueda\" [disabled]=\"disabled\"\n showCancelButton=\"focus\" cancelButtonText=\"Cancelar\" (ionInput)=\"onSearch($event)\" \n (ionBlur)=\"onBlur()\" (ionFocus)=\"onFocus()\">\n</ion-searchbar>", styles: ["ion-searchbar{--cancel-button-color: var(--ion-color-dark);--background: var(--ion-color-light);font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
645
- }], ctorParameters: () => [], propDecorators: { disabled: [{
646
- type: Input
647
- }], focusEvent: [{
648
- type: Output
649
- }], blurEvent: [{
650
- type: Output
651
- }], filterEvent: [{
652
- type: Output
653
- }] } });
654
-
655
- class ButtonGroupComponent {
656
- constructor() {
657
- this.position = 'left';
658
- this.columned = false;
659
- this.onClick = new EventEmitter();
660
- }
661
- ngOnInit() { }
662
- clickHandler(token) {
663
- this.onClick.emit(token);
664
- }
665
- get Position() {
666
- if (this.buttons.length === 1 && this.position === 'spaced') {
667
- return 'right';
668
- }
669
- return this.position;
670
- }
671
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
672
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonGroupComponent, selector: "val-button-group", inputs: { buttons: "buttons", position: "position", columned: "columned" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"['group-container', Position]\" [class.column]=\"columned\" style=\"width: 100%;\">\n <val-button *ngFor=\"let b of buttons\" [props]=\"b\" (click)=\"clickHandler(b?.token)\" [ngStyle]=\"{'width': buttons.length === 1 ? '100%' : 'auto'}\"></val-button>\n</div>\n", styles: ["val-button{display:inline-block}.group-container{width:100%}.group-container.left{text-align:left}.group-container.center{text-align:center}.group-container.right{text-align:right}.group-container.column{display:flex;flex-direction:column-reverse}.group-container.spaced{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }] }); }
673
- }
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonGroupComponent, decorators: [{
675
- type: Component,
676
- args: [{ selector: 'val-button-group', template: "<div [ngClass]=\"['group-container', Position]\" [class.column]=\"columned\" style=\"width: 100%;\">\n <val-button *ngFor=\"let b of buttons\" [props]=\"b\" (click)=\"clickHandler(b?.token)\" [ngStyle]=\"{'width': buttons.length === 1 ? '100%' : 'auto'}\"></val-button>\n</div>\n", styles: ["val-button{display:inline-block}.group-container{width:100%}.group-container.left{text-align:left}.group-container.center{text-align:center}.group-container.right{text-align:right}.group-container.column{display:flex;flex-direction:column-reverse}.group-container.spaced{display:flex;justify-content:space-between}\n"] }]
677
- }], ctorParameters: () => [], propDecorators: { buttons: [{
678
- type: Input
679
- }], position: [{
680
- type: Input
681
- }], columned: [{
682
- type: Input
683
- }], onClick: [{
684
- type: Output
685
- }] } });
686
-
687
- class TitleBlockComponent {
688
- constructor() {
689
- this.position = 'left';
690
- }
691
- ngOnInit() { }
692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TitleBlockComponent, selector: "val-title-block", inputs: { position: "position", title: "title", aboveTitle: "aboveTitle", bellowTitle: "bellowTitle" }, ngImport: i0, template: "<div [ngClass]=\"['titles-container', position]\">\n <val-title\n *ngIf=\"aboveTitle\"\n [size]=\"aboveTitle.size\"\n [color]=\"aboveTitle.color\"\n content=\"{{ aboveTitle.text | uppercase }}\"\n ></val-title>\n <val-display\n *ngIf=\"title\"\n [size]=\"title.size\"\n [color]=\"title.color\"\n [content]=\"title.text\"\n ></val-display>\n <val-title\n *ngIf=\"bellowTitle\"\n [size]=\"bellowTitle.size\"\n [color]=\"bellowTitle.color\"\n [content]=\"bellowTitle.text\"\n ></val-title>\n</div>\n", styles: ["val-button,val-title,val-display{display:inline-block}.titles-container{width:100%;padding:.25rem;display:flex;flex-direction:column;flex-wrap:wrap}.titles-container.left{align-content:flex-start;align-items:start}.titles-container.center{align-content:center;align-items:center;text-align:center}.titles-container.right{align-content:flex-end;align-items:end;text-align:end}@media (min-width: 768px){.titles-container{padding:.5rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["size", "color", "content"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["size", "color", "content"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] }); }
694
- }
695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TitleBlockComponent, decorators: [{
696
- type: Component,
697
- args: [{ selector: 'val-title-block', template: "<div [ngClass]=\"['titles-container', position]\">\n <val-title\n *ngIf=\"aboveTitle\"\n [size]=\"aboveTitle.size\"\n [color]=\"aboveTitle.color\"\n content=\"{{ aboveTitle.text | uppercase }}\"\n ></val-title>\n <val-display\n *ngIf=\"title\"\n [size]=\"title.size\"\n [color]=\"title.color\"\n [content]=\"title.text\"\n ></val-display>\n <val-title\n *ngIf=\"bellowTitle\"\n [size]=\"bellowTitle.size\"\n [color]=\"bellowTitle.color\"\n [content]=\"bellowTitle.text\"\n ></val-title>\n</div>\n", styles: ["val-button,val-title,val-display{display:inline-block}.titles-container{width:100%;padding:.25rem;display:flex;flex-direction:column;flex-wrap:wrap}.titles-container.left{align-content:flex-start;align-items:start}.titles-container.center{align-content:center;align-items:center;text-align:center}.titles-container.right{align-content:flex-end;align-items:end;text-align:end}@media (min-width: 768px){.titles-container{padding:.5rem}}\n"] }]
698
- }], ctorParameters: () => [], propDecorators: { position: [{
699
- type: Input
700
- }], title: [{
701
- type: Input
702
- }], aboveTitle: [{
703
- type: Input
704
- }], bellowTitle: [{
705
- type: Input
706
- }] } });
707
-
708
- class NotesBoxComponent {
709
- constructor() {
710
- this.color = 'light';
711
- this.size = 'small';
712
- }
713
- ngOnInit() { }
714
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NotesBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
715
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NotesBoxComponent, selector: "val-notes-box", inputs: { color: "color", textColor: "textColor", prefix: "prefix", text: "text", size: "size" }, ngImport: i0, template: "<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\" [leftBorder]=\"true\">\n <div [ngClass]=\"['content-container', size]\" body>\n <val-text [content]=\"prefix\" [size]=\"size\" [bold]=\"true\" [color]=\"textColor\"></val-text>\n <val-text [content]=\"text\" [size]=\"size\" [bold]=\"false\" [color]=\"textColor\"></val-text>\n </div>\n</val-box>\n", styles: [".content-container{display:inline-grid}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BoxComponent, selector: "val-box", inputs: ["color", "icon", "bordered", "leftBorder"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }] }); }
716
- }
717
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NotesBoxComponent, decorators: [{
718
- type: Component,
719
- args: [{ selector: 'val-notes-box', template: "<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\" [leftBorder]=\"true\">\n <div [ngClass]=\"['content-container', size]\" body>\n <val-text [content]=\"prefix\" [size]=\"size\" [bold]=\"true\" [color]=\"textColor\"></val-text>\n <val-text [content]=\"text\" [size]=\"size\" [bold]=\"false\" [color]=\"textColor\"></val-text>\n </div>\n</val-box>\n", styles: [".content-container{display:inline-grid}\n"] }]
720
- }], ctorParameters: () => [], propDecorators: { color: [{
721
- type: Input
722
- }], textColor: [{
723
- type: Input
724
- }], prefix: [{
725
- type: Input
726
- }], text: [{
727
- type: Input
728
- }], size: [{
729
- type: Input
730
- }] } });
731
-
732
- class AlertBoxComponent {
733
- constructor() {
734
- this.color = 'warning';
735
- this.icon = 'alert-circle-outline';
736
- this.bold = false;
737
- this.size = 'small';
738
- }
739
- ngOnInit() { }
740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AlertBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: AlertBoxComponent, selector: "val-alert-box", inputs: { color: "color", icon: "icon", text: "text", bold: "bold", size: "size" }, ngImport: i0, template: "<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\">\n <div class=\"content-container\" body>\n <val-icon [name]=\"icon\" [size]=\"size\"></val-icon>\n <val-text class=\"text\" [content]=\"text\" [size]=\"size\" [bold]=\"bold\"></val-text>\n </div>\n</val-box>\n", styles: [".text{margin-left:.25rem}.content-container{display:flex;align-items:flex-start}\n"], dependencies: [{ kind: "component", type: BoxComponent, selector: "val-box", inputs: ["color", "icon", "bordered", "leftBorder"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }, { kind: "component", type: IconComponent, selector: "val-icon", inputs: ["size", "color", "name"] }] }); }
742
- }
743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AlertBoxComponent, decorators: [{
744
- type: Component,
745
- args: [{ selector: 'val-alert-box', template: "<val-box [color]=\"color\" icon=\"\" [bordered]=\"false\">\n <div class=\"content-container\" body>\n <val-icon [name]=\"icon\" [size]=\"size\"></val-icon>\n <val-text class=\"text\" [content]=\"text\" [size]=\"size\" [bold]=\"bold\"></val-text>\n </div>\n</val-box>\n", styles: [".text{margin-left:.25rem}.content-container{display:flex;align-items:flex-start}\n"] }]
746
- }], ctorParameters: () => [], propDecorators: { color: [{
747
- type: Input
748
- }], icon: [{
749
- type: Input
750
- }], text: [{
751
- type: Input
752
- }], bold: [{
753
- type: Input
754
- }], size: [{
755
- type: Input
756
- }] } });
757
-
758
- class BannerComponent {
759
- constructor() {
760
- this.onClick = new EventEmitter();
761
- this.onClose = new EventEmitter();
762
- }
763
- ngOnInit() { }
764
- clickHandler(token) {
765
- this.onClick.emit(token);
766
- }
767
- closeHandler() {
768
- this.onClose.emit();
769
- }
770
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
771
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: BannerComponent, selector: "val-banner", inputs: { props: "props" }, outputs: { onClick: "onClick", onClose: "onClose" }, ngImport: i0, template: "<val-box\n [icon]=\"props.closable ? 'close-outline' : ''\"\n [bordered]=\"props.bordered\"\n (onClick)=\"closeHandler()\"\n>\n <div [ngClass]=\"['content-container', props.mode]\" body>\n <val-title-block\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n [aboveTitle]=\"props.content.aboveTitle\"\n [title]=\"props.content.title\"\n [bellowTitle]=\"props.content.bellowTitle\"\n ></val-title-block>\n <val-button-group\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n class=\"buttons-container\"\n [buttons]=\"props.actions\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n</val-box>\n", styles: [".content-container{display:flex;justify-content:space-between}.content-container.center{flex-direction:column}.content-container.column{flex-direction:row}.content-container.row,.content-container.hybrid{flex-direction:column}@media (min-width: 768px){.content-container.hybrid{flex-direction:row}}.buttons-container{align-items:center;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BoxComponent, selector: "val-box", inputs: ["color", "icon", "bordered", "leftBorder"], outputs: ["onClick"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["buttons", "position", "columned"], outputs: ["onClick"] }, { kind: "component", type: TitleBlockComponent, selector: "val-title-block", inputs: ["position", "title", "aboveTitle", "bellowTitle"] }] }); }
772
- }
773
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BannerComponent, decorators: [{
774
- type: Component,
775
- args: [{ selector: 'val-banner', template: "<val-box\n [icon]=\"props.closable ? 'close-outline' : ''\"\n [bordered]=\"props.bordered\"\n (onClick)=\"closeHandler()\"\n>\n <div [ngClass]=\"['content-container', props.mode]\" body>\n <val-title-block\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n [aboveTitle]=\"props.content.aboveTitle\"\n [title]=\"props.content.title\"\n [bellowTitle]=\"props.content.bellowTitle\"\n ></val-title-block>\n <val-button-group\n [position]=\"props.mode === 'center' ? 'center' : 'left'\"\n class=\"buttons-container\"\n [buttons]=\"props.actions\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n</val-box>\n", styles: [".content-container{display:flex;justify-content:space-between}.content-container.center{flex-direction:column}.content-container.column{flex-direction:row}.content-container.row,.content-container.hybrid{flex-direction:column}@media (min-width: 768px){.content-container.hybrid{flex-direction:row}}.buttons-container{align-items:center;display:flex}\n"] }]
776
- }], ctorParameters: () => [], propDecorators: { props: [{
777
- type: Input
778
- }], onClick: [{
779
- type: Output
780
- }], onClose: [{
781
- type: Output
782
- }] } });
783
-
784
- class NoContentComponent {
785
- constructor() {
786
- this.onClick = new EventEmitter();
787
- }
788
- ngOnInit() { }
789
- onClickHandler(token) {
790
- this.onClick.emit(token);
791
- }
792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NoContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NoContentComponent, selector: "val-no-content", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<val-image class=\"image-container\" [props]=\"props.image\"></val-image>\n<div>\n <val-banner [props]=\"props.content\" (onClick)=\"onClickHandler($event)\"></val-banner>\n</div>\n", styles: [".image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"], dependencies: [{ kind: "component", type: BannerComponent, selector: "val-banner", inputs: ["props"], outputs: ["onClick", "onClose"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }] }); }
794
- }
795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NoContentComponent, decorators: [{
796
- type: Component,
797
- args: [{ selector: 'val-no-content', template: "<val-image class=\"image-container\" [props]=\"props.image\"></val-image>\n<div>\n <val-banner [props]=\"props.content\" (onClick)=\"onClickHandler($event)\"></val-banner>\n</div>\n", styles: [".image-container{display:flex;justify-content:center;margin-bottom:1rem}val-image .image{margin:0 auto}\n"] }]
798
- }], ctorParameters: () => [], propDecorators: { props: [{
799
- type: Input
800
- }], onClick: [{
801
- type: Output
802
- }] } });
803
-
804
- class LinksCakeComponent {
805
- constructor() {
806
- this.size = 'small';
807
- }
808
- ngOnInit() { }
809
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LinksCakeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
810
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: LinksCakeComponent, selector: "val-links-cake", inputs: { title: "title", links: "links", size: "size" }, ngImport: i0, template: "<div>\n <div class=\"title\">\n <val-title color=\"dark\" [content]=\"title\" [size]=\"size\"></val-title>\n </div>\n <div class=\"link\" *ngFor=\"let l of links\">\n <val-href [props]=\"l\"></val-href>\n </div>\n</div>\n", styles: [".title{margin:1rem 0}.link{margin-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["size", "color", "content"] }, { kind: "component", type: HrefComponent, selector: "val-href", inputs: ["props"], outputs: ["onClick"] }] }); }
811
- }
812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LinksCakeComponent, decorators: [{
813
- type: Component,
814
- args: [{ selector: 'val-links-cake', template: "<div>\n <div class=\"title\">\n <val-title color=\"dark\" [content]=\"title\" [size]=\"size\"></val-title>\n </div>\n <div class=\"link\" *ngFor=\"let l of links\">\n <val-href [props]=\"l\"></val-href>\n </div>\n</div>\n", styles: [".title{margin:1rem 0}.link{margin-bottom:.5rem}\n"] }]
815
- }], ctorParameters: () => [], propDecorators: { title: [{
816
- type: Input
817
- }], links: [{
818
- type: Input
819
- }], size: [{
820
- type: Input
821
- }] } });
822
-
823
- class ProgressStatusComponent {
824
- constructor() {
825
- this.currentIndex = 0;
826
- this.blinking = false;
827
- }
828
- ngOnInit() {
829
- setInterval(() => {
830
- this.blinking = !this.blinking;
831
- }, 1000);
832
- setInterval(() => {
833
- this.getNextMessage();
834
- }, 9000);
835
- }
836
- get Content() {
837
- return this.props.messages[this.currentIndex];
838
- }
839
- getNextMessage() {
840
- this.currentIndex = (this.currentIndex + 1) % this.props.messages.length;
841
- }
842
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ProgressStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
843
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ProgressStatusComponent, selector: "val-progress-status", inputs: { props: "props" }, ngImport: i0, template: "<div class=\"status-container\">\n <div class=\"title-container\">\n <val-title-block\n position=\"center\"\n [aboveTitle]=\"props.titles.aboveTitle\"\n [title]=\"props.titles.title\"\n [bellowTitle]=\"props.titles.bellowTitle\"\n ></val-title-block>\n </div>\n <div class=\"progress-bar-container\">\n <val-progress-bar\n [progress]=\"props.progress\"\n size=\"xlarge\"\n [color]=\"props.color\"\n [rounded]=\"true\"\n ></val-progress-bar>\n </div>\n <div class=\"subtitle-container\">\n <div class=\"subtitle\" [class.blink]=\"blinking\"><val-text [content]=\"Content\" color=\"medium\"></val-text></div>\n </div>\n</div>\n", styles: [".status-container{min-height:6.25rem;margin:1rem .5rem}.progress-bar-container{max-width:60%;margin:0 auto}.title-container{margin-bottom:.5rem}.subtitle-container{width:100%;display:flex}.subtitle{padding:1rem;margin:0 auto;height:1rem}.blink{animation:blink 1s infinite alternate ease-in}@keyframes blink{0%{opacity:0;margin-top:6px}to{opacity:1;margin-top:0}}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }, { kind: "component", type: TitleBlockComponent, selector: "val-title-block", inputs: ["position", "title", "aboveTitle", "bellowTitle"] }, { kind: "component", type: ProgressBarComponent, selector: "val-progress-bar", inputs: ["progress", "size", "color", "buffer", "type", "rounded"] }] }); }
844
- }
845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ProgressStatusComponent, decorators: [{
846
- type: Component,
847
- args: [{ selector: 'val-progress-status', template: "<div class=\"status-container\">\n <div class=\"title-container\">\n <val-title-block\n position=\"center\"\n [aboveTitle]=\"props.titles.aboveTitle\"\n [title]=\"props.titles.title\"\n [bellowTitle]=\"props.titles.bellowTitle\"\n ></val-title-block>\n </div>\n <div class=\"progress-bar-container\">\n <val-progress-bar\n [progress]=\"props.progress\"\n size=\"xlarge\"\n [color]=\"props.color\"\n [rounded]=\"true\"\n ></val-progress-bar>\n </div>\n <div class=\"subtitle-container\">\n <div class=\"subtitle\" [class.blink]=\"blinking\"><val-text [content]=\"Content\" color=\"medium\"></val-text></div>\n </div>\n</div>\n", styles: [".status-container{min-height:6.25rem;margin:1rem .5rem}.progress-bar-container{max-width:60%;margin:0 auto}.title-container{margin-bottom:.5rem}.subtitle-container{width:100%;display:flex}.subtitle{padding:1rem;margin:0 auto;height:1rem}.blink{animation:blink 1s infinite alternate ease-in}@keyframes blink{0%{opacity:0;margin-top:6px}to{opacity:1;margin-top:0}}\n"] }]
848
- }], ctorParameters: () => [], propDecorators: { props: [{
849
- type: Input
850
- }] } });
851
-
852
- class CheckInputComponent {
853
- constructor() { }
854
- ngOnInit() { }
855
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
856
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CheckInputComponent, selector: "val-check-input", ngImport: i0, template: "<ion-checkbox>I agree to the terms and conditions</ion-checkbox>", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "directive", type: i1$1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }] }); }
857
- }
858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CheckInputComponent, decorators: [{
859
- type: Component,
860
- args: [{ selector: 'val-check-input', template: "<ion-checkbox>I agree to the terms and conditions</ion-checkbox>" }]
861
- }], ctorParameters: () => [] });
862
-
863
- class CommentInputComponent {
864
- constructor() { }
865
- ngOnInit() { }
866
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CommentInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
867
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CommentInputComponent, selector: "val-comment-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<ion-textarea [formControl]=\"control\" [counter]=\"true\" [maxlength]=\"metadata.range.max\"></ion-textarea>", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "directive", type: i1$1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
868
- }
869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CommentInputComponent, decorators: [{
870
- type: Component,
871
- args: [{ selector: 'val-comment-input', template: "<ion-textarea [formControl]=\"control\" [counter]=\"true\" [maxlength]=\"metadata.range.max\"></ion-textarea>" }]
872
- }], ctorParameters: () => [], propDecorators: { control: [{
873
- type: Input
874
- }], metadata: [{
875
- type: Input
876
- }] } });
877
-
878
- class DateInputComponent {
879
- constructor() {
880
- }
881
- ngOnInit() { }
882
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
883
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: DateInputComponent, selector: "val-date-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<div class=\"button-container\">\n <ion-datetime-button class=\"action\" datetime=\"datetime\"></ion-datetime-button>\n</div>\n<ion-modal [keepContentsMounted]=\"true\">\n <ng-template>\n <ion-datetime\n [formControl]=\"control\"\n id=\"datetime\"\n presentation=\"date\"\n locale=\"es-ES\"\n [firstDayOfWeek]=\"1\"\n [showDefaultButtons]=\"true\"\n doneText=\"Aceptar\"\n cancelText=\"Cancelar\"\n [formatOptions]=\"{\n date: { weekday: 'short', month: 'long', day: '2-digit', },\n time: {\n hour: '2-digit',\n minute: '2-digit',\n },\n }\"\n >\n <span slot=\"title\">{{ metadata.hint }}</span>\n </ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.button-container{display:flex;flex-direction:column;align-items:flex-start}.action{margin-top:.25rem}\n"], dependencies: [{ kind: "component", type: i1$1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i1$1.IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: i1$1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1$1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
884
- }
885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DateInputComponent, decorators: [{
886
- type: Component,
887
- args: [{ selector: 'val-date-input', template: "<div class=\"button-container\">\n <ion-datetime-button class=\"action\" datetime=\"datetime\"></ion-datetime-button>\n</div>\n<ion-modal [keepContentsMounted]=\"true\">\n <ng-template>\n <ion-datetime\n [formControl]=\"control\"\n id=\"datetime\"\n presentation=\"date\"\n locale=\"es-ES\"\n [firstDayOfWeek]=\"1\"\n [showDefaultButtons]=\"true\"\n doneText=\"Aceptar\"\n cancelText=\"Cancelar\"\n [formatOptions]=\"{\n date: { weekday: 'short', month: 'long', day: '2-digit', },\n time: {\n hour: '2-digit',\n minute: '2-digit',\n },\n }\"\n >\n <span slot=\"title\">{{ metadata.hint }}</span>\n </ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.button-container{display:flex;flex-direction:column;align-items:flex-start}.action{margin-top:.25rem}\n"] }]
888
- }], ctorParameters: () => [], propDecorators: { control: [{
889
- type: Input
890
- }], metadata: [{
891
- type: Input
892
- }] } });
893
-
894
- class EmailInputComponent {
895
- constructor() { }
896
- ngOnInit() { }
897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EmailInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
898
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EmailInputComponent, selector: "val-email-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<ion-input\n [formControl]=\"control\"\n type=\"email\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>\n\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1$1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
899
- }
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EmailInputComponent, decorators: [{
901
- type: Component,
902
- args: [{ selector: 'val-email-input', template: "<ion-input\n [formControl]=\"control\"\n type=\"email\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>\n\n" }]
903
- }], ctorParameters: () => [], propDecorators: { control: [{
904
- type: Input
905
- }], metadata: [{
906
- type: Input
907
- }] } });
908
-
909
- class FileInputComponent {
910
- constructor() {
911
- this.contrastButton = {
912
- ...PrimarySolidDefaultRoundButton('Subir archivo'),
913
- color: 'light',
914
- };
915
- }
916
- ngOnInit() { }
917
- onFileSelected(event) {
918
- this.selectedFile = event.target.files[0];
919
- this.control.setValue(this.selectedFile);
920
- }
921
- reset() {
922
- this.selectedFile = null;
923
- this.fileInput.nativeElement.value = '';
924
- }
925
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
926
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FileInputComponent, selector: "val-file-input", inputs: { control: "control", metadata: "metadata" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"file-container\">\n <input style=\"display: none\" type=\"file\" (change)=\"onFileSelected($event)\" #fileInput>\n <div class=\"name-container\">\n <ion-icon [name]=\"selectedFile ? 'checkmark-circle-outline' : 'alert-circle-outline'\"></ion-icon>\n <val-text style=\"margin-left: 4px;\" color=\"dark\" size=\"medium\" [content]=\"selectedFile ? selectedFile.name : 'No has seleccionado archivo'\"></val-text>\n </div>\n <val-button [props]=\"contrastButton\" (onClick)=\"fileInput.click()\"></val-button>\n</div>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.file-container{margin-top:.25rem}.name-container{display:flex;flex-direction:row;align-items:flex-start}\n"], dependencies: [{ kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }] }); }
927
- }
928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FileInputComponent, decorators: [{
929
- type: Component,
930
- args: [{ selector: 'val-file-input', template: "<div class=\"file-container\">\n <input style=\"display: none\" type=\"file\" (change)=\"onFileSelected($event)\" #fileInput>\n <div class=\"name-container\">\n <ion-icon [name]=\"selectedFile ? 'checkmark-circle-outline' : 'alert-circle-outline'\"></ion-icon>\n <val-text style=\"margin-left: 4px;\" color=\"dark\" size=\"medium\" [content]=\"selectedFile ? selectedFile.name : 'No has seleccionado archivo'\"></val-text>\n </div>\n <val-button [props]=\"contrastButton\" (onClick)=\"fileInput.click()\"></val-button>\n</div>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.file-container{margin-top:.25rem}.name-container{display:flex;flex-direction:row;align-items:flex-start}\n"] }]
931
- }], ctorParameters: () => [], propDecorators: { fileInput: [{
932
- type: ViewChild,
933
- args: ['fileInput']
934
- }], control: [{
935
- type: Input
936
- }], metadata: [{
937
- type: Input
938
- }] } });
939
-
940
- class HintComponent {
941
- constructor() { }
942
- ngOnInit() { }
943
- get Errors() {
944
- const keys = Object.keys(this.metadata.errors);
945
- const errors = [];
946
- keys.map((e) => {
947
- if (this.control.hasError(e)) {
948
- errors.push(this.metadata.errors[e]);
949
- }
950
- });
951
- return errors;
952
- }
953
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
954
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: HintComponent, selector: "val-hint", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<div class=\"hint-container\" *ngIf=\"control.invalid && (control.touched || control.dirty)\">\n <val-text *ngFor=\"let e of Errors\" color=\"danger\" [content]=\"e\" size=\"small\"></val-text>\n</div>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.hint-container{margin-top:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }] }); }
955
- }
956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HintComponent, decorators: [{
957
- type: Component,
958
- args: [{ selector: 'val-hint', template: "<div class=\"hint-container\" *ngIf=\"control.invalid && (control.touched || control.dirty)\">\n <val-text *ngFor=\"let e of Errors\" color=\"danger\" [content]=\"e\" size=\"small\"></val-text>\n</div>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.hint-container{margin-top:.25rem}\n"] }]
959
- }], ctorParameters: () => [], propDecorators: { control: [{
960
- type: Input
961
- }], metadata: [{
962
- type: Input
963
- }] } });
964
-
965
- class HourInputComponent {
966
- constructor() { }
967
- ngOnInit() { }
968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HourInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
969
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: HourInputComponent, selector: "val-hour-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "\n<ion-datetime [formControl]=\"control\" presentation=\"time\"></ion-datetime>", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "directive", type: i1$1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
970
- }
971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HourInputComponent, decorators: [{
972
- type: Component,
973
- args: [{ selector: 'val-hour-input', template: "\n<ion-datetime [formControl]=\"control\" presentation=\"time\"></ion-datetime>" }]
974
- }], ctorParameters: () => [], propDecorators: { control: [{
975
- type: Input
976
- }], metadata: [{
977
- type: Input
978
- }] } });
979
-
980
- class NumberInputComponent {
981
- constructor() { }
982
- ngOnInit() { }
983
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
984
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NumberInputComponent, selector: "val-number-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<ion-input\n [formControl]=\"control\"\n type=\"number\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1$1.NumericValueAccessor, selector: "ion-input[type=number]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
985
- }
986
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NumberInputComponent, decorators: [{
987
- type: Component,
988
- args: [{ selector: 'val-number-input', template: "<ion-input\n [formControl]=\"control\"\n type=\"number\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>" }]
989
- }], ctorParameters: () => [], propDecorators: { control: [{
990
- type: Input
991
- }], metadata: [{
992
- type: Input
993
- }] } });
994
-
995
- class PasswordInputComponent {
996
- constructor() {
997
- this.hidePassword = true;
998
- }
999
- ngOnInit() { }
1000
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1001
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: PasswordInputComponent, selector: "val-password-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<div class=\"input-container\">\n <ion-input\n class=\"sign-in__input-password\"\n [formControl]=\"control\"\n [type]=\"hidePassword ? 'password' : 'text'\"\n [placeholder]=\"metadata.placeholder\"\n ></ion-input>\n <ion-button color=\"dark\" fill=\"clear\" (click)=\"hidePassword = !hidePassword\" size=\"small\">\n <ion-icon slot=\"icon-only\" [name]=\"hidePassword ? 'eye-off-outline' : 'eye-outline'\"></ion-icon>\n </ion-button>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.input-container{display:flex;align-items:center;flex-direction:row}\n"], dependencies: [{ kind: "component", type: i1$1.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: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1$1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1$1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1002
- }
1003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PasswordInputComponent, decorators: [{
1004
- type: Component,
1005
- args: [{ selector: 'val-password-input', template: "<div class=\"input-container\">\n <ion-input\n class=\"sign-in__input-password\"\n [formControl]=\"control\"\n [type]=\"hidePassword ? 'password' : 'text'\"\n [placeholder]=\"metadata.placeholder\"\n ></ion-input>\n <ion-button color=\"dark\" fill=\"clear\" (click)=\"hidePassword = !hidePassword\" size=\"small\">\n <ion-icon slot=\"icon-only\" [name]=\"hidePassword ? 'eye-off-outline' : 'eye-outline'\"></ion-icon>\n </ion-button>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.input-container{display:flex;align-items:center;flex-direction:row}\n"] }]
1006
- }], ctorParameters: () => [], propDecorators: { control: [{
1007
- type: Input
1008
- }], metadata: [{
1009
- type: Input
1010
- }] } });
1011
-
1012
- class PinInputComponent {
1013
- constructor() {
1014
- this.codeLength = 5;
1015
- this.otpInputConfig = {
1016
- inputStyles: {
1017
- 'font-size': '36px',
1018
- width: '55px',
1019
- height: '55px',
1020
- },
1021
- inputClass: 'otp-input-box',
1022
- length: this.codeLength,
1023
- allowNumbersOnly: true,
1024
- };
1025
- }
1026
- ngOnInit() { }
1027
- reset() {
1028
- if (this.pinCode) {
1029
- this.pinCode.setValue('');
1030
- }
1031
- }
1032
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PinInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1033
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: PinInputComponent, selector: "val-pin-input", inputs: { control: "control", metadata: "metadata" }, viewQueries: [{ propertyName: "pinCode", first: true, predicate: NgOtpInputComponent, descendants: true }], ngImport: i0, template: "<div class=\"otp\">\n <ng-otp-input [formCtrl]=\"control\" [config]=\"otpInputConfig\"></ng-otp-input>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.otp{text-align:center;margin-top:.25rem;font-family:var(--ion-default-font),Arial,sans-serif}.otp-input-box:focus{border-color:#0ff}\n"], dependencies: [{ kind: "component", type: i1$2.NgOtpInputComponent, selector: "ng-otp-input", inputs: ["config", "formCtrl"], outputs: ["onInputChange"] }] }); }
1034
- }
1035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PinInputComponent, decorators: [{
1036
- type: Component,
1037
- args: [{ selector: 'val-pin-input', template: "<div class=\"otp\">\n <ng-otp-input [formCtrl]=\"control\" [config]=\"otpInputConfig\"></ng-otp-input>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.otp{text-align:center;margin-top:.25rem;font-family:var(--ion-default-font),Arial,sans-serif}.otp-input-box:focus{border-color:#0ff}\n"] }]
1038
- }], ctorParameters: () => [], propDecorators: { pinCode: [{
1039
- type: ViewChild,
1040
- args: [NgOtpInputComponent, { static: false }]
1041
- }], control: [{
1042
- type: Input
1043
- }], metadata: [{
1044
- type: Input
1045
- }] } });
1046
-
1047
- class PrompterComponent {
1048
- constructor() {
1049
- this.onClick = new EventEmitter();
1050
- }
1051
- ngOnInit() { }
1052
- clickHandler(token) {
1053
- this.onClick.emit(token);
1054
- }
1055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PrompterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: PrompterComponent, selector: "val-prompter", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<val-box [color]=\"props.color\" class=\"teleprompter-container\" [bordered]=\"props.bordered\">\n <div class=\"container\" [class.teleprompter-content]=\"props.teleprompter\" body>\n <div>\n <val-text [content]=\"props.content\" size=\"large\" [bold]=\"true\"></val-text>\n </div>\n <div *ngIf=\"props.buttons\">\n <val-button-group\n class=\"buttons-container\"\n [buttons]=\"props.buttons\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n <div *ngIf=\"props.hrefs\">\n <val-href class=\"link\" *ngFor=\"let l of props.hrefs\" [props]=\"l\" (onClick)=\"clickHandler($event)\"></val-href>\n </div>\n </div>\n</val-box>\n", styles: ["@charset \"UTF-8\";.container{display:flex;align-items:center;justify-content:center}.teleprompter-container{overflow:hidden;width:100%}.teleprompter-content{white-space:nowrap;animation:scroll-left 15s linear infinite}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.link{margin:0 .25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BoxComponent, selector: "val-box", inputs: ["color", "icon", "bordered", "leftBorder"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["buttons", "position", "columned"], outputs: ["onClick"] }, { kind: "component", type: HrefComponent, selector: "val-href", inputs: ["props"], outputs: ["onClick"] }] }); }
1057
- }
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PrompterComponent, decorators: [{
1059
- type: Component,
1060
- args: [{ selector: 'val-prompter', template: "<val-box [color]=\"props.color\" class=\"teleprompter-container\" [bordered]=\"props.bordered\">\n <div class=\"container\" [class.teleprompter-content]=\"props.teleprompter\" body>\n <div>\n <val-text [content]=\"props.content\" size=\"large\" [bold]=\"true\"></val-text>\n </div>\n <div *ngIf=\"props.buttons\">\n <val-button-group\n class=\"buttons-container\"\n [buttons]=\"props.buttons\"\n (onClick)=\"clickHandler($event)\"\n ></val-button-group>\n </div>\n <div *ngIf=\"props.hrefs\">\n <val-href class=\"link\" *ngFor=\"let l of props.hrefs\" [props]=\"l\" (onClick)=\"clickHandler($event)\"></val-href>\n </div>\n </div>\n</val-box>\n", styles: ["@charset \"UTF-8\";.container{display:flex;align-items:center;justify-content:center}.teleprompter-container{overflow:hidden;width:100%}.teleprompter-content{white-space:nowrap;animation:scroll-left 15s linear infinite}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.link{margin:0 .25rem}\n"] }]
1061
- }], ctorParameters: () => [], propDecorators: { props: [{
1062
- type: Input
1063
- }], onClick: [{
1064
- type: Output
1065
- }] } });
1066
-
1067
- class RadioInputComponent {
1068
- constructor() { }
1069
- ngOnInit() { }
1070
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RadioInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1071
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: RadioInputComponent, selector: "val-radio-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<ion-radio-group [allowEmptySelection]=\"true\" [formControl]=\"control\">\n <ng-container *ngFor=\"let o of metadata.options\">\n <ion-radio [value]=\"o.id\">{{ o.name }}</ion-radio>\n <br />\n </ng-container>\n</ion-radio-group>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i1$1.IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "component", type: i1$1.IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "name", "value"] }, { kind: "directive", type: i1$1.RadioValueAccessor, selector: "ion-radio" }, { kind: "directive", type: i1$1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1072
- }
1073
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RadioInputComponent, decorators: [{
1074
- type: Component,
1075
- args: [{ selector: 'val-radio-input', template: "<ion-radio-group [allowEmptySelection]=\"true\" [formControl]=\"control\">\n <ng-container *ngFor=\"let o of metadata.options\">\n <ion-radio [value]=\"o.id\">{{ o.name }}</ion-radio>\n <br />\n </ng-container>\n</ion-radio-group>\n" }]
1076
- }], ctorParameters: () => [], propDecorators: { control: [{
1077
- type: Input
1078
- }], metadata: [{
1079
- type: Input
1080
- }] } });
1081
-
1082
- class TextInputComponent {
1083
- constructor() {
1084
- }
1085
- ngOnInit() { }
1086
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1087
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TextInputComponent, selector: "val-text-input", inputs: { control: "control", metadata: "metadata" }, ngImport: i0, template: "<ion-input\n [formControl]=\"control\"\n type=\"text\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"], dependencies: [{ kind: "component", type: i1$1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1$1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1088
- }
1089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TextInputComponent, decorators: [{
1090
- type: Component,
1091
- args: [{ selector: 'val-text-input', template: "<ion-input\n [formControl]=\"control\"\n type=\"text\"\n [placeholder]=\"metadata.placeholder\"\n></ion-input>", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"] }]
1092
- }], ctorParameters: () => [], propDecorators: { control: [{
1093
- type: Input
1094
- }], metadata: [{
1095
- type: Input
1096
- }] } });
1097
-
1098
- var CardType;
1099
- (function (CardType) {
1100
- CardType["native"] = "native";
1101
- CardType["checker"] = "checker";
1102
- CardType["tappable"] = "tappable";
1103
- CardType["complex"] = "complex";
1104
- })(CardType || (CardType = {}));
1105
- var CardSection;
1106
- (function (CardSection) {
1107
- CardSection[CardSection["headerLeft"] = 0] = "headerLeft";
1108
- CardSection[CardSection["headerRight"] = 1] = "headerRight";
1109
- CardSection[CardSection["content"] = 2] = "content";
1110
- CardSection[CardSection["footer"] = 3] = "footer";
1111
- CardSection[CardSection["footerExtra"] = 4] = "footerExtra";
1112
- })(CardSection || (CardSection = {}));
1113
-
1114
- var ToolbarActionType;
1115
- (function (ToolbarActionType) {
1116
- ToolbarActionType["AVATAR"] = "AVATAR";
1117
- ToolbarActionType["ICON"] = "ICON";
1118
- ToolbarActionType["IMAGE"] = "IMAGE";
1119
- ToolbarActionType["BUTTON"] = "BUTTON";
1120
- })(ToolbarActionType || (ToolbarActionType = {}));
1121
-
1122
- class CardComponent {
1123
- constructor() {
1124
- this.onClick = new EventEmitter();
1125
- this.types = CardType;
1126
- this.actionTypes = ToolbarActionType;
1127
- this.sections = CardSection;
1128
- }
1129
- ngOnInit() { }
1130
- clickHandler(section, token) {
1131
- this.onClick.emit({ section, token });
1132
- }
1133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CardComponent, selector: "val-card", inputs: { metadata: "metadata" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-card *ngIf=\"metadata.type === types.native\">\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\">\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n\n <val-button *ngFor=\"let b of metadata.footerActions\" [props]=\"b\" (click)=\"clickHandler(sections.footer, b.token)\"></val-button>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.tappable\" (click)=\"clickHandler(sections.content, metadata.token)\" class=\"tapable\">\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\">\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.checker\" (click)=\"clickHandler(sections.content, metadata.token)\" class=\"tapable\">\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\" class=\"checker\">\n <div>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n </div>\n <div>\n <ion-checkbox [checked]=\"metadata.selected\"></ion-checkbox>\n </div>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.complex\" class=\"complex\">\n <ion-card-header class=\"complex-header\">\n <ion-buttons style=\"display: flex; align-items: center\" *ngIf=\"metadata.leftActions.length > 0\">\n <ng-container *ngFor=\"let action of metadata.leftActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.headerLeft, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.headerLeft, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.headerLeft, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.headerLeft, action.token)\">\n {{ action.description }}\n </ion-button>\n <div *ngIf=\"metadata.headerText\">\n <val-text [content]=\"metadata.headerText\" color=\"dark\" [bold]=\"true\" size=\"medium\"></val-text>\n </div>\n </ng-container>\n </ion-buttons>\n <ion-buttons style=\"display: flex; align-items: center\" *ngIf=\"metadata.rightActions.length > 0\">\n <ng-container *ngFor=\"let action of metadata.rightActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.headerRight, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.headerRight, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.headerRight, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.headerRight, action.token)\">\n {{ action.description }}\n </ion-button>\n </ng-container>\n </ion-buttons>\n </ion-card-header>\n\n <div class=\"tapable\" (click)=\"clickHandler(sections.content, metadata.token)\">\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\" class=\"complex-header\">\n <div>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n </div>\n </ion-card-header>\n\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-content *ngIf=\"metadata.content\" class=\"complex-content\">{{ metadata.content }}</ion-card-content>\n </div>\n <val-button *ngFor=\"let b of metadata.footerActions\" [props]=\"b\" (click)=\"clickHandler(sections.footer, b.token)\"></val-button>\n <ion-buttons\n style=\"display: flex; align-items: center; justify-content: flex-end; margin: 8px\"\n *ngIf=\"metadata.footerComplexActions.length > 0\"\n >\n <ng-container *ngFor=\"let action of metadata.footerComplexActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.footerExtra, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.footerExtra, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.footerExtra, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.footerExtra, action.token)\" color=\"dark\">\n {{ action.description }}\n </ion-button>\n </ng-container>\n </ion-buttons>\n</ion-card>\n", styles: [".tapable{cursor:pointer}.checker{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-header{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-content{padding-left:10px;padding-top:4px;padding-bottom:10px}.complex{border-radius:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.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: i1$1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1$1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1$1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1$1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1$1.IonCardSubtitle, selector: "ion-card-subtitle", inputs: ["color", "mode"] }, { kind: "component", type: i1$1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1$1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1$1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["size", "color", "content", "bold"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["image", "default", "size", "box"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }] }); }
1135
- }
1136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CardComponent, decorators: [{
1137
- type: Component,
1138
- args: [{ selector: 'val-card', template: "<ion-card *ngIf=\"metadata.type === types.native\">\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\">\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n\n <val-button *ngFor=\"let b of metadata.footerActions\" [props]=\"b\" (click)=\"clickHandler(sections.footer, b.token)\"></val-button>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.tappable\" (click)=\"clickHandler(sections.content, metadata.token)\" class=\"tapable\">\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\">\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.checker\" (click)=\"clickHandler(sections.content, metadata.token)\" class=\"tapable\">\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\" class=\"checker\">\n <div>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n </div>\n <div>\n <ion-checkbox [checked]=\"metadata.selected\"></ion-checkbox>\n </div>\n </ion-card-header>\n\n <ion-card-content *ngIf=\"metadata.content\">{{ metadata.content }}</ion-card-content>\n</ion-card>\n\n<ion-card *ngIf=\"metadata.type === types.complex\" class=\"complex\">\n <ion-card-header class=\"complex-header\">\n <ion-buttons style=\"display: flex; align-items: center\" *ngIf=\"metadata.leftActions.length > 0\">\n <ng-container *ngFor=\"let action of metadata.leftActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.headerLeft, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.headerLeft, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.headerLeft, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.headerLeft, action.token)\">\n {{ action.description }}\n </ion-button>\n <div *ngIf=\"metadata.headerText\">\n <val-text [content]=\"metadata.headerText\" color=\"dark\" [bold]=\"true\" size=\"medium\"></val-text>\n </div>\n </ng-container>\n </ion-buttons>\n <ion-buttons style=\"display: flex; align-items: center\" *ngIf=\"metadata.rightActions.length > 0\">\n <ng-container *ngFor=\"let action of metadata.rightActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.headerRight, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.headerRight, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.headerRight, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.headerRight, action.token)\">\n {{ action.description }}\n </ion-button>\n </ng-container>\n </ion-buttons>\n </ion-card-header>\n\n <div class=\"tapable\" (click)=\"clickHandler(sections.content, metadata.token)\">\n <ion-card-header *ngIf=\"metadata.title || metadata.overtitle\" class=\"complex-header\">\n <div>\n <ion-card-subtitle *ngIf=\"metadata.overtitle\">{{ metadata.overtitle }}</ion-card-subtitle>\n <ion-card-title *ngIf=\"metadata.title\">{{ metadata.title }}</ion-card-title>\n </div>\n </ion-card-header>\n\n <img alt=\"image\" [src]=\"metadata.image\" />\n <ion-card-content *ngIf=\"metadata.content\" class=\"complex-content\">{{ metadata.content }}</ion-card-content>\n </div>\n <val-button *ngFor=\"let b of metadata.footerActions\" [props]=\"b\" (click)=\"clickHandler(sections.footer, b.token)\"></val-button>\n <ion-buttons\n style=\"display: flex; align-items: center; justify-content: flex-end; margin: 8px\"\n *ngIf=\"metadata.footerComplexActions.length > 0\"\n >\n <ng-container *ngFor=\"let action of metadata.footerComplexActions\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(sections.footerExtra, action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n style=\"margin-right: 4px; cursor: pointer\"\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(sections.footerExtra, action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(sections.footerExtra, action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(sections.footerExtra, action.token)\" color=\"dark\">\n {{ action.description }}\n </ion-button>\n </ng-container>\n </ion-buttons>\n</ion-card>\n", styles: [".tapable{cursor:pointer}.checker{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-header{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.complex-content{padding-left:10px;padding-top:4px;padding-bottom:10px}.complex{border-radius:16px}\n"] }]
1139
- }], ctorParameters: () => [], propDecorators: { metadata: [{
1140
- type: Input
1141
- }], onClick: [{
1142
- type: Output
1143
- }] } });
1144
-
1145
- class ToolbarComponent {
1146
- constructor(navCtrl) {
1147
- this.navCtrl = navCtrl;
1148
- this.actionTypes = ToolbarActionType;
1149
- this.onClick = new EventEmitter();
1150
- }
1151
- ngOnInit() { }
1152
- goBack() {
1153
- this.navCtrl.back();
1154
- }
1155
- rightActions() {
1156
- return this.props.actions.filter((x) => x.position === 'right');
1157
- }
1158
- leftActions() {
1159
- return this.props.actions.filter((x) => x.position === 'left');
1160
- }
1161
- someInRight() {
1162
- return !!this.props.actions.find((x) => x.position === 'right');
1163
- }
1164
- someInLeft() {
1165
- return !!this.props.actions.find((x) => x.position === 'left');
1166
- }
1167
- clickHandler(token) {
1168
- this.onClick.emit(token);
1169
- }
1170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1$1.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
1171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ToolbarComponent, selector: "val-toolbar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-toolbar [color]=\"props.color\" [class.background]=\"props.color === 'background'\">\n <ng-container *ngIf=\"props.withBack\">\n <ion-buttons class=\"left-buttons\" slot=\"start\" *ngIf=\"props.withBack\">\n <ion-button fill=\"clear\" (click)=\"goBack()\" [color]=\"props.textColor\">\n <ion-icon name=\"chevron-back-outline\" [slot]=\"props.backText ? 'start' : 'icon-only'\"></ion-icon>\n <ion-text *ngIf=\"props.backText\">{{ props.backText }}</ion-text>\n </ion-button>\n </ion-buttons>\n </ng-container>\n <ng-container *ngIf=\"props.withActions\">\n <ion-buttons slot=\"end\" *ngIf=\"someInRight()\">\n <ng-container *ngFor=\"let action of rightActions()\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(action.token)\">{{ action.description }}</ion-button>\n </ng-container>\n </ion-buttons>\n <ion-buttons slot=\"start\" *ngIf=\"someInLeft()\">\n <ng-container *ngFor=\"let action of leftActions()\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(action.token)\">{{ action.description }}</ion-button>\n </ng-container>\n </ion-buttons>\n </ng-container>\n <ion-title *ngIf=\"props.title\" [color]=\"props.textColor\">{{ props.title }}</ion-title>\n <!-- experimental -->\n <ng-content select=\"[toolbar-bottom]\"></ng-content>\n</ion-toolbar>\n", 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: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.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: i1$1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1$1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1$1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["image", "default", "size", "box"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }] }); }
1172
- }
1173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ToolbarComponent, decorators: [{
1174
- type: Component,
1175
- args: [{ selector: 'val-toolbar', template: "<ion-toolbar [color]=\"props.color\" [class.background]=\"props.color === 'background'\">\n <ng-container *ngIf=\"props.withBack\">\n <ion-buttons class=\"left-buttons\" slot=\"start\" *ngIf=\"props.withBack\">\n <ion-button fill=\"clear\" (click)=\"goBack()\" [color]=\"props.textColor\">\n <ion-icon name=\"chevron-back-outline\" [slot]=\"props.backText ? 'start' : 'icon-only'\"></ion-icon>\n <ion-text *ngIf=\"props.backText\">{{ props.backText }}</ion-text>\n </ion-button>\n </ion-buttons>\n </ng-container>\n <ng-container *ngIf=\"props.withActions\">\n <ion-buttons slot=\"end\" *ngIf=\"someInRight()\">\n <ng-container *ngFor=\"let action of rightActions()\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(action.token)\">{{ action.description }}</ion-button>\n </ng-container>\n </ion-buttons>\n <ion-buttons slot=\"start\" *ngIf=\"someInLeft()\">\n <ng-container *ngFor=\"let action of leftActions()\">\n <ion-button *ngIf=\"action.type === actionTypes.ICON\" (click)=\"clickHandler(action.token)\">\n <ion-icon slot=\"icon-only\" [name]=\"action.description\" color=\"dark\"></ion-icon>\n </ion-button>\n <val-avatar\n *ngIf=\"action.type === actionTypes.AVATAR\"\n [image]=\"action.description\"\n size=\"small\"\n (onClick)=\"clickHandler(action.token)\"\n ></val-avatar>\n <val-image\n *ngIf=\"action.type === actionTypes.IMAGE\"\n [props]=\"action.image\"\n (click)=\"clickHandler(action.token)\"\n ></val-image>\n <ion-button *ngIf=\"action.type === actionTypes.BUTTON\" (click)=\"clickHandler(action.token)\">{{ action.description }}</ion-button>\n </ng-container>\n </ion-buttons>\n </ng-container>\n <ion-title *ngIf=\"props.title\" [color]=\"props.textColor\">{{ props.title }}</ion-title>\n <!-- experimental -->\n <ng-content select=\"[toolbar-bottom]\"></ng-content>\n</ion-toolbar>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.background{background:var(--ion-background-color)}\n"] }]
1176
- }], ctorParameters: () => [{ type: i1$1.NavController }], propDecorators: { props: [{
1177
- type: Input
1178
- }], onClick: [{
1179
- type: Output
1180
- }] } });
1181
-
1182
- class FooterComponent {
1183
- constructor() {
1184
- this.onClick = new EventEmitter();
1185
- }
1186
- ngOnInit() { }
1187
- clickHandler(token) {
1188
- this.onClick.emit(token);
1189
- }
1190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FooterComponent, selector: "val-footer", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-footer\n [class.ion-no-border]=\"!props.bordered\"\n [translucent]=\"props.translucent\"\n [class.background]=\"props.toolbar.color === 'background'\"\n>\n <val-toolbar\n *ngIf=\"props.toolbar.title || props.toolbar.withActions || props.toolbar.withBack\"\n [props]=\"props.toolbar\"\n (onClick)=\"clickHandler($event)\"\n ></val-toolbar>\n <ng-content select=\"[extra]\"></ng-content>\n</ion-footer>\n", styles: [".background{background:var(--ion-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: ToolbarComponent, selector: "val-toolbar", inputs: ["props"], outputs: ["onClick"] }] }); }
1192
- }
1193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FooterComponent, decorators: [{
1194
- type: Component,
1195
- args: [{ selector: 'val-footer', template: "<ion-footer\n [class.ion-no-border]=\"!props.bordered\"\n [translucent]=\"props.translucent\"\n [class.background]=\"props.toolbar.color === 'background'\"\n>\n <val-toolbar\n *ngIf=\"props.toolbar.title || props.toolbar.withActions || props.toolbar.withBack\"\n [props]=\"props.toolbar\"\n (onClick)=\"clickHandler($event)\"\n ></val-toolbar>\n <ng-content select=\"[extra]\"></ng-content>\n</ion-footer>\n", styles: [".background{background:var(--ion-background-color)}\n"] }]
1196
- }], ctorParameters: () => [], propDecorators: { props: [{
1197
- type: Input
1198
- }], onClick: [{
1199
- type: Output
1200
- }] } });
1201
-
1202
- class HeaderComponent {
1203
- constructor() {
1204
- this.onClick = new EventEmitter();
1205
- }
1206
- ngOnInit() { }
1207
- clickHandler(token) {
1208
- this.onClick.emit(token);
1209
- }
1210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1211
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: HeaderComponent, selector: "val-header", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-header [class.ion-no-border]=\"!props.bordered\" [translucent]=\"props.translucent\">\n <val-toolbar [props]=\"props.toolbar\" (onClick)=\"clickHandler($event)\"></val-toolbar>\n</ion-header>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: ToolbarComponent, selector: "val-toolbar", inputs: ["props"], outputs: ["onClick"] }] }); }
1212
- }
1213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: HeaderComponent, decorators: [{
1214
- type: Component,
1215
- args: [{ selector: 'val-header', template: "<ion-header [class.ion-no-border]=\"!props.bordered\" [translucent]=\"props.translucent\">\n <val-toolbar [props]=\"props.toolbar\" (onClick)=\"clickHandler($event)\"></val-toolbar>\n</ion-header>\n" }]
1216
- }], ctorParameters: () => [], propDecorators: { props: [{
1217
- type: Input
1218
- }], onClick: [{
1219
- type: Output
1220
- }] } });
1221
-
1222
- const goToTop = (id) => {
1223
- const element = document.getElementById(id);
1224
- if (element) {
1225
- element.scrollIntoView({
1226
- block: 'start',
1227
- inline: 'nearest',
1228
- behavior: 'smooth',
1229
- });
1230
- }
1231
- };
1232
- const isAtEnd = (elementRef) => {
1233
- const formElement = elementRef.nativeElement;
1234
- const rect = formElement.getBoundingClientRect();
1235
- const windowHeight = window.innerHeight;
1236
- return rect.bottom <= windowHeight;
1237
- };
1238
-
1239
- class FormComponent {
1240
- constructor(fb, elementRef) {
1241
- this.fb = fb;
1242
- this.elementRef = elementRef;
1243
- this.onSubmit = new EventEmitter();
1244
- this.onInvalid = new EventEmitter();
1245
- this.types = InputType;
1246
- }
1247
- ngOnInit() {
1248
- const formControls = {};
1249
- this.props.sections.forEach((section) => {
1250
- section.fields.forEach((field) => {
1251
- formControls[field.name] = [undefined, field.validators || []];
1252
- });
1253
- });
1254
- this.form = this.fb.group(formControls);
1255
- }
1256
- async submitHandler(token) {
1257
- this.onSubmit.emit({ fields: this.form.value, token });
1258
- }
1259
- getControl(field) {
1260
- return this.Form.get(field);
1261
- }
1262
- get isAtEndOfForm() {
1263
- return isAtEnd(this.elementRef);
1264
- }
1265
- get Form() {
1266
- return this.form;
1267
- }
1268
- get actions() {
1269
- if (!this.form) {
1270
- return [];
1271
- }
1272
- if (this.form.valid) {
1273
- this.props.actions.state = ComponentStates.ENABLED;
1274
- }
1275
- if (this.props.state === ComponentStates.WORKING) {
1276
- this.props.actions.state = ComponentStates.WORKING;
1277
- }
1278
- if (this.props.state === ComponentStates.ENABLED) {
1279
- this.props.actions.state = ComponentStates.ENABLED;
1280
- }
1281
- if (this.props.state === ComponentStates.DISABLED) {
1282
- this.props.actions.state = ComponentStates.DISABLED;
1283
- }
1284
- return [this.props.actions];
1285
- }
1286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormComponent, deps: [{ token: i2.FormBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1287
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FormComponent, selector: "val-form", inputs: { props: "props" }, outputs: { onSubmit: "onSubmit", onInvalid: "onInvalid" }, ngImport: i0, template: "<div class=\"container\">\n <form [formGroup]=\"form\">\n <val-display [content]=\"props.name\" color=\"dark\" size=\"large\"></val-display>\n <div class=\"section\" *ngFor=\"let s of props.sections\">\n <val-title [content]=\"s.name\" size=\"large\"></val-title>\n <div class=\"input\" *ngFor=\"let f of s.fields\">\n <val-title color=\"dark\" [content]=\"f.label\" size=\"small\"></val-title>\n <ng-container *ngIf=\"f.type === types.TEXT\">\n <val-text-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-text-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.CHECK\">\n <val-check-input></val-check-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.COMMENT\">\n <val-comment-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-comment-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.DATE\">\n <val-date-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-date-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.EMAIL\">\n <val-email-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-email-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.FILE\">\n <val-file-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-file-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.HOUR\">\n <val-hour-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-hour-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.NUMBER\">\n <val-number-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-number-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.PASSWORD\">\n <val-password-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-password-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.PIN_CODE\">\n <val-pin-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-pin-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.RADIO\">\n <val-radio-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-radio-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.SELECT\">\n <!-- <val-select-input></val-select-input> -->\n </ng-container>\n <val-hint [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-hint>\n </div>\n <val-divider color=\"medium\" size=\"medium\" fill=\"solid\"></val-divider>\n </div>\n <val-button-group position=\"center\" [buttons]=\"actions\" (onClick)=\"submitHandler($event)\"></val-button-group>\n </form>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["size", "color", "content"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["size", "color", "content"] }, { kind: "component", type: DividerComponent, selector: "val-divider", inputs: ["size", "color", "fill"] }, { kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["buttons", "position", "columned"], outputs: ["onClick"] }, { kind: "component", type: CheckInputComponent, selector: "val-check-input" }, { kind: "component", type: CommentInputComponent, selector: "val-comment-input", inputs: ["control", "metadata"] }, { kind: "component", type: DateInputComponent, selector: "val-date-input", inputs: ["control", "metadata"] }, { kind: "component", type: EmailInputComponent, selector: "val-email-input", inputs: ["control", "metadata"] }, { kind: "component", type: FileInputComponent, selector: "val-file-input", inputs: ["control", "metadata"] }, { kind: "component", type: HintComponent, selector: "val-hint", inputs: ["control", "metadata"] }, { kind: "component", type: HourInputComponent, selector: "val-hour-input", inputs: ["control", "metadata"] }, { kind: "component", type: NumberInputComponent, selector: "val-number-input", inputs: ["control", "metadata"] }, { kind: "component", type: PasswordInputComponent, selector: "val-password-input", inputs: ["control", "metadata"] }, { kind: "component", type: PinInputComponent, selector: "val-pin-input", inputs: ["control", "metadata"] }, { kind: "component", type: RadioInputComponent, selector: "val-radio-input", inputs: ["control", "metadata"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["control", "metadata"] }] }); }
1288
- }
1289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormComponent, decorators: [{
1290
- type: Component,
1291
- args: [{ selector: 'val-form', template: "<div class=\"container\">\n <form [formGroup]=\"form\">\n <val-display [content]=\"props.name\" color=\"dark\" size=\"large\"></val-display>\n <div class=\"section\" *ngFor=\"let s of props.sections\">\n <val-title [content]=\"s.name\" size=\"large\"></val-title>\n <div class=\"input\" *ngFor=\"let f of s.fields\">\n <val-title color=\"dark\" [content]=\"f.label\" size=\"small\"></val-title>\n <ng-container *ngIf=\"f.type === types.TEXT\">\n <val-text-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-text-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.CHECK\">\n <val-check-input></val-check-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.COMMENT\">\n <val-comment-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-comment-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.DATE\">\n <val-date-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-date-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.EMAIL\">\n <val-email-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-email-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.FILE\">\n <val-file-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-file-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.HOUR\">\n <val-hour-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-hour-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.NUMBER\">\n <val-number-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-number-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.PASSWORD\">\n <val-password-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-password-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.PIN_CODE\">\n <val-pin-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-pin-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.RADIO\">\n <val-radio-input [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-radio-input>\n </ng-container>\n <ng-container *ngIf=\"f.type === types.SELECT\">\n <!-- <val-select-input></val-select-input> -->\n </ng-container>\n <val-hint [control]=\"getControl(f.name)\" [metadata]=\"f\"></val-hint>\n </div>\n <val-divider color=\"medium\" size=\"medium\" fill=\"solid\"></val-divider>\n </div>\n <val-button-group position=\"center\" [buttons]=\"actions\" (onClick)=\"submitHandler($event)\"></val-button-group>\n </form>\n</div>\n", styles: [".section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}\n"] }]
1292
- }], ctorParameters: () => [{ type: i2.FormBuilder }, { type: i0.ElementRef }], propDecorators: { props: [{
1293
- type: Input
1294
- }], onSubmit: [{
1295
- type: Output
1296
- }], onInvalid: [{
1297
- type: Output
1298
- }] } });
1299
-
1300
- class FormFooterComponent {
1301
- constructor() {
1302
- this.onSubmit = new EventEmitter();
1303
- }
1304
- ngOnInit() { }
1305
- async submitHandler(token) {
1306
- this.onSubmit.emit({ fields: this.form.value, token });
1307
- }
1308
- get actions() {
1309
- if (!this.form) {
1310
- return [];
1311
- }
1312
- if (this.form.valid) {
1313
- this.action.state = ComponentStates.ENABLED;
1314
- }
1315
- return [this.action];
1316
- }
1317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1318
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FormFooterComponent, selector: "val-form-footer", inputs: { form: "form", action: "action" }, outputs: { onSubmit: "onSubmit" }, ngImport: i0, template: "<val-footer\n [props]=\"{\n bordered: false,\n translucent: false,\n toolbar: {\n title: '',\n actions: [],\n color: 'background',\n withBack: false,\n withActions: false,\n },\n }\"\n>\n <val-button-group extra position=\"center\" [buttons]=\"actions\" (onClick)=\"submitHandler($event)\"></val-button-group>\n</val-footer>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["buttons", "position", "columned"], outputs: ["onClick"] }, { kind: "component", type: FooterComponent, selector: "val-footer", inputs: ["props"], outputs: ["onClick"] }] }); }
1319
- }
1320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FormFooterComponent, decorators: [{
1321
- type: Component,
1322
- args: [{ selector: 'val-form-footer', template: "<val-footer\n [props]=\"{\n bordered: false,\n translucent: false,\n toolbar: {\n title: '',\n actions: [],\n color: 'background',\n withBack: false,\n withActions: false,\n },\n }\"\n>\n <val-button-group extra position=\"center\" [buttons]=\"actions\" (onClick)=\"submitHandler($event)\"></val-button-group>\n</val-footer>\n" }]
1323
- }], ctorParameters: () => [], propDecorators: { form: [{
1324
- type: Input
1325
- }], action: [{
1326
- type: Input
1327
- }], onSubmit: [{
1328
- type: Output
1329
- }] } });
1330
-
1331
- const maxLength = (field, max) => {
1332
- return {
1333
- validator: Validators.maxLength(max),
1334
- error: `El campo ${field} no debe superar los ${max} caracteres.`,
1335
- };
1336
- };
1337
-
1338
- var MOTION;
1339
- (function (MOTION) {
1340
- MOTION[MOTION["BACKWARD"] = 0] = "BACKWARD";
1341
- MOTION[MOTION["FORWARD"] = 1] = "FORWARD";
1342
- MOTION[MOTION["RETRY"] = 2] = "RETRY";
1343
- })(MOTION || (MOTION = {}));
1344
-
1345
- class WizardComponent {
1346
- constructor() {
1347
- this.onClick = new EventEmitter();
1348
- this.wrapperId = 'wizard-wrapper';
1349
- }
1350
- ngOnInit() { }
1351
- working() {
1352
- this.props.state = ComponentStates.WORKING;
1353
- this.Current.buttons.map((x) => {
1354
- x.state = ComponentStates.DISABLED;
1355
- });
1356
- }
1357
- done() {
1358
- if (this.props.state === ComponentStates.ENABLED) {
1359
- return;
1360
- }
1361
- this.props.state = ComponentStates.ENABLED;
1362
- this.Current.buttons.map((x) => {
1363
- x.state = ComponentStates.ENABLED;
1364
- });
1365
- }
1366
- get Current() {
1367
- return this.props.steps[this.props.current];
1368
- }
1369
- setCurrent(newStep) {
1370
- if (newStep === this.props.current) {
1371
- return;
1372
- }
1373
- this.props.current = newStep;
1374
- goToTop(this.wrapperId);
1375
- }
1376
- setError(error) {
1377
- if (this.props.state === ComponentStates.ERROR) {
1378
- return;
1379
- }
1380
- this.props.error.titles.content.content.bellowTitle.text = error;
1381
- this.props.state = ComponentStates.ERROR;
1382
- goToTop(this.wrapperId);
1383
- }
1384
- reset() {
1385
- this.props.error.titles.content.content.bellowTitle.text = '';
1386
- this.done();
1387
- }
1388
- clickHandler(token) {
1389
- if (!token) {
1390
- return;
1391
- }
1392
- if (token.includes('retry')) {
1393
- this.reset();
1394
- }
1395
- this.onClick.emit({ current: this.props.current, motion: MOTION.RETRY });
1396
- }
1397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1398
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: WizardComponent, selector: "val-wizard", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [id]=\"wrapperId\" class=\"wrapper\">\n <ng-container *ngIf=\"props.state !== 'ERROR'\">\n <val-no-content [props]=\"Current.titles\"></val-no-content>\n <div class=\"step\">\n <div *ngIf=\"props.state === 'WORKING'\">\n <val-content-loader color=\"dark\" size=\"large\" text=\"Por favor espere...\"></val-content-loader>\n </div>\n <ng-content select=\"[step]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"props.state === 'ERROR'\">\n <val-no-content [props]=\"props.error.titles\" (onClick)=\"clickHandler($event)\"></val-no-content>\n </ng-container>\n</div>\n", styles: [".wrapper{height:auto;display:flex;flex-direction:column;justify-content:space-between;position:relative}.step{min-height:9.375rem;margin:16px 0;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentLoaderComponent, selector: "val-content-loader", inputs: ["color", "size", "name", "text"] }, { kind: "component", type: NoContentComponent, selector: "val-no-content", inputs: ["props"], outputs: ["onClick"] }] }); }
1399
- }
1400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: WizardComponent, decorators: [{
1401
- type: Component,
1402
- args: [{ selector: 'val-wizard', template: "<div [id]=\"wrapperId\" class=\"wrapper\">\n <ng-container *ngIf=\"props.state !== 'ERROR'\">\n <val-no-content [props]=\"Current.titles\"></val-no-content>\n <div class=\"step\">\n <div *ngIf=\"props.state === 'WORKING'\">\n <val-content-loader color=\"dark\" size=\"large\" text=\"Por favor espere...\"></val-content-loader>\n </div>\n <ng-content select=\"[step]\"></ng-content>\n </div>\n </ng-container>\n <ng-container *ngIf=\"props.state === 'ERROR'\">\n <val-no-content [props]=\"props.error.titles\" (onClick)=\"clickHandler($event)\"></val-no-content>\n </ng-container>\n</div>\n", styles: [".wrapper{height:auto;display:flex;flex-direction:column;justify-content:space-between;position:relative}.step{min-height:9.375rem;margin:16px 0;text-align:center}\n"] }]
1403
- }], ctorParameters: () => [], propDecorators: { props: [{
1404
- type: Input
1405
- }], onClick: [{
1406
- type: Output
1407
- }] } });
1408
-
1409
- class WizardFooterComponent {
1410
- constructor() {
1411
- this.onClick = new EventEmitter();
1412
- this.wrapperId = 'wizard-wrapper';
1413
- }
1414
- ngOnInit() { }
1415
- clickHandler(token) {
1416
- if (!token) {
1417
- return;
1418
- }
1419
- if (token.includes('right')) {
1420
- this.tryToStep(MOTION.FORWARD);
1421
- }
1422
- if (token.includes('left')) {
1423
- this.tryToStep(MOTION.BACKWARD);
1424
- }
1425
- }
1426
- get Current() {
1427
- return this.props.steps[this.props.current];
1428
- }
1429
- get Progress() {
1430
- if (this.props.steps && this.props.current) {
1431
- return this.props.current / Object.keys(this.props.steps).length;
1432
- }
1433
- return 0;
1434
- }
1435
- get actions() {
1436
- if (this.props.state === ComponentStates.ERROR && this.Current.buttons.length > 1) {
1437
- this.Current.buttons[1].state = ComponentStates.DISABLED;
1438
- }
1439
- if (this.props.current === 1 && this.Current.buttons.length > 1) {
1440
- return [this.Current.buttons[1]];
1441
- }
1442
- return this.Current.buttons;
1443
- }
1444
- tryToStep(motion) {
1445
- this.onClick.emit({ current: this.props.current, motion });
1446
- }
1447
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: WizardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1448
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: WizardFooterComponent, selector: "val-wizard-footer", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<val-footer\n [props]=\"{\nbordered: false,\ntranslucent: false,\ntoolbar: {\n title: '',\n actions: [],\n color: 'background',\n withBack: false,\n withActions: false,\n },\n}\"\n>\n <val-progress-bar extra [progress]=\"Progress\" size=\"medium\"></val-progress-bar>\n <val-button-group extra [buttons]=\"actions\" position=\"spaced\" (onClick)=\"clickHandler($event)\"></val-button-group>\n</val-footer>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonGroupComponent, selector: "val-button-group", inputs: ["buttons", "position", "columned"], outputs: ["onClick"] }, { kind: "component", type: ProgressBarComponent, selector: "val-progress-bar", inputs: ["progress", "size", "color", "buffer", "type", "rounded"] }, { kind: "component", type: FooterComponent, selector: "val-footer", inputs: ["props"], outputs: ["onClick"] }] }); }
1449
- }
1450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: WizardFooterComponent, decorators: [{
1451
- type: Component,
1452
- args: [{ selector: 'val-wizard-footer', template: "<val-footer\n [props]=\"{\nbordered: false,\ntranslucent: false,\ntoolbar: {\n title: '',\n actions: [],\n color: 'background',\n withBack: false,\n withActions: false,\n },\n}\"\n>\n <val-progress-bar extra [progress]=\"Progress\" size=\"medium\"></val-progress-bar>\n <val-button-group extra [buttons]=\"actions\" position=\"spaced\" (onClick)=\"clickHandler($event)\"></val-button-group>\n</val-footer>\n" }]
1453
- }], ctorParameters: () => [], propDecorators: { props: [{
1454
- type: Input
1455
- }], onClick: [{
1456
- type: Output
1457
- }] } });
1458
-
1459
- class TextContent {
1460
- constructor(text) {
1461
- this.text = text;
1462
- }
1463
- get Content() {
1464
- return this.text;
1465
- }
1466
- }
1467
- var LangOption;
1468
- (function (LangOption) {
1469
- LangOption["ES"] = "es";
1470
- LangOption["EN"] = "en";
1471
- })(LangOption || (LangOption = {}));
1472
-
1473
- class LocalStorageService {
1474
- static set(reference, value) {
1475
- localStorage.setItem(reference, JSON.stringify(value));
1476
- }
1477
- static get(reference) {
1478
- const value = localStorage.getItem(reference);
1479
- return JSON.parse(value);
1480
- }
1481
- static remove(reference) {
1482
- localStorage.removeItem(reference);
1483
- }
1484
- static clear() {
1485
- localStorage.clear();
1486
- }
1487
- }
1488
-
1489
- const LANG = 'LANG';
1490
- const THEME = 'THEME';
1491
-
1492
- const ValtechConfigService = new InjectionToken('ValtechConfig');
1493
- class ValtechComponentsModule {
1494
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1495
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, declarations: [ButtonComponent,
1496
- BoxComponent,
1497
- DisplayComponent,
1498
- TextComponent,
1499
- TitleComponent,
1500
- AvatarComponent,
1501
- DividerComponent,
1502
- ContentLoaderComponent,
1503
- LinkComponent,
1504
- SearchbarComponent,
1505
- ToolbarComponent,
1506
- IconComponent,
1507
- ButtonGroupComponent,
1508
- TitleBlockComponent,
1509
- AlertBoxComponent,
1510
- BannerComponent,
1511
- NotesBoxComponent,
1512
- ImageComponent,
1513
- NoContentComponent,
1514
- HrefComponent,
1515
- ProgressBarComponent,
1516
- LinksCakeComponent,
1517
- ProgressStatusComponent,
1518
- CheckInputComponent,
1519
- CommentInputComponent,
1520
- DateInputComponent,
1521
- EmailInputComponent,
1522
- FileInputComponent,
1523
- HintComponent,
1524
- HourInputComponent,
1525
- NumberInputComponent,
1526
- PasswordInputComponent,
1527
- PinInputComponent,
1528
- PrompterComponent,
1529
- RadioInputComponent,
1530
- TextInputComponent,
1531
- FooterComponent,
1532
- FormComponent,
1533
- FormFooterComponent,
1534
- HeaderComponent,
1535
- WizardComponent,
1536
- WizardFooterComponent,
1537
- CardComponent], imports: [CommonModule, HttpClientModule, IonicModule, ReactiveFormsModule, NgOtpInputModule], exports: [ButtonComponent,
1538
- BoxComponent,
1539
- DisplayComponent,
1540
- TextComponent,
1541
- TitleComponent,
1542
- AvatarComponent,
1543
- DividerComponent,
1544
- ContentLoaderComponent,
1545
- LinkComponent,
1546
- SearchbarComponent,
1547
- ToolbarComponent,
1548
- IconComponent,
1549
- ButtonGroupComponent,
1550
- TitleBlockComponent,
1551
- AlertBoxComponent,
1552
- BannerComponent,
1553
- NotesBoxComponent,
1554
- ImageComponent,
1555
- NoContentComponent,
1556
- HrefComponent,
1557
- ProgressBarComponent,
1558
- LinksCakeComponent,
1559
- ProgressStatusComponent,
1560
- CheckInputComponent,
1561
- CommentInputComponent,
1562
- DateInputComponent,
1563
- EmailInputComponent,
1564
- FileInputComponent,
1565
- HintComponent,
1566
- HourInputComponent,
1567
- NumberInputComponent,
1568
- PasswordInputComponent,
1569
- PinInputComponent,
1570
- PrompterComponent,
1571
- RadioInputComponent,
1572
- TextInputComponent,
1573
- FooterComponent,
1574
- FormComponent,
1575
- FormFooterComponent,
1576
- HeaderComponent,
1577
- WizardComponent,
1578
- WizardFooterComponent,
1579
- CardComponent] }); }
1580
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, providers: [DownloadService], imports: [CommonModule, HttpClientModule, IonicModule, ReactiveFormsModule, NgOtpInputModule] }); }
1581
- }
1582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ValtechComponentsModule, decorators: [{
1583
- type: NgModule,
1584
- args: [{
1585
- imports: [CommonModule, HttpClientModule, IonicModule, ReactiveFormsModule, NgOtpInputModule],
1586
- declarations: [
1587
- ButtonComponent,
1588
- BoxComponent,
1589
- DisplayComponent,
1590
- TextComponent,
1591
- TitleComponent,
1592
- AvatarComponent,
1593
- DividerComponent,
1594
- ContentLoaderComponent,
1595
- LinkComponent,
1596
- SearchbarComponent,
1597
- ToolbarComponent,
1598
- IconComponent,
1599
- ButtonGroupComponent,
1600
- TitleBlockComponent,
1601
- AlertBoxComponent,
1602
- BannerComponent,
1603
- NotesBoxComponent,
1604
- ImageComponent,
1605
- NoContentComponent,
1606
- HrefComponent,
1607
- ProgressBarComponent,
1608
- LinksCakeComponent,
1609
- ProgressStatusComponent,
1610
- CheckInputComponent,
1611
- CommentInputComponent,
1612
- DateInputComponent,
1613
- EmailInputComponent,
1614
- FileInputComponent,
1615
- HintComponent,
1616
- HourInputComponent,
1617
- NumberInputComponent,
1618
- PasswordInputComponent,
1619
- PinInputComponent,
1620
- PrompterComponent,
1621
- RadioInputComponent,
1622
- TextInputComponent,
1623
- FooterComponent,
1624
- FormComponent,
1625
- FormFooterComponent,
1626
- HeaderComponent,
1627
- WizardComponent,
1628
- WizardFooterComponent,
1629
- CardComponent,
1630
- ],
1631
- exports: [
1632
- ButtonComponent,
1633
- BoxComponent,
1634
- DisplayComponent,
1635
- TextComponent,
1636
- TitleComponent,
1637
- AvatarComponent,
1638
- DividerComponent,
1639
- ContentLoaderComponent,
1640
- LinkComponent,
1641
- SearchbarComponent,
1642
- ToolbarComponent,
1643
- IconComponent,
1644
- ButtonGroupComponent,
1645
- TitleBlockComponent,
1646
- AlertBoxComponent,
1647
- BannerComponent,
1648
- NotesBoxComponent,
1649
- ImageComponent,
1650
- NoContentComponent,
1651
- HrefComponent,
1652
- ProgressBarComponent,
1653
- LinksCakeComponent,
1654
- ProgressStatusComponent,
1655
- CheckInputComponent,
1656
- CommentInputComponent,
1657
- DateInputComponent,
1658
- EmailInputComponent,
1659
- FileInputComponent,
1660
- HintComponent,
1661
- HourInputComponent,
1662
- NumberInputComponent,
1663
- PasswordInputComponent,
1664
- PinInputComponent,
1665
- PrompterComponent,
1666
- RadioInputComponent,
1667
- TextInputComponent,
1668
- FooterComponent,
1669
- FormComponent,
1670
- FormFooterComponent,
1671
- HeaderComponent,
1672
- WizardComponent,
1673
- WizardFooterComponent,
1674
- CardComponent,
1675
- ],
1676
- providers: [DownloadService],
1677
- }]
1678
- }] });
1679
-
1680
- class LangService {
1681
- constructor(config) {
1682
- this.default = LangOption.ES;
1683
- console.log('injected config: ', config);
1684
- this.content = config.content;
1685
- this.config = config;
1686
- const current = LocalStorageService.get(LANG);
1687
- this.selectedLang = new BehaviorSubject(current || this.default);
1688
- }
1689
- Text(className) {
1690
- return this.content[className].Content[this.selectedLang.value];
1691
- }
1692
- get Lang() {
1693
- return this.selectedLang.value;
1694
- }
1695
- set Lang(lang) {
1696
- this.selectedLang.next(lang);
1697
- LocalStorageService.set(LANG, lang);
1698
- }
1699
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LangService, deps: [{ token: ValtechConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1700
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LangService, providedIn: 'root' }); }
1701
- }
1702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LangService, decorators: [{
1703
- type: Injectable,
1704
- args: [{
1705
- providedIn: 'root',
1706
- }]
1707
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1708
- type: Inject,
1709
- args: [ValtechConfigService]
1710
- }] }] });
1711
-
1712
- var ThemeOption;
1713
- (function (ThemeOption) {
1714
- ThemeOption["LIGHT"] = "light";
1715
- ThemeOption["DARK"] = "dark";
1716
- ThemeOption["AUTO"] = "auto";
1717
- })(ThemeOption || (ThemeOption = {}));
1718
- class ThemeService {
1719
- constructor() {
1720
- this.lightToggle = false;
1721
- this.darkToggle = false;
1722
- this.autoToggle = false;
1723
- this.currentOption = ThemeOption.AUTO;
1724
- this.themeOptions = ThemeOption;
1725
- this.prefersDark = false;
1726
- this.default = ThemeOption.AUTO;
1727
- const current = LocalStorageService.get(THEME);
1728
- console.log('💡 ThemeConfig current::: ', current);
1729
- this.theme = new BehaviorSubject(current || this.default);
1730
- this.currentOption = this.Theme;
1731
- console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
1732
- this.toggleUserPreference(this.currentOption);
1733
- const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
1734
- this.prefersDark = prefersDarkQuery.matches;
1735
- this.handleAutoConfiguration();
1736
- prefersDarkQuery.addEventListener('change', (mediaQuery) => {
1737
- console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
1738
- this.prefersDark = mediaQuery.matches;
1739
- this.handleAutoConfiguration();
1740
- });
1741
- }
1742
- handleAutoConfiguration() {
1743
- if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
1744
- console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
1745
- this.toggleUserPreference(ThemeOption.AUTO);
1746
- }
1747
- if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
1748
- console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
1749
- this.toggleUserPreference(ThemeOption.AUTO);
1750
- }
1751
- }
1752
- handleDarkPreference() {
1753
- this.toggleTheme(ThemeOption.DARK, true);
1754
- this.toggleTheme(ThemeOption.LIGHT, false);
1755
- }
1756
- handleLightPreference() {
1757
- this.toggleTheme(ThemeOption.LIGHT, true);
1758
- this.toggleTheme(ThemeOption.DARK, false);
1759
- }
1760
- get Theme() {
1761
- return this.theme.value;
1762
- }
1763
- set Theme(theme) {
1764
- this.theme.next(theme);
1765
- LocalStorageService.set(THEME, theme);
1766
- }
1767
- toggleTheme(name, shouldAdd) {
1768
- console.log('toggleTheme::: ', name, shouldAdd);
1769
- document.body.classList.toggle(name, shouldAdd);
1770
- }
1771
- toggleUserPreference(option) {
1772
- this.currentOption = option;
1773
- this.Theme = option;
1774
- this.lightToggle = option === ThemeOption.LIGHT;
1775
- this.darkToggle = option === ThemeOption.DARK;
1776
- this.autoToggle = option === ThemeOption.AUTO;
1777
- switch (option) {
1778
- case ThemeOption.LIGHT:
1779
- this.handleLightPreference();
1780
- break;
1781
- case ThemeOption.DARK:
1782
- this.handleDarkPreference();
1783
- break;
1784
- case ThemeOption.AUTO:
1785
- if (this.prefersDark) {
1786
- this.handleDarkPreference();
1787
- }
1788
- else {
1789
- this.handleLightPreference();
1790
- }
1791
- break;
1792
- }
1793
- }
1794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1795
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
1796
- }
1797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ThemeService, decorators: [{
1798
- type: Injectable,
1799
- args: [{
1800
- providedIn: 'root',
1801
- }]
1802
- }], ctorParameters: () => [] });
1803
-
1804
- /*
1805
- * Public API Surface of valtech-components
1806
- */
1807
-
1808
- /**
1809
- * Generated bundle index. Do not edit.
1810
- */
1811
-
1812
- export { ActionType, AlertBoxComponent, AvatarComponent, BannerComponent, BaseDefault, BoxComponent, ButtonComponent, ButtonGroupComponent, CardComponent, CardSection, CardType, CheckInputComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, CommentInputComponent, ComponentStates, ContentLoaderComponent, DateInputComponent, DisplayComponent, DividerComponent, DownloadService, EmailInputComponent, FileInputComponent, FooterComponent, FormComponent, FormFooterComponent, HeaderComponent, HintComponent, HourInputComponent, HrefComponent, Icon, IconComponent, ImageComponent, InputType, LangOption, LangService, LinkComponent, LinksCakeComponent, LocalStorageService, MOTION, NoContentComponent, NotesBoxComponent, NumberInputComponent, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PasswordInputComponent, PinInputComponent, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, ProgressBarComponent, ProgressStatusComponent, PrompterComponent, RadioInputComponent, SearchbarComponent, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, TextComponent, TextContent, TextInputComponent, ThemeOption, ThemeService, TitleBlockComponent, TitleComponent, ToolbarActionType, ToolbarComponent, ValtechComponentsModule, ValtechConfigService, WizardComponent, WizardFooterComponent, goToTop, isAtEnd, maxLength };
1813
- //# sourceMappingURL=valtech-components.mjs.map