@energycap/components 0.42.4-esbuild.20250131-1219 → 0.42.4-esbuild.20250131-1441

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 (324) hide show
  1. package/esm2022/energycap-components.mjs +5 -0
  2. package/esm2022/lib/components.module.mjs +423 -0
  3. package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2022/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/esm2022/lib/controls/button/copy-button.directive.mjs +28 -0
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +91 -0
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +248 -0
  10. package/esm2022/lib/controls/calendar/calendar.types.mjs +2 -0
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -0
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
  15. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
  16. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
  17. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
  18. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
  19. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
  20. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
  21. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
  22. package/esm2022/lib/controls/date-input/date-input.component.mjs +464 -0
  23. package/esm2022/lib/controls/date-input/date-input.types.mjs +44 -0
  24. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
  25. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
  26. package/esm2022/lib/controls/form-control/form-control.component.mjs +98 -0
  27. package/esm2022/lib/controls/form-control-base.mjs +151 -0
  28. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  29. package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
  30. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +31 -0
  31. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
  32. package/esm2022/lib/controls/link-button/link-button.component.mjs +11 -0
  33. package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
  34. package/esm2022/lib/controls/navigation/link-item.mjs +2 -0
  35. package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
  36. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  37. package/esm2022/lib/controls/navigation/nav-item.mjs +2 -0
  38. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
  39. package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
  40. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +3 -0
  41. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
  42. package/esm2022/lib/controls/select/select.component.mjs +88 -0
  43. package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
  44. package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
  45. package/esm2022/lib/core/cache.service.mjs +105 -0
  46. package/esm2022/lib/core/custom-validators.mjs +29 -0
  47. package/esm2022/lib/core/date-time-helper.mjs +228 -0
  48. package/esm2022/lib/core/error.service.mjs +61 -0
  49. package/esm2022/lib/core/router-helper.service.mjs +111 -0
  50. package/esm2022/lib/core/scroll.service.mjs +89 -0
  51. package/esm2022/lib/core/telemetry-tracker.service.mjs +16 -0
  52. package/esm2022/lib/core/telemetry.service.mjs +38 -0
  53. package/esm2022/lib/core/validation-message.service.mjs +185 -0
  54. package/esm2022/lib/core/validation-patterns.mjs +31 -0
  55. package/esm2022/lib/core/window.service.mjs +186 -0
  56. package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
  57. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  58. package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
  59. package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
  60. package/esm2022/lib/display/dialog/dialog-content.mjs +2 -0
  61. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  62. package/esm2022/lib/display/dialog/dialog-types.mjs +77 -0
  63. package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
  64. package/esm2022/lib/display/dialog/dialog.service.mjs +71 -0
  65. package/esm2022/lib/display/help/help-types.mjs +2 -0
  66. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  67. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +54 -0
  68. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  69. package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
  70. package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
  71. package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
  72. package/esm2022/lib/display/resizable/resizable.component.mjs +57 -0
  73. package/esm2022/lib/display/spinner/spinner.component.mjs +12 -0
  74. package/esm2022/lib/display/splash/splash.component.mjs +42 -0
  75. package/esm2022/lib/display/splash/splash.service.mjs +35 -0
  76. package/esm2022/lib/display/table/resizable-column.component.mjs +20 -0
  77. package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
  78. package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
  79. package/esm2022/lib/display/table/table-detail-row.component.mjs +28 -0
  80. package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
  81. package/esm2022/lib/display/table/table-master-header-row.component.mjs +14 -0
  82. package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
  83. package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
  84. package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
  85. package/esm2022/lib/display/table/table.component.mjs +249 -0
  86. package/esm2022/lib/display/tags/tag.mjs +18 -0
  87. package/esm2022/lib/display/tags/tags.component.mjs +77 -0
  88. package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
  89. package/esm2022/lib/display/toast/toast-types.mjs +8 -0
  90. package/esm2022/lib/display/toast/toast.service.mjs +35 -0
  91. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
  92. package/esm2022/lib/display/tooltip/tooltip.component.mjs +28 -0
  93. package/esm2022/lib/display/tooltip/tooltip.service.mjs +78 -0
  94. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  95. package/esm2022/lib/display/tour/tour-types.mjs +34 -0
  96. package/esm2022/lib/display/tour/tour.component.mjs +398 -0
  97. package/esm2022/lib/display/tour/tour.service.mjs +75 -0
  98. package/esm2022/lib/display/tree/tree.component.mjs +135 -0
  99. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  100. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  101. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  102. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -0
  103. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  104. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  105. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  106. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  107. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  108. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  109. package/esm2022/lib/shared/display.mjs +6 -0
  110. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  111. package/esm2022/lib/shared/json-helper.mjs +19 -0
  112. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  113. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
  114. package/esm2022/lib/shared/page/page-statuses.mjs +23 -0
  115. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +23 -0
  116. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
  117. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +17 -0
  118. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +17 -0
  119. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +38 -0
  120. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  121. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +148 -0
  122. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +40 -0
  123. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +57 -0
  124. package/esm2022/lib/shared/user-preference.service.mjs +17 -0
  125. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  126. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -0
  127. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -0
  128. package/esm2022/public-api.mjs +117 -0
  129. package/fesm2022/energycap-components.mjs +13219 -0
  130. package/fesm2022/energycap-components.mjs.map +1 -0
  131. package/index.d.ts +5 -0
  132. package/lib/components.module.d.ts +92 -0
  133. package/lib/controls/banner/banner.component.d.ts +50 -0
  134. package/lib/controls/button/button.component.d.ts +78 -0
  135. package/lib/controls/button/copy-button-base.directive.d.ts +20 -0
  136. package/lib/controls/button/copy-button.directive.d.ts +14 -0
  137. package/lib/controls/button/copy-table-button.directive.d.ts +19 -0
  138. package/lib/controls/calendar/calendar-item.component.d.ts +22 -0
  139. package/lib/controls/calendar/calendar.component.d.ts +52 -0
  140. package/lib/controls/calendar/calendar.types.d.ts +11 -0
  141. package/lib/controls/checkbox/checkbox.component.d.ts +65 -0
  142. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -0
  143. package/lib/controls/combobox/combobox.component.d.ts +418 -0
  144. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -0
  145. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -0
  146. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -0
  147. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -0
  148. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -0
  149. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -0
  150. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -0
  151. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -0
  152. package/lib/controls/date-input/date-input.component.d.ts +115 -0
  153. package/lib/controls/date-input/date-input.types.d.ts +62 -0
  154. package/lib/controls/dropdown/dropdown.component.d.ts +161 -0
  155. package/lib/controls/file-upload/file-upload.component.d.ts +124 -0
  156. package/lib/controls/form-control/form-control.component.d.ts +28 -0
  157. package/lib/controls/form-control-base.d.ts +110 -0
  158. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -0
  159. package/lib/controls/form-group/form-group.component.d.ts +105 -0
  160. package/lib/controls/help-popover/help-popover.component.d.ts +11 -0
  161. package/lib/controls/item-picker/item-picker.component.d.ts +164 -0
  162. package/lib/controls/link-button/link-button.component.d.ts +5 -0
  163. package/lib/controls/menu/menu.component.d.ts +255 -0
  164. package/lib/controls/navigation/link-item.d.ts +32 -0
  165. package/lib/controls/navigation/nav-group.d.ts +18 -0
  166. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -0
  167. package/lib/controls/navigation/nav-item.d.ts +31 -0
  168. package/lib/controls/numericbox/numericbox.component.d.ts +148 -0
  169. package/lib/controls/popover/popover.component.d.ts +51 -0
  170. package/lib/controls/radio-button/radio-button-option.d.ts +19 -0
  171. package/lib/controls/radio-button/radio-button.component.d.ts +53 -0
  172. package/lib/controls/select/select.component.d.ts +44 -0
  173. package/lib/controls/tabs/tabs.component.d.ts +30 -0
  174. package/lib/controls/textbox/textbox.component.d.ts +107 -0
  175. package/lib/core/cache.service.d.ts +33 -0
  176. package/lib/core/custom-validators.d.ts +20 -0
  177. package/lib/core/date-time-helper.d.ts +101 -0
  178. package/lib/core/error.service.d.ts +20 -0
  179. package/lib/core/router-helper.service.d.ts +48 -0
  180. package/lib/core/scroll.service.d.ts +36 -0
  181. package/lib/core/telemetry-tracker.service.d.ts +13 -0
  182. package/lib/core/telemetry.service.d.ts +31 -0
  183. package/lib/core/validation-message.service.d.ts +26 -0
  184. package/lib/core/validation-patterns.d.ts +22 -0
  185. package/lib/core/window.service.d.ts +116 -0
  186. package/lib/display/app-bar/app-bar.component.d.ts +20 -0
  187. package/lib/display/avatar/avatar.component.d.ts +35 -0
  188. package/lib/display/avatar/avatar.service.d.ts +24 -0
  189. package/lib/display/confirm/confirm.component.d.ts +123 -0
  190. package/lib/display/dialog/dialog-content.d.ts +19 -0
  191. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -0
  192. package/lib/display/dialog/dialog-types.d.ts +130 -0
  193. package/lib/display/dialog/dialog.component.d.ts +120 -0
  194. package/lib/display/dialog/dialog.service.d.ts +48 -0
  195. package/lib/display/help/help-types.d.ts +33 -0
  196. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -0
  197. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -0
  198. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -0
  199. package/lib/display/item-display/item-display.component.d.ts +43 -0
  200. package/lib/display/json-display/json-display.component.d.ts +16 -0
  201. package/lib/display/resizable/resizable-base.d.ts +67 -0
  202. package/lib/display/resizable/resizable.component.d.ts +31 -0
  203. package/lib/display/spinner/spinner.component.d.ts +5 -0
  204. package/lib/display/splash/splash.component.d.ts +16 -0
  205. package/lib/display/splash/splash.service.d.ts +22 -0
  206. package/lib/display/table/resizable-column.component.d.ts +10 -0
  207. package/lib/display/table/resizable-table.directive.d.ts +93 -0
  208. package/lib/display/table/searchable-table.component.d.ts +206 -0
  209. package/lib/display/table/table-detail-row.component.d.ts +8 -0
  210. package/lib/display/table/table-locked-column.component.d.ts +20 -0
  211. package/lib/display/table/table-master-header-row.component.d.ts +9 -0
  212. package/lib/display/table/table-master-row.component.d.ts +113 -0
  213. package/lib/display/table/table-pagination.component.d.ts +91 -0
  214. package/lib/display/table/table-selectable-row.component.d.ts +102 -0
  215. package/lib/display/table/table.component.d.ts +121 -0
  216. package/lib/display/tags/tag.d.ts +18 -0
  217. package/lib/display/tags/tags.component.d.ts +48 -0
  218. package/lib/display/toast/toast/toast.component.d.ts +23 -0
  219. package/lib/display/toast/toast-types.d.ts +24 -0
  220. package/lib/display/toast/toast.service.d.ts +20 -0
  221. package/lib/display/toast/toaster/toaster.component.d.ts +35 -0
  222. package/lib/display/tooltip/tooltip.component.d.ts +70 -0
  223. package/lib/display/tooltip/tooltip.service.d.ts +16 -0
  224. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -0
  225. package/lib/display/tour/tour-types.d.ts +70 -0
  226. package/lib/display/tour/tour.component.d.ts +147 -0
  227. package/lib/display/tour/tour.service.d.ts +38 -0
  228. package/lib/display/tree/tree.component.d.ts +75 -0
  229. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -0
  230. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -0
  231. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -0
  232. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -0
  233. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -0
  234. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -0
  235. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -0
  236. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -0
  237. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -0
  238. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -0
  239. package/lib/shared/display.d.ts +42 -0
  240. package/lib/shared/form-group.helper.d.ts +31 -0
  241. package/lib/shared/json-helper.d.ts +7 -0
  242. package/lib/shared/lodash-helper.d.ts +18 -0
  243. package/lib/shared/page/page-base/page-base.component.d.ts +259 -0
  244. package/lib/shared/page/page-statuses.d.ts +13 -0
  245. package/lib/shared/page/page-title/page-title.component.d.ts +9 -0
  246. package/lib/shared/page/page-view/page-view.component.d.ts +102 -0
  247. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -0
  248. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -0
  249. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -0
  250. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -0
  251. package/lib/shared/testing/public-mocks.spec.d.ts +90 -0
  252. package/lib/shared/testing/spy-factory.spec.d.ts +27 -0
  253. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -0
  254. package/lib/shared/user-preference.service.d.ts +13 -0
  255. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -0
  256. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -0
  257. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -0
  258. package/package.json +2 -6
  259. package/public-api.d.ts +113 -0
  260. package/schematics/collection.json +10 -0
  261. package/schematics/rxjs-7-upgrade/index.d.ts +3 -0
  262. package/schematics/rxjs-7-upgrade/index.js +71 -0
  263. package/schematics/rxjs-7-upgrade/index.js.map +1 -0
  264. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -0
  265. package/schematics/rxjs-7-upgrade/schema.js +3 -0
  266. package/schematics/rxjs-7-upgrade/schema.js.map +1 -0
  267. package/schematics/rxjs-7-upgrade/schema.json +14 -0
  268. package/schematics/utilities/typescript.d.ts +7 -0
  269. package/schematics/utilities/typescript.js +45 -0
  270. package/schematics/utilities/typescript.js.map +1 -0
  271. package/schematics/utilities/workspace.d.ts +8 -0
  272. package/schematics/utilities/workspace.js +72 -0
  273. package/schematics/utilities/workspace.js.map +1 -0
  274. package/src/assets/images/email-icon.png +0 -0
  275. package/src/assets/images/email-logo.png +0 -0
  276. package/src/assets/images/favicon-ech.svg +7 -0
  277. package/src/assets/images/favicon-esa.svg +6 -0
  278. package/src/assets/images/favicon-eum.svg +6 -0
  279. package/src/assets/images/favicon.svg +5 -0
  280. package/src/assets/images/icon-carbonhub.svg +10 -0
  281. package/src/assets/images/icon-eum.svg +5 -0
  282. package/src/assets/images/icon-ucp.svg +5 -0
  283. package/src/assets/images/icon-wattics.svg +5 -0
  284. package/src/assets/images/icon.svg +4 -0
  285. package/src/assets/images/logo.svg +3 -0
  286. package/src/assets/images/splash.gif +0 -0
  287. package/src/assets/locales/en_US.json +59 -0
  288. package/src/assets/scripts/unsupported-browser.js +17 -0
  289. package/src/styles/_base.scss +38 -0
  290. package/src/styles/_colors.scss +96 -0
  291. package/src/styles/_core.scss +4 -0
  292. package/src/styles/_functions.scss +114 -0
  293. package/src/styles/_global-variables.scss +232 -0
  294. package/src/styles/_icons.scss +24 -0
  295. package/src/styles/bootstrap/_grid.scss +34 -0
  296. package/src/styles/bootstrap/_reboot.scss +323 -0
  297. package/src/styles/components/_card.scss +21 -0
  298. package/src/styles/components/_link-icons.scss +38 -0
  299. package/src/styles/components/_splash.scss +57 -0
  300. package/src/styles/components/_unsupported-browsers.scss +24 -0
  301. package/src/styles/email/_email-base.scss +228 -0
  302. package/src/styles/email/email.scss +43 -0
  303. package/src/styles/index.scss +27 -0
  304. package/src/styles/mixins/_animations.scss +18 -0
  305. package/src/styles/mixins/_button-base.scss +185 -0
  306. package/src/styles/mixins/_card-base.scss +40 -0
  307. package/src/styles/mixins/_common.scss +52 -0
  308. package/src/styles/mixins/_dialog-base.scss +96 -0
  309. package/src/styles/mixins/_form-control-base.scss +641 -0
  310. package/src/styles/mixins/_login.scss +74 -0
  311. package/src/styles/mixins/_menu-base.scss +153 -0
  312. package/src/styles/mixins/_overlay-base.scss +33 -0
  313. package/src/styles/mixins/_resizable-base.scss +57 -0
  314. package/src/styles/mixins/_spinner-base.scss +34 -0
  315. package/src/styles/mixins/_table-base.scss +298 -0
  316. package/src/styles/mixins/_tabs-base.scss +110 -0
  317. package/src/styles/mixins/_tags-base.scss +116 -0
  318. package/src/styles/mixins/_text.scss +89 -0
  319. package/src/styles/mixins.scss +15 -0
  320. package/src/styles/utilities/_borders.scss +30 -0
  321. package/src/styles/utilities/_common.scss +49 -0
  322. package/src/styles/utilities/_layout.scss +116 -0
  323. package/src/styles/utilities/_spacing.scss +65 -0
  324. package/src/styles/utilities/_text.scss +139 -0
@@ -0,0 +1,115 @@
1
+ import { CdkConnectedOverlay, Overlay } from '@angular/cdk/overlay';
2
+ import { ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
3
+ import { KeyboardNavContainerDirective } from '../../../public-api';
4
+ import { ValidationMessageService } from '../../core/validation-message.service';
5
+ import { FormGroupHelper } from '../../shared/form-group.helper';
6
+ import { UserPreferenceService } from '../../shared/user-preference.service';
7
+ import { Calendar } from '../calendar/calendar.types';
8
+ import { FormControlBase } from '../form-control-base';
9
+ import { DateInputSelectionStrategyBase } from './date-input-selection-strategies/date-input-selection-strategy-base';
10
+ import { DateInput } from './date-input.types';
11
+ import * as i0 from "@angular/core";
12
+ export declare class DateInputComponent extends FormControlBase implements OnInit, OnChanges {
13
+ protected validationMessageService: ValidationMessageService;
14
+ protected formGroupHelper: FormGroupHelper;
15
+ private userPreferenceService;
16
+ private el;
17
+ private overlayService;
18
+ private selectionStrategies;
19
+ id: string;
20
+ /** The form control provided by the hosting form. */
21
+ formModel: DateInput.FormModel;
22
+ minDate: Date;
23
+ maxDate: Date;
24
+ /** The initial selection mode for the calendar. Defaults to day if not provided */
25
+ selectionMode: DateInput.SelectionMode;
26
+ /** The available selection modes for the calendar. Defaults to only the initial selection mode if not provided. */
27
+ selectionModeOptions: DateInput.SelectionMode[];
28
+ /**
29
+ * When a date is provided, enables the 'quick select' button.
30
+ * Clicking the button will shift the selected date range to the provided date.
31
+ */
32
+ quickSelectDate?: Date;
33
+ /** Enables the next/previous selection buttons. */
34
+ enableSteppers: boolean;
35
+ /** The form group for the internal textboxes. Textbox2 is only used for ranges. */
36
+ textboxGroup: DateInput.TextboxGroup;
37
+ /**
38
+ * The current calendar selection.
39
+ * Updated when the user clicks on a calendar item or when the date entered into the textbox is parsed.
40
+ */
41
+ calendarSelection: DateInput.Selection | null;
42
+ /** Controls whether the calendar overlay is open or not. */
43
+ isCalendarOpen: boolean;
44
+ /** Placeholder for the textbox. Updated to reflect the user's date display preference. */
45
+ placeholder: string;
46
+ /** Overlay scroll strategy for the calendar overlay. Closes the calendar on scroll. */
47
+ overlayScrollStrategy: import("@angular/cdk/overlay").CloseScrollStrategy;
48
+ primaryCalendarView: Calendar.View;
49
+ secondaryCalendarView: Calendar.View;
50
+ primaryCalendarMaxDate: Date;
51
+ secondaryCalendarMinDate: Date;
52
+ disableSteppers: boolean;
53
+ selectionStrategy: DateInputSelectionStrategyBase;
54
+ /**
55
+ * Date parsing formats for user-entered dates. Defaults to month-first formats, but is updated in onInit
56
+ * to use the user's preferred date format.
57
+ */
58
+ private parseFormats;
59
+ calendar?: KeyboardNavContainerDirective;
60
+ controls?: KeyboardNavContainerDirective;
61
+ /** Reference to the overlay directive (see template). Used to update the overlay position on validation changes. */
62
+ overlay?: CdkConnectedOverlay;
63
+ constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper, userPreferenceService: UserPreferenceService, el: ElementRef, overlayService: Overlay, selectionStrategies: DateInput.SelectionStrategies);
64
+ ngOnChanges(changes: SimpleChanges): void;
65
+ ngOnInit(): void;
66
+ /** Focuses the input whenever the calendar is shift-tabbed out of. */
67
+ onCalendarFocusOutStart(): void;
68
+ /** Closes the calendar and focuses the input whenever the calendar is tabbed out of. */
69
+ onCalendarFocusOutEnd(): void;
70
+ /** Closes the calendar if the user clicks outside of the calendar and date input. */
71
+ onOverlayOutsideClick(event: MouseEvent): void;
72
+ /** If the user tabs out of the form control's action button and the calendar is open, focus the first item in the calendar overlay */
73
+ onControlsFocusOutEnd(): void;
74
+ onTextboxBlur(): void;
75
+ onTextbox2Blur(): void;
76
+ onSelectionModeChange(mode: DateInput.SelectionMode): void;
77
+ onCalendarDateSelected(date: Date): void;
78
+ onPrimaryCalendarViewChange(view: Calendar.View): void;
79
+ onSecondaryCalendarViewChange(view: Calendar.View): void;
80
+ /** Shifts the calendar views to display today. Does not update the calendar selection. */
81
+ goToToday(): void;
82
+ goToQuickSelectDate(): void;
83
+ nextSelection(): void;
84
+ previousSelection(): void;
85
+ private updateFormModel;
86
+ private onFormModelStatusChanges;
87
+ private onFormModelValueChanges;
88
+ private onTextboxValueChanges;
89
+ private syncTextboxControlDisabledStatus;
90
+ private syncFormErrors;
91
+ /**
92
+ * Updates the date parsing formats and placeholder based on the user's display preference.
93
+ * NOTE: This is async because we're retrieving the user's preferences. We're not awaiting the result
94
+ * because the only logic that depends on this is the text box date parsing logic and placeholder.
95
+ * Our forms should always be behind a pending overlay, so the user won't be able to interact with the
96
+ * form until the user is loaded anyway.
97
+ */
98
+ private setDateFormats;
99
+ /** Focuses the date input. */
100
+ private focusInput;
101
+ private setSelectionMode;
102
+ /**
103
+ * Sets the max date for the primary calendar and the min date for the secondary calendar based
104
+ * on the current views in each. This prevents the user from moving the calendars out of order.
105
+ */
106
+ private updateCalendarMinMaxDates;
107
+ private updateCalendars;
108
+ private updatePrimaryCalendar;
109
+ private updateSecondaryCalendar;
110
+ private updateSteppers;
111
+ private validateTextboxes;
112
+ private validateDateString;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateInputComponent, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateInputComponent, "ec-date-input", never, { "id": { "alias": "id"; "required": false; }; "formModel": { "alias": "formModel"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "selectionModeOptions": { "alias": "selectionModeOptions"; "required": false; }; "quickSelectDate": { "alias": "quickSelectDate"; "required": false; }; "enableSteppers": { "alias": "enableSteppers"; "required": false; }; }, {}, never, never, false, never>;
115
+ }
@@ -0,0 +1,62 @@
1
+ import { FormControl, FormGroup } from "@angular/forms";
2
+ import { DateDisplayPipe } from "../../shared/display/pipes/date-display.pipe";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategies/date-input-selection-strategy-base";
4
+ import { DaySelectionStrategy } from "./date-input-selection-strategies/day-selection-strategy";
5
+ import { Last28DaysSelectionStrategy } from "./date-input-selection-strategies/last-28-days-selection-strategy";
6
+ import { Last7DaysSelectionStrategy } from "./date-input-selection-strategies/last-7-days-selection-strategy";
7
+ import { MonthSelectionStrategy } from "./date-input-selection-strategies/month-selection-strategy";
8
+ import { QuarterSelectionStrategy } from "./date-input-selection-strategies/quarter-selection-strategy";
9
+ import { RangeSelectionStrategy } from "./date-input-selection-strategies/range-selection-strategy";
10
+ import { YearSelectionStrategy } from "./date-input-selection-strategies/year-selection-strategy";
11
+ import * as i0 from "@angular/core";
12
+ export declare namespace DateInput {
13
+ type FormModel = FormControl<Selection | null>;
14
+ type TextboxGroup = FormGroup<{
15
+ textbox: FormControl<string | null>;
16
+ textbox2: FormControl<string | null>;
17
+ }>;
18
+ type Range = {
19
+ start: Date | null;
20
+ end: Date | null;
21
+ };
22
+ type Selection = Date | Range;
23
+ type SelectionMode = 'day' | 'last7Days' | 'last28Days' | 'month' | 'quarter' | 'year' | 'range';
24
+ function isSelectionSingleDate(selection?: Selection | null): selection is Date;
25
+ function isSelectionRange(selection?: Selection | null): selection is Range;
26
+ type ParsingOptions = {
27
+ /**
28
+ * When configured, the parser will shift the parsed date to the current year if the date is below this date.
29
+ * This is used to prevent the calendars from showing unhelpful dates in the distant past before the user finishes typing in the date.
30
+ */
31
+ shiftToCurrentYearIfBelow?: Date;
32
+ /**
33
+ * When true, the range selection modes (range, last7Days, last28Days) will key off of the end date string to determine the selection range.
34
+ */
35
+ parseFromEnd?: boolean;
36
+ /**
37
+ * Stops the parser from automatically completing the date range when there is only a start or an end date.
38
+ * Only applicable to the fixed length range selection modes (last7Days, last28Days).
39
+ */
40
+ preventAutoComplete?: boolean;
41
+ };
42
+ class SelectionStrategies implements Record<SelectionMode, DateInputSelectionStrategyBase> {
43
+ private dateDisplayPipe;
44
+ constructor(dateDisplayPipe: DateDisplayPipe);
45
+ private _range;
46
+ get range(): RangeSelectionStrategy;
47
+ private _day;
48
+ get day(): DaySelectionStrategy;
49
+ private _last7Days;
50
+ get last7Days(): Last7DaysSelectionStrategy;
51
+ private _last28Days;
52
+ get last28Days(): Last28DaysSelectionStrategy;
53
+ private _month;
54
+ get month(): MonthSelectionStrategy;
55
+ private _quarter;
56
+ get quarter(): QuarterSelectionStrategy;
57
+ _year: YearSelectionStrategy;
58
+ get year(): YearSelectionStrategy;
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectionStrategies, never>;
60
+ static ɵprov: i0.ɵɵInjectableDeclaration<SelectionStrategies>;
61
+ }
62
+ }
@@ -0,0 +1,161 @@
1
+ import { AfterViewInit, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
+ import { PopupStatus } from '../../shared/directives/popup/popup-container.directive';
3
+ import { DisplayStatus } from '../../shared/display';
4
+ import { ButtonComponent, ButtonType } from '../button/button.component';
5
+ import { MenuItem, MenuTemplateType } from '../menu/menu.component';
6
+ import * as i0 from "@angular/core";
7
+ export declare class DropdownComponent implements OnInit, AfterViewInit, OnDestroy {
8
+ /**
9
+ * Base id for the component's sub-elements
10
+ */
11
+ id?: string;
12
+ /**
13
+ * Automatically focus the dropdown toggle button
14
+ */
15
+ autofocus: boolean;
16
+ /**
17
+ * Controls the display status overlay for the menu
18
+ */
19
+ status?: DisplayStatus;
20
+ /**
21
+ * Disable the button to prevent the menu from being opened
22
+ */
23
+ disabled: boolean;
24
+ /**
25
+ * Optional label for the button
26
+ */
27
+ label?: string;
28
+ /**
29
+ * Optional icon for the button
30
+ */
31
+ icon?: string;
32
+ /**
33
+ * The button type, defaults to icon
34
+ */
35
+ buttonType?: ButtonType;
36
+ /**
37
+ * Optionally align the label of the button to the left or right. If not set,
38
+ * will be centered.
39
+ */
40
+ buttonAlignment?: 'left' | 'right';
41
+ /**
42
+ * Adds a tooltip to the dropdown toggle button. Should only be used when
43
+ * the toggle buttonType is 'icon'
44
+ */
45
+ buttonTitle: string;
46
+ /**
47
+ * The tabindex of the button
48
+ */
49
+ tabindex?: number;
50
+ /**
51
+ * Display a caret with the button label or icon
52
+ */
53
+ showArrow: boolean;
54
+ /**
55
+ * Items to display in the menu
56
+ */
57
+ items: MenuItem[];
58
+ /**
59
+ * The menu item template
60
+ */
61
+ menuTemplateType: MenuTemplateType;
62
+ /**
63
+ * Display a header on the menu
64
+ * @deprecated use first menu item with display set to 'heading' instead
65
+ */
66
+ menuTitle?: string;
67
+ /**
68
+ * Set a fixed height for the menu, auto by default
69
+ */
70
+ menuHeight?: number;
71
+ /**
72
+ * Set a fixed width in pixels for the menu, auto by default
73
+ */
74
+ menuWidth?: number;
75
+ /**
76
+ * Set a min-width in pixels on the menu. It will expand if the content is greater than the min-width
77
+ */
78
+ menuMinWidth?: number;
79
+ /**
80
+ * Pin the menu to the left or right of the button. Right by default
81
+ */
82
+ menuPosition?: 'left' | 'right';
83
+ /**
84
+ * Sticky footer to display at the bottom of the popup menu
85
+ */
86
+ menuFooter?: string;
87
+ /**
88
+ * Fix position the menu instead of absolute. Useful when the dropdown is in a
89
+ * dialog
90
+ */
91
+ popupFixed: boolean;
92
+ /**
93
+ * Pass a custom template to the toggle button
94
+ */
95
+ buttonCustomTemplate?: TemplateRef<any>;
96
+ /**
97
+ * Used to set the menu buttons state to pending
98
+ */
99
+ pending: boolean;
100
+ /**
101
+ * Emits an event when a menu item is selected
102
+ */
103
+ itemSelected: EventEmitter<MenuItem>;
104
+ /**
105
+ * Emits an event when the popup menu opens
106
+ */
107
+ popupOpened: EventEmitter<void>;
108
+ /**
109
+ * The status of the menu
110
+ */
111
+ menuStatus: PopupStatus;
112
+ /** Item to highlight when the menu is opened, used when the user
113
+ * opens the menu via the keyboard
114
+ */
115
+ highlightedItem: MenuItem | null;
116
+ /** Used to know if the menu was toggled via the keyboard */
117
+ private isKeyboardEvent;
118
+ /**
119
+ * Internal reference to the menu element
120
+ */
121
+ private menuEl;
122
+ /**
123
+ * Internal reference to the popup directive
124
+ */
125
+ private popup;
126
+ /**
127
+ * Get a reference to the toggle button
128
+ */
129
+ dropdownToggleButton: ButtonComponent;
130
+ /**
131
+ * Unsubscribe any active subscriptions when the component is destroyed
132
+ */
133
+ private componentDestroyed;
134
+ constructor();
135
+ /**
136
+ * Subscribe to changes to the menu status
137
+ */
138
+ ngOnInit(): void;
139
+ /**
140
+ * Set up the popup
141
+ */
142
+ ngAfterViewInit(): void;
143
+ /**
144
+ * Unsubscribe to any active subscriptions
145
+ */
146
+ ngOnDestroy(): void;
147
+ /**
148
+ * Open and close the menu
149
+ */
150
+ toggleMenu(event?: Event): void;
151
+ /**
152
+ * Emit the selected item when it changes and close the menu
153
+ */
154
+ selectedChanged(item: MenuItem): void;
155
+ /**
156
+ * Closes the menu if the tab key is pressed
157
+ */
158
+ keyNavigate(event: KeyboardEvent): void;
159
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
160
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "ec-dropdown", never, { "id": { "alias": "id"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "status": { "alias": "status"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; }; "buttonAlignment": { "alias": "buttonAlignment"; "required": false; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "showArrow": { "alias": "showArrow"; "required": false; }; "items": { "alias": "items"; "required": false; }; "menuTemplateType": { "alias": "menuTemplateType"; "required": false; }; "menuTitle": { "alias": "menuTitle"; "required": false; }; "menuHeight": { "alias": "menuHeight"; "required": false; }; "menuWidth": { "alias": "menuWidth"; "required": false; }; "menuMinWidth": { "alias": "menuMinWidth"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; "menuFooter": { "alias": "menuFooter"; "required": false; }; "popupFixed": { "alias": "popupFixed"; "required": false; }; "buttonCustomTemplate": { "alias": "buttonCustomTemplate"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; }, { "itemSelected": "itemSelected"; "popupOpened": "popupOpened"; }, never, never, false, never>;
161
+ }
@@ -0,0 +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": { "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
+ }
@@ -0,0 +1,28 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import { AbstractControl } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FormControlComponent implements 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
+ private get _formModel();
21
+ constructor(el: ElementRef);
22
+ ngAfterViewInit(): void;
23
+ onClick(): void;
24
+ focus(): void;
25
+ clear(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormControlComponent, never>;
27
+ 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"; }, ["formControlDirective"], ["*"], false, never>;
28
+ }
@@ -0,0 +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": { "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
+ }