@energycap/components 0.41.1-ECAP-27592-angular-17.20241223-1643 → 0.41.1-ECAP-26841-date-input-features.20250106-0847

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 (353) hide show
  1. package/{esm2022 → esm2020}/energycap-components.mjs +4 -4
  2. package/esm2020/lib/components.module.mjs +423 -0
  3. package/esm2020/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2020/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2020/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/{esm2022 → esm2020}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/esm2020/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2020/lib/controls/calendar/calendar-item.component.mjs +91 -0
  9. package/esm2020/lib/controls/calendar/calendar.component.mjs +248 -0
  10. package/esm2020/lib/controls/calendar/calendar.types.mjs +2 -0
  11. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/{esm2022 → esm2020}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/esm2020/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2020/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
  15. package/esm2020/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
  16. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
  17. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
  18. package/esm2020/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
  19. package/esm2020/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
  20. package/esm2020/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
  21. package/esm2020/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
  22. package/esm2020/lib/controls/date-input/date-input.component.mjs +462 -0
  23. package/esm2020/lib/controls/date-input/date-input.types.mjs +44 -0
  24. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +243 -0
  25. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +261 -0
  26. package/esm2020/lib/controls/form-control/form-control.component.mjs +98 -0
  27. package/esm2020/lib/controls/form-control-base.mjs +151 -0
  28. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  29. package/esm2020/lib/controls/form-group/form-group.component.mjs +261 -0
  30. package/{esm2022 → esm2020}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  31. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +329 -0
  32. package/{esm2022 → esm2020}/lib/controls/link-button/link-button.component.mjs +11 -11
  33. package/esm2020/lib/controls/menu/menu.component.mjs +485 -0
  34. package/{esm2022 → esm2020}/lib/controls/navigation/link-item.mjs +1 -1
  35. package/esm2020/lib/controls/navigation/nav-group.mjs +39 -0
  36. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  37. package/{esm2022 → esm2020}/lib/controls/navigation/nav-item.mjs +1 -1
  38. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +372 -0
  39. package/esm2020/lib/controls/popover/popover.component.mjs +117 -0
  40. package/{esm2022 → esm2020}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  41. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +82 -0
  42. package/esm2020/lib/controls/select/select.component.mjs +88 -0
  43. package/esm2020/lib/controls/tabs/tabs.component.mjs +47 -0
  44. package/esm2020/lib/controls/textbox/textbox.component.mjs +155 -0
  45. package/esm2020/lib/core/cache.service.mjs +105 -0
  46. package/esm2020/lib/core/custom-validators.mjs +29 -0
  47. package/esm2020/lib/core/date-time-helper.mjs +228 -0
  48. package/esm2020/lib/core/error.service.mjs +61 -0
  49. package/esm2020/lib/core/router-helper.service.mjs +111 -0
  50. package/esm2020/lib/core/scroll.service.mjs +89 -0
  51. package/{esm2022 → esm2020}/lib/core/telemetry-tracker.service.mjs +16 -16
  52. package/{esm2022 → esm2020}/lib/core/telemetry.service.mjs +38 -38
  53. package/esm2020/lib/core/validation-message.service.mjs +185 -0
  54. package/{esm2022 → esm2020}/lib/core/validation-patterns.mjs +30 -30
  55. package/esm2020/lib/core/window.service.mjs +186 -0
  56. package/esm2020/lib/display/app-bar/app-bar.component.mjs +46 -0
  57. package/esm2020/lib/display/avatar/avatar.component.mjs +67 -0
  58. package/esm2020/lib/display/avatar/avatar.service.mjs +64 -0
  59. package/esm2020/lib/display/confirm/confirm.component.mjs +168 -0
  60. package/{esm2022 → esm2020}/lib/display/dialog/dialog-content.mjs +1 -1
  61. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  62. package/{esm2022 → esm2020}/lib/display/dialog/dialog-types.mjs +76 -76
  63. package/esm2020/lib/display/dialog/dialog.component.mjs +281 -0
  64. package/{esm2022 → esm2020}/lib/display/dialog/dialog.service.mjs +71 -71
  65. package/{esm2022 → esm2020}/lib/display/help/help-types.mjs +1 -1
  66. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  67. package/{esm2022 → esm2020}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  68. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  69. package/esm2020/lib/display/item-display/item-display.component.mjs +81 -0
  70. package/esm2020/lib/display/json-display/json-display.component.mjs +47 -0
  71. package/esm2020/lib/display/resizable/resizable-base.mjs +120 -0
  72. package/{esm2022 → esm2020}/lib/display/resizable/resizable.component.mjs +52 -52
  73. package/{esm2022 → esm2020}/lib/display/spinner/spinner.component.mjs +12 -12
  74. package/esm2020/lib/display/splash/splash.component.mjs +42 -0
  75. package/{esm2022 → esm2020}/lib/display/splash/splash.service.mjs +35 -35
  76. package/{esm2022 → esm2020}/lib/display/table/resizable-column.component.mjs +20 -20
  77. package/esm2020/lib/display/table/resizable-table.directive.mjs +227 -0
  78. package/esm2020/lib/display/table/searchable-table.component.mjs +342 -0
  79. package/{esm2022 → esm2020}/lib/display/table/table-detail-row.component.mjs +19 -19
  80. package/esm2020/lib/display/table/table-locked-column.component.mjs +58 -0
  81. package/{esm2022 → esm2020}/lib/display/table/table-master-header-row.component.mjs +14 -14
  82. package/esm2020/lib/display/table/table-master-row.component.mjs +163 -0
  83. package/esm2020/lib/display/table/table-pagination.component.mjs +155 -0
  84. package/esm2020/lib/display/table/table-selectable-row.component.mjs +235 -0
  85. package/esm2020/lib/display/table/table.component.mjs +249 -0
  86. package/esm2020/lib/display/tags/tag.mjs +18 -0
  87. package/esm2020/lib/display/tags/tags.component.mjs +77 -0
  88. package/esm2020/lib/display/toast/toast/toast.component.mjs +77 -0
  89. package/{esm2022 → esm2020}/lib/display/toast/toast-types.mjs +7 -7
  90. package/{esm2022 → esm2020}/lib/display/toast/toast.service.mjs +35 -35
  91. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +114 -0
  92. package/{esm2022 → esm2020}/lib/display/tooltip/tooltip.component.mjs +28 -28
  93. package/{esm2022 → esm2020}/lib/display/tooltip/tooltip.service.mjs +78 -78
  94. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  95. package/{esm2022 → esm2020}/lib/display/tour/tour-types.mjs +33 -33
  96. package/esm2020/lib/display/tour/tour.component.mjs +398 -0
  97. package/esm2020/lib/display/tour/tour.service.mjs +75 -0
  98. package/esm2020/lib/display/tree/tree.component.mjs +135 -0
  99. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  100. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  101. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  102. package/esm2020/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -0
  103. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +163 -0
  104. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  105. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  106. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  107. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  108. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  109. package/esm2020/lib/shared/display.mjs +6 -0
  110. package/esm2020/lib/shared/form-group.helper.mjs +67 -0
  111. package/esm2020/lib/shared/json-helper.mjs +19 -0
  112. package/esm2020/lib/shared/lodash-helper.mjs +51 -0
  113. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +387 -0
  114. package/{esm2022 → esm2020}/lib/shared/page/page-statuses.mjs +22 -22
  115. package/{esm2022 → esm2020}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  116. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +147 -0
  117. package/{esm2022 → esm2020}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  118. package/{esm2022 → esm2020}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  119. package/{esm2022 → esm2020}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  120. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  121. package/{esm2022 → esm2020}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  122. package/{esm2022 → esm2020}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  123. package/{esm2022 → esm2020}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  124. package/{esm2022 → esm2020}/lib/shared/user-preference.service.mjs +17 -17
  125. package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  126. package/{esm2022 → esm2020}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  127. package/{esm2022 → esm2020}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  128. package/esm2020/public-api.mjs +117 -0
  129. package/fesm2015/energycap-components.mjs +13370 -0
  130. package/fesm2015/energycap-components.mjs.map +1 -0
  131. package/{fesm2022 → fesm2020}/energycap-components.mjs +12971 -11819
  132. package/fesm2020/energycap-components.mjs.map +1 -0
  133. package/index.d.ts +5 -5
  134. package/lib/components.module.d.ts +92 -91
  135. package/lib/controls/banner/banner.component.d.ts +50 -50
  136. package/lib/controls/button/button.component.d.ts +78 -78
  137. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  138. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  139. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  140. package/lib/controls/calendar/calendar-item.component.d.ts +22 -17
  141. package/lib/controls/calendar/calendar.component.d.ts +52 -54
  142. package/lib/controls/calendar/calendar.types.d.ts +11 -7
  143. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  144. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  145. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  146. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -0
  147. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -0
  148. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -0
  149. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -0
  150. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -0
  151. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -0
  152. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -0
  153. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -0
  154. package/lib/controls/date-input/date-input.component.d.ts +115 -80
  155. package/lib/controls/date-input/date-input.types.d.ts +62 -0
  156. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  157. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  158. package/lib/controls/form-control/form-control.component.d.ts +28 -30
  159. package/lib/controls/form-control-base.d.ts +110 -110
  160. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  161. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  162. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  163. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  164. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  165. package/lib/controls/menu/menu.component.d.ts +255 -255
  166. package/lib/controls/navigation/link-item.d.ts +32 -32
  167. package/lib/controls/navigation/nav-group.d.ts +18 -18
  168. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  169. package/lib/controls/navigation/nav-item.d.ts +31 -31
  170. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  171. package/lib/controls/popover/popover.component.d.ts +51 -51
  172. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  173. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  174. package/lib/controls/select/select.component.d.ts +44 -44
  175. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  176. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  177. package/lib/core/cache.service.d.ts +33 -33
  178. package/lib/core/custom-validators.d.ts +20 -20
  179. package/lib/core/date-time-helper.d.ts +101 -101
  180. package/lib/core/error.service.d.ts +20 -20
  181. package/lib/core/router-helper.service.d.ts +48 -48
  182. package/lib/core/scroll.service.d.ts +36 -36
  183. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  184. package/lib/core/telemetry.service.d.ts +31 -31
  185. package/lib/core/validation-message.service.d.ts +26 -26
  186. package/lib/core/validation-patterns.d.ts +22 -22
  187. package/lib/core/window.service.d.ts +116 -116
  188. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  189. package/lib/display/avatar/avatar.component.d.ts +35 -35
  190. package/lib/display/avatar/avatar.service.d.ts +24 -24
  191. package/lib/display/confirm/confirm.component.d.ts +123 -123
  192. package/lib/display/dialog/dialog-content.d.ts +19 -19
  193. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  194. package/lib/display/dialog/dialog-types.d.ts +130 -130
  195. package/lib/display/dialog/dialog.component.d.ts +120 -120
  196. package/lib/display/dialog/dialog.service.d.ts +48 -48
  197. package/lib/display/help/help-types.d.ts +33 -33
  198. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  199. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  200. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  201. package/lib/display/item-display/item-display.component.d.ts +43 -43
  202. package/lib/display/json-display/json-display.component.d.ts +16 -16
  203. package/lib/display/resizable/resizable-base.d.ts +67 -67
  204. package/lib/display/resizable/resizable.component.d.ts +31 -31
  205. package/lib/display/spinner/spinner.component.d.ts +5 -5
  206. package/lib/display/splash/splash.component.d.ts +16 -16
  207. package/lib/display/splash/splash.service.d.ts +22 -22
  208. package/lib/display/table/resizable-column.component.d.ts +10 -10
  209. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  210. package/lib/display/table/searchable-table.component.d.ts +206 -206
  211. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  212. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  213. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  214. package/lib/display/table/table-master-row.component.d.ts +113 -113
  215. package/lib/display/table/table-pagination.component.d.ts +91 -91
  216. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  217. package/lib/display/table/table.component.d.ts +121 -121
  218. package/lib/display/tags/tag.d.ts +18 -18
  219. package/lib/display/tags/tags.component.d.ts +48 -48
  220. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  221. package/lib/display/toast/toast-types.d.ts +24 -24
  222. package/lib/display/toast/toast.service.d.ts +20 -20
  223. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  224. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  225. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  226. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  227. package/lib/display/tour/tour-types.d.ts +70 -70
  228. package/lib/display/tour/tour.component.d.ts +147 -147
  229. package/lib/display/tour/tour.service.d.ts +38 -38
  230. package/lib/display/tree/tree.component.d.ts +75 -75
  231. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  232. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  233. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  234. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -0
  235. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  236. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  237. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  238. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  239. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  240. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  241. package/lib/shared/display.d.ts +42 -42
  242. package/lib/shared/form-group.helper.d.ts +31 -31
  243. package/lib/shared/json-helper.d.ts +7 -7
  244. package/lib/shared/lodash-helper.d.ts +18 -18
  245. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  246. package/lib/shared/page/page-statuses.d.ts +13 -13
  247. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  248. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  249. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  250. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  251. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  252. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  253. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  254. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  255. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  256. package/lib/shared/user-preference.service.d.ts +13 -13
  257. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  258. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  259. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  260. package/package.json +18 -12
  261. package/public-api.d.ts +113 -111
  262. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  263. package/schematics/rxjs-7-upgrade/index.js +67 -67
  264. package/schematics/rxjs-7-upgrade/index.js.map +1 -1
  265. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  266. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  267. package/schematics/utilities/typescript.d.ts +7 -7
  268. package/schematics/utilities/typescript.js +41 -41
  269. package/schematics/utilities/workspace.d.ts +8 -8
  270. package/schematics/utilities/workspace.js +71 -71
  271. package/schematics/utilities/workspace.js.map +1 -1
  272. package/src/assets/locales/en_US.json +9 -1
  273. package/esm2022/lib/components.module.mjs +0 -418
  274. package/esm2022/lib/controls/banner/banner.component.mjs +0 -109
  275. package/esm2022/lib/controls/button/button.component.mjs +0 -106
  276. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  277. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  278. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -59
  279. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -200
  280. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -4
  281. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  282. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  283. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -256
  284. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  285. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  286. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -104
  287. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  288. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  289. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  290. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  291. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  292. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  293. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  294. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  295. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  296. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  297. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  298. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  299. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  300. package/esm2022/lib/core/cache.service.mjs +0 -105
  301. package/esm2022/lib/core/custom-validators.mjs +0 -29
  302. package/esm2022/lib/core/date-time-helper.mjs +0 -220
  303. package/esm2022/lib/core/error.service.mjs +0 -61
  304. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  305. package/esm2022/lib/core/scroll.service.mjs +0 -89
  306. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  307. package/esm2022/lib/core/window.service.mjs +0 -186
  308. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -46
  309. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  310. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  311. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  312. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  313. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -281
  314. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  315. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
  316. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -81
  317. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  318. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  319. package/esm2022/lib/display/splash/splash.component.mjs +0 -42
  320. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  321. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -342
  322. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  323. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  324. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  325. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  326. package/esm2022/lib/display/table/table.component.mjs +0 -249
  327. package/esm2022/lib/display/tags/tag.mjs +0 -18
  328. package/esm2022/lib/display/tags/tags.component.mjs +0 -77
  329. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  330. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  331. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  332. package/esm2022/lib/display/tour/tour.component.mjs +0 -398
  333. package/esm2022/lib/display/tour/tour.service.mjs +0 -75
  334. package/esm2022/lib/display/tree/tree.component.mjs +0 -135
  335. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  336. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  337. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  338. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  339. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
  340. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  341. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  342. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  343. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  344. package/esm2022/lib/shared/display.mjs +0 -6
  345. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  346. package/esm2022/lib/shared/json-helper.mjs +0 -19
  347. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  348. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  349. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  350. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  351. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  352. package/esm2022/public-api.mjs +0 -115
  353. package/fesm2022/energycap-components.mjs.map +0 -1
@@ -0,0 +1,42 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ /**
4
+ * Contains the logic for selecting, formatting, and parsing date dates for a specific selection mode.
5
+ */
6
+ export declare abstract class DateInputSelectionStrategyBase {
7
+ /** The calendar view mode where selections occur for this mode. This is used to zoom the calendar into the selection */
8
+ abstract readonly selectionViewMode: Calendar.ViewMode;
9
+ /** The list of view modes that are accessible by this selection mode. Used to determine whether the calendar view needs to be changed or not on selection change. */
10
+ abstract readonly validViewModes: Calendar.ViewMode[];
11
+ /** Whether the secondary textbox should be shown for this selection mode */
12
+ abstract readonly showSecondaryTextbox: boolean;
13
+ /** Whether the secondary calendar should be shown for this selection mode */
14
+ abstract readonly showSecondaryCalendar: boolean;
15
+ /** Parses the string into a date using the provided parse formats. */
16
+ parseString(value: string | null | undefined, parseFormats: string[], opts?: DateInput.ParsingOptions): Date | null;
17
+ /** Formats a date input selection into values to be displayed in the date input's textboxes. */
18
+ abstract formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
19
+ /**
20
+ * Parses the date input's values into a date selection to display in the calendars.
21
+ * `parseFromEnd` controls whether the fixed range modes (last7days, last28days) will key off the end date instead of the start date.
22
+ * This is used when the user is typing in the end date textbox.
23
+ */
24
+ abstract parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
25
+ /** Returns a selection given a date and an existing selection (in the case of date ranges). Called when a date is clicked in the calendars. */
26
+ abstract getSelectionFromDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
27
+ /** Returns a new selection that best matches the given previous selection from a different selection mode */
28
+ abstract getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
29
+ /** Returns a new selection for the provided date. */
30
+ getSelectionForQuickSelectDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
31
+ /** Returns the next selection. Called by the date input steppers to move the range. */
32
+ abstract getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
33
+ /** Returns the previous selection. Called by the date input steppers to move the range. */
34
+ abstract getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
35
+ /** Returns the view for the primary calendar for the selection and selection mode */
36
+ getPrimaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
37
+ /**
38
+ * Returns the view for the secondary calendar for the selection and selection mode.
39
+ * This is is only used by the range selection strategy. All others just return the current date.
40
+ */
41
+ getSecondaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
42
+ }
@@ -0,0 +1,21 @@
1
+ import { DateDisplayPipe } from "../../../shared/display/pipes/date-display.pipe";
2
+ import { Calendar } from "../../calendar/calendar.types";
3
+ import { DateInput } from "../date-input.types";
4
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
5
+ /**
6
+ * Selection strategy for the 'day' selection mode.
7
+ */
8
+ export declare class DaySelectionStrategy extends DateInputSelectionStrategyBase {
9
+ private dateDisplayPipe;
10
+ readonly selectionViewMode: Calendar.ViewMode;
11
+ readonly validViewModes: Calendar.ViewMode[];
12
+ readonly showSecondaryTextbox = false;
13
+ readonly showSecondaryCalendar = false;
14
+ constructor(dateDisplayPipe: DateDisplayPipe);
15
+ formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
16
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
17
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
18
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
19
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
20
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
21
+ }
@@ -0,0 +1,21 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ import { RangeSelectionStrategy } from "./range-selection-strategy";
5
+ /**
6
+ * Selection strategy for the 'last 28 days' selection mode.
7
+ */
8
+ export declare class Last28DaysSelectionStrategy extends DateInputSelectionStrategyBase {
9
+ private rangeStrategy;
10
+ readonly selectionViewMode: Calendar.ViewMode;
11
+ readonly validViewModes: Calendar.ViewMode[];
12
+ readonly showSecondaryTextbox = true;
13
+ readonly showSecondaryCalendar = false;
14
+ constructor(rangeStrategy: RangeSelectionStrategy);
15
+ formatSelection(value?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
16
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
17
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
18
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
19
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
20
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
21
+ }
@@ -0,0 +1,21 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ import { RangeSelectionStrategy } from "./range-selection-strategy";
5
+ /**
6
+ * Selection strategy for the 'last 7 days' selection mode.
7
+ */
8
+ export declare class Last7DaysSelectionStrategy extends DateInputSelectionStrategyBase {
9
+ private rangeStrategy;
10
+ readonly selectionViewMode: Calendar.ViewMode;
11
+ readonly validViewModes: Calendar.ViewMode[];
12
+ readonly showSecondaryTextbox = true;
13
+ readonly showSecondaryCalendar = false;
14
+ constructor(rangeStrategy: RangeSelectionStrategy);
15
+ formatSelection(value?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
16
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
17
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
18
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
19
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
20
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
21
+ }
@@ -0,0 +1,18 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ /**
5
+ * Selection strategy for the 'month' selection mode.
6
+ */
7
+ export declare class MonthSelectionStrategy extends DateInputSelectionStrategyBase {
8
+ readonly selectionViewMode: Calendar.ViewMode;
9
+ readonly validViewModes: Calendar.ViewMode[];
10
+ readonly showSecondaryTextbox = false;
11
+ readonly showSecondaryCalendar = false;
12
+ formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
13
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
14
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
15
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
16
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
17
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
18
+ }
@@ -0,0 +1,18 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ /**
5
+ * Selection strategy for the 'month' selection mode.
6
+ */
7
+ export declare class QuarterSelectionStrategy extends DateInputSelectionStrategyBase {
8
+ readonly selectionViewMode: Calendar.ViewMode;
9
+ readonly validViewModes: Calendar.ViewMode[];
10
+ readonly showSecondaryTextbox = false;
11
+ readonly showSecondaryCalendar = false;
12
+ formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
13
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
14
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
15
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
16
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
17
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
18
+ }
@@ -0,0 +1,21 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ /**
5
+ * Selection strategy for the 'range' selection mode.
6
+ */
7
+ export declare class RangeSelectionStrategy extends DateInputSelectionStrategyBase {
8
+ readonly selectionViewMode: Calendar.ViewMode;
9
+ readonly validViewModes: Calendar.ViewMode[];
10
+ readonly showSecondaryTextbox = true;
11
+ readonly showSecondaryCalendar = true;
12
+ formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
13
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
14
+ getSelectionFromDate(date: Date, existingSelection: DateInput.Selection | null): DateInput.Selection | null;
15
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
16
+ getSelectionForQuickSelectDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
17
+ getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
18
+ getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
19
+ getPrimaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
20
+ getSecondaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
21
+ }
@@ -0,0 +1,20 @@
1
+ import { Calendar } from "../../calendar/calendar.types";
2
+ import { DateInput } from "../date-input.types";
3
+ import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
4
+ /**
5
+ * Selection strategy for the 'year' selection mode.
6
+ */
7
+ export declare class YearSelectionStrategy extends DateInputSelectionStrategyBase {
8
+ readonly selectionViewMode: Calendar.ViewMode;
9
+ readonly validViewModes: Calendar.ViewMode[];
10
+ readonly showSecondaryTextbox = false;
11
+ readonly showSecondaryCalendar = false;
12
+ formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
13
+ parseString(value: string | null | undefined, parseFormats: string[], opts?: DateInput.ParsingOptions): Date | null;
14
+ parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
15
+ getSelectionFromDate(date: Date): DateInput.Selection | null;
16
+ getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
17
+ getSelectionForQuickSelectDate(date: Date): DateInput.Selection | null;
18
+ getNextSelection(selection: DateInput.Selection): DateInput.Selection | null;
19
+ getPreviousSelection(selection: DateInput.Selection): DateInput.Selection | null;
20
+ }
@@ -1,80 +1,115 @@
1
- import { CdkConnectedOverlay, Overlay } from '@angular/cdk/overlay';
2
- import { ElementRef, OnInit } from '@angular/core';
3
- import { FormControl } from '@angular/forms';
4
- import { ValidationMessageService } from '../../core/validation-message.service';
5
- import { DateDisplayPipe } from '../../shared/display/pipes/date-display.pipe';
6
- import { FormGroupHelper } from '../../shared/form-group.helper';
7
- import { UserPreferenceService } from '../../shared/user-preference.service';
8
- import { CalendarSelection } from '../calendar/calendar.types';
9
- import { FormControlBase } from '../form-control-base';
10
- import * as i0 from "@angular/core";
11
- export type DateInputFormControl = FormControl<Date | null>;
12
- export declare class DateInputComponent extends FormControlBase implements OnInit {
13
- protected validationMessageService: ValidationMessageService;
14
- protected formGroupHelper: FormGroupHelper;
15
- private userPreferenceService;
16
- private dateDisplayPipe;
17
- private el;
18
- private overlayService;
19
- id: string;
20
- /** The form control provided by the hosting form. */
21
- formModel: DateInputFormControl;
22
- minDate: Date;
23
- maxDate: Date;
24
- /** The internal textbox's form control. */
25
- textboxControl: FormControl<string | null>;
26
- /**
27
- * The current calendar selection.
28
- * Updated when the user clicks on a calendar item or when the date entered into the textbox is parsed.
29
- */
30
- calendarSelection: CalendarSelection | null;
31
- /** Controls whether the calendar overlay is open or not. */
32
- isCalendarOpen: boolean;
33
- /** Placeholder for the textbox. Updated to reflect the user's date display preference. */
34
- placeholder: string;
35
- /** Overlay scroll strategy for the calendar overlay. Closes the calendar on scroll. */
36
- overlayScrollStrategy: import("@angular/cdk/overlay").CloseScrollStrategy;
37
- /**
38
- * Date parsing formats for user-entered dates. Defaults to month-first formats, but is updated in onInit
39
- * to use the user's preferred date format.
40
- */
41
- private parseFormats;
42
- /** Reference to the overlay directive (see template). Used to access the overlay's host element to control focus. */
43
- overlay?: CdkConnectedOverlay;
44
- constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper, userPreferenceService: UserPreferenceService, dateDisplayPipe: DateDisplayPipe, el: ElementRef, overlayService: Overlay);
45
- /** Focuses the input whenever the calendar is shift-tabbed out of. */
46
- onCalendarFocusOutStart(event: KeyboardEvent): void;
47
- /** Closes the calendar and focuses the input whenever the calendar is tabbed out of. */
48
- onCalendarFocusOutEnd(event: KeyboardEvent): void;
49
- /** Close the calendar if the user clicks outside of the calendar and date input. */
50
- onOverlayOutsideClick(event: MouseEvent): void;
51
- /** 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 */
52
- onActionKeydown(event: KeyboardEvent): void;
53
- onTextboxKeydown(event: KeyboardEvent): void;
54
- /** Whenever the user selects a date from the calendar, update the formModel with the selection */
55
- onSelectionChange(selection: CalendarSelection | null): void;
56
- onTextboxBlur(): void;
57
- ngOnInit(): void;
58
- private onFormModelStatusChanges;
59
- private onFormModelValueChanges;
60
- private onTextboxValueChanges;
61
- private syncTextboxControlDisabledStatus;
62
- /**
63
- * Updates the date parsing formats and placeholder based on the user's display preference.
64
- * NOTE: This is async because we're retrieving the user's preferences. We're not awaiting the result
65
- * because the only logic that depends on this is the text box date parsing logic and placeholder.
66
- * Our forms should always be behind a pending overlay, so the user won't be able to interact with the
67
- * form until the user is loaded anyway.
68
- */
69
- private setDateFormats;
70
- /**
71
- * Validator that checks if the date is within the min and max date range.
72
- * If the date is outside of the range, the validator returns an error that
73
- * triggers the validation message service to show the error in the label.
74
- */
75
- private dateValidator;
76
- /** Focuses the date input. */
77
- private focusInput;
78
- static ɵfac: i0.ɵɵFactoryDeclaration<DateInputComponent, never>;
79
- 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; }; }, {}, never, never, false, never>;
80
- }
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": "id"; "formModel": "formModel"; "minDate": "minDate"; "maxDate": "maxDate"; "selectionMode": "selectionMode"; "selectionModeOptions": "selectionModeOptions"; "quickSelectDate": "quickSelectDate"; "enableSteppers": "enableSteppers"; }, {}, 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
+ }