@anglr/datetime 5.0.0-beta.20221017033852 → 5.0.0-beta.20221018102923

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 (546) hide show
  1. package/changelog.md +113 -0
  2. package/date-fns/src/services/dateFnsDateApi.service.d.ts +4 -0
  3. package/date-fns/src/services/dateFnsDateApi.service.d.ts.map +1 -1
  4. package/es2015/date-fns/src/services/dateFnsDateApi.service.js +11 -5
  5. package/es2015/date-fns/src/services/dateFnsDateApi.service.js.map +1 -1
  6. package/es2015/moment/src/services/momentDateApi.service.js +9 -3
  7. package/es2015/moment/src/services/momentDateApi.service.js.map +1 -1
  8. package/es2015/src/index.js +13 -13
  9. package/es2015/src/index.js.map +1 -1
  10. package/es2015/src/{misc → interfaces/dateTime}/datetime.interface.js +0 -0
  11. package/es2015/src/interfaces/dateTime/datetime.interface.js.map +1 -0
  12. package/es2015/src/interfaces/dateTimeInput/dateTimeInput.interface.js +2 -0
  13. package/es2015/src/interfaces/dateTimeInput/dateTimeInput.interface.js.map +1 -0
  14. package/es2015/src/{services → interfaces/formatProvider}/formatProvider.interface.js +0 -0
  15. package/es2015/src/interfaces/formatProvider/formatProvider.interface.js.map +1 -0
  16. package/es2015/src/interfaces/index.js +4 -0
  17. package/es2015/src/interfaces/index.js.map +1 -0
  18. package/{es2020/src → es2015/src/legacy}/picker/components/clockTimePicker/clockTimePicker.component.js +4 -4
  19. package/es2015/src/legacy/picker/components/clockTimePicker/clockTimePicker.component.js.map +1 -0
  20. package/es2015/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.interface.js +0 -0
  21. package/es2015/src/legacy/picker/components/clockTimePicker/clockTimePicker.interface.js.map +1 -0
  22. package/es2015/src/{picker → legacy/picker}/components/dayPicker/dayPicker.component.js +6 -6
  23. package/es2015/src/legacy/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  24. package/es2015/src/{picker → legacy/picker}/components/dayPicker/dayPicker.interfaces.js +0 -0
  25. package/es2015/src/legacy/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  26. package/{es2020/src → es2015/src/legacy}/picker/components/monthPicker/monthPicker.component.js +5 -5
  27. package/es2015/src/legacy/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  28. package/es2015/src/{picker → legacy/picker}/components/monthPicker/monthPicker.interfaces.js +0 -0
  29. package/es2015/src/legacy/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  30. package/es2015/src/{picker → legacy/picker}/components/picker/picker.component.animations.js +0 -0
  31. package/es2015/src/legacy/picker/components/picker/picker.component.animations.js.map +1 -0
  32. package/es2015/src/{picker → legacy/picker}/components/picker/picker.component.js +5 -5
  33. package/es2015/src/legacy/picker/components/picker/picker.component.js.map +1 -0
  34. package/{es2020/src → es2015/src/legacy}/picker/components/pickerBase.component.js +4 -4
  35. package/es2015/src/legacy/picker/components/pickerBase.component.js.map +1 -0
  36. package/{es2020/src → es2015/src/legacy}/picker/components/pickerImplBase.component.js +4 -4
  37. package/es2015/src/legacy/picker/components/pickerImplBase.component.js.map +1 -0
  38. package/es2015/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.js +8 -8
  39. package/es2015/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.component.js.map +1 -0
  40. package/es2015/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.data.js +0 -0
  41. package/es2015/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.data.js.map +1 -0
  42. package/es2015/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.interface.js +0 -0
  43. package/es2015/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.interface.js.map +1 -0
  44. package/{es2020/src → es2015/src/legacy}/picker/components/yearPicker/yearPicker.component.js +5 -5
  45. package/es2015/src/legacy/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  46. package/es2015/src/{picker → legacy/picker}/components/yearPicker/yearPicker.interfaces.js +0 -0
  47. package/es2015/src/legacy/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  48. package/es2015/src/{picker → legacy/picker}/directives/index.js +0 -0
  49. package/es2015/src/legacy/picker/directives/index.js.map +1 -0
  50. package/es2015/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.directive.js +3 -3
  51. package/es2015/src/legacy/picker/directives/loopScroll/loopScroll.directive.js.map +1 -0
  52. package/es2015/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.interface.js +0 -0
  53. package/es2015/src/legacy/picker/directives/loopScroll/loopScroll.interface.js.map +1 -0
  54. package/es2015/src/{picker → legacy/picker}/directives/loopScrollData/loopScrollData.directive.js +3 -3
  55. package/es2015/src/legacy/picker/directives/loopScrollData/loopScrollData.directive.js.map +1 -0
  56. package/es2015/src/{picker → legacy/picker}/interfaces.js +0 -0
  57. package/es2015/src/legacy/picker/interfaces.js.map +1 -0
  58. package/es2015/src/{picker → legacy/picker}/misc/datetimePicker.interface.js +0 -0
  59. package/es2015/src/legacy/picker/misc/datetimePicker.interface.js.map +1 -0
  60. package/es2015/src/{picker → legacy/picker}/misc/tokens.js +0 -0
  61. package/es2015/src/legacy/picker/misc/tokens.js.map +1 -0
  62. package/{es2020/src → es2015/src/legacy}/picker/modules/picker.module.js +10 -12
  63. package/es2015/src/legacy/picker/modules/picker.module.js.map +1 -0
  64. package/es2015/src/{picker → legacy/picker}/types.js +0 -0
  65. package/es2015/src/legacy/picker/types.js.map +1 -0
  66. package/es2015/src/{selector → legacy/selector}/components/inputDateTime/inputDateTime.component.js +7 -9
  67. package/es2015/src/legacy/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  68. package/es2015/src/{selector → legacy/selector}/components/selector/selector.component.animations.js +0 -0
  69. package/es2015/src/legacy/selector/components/selector/selector.component.animations.js.map +1 -0
  70. package/es2015/src/{selector → legacy/selector}/components/selector/selector.component.js +9 -9
  71. package/es2015/src/legacy/selector/components/selector/selector.component.js.map +1 -0
  72. package/es2015/src/{selector → legacy/selector}/components/simpleInputDateTime/simpleInputDateTime.component.js +6 -6
  73. package/es2015/src/legacy/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  74. package/es2015/src/{selector → legacy/selector}/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js +3 -3
  75. package/es2015/src/legacy/selector/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js.map +1 -0
  76. package/{es2020/src → es2015/src/legacy}/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +5 -5
  77. package/es2015/src/legacy/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  78. package/es2015/src/{selector → legacy/selector}/directives/datetimeMinValidator/datetimeMinValidator.directive.js +5 -5
  79. package/es2015/src/legacy/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  80. package/{es2020/src → es2015/src/legacy}/selector/directives/datetimeValidator/datetimeValidator.directive.js +4 -4
  81. package/es2015/src/legacy/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  82. package/es2015/src/{selector → legacy/selector}/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +3 -3
  83. package/es2015/src/legacy/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  84. package/es2015/src/{selector → legacy/selector}/interfaces.js +0 -0
  85. package/es2015/src/legacy/selector/interfaces.js.map +1 -0
  86. package/es2015/src/{selector → legacy/selector}/misc/datetimeSelector.interface.js +0 -0
  87. package/es2015/src/legacy/selector/misc/datetimeSelector.interface.js.map +1 -0
  88. package/es2015/src/{selector → legacy/selector}/misc/tokens.js +0 -0
  89. package/es2015/src/legacy/selector/misc/tokens.js.map +1 -0
  90. package/{es2020/src → es2015/src/legacy}/selector/modules/basicSelector.module.js +4 -4
  91. package/es2015/src/legacy/selector/modules/basicSelector.module.js.map +1 -0
  92. package/es2015/src/{selector → legacy/selector}/modules/selector.module.js +6 -8
  93. package/es2015/src/legacy/selector/modules/selector.module.js.map +1 -0
  94. package/es2015/src/{selector → legacy/selector}/types.js +0 -0
  95. package/es2015/src/legacy/selector/types.js.map +1 -0
  96. package/es2015/src/misc/enums.js +23 -0
  97. package/es2015/src/misc/enums.js.map +1 -0
  98. package/es2015/src/misc/tokens.js +4 -0
  99. package/es2015/src/misc/tokens.js.map +1 -1
  100. package/es2015/src/misc/types.js +2 -0
  101. package/es2015/src/misc/types.js.map +1 -0
  102. package/es2015/src/misc/utils.js +112 -0
  103. package/es2015/src/misc/utils.js.map +1 -0
  104. package/es2015/src/misc/validators.js +107 -0
  105. package/es2015/src/misc/validators.js.map +1 -1
  106. package/es2015/src/modules/datePipes.module.js +4 -4
  107. package/es2015/src/modules/dateTime/directives/dateTimeBase.js +77 -0
  108. package/es2015/src/modules/dateTime/directives/dateTimeBase.js.map +1 -0
  109. package/es2015/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.js +76 -0
  110. package/es2015/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.js.map +1 -0
  111. package/es2015/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.js +144 -0
  112. package/es2015/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.js.map +1 -0
  113. package/es2015/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.js +72 -0
  114. package/es2015/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.js.map +1 -0
  115. package/es2015/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.js +71 -0
  116. package/es2015/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.js.map +1 -0
  117. package/es2015/src/modules/dateTime/directives/dateTimeRestrictedBase.js +152 -0
  118. package/es2015/src/modules/dateTime/directives/dateTimeRestrictedBase.js.map +1 -0
  119. package/es2015/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.js +64 -0
  120. package/es2015/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.js.map +1 -0
  121. package/es2015/src/modules/dateTime/directives/index.js +8 -0
  122. package/es2015/src/modules/dateTime/directives/index.js.map +1 -0
  123. package/es2015/src/modules/dateTime/index.js +3 -0
  124. package/es2015/src/modules/dateTime/index.js.map +1 -0
  125. package/es2015/src/modules/dateTime/modules/dateTime.module.js +39 -0
  126. package/es2015/src/modules/dateTime/modules/dateTime.module.js.map +1 -0
  127. package/es2015/src/modules/dateTime/modules/index.js +2 -0
  128. package/es2015/src/modules/dateTime/modules/index.js.map +1 -0
  129. package/es2015/src/modules/index.js +3 -0
  130. package/es2015/src/modules/index.js.map +1 -0
  131. package/es2015/src/pipes/dateConvert.pipe.js +3 -3
  132. package/es2015/src/pipes/dateFormat.pipe.js +3 -3
  133. package/es2015/src/pipes/dateFormat.pipe.js.map +1 -1
  134. package/es2015/src/services/{dateApi.interface.js → dateApi/dateApi.interface.js} +0 -0
  135. package/es2015/src/services/dateApi/dateApi.interface.js.map +1 -0
  136. package/es2015/src/services/{datePositionParser.interface.js → datePositionParser/datePositionParser.interface.js} +0 -0
  137. package/es2015/src/services/datePositionParser/datePositionParser.interface.js.map +1 -0
  138. package/{es2020/src/services → es2015/src/services/datePositionParser}/datePositionParser.service.js +3 -3
  139. package/es2015/src/services/datePositionParser/datePositionParser.service.js.map +1 -0
  140. package/es2015/src/services/{dateTimeRelativeParser.service.js → dateTimeRelativeParser/dateTimeRelativeParser.service.js} +11 -11
  141. package/es2015/src/services/dateTimeRelativeParser/dateTimeRelativeParser.service.js.map +1 -0
  142. package/{es2020/src/services → es2015/src/services/dateValueProvider}/dateValueProvider.service.js +4 -4
  143. package/es2015/src/services/dateValueProvider/dateValueProvider.service.js.map +1 -0
  144. package/es2015/src/services/index.js +5 -3
  145. package/es2015/src/services/index.js.map +1 -1
  146. package/es2020/date-fns/src/services/dateFnsDateApi.service.js +11 -5
  147. package/es2020/date-fns/src/services/dateFnsDateApi.service.js.map +1 -1
  148. package/es2020/moment/src/services/momentDateApi.service.js +9 -3
  149. package/es2020/moment/src/services/momentDateApi.service.js.map +1 -1
  150. package/es2020/src/index.js +13 -13
  151. package/es2020/src/index.js.map +1 -1
  152. package/es2020/src/{misc → interfaces/dateTime}/datetime.interface.js +0 -0
  153. package/es2020/src/interfaces/dateTime/datetime.interface.js.map +1 -0
  154. package/es2020/src/interfaces/dateTimeInput/dateTimeInput.interface.js +2 -0
  155. package/es2020/src/interfaces/dateTimeInput/dateTimeInput.interface.js.map +1 -0
  156. package/es2020/src/{services → interfaces/formatProvider}/formatProvider.interface.js +0 -0
  157. package/es2020/src/interfaces/formatProvider/formatProvider.interface.js.map +1 -0
  158. package/es2020/src/interfaces/index.js +4 -0
  159. package/es2020/src/interfaces/index.js.map +1 -0
  160. package/{es2015/src → es2020/src/legacy}/picker/components/clockTimePicker/clockTimePicker.component.js +4 -4
  161. package/es2020/src/legacy/picker/components/clockTimePicker/clockTimePicker.component.js.map +1 -0
  162. package/es2020/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.interface.js +0 -0
  163. package/es2020/src/legacy/picker/components/clockTimePicker/clockTimePicker.interface.js.map +1 -0
  164. package/es2020/src/{picker → legacy/picker}/components/dayPicker/dayPicker.component.js +6 -6
  165. package/es2020/src/legacy/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  166. package/es2020/src/{picker → legacy/picker}/components/dayPicker/dayPicker.interfaces.js +0 -0
  167. package/es2020/src/legacy/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  168. package/{es2015/src → es2020/src/legacy}/picker/components/monthPicker/monthPicker.component.js +5 -5
  169. package/es2020/src/legacy/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  170. package/es2020/src/{picker → legacy/picker}/components/monthPicker/monthPicker.interfaces.js +0 -0
  171. package/es2020/src/legacy/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  172. package/es2020/src/{picker → legacy/picker}/components/picker/picker.component.animations.js +0 -0
  173. package/es2020/src/legacy/picker/components/picker/picker.component.animations.js.map +1 -0
  174. package/es2020/src/{picker → legacy/picker}/components/picker/picker.component.js +5 -5
  175. package/es2020/src/legacy/picker/components/picker/picker.component.js.map +1 -0
  176. package/{es2015/src → es2020/src/legacy}/picker/components/pickerBase.component.js +4 -4
  177. package/es2020/src/legacy/picker/components/pickerBase.component.js.map +1 -0
  178. package/{es2015/src → es2020/src/legacy}/picker/components/pickerImplBase.component.js +4 -4
  179. package/es2020/src/legacy/picker/components/pickerImplBase.component.js.map +1 -0
  180. package/es2020/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.js +8 -8
  181. package/es2020/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.component.js.map +1 -0
  182. package/es2020/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.data.js +0 -0
  183. package/es2020/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.data.js.map +1 -0
  184. package/es2020/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.interface.js +0 -0
  185. package/es2020/src/legacy/picker/components/rollerTimePicker/rollerTimePicker.interface.js.map +1 -0
  186. package/{es2015/src → es2020/src/legacy}/picker/components/yearPicker/yearPicker.component.js +5 -5
  187. package/es2020/src/legacy/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  188. package/es2020/src/{picker → legacy/picker}/components/yearPicker/yearPicker.interfaces.js +0 -0
  189. package/es2020/src/legacy/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  190. package/es2020/src/{picker → legacy/picker}/directives/index.js +0 -0
  191. package/es2020/src/legacy/picker/directives/index.js.map +1 -0
  192. package/es2020/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.directive.js +3 -3
  193. package/es2020/src/legacy/picker/directives/loopScroll/loopScroll.directive.js.map +1 -0
  194. package/es2020/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.interface.js +0 -0
  195. package/es2020/src/legacy/picker/directives/loopScroll/loopScroll.interface.js.map +1 -0
  196. package/es2020/src/{picker → legacy/picker}/directives/loopScrollData/loopScrollData.directive.js +3 -3
  197. package/es2020/src/legacy/picker/directives/loopScrollData/loopScrollData.directive.js.map +1 -0
  198. package/es2020/src/{picker → legacy/picker}/interfaces.js +0 -0
  199. package/es2020/src/legacy/picker/interfaces.js.map +1 -0
  200. package/es2020/src/{picker → legacy/picker}/misc/datetimePicker.interface.js +0 -0
  201. package/es2020/src/legacy/picker/misc/datetimePicker.interface.js.map +1 -0
  202. package/es2020/src/{picker → legacy/picker}/misc/tokens.js +0 -0
  203. package/es2020/src/legacy/picker/misc/tokens.js.map +1 -0
  204. package/{es2015/src → es2020/src/legacy}/picker/modules/picker.module.js +10 -12
  205. package/es2020/src/legacy/picker/modules/picker.module.js.map +1 -0
  206. package/es2020/src/{picker → legacy/picker}/types.js +0 -0
  207. package/es2020/src/legacy/picker/types.js.map +1 -0
  208. package/es2020/src/{selector → legacy/selector}/components/inputDateTime/inputDateTime.component.js +7 -9
  209. package/es2020/src/legacy/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  210. package/es2020/src/{selector → legacy/selector}/components/selector/selector.component.animations.js +0 -0
  211. package/es2020/src/legacy/selector/components/selector/selector.component.animations.js.map +1 -0
  212. package/es2020/src/{selector → legacy/selector}/components/selector/selector.component.js +9 -9
  213. package/es2020/src/legacy/selector/components/selector/selector.component.js.map +1 -0
  214. package/es2020/src/{selector → legacy/selector}/components/simpleInputDateTime/simpleInputDateTime.component.js +6 -6
  215. package/es2020/src/legacy/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  216. package/es2020/src/{selector → legacy/selector}/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js +3 -3
  217. package/es2020/src/legacy/selector/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js.map +1 -0
  218. package/{es2015/src → es2020/src/legacy}/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +5 -5
  219. package/es2020/src/legacy/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  220. package/es2020/src/{selector → legacy/selector}/directives/datetimeMinValidator/datetimeMinValidator.directive.js +5 -5
  221. package/es2020/src/legacy/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  222. package/{es2015/src → es2020/src/legacy}/selector/directives/datetimeValidator/datetimeValidator.directive.js +4 -4
  223. package/es2020/src/legacy/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  224. package/es2020/src/{selector → legacy/selector}/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +3 -3
  225. package/es2020/src/legacy/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  226. package/es2020/src/{selector → legacy/selector}/interfaces.js +0 -0
  227. package/es2020/src/legacy/selector/interfaces.js.map +1 -0
  228. package/es2020/src/{selector → legacy/selector}/misc/datetimeSelector.interface.js +0 -0
  229. package/es2020/src/legacy/selector/misc/datetimeSelector.interface.js.map +1 -0
  230. package/es2020/src/{selector → legacy/selector}/misc/tokens.js +0 -0
  231. package/es2020/src/legacy/selector/misc/tokens.js.map +1 -0
  232. package/{es2015/src → es2020/src/legacy}/selector/modules/basicSelector.module.js +4 -4
  233. package/es2020/src/legacy/selector/modules/basicSelector.module.js.map +1 -0
  234. package/es2020/src/{selector → legacy/selector}/modules/selector.module.js +6 -8
  235. package/es2020/src/legacy/selector/modules/selector.module.js.map +1 -0
  236. package/es2020/src/{selector → legacy/selector}/types.js +0 -0
  237. package/es2020/src/legacy/selector/types.js.map +1 -0
  238. package/es2020/src/misc/enums.js +23 -0
  239. package/es2020/src/misc/enums.js.map +1 -0
  240. package/es2020/src/misc/tokens.js +4 -0
  241. package/es2020/src/misc/tokens.js.map +1 -1
  242. package/es2020/src/misc/types.js +2 -0
  243. package/es2020/src/misc/types.js.map +1 -0
  244. package/es2020/src/misc/utils.js +111 -0
  245. package/es2020/src/misc/utils.js.map +1 -0
  246. package/es2020/src/misc/validators.js +107 -0
  247. package/es2020/src/misc/validators.js.map +1 -1
  248. package/es2020/src/modules/datePipes.module.js +4 -4
  249. package/es2020/src/modules/dateTime/directives/dateTimeBase.js +77 -0
  250. package/es2020/src/modules/dateTime/directives/dateTimeBase.js.map +1 -0
  251. package/es2020/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.js +76 -0
  252. package/es2020/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.js.map +1 -0
  253. package/es2020/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.js +143 -0
  254. package/es2020/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.js.map +1 -0
  255. package/es2020/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.js +72 -0
  256. package/es2020/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.js.map +1 -0
  257. package/es2020/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.js +71 -0
  258. package/es2020/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.js.map +1 -0
  259. package/es2020/src/modules/dateTime/directives/dateTimeRestrictedBase.js +149 -0
  260. package/es2020/src/modules/dateTime/directives/dateTimeRestrictedBase.js.map +1 -0
  261. package/es2020/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.js +64 -0
  262. package/es2020/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.js.map +1 -0
  263. package/es2020/src/modules/dateTime/directives/index.js +8 -0
  264. package/es2020/src/modules/dateTime/directives/index.js.map +1 -0
  265. package/es2020/src/modules/dateTime/index.js +3 -0
  266. package/es2020/src/modules/dateTime/index.js.map +1 -0
  267. package/es2020/src/modules/dateTime/modules/dateTime.module.js +39 -0
  268. package/es2020/src/modules/dateTime/modules/dateTime.module.js.map +1 -0
  269. package/es2020/src/modules/dateTime/modules/index.js +2 -0
  270. package/es2020/src/modules/dateTime/modules/index.js.map +1 -0
  271. package/es2020/src/modules/index.js +3 -0
  272. package/es2020/src/modules/index.js.map +1 -0
  273. package/es2020/src/pipes/dateConvert.pipe.js +3 -3
  274. package/es2020/src/pipes/dateFormat.pipe.js +3 -3
  275. package/es2020/src/pipes/dateFormat.pipe.js.map +1 -1
  276. package/es2020/src/services/{dateApi.interface.js → dateApi/dateApi.interface.js} +0 -0
  277. package/es2020/src/services/dateApi/dateApi.interface.js.map +1 -0
  278. package/es2020/src/services/{datePositionParser.interface.js → datePositionParser/datePositionParser.interface.js} +0 -0
  279. package/es2020/src/services/datePositionParser/datePositionParser.interface.js.map +1 -0
  280. package/{es2015/src/services → es2020/src/services/datePositionParser}/datePositionParser.service.js +3 -3
  281. package/es2020/src/services/datePositionParser/datePositionParser.service.js.map +1 -0
  282. package/es2020/src/services/{dateTimeRelativeParser.service.js → dateTimeRelativeParser/dateTimeRelativeParser.service.js} +11 -11
  283. package/es2020/src/services/dateTimeRelativeParser/dateTimeRelativeParser.service.js.map +1 -0
  284. package/{es2015/src/services → es2020/src/services/dateValueProvider}/dateValueProvider.service.js +4 -4
  285. package/es2020/src/services/dateValueProvider/dateValueProvider.service.js.map +1 -0
  286. package/es2020/src/services/index.js +5 -3
  287. package/es2020/src/services/index.js.map +1 -1
  288. package/moment/src/services/momentDateApi.service.d.ts +4 -0
  289. package/moment/src/services/momentDateApi.service.d.ts.map +1 -1
  290. package/package.json +36 -36
  291. package/src/index.d.ts +13 -13
  292. package/src/index.d.ts.map +1 -1
  293. package/src/{misc → interfaces/dateTime}/datetime.interface.d.ts +2 -2
  294. package/src/interfaces/dateTime/datetime.interface.d.ts.map +1 -0
  295. package/src/interfaces/dateTimeInput/dateTimeInput.interface.d.ts +37 -0
  296. package/src/interfaces/dateTimeInput/dateTimeInput.interface.d.ts.map +1 -0
  297. package/src/{services → interfaces/formatProvider}/formatProvider.interface.d.ts +0 -0
  298. package/src/{services → interfaces/formatProvider}/formatProvider.interface.d.ts.map +0 -0
  299. package/src/interfaces/index.d.ts +4 -0
  300. package/src/interfaces/index.d.ts.map +1 -0
  301. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.component.css +0 -0
  302. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.component.d.ts +1 -1
  303. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.component.d.ts.map +0 -0
  304. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.component.html +0 -0
  305. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.interface.d.ts +0 -0
  306. package/src/{picker → legacy/picker}/components/clockTimePicker/clockTimePicker.interface.d.ts.map +0 -0
  307. package/src/{picker → legacy/picker}/components/dayPicker/dayPicker.component.css +0 -0
  308. package/src/{picker → legacy/picker}/components/dayPicker/dayPicker.component.d.ts +3 -3
  309. package/src/{picker → legacy/picker}/components/dayPicker/dayPicker.component.d.ts.map +1 -1
  310. package/src/legacy/picker/components/dayPicker/dayPicker.component.html +21 -0
  311. package/src/{picker → legacy/picker}/components/dayPicker/dayPicker.interfaces.d.ts +0 -0
  312. package/src/{picker → legacy/picker}/components/dayPicker/dayPicker.interfaces.d.ts.map +0 -0
  313. package/src/{picker → legacy/picker}/components/monthPicker/monthPicker.component.css +0 -0
  314. package/src/{picker → legacy/picker}/components/monthPicker/monthPicker.component.d.ts +2 -2
  315. package/src/{picker → legacy/picker}/components/monthPicker/monthPicker.component.d.ts.map +1 -1
  316. package/src/legacy/picker/components/monthPicker/monthPicker.component.html +13 -0
  317. package/src/{picker → legacy/picker}/components/monthPicker/monthPicker.interfaces.d.ts +0 -0
  318. package/src/{picker → legacy/picker}/components/monthPicker/monthPicker.interfaces.d.ts.map +0 -0
  319. package/src/{picker → legacy/picker}/components/picker/picker.component.animations.d.ts +0 -0
  320. package/src/{picker → legacy/picker}/components/picker/picker.component.animations.d.ts.map +0 -0
  321. package/src/{picker → legacy/picker}/components/picker/picker.component.css +0 -0
  322. package/src/{picker → legacy/picker}/components/picker/picker.component.d.ts +3 -3
  323. package/src/{picker → legacy/picker}/components/picker/picker.component.d.ts.map +1 -1
  324. package/src/legacy/picker/components/picker/picker.component.html +3 -0
  325. package/src/{picker → legacy/picker}/components/pickerBase.component.d.ts +3 -3
  326. package/src/{picker → legacy/picker}/components/pickerBase.component.d.ts.map +1 -1
  327. package/src/{picker → legacy/picker}/components/pickerImplBase.component.d.ts +3 -3
  328. package/src/{picker → legacy/picker}/components/pickerImplBase.component.d.ts.map +1 -1
  329. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.css +0 -0
  330. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.d.ts +3 -3
  331. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.d.ts.map +1 -1
  332. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.component.html +0 -0
  333. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.data.d.ts +0 -0
  334. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.data.d.ts.map +0 -0
  335. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.interface.d.ts +0 -0
  336. package/src/{picker → legacy/picker}/components/rollerTimePicker/rollerTimePicker.interface.d.ts.map +0 -0
  337. package/src/{picker → legacy/picker}/components/yearPicker/yearPicker.component.css +0 -0
  338. package/src/{picker → legacy/picker}/components/yearPicker/yearPicker.component.d.ts +2 -2
  339. package/src/{picker → legacy/picker}/components/yearPicker/yearPicker.component.d.ts.map +1 -1
  340. package/src/legacy/picker/components/yearPicker/yearPicker.component.html +13 -0
  341. package/src/{picker → legacy/picker}/components/yearPicker/yearPicker.interfaces.d.ts +0 -0
  342. package/src/{picker → legacy/picker}/components/yearPicker/yearPicker.interfaces.d.ts.map +0 -0
  343. package/src/{picker → legacy/picker}/directives/index.d.ts +0 -0
  344. package/src/{picker → legacy/picker}/directives/index.d.ts.map +0 -0
  345. package/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.directive.d.ts +1 -1
  346. package/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.directive.d.ts.map +0 -0
  347. package/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.interface.d.ts +0 -0
  348. package/src/{picker → legacy/picker}/directives/loopScroll/loopScroll.interface.d.ts.map +0 -0
  349. package/src/{picker → legacy/picker}/directives/loopScrollData/loopScrollData.directive.d.ts +1 -1
  350. package/src/{picker → legacy/picker}/directives/loopScrollData/loopScrollData.directive.d.ts.map +0 -0
  351. package/src/{picker → legacy/picker}/interfaces.d.ts +0 -0
  352. package/src/{picker → legacy/picker}/interfaces.d.ts.map +0 -0
  353. package/src/{picker → legacy/picker}/misc/datetimePicker.interface.d.ts +2 -2
  354. package/src/{picker → legacy/picker}/misc/datetimePicker.interface.d.ts.map +1 -1
  355. package/src/{picker → legacy/picker}/misc/tokens.d.ts +0 -0
  356. package/src/{picker → legacy/picker}/misc/tokens.d.ts.map +0 -0
  357. package/src/{picker → legacy/picker}/modules/picker.module.d.ts +1 -1
  358. package/src/{picker → legacy/picker}/modules/picker.module.d.ts.map +0 -0
  359. package/src/{picker → legacy/picker}/types.d.ts +0 -0
  360. package/src/{picker → legacy/picker}/types.d.ts.map +0 -0
  361. package/src/{selector → legacy/selector}/components/inputDateTime/inputDateTime.component.css +0 -0
  362. package/src/{selector → legacy/selector}/components/inputDateTime/inputDateTime.component.d.ts +3 -5
  363. package/src/legacy/selector/components/inputDateTime/inputDateTime.component.d.ts.map +1 -0
  364. package/src/{selector → legacy/selector}/components/inputDateTime/inputDateTime.component.html +0 -0
  365. package/src/{selector → legacy/selector}/components/selector/selector.component.animations.d.ts +0 -0
  366. package/src/{selector → legacy/selector}/components/selector/selector.component.animations.d.ts.map +0 -0
  367. package/src/{selector → legacy/selector}/components/selector/selector.component.css +0 -0
  368. package/src/{selector → legacy/selector}/components/selector/selector.component.d.ts +4 -4
  369. package/src/{selector → legacy/selector}/components/selector/selector.component.d.ts.map +1 -1
  370. package/src/{selector → legacy/selector}/components/selector/selector.component.html +2 -2
  371. package/src/{selector → legacy/selector}/components/simpleInputDateTime/simpleInputDateTime.component.css +0 -0
  372. package/src/{selector → legacy/selector}/components/simpleInputDateTime/simpleInputDateTime.component.d.ts +3 -4
  373. package/src/legacy/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +1 -0
  374. package/src/{selector → legacy/selector}/components/simpleInputDateTime/simpleInputDateTime.component.html +0 -0
  375. package/src/{selector → legacy/selector}/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.d.ts +2 -2
  376. package/src/{selector → legacy/selector}/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.d.ts.map +1 -1
  377. package/src/{selector → legacy/selector}/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts +2 -2
  378. package/src/{selector → legacy/selector}/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts.map +1 -1
  379. package/src/{selector → legacy/selector}/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts +2 -2
  380. package/src/{selector → legacy/selector}/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts.map +1 -1
  381. package/src/{selector → legacy/selector}/directives/datetimeValidator/datetimeValidator.directive.d.ts +1 -1
  382. package/src/{selector → legacy/selector}/directives/datetimeValidator/datetimeValidator.directive.d.ts.map +0 -0
  383. package/src/{selector → legacy/selector}/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts +2 -2
  384. package/src/{selector → legacy/selector}/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts.map +1 -1
  385. package/src/{selector → legacy/selector}/interfaces.d.ts +0 -0
  386. package/src/{selector → legacy/selector}/interfaces.d.ts.map +0 -0
  387. package/src/{selector → legacy/selector}/misc/datetimeSelector.interface.d.ts +1 -1
  388. package/src/{selector → legacy/selector}/misc/datetimeSelector.interface.d.ts.map +1 -1
  389. package/src/{selector → legacy/selector}/misc/tokens.d.ts +0 -0
  390. package/src/{selector → legacy/selector}/misc/tokens.d.ts.map +0 -0
  391. package/src/{selector → legacy/selector}/modules/basicSelector.module.d.ts +0 -0
  392. package/src/{selector → legacy/selector}/modules/basicSelector.module.d.ts.map +0 -0
  393. package/src/{selector → legacy/selector}/modules/selector.module.d.ts +0 -0
  394. package/src/{selector → legacy/selector}/modules/selector.module.d.ts.map +0 -0
  395. package/src/{selector → legacy/selector}/types.d.ts +0 -0
  396. package/src/{selector → legacy/selector}/types.d.ts.map +0 -0
  397. package/src/misc/enums.d.ts +22 -0
  398. package/src/misc/enums.d.ts.map +1 -0
  399. package/src/misc/tokens.d.ts +6 -1
  400. package/src/misc/tokens.d.ts.map +1 -1
  401. package/src/misc/types.d.ts +11 -0
  402. package/src/misc/types.d.ts.map +1 -0
  403. package/src/misc/utils.d.ts +30 -0
  404. package/src/misc/utils.d.ts.map +1 -0
  405. package/src/misc/validators.d.ts +26 -1
  406. package/src/misc/validators.d.ts.map +1 -1
  407. package/src/modules/dateTime/directives/dateTimeBase.d.ts +56 -0
  408. package/src/modules/dateTime/directives/dateTimeBase.d.ts.map +1 -0
  409. package/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.d.ts +40 -0
  410. package/src/modules/dateTime/directives/dateTimeControlValueAccessor/dateTimeControlValueAccessor.directive.d.ts.map +1 -0
  411. package/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.d.ts +61 -0
  412. package/src/modules/dateTime/directives/dateTimeInput/dateTimeInput.directive.d.ts.map +1 -0
  413. package/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.d.ts +33 -0
  414. package/src/modules/dateTime/directives/dateTimeMaxValidator/dateTimeMaxValidator.directive.d.ts.map +1 -0
  415. package/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.d.ts +33 -0
  416. package/src/modules/dateTime/directives/dateTimeMinValidator/dateTimeMinValidator.directive.d.ts.map +1 -0
  417. package/src/modules/dateTime/directives/dateTimeRestrictedBase.d.ts +74 -0
  418. package/src/modules/dateTime/directives/dateTimeRestrictedBase.d.ts.map +1 -0
  419. package/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.d.ts +29 -0
  420. package/src/modules/dateTime/directives/dateTimeValidator/dateTimeValidator.directive.d.ts.map +1 -0
  421. package/src/modules/dateTime/directives/index.d.ts +8 -0
  422. package/src/modules/dateTime/directives/index.d.ts.map +1 -0
  423. package/src/modules/dateTime/index.d.ts +3 -0
  424. package/src/modules/dateTime/index.d.ts.map +1 -0
  425. package/src/modules/dateTime/modules/dateTime.module.d.ts +15 -0
  426. package/src/modules/dateTime/modules/dateTime.module.d.ts.map +1 -0
  427. package/src/modules/dateTime/modules/index.d.ts +2 -0
  428. package/src/modules/dateTime/modules/index.d.ts.map +1 -0
  429. package/src/modules/index.d.ts +3 -0
  430. package/src/modules/index.d.ts.map +1 -0
  431. package/src/pipes/dateConvert.pipe.d.ts +1 -1
  432. package/src/pipes/dateFormat.pipe.d.ts +3 -2
  433. package/src/pipes/dateFormat.pipe.d.ts.map +1 -1
  434. package/src/services/{dateApi.interface.d.ts → dateApi/dateApi.interface.d.ts} +4 -0
  435. package/src/services/dateApi/dateApi.interface.d.ts.map +1 -0
  436. package/src/services/{datePositionParser.interface.d.ts → datePositionParser/datePositionParser.interface.d.ts} +0 -0
  437. package/src/services/{datePositionParser.interface.d.ts.map → datePositionParser/datePositionParser.interface.d.ts.map} +0 -0
  438. package/src/services/{datePositionParser.service.d.ts → datePositionParser/datePositionParser.service.d.ts} +0 -0
  439. package/src/services/{datePositionParser.service.d.ts.map → datePositionParser/datePositionParser.service.d.ts.map} +0 -0
  440. package/src/services/{dateTimeRelativeParser.service.d.ts → dateTimeRelativeParser/dateTimeRelativeParser.service.d.ts} +3 -3
  441. package/src/services/{dateTimeRelativeParser.service.d.ts.map → dateTimeRelativeParser/dateTimeRelativeParser.service.d.ts.map} +1 -1
  442. package/src/services/{dateValueProvider.service.d.ts → dateValueProvider/dateValueProvider.service.d.ts} +2 -2
  443. package/src/services/{dateValueProvider.service.d.ts.map → dateValueProvider/dateValueProvider.service.d.ts.map} +1 -1
  444. package/src/services/index.d.ts +5 -3
  445. package/src/services/index.d.ts.map +1 -1
  446. package/version.bak +1 -1
  447. package/es2015/src/misc/datetime.interface.js.map +0 -1
  448. package/es2015/src/picker/components/clockTimePicker/clockTimePicker.component.js.map +0 -1
  449. package/es2015/src/picker/components/clockTimePicker/clockTimePicker.interface.js.map +0 -1
  450. package/es2015/src/picker/components/dayPicker/dayPicker.component.js.map +0 -1
  451. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js.map +0 -1
  452. package/es2015/src/picker/components/monthPicker/monthPicker.component.js.map +0 -1
  453. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js.map +0 -1
  454. package/es2015/src/picker/components/picker/picker.component.animations.js.map +0 -1
  455. package/es2015/src/picker/components/picker/picker.component.js.map +0 -1
  456. package/es2015/src/picker/components/pickerBase.component.js.map +0 -1
  457. package/es2015/src/picker/components/pickerImplBase.component.js.map +0 -1
  458. package/es2015/src/picker/components/rollerTimePicker/rollerTimePicker.component.js.map +0 -1
  459. package/es2015/src/picker/components/rollerTimePicker/rollerTimePicker.data.js.map +0 -1
  460. package/es2015/src/picker/components/rollerTimePicker/rollerTimePicker.interface.js.map +0 -1
  461. package/es2015/src/picker/components/yearPicker/yearPicker.component.js.map +0 -1
  462. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js.map +0 -1
  463. package/es2015/src/picker/directives/index.js.map +0 -1
  464. package/es2015/src/picker/directives/loopScroll/loopScroll.directive.js.map +0 -1
  465. package/es2015/src/picker/directives/loopScroll/loopScroll.interface.js.map +0 -1
  466. package/es2015/src/picker/directives/loopScrollData/loopScrollData.directive.js.map +0 -1
  467. package/es2015/src/picker/interfaces.js.map +0 -1
  468. package/es2015/src/picker/misc/datetimePicker.interface.js.map +0 -1
  469. package/es2015/src/picker/misc/tokens.js.map +0 -1
  470. package/es2015/src/picker/modules/picker.module.js.map +0 -1
  471. package/es2015/src/picker/types.js.map +0 -1
  472. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js.map +0 -1
  473. package/es2015/src/selector/components/selector/selector.component.animations.js.map +0 -1
  474. package/es2015/src/selector/components/selector/selector.component.js.map +0 -1
  475. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +0 -1
  476. package/es2015/src/selector/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js.map +0 -1
  477. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +0 -1
  478. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +0 -1
  479. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +0 -1
  480. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +0 -1
  481. package/es2015/src/selector/interfaces.js.map +0 -1
  482. package/es2015/src/selector/misc/datetimeSelector.interface.js.map +0 -1
  483. package/es2015/src/selector/misc/tokens.js.map +0 -1
  484. package/es2015/src/selector/modules/basicSelector.module.js.map +0 -1
  485. package/es2015/src/selector/modules/selector.module.js.map +0 -1
  486. package/es2015/src/selector/types.js.map +0 -1
  487. package/es2015/src/services/dateApi.interface.js.map +0 -1
  488. package/es2015/src/services/datePositionParser.interface.js.map +0 -1
  489. package/es2015/src/services/datePositionParser.service.js.map +0 -1
  490. package/es2015/src/services/dateTimeRelativeParser.service.js.map +0 -1
  491. package/es2015/src/services/dateValueProvider.service.js.map +0 -1
  492. package/es2015/src/services/formatProvider.interface.js.map +0 -1
  493. package/es2020/src/misc/datetime.interface.js.map +0 -1
  494. package/es2020/src/picker/components/clockTimePicker/clockTimePicker.component.js.map +0 -1
  495. package/es2020/src/picker/components/clockTimePicker/clockTimePicker.interface.js.map +0 -1
  496. package/es2020/src/picker/components/dayPicker/dayPicker.component.js.map +0 -1
  497. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js.map +0 -1
  498. package/es2020/src/picker/components/monthPicker/monthPicker.component.js.map +0 -1
  499. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js.map +0 -1
  500. package/es2020/src/picker/components/picker/picker.component.animations.js.map +0 -1
  501. package/es2020/src/picker/components/picker/picker.component.js.map +0 -1
  502. package/es2020/src/picker/components/pickerBase.component.js.map +0 -1
  503. package/es2020/src/picker/components/pickerImplBase.component.js.map +0 -1
  504. package/es2020/src/picker/components/rollerTimePicker/rollerTimePicker.component.js.map +0 -1
  505. package/es2020/src/picker/components/rollerTimePicker/rollerTimePicker.data.js.map +0 -1
  506. package/es2020/src/picker/components/rollerTimePicker/rollerTimePicker.interface.js.map +0 -1
  507. package/es2020/src/picker/components/yearPicker/yearPicker.component.js.map +0 -1
  508. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js.map +0 -1
  509. package/es2020/src/picker/directives/index.js.map +0 -1
  510. package/es2020/src/picker/directives/loopScroll/loopScroll.directive.js.map +0 -1
  511. package/es2020/src/picker/directives/loopScroll/loopScroll.interface.js.map +0 -1
  512. package/es2020/src/picker/directives/loopScrollData/loopScrollData.directive.js.map +0 -1
  513. package/es2020/src/picker/interfaces.js.map +0 -1
  514. package/es2020/src/picker/misc/datetimePicker.interface.js.map +0 -1
  515. package/es2020/src/picker/misc/tokens.js.map +0 -1
  516. package/es2020/src/picker/modules/picker.module.js.map +0 -1
  517. package/es2020/src/picker/types.js.map +0 -1
  518. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js.map +0 -1
  519. package/es2020/src/selector/components/selector/selector.component.animations.js.map +0 -1
  520. package/es2020/src/selector/components/selector/selector.component.js.map +0 -1
  521. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +0 -1
  522. package/es2020/src/selector/directives/dateTimePickerRenderer/dateTimePickerRenderer.directive.js.map +0 -1
  523. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +0 -1
  524. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +0 -1
  525. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +0 -1
  526. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +0 -1
  527. package/es2020/src/selector/interfaces.js.map +0 -1
  528. package/es2020/src/selector/misc/datetimeSelector.interface.js.map +0 -1
  529. package/es2020/src/selector/misc/tokens.js.map +0 -1
  530. package/es2020/src/selector/modules/basicSelector.module.js.map +0 -1
  531. package/es2020/src/selector/modules/selector.module.js.map +0 -1
  532. package/es2020/src/selector/types.js.map +0 -1
  533. package/es2020/src/services/dateApi.interface.js.map +0 -1
  534. package/es2020/src/services/datePositionParser.interface.js.map +0 -1
  535. package/es2020/src/services/datePositionParser.service.js.map +0 -1
  536. package/es2020/src/services/dateTimeRelativeParser.service.js.map +0 -1
  537. package/es2020/src/services/dateValueProvider.service.js.map +0 -1
  538. package/es2020/src/services/formatProvider.interface.js.map +0 -1
  539. package/src/misc/datetime.interface.d.ts.map +0 -1
  540. package/src/picker/components/dayPicker/dayPicker.component.html +0 -21
  541. package/src/picker/components/monthPicker/monthPicker.component.html +0 -13
  542. package/src/picker/components/picker/picker.component.html +0 -3
  543. package/src/picker/components/yearPicker/yearPicker.component.html +0 -13
  544. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts.map +0 -1
  545. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +0 -1
  546. package/src/services/dateApi.interface.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetimeValidator.directive.js","sourceRoot":"","sources":["../../../../../../src/legacy/selector/directives/datetimeValidator/datetimeValidator.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,aAAa,EAA4D,MAAM,gBAAgB,CAAC;AAExG,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,8CAA8C,CAAC;;;AAEvF;;GAEG;AACH,MAAM,kBAAkB,GACxB;IACI,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IACzD,KAAK,EAAE,IAAI;CACd,CAAC;AAEF;;GAEG;AAMH,MAAM,OAAO,0BAA0B;IASnC,iEAAiE;IACjE,YAAY,gBAAkD;QAR9D,oEAAoE;QAEpE;;WAEG;QACK,eAAU,GAAgB,GAAG,EAAE,CAAC,IAAI,CAAC;QAKzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,kGAAkG;IAElG;;;;OAIG;IACI,QAAQ,CAAC,OAAwB;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;;uHAzBQ,0BAA0B;2GAA1B,0BAA0B,+LAFxB,CAAC,kBAAkB,CAAC;2FAEtB,0BAA0B;kBALtC,SAAS;mBACV;oBACI,QAAQ,EAAE,sKAAsK;oBAChL,SAAS,EAAE,CAAC,kBAAkB,CAAC;iBAClC","sourcesContent":["import {ExistingProvider, forwardRef, Directive} from '@angular/core';\nimport {NG_VALIDATORS, AbstractControl, Validator, ValidatorFn, ValidationErrors} from '@angular/forms';\n\nimport {Validators} from '../../../../misc/validators';\nimport {DateTimeSelectorComponent} from '../../components/selector/selector.component';\n\n/**\n * Validator that is injected with directive DatetimeValidatorDirective\n */\nconst DATETIME_VALIDATOR = <ExistingProvider>\n{\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => DatetimeValidatorDirective),\n multi: true\n};\n\n/**\n * Directive injecting datetime validator, validating datetime\n */\n@Directive(\n{\n selector: 'date-time-selector[validate][formControlName]:not([range]),date-time-selector[validate][formControl]:not([range]),date-time-selector[validate][ngModel]:not([range])',\n providers: [DATETIME_VALIDATOR]\n})\nexport class DatetimeValidatorDirective<TDate = any> implements Validator\n{\n //######################### private fields #########################\n\n /**\n * Function used for validations\n */\n private _validator: ValidatorFn = () => null;\n\n //######################### constructor #########################\n constructor(datetimeSelector: DateTimeSelectorComponent<TDate>)\n {\n this._validator = Validators.datetime(datetimeSelector);\n }\n\n //######################### public methods - implementation of Validator #########################\n\n /**\n * Validates input and returns validation result\n * @param control - Control that is being validated\n * @returns validation results\n */\n public validate(control: AbstractControl): ValidationErrors|null\n {\n return this._validator(control);\n }\n}"]}
@@ -102,9 +102,9 @@ export class DateTimeSelectorControlValueAccessor {
102
102
  }
103
103
  }
104
104
  }
105
- DateTimeSelectorControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorControlValueAccessor, deps: [{ token: i1.DateTimeSelectorComponent }], target: i0.ɵɵFactoryTarget.Directive });
106
- DateTimeSelectorControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: DateTimeSelectorControlValueAccessor, selector: "date-time-selector[formControlName],date-time-selector[formControl],date-time-selector[ngModel]", inputs: { range: "range", formatted: "formatted" }, providers: [DATE_TIME_SELECTOR_VALUE_ACCESSOR], ngImport: i0 });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorControlValueAccessor, decorators: [{
105
+ DateTimeSelectorControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorControlValueAccessor, deps: [{ token: i1.DateTimeSelectorComponent }], target: i0.ɵɵFactoryTarget.Directive });
106
+ DateTimeSelectorControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: DateTimeSelectorControlValueAccessor, selector: "date-time-selector[formControlName],date-time-selector[formControl],date-time-selector[ngModel]", inputs: { range: "range", formatted: "formatted" }, providers: [DATE_TIME_SELECTOR_VALUE_ACCESSOR], ngImport: i0 });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorControlValueAccessor, decorators: [{
108
108
  type: Directive,
109
109
  args: [{
110
110
  selector: 'date-time-selector[formControlName],date-time-selector[formControl],date-time-selector[ngModel]',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectorControlValueAccessor.directive.js","sourceRoot":"","sources":["../../../../../../src/legacy/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {Directive, ExistingProvider, forwardRef, Input, OnDestroy} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {Subscription} from 'rxjs';\n\nimport {DateTimeValue} from '../../../../interfaces/dateTime/datetime.interface';\nimport {DateTimeSelectorComponent} from '../../components/selector/selector.component';\n\n/**\n * Value accessor provider for date time selector\n */\nconst DATE_TIME_SELECTOR_VALUE_ACCESSOR = <ExistingProvider>\n{\n provide: NG_VALUE_ACCESSOR, \n useExisting: forwardRef(() => DateTimeSelectorControlValueAccessor), \n multi: true\n};\n\n/**\n * Value accessor for getting and setting values for date time selector\n */\n@Directive(\n{\n selector: 'date-time-selector[formControlName],date-time-selector[formControl],date-time-selector[ngModel]',\n providers: [DATE_TIME_SELECTOR_VALUE_ACCESSOR]\n})\nexport class DateTimeSelectorControlValueAccessor<TDate> implements ControlValueAccessor, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Subscriptions that are destroyed on directive destruction\n */\n protected _subscriptions: Subscription = new Subscription();\n\n //######################### public properties - inputs #########################\n\n /**\n * Indication whether value for selector is represented as range from, to\n */\n @Input()\n public range: boolean = false;\n\n /**\n * Indication whether value for selector is represented as formatted string value, if both 'formatted' and 'range' are set, 'range' takes precedence\n */\n @Input()\n public formatted: boolean = false;\n\n //######################### constructor #########################\n constructor(protected _selector: DateTimeSelectorComponent<TDate>)\n {\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this._subscriptions?.unsubscribe();\n }\n\n //######################### public methods - implementation of ControlValueAccessor #########################\n\n /**\n * Sets value to datetime selector\n */\n public writeValue(value: string|DateTimeValue<TDate>|TDate|null): void\n {\n if(this.range)\n {\n this._selector.value = value as DateTimeValue<TDate>;\n }\n else if(this.formatted)\n {\n this._selector.formattedValue = value as string;\n }\n else\n {\n this._selector.value =\n {\n from: value as TDate,\n to: value as TDate\n };\n }\n }\n\n /**\n * Registers callback that is called when value of datetime selector value changes\n */\n public registerOnChange(fn: (data: string|DateTimeValue<TDate>|TDate|null) => any): void\n {\n this._subscriptions.add(this._selector.valueChange.subscribe(() => this._emitValue(fn)));\n }\n\n /**\n * Registers callback that is called when datetime selector was touched by user\n */\n public registerOnTouched(fn: () => any): void\n {\n this._subscriptions.add(this._selector.touched.subscribe(() => fn()));\n }\n\n /**\n * Used for setting control as disabled\n * @param isDisabled - disabled status to set on the element\n */\n public setDisabledState(isDisabled: boolean): void\n {\n this._selector.setDisabled(isDisabled);\n }\n\n //######################### protected methods #########################\n\n /**\n * Used for emitting value that was changed\n * @param fn - Function that is used for emitting changed value\n */\n protected _emitValue(fn: (value: string|DateTimeValue<TDate>|TDate|null) => any): void\n {\n if(this.range)\n {\n fn(this._selector.value);\n }\n else if(this.formatted)\n {\n fn(this._selector.formattedValue);\n }\n else\n {\n const value = this._selector.value;\n\n if(!value)\n {\n fn(null);\n }\n else\n {\n fn(value.from!);\n }\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/legacy/selector/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC","sourcesContent":["export * from './misc/datetimeSelector.interface';"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetimeSelector.interface.js","sourceRoot":"","sources":["../../../../../src/legacy/selector/misc/datetimeSelector.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from '@angular/core';\nimport {PositionOptions} from '@anglr/common';\nimport {Observable} from 'rxjs';\n\nimport {DateTimeValue} from '../../../interfaces/dateTime/datetime.interface';\nimport {DateTimePickerOptions} from '../../picker/misc/datetimePicker.interface';\n\n/**\n * Defintion of datetime selector component options\n */\nexport interface DateTimeSelectorOptions<TSelector = any, TPicker = any> extends DateTimePickerOptions<TPicker>\n{\n /**\n * Definition of type that is used for selector\n */\n selectorComponent: Type<TSelector>;\n\n /**\n * Indication whether close picker on value selection\n */\n pickerCloseOnValueSelect: boolean;\n\n /**\n * Indication whether picker is disabled\n */\n pickerDisabled: boolean;\n\n /**\n * Indication whether use absolute positioning of picker\n */\n pickerAbsolute: boolean;\n\n /**\n * Position options that are used in case of absolute picker\n */\n positionOptions: Partial<PositionOptions>;\n\n /**\n * Css selector for absolute picker container\n */\n pickerAbsoluteContainer: string;\n}\n\n/**\n * Describes datetime selector component used for displaying and selecting value\n */\nexport interface DateTimeSelector<TDate = any>\n{\n /**\n * Currently used format for displaying data\n */\n format: string;\n\n /**\n * Placeholder that is displayed when there is no value selected\n */\n placeholder: string|null;\n\n /**\n * Gets current value of datetime\n */\n readonly value: DateTimeValue<TDate>|null;\n\n /**\n * Gets formatted value\n */\n readonly formattedValue: string|null;\n\n /**\n * Gets indication whether is current value valid\n */\n readonly valid: boolean;\n\n /**\n * Occurs when value changes\n */\n readonly valueChange: Observable<void>;\n\n /**\n * Occurs when selector is touched by user\n */\n readonly touched: Observable<void>;\n\n /**\n * Occurs when selector requires picker to be displayed or hidden\n */\n readonly pickerRequest: Observable<boolean>;\n\n /**\n * Sets minimal possible value for picker, that can be picked\n * @param value - Minimal possible value that can be picked\n */\n setMinValue(value: TDate|null): void;\n\n /**\n * Sets maximal possible value for picker, that can be picked\n * @param value - Maximal possible value that can be picked\n */\n setMaxValue(value: TDate|null): void;\n\n /**\n * Sets value of datetime selector\n * @param value - Value to be set to this selector\n */\n setValue(value: DateTimeValue<TDate>|null): void;\n\n /**\n * Sets as 'control' disabled\n * @param disabled - Indication whether sets value as disabled, if omitted it is same as disabled set to true\n */\n setDisabled(disabled?: boolean): void;\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n invalidateVisuals(): void;\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../../src/legacy/selector/misc/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAI7C;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAqD,IAAI,cAAc,CAAmC,kCAAkC,CAAC,CAAC","sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {DateTimeSelectorOptions} from './datetimeSelector.interface';\n\n/**\n * Injection token used for obtaining datetime selector configuration\n */\nexport const DATE_TIME_SELECTOR_CONFIGURATION: InjectionToken<Partial<DateTimeSelectorOptions>> = new InjectionToken<Partial<DateTimeSelectorOptions>>('DATE_TIME_SELECTOR_CONFIGURATION');"]}
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  */
7
7
  export class DateTimeBasicSelectorModule {
8
8
  }
9
- DateTimeBasicSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeBasicSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- DateTimeBasicSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeBasicSelectorModule, declarations: [SimpleInputDateTimeSelectorComponent] });
11
- DateTimeBasicSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeBasicSelectorModule });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeBasicSelectorModule, decorators: [{
9
+ DateTimeBasicSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBasicSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ DateTimeBasicSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBasicSelectorModule, declarations: [SimpleInputDateTimeSelectorComponent] });
11
+ DateTimeBasicSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBasicSelectorModule });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBasicSelectorModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicSelector.module.js","sourceRoot":"","sources":["../../../../../src/legacy/selector/modules/basicSelector.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,oCAAoC,EAAC,MAAM,iEAAiE,CAAC;;AAErH;;GAEG;AAQH,MAAM,OAAO,2BAA2B;;wHAA3B,2BAA2B;yHAA3B,2BAA2B,iBAHhC,oCAAoC;yHAG/B,2BAA2B;2FAA3B,2BAA2B;kBAPvC,QAAQ;mBACT;oBACI,YAAY,EACZ;wBACI,oCAAoC;qBACvC;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {SimpleInputDateTimeSelectorComponent} from '../components/simpleInputDateTime/simpleInputDateTime.component';\n\n/**\n * Angular module for date time basic input selector component\n */\n@NgModule(\n{\n declarations:\n [\n SimpleInputDateTimeSelectorComponent\n ]\n})\nexport class DateTimeBasicSelectorModule\n{\n}"]}
@@ -15,8 +15,8 @@ import * as i0 from "@angular/core";
15
15
  */
16
16
  export class DateTimeSelectorModule {
17
17
  }
18
- DateTimeSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- DateTimeSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorModule, declarations: [DateTimeSelectorComponent,
18
+ DateTimeSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ DateTimeSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorModule, declarations: [DateTimeSelectorComponent,
20
20
  InputDateTimeSelectorComponent,
21
21
  DateTimeSelectorControlValueAccessor,
22
22
  DatetimeValidatorDirective,
@@ -30,12 +30,10 @@ DateTimeSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
30
30
  DatetimeMinValidatorDirective,
31
31
  DatetimeMaxValidatorDirective,
32
32
  DateTimePickerRendererDirective] });
33
- DateTimeSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorModule, imports: [[
34
- AngularCommonModule,
35
- CommonDynamicModule,
36
- DateTimePickerModule,
37
- ]] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateTimeSelectorModule, decorators: [{
33
+ DateTimeSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorModule, imports: [AngularCommonModule,
34
+ CommonDynamicModule,
35
+ DateTimePickerModule] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeSelectorModule, decorators: [{
39
37
  type: NgModule,
40
38
  args: [{
41
39
  imports: [
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.module.js","sourceRoot":"","sources":["../../../../../src/legacy/selector/modules/selector.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,IAAI,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,yBAAyB,EAAC,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAC,8BAA8B,EAAC,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAC,oCAAoC,EAAC,MAAM,mFAAmF,CAAC;AACvI,OAAO,EAAC,0BAA0B,EAAC,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAC,6BAA6B,EAAC,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAC,6BAA6B,EAAC,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAC,+BAA+B,EAAC,MAAM,uEAAuE,CAAC;;AAEtH;;GAEG;AA6BH,MAAM,OAAO,sBAAsB;;mHAAtB,sBAAsB;oHAAtB,sBAAsB,iBAlB3B,yBAAyB;QACzB,8BAA8B;QAC9B,oCAAoC;QACpC,0BAA0B;QAC1B,6BAA6B;QAC7B,6BAA6B;QAC7B,+BAA+B,aAZ/B,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,aAcpB,yBAAyB;QACzB,oCAAoC;QACpC,0BAA0B;QAC1B,6BAA6B;QAC7B,6BAA6B;QAC7B,+BAA+B;oHAG1B,sBAAsB,YAxB3B,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;2FAsBf,sBAAsB;kBA5BlC,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,mBAAmB;wBACnB,mBAAmB;wBACnB,oBAAoB;qBACvB;oBACD,YAAY,EACZ;wBACI,yBAAyB;wBACzB,8BAA8B;wBAC9B,oCAAoC;wBACpC,0BAA0B;wBAC1B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,+BAA+B;qBAClC;oBACD,OAAO,EACP;wBACI,yBAAyB;wBACzB,oCAAoC;wBACpC,0BAA0B;wBAC1B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,+BAA+B;qBAClC;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule as AngularCommonModule} from '@angular/common';\nimport {CommonDynamicModule} from '@anglr/common';\n\nimport {DateTimePickerModule} from '../../picker/modules/picker.module';\nimport {DateTimeSelectorComponent} from '../components/selector/selector.component';\nimport {InputDateTimeSelectorComponent} from '../components/inputDateTime/inputDateTime.component';\nimport {DateTimeSelectorControlValueAccessor} from '../directives/selectorControlValueAccessor/selectorControlValueAccessor.directive';\nimport {DatetimeValidatorDirective} from '../directives/datetimeValidator/datetimeValidator.directive';\nimport {DatetimeMinValidatorDirective} from '../directives/datetimeMinValidator/datetimeMinValidator.directive';\nimport {DatetimeMaxValidatorDirective} from '../directives/datetimeMaxValidator/datetimeMaxValidator.directive';\nimport {DateTimePickerRendererDirective} from '../directives/dateTimePickerRenderer/dateTimePickerRenderer.directive';\n\n/**\n * Angular module for date time selector components\n */\n@NgModule(\n{\n imports:\n [\n AngularCommonModule,\n CommonDynamicModule,\n DateTimePickerModule,\n ],\n declarations:\n [\n DateTimeSelectorComponent,\n InputDateTimeSelectorComponent,\n DateTimeSelectorControlValueAccessor,\n DatetimeValidatorDirective,\n DatetimeMinValidatorDirective,\n DatetimeMaxValidatorDirective,\n DateTimePickerRendererDirective,\n ],\n exports:\n [\n DateTimeSelectorComponent,\n DateTimeSelectorControlValueAccessor,\n DatetimeValidatorDirective,\n DatetimeMinValidatorDirective,\n DatetimeMaxValidatorDirective,\n DateTimePickerRendererDirective,\n ]\n})\nexport class DateTimeSelectorModule\n{\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/legacy/selector/types.ts"],"names":[],"mappings":"AAAA,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,qDAAqD,CAAC;AACpE,cAAc,gEAAgE,CAAC;AAC/E,cAAc,kEAAkE,CAAC;AACjF,cAAc,kEAAkE,CAAC;AACjF,cAAc,4DAA4D,CAAC;AAC3E,cAAc,kFAAkF,CAAC;AACjG,cAAc,sEAAsE,CAAC;AACrF,cAAc,eAAe,CAAC","sourcesContent":["export * from './components/inputDateTime/inputDateTime.component';\nexport * from './components/selector/selector.component';\nexport * from './components/selector/selector.component.animations';\nexport * from './components/simpleInputDateTime/simpleInputDateTime.component';\nexport * from './directives/datetimeMaxValidator/datetimeMaxValidator.directive';\nexport * from './directives/datetimeMinValidator/datetimeMinValidator.directive';\nexport * from './directives/datetimeValidator/datetimeValidator.directive';\nexport * from './directives/selectorControlValueAccessor/selectorControlValueAccessor.directive';\nexport * from './directives/dateTimePickerRenderer/dateTimePickerRenderer.directive';\nexport * from './misc/tokens';"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Available formats for date time value
3
+ */
4
+ export var DateTimeValueFormat;
5
+ (function (DateTimeValueFormat) {
6
+ /**
7
+ * Instance of date
8
+ */
9
+ DateTimeValueFormat[DateTimeValueFormat["DateInstance"] = 0] = "DateInstance";
10
+ /**
11
+ * Numeric unix timestamp in miliseconds
12
+ */
13
+ DateTimeValueFormat[DateTimeValueFormat["UnixTimestamp"] = 1] = "UnixTimestamp";
14
+ /**
15
+ * Formatted date as string value
16
+ */
17
+ DateTimeValueFormat[DateTimeValueFormat["FormattedString"] = 2] = "FormattedString";
18
+ /**
19
+ * Range of date instances from, to
20
+ */
21
+ DateTimeValueFormat[DateTimeValueFormat["RangeOfDateInstances"] = 3] = "RangeOfDateInstances";
22
+ })(DateTimeValueFormat || (DateTimeValueFormat = {}));
23
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/misc/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,mBAqBX;AArBD,WAAY,mBAAmB;IAE3B;;OAEG;IACH,6EAAY,CAAA;IAEZ;;OAEG;IACH,+EAAa,CAAA;IAEb;;OAEG;IACH,mFAAe,CAAA;IAEf;;OAEG;IACH,6FAAoB,CAAA;AACxB,CAAC,EArBW,mBAAmB,KAAnB,mBAAmB,QAqB9B","sourcesContent":["/**\n * Available formats for date time value\n */\nexport enum DateTimeValueFormat\n{\n /**\n * Instance of date\n */\n DateInstance,\n\n /**\n * Numeric unix timestamp in miliseconds\n */\n UnixTimestamp,\n\n /**\n * Formatted date as string value\n */\n FormattedString,\n\n /**\n * Range of date instances from, to\n */\n RangeOfDateInstances,\n}"]}
@@ -3,6 +3,10 @@ import { InjectionToken } from '@angular/core';
3
3
  * Injection token used for injecting type that creates instance of DateApiObject
4
4
  */
5
5
  export const DATE_API_OBJECT_TYPE = new InjectionToken('DATE_API_OBJECT_TYPE');
6
+ /**
7
+ * Injection token used for injecting type that represents date time input
8
+ */
9
+ export const DATE_TIME_INPUT = new InjectionToken('DATE_TIME_INPUT');
6
10
  /**
7
11
  * Injection token used for obtaining DateApi implementation
8
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/misc/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAI7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC,IAAI,cAAc,CAAoB,sBAAsB,CAAC,CAAC;AAErI;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA4B,IAAI,cAAc,CAAU,UAAU,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,IAAI,cAAc,CAAiB,iBAAiB,EACjB;IACI,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE;QAEV,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC","sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {DateApi, DateApiObjectCtor, FormatProvider} from '../services';\n\n/**\n * Injection token used for injecting type that creates instance of DateApiObject\n */\nexport const DATE_API_OBJECT_TYPE: InjectionToken<DateApiObjectCtor> = new InjectionToken<DateApiObjectCtor>('DATE_API_OBJECT_TYPE');\n\n/**\n * Injection token used for obtaining DateApi implementation\n */\nexport const DATE_API: InjectionToken<DateApi> = new InjectionToken<DateApi>('DATE_API');\n\n/**\n * Injection token used for obtaining FormatProvider implementation\n */\nexport const FORMAT_PROVIDER: InjectionToken<FormatProvider> = new InjectionToken<FormatProvider>('FORMAT_PROVIDER',\n {\n providedIn: 'root',\n factory: () =>\n {\n return {\n date: 'yyyy-MM-dd',\n dateTime: 'yyyy-MM-dd HH:mm',\n time: 'HH:mm',\n year: 'yyyy',\n month: 'MM',\n week: 'ww',\n day: 'dd',\n hour: 'HH',\n minute: 'mm',\n second: 'ss',\n dayName: 'cccc',\n dayNameShort: 'cccccc',\n monthName: 'LLLL',\n monthNameShort: 'LLL'\n };\n }\n });"]}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/misc/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAK7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC,IAAI,cAAc,CAAoB,sBAAsB,CAAC,CAAC;AAErI;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkC,IAAI,cAAc,CAAgB,iBAAiB,CAAC,CAAC;AAEnH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA4B,IAAI,cAAc,CAAU,UAAU,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,IAAI,cAAc,CAAiB,iBAAiB,EACjB;IACI,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE;QAEV,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;CACJ,CAAC,CAAC","sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {DateTimeInput, FormatProvider} from '../interfaces';\nimport {DateApi, DateApiObjectCtor} from '../services';\n\n/**\n * Injection token used for injecting type that creates instance of DateApiObject\n */\nexport const DATE_API_OBJECT_TYPE: InjectionToken<DateApiObjectCtor> = new InjectionToken<DateApiObjectCtor>('DATE_API_OBJECT_TYPE');\n\n/**\n * Injection token used for injecting type that represents date time input\n */\nexport const DATE_TIME_INPUT: InjectionToken<DateTimeInput> = new InjectionToken<DateTimeInput>('DATE_TIME_INPUT');\n\n/**\n * Injection token used for obtaining DateApi implementation\n */\nexport const DATE_API: InjectionToken<DateApi> = new InjectionToken<DateApi>('DATE_API');\n\n/**\n * Injection token used for obtaining FormatProvider implementation\n */\nexport const FORMAT_PROVIDER: InjectionToken<FormatProvider> = new InjectionToken<FormatProvider>('FORMAT_PROVIDER',\n {\n providedIn: 'root',\n factory: () =>\n {\n return {\n date: 'yyyy-MM-dd',\n dateTime: 'yyyy-MM-dd HH:mm',\n time: 'HH:mm',\n year: 'yyyy',\n month: 'MM',\n week: 'ww',\n day: 'dd',\n hour: 'HH',\n minute: 'mm',\n second: 'ss',\n dayName: 'cccc',\n dayNameShort: 'cccccc',\n monthName: 'LLLL',\n monthNameShort: 'LLL'\n };\n }\n });"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/misc/types.ts"],"names":[],"mappings":"","sourcesContent":["import {DateTimeValue} from '../interfaces';\nimport {DateApiObject} from '../services';\n\n/**\n * Type that represents parsed date value or values in case of range\n */\nexport type DateTimeObjectValue<TDate = unknown> = DateApiObject<TDate>|[DateApiObject<TDate>|null, DateApiObject<TDate>|null];\n\n/**\n * Type that represents input output types that can be processed by date time\n */\nexport type DateTimeInputOutputValue<TDate = unknown> = string|number|DateTimeValue<TDate>|TDate|Date;\n"]}
@@ -0,0 +1,111 @@
1
+ import { isBlank, isJsObject, isPresent, isString, nameof } from '@jscrpt/common';
2
+ import { DateTimeValueFormat } from './enums';
3
+ /**
4
+ * Parses date time input output value
5
+ * @param value - Value to be parsed
6
+ * @param dateApi - Date api used for obtaining result
7
+ * @param dateTimeFormat - Date time format type, optional, if not specified autodetection of format will be used
8
+ * @param stringFormat - String format for parsing string dates, required only for string dates
9
+ */
10
+ export function parseDateTime(value, dateApi, dateTimeFormat, stringFormat) {
11
+ if (isBlank(value)) {
12
+ return value;
13
+ }
14
+ //format is specified
15
+ if (isPresent(dateTimeFormat)) {
16
+ //string format required, but format string was not provided
17
+ if (dateTimeFormat == DateTimeValueFormat.FormattedString && isBlank(stringFormat)) {
18
+ throw new Error('DateTime: unable to parse string date, because format is missing!');
19
+ }
20
+ //value is range
21
+ if (isDateTimeValue(value)) {
22
+ //requirested format is different
23
+ if (dateTimeFormat != DateTimeValueFormat.RangeOfDateInstances) {
24
+ throw new Error('DateTime: requested datetime format is not range, but value is range!');
25
+ }
26
+ return [
27
+ isBlank(value.from) ? null : parseDateTime(value.from, dateApi, DateTimeValueFormat.DateInstance, null),
28
+ isBlank(value.to) ? null : parseDateTime(value.to, dateApi, DateTimeValueFormat.DateInstance, null),
29
+ ];
30
+ }
31
+ //value should be date instance, or number, or string, but it is not
32
+ if (dateTimeFormat != DateTimeValueFormat.DateInstance &&
33
+ dateTimeFormat != DateTimeValueFormat.FormattedString &&
34
+ dateTimeFormat != DateTimeValueFormat.UnixTimestamp) {
35
+ throw new Error('DateTime: unable to get date time value, should be date instance, or string, or number!');
36
+ }
37
+ //value is string, instance of date or unix timestamp
38
+ return dateApi.getValue(value, stringFormat ?? undefined);
39
+ }
40
+ //value is range
41
+ if (isDateTimeValue(value)) {
42
+ return [
43
+ isBlank(value.from) ? null : parseDateTime(value.from, dateApi, DateTimeValueFormat.DateInstance, null),
44
+ isBlank(value.to) ? null : parseDateTime(value.to, dateApi, DateTimeValueFormat.DateInstance, null),
45
+ ];
46
+ }
47
+ //string format, but format string was not provided
48
+ if (isString(value) && isBlank(stringFormat)) {
49
+ throw new Error('DateTime: unable to parse string date, because format is missing!');
50
+ }
51
+ //value is string, instance of date or unix timestamp
52
+ return dateApi.getValue(value, stringFormat ?? undefined);
53
+ }
54
+ /**
55
+ * Formats value into specified format of date time
56
+ * @param value - Value that should be converted to input output date time value
57
+ * @param dateTimeFormat - Date time format type
58
+ * @param stringFormat - String format for parsing string dates, required only for string dates
59
+ */
60
+ export function formatDateTime(value, dateTimeFormat, stringFormat) {
61
+ if (isBlank(value)) {
62
+ return value;
63
+ }
64
+ //value is range
65
+ if (Array.isArray(value)) {
66
+ //range is expected
67
+ if (dateTimeFormat != DateTimeValueFormat.RangeOfDateInstances) {
68
+ throw new Error('DateTime: value is array of values, but format is not range!');
69
+ }
70
+ return {
71
+ from: value[0]?.value ?? null,
72
+ to: value[1]?.value ?? null,
73
+ };
74
+ }
75
+ //range is not expected
76
+ if (dateTimeFormat == DateTimeValueFormat.RangeOfDateInstances) {
77
+ throw new Error('DateTime: value is not array of values, but format is range!');
78
+ }
79
+ //string date time
80
+ if (dateTimeFormat == DateTimeValueFormat.FormattedString) {
81
+ //string format is missing for string date time
82
+ if (isBlank(stringFormat)) {
83
+ throw new Error('DateTime: missing string format for string date time!');
84
+ }
85
+ return value.format(stringFormat);
86
+ }
87
+ if (dateTimeFormat == DateTimeValueFormat.UnixTimestamp) {
88
+ value.unixTimestamp();
89
+ }
90
+ return value.value;
91
+ }
92
+ /**
93
+ * Tests whether value is `DateTimeValue`
94
+ * @param value - Value that is tested
95
+ */
96
+ export function isDateTimeValue(value) {
97
+ return isJsObject(value) &&
98
+ nameof('from') in value &&
99
+ nameof('to') in value;
100
+ }
101
+ /**
102
+ * Gets single date time value, use in places where ranged date time can not be used
103
+ * @param value - Value to be examined
104
+ */
105
+ export function getSingleDateTimeValue(value) {
106
+ if (isDateTimeValue(value)) {
107
+ throw new Error('DateTime: Unable to apply ranged date time input as value restriction!');
108
+ }
109
+ return value;
110
+ }
111
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/misc/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {isBlank, isJsObject, isPresent, isString, nameof} from '@jscrpt/common';\n\nimport {DateTimeValue} from '../interfaces';\nimport {DateApi, DateApiObject} from '../services';\nimport {DateTimeValueFormat} from './enums';\nimport {DateTimeInputOutputValue, DateTimeObjectValue} from './types';\n\n/**\n * Parses date time input output value\n * @param value - Value to be parsed\n * @param dateApi - Date api used for obtaining result\n * @param dateTimeFormat - Date time format type, optional, if not specified autodetection of format will be used\n * @param stringFormat - String format for parsing string dates, required only for string dates\n */\nexport function parseDateTime<TDate = unknown>(value: DateTimeInputOutputValue<TDate>|undefined|null,\n dateApi: DateApi<TDate>,\n dateTimeFormat: DateTimeValueFormat|undefined|null,\n stringFormat: string|undefined|null,): DateTimeObjectValue<TDate>|undefined|null\n{\n if(isBlank(value))\n {\n return value;\n }\n\n //format is specified\n if(isPresent(dateTimeFormat))\n {\n //string format required, but format string was not provided\n if(dateTimeFormat == DateTimeValueFormat.FormattedString && isBlank(stringFormat))\n {\n throw new Error('DateTime: unable to parse string date, because format is missing!');\n }\n\n //value is range\n if(isDateTimeValue(value))\n {\n //requirested format is different\n if(dateTimeFormat != DateTimeValueFormat.RangeOfDateInstances)\n {\n throw new Error('DateTime: requested datetime format is not range, but value is range!');\n }\n\n return [\n isBlank(value.from) ? null : parseDateTime(value.from, dateApi, DateTimeValueFormat.DateInstance, null) as DateApiObject<TDate>,\n isBlank(value.to) ? null : parseDateTime(value.to, dateApi, DateTimeValueFormat.DateInstance, null) as DateApiObject<TDate>,\n ];\n }\n\n //value should be date instance, or number, or string, but it is not\n if(dateTimeFormat != DateTimeValueFormat.DateInstance &&\n dateTimeFormat != DateTimeValueFormat.FormattedString &&\n dateTimeFormat != DateTimeValueFormat.UnixTimestamp)\n {\n throw new Error('DateTime: unable to get date time value, should be date instance, or string, or number!');\n }\n\n //value is string, instance of date or unix timestamp\n return dateApi.getValue(value, stringFormat ?? undefined);\n }\n\n //value is range\n if(isDateTimeValue(value))\n {\n return [\n isBlank(value.from) ? null : parseDateTime(value.from, dateApi, DateTimeValueFormat.DateInstance, null) as DateApiObject<TDate>,\n isBlank(value.to) ? null : parseDateTime(value.to, dateApi, DateTimeValueFormat.DateInstance , null) as DateApiObject<TDate>,\n ];\n }\n\n //string format, but format string was not provided\n if(isString(value) && isBlank(stringFormat))\n {\n throw new Error('DateTime: unable to parse string date, because format is missing!');\n }\n\n //value is string, instance of date or unix timestamp\n return dateApi.getValue(value, stringFormat ?? undefined);\n}\n\n/**\n * Formats value into specified format of date time\n * @param value - Value that should be converted to input output date time value\n * @param dateTimeFormat - Date time format type\n * @param stringFormat - String format for parsing string dates, required only for string dates\n */\nexport function formatDateTime<TDate = unknown>(value: DateTimeObjectValue<TDate>|undefined|null,\n dateTimeFormat: DateTimeValueFormat,\n stringFormat: string|undefined|null): DateTimeInputOutputValue<TDate>|undefined|null\n{\n if(isBlank(value))\n {\n return value;\n }\n\n //value is range\n if(Array.isArray(value))\n {\n //range is expected\n if(dateTimeFormat != DateTimeValueFormat.RangeOfDateInstances)\n {\n throw new Error('DateTime: value is array of values, but format is not range!');\n }\n\n return {\n from: value[0]?.value ?? null,\n to: value[1]?.value ?? null,\n };\n }\n\n //range is not expected\n if(dateTimeFormat == DateTimeValueFormat.RangeOfDateInstances)\n {\n throw new Error('DateTime: value is not array of values, but format is range!');\n }\n\n //string date time\n if(dateTimeFormat == DateTimeValueFormat.FormattedString)\n {\n //string format is missing for string date time\n if(isBlank(stringFormat))\n {\n throw new Error('DateTime: missing string format for string date time!');\n }\n\n return value.format(stringFormat);\n }\n\n if(dateTimeFormat == DateTimeValueFormat.UnixTimestamp)\n {\n value.unixTimestamp();\n }\n\n return value.value;\n}\n\n/**\n * Tests whether value is `DateTimeValue`\n * @param value - Value that is tested\n */\nexport function isDateTimeValue<TDate = unknown>(value: unknown): value is DateTimeValue<TDate>\n{\n return isJsObject(value) &&\n nameof<DateTimeValue>('from') in value &&\n nameof<DateTimeValue>('to') in value;\n}\n\n/**\n * Gets single date time value, use in places where ranged date time can not be used\n * @param value - Value to be examined\n */\nexport function getSingleDateTimeValue<TDate>(value: DateTimeInputOutputValue<TDate>|undefined|null): string|number|Date|TDate|null|undefined\n{\n if(isDateTimeValue(value))\n {\n throw new Error('DateTime: Unable to apply ranged date time input as value restriction!');\n }\n\n return value;\n}"]}
@@ -1,3 +1,110 @@
1
+ import { isBlank } from '@jscrpt/common';
2
+ import { getSingleDateTimeValue, parseDateTime } from './utils';
3
+ import { DateTimeBase } from '../modules/dateTime/directives/dateTimeBase';
4
+ /**
5
+ * Date time validator factory function, creates validator for checking validity of datetime
6
+ * @param dateApi - Date api used for parsing date time
7
+ * @param valueFormat - Optional required format
8
+ * @param stringFormat - Optional string format of value
9
+ */
10
+ export function datetimeValidator(dateApi, valueFormat, stringFormat) {
11
+ return (control) => {
12
+ if (isBlank(control.value)) {
13
+ return null;
14
+ }
15
+ const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);
16
+ if (!parsedValue) {
17
+ return null;
18
+ }
19
+ if (!Array.isArray(parsedValue)) {
20
+ if (!parsedValue.isValid()) {
21
+ return {
22
+ 'datetime': stringFormat
23
+ };
24
+ }
25
+ }
26
+ else {
27
+ //TODO: support for ranges
28
+ }
29
+ return null;
30
+ };
31
+ }
32
+ /**
33
+ * Date time validator factory function, creates validator for checking validity of datetime max value
34
+ * @param dateApi - Date api used for parsing date time
35
+ * @param maxValue - Maximal date time value that should be used for validation against
36
+ * @param valueFormat - Optional required format
37
+ * @param stringFormat - Optional string format of value
38
+ */
39
+ export function datetimeMaxValidator(dateApi, maxValue, valueFormat, stringFormat) {
40
+ return (control) => {
41
+ if (isBlank(control.value) || isBlank(maxValue)) {
42
+ return null;
43
+ }
44
+ if (maxValue instanceof (DateTimeBase)) {
45
+ const value = getSingleDateTimeValue(maxValue.value);
46
+ //no validation
47
+ if (isBlank(value)) {
48
+ return null;
49
+ }
50
+ maxValue = value;
51
+ }
52
+ const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);
53
+ if (!parsedValue) {
54
+ return null;
55
+ }
56
+ const maxDateTime = dateApi.getValue(maxValue, stringFormat ?? undefined);
57
+ if (!Array.isArray(parsedValue)) {
58
+ if (parsedValue.isValid() && !parsedValue.isBefore(maxDateTime.value)) {
59
+ return {
60
+ 'datetimemax': maxDateTime.value
61
+ };
62
+ }
63
+ }
64
+ else {
65
+ //TODO: support for ranges
66
+ }
67
+ return null;
68
+ };
69
+ }
70
+ /**
71
+ * Date time validator factory function, creates validator for checking validity of datetime min value
72
+ * @param dateApi - Date api used for parsing date time
73
+ * @param minValue - Minimal date time value that should be used for validation against
74
+ * @param valueFormat - Optional required format
75
+ * @param stringFormat - Optional string format of value
76
+ */
77
+ export function datetimeMinValidator(dateApi, minValue, valueFormat, stringFormat) {
78
+ return (control) => {
79
+ if (isBlank(control.value) || isBlank(minValue)) {
80
+ return null;
81
+ }
82
+ if (minValue instanceof (DateTimeBase)) {
83
+ const value = getSingleDateTimeValue(minValue.value);
84
+ //no validation
85
+ if (isBlank(value)) {
86
+ return null;
87
+ }
88
+ minValue = value;
89
+ }
90
+ const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);
91
+ if (!parsedValue) {
92
+ return null;
93
+ }
94
+ const minDateTime = dateApi.getValue(minValue, stringFormat ?? undefined);
95
+ if (!Array.isArray(parsedValue)) {
96
+ if (parsedValue.isValid() && !parsedValue.isAfter(minDateTime.value)) {
97
+ return {
98
+ 'datetimemin': minDateTime.value
99
+ };
100
+ }
101
+ }
102
+ else {
103
+ //TODO: support for ranges
104
+ }
105
+ return null;
106
+ };
107
+ }
1
108
  /**
2
109
  * Validations functions for datetime
3
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/misc/validators.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,UAAU;IAEnB;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAc,QAAoC;QAEpE,OAAO,GAA0B,EAAE;YAE/B,IAAG,CAAC,QAAQ,CAAC,KAAK,EAClB;gBACI,OAAO;oBACH,UAAU,EAAE,IAAI;iBACnB,CAAC;aACL;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAc,QAAoC,EAAE,OAAuB;QAEhG,OAAO,CAAC,OAAwB,EAAyB,EAAE;YAEvD,IAAG,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,QAAQ,CAAC,KAAK;gBACd,QAAQ,CAAC,QAAQ;gBACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC9D;gBACI,OAAO;oBACH,aAAa,EAAE,QAAQ,CAAC,QAAQ;oBAChC,aAAa,EAAE,OAAO,CAAC,KAAK;iBAC/B,CAAC;aACL;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAc,QAAoC,EAAE,OAAuB;QAEhG,OAAO,CAAC,OAAwB,EAAyB,EAAE;YAEvD,IAAG,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,QAAQ,CAAC,KAAK;gBACd,QAAQ,CAAC,QAAQ;gBACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7D;gBACI,OAAO;oBACH,aAAa,EAAE,QAAQ,CAAC,QAAQ;oBAChC,aAAa,EAAE,OAAO,CAAC,KAAK;iBAC/B,CAAC;aACL;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;CACJ","sourcesContent":["import {AbstractControl, ValidationErrors, ValidatorFn} from '@angular/forms';\n\nimport {DateApi} from '../services';\nimport {DateTimeValueObject} from './datetime.interface';\n\n/**\n * Validations functions for datetime\n */\nexport class Validators\n{\n /**\n * Creates validator function that validates control if its value is valid datetime value\n * @param datetime - Object storing information about datetime value\n */\n public static datetime<TDate = any>(datetime: DateTimeValueObject<TDate>): ValidatorFn\n {\n return (): ValidationErrors|null =>\n {\n if(!datetime.valid)\n {\n return {\n 'datetime': true\n };\n }\n\n return null;\n };\n }\n\n /**\n * Creates validator function that validates control if its value is withing range of minimal datetime value\n * @param datetime - Object storing information about datetime value\n * @param dateApi - Date api object\n */\n public static minDatetime<TDate = any>(datetime: DateTimeValueObject<TDate>, dateApi: DateApi<TDate>): ValidatorFn\n {\n return (control: AbstractControl): ValidationErrors|null =>\n {\n if(!!control.value &&\n datetime.valid &&\n datetime.minValue &&\n dateApi.getValue(control.value).isBefore(datetime.minValue))\n {\n return {\n 'minDatetime': datetime.minValue,\n 'actualValue': control.value\n };\n }\n\n return null;\n };\n }\n\n /**\n * Creates validator function that validates control if its value is withing range of maximal datetime value\n * @param datetime - Object storing information about datetime value\n * @param dateApi - Date api object\n */\n public static maxDatetime<TDate = any>(datetime: DateTimeValueObject<TDate>, dateApi: DateApi<TDate>): ValidatorFn\n {\n return (control: AbstractControl): ValidationErrors|null =>\n {\n if(!!control.value &&\n datetime.valid &&\n datetime.maxValue &&\n dateApi.getValue(control.value).isAfter(datetime.maxValue))\n {\n return {\n 'maxDatetime': datetime.maxValue,\n 'actualValue': control.value\n };\n }\n\n return null;\n };\n }\n}"]}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/misc/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import {AbstractControl, ValidationErrors, ValidatorFn} from '@angular/forms';\nimport {isBlank} from '@jscrpt/common';\n\nimport {DateApi} from '../services';\nimport {DateTimeValueObject} from '../interfaces/dateTime/datetime.interface';\nimport {getSingleDateTimeValue, parseDateTime} from './utils';\nimport {DateTimeValueFormat} from './enums';\nimport {DateTimeInputOutputValue} from './types';\nimport {DateTimeBase} from '../modules/dateTime/directives/dateTimeBase';\n\n/**\n * Date time validator factory function, creates validator for checking validity of datetime\n * @param dateApi - Date api used for parsing date time\n * @param valueFormat - Optional required format\n * @param stringFormat - Optional string format of value\n */\nexport function datetimeValidator<TDate = unknown>(dateApi: DateApi<TDate>,\n valueFormat: DateTimeValueFormat|undefined|null,\n stringFormat: string|undefined|null,): ValidatorFn\n{\n return (control: AbstractControl<DateTimeInputOutputValue<TDate>>): ValidationErrors|null =>\n {\n if(isBlank(control.value))\n {\n return null;\n }\n\n const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);\n\n if(!parsedValue)\n {\n return null;\n }\n\n if(!Array.isArray(parsedValue))\n {\n if(!parsedValue.isValid())\n {\n return {\n 'datetime': stringFormat\n };\n }\n }\n else\n {\n //TODO: support for ranges\n }\n\n return null;\n };\n}\n\n/**\n * Date time validator factory function, creates validator for checking validity of datetime max value\n * @param dateApi - Date api used for parsing date time\n * @param maxValue - Maximal date time value that should be used for validation against\n * @param valueFormat - Optional required format\n * @param stringFormat - Optional string format of value\n */\nexport function datetimeMaxValidator<TDate = unknown>(dateApi: DateApi<TDate>,\n maxValue: string|number|TDate|Date|DateTimeBase<TDate>,\n valueFormat: DateTimeValueFormat|undefined|null,\n stringFormat: string|undefined|null,): ValidatorFn\n{\n return (control: AbstractControl<DateTimeInputOutputValue<TDate>>): ValidationErrors|null =>\n {\n if(isBlank(control.value) || isBlank(maxValue))\n {\n return null;\n }\n\n if(maxValue instanceof DateTimeBase<TDate>)\n {\n const value = getSingleDateTimeValue(maxValue.value);\n\n //no validation\n if(isBlank(value))\n {\n return null;\n }\n\n maxValue = value;\n }\n \n const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);\n\n if(!parsedValue)\n {\n return null;\n }\n\n const maxDateTime = dateApi.getValue(maxValue as string|number|TDate, stringFormat ?? undefined);\n\n if(!Array.isArray(parsedValue))\n {\n if(parsedValue.isValid() && !parsedValue.isBefore(maxDateTime.value))\n {\n return {\n 'datetimemax': maxDateTime.value\n };\n }\n }\n else\n {\n //TODO: support for ranges\n }\n\n return null;\n };\n}\n\n/**\n * Date time validator factory function, creates validator for checking validity of datetime min value\n * @param dateApi - Date api used for parsing date time\n * @param minValue - Minimal date time value that should be used for validation against\n * @param valueFormat - Optional required format\n * @param stringFormat - Optional string format of value\n */\nexport function datetimeMinValidator<TDate = unknown>(dateApi: DateApi<TDate>,\n minValue: string|number|TDate|Date|DateTimeBase<TDate>,\n valueFormat: DateTimeValueFormat|undefined|null,\n stringFormat: string|undefined|null,): ValidatorFn\n{\n return (control: AbstractControl<DateTimeInputOutputValue<TDate>>): ValidationErrors|null =>\n {\n if(isBlank(control.value) || isBlank(minValue))\n {\n return null;\n }\n\n if(minValue instanceof DateTimeBase<TDate>)\n {\n const value = getSingleDateTimeValue(minValue.value);\n\n //no validation\n if(isBlank(value))\n {\n return null;\n }\n\n minValue = value;\n }\n \n const parsedValue = parseDateTime(control.value, dateApi, valueFormat, stringFormat);\n\n if(!parsedValue)\n {\n return null;\n }\n\n const minDateTime = dateApi.getValue(minValue as string|number|TDate, stringFormat ?? undefined);\n\n if(!Array.isArray(parsedValue))\n {\n if(parsedValue.isValid() && !parsedValue.isAfter(minDateTime.value))\n {\n return {\n 'datetimemin': minDateTime.value\n };\n }\n }\n else\n {\n //TODO: support for ranges\n }\n\n return null;\n };\n}\n\n/**\n * Validations functions for datetime\n */\nexport class Validators\n{\n /**\n * Creates validator function that validates control if its value is valid datetime value\n * @param datetime - Object storing information about datetime value\n */\n public static datetime<TDate = any>(datetime: DateTimeValueObject<TDate>): ValidatorFn\n {\n return (): ValidationErrors|null =>\n {\n if(!datetime.valid)\n {\n return {\n 'datetime': true\n };\n }\n\n return null;\n };\n }\n\n /**\n * Creates validator function that validates control if its value is withing range of minimal datetime value\n * @param datetime - Object storing information about datetime value\n * @param dateApi - Date api object\n */\n public static minDatetime<TDate = any>(datetime: DateTimeValueObject<TDate>, dateApi: DateApi<TDate>): ValidatorFn\n {\n return (control: AbstractControl): ValidationErrors|null =>\n {\n if(!!control.value &&\n datetime.valid &&\n datetime.minValue &&\n dateApi.getValue(control.value).isBefore(datetime.minValue))\n {\n return {\n 'minDatetime': datetime.minValue,\n 'actualValue': control.value\n };\n }\n\n return null;\n };\n }\n\n /**\n * Creates validator function that validates control if its value is withing range of maximal datetime value\n * @param datetime - Object storing information about datetime value\n * @param dateApi - Date api object\n */\n public static maxDatetime<TDate = any>(datetime: DateTimeValueObject<TDate>, dateApi: DateApi<TDate>): ValidatorFn\n {\n return (control: AbstractControl): ValidationErrors|null =>\n {\n if(!!control.value &&\n datetime.valid &&\n datetime.maxValue &&\n dateApi.getValue(control.value).isAfter(datetime.maxValue))\n {\n return {\n 'maxDatetime': datetime.maxValue,\n 'actualValue': control.value\n };\n }\n\n return null;\n };\n }\n}"]}
@@ -7,12 +7,12 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export class DatePipesModule {
9
9
  }
10
- DatePipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- DatePipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatePipesModule, declarations: [DateFormatPipe,
10
+ DatePipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DatePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ DatePipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: DatePipesModule, declarations: [DateFormatPipe,
12
12
  DateConvertPipe], exports: [DateFormatPipe,
13
13
  DateConvertPipe] });
14
- DatePipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatePipesModule });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatePipesModule, decorators: [{
14
+ DatePipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DatePipesModule });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DatePipesModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [
@@ -0,0 +1,77 @@
1
+ import { Directive, EventEmitter, Input } from '@angular/core';
2
+ import { isString } from '@jscrpt/common';
3
+ import { DateTimeValueFormat } from '../../../misc/enums';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Base class for date time directives, contains basic shared data
7
+ */
8
+ export class DateTimeBase {
9
+ //######################### constructors #########################
10
+ constructor(dateApi, formatProvider) {
11
+ this.dateApi = dateApi;
12
+ this.formatProvider = formatProvider;
13
+ //######################### protected properties #########################
14
+ /**
15
+ * Date time value format which is being worked with in this date time
16
+ */
17
+ this.ɵValueFormat = DateTimeValueFormat.DateInstance;
18
+ /**
19
+ * Format of string representation of date
20
+ */
21
+ this.ɵFormat = 'date';
22
+ /**
23
+ * @inheritdoc
24
+ */
25
+ this.valueChange = new EventEmitter();
26
+ /**
27
+ * Custom format string representation of date
28
+ */
29
+ this.customFormat = this.dateApi.getFormat(this.formatProvider[this.ɵFormat]);
30
+ }
31
+ //######################### public properties - implementation of DateTimeInputValue #########################
32
+ /**
33
+ * @inheritdoc
34
+ */
35
+ get value() {
36
+ return this.ɵValue;
37
+ }
38
+ set value(value) {
39
+ this.ɵValue = value;
40
+ }
41
+ //######################### public properties - inputs #########################
42
+ /**
43
+ * Gets or sets date time value format which is being worked with in this date time
44
+ */
45
+ get valueFormat() {
46
+ return this.ɵValueFormat;
47
+ }
48
+ set valueFormat(value) {
49
+ if (isString(value)) {
50
+ this.ɵValueFormat = DateTimeValueFormat[value];
51
+ return;
52
+ }
53
+ this.ɵValueFormat = value;
54
+ }
55
+ /**
56
+ * Gets or sets format of string representation of date
57
+ */
58
+ get format() {
59
+ return this.ɵFormat;
60
+ }
61
+ set format(value) {
62
+ this.ɵFormat = value;
63
+ this.customFormat = this.dateApi.getFormat(this.formatProvider[value]);
64
+ }
65
+ }
66
+ DateTimeBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
67
+ DateTimeBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: DateTimeBase, inputs: { valueFormat: "valueFormat", format: "format", customFormat: "customFormat" }, ngImport: i0 });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: DateTimeBase, decorators: [{
69
+ type: Directive
70
+ }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; }, propDecorators: { valueFormat: [{
71
+ type: Input
72
+ }], format: [{
73
+ type: Input
74
+ }], customFormat: [{
75
+ type: Input
76
+ }] } });
77
+ //# sourceMappingURL=dateTimeBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateTimeBase.js","sourceRoot":"","sources":["../../../../../src/modules/dateTime/directives/dateTimeBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAGxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;;AAIxD;;GAEG;AAEH,MAAM,OAAO,YAAY;IAgFrB,kEAAkE;IAClE,YAAsB,OAAuB,EACvB,cAA8B;QAD9B,YAAO,GAAP,OAAO,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAhFpD,0EAA0E;QAE1E;;WAEG;QACO,iBAAY,GAAwB,mBAAmB,CAAC,YAAY,CAAC;QAE/E;;WAEG;QACO,YAAO,GAAyB,MAAM,CAAC;QAqBjD;;WAEG;QACI,gBAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAsClE;;WAEG;QAEI,iBAAY,GAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAMxF,CAAC;IAjED,8GAA8G;IAE9G;;OAEG;IACH,IAAW,KAAK;QAEZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAW,KAAK,CAAC,KAAqD;QAElE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAOD,gFAAgF;IAEhF;;OAEG;IACH,IACW,WAAW;QAElB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAW,WAAW,CAAC,KAA0B;QAE7C,IAAG,QAAQ,CAAC,KAAK,CAAC,EAClB;YACI,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAmC,CAAC;YAEjF,OAAO;SACV;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IACW,MAAM;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,IAAW,MAAM,CAAC,KAA2B;QAEzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;;yGAxEQ,YAAY;6FAAZ,YAAY;2FAAZ,YAAY;kBADxB,SAAS;kHA6CK,WAAW;sBADrB,KAAK;gBAqBK,MAAM;sBADhB,KAAK;gBAeC,YAAY;sBADlB,KAAK","sourcesContent":["import {Directive, EventEmitter, Input} from '@angular/core';\nimport {isString} from '@jscrpt/common';\n\nimport {DateTimeInputValue, FormatProvider} from '../../../interfaces';\nimport {DateTimeValueFormat} from '../../../misc/enums';\nimport {DateTimeInputOutputValue} from '../../../misc/types';\nimport {DateApi} from '../../../services';\n\n/**\n * Base class for date time directives, contains basic shared data\n */\n@Directive()\nexport class DateTimeBase<TDate = unknown> implements DateTimeInputValue<TDate>\n{\n //######################### protected properties #########################\n\n /**\n * Date time value format which is being worked with in this date time\n */\n protected ɵValueFormat: DateTimeValueFormat = DateTimeValueFormat.DateInstance;\n\n /**\n * Format of string representation of date\n */\n protected ɵFormat: keyof FormatProvider = 'date';\n\n /**\n * Current value of date time, could be string, unix timestamp, Date, TDate object, or ranged DateTimeValue\n */\n protected ɵValue: DateTimeInputOutputValue<TDate>|undefined|null;\n\n //######################### public properties - implementation of DateTimeInputValue #########################\n\n /**\n * @inheritdoc\n */\n public get value(): DateTimeInputOutputValue<TDate>|undefined|null\n {\n return this.ɵValue;\n }\n public set value(value: DateTimeInputOutputValue<TDate>|undefined|null)\n {\n this.ɵValue = value;\n }\n\n /**\n * @inheritdoc\n */\n public valueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - inputs #########################\n\n /**\n * Gets or sets date time value format which is being worked with in this date time\n */\n @Input()\n public get valueFormat(): DateTimeValueFormat\n {\n return this.ɵValueFormat;\n }\n public set valueFormat(value: DateTimeValueFormat)\n {\n if(isString(value))\n {\n this.ɵValueFormat = DateTimeValueFormat[value] as unknown as DateTimeValueFormat;\n\n return;\n }\n\n this.ɵValueFormat = value;\n }\n\n /**\n * Gets or sets format of string representation of date\n */\n @Input()\n public get format(): keyof FormatProvider\n {\n return this.ɵFormat;\n }\n public set format(value: keyof FormatProvider)\n {\n this.ɵFormat = value;\n this.customFormat = this.dateApi.getFormat(this.formatProvider[value]);\n }\n\n /**\n * Custom format string representation of date\n */\n @Input()\n public customFormat: string = this.dateApi.getFormat(this.formatProvider[this.ɵFormat]);\n\n //######################### constructors #########################\n constructor(protected dateApi: DateApi<TDate>,\n protected formatProvider: FormatProvider,)\n {\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `valueFormat` input\n */\n public static ngAcceptInputType_valueFormat: keyof typeof DateTimeValueFormat|DateTimeValueFormat;\n}\n"]}