@energycap/components 0.41.0 → 0.41.1-ECAP-27592-angular-17.20241220-1140

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 (258) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/components.module.mjs +418 -418
  3. package/{esm2020 → esm2022}/lib/controls/banner/banner.component.mjs +109 -109
  4. package/{esm2020 → esm2022}/lib/controls/button/button.component.mjs +106 -106
  5. package/{esm2020 → esm2022}/lib/controls/button/copy-button-base.directive.mjs +67 -67
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/{esm2020 → esm2022}/lib/controls/button/copy-table-button.directive.mjs +43 -43
  8. package/{esm2020 → esm2022}/lib/controls/calendar/calendar-item.component.mjs +59 -59
  9. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.component.mjs +200 -200
  10. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +3 -3
  11. package/{esm2020 → esm2022}/lib/controls/checkbox/checkbox.component.mjs +140 -140
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/{esm2020 → esm2022}/lib/controls/combobox/combobox.component.mjs +879 -879
  14. package/{esm2020 → esm2022}/lib/controls/date-input/date-input.component.mjs +256 -256
  15. package/{esm2020 → esm2022}/lib/controls/dropdown/dropdown.component.mjs +243 -243
  16. package/{esm2020 → esm2022}/lib/controls/file-upload/file-upload.component.mjs +261 -261
  17. package/{esm2020 → esm2022}/lib/controls/form-control/form-control.component.mjs +104 -104
  18. package/{esm2020 → esm2022}/lib/controls/form-control-base.mjs +151 -151
  19. package/{esm2020 → esm2022}/lib/controls/form-control-label/form-control-label.component.mjs +136 -136
  20. package/{esm2020 → esm2022}/lib/controls/form-group/form-group.component.mjs +261 -261
  21. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  22. package/{esm2020 → esm2022}/lib/controls/item-picker/item-picker.component.mjs +329 -329
  23. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  24. package/{esm2020 → esm2022}/lib/controls/menu/menu.component.mjs +485 -485
  25. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  26. package/{esm2020 → esm2022}/lib/controls/navigation/nav-group.mjs +38 -38
  27. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item-active.directive.mjs +92 -92
  28. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  29. package/{esm2020 → esm2022}/lib/controls/numericbox/numericbox.component.mjs +372 -372
  30. package/{esm2020 → esm2022}/lib/controls/popover/popover.component.mjs +117 -117
  31. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  32. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button.component.mjs +82 -82
  33. package/{esm2020 → esm2022}/lib/controls/select/select.component.mjs +88 -88
  34. package/{esm2020 → esm2022}/lib/controls/tabs/tabs.component.mjs +47 -47
  35. package/{esm2020 → esm2022}/lib/controls/textbox/textbox.component.mjs +155 -155
  36. package/{esm2020 → esm2022}/lib/core/cache.service.mjs +105 -105
  37. package/esm2022/lib/core/custom-validators.mjs +29 -0
  38. package/esm2022/lib/core/date-time-helper.mjs +220 -0
  39. package/{esm2020 → esm2022}/lib/core/error.service.mjs +61 -61
  40. package/{esm2020 → esm2022}/lib/core/router-helper.service.mjs +111 -111
  41. package/{esm2020 → esm2022}/lib/core/scroll.service.mjs +89 -89
  42. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  44. package/{esm2020 → esm2022}/lib/core/validation-message.service.mjs +185 -185
  45. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  46. package/{esm2020 → esm2022}/lib/core/window.service.mjs +186 -186
  47. package/{esm2020 → esm2022}/lib/display/app-bar/app-bar.component.mjs +46 -46
  48. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  49. package/{esm2020 → esm2022}/lib/display/avatar/avatar.service.mjs +64 -64
  50. package/{esm2020 → esm2022}/lib/display/confirm/confirm.component.mjs +168 -168
  51. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -63
  53. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  54. package/{esm2020 → esm2022}/lib/display/dialog/dialog.component.mjs +281 -281
  55. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  56. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  57. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-base.mjs +111 -111
  58. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  59. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -61
  60. package/{esm2020 → esm2022}/lib/display/item-display/item-display.component.mjs +81 -81
  61. package/{esm2020 → esm2022}/lib/display/json-display/json-display.component.mjs +47 -47
  62. package/{esm2020 → esm2022}/lib/display/resizable/resizable-base.mjs +120 -120
  63. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  64. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  65. package/{esm2020 → esm2022}/lib/display/splash/splash.component.mjs +42 -42
  66. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  67. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  68. package/{esm2020 → esm2022}/lib/display/table/resizable-table.directive.mjs +227 -227
  69. package/{esm2020 → esm2022}/lib/display/table/searchable-table.component.mjs +342 -342
  70. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  71. package/{esm2020 → esm2022}/lib/display/table/table-locked-column.component.mjs +58 -58
  72. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  73. package/{esm2020 → esm2022}/lib/display/table/table-master-row.component.mjs +163 -163
  74. package/{esm2020 → esm2022}/lib/display/table/table-pagination.component.mjs +155 -155
  75. package/{esm2020 → esm2022}/lib/display/table/table-selectable-row.component.mjs +235 -235
  76. package/{esm2020 → esm2022}/lib/display/table/table.component.mjs +249 -249
  77. package/{esm2020 → esm2022}/lib/display/tags/tag.mjs +17 -17
  78. package/{esm2020 → esm2022}/lib/display/tags/tags.component.mjs +77 -77
  79. package/{esm2020 → esm2022}/lib/display/toast/toast/toast.component.mjs +77 -77
  80. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  81. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  82. package/{esm2020 → esm2022}/lib/display/toast/toaster/toaster.component.mjs +114 -114
  83. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  84. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  85. package/{esm2020 → esm2022}/lib/display/tooltip-directive/tooltip.directive.mjs +173 -173
  86. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  87. package/{esm2020 → esm2022}/lib/display/tour/tour.component.mjs +398 -398
  88. package/{esm2020 → esm2022}/lib/display/tour/tour.service.mjs +75 -75
  89. package/{esm2020 → esm2022}/lib/display/tree/tree.component.mjs +135 -135
  90. package/{esm2020 → esm2022}/lib/display/view-overlay/view-overlay.component.mjs +58 -58
  91. package/{esm2020 → esm2022}/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -32
  92. package/{esm2020 → esm2022}/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -111
  93. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  94. package/{esm2020 → esm2022}/lib/shared/display/pipes/date-display.pipe.mjs +50 -50
  95. package/{esm2020 → esm2022}/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -30
  96. package/{esm2020 → esm2022}/lib/shared/display/pipes/relative-date.pipe.mjs +62 -62
  97. package/{esm2020 → esm2022}/lib/shared/display/pipes/row-count.pipe.mjs +48 -48
  98. package/{esm2020 → esm2022}/lib/shared/display/pipes/time-display.pipe.mjs +41 -41
  99. package/esm2022/lib/shared/display.mjs +6 -0
  100. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  101. package/{esm2020 → esm2022}/lib/shared/json-helper.mjs +18 -18
  102. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  103. package/{esm2020 → esm2022}/lib/shared/page/page-base/page-base.component.mjs +387 -387
  104. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  105. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  106. package/{esm2020 → esm2022}/lib/shared/page/page-view/page-view.component.mjs +147 -147
  107. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  108. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  109. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  110. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  111. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  112. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  113. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  114. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  115. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -246
  116. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  117. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  118. package/{esm2020 → esm2022}/public-api.mjs +114 -114
  119. package/{fesm2020 → fesm2022}/energycap-components.mjs +11797 -11793
  120. package/fesm2022/energycap-components.mjs.map +1 -0
  121. package/index.d.ts +5 -5
  122. package/lib/components.module.d.ts +91 -91
  123. package/lib/controls/banner/banner.component.d.ts +50 -50
  124. package/lib/controls/button/button.component.d.ts +78 -78
  125. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  126. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  127. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  128. package/lib/controls/calendar/calendar-item.component.d.ts +17 -17
  129. package/lib/controls/calendar/calendar.component.d.ts +54 -54
  130. package/lib/controls/calendar/calendar.types.d.ts +7 -7
  131. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  132. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  133. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  134. package/lib/controls/date-input/date-input.component.d.ts +80 -80
  135. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  136. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  137. package/lib/controls/form-control/form-control.component.d.ts +30 -30
  138. package/lib/controls/form-control-base.d.ts +110 -110
  139. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  140. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  141. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  142. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  143. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  144. package/lib/controls/menu/menu.component.d.ts +255 -255
  145. package/lib/controls/navigation/link-item.d.ts +32 -32
  146. package/lib/controls/navigation/nav-group.d.ts +18 -18
  147. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  148. package/lib/controls/navigation/nav-item.d.ts +31 -31
  149. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  150. package/lib/controls/popover/popover.component.d.ts +51 -51
  151. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  152. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  153. package/lib/controls/select/select.component.d.ts +44 -44
  154. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  155. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  156. package/lib/core/cache.service.d.ts +33 -33
  157. package/lib/core/custom-validators.d.ts +20 -20
  158. package/lib/core/date-time-helper.d.ts +101 -101
  159. package/lib/core/error.service.d.ts +20 -20
  160. package/lib/core/router-helper.service.d.ts +48 -48
  161. package/lib/core/scroll.service.d.ts +36 -36
  162. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  163. package/lib/core/telemetry.service.d.ts +31 -31
  164. package/lib/core/validation-message.service.d.ts +26 -26
  165. package/lib/core/validation-patterns.d.ts +22 -22
  166. package/lib/core/window.service.d.ts +116 -116
  167. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  168. package/lib/display/avatar/avatar.component.d.ts +35 -35
  169. package/lib/display/avatar/avatar.service.d.ts +24 -24
  170. package/lib/display/confirm/confirm.component.d.ts +123 -123
  171. package/lib/display/dialog/dialog-content.d.ts +19 -19
  172. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  173. package/lib/display/dialog/dialog-types.d.ts +130 -130
  174. package/lib/display/dialog/dialog.component.d.ts +120 -120
  175. package/lib/display/dialog/dialog.service.d.ts +48 -48
  176. package/lib/display/help/help-types.d.ts +33 -33
  177. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  178. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  179. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  180. package/lib/display/item-display/item-display.component.d.ts +43 -43
  181. package/lib/display/json-display/json-display.component.d.ts +16 -16
  182. package/lib/display/resizable/resizable-base.d.ts +67 -67
  183. package/lib/display/resizable/resizable.component.d.ts +31 -31
  184. package/lib/display/spinner/spinner.component.d.ts +5 -5
  185. package/lib/display/splash/splash.component.d.ts +16 -16
  186. package/lib/display/splash/splash.service.d.ts +22 -22
  187. package/lib/display/table/resizable-column.component.d.ts +10 -10
  188. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  189. package/lib/display/table/searchable-table.component.d.ts +206 -206
  190. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  191. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  192. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  193. package/lib/display/table/table-master-row.component.d.ts +113 -113
  194. package/lib/display/table/table-pagination.component.d.ts +91 -91
  195. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  196. package/lib/display/table/table.component.d.ts +121 -121
  197. package/lib/display/tags/tag.d.ts +18 -18
  198. package/lib/display/tags/tags.component.d.ts +48 -48
  199. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  200. package/lib/display/toast/toast-types.d.ts +24 -24
  201. package/lib/display/toast/toast.service.d.ts +20 -20
  202. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  203. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  204. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  205. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  206. package/lib/display/tour/tour-types.d.ts +70 -70
  207. package/lib/display/tour/tour.component.d.ts +147 -147
  208. package/lib/display/tour/tour.service.d.ts +38 -38
  209. package/lib/display/tree/tree.component.d.ts +75 -75
  210. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  211. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  212. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  213. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  214. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  215. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  216. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  217. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  218. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  219. package/lib/shared/display.d.ts +42 -42
  220. package/lib/shared/form-group.helper.d.ts +31 -31
  221. package/lib/shared/json-helper.d.ts +7 -7
  222. package/lib/shared/lodash-helper.d.ts +18 -18
  223. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  224. package/lib/shared/page/page-statuses.d.ts +13 -13
  225. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  226. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  227. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  228. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  229. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  230. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  231. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  232. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  233. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  234. package/lib/shared/user-preference.service.d.ts +13 -13
  235. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  236. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  237. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  238. package/package.json +12 -18
  239. package/public-api.d.ts +111 -111
  240. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  241. package/schematics/rxjs-7-upgrade/index.js +67 -67
  242. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  243. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  244. package/schematics/utilities/typescript.d.ts +7 -7
  245. package/schematics/utilities/typescript.js +41 -41
  246. package/schematics/utilities/workspace.d.ts +8 -8
  247. package/schematics/utilities/workspace.js +71 -71
  248. package/esm2020/lib/core/custom-validators.mjs +0 -29
  249. package/esm2020/lib/core/date-time-helper.mjs +0 -220
  250. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  251. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  252. package/esm2020/lib/shared/display.mjs +0 -6
  253. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  254. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  255. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  256. package/fesm2015/energycap-components.mjs +0 -12211
  257. package/fesm2015/energycap-components.mjs.map +0 -1
  258. package/fesm2020/energycap-components.mjs.map +0 -1
@@ -1,124 +1,124 @@
1
- import { ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
- import { AsyncValidatorFn, FormControl, FormGroup, ValidatorFn } from '@angular/forms';
3
- import { ValidationMessageService } from '../../core/validation-message.service';
4
- import { FormGroupHelper } from '../../shared/form-group.helper';
5
- import { FormControlBase } from '../form-control-base';
6
- import * as i0 from "@angular/core";
7
- export type FileType = 'zip' | 'excel' | 'custom';
8
- export type FileOutput = 'raw' | 'base64';
9
- export declare const FileTypeExtensions: {
10
- zip: string[];
11
- excel: string[];
12
- };
13
- export type FileUploadFormGroup = {
14
- file: FormControl<File | null>;
15
- name: FormControl<string | null>;
16
- base64FileString: FormControl<string | null>;
17
- uploadResult: FormControl<any>;
18
- };
19
- export type InvalidFileError = {
20
- invalidFile: true;
21
- };
22
- export type FileValidatorCallback = (file: File | null | undefined, base64: string | null | undefined) => Promise<InvalidFileError | null>;
23
- export declare class FileUploadComponent extends FormControlBase implements OnInit, OnChanges {
24
- protected validationMessageService: ValidationMessageService;
25
- protected formGroupHelper: FormGroupHelper;
26
- static getFormModel(validators: ValidatorFn[], disabled?: boolean,
27
- /** Any validators required to make sure the selected file is valid. It is recommended that you use `FileUploadComponent.getFileValidator` to help construct the validator(s). NOTE: This currently only works when multiSelect is false. */
28
- fileValidators?: AsyncValidatorFn | AsyncValidatorFn[]): FormGroup<FileUploadFormGroup>;
29
- /**
30
- * Helper function that returns an async validator to be used with the file upload control.
31
- * This is useful for when the file needs to be validated before it can be uploaded.
32
- *
33
- * @param callback The callback function that will be called to validate the file. Parameters for the callback are the file and the base64 string for the file.
34
- * base64 is null if the fileOutput input on the FileUploadComponent is set to raw. Using fileOutput set to base64 is recommended for images.
35
- */
36
- static getFileValidator(callback: FileValidatorCallback): AsyncValidatorFn;
37
- formModel: FormGroup<FileUploadFormGroup>;
38
- /**
39
- * The value of the textbox input's placeholder
40
- */
41
- placeholder?: string;
42
- /** Common extensions for a file browsing dialog
43
- * Note: Edge does not support the accept attribute on file inputs, therefor all file types
44
- * will be shown. Firefox and Chrome both support this feature.
45
- */
46
- fileType?: FileType | undefined;
47
- /**
48
- * File output, determines which properties are supplied on the formModel
49
- */
50
- fileOutput?: FileOutput;
51
- /** If fileType is set to custom set the acceptable file types based on the custom array */
52
- customExtensions?: Array<string> | undefined;
53
- /**
54
- * Optional callback supported if the hosting page needs to process the file before
55
- * setting the formModel with the file information. If the promise resolves it will continue
56
- * and set the file name and contents to the formModel, otherwise on failure it'll do nothing.
57
- */
58
- onFileSelected?: (file: File) => Promise<any>;
59
- /**
60
- * Optional callback supported for when the hosting page needs to process multiple files
61
- * We simply map the FileList to an array of File objects and pass that array to the
62
- * callback and let the hosting page handle the processing
63
- */
64
- onMultipleFilesSelected?: (files: File[]) => Promise<any>;
65
- /**
66
- * Optional display type that controls whether the file input textbox is displayed or
67
- * simply a button the user clicks to launch the OS file storage dialog.
68
- * Default: file
69
- */
70
- displayType?: 'file' | 'button';
71
- /**
72
- * When display type is set to button this property will control the button label
73
- */
74
- buttonLabel?: string;
75
- /**
76
- * When display type is set to button this property will control the button type
77
- */
78
- buttonType?: string;
79
- /**
80
- * Optional property to control whether the user can select multiple files
81
- */
82
- multiSelect?: boolean;
83
- /**
84
- * When true, the onFileSelected callback will not be called if the form is invalid.
85
- * This is useful when the file needs to be validated before it can be uploaded.
86
- * For server-side validation, leave this as false and use the onFileSelected callback
87
- * to upload the file and handle any errors thrown by the API.
88
- */
89
- validateBeforeUpload: boolean;
90
- fileInput?: ElementRef;
91
- /** Property bound to the file input to filter what file types are shown in the dialog */
92
- fileTypeAccept: string | undefined;
93
- constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper);
94
- ngOnChanges(changes: SimpleChanges): void;
95
- ngOnInit(): void;
96
- fileChange(files: FileList): Promise<void>;
97
- /**
98
- * Checks the file type and updates the file type accept property. This is what determines the file
99
- * type choices that the user will be limited to in the file browse dialog
100
- */
101
- private updateFileTypeAccept;
102
- /**
103
- * Take a file that was selected by the user and process/patch our form model
104
- * If the host component requires an action to occur with the file prior to the patch it will call
105
- * and wait for it to return.
106
- * @param file
107
- * @param base64FileString Optional: Will have a value provided if the fileOutput is set to base64
108
- */
109
- private processFile;
110
- /** Patches the form with the selected file in order to trigger control validation */
111
- private validateFile;
112
- /**
113
- * Based on the fileOutput return whether this component is expected to deliver a base64 output
114
- * @returns
115
- */
116
- private isBase64FileOutput;
117
- /** Maps the files to an array of File objects and sends them along
118
- * to the derived onMultipleFileSelected method in the hosting component
119
- */
120
- private handleMultipleFiles;
121
- private readFile;
122
- static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadComponent, never>;
123
- static ɵcmp: i0.ɵɵComponentDeclaration<FileUploadComponent, "ec-file-upload", never, { "formModel": "formModel"; "placeholder": "placeholder"; "fileType": "fileType"; "fileOutput": "fileOutput"; "customExtensions": "customExtensions"; "onFileSelected": "onFileSelected"; "onMultipleFilesSelected": "onMultipleFilesSelected"; "displayType": "displayType"; "buttonLabel": "buttonLabel"; "buttonType": "buttonType"; "multiSelect": "multiSelect"; "validateBeforeUpload": "validateBeforeUpload"; }, {}, never, never, false, never>;
124
- }
1
+ import { ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { AsyncValidatorFn, FormControl, FormGroup, ValidatorFn } from '@angular/forms';
3
+ import { ValidationMessageService } from '../../core/validation-message.service';
4
+ import { FormGroupHelper } from '../../shared/form-group.helper';
5
+ import { FormControlBase } from '../form-control-base';
6
+ import * as i0 from "@angular/core";
7
+ export type FileType = 'zip' | 'excel' | 'custom';
8
+ export type FileOutput = 'raw' | 'base64';
9
+ export declare const FileTypeExtensions: {
10
+ zip: string[];
11
+ excel: string[];
12
+ };
13
+ export type FileUploadFormGroup = {
14
+ file: FormControl<File | null>;
15
+ name: FormControl<string | null>;
16
+ base64FileString: FormControl<string | null>;
17
+ uploadResult: FormControl<any>;
18
+ };
19
+ export type InvalidFileError = {
20
+ invalidFile: true;
21
+ };
22
+ export type FileValidatorCallback = (file: File | null | undefined, base64: string | null | undefined) => Promise<InvalidFileError | null>;
23
+ export declare class FileUploadComponent extends FormControlBase implements OnInit, OnChanges {
24
+ protected validationMessageService: ValidationMessageService;
25
+ protected formGroupHelper: FormGroupHelper;
26
+ static getFormModel(validators: ValidatorFn[], disabled?: boolean,
27
+ /** Any validators required to make sure the selected file is valid. It is recommended that you use `FileUploadComponent.getFileValidator` to help construct the validator(s). NOTE: This currently only works when multiSelect is false. */
28
+ fileValidators?: AsyncValidatorFn | AsyncValidatorFn[]): FormGroup<FileUploadFormGroup>;
29
+ /**
30
+ * Helper function that returns an async validator to be used with the file upload control.
31
+ * This is useful for when the file needs to be validated before it can be uploaded.
32
+ *
33
+ * @param callback The callback function that will be called to validate the file. Parameters for the callback are the file and the base64 string for the file.
34
+ * base64 is null if the fileOutput input on the FileUploadComponent is set to raw. Using fileOutput set to base64 is recommended for images.
35
+ */
36
+ static getFileValidator(callback: FileValidatorCallback): AsyncValidatorFn;
37
+ formModel: FormGroup<FileUploadFormGroup>;
38
+ /**
39
+ * The value of the textbox input's placeholder
40
+ */
41
+ placeholder?: string;
42
+ /** Common extensions for a file browsing dialog
43
+ * Note: Edge does not support the accept attribute on file inputs, therefor all file types
44
+ * will be shown. Firefox and Chrome both support this feature.
45
+ */
46
+ fileType?: FileType | undefined;
47
+ /**
48
+ * File output, determines which properties are supplied on the formModel
49
+ */
50
+ fileOutput?: FileOutput;
51
+ /** If fileType is set to custom set the acceptable file types based on the custom array */
52
+ customExtensions?: Array<string> | undefined;
53
+ /**
54
+ * Optional callback supported if the hosting page needs to process the file before
55
+ * setting the formModel with the file information. If the promise resolves it will continue
56
+ * and set the file name and contents to the formModel, otherwise on failure it'll do nothing.
57
+ */
58
+ onFileSelected?: (file: File) => Promise<any>;
59
+ /**
60
+ * Optional callback supported for when the hosting page needs to process multiple files
61
+ * We simply map the FileList to an array of File objects and pass that array to the
62
+ * callback and let the hosting page handle the processing
63
+ */
64
+ onMultipleFilesSelected?: (files: File[]) => Promise<any>;
65
+ /**
66
+ * Optional display type that controls whether the file input textbox is displayed or
67
+ * simply a button the user clicks to launch the OS file storage dialog.
68
+ * Default: file
69
+ */
70
+ displayType?: 'file' | 'button';
71
+ /**
72
+ * When display type is set to button this property will control the button label
73
+ */
74
+ buttonLabel?: string;
75
+ /**
76
+ * When display type is set to button this property will control the button type
77
+ */
78
+ buttonType?: string;
79
+ /**
80
+ * Optional property to control whether the user can select multiple files
81
+ */
82
+ multiSelect?: boolean;
83
+ /**
84
+ * When true, the onFileSelected callback will not be called if the form is invalid.
85
+ * This is useful when the file needs to be validated before it can be uploaded.
86
+ * For server-side validation, leave this as false and use the onFileSelected callback
87
+ * to upload the file and handle any errors thrown by the API.
88
+ */
89
+ validateBeforeUpload: boolean;
90
+ fileInput?: ElementRef;
91
+ /** Property bound to the file input to filter what file types are shown in the dialog */
92
+ fileTypeAccept: string | undefined;
93
+ constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper);
94
+ ngOnChanges(changes: SimpleChanges): void;
95
+ ngOnInit(): void;
96
+ fileChange(files: FileList): Promise<void>;
97
+ /**
98
+ * Checks the file type and updates the file type accept property. This is what determines the file
99
+ * type choices that the user will be limited to in the file browse dialog
100
+ */
101
+ private updateFileTypeAccept;
102
+ /**
103
+ * Take a file that was selected by the user and process/patch our form model
104
+ * If the host component requires an action to occur with the file prior to the patch it will call
105
+ * and wait for it to return.
106
+ * @param file
107
+ * @param base64FileString Optional: Will have a value provided if the fileOutput is set to base64
108
+ */
109
+ private processFile;
110
+ /** Patches the form with the selected file in order to trigger control validation */
111
+ private validateFile;
112
+ /**
113
+ * Based on the fileOutput return whether this component is expected to deliver a base64 output
114
+ * @returns
115
+ */
116
+ private isBase64FileOutput;
117
+ /** Maps the files to an array of File objects and sends them along
118
+ * to the derived onMultipleFileSelected method in the hosting component
119
+ */
120
+ private handleMultipleFiles;
121
+ private readFile;
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadComponent, never>;
123
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileUploadComponent, "ec-file-upload", never, { "formModel": { "alias": "formModel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fileType": { "alias": "fileType"; "required": false; }; "fileOutput": { "alias": "fileOutput"; "required": false; }; "customExtensions": { "alias": "customExtensions"; "required": false; }; "onFileSelected": { "alias": "onFileSelected"; "required": false; }; "onMultipleFilesSelected": { "alias": "onMultipleFilesSelected"; "required": false; }; "displayType": { "alias": "displayType"; "required": false; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "validateBeforeUpload": { "alias": "validateBeforeUpload"; "required": false; }; }, {}, never, never, false, never>;
124
+ }
@@ -1,30 +1,30 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
- import { AbstractControl } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export declare class FormControlComponent implements OnChanges, AfterViewInit {
5
- private el;
6
- formControlDirective?: AbstractControl;
7
- id: string;
8
- icon?: string;
9
- actionIcon?: string;
10
- showClear: boolean;
11
- formModelInput?: AbstractControl;
12
- autofocus: boolean;
13
- pending: boolean;
14
- required: boolean;
15
- readonly: boolean;
16
- get empty(): boolean;
17
- get invalid(): boolean;
18
- get disabled(): boolean;
19
- actionClicked: EventEmitter<Event>;
20
- actionKeydown: EventEmitter<KeyboardEvent>;
21
- private _formModel?;
22
- constructor(el: ElementRef);
23
- ngOnChanges(changes: SimpleChanges): void;
24
- ngAfterViewInit(): void;
25
- onClick(): void;
26
- focus(): void;
27
- clear(): void;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<FormControlComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<FormControlComponent, "ec-form-control", never, { "id": "id"; "icon": "icon"; "actionIcon": "actionIcon"; "showClear": "showClear"; "formModelInput": "formModel"; "autofocus": "autofocus"; "pending": "pending"; "required": "required"; "readonly": "readonly"; }, { "actionClicked": "actionClicked"; "actionKeydown": "actionKeydown"; }, ["formControlDirective"], ["*"], false, never>;
30
- }
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { AbstractControl } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FormControlComponent implements OnChanges, AfterViewInit {
5
+ private el;
6
+ formControlDirective?: AbstractControl;
7
+ id: string;
8
+ icon?: string;
9
+ actionIcon?: string;
10
+ showClear: boolean;
11
+ formModelInput?: AbstractControl;
12
+ autofocus: boolean;
13
+ pending: boolean;
14
+ required: boolean;
15
+ readonly: boolean;
16
+ get empty(): boolean;
17
+ get invalid(): boolean;
18
+ get disabled(): boolean;
19
+ actionClicked: EventEmitter<Event>;
20
+ actionKeydown: EventEmitter<KeyboardEvent>;
21
+ private _formModel?;
22
+ constructor(el: ElementRef);
23
+ ngOnChanges(changes: SimpleChanges): void;
24
+ ngAfterViewInit(): void;
25
+ onClick(): void;
26
+ focus(): void;
27
+ clear(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormControlComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormControlComponent, "ec-form-control", never, { "id": { "alias": "id"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "actionIcon": { "alias": "actionIcon"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; }; "formModelInput": { "alias": "formModel"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "actionClicked": "actionClicked"; "actionKeydown": "actionKeydown"; }, ["formControlDirective"], ["*"], false, never>;
30
+ }
@@ -1,110 +1,110 @@
1
- import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
- import { AbstractControl } from "@angular/forms";
3
- import { Subject } from "rxjs";
4
- import { ValidationMessageService } from "../core/validation-message.service";
5
- import { FormGroupHelper } from '../shared/form-group.helper';
6
- import { PopoverContentPosition } from './popover/popover.component';
7
- import * as i0 from "@angular/core";
8
- export type ControlLabelPosition = "top" | "bottom" | "left";
9
- /**
10
- * Base class for Reactive Form Controls, containing ECI-specific shared properties
11
- */
12
- export declare abstract class FormControlBase implements OnInit, OnDestroy, OnChanges {
13
- protected validationMessageService: ValidationMessageService;
14
- protected formGroupHelper: FormGroupHelper;
15
- /**
16
- * If true, will focus the control's input when the view is intialized
17
- */
18
- autofocus?: boolean;
19
- /**
20
- * UI-oriented form model that retains the states and values of the HTML controls on screen.
21
- * Can be a {@link FormControl} or a {@link FormGroup}
22
- */
23
- formModel: AbstractControl;
24
- /**
25
- * The form control label
26
- */
27
- label?: string;
28
- /**
29
- * The position of the form control label (top|bottom)
30
- */
31
- labelPosition?: ControlLabelPosition;
32
- /**
33
- * The id of the component. We use this to identify a control on focus events and help.
34
- */
35
- id: string;
36
- /**
37
- * The pending status of the control, can be used to tell the user the control is
38
- * awaiting data via a spinner or animation
39
- */
40
- pending?: boolean;
41
- /**
42
- * Whether the input is a required field or not
43
- * @todo: Sometime in the future Angular makes it sound like this will be handled via the Reactive form When that happens this property can be removed
44
- */
45
- required?: boolean;
46
- /**
47
- * The tabindex of the control
48
- */
49
- tabindex?: number;
50
- /**
51
- * Disable the control and display the value
52
- */
53
- readonly?: boolean;
54
- /**
55
- * Conditionally show a tooltip on the form control's input.
56
- */
57
- tooltip?: string;
58
- /**
59
- * Conditionally show a help popover next to the controls label.
60
- */
61
- helpPopover?: string;
62
- /**
63
- * When a help popover is present, allows the popover to be positioned in different locations.
64
- */
65
- helpPopoverPosition?: PopoverContentPosition;
66
- /**
67
- * All current validation errors
68
- */
69
- validationErrors: string;
70
- /**
71
- * The id of the form controls input, getnerated from the components id.
72
- */
73
- inputId: string;
74
- /**
75
- * Notifies component subscriptions that component is destroyed.
76
- * Use with `takeUntil()` when subscribing to complete subscriptions
77
- * automatically.
78
- *
79
- * See:
80
- * [RxJs]{@link http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-takeUntil}
81
- * [and this]{@link https://medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87}
82
- * [and this]{@link https://netbasal.com/when-to-unsubscribe-in-angular-d61c6b21bad3}
83
- * [and this]{@link http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/}
84
- */
85
- protected componentDestroyed: Subject<void>;
86
- /**
87
- * Creates an instance of FormControlBase.
88
- */
89
- constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper);
90
- /**
91
- * Angular onChange lifecyle hook
92
- */
93
- ngOnChanges(changes: SimpleChanges): void;
94
- /**
95
- * Angular onInit lifecycle hook.
96
- */
97
- ngOnInit(): void;
98
- /**
99
- * Angular onDestroy lifecyle hook.
100
- * Unsubscribe from any observables
101
- */
102
- ngOnDestroy(): void;
103
- /**
104
- * Function that subscribes to the formModel's valueChanges Observable
105
- * to take any erros and translate them
106
- */
107
- protected translateValidationMessages(data?: any): Promise<void>;
108
- static ɵfac: i0.ɵɵFactoryDeclaration<FormControlBase, never>;
109
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlBase, never, never, { "autofocus": "autofocus"; "formModel": "formModel"; "label": "label"; "labelPosition": "labelPosition"; "id": "id"; "pending": "pending"; "required": "required"; "tabindex": "tabindex"; "readonly": "readonly"; "tooltip": "tooltip"; "helpPopover": "helpPopover"; "helpPopoverPosition": "helpPopoverPosition"; }, {}, never, never, false, never>;
110
- }
1
+ import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { AbstractControl } from "@angular/forms";
3
+ import { Subject } from "rxjs";
4
+ import { ValidationMessageService } from "../core/validation-message.service";
5
+ import { FormGroupHelper } from '../shared/form-group.helper';
6
+ import { PopoverContentPosition } from './popover/popover.component';
7
+ import * as i0 from "@angular/core";
8
+ export type ControlLabelPosition = "top" | "bottom" | "left";
9
+ /**
10
+ * Base class for Reactive Form Controls, containing ECI-specific shared properties
11
+ */
12
+ export declare abstract class FormControlBase implements OnInit, OnDestroy, OnChanges {
13
+ protected validationMessageService: ValidationMessageService;
14
+ protected formGroupHelper: FormGroupHelper;
15
+ /**
16
+ * If true, will focus the control's input when the view is intialized
17
+ */
18
+ autofocus?: boolean;
19
+ /**
20
+ * UI-oriented form model that retains the states and values of the HTML controls on screen.
21
+ * Can be a {@link FormControl} or a {@link FormGroup}
22
+ */
23
+ formModel: AbstractControl;
24
+ /**
25
+ * The form control label
26
+ */
27
+ label?: string;
28
+ /**
29
+ * The position of the form control label (top|bottom)
30
+ */
31
+ labelPosition?: ControlLabelPosition;
32
+ /**
33
+ * The id of the component. We use this to identify a control on focus events and help.
34
+ */
35
+ id: string;
36
+ /**
37
+ * The pending status of the control, can be used to tell the user the control is
38
+ * awaiting data via a spinner or animation
39
+ */
40
+ pending?: boolean;
41
+ /**
42
+ * Whether the input is a required field or not
43
+ * @todo: Sometime in the future Angular makes it sound like this will be handled via the Reactive form When that happens this property can be removed
44
+ */
45
+ required?: boolean;
46
+ /**
47
+ * The tabindex of the control
48
+ */
49
+ tabindex?: number;
50
+ /**
51
+ * Disable the control and display the value
52
+ */
53
+ readonly?: boolean;
54
+ /**
55
+ * Conditionally show a tooltip on the form control's input.
56
+ */
57
+ tooltip?: string;
58
+ /**
59
+ * Conditionally show a help popover next to the controls label.
60
+ */
61
+ helpPopover?: string;
62
+ /**
63
+ * When a help popover is present, allows the popover to be positioned in different locations.
64
+ */
65
+ helpPopoverPosition?: PopoverContentPosition;
66
+ /**
67
+ * All current validation errors
68
+ */
69
+ validationErrors: string;
70
+ /**
71
+ * The id of the form controls input, getnerated from the components id.
72
+ */
73
+ inputId: string;
74
+ /**
75
+ * Notifies component subscriptions that component is destroyed.
76
+ * Use with `takeUntil()` when subscribing to complete subscriptions
77
+ * automatically.
78
+ *
79
+ * See:
80
+ * [RxJs]{@link http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-takeUntil}
81
+ * [and this]{@link https://medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87}
82
+ * [and this]{@link https://netbasal.com/when-to-unsubscribe-in-angular-d61c6b21bad3}
83
+ * [and this]{@link http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/}
84
+ */
85
+ protected componentDestroyed: Subject<void>;
86
+ /**
87
+ * Creates an instance of FormControlBase.
88
+ */
89
+ constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper);
90
+ /**
91
+ * Angular onChange lifecyle hook
92
+ */
93
+ ngOnChanges(changes: SimpleChanges): void;
94
+ /**
95
+ * Angular onInit lifecycle hook.
96
+ */
97
+ ngOnInit(): void;
98
+ /**
99
+ * Angular onDestroy lifecyle hook.
100
+ * Unsubscribe from any observables
101
+ */
102
+ ngOnDestroy(): void;
103
+ /**
104
+ * Function that subscribes to the formModel's valueChanges Observable
105
+ * to take any erros and translate them
106
+ */
107
+ protected translateValidationMessages(data?: any): Promise<void>;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormControlBase, never>;
109
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlBase, never, never, { "autofocus": { "alias": "autofocus"; "required": false; }; "formModel": { "alias": "formModel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "id": { "alias": "id"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "required": { "alias": "required"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "helpPopover": { "alias": "helpPopover"; "required": false; }; "helpPopoverPosition": { "alias": "helpPopoverPosition"; "required": false; }; }, {}, never, never, false, never>;
110
+ }