mis-crystal-design-system 2.3.15 → 2.3.18

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 (486) hide show
  1. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +61 -23
  2. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
  3. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +2 -2
  4. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
  5. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +74 -37
  6. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +72 -35
  7. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -1
  8. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
  9. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +8 -2
  10. package/package.json +1 -1
  11. package/bundles/mis-crystal-design-system-datepicker.umd.js +0 -13916
  12. package/bundles/mis-crystal-design-system-datepicker.umd.js.map +0 -1
  13. package/bundles/mis-crystal-design-system-datepicker.umd.min.js +0 -68
  14. package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +0 -1
  15. package/datepicker/base/bs-datepicker-container.d.ts +0 -44
  16. package/datepicker/bs-datepicker-inline.component.d.ts +0 -61
  17. package/datepicker/bs-datepicker-inline.config.d.ts +0 -3
  18. package/datepicker/bs-datepicker-input.directive.d.ts +0 -30
  19. package/datepicker/bs-datepicker.component.d.ts +0 -123
  20. package/datepicker/bs-datepicker.config.d.ts +0 -140
  21. package/datepicker/bs-datepicker.module.d.ts +0 -4
  22. package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -61
  23. package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -6
  24. package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -30
  25. package/datepicker/bs-daterangepicker.component.d.ts +0 -115
  26. package/datepicker/bs-daterangepicker.config.d.ts +0 -4
  27. package/datepicker/bs-locale.service.d.ts +0 -10
  28. package/datepicker/date-formatter.d.ts +0 -3
  29. package/datepicker/datepicker-animations.d.ts +0 -3
  30. package/datepicker/datepicker-inner.component.d.ts +0 -75
  31. package/datepicker/datepicker.component.d.ts +0 -78
  32. package/datepicker/datepicker.config.d.ts +0 -19
  33. package/datepicker/datepicker.module.d.ts +0 -4
  34. package/datepicker/daypicker.component.d.ts +0 -14
  35. package/datepicker/engine/calc-days-calendar.d.ts +0 -2
  36. package/datepicker/engine/flag-days-calendar.d.ts +0 -17
  37. package/datepicker/engine/flag-months-calendar.d.ts +0 -12
  38. package/datepicker/engine/flag-years-calendar.d.ts +0 -12
  39. package/datepicker/engine/format-days-calendar.d.ts +0 -4
  40. package/datepicker/engine/format-months-calendar.d.ts +0 -2
  41. package/datepicker/engine/format-years-calendar.d.ts +0 -4
  42. package/datepicker/engine/view-mode.d.ts +0 -2
  43. package/datepicker/index.d.ts +0 -1
  44. package/datepicker/mis-crystal-design-system-datepicker.d.ts +0 -24
  45. package/datepicker/mis-crystal-design-system-datepicker.metadata.json +0 -1
  46. package/datepicker/models/index.d.ts +0 -102
  47. package/datepicker/monthpicker.component.d.ts +0 -11
  48. package/datepicker/package.json +0 -11
  49. package/datepicker/public_api.d.ts +0 -26
  50. package/datepicker/reducer/_defaults.d.ts +0 -2
  51. package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -43
  52. package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -38
  53. package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  54. package/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
  55. package/datepicker/reducer/bs-datepicker.store.d.ts +0 -5
  56. package/datepicker/sub-components/chronos/create/check-overflow.d.ts +0 -2
  57. package/datepicker/sub-components/chronos/create/clone.d.ts +0 -1
  58. package/datepicker/sub-components/chronos/create/date-from-array.d.ts +0 -2
  59. package/datepicker/sub-components/chronos/create/from-anything.d.ts +0 -4
  60. package/datepicker/sub-components/chronos/create/from-array.d.ts +0 -2
  61. package/datepicker/sub-components/chronos/create/from-object.d.ts +0 -2
  62. package/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +0 -2
  63. package/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +0 -4
  64. package/datepicker/sub-components/chronos/create/from-string.d.ts +0 -4
  65. package/datepicker/sub-components/chronos/create/local.d.ts +0 -3
  66. package/datepicker/sub-components/chronos/create/parsing-flags.d.ts +0 -2
  67. package/datepicker/sub-components/chronos/create/parsing.types.d.ts +0 -64
  68. package/datepicker/sub-components/chronos/create/valid.d.ts +0 -6
  69. package/datepicker/sub-components/chronos/duration/bubble.d.ts +0 -4
  70. package/datepicker/sub-components/chronos/duration/constructor.d.ts +0 -21
  71. package/datepicker/sub-components/chronos/duration/create.d.ts +0 -8
  72. package/datepicker/sub-components/chronos/duration/humanize.d.ts +0 -5
  73. package/datepicker/sub-components/chronos/duration/valid.d.ts +0 -2
  74. package/datepicker/sub-components/chronos/format/format.d.ts +0 -11
  75. package/datepicker/sub-components/chronos/format.d.ts +0 -5
  76. package/datepicker/sub-components/chronos/i18n/ar.d.ts +0 -2
  77. package/datepicker/sub-components/chronos/i18n/bg.d.ts +0 -2
  78. package/datepicker/sub-components/chronos/i18n/ca.d.ts +0 -2
  79. package/datepicker/sub-components/chronos/i18n/cs.d.ts +0 -2
  80. package/datepicker/sub-components/chronos/i18n/da.d.ts +0 -2
  81. package/datepicker/sub-components/chronos/i18n/de.d.ts +0 -2
  82. package/datepicker/sub-components/chronos/i18n/en-gb.d.ts +0 -2
  83. package/datepicker/sub-components/chronos/i18n/es-do.d.ts +0 -2
  84. package/datepicker/sub-components/chronos/i18n/es-us.d.ts +0 -2
  85. package/datepicker/sub-components/chronos/i18n/es.d.ts +0 -2
  86. package/datepicker/sub-components/chronos/i18n/et.d.ts +0 -2
  87. package/datepicker/sub-components/chronos/i18n/fi.d.ts +0 -2
  88. package/datepicker/sub-components/chronos/i18n/fr.d.ts +0 -2
  89. package/datepicker/sub-components/chronos/i18n/gl.d.ts +0 -2
  90. package/datepicker/sub-components/chronos/i18n/he.d.ts +0 -2
  91. package/datepicker/sub-components/chronos/i18n/hi.d.ts +0 -2
  92. package/datepicker/sub-components/chronos/i18n/hr.d.ts +0 -2
  93. package/datepicker/sub-components/chronos/i18n/hu.d.ts +0 -2
  94. package/datepicker/sub-components/chronos/i18n/id.d.ts +0 -2
  95. package/datepicker/sub-components/chronos/i18n/it.d.ts +0 -2
  96. package/datepicker/sub-components/chronos/i18n/ja.d.ts +0 -2
  97. package/datepicker/sub-components/chronos/i18n/ka.d.ts +0 -2
  98. package/datepicker/sub-components/chronos/i18n/kk.d.ts +0 -2
  99. package/datepicker/sub-components/chronos/i18n/ko.d.ts +0 -2
  100. package/datepicker/sub-components/chronos/i18n/lt.d.ts +0 -2
  101. package/datepicker/sub-components/chronos/i18n/lv.d.ts +0 -2
  102. package/datepicker/sub-components/chronos/i18n/mn.d.ts +0 -2
  103. package/datepicker/sub-components/chronos/i18n/nb.d.ts +0 -2
  104. package/datepicker/sub-components/chronos/i18n/nl-be.d.ts +0 -2
  105. package/datepicker/sub-components/chronos/i18n/nl.d.ts +0 -2
  106. package/datepicker/sub-components/chronos/i18n/pl.d.ts +0 -2
  107. package/datepicker/sub-components/chronos/i18n/pt-br.d.ts +0 -2
  108. package/datepicker/sub-components/chronos/i18n/ro.d.ts +0 -2
  109. package/datepicker/sub-components/chronos/i18n/ru.d.ts +0 -2
  110. package/datepicker/sub-components/chronos/i18n/sk.d.ts +0 -2
  111. package/datepicker/sub-components/chronos/i18n/sl.d.ts +0 -2
  112. package/datepicker/sub-components/chronos/i18n/sq.d.ts +0 -2
  113. package/datepicker/sub-components/chronos/i18n/sv.d.ts +0 -2
  114. package/datepicker/sub-components/chronos/i18n/th-be.d.ts +0 -2
  115. package/datepicker/sub-components/chronos/i18n/th.d.ts +0 -2
  116. package/datepicker/sub-components/chronos/i18n/tr.d.ts +0 -2
  117. package/datepicker/sub-components/chronos/i18n/uk.d.ts +0 -2
  118. package/datepicker/sub-components/chronos/i18n/vi.d.ts +0 -2
  119. package/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +0 -2
  120. package/datepicker/sub-components/chronos/index.d.ts +0 -1
  121. package/datepicker/sub-components/chronos/locale/calendar.d.ts +0 -8
  122. package/datepicker/sub-components/chronos/locale/locale.class.d.ts +0 -143
  123. package/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +0 -11
  124. package/datepicker/sub-components/chronos/locale/locales.d.ts +0 -7
  125. package/datepicker/sub-components/chronos/moment/add-subtract.d.ts +0 -5
  126. package/datepicker/sub-components/chronos/moment/calendar.d.ts +0 -15
  127. package/datepicker/sub-components/chronos/moment/diff.d.ts +0 -3
  128. package/datepicker/sub-components/chronos/moment/min-max.d.ts +0 -2
  129. package/datepicker/sub-components/chronos/parse/regex.d.ts +0 -22
  130. package/datepicker/sub-components/chronos/parse/token.d.ts +0 -5
  131. package/datepicker/sub-components/chronos/public_api.d.ts +0 -57
  132. package/datepicker/sub-components/chronos/test/chain.d.ts +0 -214
  133. package/datepicker/sub-components/chronos/types.d.ts +0 -36
  134. package/datepicker/sub-components/chronos/units/aliases.d.ts +0 -7
  135. package/datepicker/sub-components/chronos/units/constants.d.ts +0 -9
  136. package/datepicker/sub-components/chronos/units/day-of-month.d.ts +0 -1
  137. package/datepicker/sub-components/chronos/units/day-of-week.d.ts +0 -20
  138. package/datepicker/sub-components/chronos/units/day-of-year.d.ts +0 -3
  139. package/datepicker/sub-components/chronos/units/hour.d.ts +0 -1
  140. package/datepicker/sub-components/chronos/units/index.d.ts +0 -18
  141. package/datepicker/sub-components/chronos/units/millisecond.d.ts +0 -1
  142. package/datepicker/sub-components/chronos/units/minute.d.ts +0 -1
  143. package/datepicker/sub-components/chronos/units/month.d.ts +0 -2
  144. package/datepicker/sub-components/chronos/units/offset.d.ts +0 -10
  145. package/datepicker/sub-components/chronos/units/priorities.d.ts +0 -1
  146. package/datepicker/sub-components/chronos/units/quarter.d.ts +0 -3
  147. package/datepicker/sub-components/chronos/units/second.d.ts +0 -1
  148. package/datepicker/sub-components/chronos/units/timestamp.d.ts +0 -1
  149. package/datepicker/sub-components/chronos/units/timezone.d.ts +0 -3
  150. package/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +0 -9
  151. package/datepicker/sub-components/chronos/units/week-year.d.ts +0 -8
  152. package/datepicker/sub-components/chronos/units/week.d.ts +0 -6
  153. package/datepicker/sub-components/chronos/units/year.d.ts +0 -4
  154. package/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +0 -1
  155. package/datepicker/sub-components/chronos/utils/abs-round.d.ts +0 -1
  156. package/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +0 -1
  157. package/datepicker/sub-components/chronos/utils/date-compare.d.ts +0 -9
  158. package/datepicker/sub-components/chronos/utils/date-getters.d.ts +0 -18
  159. package/datepicker/sub-components/chronos/utils/date-setters.d.ts +0 -12
  160. package/datepicker/sub-components/chronos/utils/defaults.d.ts +0 -1
  161. package/datepicker/sub-components/chronos/utils/start-end-of.d.ts +0 -3
  162. package/datepicker/sub-components/chronos/utils/type-checks.d.ts +0 -12
  163. package/datepicker/sub-components/chronos/utils/zero-fill.d.ts +0 -1
  164. package/datepicker/sub-components/chronos/utils.d.ts +0 -2
  165. package/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +0 -5
  166. package/datepicker/sub-components/component-loader/component-loader.class.d.ts +0 -75
  167. package/datepicker/sub-components/component-loader/component-loader.factory.d.ts +0 -18
  168. package/datepicker/sub-components/component-loader/content-ref.class.d.ts +0 -7
  169. package/datepicker/sub-components/component-loader/index.d.ts +0 -1
  170. package/datepicker/sub-components/component-loader/listen-options.model.d.ts +0 -11
  171. package/datepicker/sub-components/component-loader/public_api.d.ts +0 -4
  172. package/datepicker/sub-components/mini-ngrx/index.d.ts +0 -1
  173. package/datepicker/sub-components/mini-ngrx/public_api.d.ts +0 -7
  174. package/datepicker/sub-components/mini-ngrx/state.class.d.ts +0 -8
  175. package/datepicker/sub-components/mini-ngrx/store.class.d.ts +0 -16
  176. package/datepicker/sub-components/positioning/index.d.ts +0 -1
  177. package/datepicker/sub-components/positioning/models/index.d.ts +0 -41
  178. package/datepicker/sub-components/positioning/modifiers/arrow.d.ts +0 -2
  179. package/datepicker/sub-components/positioning/modifiers/flip.d.ts +0 -2
  180. package/datepicker/sub-components/positioning/modifiers/index.d.ts +0 -5
  181. package/datepicker/sub-components/positioning/modifiers/initData.d.ts +0 -2
  182. package/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +0 -2
  183. package/datepicker/sub-components/positioning/modifiers/shift.d.ts +0 -2
  184. package/datepicker/sub-components/positioning/ng-positioning.d.ts +0 -8
  185. package/datepicker/sub-components/positioning/positioning.service.d.ts +0 -45
  186. package/datepicker/sub-components/positioning/public_api.d.ts +0 -2
  187. package/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +0 -2
  188. package/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  189. package/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +0 -4
  190. package/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +0 -1
  191. package/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +0 -2
  192. package/datepicker/sub-components/positioning/utils/getClientRect.d.ts +0 -5
  193. package/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  194. package/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +0 -1
  195. package/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  196. package/datepicker/sub-components/positioning/utils/getOffsets.d.ts +0 -2
  197. package/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +0 -4
  198. package/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +0 -4
  199. package/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +0 -7
  200. package/datepicker/sub-components/positioning/utils/getParentNode.d.ts +0 -4
  201. package/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +0 -2
  202. package/datepicker/sub-components/positioning/utils/getRoot.d.ts +0 -4
  203. package/datepicker/sub-components/positioning/utils/getScroll.d.ts +0 -4
  204. package/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +0 -1
  205. package/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +0 -4
  206. package/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +0 -2
  207. package/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  208. package/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +0 -4
  209. package/datepicker/sub-components/positioning/utils/includeScroll.d.ts +0 -2
  210. package/datepicker/sub-components/positioning/utils/index.d.ts +0 -23
  211. package/datepicker/sub-components/positioning/utils/isBrowser.d.ts +0 -1
  212. package/datepicker/sub-components/positioning/utils/isFixed.d.ts +0 -1
  213. package/datepicker/sub-components/positioning/utils/isIE.d.ts +0 -1
  214. package/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +0 -4
  215. package/datepicker/sub-components/positioning/utils/isNumeric.d.ts +0 -4
  216. package/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +0 -1
  217. package/datepicker/sub-components/positioning/utils/setStyles.d.ts +0 -5
  218. package/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +0 -6
  219. package/datepicker/sub-components/tooltip/index.d.ts +0 -1
  220. package/datepicker/sub-components/tooltip/public_api.d.ts +0 -4
  221. package/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +0 -14
  222. package/datepicker/sub-components/tooltip/tooltip.config.d.ts +0 -13
  223. package/datepicker/sub-components/tooltip/tooltip.directive.d.ts +0 -109
  224. package/datepicker/sub-components/tooltip/tooltip.module.d.ts +0 -4
  225. package/datepicker/sub-components/utils/decorators.d.ts +0 -1
  226. package/datepicker/sub-components/utils/facade/browser.d.ts +0 -23
  227. package/datepicker/sub-components/utils/index.d.ts +0 -1
  228. package/datepicker/sub-components/utils/linked-list.class.d.ts +0 -26
  229. package/datepicker/sub-components/utils/public_api.d.ts +0 -10
  230. package/datepicker/sub-components/utils/theme-provider.d.ts +0 -2
  231. package/datepicker/sub-components/utils/trigger.class.d.ts +0 -6
  232. package/datepicker/sub-components/utils/triggers.d.ts +0 -18
  233. package/datepicker/sub-components/utils/utils.class.d.ts +0 -4
  234. package/datepicker/sub-components/utils/warn-once.d.ts +0 -1
  235. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -2
  236. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -3
  237. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -14
  238. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -33
  239. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -11
  240. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -10
  241. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -9
  242. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -37
  243. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -10
  244. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -23
  245. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -13
  246. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -5
  247. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -13
  248. package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
  249. package/datepicker/utils/matrix-utils.d.ts +0 -9
  250. package/datepicker/yearpicker.component.d.ts +0 -11
  251. package/esm2015/datepicker/base/bs-datepicker-container.js +0 -47
  252. package/esm2015/datepicker/bs-datepicker-inline.component.js +0 -132
  253. package/esm2015/datepicker/bs-datepicker-inline.config.js +0 -12
  254. package/esm2015/datepicker/bs-datepicker-input.directive.js +0 -159
  255. package/esm2015/datepicker/bs-datepicker.component.js +0 -238
  256. package/esm2015/datepicker/bs-datepicker.config.js +0 -85
  257. package/esm2015/datepicker/bs-datepicker.module.js +0 -101
  258. package/esm2015/datepicker/bs-daterangepicker-inline.component.js +0 -129
  259. package/esm2015/datepicker/bs-daterangepicker-inline.config.js +0 -19
  260. package/esm2015/datepicker/bs-daterangepicker-input.directive.js +0 -191
  261. package/esm2015/datepicker/bs-daterangepicker.component.js +0 -227
  262. package/esm2015/datepicker/bs-daterangepicker.config.js +0 -17
  263. package/esm2015/datepicker/bs-locale.service.js +0 -28
  264. package/esm2015/datepicker/date-formatter.js +0 -7
  265. package/esm2015/datepicker/datepicker-animations.js +0 -16
  266. package/esm2015/datepicker/datepicker-inner.component.js +0 -282
  267. package/esm2015/datepicker/datepicker.component.js +0 -140
  268. package/esm2015/datepicker/datepicker.config.js +0 -30
  269. package/esm2015/datepicker/datepicker.module.js +0 -35
  270. package/esm2015/datepicker/daypicker.component.js +0 -174
  271. package/esm2015/datepicker/engine/calc-days-calendar.js +0 -19
  272. package/esm2015/datepicker/engine/flag-days-calendar.js +0 -91
  273. package/esm2015/datepicker/engine/flag-months-calendar.js +0 -41
  274. package/esm2015/datepicker/engine/flag-years-calendar.js +0 -39
  275. package/esm2015/datepicker/engine/format-days-calendar.js +0 -29
  276. package/esm2015/datepicker/engine/format-months-calendar.js +0 -19
  277. package/esm2015/datepicker/engine/format-years-calendar.js +0 -35
  278. package/esm2015/datepicker/engine/view-mode.js +0 -4
  279. package/esm2015/datepicker/index.js +0 -2
  280. package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +0 -25
  281. package/esm2015/datepicker/models/index.js +0 -9
  282. package/esm2015/datepicker/monthpicker.component.js +0 -87
  283. package/esm2015/datepicker/public_api.js +0 -26
  284. package/esm2015/datepicker/reducer/_defaults.js +0 -5
  285. package/esm2015/datepicker/reducer/bs-datepicker.actions.js +0 -132
  286. package/esm2015/datepicker/reducer/bs-datepicker.effects.js +0 -170
  287. package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +0 -302
  288. package/esm2015/datepicker/reducer/bs-datepicker.state.js +0 -12
  289. package/esm2015/datepicker/reducer/bs-datepicker.store.js +0 -19
  290. package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +0 -30
  291. package/esm2015/datepicker/sub-components/chronos/create/clone.js +0 -6
  292. package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +0 -17
  293. package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +0 -107
  294. package/esm2015/datepicker/sub-components/chronos/create/from-array.js +0 -136
  295. package/esm2015/datepicker/sub-components/chronos/create/from-object.js +0 -17
  296. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +0 -38
  297. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +0 -106
  298. package/esm2015/datepicker/sub-components/chronos/create/from-string.js +0 -227
  299. package/esm2015/datepicker/sub-components/chronos/create/local.js +0 -16
  300. package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +0 -26
  301. package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +0 -2
  302. package/esm2015/datepicker/sub-components/chronos/create/valid.js +0 -42
  303. package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +0 -47
  304. package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +0 -130
  305. package/esm2015/datepicker/sub-components/chronos/duration/create.js +0 -113
  306. package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +0 -80
  307. package/esm2015/datepicker/sub-components/chronos/duration/valid.js +0 -45
  308. package/esm2015/datepicker/sub-components/chronos/format/format.js +0 -51
  309. package/esm2015/datepicker/sub-components/chronos/format.js +0 -46
  310. package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +0 -131
  311. package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +0 -96
  312. package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +0 -91
  313. package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +0 -181
  314. package/esm2015/datepicker/sub-components/chronos/i18n/da.js +0 -50
  315. package/esm2015/datepicker/sub-components/chronos/i18n/de.js +0 -72
  316. package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +0 -61
  317. package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +0 -85
  318. package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +0 -79
  319. package/esm2015/datepicker/sub-components/chronos/i18n/es.js +0 -84
  320. package/esm2015/datepicker/sub-components/chronos/i18n/et.js +0 -75
  321. package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +0 -100
  322. package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +0 -76
  323. package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +0 -84
  324. package/esm2015/datepicker/sub-components/chronos/i18n/he.js +0 -98
  325. package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +0 -124
  326. package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +0 -62
  327. package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +0 -104
  328. package/esm2015/datepicker/sub-components/chronos/i18n/id.js +0 -83
  329. package/esm2015/datepicker/sub-components/chronos/i18n/it.js +0 -65
  330. package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +0 -75
  331. package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +0 -87
  332. package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +0 -76
  333. package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +0 -77
  334. package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +0 -116
  335. package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +0 -56
  336. package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +0 -99
  337. package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +0 -53
  338. package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +0 -81
  339. package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +0 -80
  340. package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +0 -126
  341. package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +0 -56
  342. package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +0 -66
  343. package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +0 -181
  344. package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +0 -157
  345. package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +0 -184
  346. package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +0 -54
  347. package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +0 -63
  348. package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +0 -74
  349. package/esm2015/datepicker/sub-components/chronos/i18n/th.js +0 -59
  350. package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +0 -82
  351. package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +0 -147
  352. package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +0 -74
  353. package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +0 -114
  354. package/esm2015/datepicker/sub-components/chronos/index.js +0 -2
  355. package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +0 -9
  356. package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +0 -532
  357. package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +0 -40
  358. package/esm2015/datepicker/sub-components/chronos/locale/locales.js +0 -229
  359. package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +0 -35
  360. package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +0 -41
  361. package/esm2015/datepicker/sub-components/chronos/moment/diff.js +0 -70
  362. package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +0 -38
  363. package/esm2015/datepicker/sub-components/chronos/parse/regex.js +0 -49
  364. package/esm2015/datepicker/sub-components/chronos/parse/token.js +0 -32
  365. package/esm2015/datepicker/sub-components/chronos/public_api.js +0 -56
  366. package/esm2015/datepicker/sub-components/chronos/test/chain.js +0 -711
  367. package/esm2015/datepicker/sub-components/chronos/types.js +0 -2
  368. package/esm2015/datepicker/sub-components/chronos/units/aliases.js +0 -35
  369. package/esm2015/datepicker/sub-components/chronos/units/constants.js +0 -11
  370. package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +0 -31
  371. package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +0 -129
  372. package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +0 -37
  373. package/esm2015/datepicker/sub-components/chronos/units/hour.js +0 -127
  374. package/esm2015/datepicker/sub-components/chronos/units/index.js +0 -19
  375. package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +0 -60
  376. package/esm2015/datepicker/sub-components/chronos/units/minute.js +0 -23
  377. package/esm2015/datepicker/sub-components/chronos/units/month.js +0 -63
  378. package/esm2015/datepicker/sub-components/chronos/units/offset.js +0 -210
  379. package/esm2015/datepicker/sub-components/chronos/units/priorities.js +0 -21
  380. package/esm2015/datepicker/sub-components/chronos/units/quarter.js +0 -39
  381. package/esm2015/datepicker/sub-components/chronos/units/second.js +0 -23
  382. package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +0 -28
  383. package/esm2015/datepicker/sub-components/chronos/units/timezone.js +0 -19
  384. package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +0 -70
  385. package/esm2015/datepicker/sub-components/chronos/units/week-year.js +0 -101
  386. package/esm2015/datepicker/sub-components/chronos/units/week.js +0 -58
  387. package/esm2015/datepicker/sub-components/chronos/units/year.js +0 -60
  388. package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +0 -4
  389. package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +0 -4
  390. package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +0 -16
  391. package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +0 -55
  392. package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +0 -67
  393. package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +0 -75
  394. package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +0 -11
  395. package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +0 -57
  396. package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +0 -56
  397. package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +0 -10
  398. package/esm2015/datepicker/sub-components/chronos/utils.js +0 -7
  399. package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +0 -3
  400. package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +0 -272
  401. package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +0 -32
  402. package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +0 -12
  403. package/esm2015/datepicker/sub-components/component-loader/index.js +0 -2
  404. package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +0 -2
  405. package/esm2015/datepicker/sub-components/component-loader/public_api.js +0 -5
  406. package/esm2015/datepicker/sub-components/mini-ngrx/index.js +0 -2
  407. package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +0 -3
  408. package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +0 -16
  409. package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +0 -43
  410. package/esm2015/datepicker/sub-components/positioning/index.js +0 -2
  411. package/esm2015/datepicker/sub-components/positioning/models/index.js +0 -2
  412. package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +0 -56
  413. package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +0 -60
  414. package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +0 -6
  415. package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +0 -42
  416. package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +0 -56
  417. package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +0 -22
  418. package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +0 -30
  419. package/esm2015/datepicker/sub-components/positioning/positioning.service.js +0 -71
  420. package/esm2015/datepicker/sub-components/positioning/public_api.js +0 -3
  421. package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +0 -53
  422. package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +0 -40
  423. package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +0 -10
  424. package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +0 -56
  425. package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +0 -55
  426. package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +0 -4
  427. package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +0 -17
  428. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +0 -32
  429. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +0 -51
  430. package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +0 -11
  431. package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +0 -8
  432. package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +0 -13
  433. package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +0 -14
  434. package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +0 -10
  435. package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +0 -13
  436. package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +0 -10
  437. package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +0 -14
  438. package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +0 -26
  439. package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +0 -13
  440. package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +0 -30
  441. package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  442. package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +0 -18
  443. package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +0 -15
  444. package/esm2015/datepicker/sub-components/positioning/utils/index.js +0 -24
  445. package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +0 -2
  446. package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +0 -16
  447. package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +0 -16
  448. package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +0 -10
  449. package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +0 -7
  450. package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +0 -9
  451. package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +0 -17
  452. package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +0 -22
  453. package/esm2015/datepicker/sub-components/tooltip/index.js +0 -2
  454. package/esm2015/datepicker/sub-components/tooltip/public_api.js +0 -5
  455. package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +0 -63
  456. package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +0 -22
  457. package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +0 -282
  458. package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +0 -23
  459. package/esm2015/datepicker/sub-components/utils/decorators.js +0 -25
  460. package/esm2015/datepicker/sub-components/utils/facade/browser.js +0 -24
  461. package/esm2015/datepicker/sub-components/utils/index.js +0 -2
  462. package/esm2015/datepicker/sub-components/utils/linked-list.class.js +0 -240
  463. package/esm2015/datepicker/sub-components/utils/public_api.js +0 -11
  464. package/esm2015/datepicker/sub-components/utils/theme-provider.js +0 -35
  465. package/esm2015/datepicker/sub-components/utils/trigger.class.js +0 -10
  466. package/esm2015/datepicker/sub-components/utils/triggers.js +0 -110
  467. package/esm2015/datepicker/sub-components/utils/utils.class.js +0 -21
  468. package/esm2015/datepicker/sub-components/utils/warn-once.js +0 -12
  469. package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +0 -25
  470. package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +0 -13
  471. package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -44
  472. package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +0 -152
  473. package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  474. package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  475. package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  476. package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -195
  477. package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  478. package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -162
  479. package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -60
  480. package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +0 -34
  481. package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -61
  482. package/esm2015/datepicker/utils/bs-calendar-utils.js +0 -43
  483. package/esm2015/datepicker/utils/matrix-utils.js +0 -14
  484. package/esm2015/datepicker/yearpicker.component.js +0 -90
  485. package/fesm2015/mis-crystal-design-system-datepicker.js +0 -13512
  486. package/fesm2015/mis-crystal-design-system-datepicker.js.map +0 -1
@@ -1,282 +0,0 @@
1
- /* tslint:disable: max-file-line-count */
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { DateFormatter } from './date-formatter';
4
- export class DatePickerInnerComponent {
5
- constructor() {
6
- this.selectionDone = new EventEmitter(undefined);
7
- this.update = new EventEmitter(false);
8
- this.activeDateChange = new EventEmitter(undefined);
9
- /* tslint:disable-next-line: no-any*/
10
- this.stepDay = {};
11
- /* tslint:disable-next-line: no-any*/
12
- this.stepMonth = {};
13
- /* tslint:disable-next-line: no-any*/
14
- this.stepYear = {};
15
- this.modes = ['day', 'month', 'year'];
16
- this.dateFormatter = new DateFormatter();
17
- }
18
- get activeDate() {
19
- return this._activeDate;
20
- }
21
- set activeDate(value) {
22
- this._activeDate = value;
23
- }
24
- // todo: add formatter value to Date object
25
- ngOnInit() {
26
- // todo: use date for unique value
27
- this.uniqueId = `datepicker--${Math.floor(Math.random() * 10000)}`;
28
- if (this.initDate) {
29
- this.activeDate = this.initDate;
30
- this.selectedDate = new Date(this.activeDate.valueOf());
31
- this.update.emit(this.activeDate);
32
- }
33
- else if (this.activeDate === undefined) {
34
- this.activeDate = new Date();
35
- }
36
- }
37
- // this.refreshView should be called here to reflect the changes on the fly
38
- // tslint:disable-next-line:no-unused-variable
39
- ngOnChanges(changes) {
40
- this.refreshView();
41
- this.checkIfActiveDateGotUpdated(changes.activeDate);
42
- }
43
- // Check if activeDate has been update and then emit the activeDateChange with the new date
44
- /* tslint:disable-next-line: no-any */
45
- checkIfActiveDateGotUpdated(activeDate) {
46
- if (activeDate && !activeDate.firstChange) {
47
- const previousValue = activeDate.previousValue;
48
- if (previousValue &&
49
- previousValue instanceof Date &&
50
- previousValue.getTime() !== activeDate.currentValue.getTime()) {
51
- this.activeDateChange.emit(this.activeDate);
52
- }
53
- }
54
- }
55
- setCompareHandler(handler, type) {
56
- if (type === 'day') {
57
- this.compareHandlerDay = handler;
58
- }
59
- if (type === 'month') {
60
- this.compareHandlerMonth = handler;
61
- }
62
- if (type === 'year') {
63
- this.compareHandlerYear = handler;
64
- }
65
- }
66
- compare(date1, date2) {
67
- if (date1 === undefined || date2 === undefined) {
68
- return undefined;
69
- }
70
- if (this.datepickerMode === 'day' && this.compareHandlerDay) {
71
- return this.compareHandlerDay(date1, date2);
72
- }
73
- if (this.datepickerMode === 'month' && this.compareHandlerMonth) {
74
- return this.compareHandlerMonth(date1, date2);
75
- }
76
- if (this.datepickerMode === 'year' && this.compareHandlerYear) {
77
- return this.compareHandlerYear(date1, date2);
78
- }
79
- return void 0;
80
- }
81
- setRefreshViewHandler(handler, type) {
82
- if (type === 'day') {
83
- this.refreshViewHandlerDay = handler;
84
- }
85
- if (type === 'month') {
86
- this.refreshViewHandlerMonth = handler;
87
- }
88
- if (type === 'year') {
89
- this.refreshViewHandlerYear = handler;
90
- }
91
- }
92
- refreshView() {
93
- if (this.datepickerMode === 'day' && this.refreshViewHandlerDay) {
94
- this.refreshViewHandlerDay();
95
- }
96
- if (this.datepickerMode === 'month' && this.refreshViewHandlerMonth) {
97
- this.refreshViewHandlerMonth();
98
- }
99
- if (this.datepickerMode === 'year' && this.refreshViewHandlerYear) {
100
- this.refreshViewHandlerYear();
101
- }
102
- }
103
- dateFilter(date, format) {
104
- return this.dateFormatter.format(date, format, this.locale);
105
- }
106
- /* tslint:disable-next-line: no-any*/
107
- isActive(dateObject) {
108
- if (this.compare(dateObject.date, this.activeDate) === 0) {
109
- this.activeDateId = dateObject.uid;
110
- return true;
111
- }
112
- return false;
113
- }
114
- /* tslint:disable-next-line: no-any*/
115
- createDateObject(date, format) {
116
- /* tslint:disable-next-line: no-any*/
117
- const dateObject = {};
118
- dateObject.date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
119
- dateObject.date = this.fixTimeZone(dateObject.date);
120
- dateObject.label = this.dateFilter(date, format);
121
- dateObject.selected = this.compare(date, this.selectedDate) === 0;
122
- dateObject.disabled = this.isDisabled(date);
123
- dateObject.current = this.compare(date, new Date()) === 0;
124
- dateObject.customClass = this.getCustomClassForDate(dateObject.date);
125
- return dateObject;
126
- }
127
- /* tslint:disable-next-line: no-any*/
128
- split(arr, size) {
129
- /* tslint:disable-next-line: no-any*/
130
- const arrays = [];
131
- while (arr.length > 0) {
132
- arrays.push(arr.splice(0, size));
133
- }
134
- return arrays;
135
- }
136
- // Fix a hard-reproducible bug with timezones
137
- // The bug depends on OS, browser, current timezone and current date
138
- // i.e.
139
- // var date = new Date(2014, 0, 1);
140
- // console.log(date.getFullYear(), date.getMonth(), date.getDate(),
141
- // date.getHours()); can result in "2013 11 31 23" because of the bug.
142
- fixTimeZone(date) {
143
- const hours = date.getHours();
144
- return new Date(date.getFullYear(), date.getMonth(), date.getDate(), hours === 23 ? hours + 2 : 0);
145
- }
146
- select(date, isManual = true) {
147
- if (this.datepickerMode === this.minMode) {
148
- if (!this.activeDate) {
149
- this.activeDate = new Date(0, 0, 0, 0, 0, 0, 0);
150
- }
151
- this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());
152
- this.activeDate = this.fixTimeZone(this.activeDate);
153
- if (isManual) {
154
- this.selectionDone.emit(this.activeDate);
155
- }
156
- }
157
- else {
158
- this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());
159
- this.activeDate = this.fixTimeZone(this.activeDate);
160
- if (isManual) {
161
- this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) - 1];
162
- }
163
- }
164
- this.selectedDate = new Date(this.activeDate.valueOf());
165
- this.update.emit(this.activeDate);
166
- this.refreshView();
167
- }
168
- move(direction) {
169
- /* tslint:disable-next-line: no-any*/
170
- let expectedStep;
171
- if (this.datepickerMode === 'day') {
172
- expectedStep = this.stepDay;
173
- }
174
- if (this.datepickerMode === 'month') {
175
- expectedStep = this.stepMonth;
176
- }
177
- if (this.datepickerMode === 'year') {
178
- expectedStep = this.stepYear;
179
- }
180
- if (expectedStep) {
181
- const year = this.activeDate.getFullYear() + direction * (expectedStep.years || 0);
182
- const month = this.activeDate.getMonth() + direction * (expectedStep.months || 0);
183
- this.activeDate = new Date(year, month, 1);
184
- this.refreshView();
185
- this.activeDateChange.emit(this.activeDate);
186
- }
187
- }
188
- toggleMode(_direction) {
189
- const direction = _direction || 1;
190
- if ((this.datepickerMode === this.maxMode && direction === 1) ||
191
- (this.datepickerMode === this.minMode && direction === -1)) {
192
- return;
193
- }
194
- this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) + direction];
195
- this.refreshView();
196
- }
197
- getCustomClassForDate(date) {
198
- if (!this.customClass) {
199
- return '';
200
- }
201
- // todo: build a hash of custom classes, it will work faster
202
- const customClassObject = this.customClass.find((customClass) => {
203
- return (customClass.date.valueOf() === date.valueOf() &&
204
- customClass.mode === this.datepickerMode);
205
- }, this);
206
- return customClassObject === undefined ? '' : customClassObject.clazz;
207
- }
208
- compareDateDisabled(date1Disabled, date2) {
209
- if (date1Disabled === undefined || date2 === undefined) {
210
- return undefined;
211
- }
212
- if (date1Disabled.mode === 'day' && this.compareHandlerDay) {
213
- return this.compareHandlerDay(date1Disabled.date, date2);
214
- }
215
- if (date1Disabled.mode === 'month' && this.compareHandlerMonth) {
216
- return this.compareHandlerMonth(date1Disabled.date, date2);
217
- }
218
- if (date1Disabled.mode === 'year' && this.compareHandlerYear) {
219
- return this.compareHandlerYear(date1Disabled.date, date2);
220
- }
221
- return undefined;
222
- }
223
- isDisabled(date) {
224
- let isDateDisabled = false;
225
- if (this.dateDisabled) {
226
- this.dateDisabled.forEach((disabledDate) => {
227
- if (this.compareDateDisabled(disabledDate, date) === 0) {
228
- isDateDisabled = true;
229
- }
230
- });
231
- }
232
- if (this.dayDisabled) {
233
- isDateDisabled =
234
- isDateDisabled ||
235
- this.dayDisabled.indexOf(date.getDay()) > -1;
236
- }
237
- return (isDateDisabled ||
238
- (this.minDate && this.compare(date, this.minDate) < 0) ||
239
- (this.maxDate && this.compare(date, this.maxDate) > 0));
240
- }
241
- }
242
- DatePickerInnerComponent.decorators = [
243
- { type: Component, args: [{
244
- selector: 'datepicker-inner',
245
- template: `
246
- <!--&lt;!&ndash;ng-keydown="keydown($event)"&ndash;&gt;-->
247
- <div *ngIf="datepickerMode" class="well well-sm bg-faded p-a card" role="application" >
248
- <ng-content></ng-content>
249
- </div>
250
- `
251
- },] }
252
- ];
253
- DatePickerInnerComponent.propDecorators = {
254
- locale: [{ type: Input }],
255
- datepickerMode: [{ type: Input }],
256
- startingDay: [{ type: Input }],
257
- yearRange: [{ type: Input }],
258
- minDate: [{ type: Input }],
259
- maxDate: [{ type: Input }],
260
- minMode: [{ type: Input }],
261
- maxMode: [{ type: Input }],
262
- showWeeks: [{ type: Input }],
263
- formatDay: [{ type: Input }],
264
- formatMonth: [{ type: Input }],
265
- formatYear: [{ type: Input }],
266
- formatDayHeader: [{ type: Input }],
267
- formatDayTitle: [{ type: Input }],
268
- formatMonthTitle: [{ type: Input }],
269
- onlyCurrentMonth: [{ type: Input }],
270
- shortcutPropagation: [{ type: Input }],
271
- customClass: [{ type: Input }],
272
- monthColLimit: [{ type: Input }],
273
- yearColLimit: [{ type: Input }],
274
- dateDisabled: [{ type: Input }],
275
- dayDisabled: [{ type: Input }],
276
- initDate: [{ type: Input }],
277
- selectionDone: [{ type: Output }],
278
- update: [{ type: Output }],
279
- activeDateChange: [{ type: Output }],
280
- activeDate: [{ type: Input }]
281
- };
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVlqRCxNQUFNLE9BQU8sd0JBQXdCO0lBVHJDO1FBbUNZLGtCQUFhLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLFdBQU0sR0FBdUIsSUFBSSxZQUFZLENBQU8sS0FBSyxDQUFDLENBQUM7UUFDM0QscUJBQWdCLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBRW5GLHFDQUFxQztRQUNyQyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLHFDQUFxQztRQUNyQyxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLHFDQUFxQztRQUNyQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBSVQsVUFBSyxHQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxrQkFBYSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO0lBcVUvRCxDQUFDO0lBelRDLElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLFFBQVE7UUFDTixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBSSxlQUFlLElB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Q0FBQyxFQUFFO29CQUN0RCxjQUFjLEdBQUcsSUFBSSxDQUFDO2lCQUN2QjtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsY0FBYztnQkFDWixjQUFjO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsT0FBTyxDQUNMLGNBQWM7WUFDZCxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0osQ0FBQzs7O1lBclhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7O0dBS1Q7YUFDRjs7O3FCQUVFLEtBQUs7NkJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7c0JBRUwsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzhCQUNMLEtBQUs7NkJBQ0wsS0FBSzsrQkFDTCxLQUFLOytCQUNMLEtBQUs7a0NBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzs0QkFFTCxNQUFNO3FCQUNOLE1BQU07K0JBQ04sTUFBTTt5QkF3Qk4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOiBtYXgtZmlsZS1saW5lLWNvdW50ICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVGb3JtYXR0ZXIgfSBmcm9tICcuL2RhdGUtZm9ybWF0dGVyJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRlcGlja2VyLWlubmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tJmx0OyEmbmRhc2g7bmcta2V5ZG93bj1cImtleWRvd24oJGV2ZW50KVwiJm5kYXNoOyZndDstLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0ZXBpY2tlck1vZGVcIiBjbGFzcz1cIndlbGwgd2VsbC1zbSBiZy1mYWRlZCBwLWEgY2FyZFwiIHJvbGU9XCJhcHBsaWNhdGlvblwiID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VySW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRlcGlja2VyTW9kZTogc3RyaW5nO1xuICBASW5wdXQoKSBzdGFydGluZ0RheTogbnVtYmVyO1xuICBASW5wdXQoKSB5ZWFyUmFuZ2U6IG51bWJlcjtcblxuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtaW5Nb2RlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE1vZGU6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1dlZWtzOiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtYXREYXk6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0TW9udGg6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0WWVhcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtYXREYXlIZWFkZXI6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0RGF5VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0TW9udGhUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBvbmx5Q3VycmVudE1vbnRoOiBib29sZWFuO1xuICBASW5wdXQoKSBzaG9ydGN1dFByb3BhZ2F0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKSBjdXN0b21DbGFzczogeyBkYXRlOiBEYXRlOyBtb2RlOiBzdHJpbmc7IGNsYXp6OiBzdHJpbmcgfVtdO1xuICBASW5wdXQoKSBtb250aENvbExpbWl0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHllYXJDb2xMaW1pdDogbnVtYmVyO1xuICBASW5wdXQoKSBkYXRlRGlzYWJsZWQ6IHsgZGF0ZTogRGF0ZTsgbW9kZTogc3RyaW5nIH1bXTtcbiAgQElucHV0KCkgZGF5RGlzYWJsZWQ6IG51bWJlcltdO1xuICBASW5wdXQoKSBpbml0RGF0ZTogRGF0ZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuICBAT3V0cHV0KCkgdXBkYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KGZhbHNlKTtcbiAgQE91dHB1dCgpIGFjdGl2ZURhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4odW5kZWZpbmVkKTtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHN0ZXBEYXk6IGFueSA9IHt9O1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHN0ZXBNb250aDogYW55ID0ge307XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgc3RlcFllYXI6IGFueSA9IHt9O1xuXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIG1vZGVzOiBzdHJpbmdbXSA9IFsnZGF5JywgJ21vbnRoJywgJ3llYXInXTtcbiAgcHJvdGVjdGVkIGRhdGVGb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXIgPSBuZXcgRGF0ZUZvcm1hdHRlcigpO1xuICBwcm90ZWN0ZWQgX2FjdGl2ZURhdGU6IERhdGU7XG4gIHByb3RlY3RlZCBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHByb3RlY3RlZCBhY3RpdmVEYXRlSWQ6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgcmVmcmVzaFZpZXdIYW5kbGVyRGF5OiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIGNvbXBhcmVIYW5kbGVyRGF5OiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIHJlZnJlc2hWaWV3SGFuZGxlck1vbnRoOiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIGNvbXBhcmVIYW5kbGVyTW9udGg6IEZ1bmN0aW9uO1xuICBwcm90ZWN0ZWQgcmVmcmVzaFZpZXdIYW5kbGVyWWVhcjogRnVuY3Rpb247XG4gIHByb3RlY3RlZCBjb21wYXJlSGFuZGxlclllYXI6IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBhY3RpdmVEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlO1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICAvLyB0b2RvOiBhZGQgZm9ybWF0dGVyIHZhbHVlIHRvIERhdGUgb2JqZWN0XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHVzZSBkYXRlIGZvciB1bmlxdWUgdmFsdWVcbiAgICB0aGlzLnVuaXF1ZUlkID0gIGBkYXRlcGlja2VyLS0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKX1gO1xuXG4gICAgaWYgKHRoaXMuaW5pdERhdGUpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuaW5pdERhdGU7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlRGF0ZS52YWx1ZU9mKCkpO1xuICAgICAgdGhpcy51cGRhdGUuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVEYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcy5yZWZyZXNoVmlldyBzaG91bGQgYmUgY2FsbGVkIGhlcmUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlcyBvbiB0aGUgZmx5XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtdmFyaWFibGVcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgICB0aGlzLmNoZWNrSWZBY3RpdmVEYXRlR290VXBkYXRlZChjaGFuZ2VzLmFjdGl2ZURhdGUpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgYWN0aXZlRGF0ZSBoYXMgYmVlbiB1cGRhdGUgYW5kIHRoZW4gZW1pdCB0aGUgYWN0aXZlRGF0ZUNoYW5nZSB3aXRoIHRoZSBuZXcgZGF0ZVxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICBjaGVja0lmQWN0aXZlRGF0ZUdvdFVwZGF0ZWQoYWN0aXZlRGF0ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKGFjdGl2ZURhdGUgJiYgIWFjdGl2ZURhdGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBhY3RpdmVEYXRlLnByZXZpb3VzVmFsdWU7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZpb3VzVmFsdWUgJiZcbiAgICAgICAgcHJldmlvdXNWYWx1ZSBpbnN0YW5jZW9mIERhdGUgJiZcbiAgICAgICAgcHJldmlvdXNWYWx1ZS5nZXRUaW1lKCkgIT09IGFjdGl2ZURhdGUuY3VycmVudFZhbHVlLmdldFRpbWUoKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Q29tcGFyZUhhbmRsZXIoaGFuZGxlcjogRnVuY3Rpb24sIHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnZGF5Jykge1xuICAgICAgdGhpcy5jb21wYXJlSGFuZGxlckRheSA9IGhhbmRsZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aCA9IGhhbmRsZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy5jb21wYXJlSGFuZGxlclllYXIgPSBoYW5kbGVyO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmUoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGF0ZTEgPT09IHVuZGVmaW5lZCB8fCBkYXRlMiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5JyAmJiB0aGlzLmNvbXBhcmVIYW5kbGVyRGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlSGFuZGxlckRheShkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnbW9udGgnICYmIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUhhbmRsZXJNb250aChkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAneWVhcicgJiYgdGhpcy5jb21wYXJlSGFuZGxlclllYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVIYW5kbGVyWWVhcihkYXRlMSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBzZXRSZWZyZXNoVmlld0hhbmRsZXIoaGFuZGxlcjogRnVuY3Rpb24sIHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnZGF5Jykge1xuICAgICAgdGhpcy5yZWZyZXNoVmlld0hhbmRsZXJEYXkgPSBoYW5kbGVyO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoID0gaGFuZGxlcjtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlclllYXIgPSBoYW5kbGVyO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hWaWV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5JyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlckRheSkge1xuICAgICAgdGhpcy5yZWZyZXNoVmlld0hhbmRsZXJEYXkoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gJ21vbnRoJyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoKSB7XG4gICAgICB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlck1vbnRoKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0ZXBpY2tlck1vZGUgPT09ICd5ZWFyJyAmJiB0aGlzLnJlZnJlc2hWaWV3SGFuZGxlclllYXIpIHtcbiAgICAgIHRoaXMucmVmcmVzaFZpZXdIYW5kbGVyWWVhcigpO1xuICAgIH1cbiAgfVxuXG4gIGRhdGVGaWx0ZXIoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUsIGZvcm1hdCwgdGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBpc0FjdGl2ZShkYXRlT2JqZWN0OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb21wYXJlKGRhdGVPYmplY3QuZGF0ZSwgdGhpcy5hY3RpdmVEYXRlKSA9PT0gMCkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlSWQgPSBkYXRlT2JqZWN0LnVpZDtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBjcmVhdGVEYXRlT2JqZWN0KGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogYW55IHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgY29uc3QgZGF0ZU9iamVjdDogYW55ID0ge307XG4gICAgZGF0ZU9iamVjdC5kYXRlID0gbmV3IERhdGUoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICBkYXRlLmdldERhdGUoKVxuICAgICk7XG4gICAgZGF0ZU9iamVjdC5kYXRlID0gdGhpcy5maXhUaW1lWm9uZShkYXRlT2JqZWN0LmRhdGUpO1xuICAgIGRhdGVPYmplY3QubGFiZWwgPSB0aGlzLmRhdGVGaWx0ZXIoZGF0ZSwgZm9ybWF0KTtcbiAgICBkYXRlT2JqZWN0LnNlbGVjdGVkID0gdGhpcy5jb21wYXJlKGRhdGUsIHRoaXMuc2VsZWN0ZWREYXRlKSA9PT0gMDtcbiAgICBkYXRlT2JqZWN0LmRpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKGRhdGUpO1xuICAgIGRhdGVPYmplY3QuY3VycmVudCA9IHRoaXMuY29tcGFyZShkYXRlLCBuZXcgRGF0ZSgpKSA9PT0gMDtcbiAgICBkYXRlT2JqZWN0LmN1c3RvbUNsYXNzID0gdGhpcy5nZXRDdXN0b21DbGFzc0ZvckRhdGUoZGF0ZU9iamVjdC5kYXRlKTtcblxuICAgIHJldHVybiBkYXRlT2JqZWN0O1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBzcGxpdChhcnI6IGFueVtdLCBzaXplOiBudW1iZXIpOiBhbnlbXSB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICAgIGNvbnN0IGFycmF5czogYW55W10gPSBbXTtcbiAgICB3aGlsZSAoYXJyLmxlbmd0aCA+IDApIHtcbiAgICAgIGFycmF5cy5wdXNoKGFyci5zcGxpY2UoMCwgc2l6ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheXM7XG4gIH1cblxuICAvLyBGaXggYSBoYXJkLXJlcHJvZHVjaWJsZSBidWcgd2l0aCB0aW1lem9uZXNcbiAgLy8gVGhlIGJ1ZyBkZXBlbmRzIG9uIE9TLCBicm93c2VyLCBjdXJyZW50IHRpbWV6b25lIGFuZCBjdXJyZW50IGRhdGVcbiAgLy8gaS5lLlxuICAvLyB2YXIgZGF0ZSA9IG5ldyBEYXRlKDIwMTQsIDAsIDEpO1xuICAvLyBjb25zb2xlLmxvZyhkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksXG4gIC8vIGRhdGUuZ2V0SG91cnMoKSk7IGNhbiByZXN1bHQgaW4gXCIyMDEzIDExIDMxIDIzXCIgYmVjYXVzZSBvZiB0aGUgYnVnLlxuICBmaXhUaW1lWm9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCk7XG5cbiAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgIGhvdXJzID09PSAyMyA/IGhvdXJzICsgMiA6IDBcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0KGRhdGU6IERhdGUsIGlzTWFudWFsID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSB0aGlzLm1pbk1vZGUpIHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVEYXRlKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIDAsIDApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICApO1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5maXhUaW1lWm9uZSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgaWYgKGlzTWFudWFsKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uRG9uZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBEYXRlKFxuICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgZGF0ZS5nZXREYXRlKClcbiAgICAgICk7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmZpeFRpbWVab25lKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICBpZiAoaXNNYW51YWwpIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyTW9kZSA9IHRoaXMubW9kZXNbXG4gICAgICAgICAgdGhpcy5tb2Rlcy5pbmRleE9mKHRoaXMuZGF0ZXBpY2tlck1vZGUpIC0gMVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5hY3RpdmVEYXRlLnZhbHVlT2YoKSk7XG4gICAgdGhpcy51cGRhdGUuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgfVxuXG4gIG1vdmUoZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgbGV0IGV4cGVjdGVkU3RlcDogYW55O1xuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5Jykge1xuICAgICAgZXhwZWN0ZWRTdGVwID0gdGhpcy5zdGVwRGF5O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSAnbW9udGgnKSB7XG4gICAgICBleHBlY3RlZFN0ZXAgPSB0aGlzLnN0ZXBNb250aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICBleHBlY3RlZFN0ZXAgPSB0aGlzLnN0ZXBZZWFyO1xuICAgIH1cblxuICAgIGlmIChleHBlY3RlZFN0ZXApIHtcbiAgICAgIGNvbnN0IHllYXIgPVxuICAgICAgICB0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIGRpcmVjdGlvbiAqIChleHBlY3RlZFN0ZXAueWVhcnMgfHwgMCk7XG4gICAgICBjb25zdCBtb250aCA9XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZS5nZXRNb250aCgpICsgZGlyZWN0aW9uICogKGV4cGVjdGVkU3RlcC5tb250aHMgfHwgMCk7XG4gICAgICB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XG5cbiAgICAgIHRoaXMucmVmcmVzaFZpZXcoKTtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTW9kZShfZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBfZGlyZWN0aW9uIHx8IDE7XG5cbiAgICBpZiAoXG4gICAgICAodGhpcy5kYXRlcGlja2VyTW9kZSA9PT0gdGhpcy5tYXhNb2RlICYmIGRpcmVjdGlvbiA9PT0gMSkgfHxcbiAgICAgICh0aGlzLmRhdGVwaWNrZXJNb2RlID09PSB0aGlzLm1pbk1vZGUgJiYgZGlyZWN0aW9uID09PSAtMSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGVwaWNrZXJNb2RlID0gdGhpcy5tb2Rlc1tcbiAgICAgIHRoaXMubW9kZXMuaW5kZXhPZih0aGlzLmRhdGVwaWNrZXJNb2RlKSArIGRpcmVjdGlvblxuICAgIF07XG4gICAgdGhpcy5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEN1c3RvbUNsYXNzRm9yRGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY3VzdG9tQ2xhc3MpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgLy8gdG9kbzogYnVpbGQgYSBoYXNoIG9mIGN1c3RvbSBjbGFzc2VzLCBpdCB3aWxsIHdvcmsgZmFzdGVyXG4gICAgY29uc3QgY3VzdG9tQ2xhc3NPYmplY3Q6IHtcbiAgICAgIGRhdGU6IERhdGU7XG4gICAgICBtb2RlOiBzdHJpbmc7XG4gICAgICBjbGF6ejogc3RyaW5nO1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG4gICAgfSA9IHRoaXMuY3VzdG9tQ2xhc3MuZmluZCgoY3VzdG9tQ2xhc3M6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgY3VzdG9tQ2xhc3MuZGF0ZS52YWx1ZU9mKCkgPT09IGRhdGUudmFsdWVPZigpICYmXG4gICAgICAgIGN1c3RvbUNsYXNzLm1vZGUgPT09IHRoaXMuZGF0ZXBpY2tlck1vZGVcbiAgICAgICk7XG4gICAgfSwgdGhpcyk7XG5cbiAgICByZXR1cm4gY3VzdG9tQ2xhc3NPYmplY3QgPT09IHVuZGVmaW5lZCA/ICcnIDogY3VzdG9tQ2xhc3NPYmplY3QuY2xheno7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tcGFyZURhdGVEaXNhYmxlZChcbiAgICBkYXRlMURpc2FibGVkOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9LFxuICAgIGRhdGUyOiBEYXRlXG4gICk6IG51bWJlciB7XG4gICAgaWYgKGRhdGUxRGlzYWJsZWQgPT09IHVuZGVmaW5lZCB8fCBkYXRlMiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICdkYXknICYmIHRoaXMuY29tcGFyZUhhbmRsZXJEYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVIYW5kbGVyRGF5KGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICdtb250aCcgJiYgdGhpcy5jb21wYXJlSGFuZGxlck1vbnRoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlSGFuZGxlck1vbnRoKGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIGlmIChkYXRlMURpc2FibGVkLm1vZGUgPT09ICd5ZWFyJyAmJiB0aGlzLmNvbXBhcmVIYW5kbGVyWWVhcikge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUhhbmRsZXJZZWFyKGRhdGUxRGlzYWJsZWQuZGF0ZSwgZGF0ZTIpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgbGV0IGlzRGF0ZURpc2FibGVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGF0ZURpc2FibGVkKSB7XG4gICAgICB0aGlzLmRhdGVEaXNhYmxlZC5mb3JFYWNoKFxuICAgICAgICAoZGlzYWJsZWREYXRlOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29tcGFyZURhdGVEaXNhYmxlZChkaXNhYmxlZERhdGUsIGRhdGUpID09PSAwKSB7XG4gICAgICAgICAgICBpc0RhdGVEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRheURpc2FibGVkKSB7XG4gICAgICBpc0RhdGVEaXNhYmxlZCA9XG4gICAgICAgIGlzRGF0ZURpc2FibGVkIHx8XG4gICAgICAgIHRoaXMuZGF5RGlzYWJsZWQuaW5kZXhPZihkYXRlLmdldERheSgpKSA+IC0xO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBpc0RhdGVEaXNhYmxlZCB8fFxuICAgICAgKHRoaXMubWluRGF0ZSAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgdGhpcy5taW5EYXRlKSA8IDApIHx8XG4gICAgICAodGhpcy5tYXhEYXRlICYmIHRoaXMuY29tcGFyZShkYXRlLCB0aGlzLm1heERhdGUpID4gMClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,140 +0,0 @@
1
- import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { DatePickerInnerComponent } from './datepicker-inner.component';
4
- import { DatePickerConfig } from './datepicker.config';
5
- export const DATEPICKER_CONTROL_VALUE_ACCESSOR = {
6
- provide: NG_VALUE_ACCESSOR,
7
- /* tslint:disable-next-line: no-use-before-declare */
8
- useExisting: forwardRef(() => DatePickerComponent),
9
- multi: true
10
- };
11
- /* tslint:disable:component-selector-name component-selector-type */
12
- /* tslint:enable:component-selector-name component-selector-type */
13
- export class DatePickerComponent {
14
- constructor(config) {
15
- /** sets datepicker mode, supports: `day`, `month`, `year` */
16
- this.datepickerMode = 'day';
17
- /** if false week numbers will be hidden */
18
- this.showWeeks = true;
19
- this.selectionDone = new EventEmitter(undefined);
20
- /** callback to invoke when the activeDate is changed. */
21
- this.activeDateChange = new EventEmitter(undefined);
22
- /* tslint:disable-next-line: no-any*/
23
- this.onChange = Function.prototype;
24
- /* tslint:disable-next-line: no-any*/
25
- this.onTouched = Function.prototype;
26
- this._now = new Date();
27
- this.config = config;
28
- this.configureOptions();
29
- }
30
- /** currently active date */
31
- get activeDate() {
32
- return this._activeDate || this._now;
33
- }
34
- set activeDate(value) {
35
- this._activeDate = value;
36
- }
37
- configureOptions() {
38
- Object.assign(this, this.config);
39
- }
40
- onUpdate(event) {
41
- this.activeDate = event;
42
- this.onChange(event);
43
- }
44
- onSelectionDone(event) {
45
- this.selectionDone.emit(event);
46
- }
47
- onActiveDateChange(event) {
48
- this.activeDateChange.emit(event);
49
- }
50
- // todo: support null value
51
- /* tslint:disable-next-line: no-any*/
52
- writeValue(value) {
53
- if (this._datePicker.compare(value, this._activeDate) === 0) {
54
- return;
55
- }
56
- if (value && value instanceof Date) {
57
- this.activeDate = value;
58
- this._datePicker.select(value, false);
59
- return;
60
- }
61
- this.activeDate = value ? new Date(value) : void 0;
62
- }
63
- registerOnChange(fn) {
64
- this.onChange = fn;
65
- }
66
- registerOnTouched(fn) {
67
- this.onTouched = fn;
68
- }
69
- }
70
- DatePickerComponent.decorators = [
71
- { type: Component, args: [{
72
- selector: 'datepicker',
73
- template: `
74
- <datepicker-inner [activeDate]="activeDate"
75
- (update)="onUpdate($event)"
76
- [locale]="config.locale"
77
- [datepickerMode]="datepickerMode"
78
- [initDate]="initDate"
79
- [minDate]="minDate"
80
- [maxDate]="maxDate"
81
- [minMode]="minMode"
82
- [maxMode]="maxMode"
83
- [showWeeks]="showWeeks"
84
- [formatDay]="formatDay"
85
- [formatMonth]="formatMonth"
86
- [formatYear]="formatYear"
87
- [formatDayHeader]="formatDayHeader"
88
- [formatDayTitle]="formatDayTitle"
89
- [formatMonthTitle]="formatMonthTitle"
90
- [startingDay]="startingDay"
91
- [yearRange]="yearRange"
92
- [customClass]="customClass"
93
- [dateDisabled]="dateDisabled"
94
- [dayDisabled]="dayDisabled"
95
- [onlyCurrentMonth]="onlyCurrentMonth"
96
- [shortcutPropagation]="shortcutPropagation"
97
- [monthColLimit]="monthColLimit"
98
- [yearColLimit]="yearColLimit"
99
- (selectionDone)="onSelectionDone($event)"
100
- (activeDateChange)="onActiveDateChange($event)">
101
- <daypicker tabindex="0"></daypicker>
102
- <monthpicker tabindex="0"></monthpicker>
103
- <yearpicker tabindex="0"></yearpicker>
104
- </datepicker-inner>
105
- `,
106
- providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]
107
- },] }
108
- ];
109
- DatePickerComponent.ctorParameters = () => [
110
- { type: DatePickerConfig }
111
- ];
112
- DatePickerComponent.propDecorators = {
113
- datepickerMode: [{ type: Input }],
114
- initDate: [{ type: Input }],
115
- minDate: [{ type: Input }],
116
- maxDate: [{ type: Input }],
117
- minMode: [{ type: Input }],
118
- maxMode: [{ type: Input }],
119
- showWeeks: [{ type: Input }],
120
- formatDay: [{ type: Input }],
121
- formatMonth: [{ type: Input }],
122
- formatYear: [{ type: Input }],
123
- formatDayHeader: [{ type: Input }],
124
- formatDayTitle: [{ type: Input }],
125
- formatMonthTitle: [{ type: Input }],
126
- startingDay: [{ type: Input }],
127
- yearRange: [{ type: Input }],
128
- onlyCurrentMonth: [{ type: Input }],
129
- shortcutPropagation: [{ type: Input }],
130
- monthColLimit: [{ type: Input }],
131
- yearColLimit: [{ type: Input }],
132
- customClass: [{ type: Input }],
133
- dateDisabled: [{ type: Input }],
134
- dayDisabled: [{ type: Input }],
135
- activeDate: [{ type: Input }],
136
- selectionDone: [{ type: Output }],
137
- activeDateChange: [{ type: Output }],
138
- _datePicker: [{ type: ViewChild, args: [DatePickerInnerComponent, { static: true },] }]
139
- };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQWE7SUFDekQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixxREFBcUQ7SUFDckQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixvRUFBb0U7QUFzQ3BFLG1FQUFtRTtBQUNuRSxNQUFNLE9BQU8sbUJBQW1CO0lBOEU5QixZQUFZLE1BQXdCO1FBN0VwQyw2REFBNkQ7UUFDcEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFXaEMsMkNBQTJDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUEyQzFCLGtCQUFhLEdBQXVCLElBQUksWUFBWSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLHlEQUF5RDtRQUV6RCxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLENBQ3JELFNBQVMsQ0FDVixDQUFDO1FBS0YscUNBQXFDO1FBQ3JDLGFBQVEsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ25DLHFDQUFxQztRQUNyQyxjQUFTLEdBQVEsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUkxQixTQUFJLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUloQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBbkNELDRCQUE0QjtJQUM1QixJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBNkJELGdCQUFnQjtRQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVc7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVc7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVc7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsMkJBQTJCO0lBQzNCLHFDQUFxQztJQUNyQyxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXRDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7O1lBL0pGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWdDUDtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzthQUMvQzs7O1lBOUNRLGdCQUFnQjs7OzZCQWtEdEIsS0FBSzt1QkFFTCxLQUFLO3NCQUVMLEtBQUs7c0JBRUwsS0FBSztzQkFFTCxLQUFLO3NCQUVMLEtBQUs7d0JBRUwsS0FBSzt3QkFFTCxLQUFLOzBCQUVMLEtBQUs7eUJBRUwsS0FBSzs4QkFFTCxLQUFLOzZCQUVMLEtBQUs7K0JBRUwsS0FBSzswQkFFTCxLQUFLO3dCQUVMLEtBQUs7K0JBRUwsS0FBSztrQ0FFTCxLQUFLOzRCQUVMLEtBQUs7MkJBRUwsS0FBSzswQkFFTCxLQUFLOzJCQUVMLEtBQUs7MEJBRUwsS0FBSzt5QkFHTCxLQUFLOzRCQVNMLE1BQU07K0JBSU4sTUFBTTswQkFLTixTQUFTLFNBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFByb3ZpZGVyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlUGlja2VySW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb25maWcgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IERBVEVQSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXVzZS1iZWZvcmUtZGVjbGFyZSAqL1xuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbi8qIHRzbGludDpkaXNhYmxlOmNvbXBvbmVudC1zZWxlY3Rvci1uYW1lIGNvbXBvbmVudC1zZWxlY3Rvci10eXBlICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRlcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGF0ZXBpY2tlci1pbm5lciBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAodXBkYXRlKT1cIm9uVXBkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwiY29uZmlnLmxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGVwaWNrZXJNb2RlXT1cImRhdGVwaWNrZXJNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5pdERhdGVdPVwiaW5pdERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttaW5Nb2RlXT1cIm1pbk1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhNb2RlXT1cIm1heE1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93V2Vla3NdPVwic2hvd1dlZWtzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0RGF5XT1cImZvcm1hdERheVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdE1vbnRoXT1cImZvcm1hdE1vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0WWVhcl09XCJmb3JtYXRZZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0RGF5SGVhZGVyXT1cImZvcm1hdERheUhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdERheVRpdGxlXT1cImZvcm1hdERheVRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TW9udGhUaXRsZV09XCJmb3JtYXRNb250aFRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRpbmdEYXldPVwic3RhcnRpbmdEYXlcIlxuICAgICAgICAgICAgICAgICAgICAgIFt5ZWFyUmFuZ2VdPVwieWVhclJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ2xhc3NdPVwiY3VzdG9tQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRlRGlzYWJsZWRdPVwiZGF0ZURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF5RGlzYWJsZWRdPVwiZGF5RGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtvbmx5Q3VycmVudE1vbnRoXT1cIm9ubHlDdXJyZW50TW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG9ydGN1dFByb3BhZ2F0aW9uXT1cInNob3J0Y3V0UHJvcGFnYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFttb250aENvbExpbWl0XT1cIm1vbnRoQ29sTGltaXRcIlxuICAgICAgICAgICAgICAgICAgICAgIFt5ZWFyQ29sTGltaXRdPVwieWVhckNvbExpbWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uRG9uZSk9XCJvblNlbGVjdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZURhdGVDaGFuZ2UpPVwib25BY3RpdmVEYXRlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDxkYXlwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9kYXlwaWNrZXI+XG4gICAgICA8bW9udGhwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9tb250aHBpY2tlcj5cbiAgICAgIDx5ZWFycGlja2VyIHRhYmluZGV4PVwiMFwiPjwveWVhcnBpY2tlcj5cbiAgICA8L2RhdGVwaWNrZXItaW5uZXI+XG4gICAgYCxcbiAgcHJvdmlkZXJzOiBbREFURVBJQ0tFUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXVxufSlcbi8qIHRzbGludDplbmFibGU6Y29tcG9uZW50LXNlbGVjdG9yLW5hbWUgY29tcG9uZW50LXNlbGVjdG9yLXR5cGUgKi9cbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKiogc2V0cyBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpIGRhdGVwaWNrZXJNb2RlID0gJ2RheSc7XG4gIC8qKiBkZWZhdWx0IGRhdGUgdG8gc2hvdyBpZiBgbmctbW9kZWxgIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQgKi9cbiAgQElucHV0KCkgaW5pdERhdGU6IERhdGU7XG4gIC8qKiAgb2xkZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xuICAvKiogbGF0ZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xuICAvKiogc2V0IGxvd2VyIGRhdGVwaWNrZXIgbW9kZSwgc3VwcG9ydHM6IGBkYXlgLCBgbW9udGhgLCBgeWVhcmAgKi9cbiAgQElucHV0KCkgbWluTW9kZTogc3RyaW5nO1xuICAvKiogc2V0cyB1cHBlciBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpIG1heE1vZGU6IHN0cmluZztcbiAgLyoqIGlmIGZhbHNlIHdlZWsgbnVtYmVycyB3aWxsIGJlIGhpZGRlbiAqL1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSB0cnVlO1xuICAvKiogZm9ybWF0IG9mIGRheSBpbiBtb250aCAqL1xuICBASW5wdXQoKSBmb3JtYXREYXk6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBtb250aCBpbiB5ZWFyICovXG4gIEBJbnB1dCgpIGZvcm1hdE1vbnRoOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgeWVhciBpbiB5ZWFyIHJhbmdlICovXG4gIEBJbnB1dCgpIGZvcm1hdFllYXI6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBkYXkgaW4gd2VlayBoZWFkZXIgKi9cbiAgQElucHV0KCkgZm9ybWF0RGF5SGVhZGVyOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgdGl0bGUgd2hlbiBzZWxlY3RpbmcgZGF5ICovXG4gIEBJbnB1dCgpIGZvcm1hdERheVRpdGxlOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgdGl0bGUgd2hlbiBzZWxlY3RpbmcgbW9udGggKi9cbiAgQElucHV0KCkgZm9ybWF0TW9udGhUaXRsZTogc3RyaW5nO1xuICAvKiogc3RhcnRpbmcgZGF5IG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKSBzdGFydGluZ0RheTogbnVtYmVyO1xuICAvKiogbnVtYmVyIG9mIHllYXJzIGRpc3BsYXllZCBpbiB5ZWFyIHNlbGVjdGlvbiAqL1xuICBASW5wdXQoKSB5ZWFyUmFuZ2U6IG51bWJlcjtcbiAgLyoqIGlmIHRydWUgb25seSBkYXRlcyBmcm9tIHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIG1vbnRoIHdpbGwgYmUgc2hvd24gKi9cbiAgQElucHV0KCkgb25seUN1cnJlbnRNb250aDogYm9vbGVhbjtcbiAgLyoqIGlmIHRydWUgc2hvcnRjdXRgcyBldmVudCBwcm9wYWdhdGlvbiB3aWxsIGJlIGRpc2FibGVkICovXG4gIEBJbnB1dCgpIHNob3J0Y3V0UHJvcGFnYXRpb246IGJvb2xlYW47XG4gIC8qKiBudW1iZXIgb2YgbW9udGhzIGRpc3BsYXllZCBpbiBhIHNpbmdsZSByb3cgb2YgbW9udGggcGlja2VyICovXG4gIEBJbnB1dCgpIG1vbnRoQ29sTGltaXQ6IG51bWJlcjtcbiAgLyoqIG51bWJlciBvZiB5ZWFycyBkaXNwbGF5ZWQgaW4gYSBzaW5nbGUgcm93IG9mIHllYXIgcGlja2VyICovXG4gIEBJbnB1dCgpIHllYXJDb2xMaW1pdDogbnVtYmVyO1xuICAvKiogYXJyYXkgb2YgY3VzdG9tIGNzcyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGFyZ2V0ZWQgZGF0ZXMgKi9cbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHsgZGF0ZTogRGF0ZTsgbW9kZTogc3RyaW5nOyBjbGF6ejogc3RyaW5nIH1bXTtcbiAgLyoqIGFycmF5IG9mIGRpc2FibGVkIGRhdGVzICovXG4gIEBJbnB1dCgpIGRhdGVEaXNhYmxlZDogeyBkYXRlOiBEYXRlOyBtb2RlOiBzdHJpbmcgfVtdO1xuICAvKiogZGlzYWJsZWQgZGF5cyBvZiB0aGUgd2VlayBmcm9tIDAtNiAoMD1TdW5kYXksIC4uLiwgNj1TYXR1cmRheSkgKi9cbiAgQElucHV0KCkgZGF5RGlzYWJsZWQ6IG51bWJlcltdO1xuXG4gIC8qKiBjdXJyZW50bHkgYWN0aXZlIGRhdGUgKi9cbiAgQElucHV0KClcbiAgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZURhdGUgfHwgdGhpcy5fbm93O1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIC8qKiBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgYWN0aXZlRGF0ZSBpcyBjaGFuZ2VkLiAqL1xuICBAT3V0cHV0KClcbiAgYWN0aXZlRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPihcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICBAVmlld0NoaWxkKERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2RhdGVQaWNrZXI6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgb25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbiAgY29uZmlnOiBEYXRlUGlja2VyQ29uZmlnO1xuXG4gIHByb3RlY3RlZCBfbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIF9hY3RpdmVEYXRlOiBEYXRlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRGF0ZVBpY2tlckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuY29uZmlndXJlT3B0aW9ucygpO1xuICB9XG5cbiAgY29uZmlndXJlT3B0aW9ucygpOiB2b2lkIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIG9uVXBkYXRlKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVEYXRlID0gZXZlbnQ7XG4gICAgdGhpcy5vbkNoYW5nZShldmVudCk7XG4gIH1cblxuICBvblNlbGVjdGlvbkRvbmUoZXZlbnQ6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkRvbmUuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkFjdGl2ZURhdGVDaGFuZ2UoZXZlbnQ6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cbiAgLy8gdG9kbzogc3VwcG9ydCBudWxsIHZhbHVlXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2RhdGVQaWNrZXIuY29tcGFyZSh2YWx1ZSwgdGhpcy5fYWN0aXZlRGF0ZSkgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdmFsdWU7XG4gICAgICB0aGlzLl9kYXRlUGlja2VyLnNlbGVjdCh2YWx1ZSwgZmFsc2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVEYXRlID0gdmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZSkgOiB2b2lkIDA7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DatePickerConfig {
4
- constructor() {
5
- this.locale = 'en';
6
- this.datepickerMode = 'day';
7
- this.startingDay = 0;
8
- this.yearRange = 20;
9
- this.minMode = 'day';
10
- this.maxMode = 'year';
11
- this.showWeeks = true;
12
- this.formatDay = 'DD';
13
- this.formatMonth = 'MMMM';
14
- this.formatYear = 'YYYY';
15
- this.formatDayHeader = 'dd';
16
- this.formatDayTitle = 'MMMM YYYY';
17
- this.formatMonthTitle = 'YYYY';
18
- this.onlyCurrentMonth = false;
19
- this.monthColLimit = 3;
20
- this.yearColLimit = 5;
21
- this.shortcutPropagation = false;
22
- }
23
- }
24
- DatePickerConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function DatePickerConfig_Factory() { return new DatePickerConfig(); }, token: DatePickerConfig, providedIn: "root" });
25
- DatePickerConfig.decorators = [
26
- { type: Injectable, args: [{
27
- providedIn: 'root'
28
- },] }
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJRSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDckIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixtQkFBYyxHQUFHLFdBQVcsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztLQUM3Qjs7OztZQXJCQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb25maWcge1xuICBsb2NhbGUgPSAnZW4nO1xuICBkYXRlcGlja2VyTW9kZSA9ICdkYXknO1xuICBzdGFydGluZ0RheSA9IDA7XG4gIHllYXJSYW5nZSA9IDIwO1xuICBtaW5Nb2RlID0gJ2RheSc7XG4gIG1heE1vZGUgPSAneWVhcic7XG4gIHNob3dXZWVrcyA9IHRydWU7XG4gIGZvcm1hdERheSA9ICdERCc7XG4gIGZvcm1hdE1vbnRoID0gJ01NTU0nO1xuICBmb3JtYXRZZWFyID0gJ1lZWVknO1xuICBmb3JtYXREYXlIZWFkZXIgPSAnZGQnO1xuICBmb3JtYXREYXlUaXRsZSA9ICdNTU1NIFlZWVknO1xuICBmb3JtYXRNb250aFRpdGxlID0gJ1lZWVknO1xuICBvbmx5Q3VycmVudE1vbnRoID0gZmFsc2U7XG4gIG1vbnRoQ29sTGltaXQgPSAzO1xuICB5ZWFyQ29sTGltaXQgPSA1O1xuICBzaG9ydGN1dFByb3BhZ2F0aW9uID0gZmFsc2U7XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { DatePickerInnerComponent } from './datepicker-inner.component';
5
- import { DatePickerComponent } from './datepicker.component';
6
- import { DatePickerConfig } from './datepicker.config';
7
- import { DayPickerComponent } from './daypicker.component';
8
- import { MonthPickerComponent } from './monthpicker.component';
9
- import { YearPickerComponent } from './yearpicker.component';
10
- export class DatePickerModule {
11
- static forRoot() {
12
- return { ngModule: DatePickerModule, providers: [DatePickerConfig] };
13
- }
14
- }
15
- DatePickerModule.decorators = [
16
- { type: NgModule, args: [{
17
- imports: [CommonModule, FormsModule],
18
- declarations: [
19
- DatePickerComponent,
20
- DatePickerInnerComponent,
21
- DayPickerComponent,
22
- MonthPickerComponent,
23
- YearPickerComponent
24
- ],
25
- exports: [
26
- DatePickerComponent,
27
- DatePickerInnerComponent,
28
- DayPickerComponent,
29
- MonthPickerComponent,
30
- YearPickerComponent
31
- ],
32
- entryComponents: [DatePickerComponent]
33
- },] }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFvQjdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDOzs7WUFyQkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7Z0JBQ3BDLFlBQVksRUFBRTtvQkFDWixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgRGF5UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tb250aHBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWVhclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4veWVhcnBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50LFxuICAgIERheVBpY2tlckNvbXBvbmVudCxcbiAgICBNb250aFBpY2tlckNvbXBvbmVudCxcbiAgICBZZWFyUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCxcbiAgICBEYXlQaWNrZXJDb21wb25lbnQsXG4gICAgTW9udGhQaWNrZXJDb21wb25lbnQsXG4gICAgWWVhclBpY2tlckNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtEYXRlUGlja2VyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYXRlUGlja2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IERhdGVQaWNrZXJNb2R1bGUsIHByb3ZpZGVyczogW0RhdGVQaWNrZXJDb25maWddIH07XG4gIH1cbn1cbiJdfQ==