@zeedhi/common 3.0.5 → 3.0.7

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 (528) hide show
  1. package/coverage/clover.xml +1404 -1469
  2. package/coverage/coverage-final.json +146 -143
  3. package/coverage/lcov-report/index.html +44 -29
  4. package/coverage/lcov-report/src/components/index.html +1 -1
  5. package/coverage/lcov-report/src/components/index.ts.html +152 -152
  6. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
  7. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
  8. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
  9. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
  10. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
  11. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
  12. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
  13. package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
  14. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
  15. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
  16. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
  17. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
  18. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
  19. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
  20. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
  21. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
  22. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
  23. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
  24. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
  25. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
  26. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
  27. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
  28. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
  29. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
  37. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +3 -3
  38. package/coverage/lcov-report/src/components/zd-alert/index.html +1 -1
  39. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +3 -3
  40. package/coverage/lcov-report/src/components/zd-badge/index.html +1 -1
  41. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +3 -3
  42. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +1 -1
  43. package/coverage/lcov-report/src/components/zd-button/button.ts.html +3 -3
  44. package/coverage/lcov-report/src/components/zd-button/index.html +1 -1
  45. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +3 -3
  46. package/coverage/lcov-report/src/components/zd-button-group/index.html +1 -1
  47. package/coverage/lcov-report/src/components/zd-card/card.ts.html +3 -3
  48. package/coverage/lcov-report/src/components/zd-card/index.html +1 -1
  49. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +3 -3
  50. package/coverage/lcov-report/src/components/zd-carousel/index.html +1 -1
  51. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +5 -5
  52. package/coverage/lcov-report/src/components/zd-checkbox/index.html +1 -1
  53. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +6 -6
  54. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +1 -1
  55. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +3 -3
  56. package/coverage/lcov-report/src/components/zd-chip/index.html +1 -1
  57. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
  58. package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
  59. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +4 -4
  60. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +1 -1
  61. package/coverage/lcov-report/src/components/zd-col/col.ts.html +3 -3
  62. package/coverage/lcov-report/src/components/zd-col/index.html +1 -1
  63. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +3 -3
  64. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +1 -1
  65. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +2 -2
  66. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +5 -5
  67. package/coverage/lcov-report/src/components/zd-component/component.ts.html +57 -57
  68. package/coverage/lcov-report/src/components/zd-component/index.html +1 -1
  69. package/coverage/lcov-report/src/components/zd-container/container.ts.html +3 -3
  70. package/coverage/lcov-report/src/components/zd-container/index.html +1 -1
  71. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +9 -9
  72. package/coverage/lcov-report/src/components/zd-currency/index.html +1 -1
  73. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +160 -517
  74. package/coverage/lcov-report/src/components/zd-date-input/index.html +24 -9
  75. package/coverage/lcov-report/src/components/zd-date-input/utils.ts.html +136 -0
  76. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +289 -583
  77. package/coverage/lcov-report/src/components/zd-date-range/index.html +24 -9
  78. package/coverage/lcov-report/src/components/zd-date-range/utils.ts.html +178 -0
  79. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +30 -30
  80. package/coverage/lcov-report/src/components/zd-dialog/index.html +1 -1
  81. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +3 -3
  82. package/coverage/lcov-report/src/components/zd-divider/index.html +1 -1
  83. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +3 -3
  84. package/coverage/lcov-report/src/components/zd-dropdown/index.html +1 -1
  85. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
  86. package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
  87. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +3 -3
  88. package/coverage/lcov-report/src/components/zd-footer/index.html +1 -1
  89. package/coverage/lcov-report/src/components/zd-form/form.ts.html +3 -3
  90. package/coverage/lcov-report/src/components/zd-form/index.html +1 -1
  91. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +7 -7
  92. package/coverage/lcov-report/src/components/zd-frame/index.html +1 -1
  93. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +4 -4
  94. package/coverage/lcov-report/src/components/zd-frame-page/index.html +1 -1
  95. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +2 -2
  96. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +2 -2
  97. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +10 -10
  98. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +2 -2
  99. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +13 -13
  100. package/coverage/lcov-report/src/components/zd-grid/index.html +1 -1
  101. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +12 -12
  102. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +3 -3
  103. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +3 -3
  104. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +2 -2
  105. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +4 -4
  106. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +2 -2
  107. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +6 -6
  108. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +7 -7
  109. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +1 -1
  110. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +3 -3
  111. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +2 -2
  112. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +2 -2
  113. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +3 -3
  114. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +2 -2
  115. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +2 -2
  116. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +9 -9
  117. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +1 -1
  118. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +9 -9
  119. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +2 -2
  120. package/coverage/lcov-report/src/components/zd-header/header.ts.html +3 -3
  121. package/coverage/lcov-report/src/components/zd-header/index.html +1 -1
  122. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +3 -3
  123. package/coverage/lcov-report/src/components/zd-icon/index.html +1 -1
  124. package/coverage/lcov-report/src/components/zd-image/image.ts.html +3 -3
  125. package/coverage/lcov-report/src/components/zd-image/index.html +1 -1
  126. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +5 -5
  127. package/coverage/lcov-report/src/components/zd-increment/index.html +1 -1
  128. package/coverage/lcov-report/src/components/zd-input/index.html +1 -1
  129. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +4 -4
  130. package/coverage/lcov-report/src/components/zd-input/input.ts.html +46 -46
  131. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +2 -2
  132. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +86 -86
  133. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +4 -4
  134. package/coverage/lcov-report/src/components/zd-iterable/index.html +20 -20
  135. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +2 -2
  136. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +6 -6
  137. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +2 -2
  138. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +5 -5
  139. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +3 -3
  140. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +5 -5
  141. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +3 -3
  142. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +131 -17
  143. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +8 -8
  144. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +1 -1
  145. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +5 -5
  146. package/coverage/lcov-report/src/components/zd-layout/index.html +1 -1
  147. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +3 -3
  148. package/coverage/lcov-report/src/components/zd-list/index.html +1 -1
  149. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +2 -2
  150. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +4 -4
  151. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +3 -3
  152. package/coverage/lcov-report/src/components/zd-list/list.ts.html +4 -4
  153. package/coverage/lcov-report/src/components/zd-loading/index.html +1 -1
  154. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +3 -3
  155. package/coverage/lcov-report/src/components/zd-login/index.html +1 -1
  156. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +4 -4
  157. package/coverage/lcov-report/src/components/zd-login/login.ts.html +3 -3
  158. package/coverage/lcov-report/src/components/zd-main/index.html +1 -1
  159. package/coverage/lcov-report/src/components/zd-main/main.ts.html +3 -3
  160. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +3 -3
  161. package/coverage/lcov-report/src/components/zd-master-detail/index.html +1 -1
  162. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +6 -6
  163. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +3 -3
  164. package/coverage/lcov-report/src/components/zd-menu/index.html +1 -1
  165. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +4 -4
  166. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +3 -3
  167. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +3 -3
  168. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +3 -3
  169. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +4 -4
  170. package/coverage/lcov-report/src/components/zd-modal/index.html +1 -1
  171. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +4 -4
  172. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +5 -5
  173. package/coverage/lcov-report/src/components/zd-month/index.html +9 -9
  174. package/coverage/lcov-report/src/components/zd-month/month.ts.html +43 -259
  175. package/coverage/lcov-report/src/components/zd-number-input/index.html +1 -1
  176. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +9 -9
  177. package/coverage/lcov-report/src/components/zd-password/index.html +1 -1
  178. package/coverage/lcov-report/src/components/zd-password/password.ts.html +7 -7
  179. package/coverage/lcov-report/src/components/zd-progress/index.html +1 -1
  180. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +3 -3
  181. package/coverage/lcov-report/src/components/zd-radio/index.html +1 -1
  182. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +6 -6
  183. package/coverage/lcov-report/src/components/zd-row/index.html +1 -1
  184. package/coverage/lcov-report/src/components/zd-row/row.ts.html +3 -3
  185. package/coverage/lcov-report/src/components/zd-select/index.html +1 -1
  186. package/coverage/lcov-report/src/components/zd-select/select.ts.html +9 -9
  187. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +1 -1
  188. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +5 -5
  189. package/coverage/lcov-report/src/components/zd-svg-map/index.html +1 -1
  190. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +4 -4
  191. package/coverage/lcov-report/src/components/zd-switch/index.html +1 -1
  192. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +5 -5
  193. package/coverage/lcov-report/src/components/zd-table/index.html +1 -1
  194. package/coverage/lcov-report/src/components/zd-table/table.ts.html +4 -4
  195. package/coverage/lcov-report/src/components/zd-tabs/index.html +1 -1
  196. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +2 -2
  197. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +3 -3
  198. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +5 -5
  199. package/coverage/lcov-report/src/components/zd-tag/index.html +1 -1
  200. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +3 -3
  201. package/coverage/lcov-report/src/components/zd-text/index.html +1 -1
  202. package/coverage/lcov-report/src/components/zd-text/text.ts.html +3 -3
  203. package/coverage/lcov-report/src/components/zd-text-input/index.html +1 -1
  204. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +20 -20
  205. package/coverage/lcov-report/src/components/zd-textarea/index.html +1 -1
  206. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +5 -5
  207. package/coverage/lcov-report/src/components/zd-time/index.html +1 -1
  208. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +2 -2
  209. package/coverage/lcov-report/src/components/zd-time/time.ts.html +10 -10
  210. package/coverage/lcov-report/src/components/zd-toggleable/index.html +1 -1
  211. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +3 -3
  212. package/coverage/lcov-report/src/components/zd-tooltip/index.html +1 -1
  213. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +3 -3
  214. package/coverage/lcov-report/src/components/zd-tree/index.html +1 -1
  215. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +7 -7
  216. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +1 -1
  217. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +7 -7
  218. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +2 -2
  219. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +2 -2
  220. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +3 -3
  221. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +3 -3
  222. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +11 -11
  223. package/coverage/lcov-report/src/error/delete-rows.ts.html +3 -3
  224. package/coverage/lcov-report/src/error/index.html +1 -1
  225. package/coverage/lcov-report/src/error/index.ts.html +4 -4
  226. package/coverage/lcov-report/src/error/non-initialized.ts.html +3 -3
  227. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
  228. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
  229. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +2 -2
  230. package/coverage/lcov-report/src/index.html +1 -1
  231. package/coverage/lcov-report/src/index.ts.html +9 -9
  232. package/coverage/lcov-report/src/services/index.html +1 -1
  233. package/coverage/lcov-report/src/services/index.ts.html +5 -5
  234. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +3 -3
  235. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +3 -3
  236. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +5 -5
  237. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +3 -3
  238. package/coverage/lcov-report/src/services/zd-alert/index.html +1 -1
  239. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +6 -6
  240. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +4 -4
  241. package/coverage/lcov-report/src/services/zd-dialog/index.html +1 -1
  242. package/coverage/lcov-report/src/services/zd-loading/index.html +1 -1
  243. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +2 -2
  244. package/coverage/lcov-report/src/services/zd-modal/index.html +1 -1
  245. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +5 -5
  246. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +3 -3
  247. package/coverage/lcov-report/src/utils/data-value-out/index.html +1 -1
  248. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +3 -3
  249. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +3 -3
  250. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +1 -1
  251. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +3 -3
  252. package/coverage/lcov-report/src/utils/date-utils/date-utils.ts.html +166 -0
  253. package/coverage/lcov-report/src/utils/date-utils/index.html +116 -0
  254. package/coverage/lcov-report/src/utils/icons/icons.ts.html +6 -6
  255. package/coverage/lcov-report/src/utils/icons/index.html +1 -1
  256. package/coverage/lcov-report/src/utils/index.html +1 -1
  257. package/coverage/lcov-report/src/utils/index.ts.html +8 -8
  258. package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
  259. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
  260. package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
  261. package/coverage/lcov-report/src/utils/omit/index.html +1 -1
  262. package/coverage/lcov-report/src/utils/omit/omit.ts.html +2 -2
  263. package/coverage/lcov-report/src/utils/theme/index.html +1 -1
  264. package/coverage/lcov-report/src/utils/theme/theme.ts.html +4 -4
  265. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +1 -1
  266. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +3 -3
  267. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +2 -2
  268. package/coverage/lcov-report/src/utils/unique-by/index.html +1 -1
  269. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +3 -3
  270. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
  271. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
  272. package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
  273. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
  274. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +1 -1
  275. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +1 -1
  276. package/coverage/lcov.info +1764 -1900
  277. package/dist/style.css +1 -1
  278. package/dist/zd-common.d.mts +7826 -0
  279. package/dist/zd-common.iife.min.js +11 -0
  280. package/dist/zd-common.mjs +12318 -0
  281. package/environments.json +6 -0
  282. package/jest.config.cjs +1 -0
  283. package/package.json +19 -12
  284. package/src/components/zd-date-input/date-input.ts +49 -168
  285. package/src/components/zd-date-input/utils.ts +17 -0
  286. package/src/components/zd-date-range/date-range.ts +111 -212
  287. package/src/components/zd-date-range/utils.ts +31 -0
  288. package/src/components/zd-frame/frame.ts +2 -2
  289. package/src/components/zd-grid-editable/data-editor-with-add.ts +1 -1
  290. package/src/components/zd-grid-editable/data-editor.ts +2 -2
  291. package/src/components/zd-iterable/iterable.ts +41 -3
  292. package/src/components/zd-month/month.ts +19 -91
  293. package/src/styles/_display.scss +3 -1
  294. package/src/styles/_elevation.scss +2 -1
  295. package/src/styles/_functions.scss +14 -11
  296. package/src/styles/_utilities.scss +67 -62
  297. package/src/styles/_variables.scss +17 -16
  298. package/src/styles/index.scss +5 -5
  299. package/src/utils/date-utils/date-utils.ts +27 -0
  300. package/src/utils/tree-data-structure/tree-data-structure.ts +1 -1
  301. package/tests/unit/components/zd-component/component.spec.ts +3 -2
  302. package/tests/unit/components/zd-date-input/date-input.spec.ts +36 -281
  303. package/tests/unit/components/zd-date-range/date-range.spec.ts +456 -393
  304. package/tests/unit/components/zd-grid/grid-column.spec.ts +1 -1
  305. package/tests/unit/components/zd-grid/grid.spec.ts +48 -35
  306. package/tests/unit/components/zd-grid-editable/data-editor.spec.ts +1 -1
  307. package/tests/unit/components/zd-grid-editable/grid-editable.spec.ts +1 -1
  308. package/tests/unit/components/zd-iterable/column.spec.ts +42 -0
  309. package/tests/unit/components/zd-month/month.spec.ts +7 -334
  310. package/tests/unit/components/zd-select/select.spec.ts +1 -2
  311. package/tests/unit/utils/mock-console.ts +18 -0
  312. package/tsdown.config.ts +74 -0
  313. package/.package.json +0 -45
  314. package/dist/types/components/index.d.ts +0 -151
  315. package/dist/types/components/zd-alert/alert.d.ts +0 -94
  316. package/dist/types/components/zd-alert/interfaces.d.ts +0 -18
  317. package/dist/types/components/zd-badge/badge.d.ts +0 -28
  318. package/dist/types/components/zd-badge/interfaces.d.ts +0 -10
  319. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
  320. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +0 -24
  321. package/dist/types/components/zd-button/button.d.ts +0 -89
  322. package/dist/types/components/zd-button/interfaces.d.ts +0 -48
  323. package/dist/types/components/zd-button-group/button-group.d.ts +0 -67
  324. package/dist/types/components/zd-button-group/interfaces.d.ts +0 -25
  325. package/dist/types/components/zd-card/card.d.ts +0 -152
  326. package/dist/types/components/zd-card/interfaces.d.ts +0 -40
  327. package/dist/types/components/zd-carousel/carousel.d.ts +0 -163
  328. package/dist/types/components/zd-carousel/interfaces.d.ts +0 -49
  329. package/dist/types/components/zd-checkbox/checkbox.d.ts +0 -12
  330. package/dist/types/components/zd-checkbox/interfaces.d.ts +0 -5
  331. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -39
  332. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
  333. package/dist/types/components/zd-chip/chip.d.ts +0 -60
  334. package/dist/types/components/zd-chip/interfaces.d.ts +0 -18
  335. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +0 -86
  336. package/dist/types/components/zd-code-viewer/interfaces.d.ts +0 -13
  337. package/dist/types/components/zd-col/col.d.ts +0 -33
  338. package/dist/types/components/zd-col/interfaces.d.ts +0 -15
  339. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
  340. package/dist/types/components/zd-collapse-card/interfaces.d.ts +0 -14
  341. package/dist/types/components/zd-component/child-not-found.d.ts +0 -6
  342. package/dist/types/components/zd-component/component-render.d.ts +0 -16
  343. package/dist/types/components/zd-component/component.d.ts +0 -120
  344. package/dist/types/components/zd-component/interfaces.d.ts +0 -74
  345. package/dist/types/components/zd-container/container.d.ts +0 -45
  346. package/dist/types/components/zd-container/interfaces.d.ts +0 -12
  347. package/dist/types/components/zd-currency/currency.d.ts +0 -12
  348. package/dist/types/components/zd-currency/interfaces.d.ts +0 -6
  349. package/dist/types/components/zd-date-input/date-input.d.ts +0 -152
  350. package/dist/types/components/zd-date-input/interfaces.d.ts +0 -27
  351. package/dist/types/components/zd-date-range/date-range.d.ts +0 -158
  352. package/dist/types/components/zd-date-range/interfaces.d.ts +0 -18
  353. package/dist/types/components/zd-dialog/dialog.d.ts +0 -76
  354. package/dist/types/components/zd-dialog/interfaces.d.ts +0 -13
  355. package/dist/types/components/zd-divider/divider.d.ts +0 -20
  356. package/dist/types/components/zd-divider/interfaces.d.ts +0 -8
  357. package/dist/types/components/zd-dropdown/dropdown.d.ts +0 -81
  358. package/dist/types/components/zd-dropdown/interfaces.d.ts +0 -23
  359. package/dist/types/components/zd-footer/footer.d.ts +0 -80
  360. package/dist/types/components/zd-footer/interfaces.d.ts +0 -26
  361. package/dist/types/components/zd-form/form.d.ts +0 -174
  362. package/dist/types/components/zd-form/interfaces.d.ts +0 -36
  363. package/dist/types/components/zd-frame/frame.d.ts +0 -81
  364. package/dist/types/components/zd-frame/interfaces.d.ts +0 -23
  365. package/dist/types/components/zd-frame-page/frame-page.d.ts +0 -14
  366. package/dist/types/components/zd-frame-page/interfaces.d.ts +0 -4
  367. package/dist/types/components/zd-grid/data-navigator.d.ts +0 -12
  368. package/dist/types/components/zd-grid/data-selector.d.ts +0 -25
  369. package/dist/types/components/zd-grid/grid-column.d.ts +0 -47
  370. package/dist/types/components/zd-grid/grid-events.d.ts +0 -26
  371. package/dist/types/components/zd-grid/grid.d.ts +0 -85
  372. package/dist/types/components/zd-grid/index.d.ts +0 -11
  373. package/dist/types/components/zd-grid/interfaces.d.ts +0 -148
  374. package/dist/types/components/zd-grid/iterable-table.d.ts +0 -28
  375. package/dist/types/components/zd-grid/keymap-merger.d.ts +0 -26
  376. package/dist/types/components/zd-grid/keymap-navigation.d.ts +0 -6
  377. package/dist/types/components/zd-grid/table-action-builder.d.ts +0 -19
  378. package/dist/types/components/zd-grid/view-navigator.d.ts +0 -10
  379. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +0 -35
  380. package/dist/types/components/zd-grid-editable/data-editor.d.ts +0 -64
  381. package/dist/types/components/zd-grid-editable/errors/index.d.ts +0 -2
  382. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +0 -6
  383. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +0 -6
  384. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +0 -9
  385. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +0 -8
  386. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +0 -32
  387. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +0 -124
  388. package/dist/types/components/zd-grid-editable/index.d.ts +0 -8
  389. package/dist/types/components/zd-grid-editable/interfaces.d.ts +0 -66
  390. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +0 -7
  391. package/dist/types/components/zd-header/header.d.ts +0 -94
  392. package/dist/types/components/zd-header/interfaces.d.ts +0 -29
  393. package/dist/types/components/zd-icon/icon.d.ts +0 -55
  394. package/dist/types/components/zd-icon/interfaces.d.ts +0 -13
  395. package/dist/types/components/zd-image/image.d.ts +0 -73
  396. package/dist/types/components/zd-image/interfaces.d.ts +0 -17
  397. package/dist/types/components/zd-increment/increment.d.ts +0 -56
  398. package/dist/types/components/zd-increment/interfaces.d.ts +0 -9
  399. package/dist/types/components/zd-input/input-factory.d.ts +0 -6
  400. package/dist/types/components/zd-input/input.d.ts +0 -223
  401. package/dist/types/components/zd-input/interfaces.d.ts +0 -38
  402. package/dist/types/components/zd-iterable/column-not-found.d.ts +0 -6
  403. package/dist/types/components/zd-iterable/column.d.ts +0 -78
  404. package/dist/types/components/zd-iterable/conditions-manager.d.ts +0 -49
  405. package/dist/types/components/zd-iterable/interfaces.d.ts +0 -103
  406. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
  407. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +0 -35
  408. package/dist/types/components/zd-iterable/iterable-controller.d.ts +0 -8
  409. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
  410. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
  411. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
  412. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
  413. package/dist/types/components/zd-iterable/iterable.d.ts +0 -77
  414. package/dist/types/components/zd-iterable/search.d.ts +0 -31
  415. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +0 -34
  416. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -84
  417. package/dist/types/components/zd-layout/interfaces.d.ts +0 -7
  418. package/dist/types/components/zd-layout/layout.d.ts +0 -9
  419. package/dist/types/components/zd-list/interfaces.d.ts +0 -44
  420. package/dist/types/components/zd-list/item-not-found.d.ts +0 -6
  421. package/dist/types/components/zd-list/list-group.d.ts +0 -30
  422. package/dist/types/components/zd-list/list-item.d.ts +0 -46
  423. package/dist/types/components/zd-list/list.d.ts +0 -81
  424. package/dist/types/components/zd-loading/interfaces.d.ts +0 -7
  425. package/dist/types/components/zd-loading/loading.d.ts +0 -21
  426. package/dist/types/components/zd-login/interfaces.d.ts +0 -25
  427. package/dist/types/components/zd-login/login-button.d.ts +0 -50
  428. package/dist/types/components/zd-login/login.d.ts +0 -54
  429. package/dist/types/components/zd-main/interfaces.d.ts +0 -5
  430. package/dist/types/components/zd-main/main.d.ts +0 -7
  431. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +0 -7
  432. package/dist/types/components/zd-master-detail/interfaces.d.ts +0 -10
  433. package/dist/types/components/zd-master-detail/master-detail.d.ts +0 -18
  434. package/dist/types/components/zd-master-detail/master-not-found.d.ts +0 -7
  435. package/dist/types/components/zd-menu/interfaces.d.ts +0 -68
  436. package/dist/types/components/zd-menu/menu-button.d.ts +0 -29
  437. package/dist/types/components/zd-menu/menu-group.d.ts +0 -61
  438. package/dist/types/components/zd-menu/menu-link.d.ts +0 -50
  439. package/dist/types/components/zd-menu/menu-separator.d.ts +0 -7
  440. package/dist/types/components/zd-menu/menu.d.ts +0 -199
  441. package/dist/types/components/zd-modal/interfaces.d.ts +0 -35
  442. package/dist/types/components/zd-modal/modal-close-button.d.ts +0 -28
  443. package/dist/types/components/zd-modal/modal.d.ts +0 -53
  444. package/dist/types/components/zd-month/interfaces.d.ts +0 -6
  445. package/dist/types/components/zd-month/month.d.ts +0 -33
  446. package/dist/types/components/zd-number-input/interfaces.d.ts +0 -8
  447. package/dist/types/components/zd-number-input/number-input.d.ts +0 -43
  448. package/dist/types/components/zd-password/interfaces.d.ts +0 -6
  449. package/dist/types/components/zd-password/password.d.ts +0 -17
  450. package/dist/types/components/zd-progress/interfaces.d.ts +0 -10
  451. package/dist/types/components/zd-progress/progress.d.ts +0 -41
  452. package/dist/types/components/zd-radio/interfaces.d.ts +0 -11
  453. package/dist/types/components/zd-radio/radio.d.ts +0 -35
  454. package/dist/types/components/zd-row/interfaces.d.ts +0 -13
  455. package/dist/types/components/zd-row/row.d.ts +0 -39
  456. package/dist/types/components/zd-select/interfaces.d.ts +0 -24
  457. package/dist/types/components/zd-select/select.d.ts +0 -238
  458. package/dist/types/components/zd-select-multiple/interfaces.d.ts +0 -18
  459. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +0 -113
  460. package/dist/types/components/zd-svg-map/interfaces.d.ts +0 -26
  461. package/dist/types/components/zd-svg-map/svg-map.d.ts +0 -35
  462. package/dist/types/components/zd-switch/interfaces.d.ts +0 -7
  463. package/dist/types/components/zd-switch/switch.d.ts +0 -16
  464. package/dist/types/components/zd-table/interfaces.d.ts +0 -25
  465. package/dist/types/components/zd-table/table.d.ts +0 -42
  466. package/dist/types/components/zd-tabs/interfaces.d.ts +0 -40
  467. package/dist/types/components/zd-tabs/tab-not-found.d.ts +0 -11
  468. package/dist/types/components/zd-tabs/tab.d.ts +0 -57
  469. package/dist/types/components/zd-tabs/tabs.d.ts +0 -86
  470. package/dist/types/components/zd-tag/interfaces.d.ts +0 -7
  471. package/dist/types/components/zd-tag/tag.d.ts +0 -13
  472. package/dist/types/components/zd-text/interfaces.d.ts +0 -9
  473. package/dist/types/components/zd-text/text.d.ts +0 -8
  474. package/dist/types/components/zd-text-input/interfaces.d.ts +0 -23
  475. package/dist/types/components/zd-text-input/text-input.d.ts +0 -91
  476. package/dist/types/components/zd-textarea/interfaces.d.ts +0 -21
  477. package/dist/types/components/zd-textarea/textarea.d.ts +0 -71
  478. package/dist/types/components/zd-time/interfaces.d.ts +0 -22
  479. package/dist/types/components/zd-time/time-format-selector.d.ts +0 -8
  480. package/dist/types/components/zd-time/time.d.ts +0 -149
  481. package/dist/types/components/zd-toggleable/interfaces.d.ts +0 -6
  482. package/dist/types/components/zd-toggleable/toggleable.d.ts +0 -21
  483. package/dist/types/components/zd-tooltip/interfaces.d.ts +0 -18
  484. package/dist/types/components/zd-tooltip/tooltip.d.ts +0 -57
  485. package/dist/types/components/zd-tree/interfaces.d.ts +0 -107
  486. package/dist/types/components/zd-tree/tree.d.ts +0 -161
  487. package/dist/types/components/zd-tree-grid/index.d.ts +0 -6
  488. package/dist/types/components/zd-tree-grid/interfaces.d.ts +0 -35
  489. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +0 -10
  490. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +0 -7
  491. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +0 -10
  492. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +0 -18
  493. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +0 -119
  494. package/dist/types/error/delete-rows.d.ts +0 -7
  495. package/dist/types/error/index.d.ts +0 -3
  496. package/dist/types/error/non-initialized.d.ts +0 -7
  497. package/dist/types/error/zeedhi-error.d.ts +0 -6
  498. package/dist/types/index.d.ts +0 -6
  499. package/dist/types/services/index.d.ts +0 -4
  500. package/dist/types/services/zd-alert/alert-queue.d.ts +0 -13
  501. package/dist/types/services/zd-alert/alert-replace.d.ts +0 -18
  502. package/dist/types/services/zd-alert/alert-service.d.ts +0 -45
  503. package/dist/types/services/zd-alert/alert-stack.d.ts +0 -9
  504. package/dist/types/services/zd-alert/index.d.ts +0 -5
  505. package/dist/types/services/zd-alert/interfaces.d.ts +0 -6
  506. package/dist/types/services/zd-dialog/dialog-service.d.ts +0 -24
  507. package/dist/types/services/zd-loading/loading-service.d.ts +0 -17
  508. package/dist/types/services/zd-modal/modal-service.d.ts +0 -39
  509. package/dist/types/utils/data-value-out/data-value-out.d.ts +0 -5
  510. package/dist/types/utils/data-value-out/index.d.ts +0 -2
  511. package/dist/types/utils/data-value-out/interfaces.d.ts +0 -8
  512. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +0 -6
  513. package/dist/types/utils/datasource-searcher/index.d.ts +0 -2
  514. package/dist/types/utils/datasource-searcher/interfaces.d.ts +0 -5
  515. package/dist/types/utils/icons/icons.d.ts +0 -24
  516. package/dist/types/utils/index.d.ts +0 -7
  517. package/dist/types/utils/omit/omit.d.ts +0 -11
  518. package/dist/types/utils/theme/theme.d.ts +0 -34
  519. package/dist/types/utils/tree-data-structure/index.d.ts +0 -2
  520. package/dist/types/utils/tree-data-structure/interfaces.d.ts +0 -30
  521. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -155
  522. package/dist/types/utils/unique-by/unique-by.d.ts +0 -3
  523. package/dist/zd-common.js +0 -13133
  524. package/dist/zd-common.min.js +0 -13133
  525. package/rollup.config.js +0 -27
  526. package/rollup.scss.config.js +0 -14
  527. package/tests/unit/utils/is-filled-object.spec.ts +0 -33
  528. package/tsconfig.build.json +0 -7
@@ -0,0 +1,27 @@
1
+ import { dayjs } from '@zeedhi/core';
2
+
3
+ export function isDateAllowed(
4
+ date: Date,
5
+ dateFormat: string,
6
+ allowedDates?: ((date: string) => boolean) | string[],
7
+ ): boolean {
8
+ if (!allowedDates) return true;
9
+
10
+ if (allowedDates.length === 0) return false;
11
+
12
+ const dateString = dayjs(date).format(dateFormat);
13
+
14
+ if (allowedDates instanceof Function) {
15
+ return allowedDates(dateString);
16
+ }
17
+ return allowedDates.indexOf(dateString) !== -1;
18
+ }
19
+
20
+ /**
21
+ * Translates a date format into a mask format
22
+ * @param format The format to be translated
23
+ * @returns The mask format
24
+ */
25
+ export function toMask(format: string): string {
26
+ return format.replace(/[A-Za-z]/gi, '#');
27
+ }
@@ -279,7 +279,7 @@ export class TreeDataStructure implements ITreeDataStructure {
279
279
 
280
280
  if (row[columns[index]] === nextRow[columns[index]]) {
281
281
  const nextIndex = index + 1;
282
- if (Object.prototype.hasOwnProperty.call(columns, nextIndex)) {
282
+ if (Object.hasOwn(columns, nextIndex)) {
283
283
  return this.sort(row, nextRow, columns, types, nextIndex);
284
284
  }
285
285
  return orderTypes.same;
@@ -256,7 +256,8 @@ describe('Component', () => {
256
256
  it('should retrieve a child', () => {
257
257
  const parent = new Component({ name: 'parent' });
258
258
  const instance = new Component({ parent, name: 'component' });
259
- const spy = jest.spyOn(console, 'warn').mockImplementation(() => true);
259
+ const spy = jest.spyOn(console, 'warn');
260
+ spy.mockReset();
260
261
  instance.onCreated();
261
262
  const child = parent.getChildInstance<Component>('component');
262
263
  expect(child.name).toBe('component');
@@ -279,7 +280,7 @@ describe('Component', () => {
279
280
  it('should only add instance to Metadata', () => {
280
281
  const instance = new Component({ name: 'component' });
281
282
  const spy = jest.spyOn(Metadata, 'addInstance');
282
- const consoleSpy = jest.spyOn(console, 'warn').mockImplementation(() => true);
283
+ const consoleSpy = jest.spyOn(console, 'warn');
283
284
  instance.onCreated();
284
285
  expect(spy).toHaveBeenCalledWith(instance, false);
285
286
  expect(consoleSpy).toHaveBeenCalled();
@@ -146,6 +146,7 @@ describe('DateInput', () => {
146
146
  displayFormat: 'MMMM DD, YYYY',
147
147
  inputFormat: 'DD MM YYYY',
148
148
  });
149
+ instance.focus(new Event('focus'), {});
149
150
  // set value directly
150
151
  instance.value = '10/12/2020'; // DD/MM/YYYY
151
152
  expect(instance.value).toBe('10/12/2020');
@@ -164,69 +165,6 @@ describe('DateInput', () => {
164
165
  });
165
166
  });
166
167
 
167
- it('when initial mask and complex displayFormat, should behave the same when setting via value/displayValue', () => {
168
- const instance = new DateInput({
169
- name: 'date',
170
- component: 'DateInput',
171
- dateFormat: 'DD/MM/YYYY',
172
- displayFormat: 'MMMM DD, YYYY',
173
- mask: '## ## ####',
174
- });
175
- instance.value = '08/12/2020'; // DD/MM/YYYY
176
- expect(instance.value).toBe('08/12/2020');
177
- expect(instance.displayValue).toBe('08 12 2020');
178
-
179
- instance.displayValue = '09 12 2020'; // DD MM YYYY
180
- expect(instance.value).toBe('09/12/2020');
181
- expect(instance.displayValue).toBe('09 12 2020');
182
-
183
- instance.blur(new Event('blur'), {});
184
- expect(instance.value).toBe('09/12/2020');
185
- expect(instance.displayValue).toBe('December 09, 2020');
186
- });
187
-
188
- it('when initial mask is defined and simple displayFormat, should use displayFormat as mask fallback', () => {
189
- const instance = new DateInput({
190
- name: 'date',
191
- component: 'DateInput',
192
- dateFormat: 'DD/MM/YYYY',
193
- displayFormat: 'MM/DD/YYYY',
194
- mask: '## ## ####',
195
- });
196
- instance.value = '08/12/2020'; // DD/MM/YYYY
197
- expect(instance.value).toBe('08/12/2020');
198
- expect(instance.displayValue).toBe('12 08 2020');
199
-
200
- instance.displayValue = '12 09 2020'; // DD MM YYYY
201
- expect(instance.value).toBe('09/12/2020');
202
- expect(instance.displayValue).toBe('12 09 2020');
203
-
204
- instance.blur(new Event('blur'), {});
205
- expect(instance.value).toBe('09/12/2020');
206
- expect(instance.displayValue).toBe('12/09/2020');
207
- });
208
-
209
- it('should display value with no delimiters', () => {
210
- const instance = new DateInput({
211
- name: 'date',
212
- component: 'DateInput',
213
- dateFormat: 'DD/MM/YYYY',
214
- displayFormat: 'MMDDYYYY',
215
- mask: '## ## ####',
216
- });
217
- instance.value = '08/12/2020'; // DD/MM/YYYY
218
- expect(instance.value).toBe('08/12/2020');
219
- expect(instance.displayValue).toBe('12 08 2020');
220
-
221
- instance.displayValue = '12 09 2020'; // DD MM YYYY
222
- expect(instance.value).toBe('09/12/2020');
223
- expect(instance.displayValue).toBe('12 09 2020');
224
-
225
- instance.blur(new Event('blur'), {});
226
- expect(instance.value).toBe('09/12/2020');
227
- expect(instance.displayValue).toBe('12092020');
228
- });
229
-
230
168
  it('should not call change event if the value is the same', () => {
231
169
  const changeFn = jest.fn();
232
170
  const instance = new DateInput({
@@ -254,6 +192,7 @@ describe('DateInput', () => {
254
192
  displayFormat: 'MMMM DD, YYYY',
255
193
  inputFormat: 'MM/DD/YYYY',
256
194
  });
195
+ instance.focus(new Event('focus'), {});
257
196
  // set value directly
258
197
  instance.value = '10/12/2020'; // DD/MM/YYYY
259
198
  expect(instance.value).toBe('10/12/2020');
@@ -280,6 +219,7 @@ describe('DateInput', () => {
280
219
  displayFormat: 'MMMM DD, YYYY',
281
220
  inputFormat: 'MM/DD/YYYY',
282
221
  });
222
+ instance.focus(new Event('focus'), {});
283
223
  instance.value = '08/12/2020'; // DD/MM/YYYY
284
224
  expect(instance.value).toBe('08/12/2020');
285
225
  expect(instance.displayValue).toBe('12/08/2020');
@@ -516,26 +456,6 @@ describe('DateInput', () => {
516
456
  expect(eventFn).toHaveBeenCalled();
517
457
  expect(instance.value).toBeNull();
518
458
  });
519
-
520
- it('should remove date mask if initial mask is set and value is valid', () => {
521
- const eventFn = jest.fn();
522
- const instance = new DateInput({
523
- name: 'date',
524
- component: 'ZdDateInput',
525
- mask: '## ## ####',
526
- });
527
-
528
- instance.displayValue = '12 21 2020';
529
- expect(eventFn).not.toHaveBeenCalled();
530
-
531
- instance.events = {
532
- blur: eventFn,
533
- };
534
- instance.blur(new Event('blur'), {});
535
-
536
- expect(eventFn).toHaveBeenCalled();
537
- expect(instance.mask).toBe<string>('');
538
- });
539
459
  });
540
460
 
541
461
  describe('mounted', () => {
@@ -550,7 +470,7 @@ describe('DateInput', () => {
550
470
  instance.setDateValue = setDateValueSpy;
551
471
  instance.formatter = formatterSpy;
552
472
 
553
- instance.onMounted();
473
+ instance.onMounted({});
554
474
 
555
475
  expect(formatterSpy).not.toHaveBeenCalled();
556
476
  expect(setDateValueSpy).not.toHaveBeenCalled();
@@ -567,7 +487,7 @@ describe('DateInput', () => {
567
487
  instance.setDateValue = setDateValueSpy;
568
488
  instance.formatter = formatterSpy;
569
489
 
570
- instance.onMounted();
490
+ instance.onMounted({});
571
491
 
572
492
  expect(formatterSpy).toHaveBeenCalledWith('02/02/2002');
573
493
  expect(setDateValueSpy).toHaveBeenCalled();
@@ -575,65 +495,31 @@ describe('DateInput', () => {
575
495
  });
576
496
 
577
497
  describe('focus()', () => {
578
- it('if initial mask and value is set, should assign initialMask to mask', () => {
579
- const eventFn = jest.fn();
580
- const instance = new DateInput({
581
- name: 'date',
582
- component: 'ZdDateInput',
583
- mask: '## ## ####',
584
- });
585
-
586
- instance.mask = '';
587
- instance.setDateValue('02-28-2020');
588
-
589
- expect(eventFn).not.toHaveBeenCalled();
590
-
591
- instance.events = {
592
- focus: eventFn,
593
- };
594
- instance.focus(new Event('focus'), {});
595
-
596
- jest.runAllTimers();
597
-
598
- expect(eventFn).toHaveBeenCalled();
599
-
600
- expect(instance.mask).toBe('## ## ####');
601
- });
602
-
603
- it('if initial mask or value is not set, should not assign initialMask to mask', () => {
604
- const eventFn = jest.fn();
498
+ it('when value is invalid, should not change the displayValue on focus', () => {
605
499
  const instance = new DateInput({
606
500
  name: 'date',
607
501
  component: 'ZdDateInput',
608
- displayFormat: 'DD/MM/YYYY',
502
+ inputFormat: 'DD/MM/YYYY',
609
503
  });
610
-
611
- instance.setDateValue('21-12-2020');
612
-
613
- expect(eventFn).not.toHaveBeenCalled();
614
-
615
- instance.events = {
616
- focus: eventFn,
617
- };
504
+ instance.value = '99/99/9999';
618
505
  instance.focus(new Event('focus'), {});
619
-
620
- expect(eventFn).toHaveBeenCalled();
621
- expect(instance.updateMask()).toBe<string>('##/##/####');
622
- expect(instance.mask).toBe<string>('##/##/####');
506
+ expect(instance.displayValue).toBe('99/99/9999');
623
507
  });
624
508
  });
625
509
 
626
510
  describe('FormatterParserProvider', () => {
511
+ const formatterFn = FormatterParserProvider.getFormatter('ZdDateInput');
512
+ const formatterDateTimeFn = FormatterParserProvider.getFormatter('ZdDateTime');
513
+ const parserFn = FormatterParserProvider.getParser('ZdDateInput');
514
+ const parserDateTimeFn = FormatterParserProvider.getParser('ZdDateTime');
515
+
627
516
  it('should return formatter function', () => {
628
- const formatterFn = FormatterParserProvider.getFormatter('ZdDateInput');
629
517
  expect(formatterFn).toBeInstanceOf(Function);
630
518
 
631
- const formatterDateTimeFn = FormatterParserProvider.getFormatter('ZdDateTime');
632
519
  expect(formatterDateTimeFn).toBeInstanceOf(Function);
633
520
  });
634
521
 
635
522
  it('should format date', () => {
636
- const formatterFn = FormatterParserProvider.getFormatter('ZdDateInput');
637
523
  expect(formatterFn('12-20-2019')).toBe('12-20-2019');
638
524
  expect(formatterFn('20-12-2019')).toBe('20-12-2019');
639
525
  expect(formatterFn('aaa')).toBe('aaa');
@@ -641,88 +527,31 @@ describe('DateInput', () => {
641
527
  });
642
528
 
643
529
  it('when value is invalid and mask is set, should get same value', () => {
644
- const formatterFn = FormatterParserProvider.getFormatter('ZdDateInput');
645
-
646
530
  const formatted = formatterFn('20/12', {
647
531
  dateFormat: 'DD/MM/YYYY',
648
532
  displayFormat: 'YYYY-MM-DD',
649
- mask: '####/##/##',
650
- initialMask: '####/##/##',
651
533
  });
652
534
 
653
535
  expect(formatted).toBe('20/12');
654
536
  });
655
537
 
656
- it('when value is valid and mask is set, should get masked value', () => {
657
- const formatterFn = FormatterParserProvider.getFormatter('ZdDateInput');
658
-
659
- const formatted = formatterFn('20/12/2020', {
660
- dateFormat: 'DD/MM/YYYY',
661
- displayFormat: 'YYYY-MM-DD',
662
- mask: '##/##/####',
663
- initialMask: '##/##/####',
664
- });
665
-
666
- expect(formatted).toBe('20/12/2020');
667
- });
668
-
669
538
  it('should format date time', () => {
670
- const formatterFn = FormatterParserProvider.getFormatter('ZdDateTime');
671
- expect(formatterFn('12-20-2019 12:34:56')).toBe('12-20-2019 12:34:56');
672
- expect(formatterFn('20-12-2019 12:34:56')).toBe('20-12-2019 12:34:56');
673
- expect(formatterFn('aaa')).toBe('aaa');
674
- expect(formatterFn('')).toBe('');
675
- expect(formatterFn('20/12/2019 12:34:56', {
539
+ expect(formatterDateTimeFn('12-20-2019 12:34:56')).toBe('12-20-2019 12:34:56');
540
+ expect(formatterDateTimeFn('20-12-2019 12:34:56')).toBe('20-12-2019 12:34:56');
541
+ expect(formatterDateTimeFn('aaa')).toBe('aaa');
542
+ expect(formatterDateTimeFn('')).toBe('');
543
+ expect(formatterDateTimeFn('20/12/2019 12:34:56', {
676
544
  dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',
677
545
  displayFormat: 'YYYY-MM-DD HH:mm:ss',
678
546
  })).toBe('2019-12-20 12:34:56');
679
547
  });
680
548
 
681
549
  it('should return parser function', () => {
682
- const parserFn = FormatterParserProvider.getParser('ZdDateInput');
683
550
  expect(parserFn).toBeInstanceOf(Function);
684
- const parserDateTimeFn = FormatterParserProvider.getParser('ZdDateTime');
685
551
  expect(parserDateTimeFn).toBeInstanceOf(Function);
686
552
  });
687
553
 
688
- it('when formatted value is masked, should remove mask and parse using displayFormat mask', () => {
689
- const parserFn = FormatterParserProvider.getParser('ZdDateInput');
690
-
691
- const parsed = parserFn('2019/12/20', {
692
- dateFormat: 'DD/MM/YYYY',
693
- displayFormat: 'YYYY-MM-DD',
694
- mask: '####/##/##',
695
- });
696
-
697
- expect(parsed).toBe('20/12/2019');
698
- });
699
-
700
- it('when formatted value is masked and can\'t be masked using displayFmt mask, should parse using dateFmt mask', () => {
701
- const parserFn = FormatterParserProvider.getParser('ZdDateInput');
702
-
703
- const parsed = parserFn('20-12-2019', {
704
- dateFormat: 'DD/MM/YYYY',
705
- displayFormat: 'YYYY MMMM, Do',
706
- mask: '##-##-####',
707
- });
708
-
709
- expect(parsed).toBe('20/12/2019');
710
- });
711
-
712
- it('when formatted value is masked and can\'t use neither displayFmt or dateFmt mask, should not parse', () => {
713
- const parserFn = FormatterParserProvider.getParser('ZdDateInput');
714
-
715
- const parsed = parserFn('20-12-2019', {
716
- dateFormat: 'Do/MM/YYYY',
717
- displayFormat: 'YYYY MMMM, Do',
718
- mask: '##-##-####',
719
- });
720
-
721
- expect(parsed).toBe('20-12-2019');
722
- });
723
-
724
554
  it('should parse date', () => {
725
- const parserFn = FormatterParserProvider.getParser('ZdDateInput');
726
555
  expect(parserFn('12-20-2019')).toBe('12-20-2019');
727
556
  expect(parserFn('20-12-2019')).toBe('20-12-2019');
728
557
  expect(parserFn('aaa')).toBe('aaa');
@@ -730,16 +559,27 @@ describe('DateInput', () => {
730
559
  });
731
560
 
732
561
  it('should parse date time', () => {
733
- const parserFn = FormatterParserProvider.getParser('ZdDateTime');
734
- expect(parserFn('12-20-2019 12:34:56')).toBe('12-20-2019 12:34:56');
735
- expect(parserFn('20-12-2019 12:34:56')).toBe('20-12-2019 12:34:56');
736
- expect(parserFn('aaa')).toBe('aaa');
737
- expect(parserFn('')).toBeNull();
738
- expect(parserFn('2019-12-20 12:34:56', {
562
+ expect(parserDateTimeFn('12-20-2019 12:34:56')).toBe('12-20-2019 12:34:56');
563
+ expect(parserDateTimeFn('20-12-2019 12:34:56')).toBe('20-12-2019 12:34:56');
564
+ expect(parserDateTimeFn('aaa')).toBe('aaa');
565
+ expect(parserDateTimeFn('')).toBeNull();
566
+ expect(parserDateTimeFn('2019-12-20 12:34:56', {
739
567
  dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',
740
568
  displayFormat: 'YYYY-MM-DD HH:mm:ss',
741
569
  })).toBe('20/12/2019 12:34:56');
742
570
  });
571
+
572
+ it('when using inputFormat, if the value is invalid should not parse it', () => {
573
+ expect(parserFn('99 99 9999', { inputFormat: 'DD MM YYYY', isFocused: true })).toBe('99 99 9999')
574
+ });
575
+
576
+ it('when value is incomplete, should not parse', () => {
577
+ expect(parserFn('01 01', { inputFormat: 'DD MM YYYY', isFocused: true })).toBe('01 01')
578
+ });
579
+
580
+ it('when focused should format according to displayFormat', () => {
581
+ expect(formatterFn('01-01-2000', { displayFormat: 'DD/MM/YYYY', isFocused: true })).toBe('01/01/2000')
582
+ });
743
583
  });
744
584
 
745
585
  describe('togglePicker', () => {
@@ -790,91 +630,6 @@ describe('DateInput', () => {
790
630
  });
791
631
  });
792
632
 
793
- describe('updateMask', () => {
794
- it('should not change mask when initial mask is empty string', () => {
795
- const date = new DateInput({
796
- name: 'date',
797
- component: 'ZdDateInput',
798
- mask: '',
799
- });
800
-
801
- expect(date.mask).toEqual('');
802
- expect(date.updateMask()).toEqual('');
803
- });
804
-
805
- it('when no mask is set, should get mask based on displayFormat', () => {
806
- const date = new DateInput({
807
- name: 'date',
808
- component: 'ZdDateInput',
809
- displayFormat: 'DD MM YYYY',
810
- });
811
-
812
- expect(date.updateMask()).toBe('## ## ####');
813
- expect(date.mask).toBe('## ## ####');
814
- });
815
-
816
- it('when initial mask is undefined but mask is set, should get mask based on displayFormat', () => {
817
- const date = new DateInput({
818
- name: 'date',
819
- component: 'ZdDateInput',
820
- displayFormat: 'DD MM YYYY',
821
- });
822
-
823
- date.mask = '#';
824
-
825
- expect(date.updateMask()).toBe('## ## ####');
826
- expect(date.mask).toBe('## ## ####');
827
- });
828
-
829
- it('when initial mask is set, should not get mask based on displayFormat', () => {
830
- const date = new DateInput({
831
- name: 'date',
832
- component: 'ZdDateInput',
833
- mask: '##-##-####',
834
- displayFormat: 'DD MM YYYY',
835
- });
836
-
837
- expect(date.updateMask()).toBe('##-##-####');
838
- expect(date.mask).toBe('##-##-####');
839
- });
840
-
841
- it('when initial mask is set and value is valid, should not remove masks', () => {
842
- const date = new DateInput({
843
- name: 'date',
844
- component: 'ZdDateInput',
845
- dateFormat: 'DD/MM/YYYY',
846
- mask: '##-##-####',
847
- displayFormat: 'DD MM YYYY',
848
- });
849
-
850
- expect(date.updateMask()).toBe('##-##-####');
851
- expect(date.mask).toBe('##-##-####');
852
-
853
- date.value = '17/11/2020';
854
-
855
- expect(date.updateMask()).toBe('##-##-####');
856
- expect(date.mask).toBe('##-##-####');
857
- });
858
-
859
- it('when initial mask is set and value is set but invalid, should not change mask', () => {
860
- const date = new DateInput({
861
- name: 'date',
862
- component: 'ZdDateInput',
863
- dateFormat: 'DD/MM/YYYY',
864
- mask: '##-##-####',
865
- displayFormat: 'DD MM YYYY',
866
- });
867
-
868
- expect(date.updateMask()).toBe('##-##-####');
869
- expect(date.mask).toBe('##-##-####');
870
-
871
- date.value = '17/11';
872
-
873
- expect(date.updateMask()).toBe('##-##-####');
874
- expect(date.mask).toBe('##-##-####');
875
- });
876
- });
877
-
878
633
  describe('events', () => {
879
634
  it('should call onDateClick event', () => {
880
635
  const spy = jest.fn();