mis-crystal-design-system 2.3.20 → 2.4.1

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 (516) hide show
  1. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +31 -13
  2. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
  3. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +2 -2
  4. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
  5. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +772 -0
  6. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +1 -0
  7. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +16 -0
  8. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +1 -0
  9. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +1 -1
  10. package/datepicker_v2/models/dp-config.model.d.ts +1 -0
  11. package/datepicker_v2/tz-datepicker.directive.d.ts +4 -3
  12. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +3 -0
  13. package/daterangepicker_v2/daterangepicker-constants.d.ts +4 -0
  14. package/daterangepicker_v2/daterangepicker.module.d.ts +2 -0
  15. package/{datepicker → daterangepicker_v2}/index.d.ts +0 -0
  16. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.d.ts +7 -0
  17. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +1 -0
  18. package/daterangepicker_v2/models/drp-config.model.d.ts +37 -0
  19. package/daterangepicker_v2/package.json +11 -0
  20. package/daterangepicker_v2/public_api.d.ts +3 -0
  21. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +29 -0
  22. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +32 -0
  23. package/daterangepicker_v2/utils/index.d.ts +2 -0
  24. package/esm2015/datepicker_v2/datepicker.module.js +3 -2
  25. package/esm2015/datepicker_v2/models/dp-config.model.js +1 -1
  26. package/esm2015/datepicker_v2/tz-datepicker.directive.js +9 -7
  27. package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +19 -4
  28. package/esm2015/daterangepicker_v2/daterangepicker-constants.js +5 -0
  29. package/esm2015/daterangepicker_v2/daterangepicker.module.js +17 -0
  30. package/esm2015/daterangepicker_v2/index.js +2 -0
  31. package/esm2015/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.js +7 -0
  32. package/esm2015/daterangepicker_v2/models/drp-config.model.js +2 -0
  33. package/esm2015/daterangepicker_v2/public_api.js +3 -0
  34. package/esm2015/daterangepicker_v2/tz-daterangepicker.directive.js +131 -0
  35. package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +228 -0
  36. package/esm2015/daterangepicker_v2/utils/index.js +45 -0
  37. package/fesm2015/mis-crystal-design-system-datepicker_v2.js +28 -10
  38. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
  39. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +423 -0
  40. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +1 -0
  41. package/package.json +1 -1
  42. package/bundles/mis-crystal-design-system-datepicker.umd.js +0 -13916
  43. package/bundles/mis-crystal-design-system-datepicker.umd.js.map +0 -1
  44. package/bundles/mis-crystal-design-system-datepicker.umd.min.js +0 -68
  45. package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +0 -1
  46. package/datepicker/base/bs-datepicker-container.d.ts +0 -44
  47. package/datepicker/bs-datepicker-inline.component.d.ts +0 -61
  48. package/datepicker/bs-datepicker-inline.config.d.ts +0 -3
  49. package/datepicker/bs-datepicker-input.directive.d.ts +0 -30
  50. package/datepicker/bs-datepicker.component.d.ts +0 -123
  51. package/datepicker/bs-datepicker.config.d.ts +0 -140
  52. package/datepicker/bs-datepicker.module.d.ts +0 -4
  53. package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -61
  54. package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -6
  55. package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -30
  56. package/datepicker/bs-daterangepicker.component.d.ts +0 -115
  57. package/datepicker/bs-daterangepicker.config.d.ts +0 -4
  58. package/datepicker/bs-locale.service.d.ts +0 -10
  59. package/datepicker/date-formatter.d.ts +0 -3
  60. package/datepicker/datepicker-animations.d.ts +0 -3
  61. package/datepicker/datepicker-inner.component.d.ts +0 -75
  62. package/datepicker/datepicker.component.d.ts +0 -78
  63. package/datepicker/datepicker.config.d.ts +0 -19
  64. package/datepicker/datepicker.module.d.ts +0 -4
  65. package/datepicker/daypicker.component.d.ts +0 -14
  66. package/datepicker/engine/calc-days-calendar.d.ts +0 -2
  67. package/datepicker/engine/flag-days-calendar.d.ts +0 -17
  68. package/datepicker/engine/flag-months-calendar.d.ts +0 -12
  69. package/datepicker/engine/flag-years-calendar.d.ts +0 -12
  70. package/datepicker/engine/format-days-calendar.d.ts +0 -4
  71. package/datepicker/engine/format-months-calendar.d.ts +0 -2
  72. package/datepicker/engine/format-years-calendar.d.ts +0 -4
  73. package/datepicker/engine/view-mode.d.ts +0 -2
  74. package/datepicker/mis-crystal-design-system-datepicker.d.ts +0 -24
  75. package/datepicker/mis-crystal-design-system-datepicker.metadata.json +0 -1
  76. package/datepicker/models/index.d.ts +0 -102
  77. package/datepicker/monthpicker.component.d.ts +0 -11
  78. package/datepicker/package.json +0 -11
  79. package/datepicker/public_api.d.ts +0 -26
  80. package/datepicker/reducer/_defaults.d.ts +0 -2
  81. package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -43
  82. package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -38
  83. package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  84. package/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
  85. package/datepicker/reducer/bs-datepicker.store.d.ts +0 -5
  86. package/datepicker/sub-components/chronos/create/check-overflow.d.ts +0 -2
  87. package/datepicker/sub-components/chronos/create/clone.d.ts +0 -1
  88. package/datepicker/sub-components/chronos/create/date-from-array.d.ts +0 -2
  89. package/datepicker/sub-components/chronos/create/from-anything.d.ts +0 -4
  90. package/datepicker/sub-components/chronos/create/from-array.d.ts +0 -2
  91. package/datepicker/sub-components/chronos/create/from-object.d.ts +0 -2
  92. package/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +0 -2
  93. package/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +0 -4
  94. package/datepicker/sub-components/chronos/create/from-string.d.ts +0 -4
  95. package/datepicker/sub-components/chronos/create/local.d.ts +0 -3
  96. package/datepicker/sub-components/chronos/create/parsing-flags.d.ts +0 -2
  97. package/datepicker/sub-components/chronos/create/parsing.types.d.ts +0 -64
  98. package/datepicker/sub-components/chronos/create/valid.d.ts +0 -6
  99. package/datepicker/sub-components/chronos/duration/bubble.d.ts +0 -4
  100. package/datepicker/sub-components/chronos/duration/constructor.d.ts +0 -21
  101. package/datepicker/sub-components/chronos/duration/create.d.ts +0 -8
  102. package/datepicker/sub-components/chronos/duration/humanize.d.ts +0 -5
  103. package/datepicker/sub-components/chronos/duration/valid.d.ts +0 -2
  104. package/datepicker/sub-components/chronos/format/format.d.ts +0 -11
  105. package/datepicker/sub-components/chronos/format.d.ts +0 -5
  106. package/datepicker/sub-components/chronos/i18n/ar.d.ts +0 -2
  107. package/datepicker/sub-components/chronos/i18n/bg.d.ts +0 -2
  108. package/datepicker/sub-components/chronos/i18n/ca.d.ts +0 -2
  109. package/datepicker/sub-components/chronos/i18n/cs.d.ts +0 -2
  110. package/datepicker/sub-components/chronos/i18n/da.d.ts +0 -2
  111. package/datepicker/sub-components/chronos/i18n/de.d.ts +0 -2
  112. package/datepicker/sub-components/chronos/i18n/en-gb.d.ts +0 -2
  113. package/datepicker/sub-components/chronos/i18n/es-do.d.ts +0 -2
  114. package/datepicker/sub-components/chronos/i18n/es-us.d.ts +0 -2
  115. package/datepicker/sub-components/chronos/i18n/es.d.ts +0 -2
  116. package/datepicker/sub-components/chronos/i18n/et.d.ts +0 -2
  117. package/datepicker/sub-components/chronos/i18n/fi.d.ts +0 -2
  118. package/datepicker/sub-components/chronos/i18n/fr.d.ts +0 -2
  119. package/datepicker/sub-components/chronos/i18n/gl.d.ts +0 -2
  120. package/datepicker/sub-components/chronos/i18n/he.d.ts +0 -2
  121. package/datepicker/sub-components/chronos/i18n/hi.d.ts +0 -2
  122. package/datepicker/sub-components/chronos/i18n/hr.d.ts +0 -2
  123. package/datepicker/sub-components/chronos/i18n/hu.d.ts +0 -2
  124. package/datepicker/sub-components/chronos/i18n/id.d.ts +0 -2
  125. package/datepicker/sub-components/chronos/i18n/it.d.ts +0 -2
  126. package/datepicker/sub-components/chronos/i18n/ja.d.ts +0 -2
  127. package/datepicker/sub-components/chronos/i18n/ka.d.ts +0 -2
  128. package/datepicker/sub-components/chronos/i18n/kk.d.ts +0 -2
  129. package/datepicker/sub-components/chronos/i18n/ko.d.ts +0 -2
  130. package/datepicker/sub-components/chronos/i18n/lt.d.ts +0 -2
  131. package/datepicker/sub-components/chronos/i18n/lv.d.ts +0 -2
  132. package/datepicker/sub-components/chronos/i18n/mn.d.ts +0 -2
  133. package/datepicker/sub-components/chronos/i18n/nb.d.ts +0 -2
  134. package/datepicker/sub-components/chronos/i18n/nl-be.d.ts +0 -2
  135. package/datepicker/sub-components/chronos/i18n/nl.d.ts +0 -2
  136. package/datepicker/sub-components/chronos/i18n/pl.d.ts +0 -2
  137. package/datepicker/sub-components/chronos/i18n/pt-br.d.ts +0 -2
  138. package/datepicker/sub-components/chronos/i18n/ro.d.ts +0 -2
  139. package/datepicker/sub-components/chronos/i18n/ru.d.ts +0 -2
  140. package/datepicker/sub-components/chronos/i18n/sk.d.ts +0 -2
  141. package/datepicker/sub-components/chronos/i18n/sl.d.ts +0 -2
  142. package/datepicker/sub-components/chronos/i18n/sq.d.ts +0 -2
  143. package/datepicker/sub-components/chronos/i18n/sv.d.ts +0 -2
  144. package/datepicker/sub-components/chronos/i18n/th-be.d.ts +0 -2
  145. package/datepicker/sub-components/chronos/i18n/th.d.ts +0 -2
  146. package/datepicker/sub-components/chronos/i18n/tr.d.ts +0 -2
  147. package/datepicker/sub-components/chronos/i18n/uk.d.ts +0 -2
  148. package/datepicker/sub-components/chronos/i18n/vi.d.ts +0 -2
  149. package/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +0 -2
  150. package/datepicker/sub-components/chronos/index.d.ts +0 -1
  151. package/datepicker/sub-components/chronos/locale/calendar.d.ts +0 -8
  152. package/datepicker/sub-components/chronos/locale/locale.class.d.ts +0 -143
  153. package/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +0 -11
  154. package/datepicker/sub-components/chronos/locale/locales.d.ts +0 -7
  155. package/datepicker/sub-components/chronos/moment/add-subtract.d.ts +0 -5
  156. package/datepicker/sub-components/chronos/moment/calendar.d.ts +0 -15
  157. package/datepicker/sub-components/chronos/moment/diff.d.ts +0 -3
  158. package/datepicker/sub-components/chronos/moment/min-max.d.ts +0 -2
  159. package/datepicker/sub-components/chronos/parse/regex.d.ts +0 -22
  160. package/datepicker/sub-components/chronos/parse/token.d.ts +0 -5
  161. package/datepicker/sub-components/chronos/public_api.d.ts +0 -57
  162. package/datepicker/sub-components/chronos/test/chain.d.ts +0 -214
  163. package/datepicker/sub-components/chronos/types.d.ts +0 -36
  164. package/datepicker/sub-components/chronos/units/aliases.d.ts +0 -7
  165. package/datepicker/sub-components/chronos/units/constants.d.ts +0 -9
  166. package/datepicker/sub-components/chronos/units/day-of-month.d.ts +0 -1
  167. package/datepicker/sub-components/chronos/units/day-of-week.d.ts +0 -20
  168. package/datepicker/sub-components/chronos/units/day-of-year.d.ts +0 -3
  169. package/datepicker/sub-components/chronos/units/hour.d.ts +0 -1
  170. package/datepicker/sub-components/chronos/units/index.d.ts +0 -18
  171. package/datepicker/sub-components/chronos/units/millisecond.d.ts +0 -1
  172. package/datepicker/sub-components/chronos/units/minute.d.ts +0 -1
  173. package/datepicker/sub-components/chronos/units/month.d.ts +0 -2
  174. package/datepicker/sub-components/chronos/units/offset.d.ts +0 -10
  175. package/datepicker/sub-components/chronos/units/priorities.d.ts +0 -1
  176. package/datepicker/sub-components/chronos/units/quarter.d.ts +0 -3
  177. package/datepicker/sub-components/chronos/units/second.d.ts +0 -1
  178. package/datepicker/sub-components/chronos/units/timestamp.d.ts +0 -1
  179. package/datepicker/sub-components/chronos/units/timezone.d.ts +0 -3
  180. package/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +0 -9
  181. package/datepicker/sub-components/chronos/units/week-year.d.ts +0 -8
  182. package/datepicker/sub-components/chronos/units/week.d.ts +0 -6
  183. package/datepicker/sub-components/chronos/units/year.d.ts +0 -4
  184. package/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +0 -1
  185. package/datepicker/sub-components/chronos/utils/abs-round.d.ts +0 -1
  186. package/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +0 -1
  187. package/datepicker/sub-components/chronos/utils/date-compare.d.ts +0 -9
  188. package/datepicker/sub-components/chronos/utils/date-getters.d.ts +0 -18
  189. package/datepicker/sub-components/chronos/utils/date-setters.d.ts +0 -12
  190. package/datepicker/sub-components/chronos/utils/defaults.d.ts +0 -1
  191. package/datepicker/sub-components/chronos/utils/start-end-of.d.ts +0 -3
  192. package/datepicker/sub-components/chronos/utils/type-checks.d.ts +0 -12
  193. package/datepicker/sub-components/chronos/utils/zero-fill.d.ts +0 -1
  194. package/datepicker/sub-components/chronos/utils.d.ts +0 -2
  195. package/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +0 -5
  196. package/datepicker/sub-components/component-loader/component-loader.class.d.ts +0 -75
  197. package/datepicker/sub-components/component-loader/component-loader.factory.d.ts +0 -18
  198. package/datepicker/sub-components/component-loader/content-ref.class.d.ts +0 -7
  199. package/datepicker/sub-components/component-loader/index.d.ts +0 -1
  200. package/datepicker/sub-components/component-loader/listen-options.model.d.ts +0 -11
  201. package/datepicker/sub-components/component-loader/public_api.d.ts +0 -4
  202. package/datepicker/sub-components/mini-ngrx/index.d.ts +0 -1
  203. package/datepicker/sub-components/mini-ngrx/public_api.d.ts +0 -7
  204. package/datepicker/sub-components/mini-ngrx/state.class.d.ts +0 -8
  205. package/datepicker/sub-components/mini-ngrx/store.class.d.ts +0 -16
  206. package/datepicker/sub-components/positioning/index.d.ts +0 -1
  207. package/datepicker/sub-components/positioning/models/index.d.ts +0 -41
  208. package/datepicker/sub-components/positioning/modifiers/arrow.d.ts +0 -2
  209. package/datepicker/sub-components/positioning/modifiers/flip.d.ts +0 -2
  210. package/datepicker/sub-components/positioning/modifiers/index.d.ts +0 -5
  211. package/datepicker/sub-components/positioning/modifiers/initData.d.ts +0 -2
  212. package/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +0 -2
  213. package/datepicker/sub-components/positioning/modifiers/shift.d.ts +0 -2
  214. package/datepicker/sub-components/positioning/ng-positioning.d.ts +0 -8
  215. package/datepicker/sub-components/positioning/positioning.service.d.ts +0 -45
  216. package/datepicker/sub-components/positioning/public_api.d.ts +0 -2
  217. package/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +0 -2
  218. package/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  219. package/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +0 -4
  220. package/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +0 -1
  221. package/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +0 -2
  222. package/datepicker/sub-components/positioning/utils/getClientRect.d.ts +0 -5
  223. package/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  224. package/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +0 -1
  225. package/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  226. package/datepicker/sub-components/positioning/utils/getOffsets.d.ts +0 -2
  227. package/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +0 -4
  228. package/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +0 -4
  229. package/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +0 -7
  230. package/datepicker/sub-components/positioning/utils/getParentNode.d.ts +0 -4
  231. package/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +0 -2
  232. package/datepicker/sub-components/positioning/utils/getRoot.d.ts +0 -4
  233. package/datepicker/sub-components/positioning/utils/getScroll.d.ts +0 -4
  234. package/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +0 -1
  235. package/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +0 -4
  236. package/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +0 -2
  237. package/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  238. package/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +0 -4
  239. package/datepicker/sub-components/positioning/utils/includeScroll.d.ts +0 -2
  240. package/datepicker/sub-components/positioning/utils/index.d.ts +0 -23
  241. package/datepicker/sub-components/positioning/utils/isBrowser.d.ts +0 -1
  242. package/datepicker/sub-components/positioning/utils/isFixed.d.ts +0 -1
  243. package/datepicker/sub-components/positioning/utils/isIE.d.ts +0 -1
  244. package/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +0 -4
  245. package/datepicker/sub-components/positioning/utils/isNumeric.d.ts +0 -4
  246. package/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +0 -1
  247. package/datepicker/sub-components/positioning/utils/setStyles.d.ts +0 -5
  248. package/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +0 -6
  249. package/datepicker/sub-components/tooltip/index.d.ts +0 -1
  250. package/datepicker/sub-components/tooltip/public_api.d.ts +0 -4
  251. package/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +0 -14
  252. package/datepicker/sub-components/tooltip/tooltip.config.d.ts +0 -13
  253. package/datepicker/sub-components/tooltip/tooltip.directive.d.ts +0 -109
  254. package/datepicker/sub-components/tooltip/tooltip.module.d.ts +0 -4
  255. package/datepicker/sub-components/utils/decorators.d.ts +0 -1
  256. package/datepicker/sub-components/utils/facade/browser.d.ts +0 -23
  257. package/datepicker/sub-components/utils/index.d.ts +0 -1
  258. package/datepicker/sub-components/utils/linked-list.class.d.ts +0 -26
  259. package/datepicker/sub-components/utils/public_api.d.ts +0 -10
  260. package/datepicker/sub-components/utils/theme-provider.d.ts +0 -2
  261. package/datepicker/sub-components/utils/trigger.class.d.ts +0 -6
  262. package/datepicker/sub-components/utils/triggers.d.ts +0 -18
  263. package/datepicker/sub-components/utils/utils.class.d.ts +0 -4
  264. package/datepicker/sub-components/utils/warn-once.d.ts +0 -1
  265. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -2
  266. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -3
  267. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -14
  268. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -33
  269. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -11
  270. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -10
  271. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -9
  272. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -37
  273. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -10
  274. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -23
  275. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -13
  276. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -5
  277. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -13
  278. package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
  279. package/datepicker/utils/matrix-utils.d.ts +0 -9
  280. package/datepicker/yearpicker.component.d.ts +0 -11
  281. package/esm2015/datepicker/base/bs-datepicker-container.js +0 -47
  282. package/esm2015/datepicker/bs-datepicker-inline.component.js +0 -132
  283. package/esm2015/datepicker/bs-datepicker-inline.config.js +0 -12
  284. package/esm2015/datepicker/bs-datepicker-input.directive.js +0 -159
  285. package/esm2015/datepicker/bs-datepicker.component.js +0 -238
  286. package/esm2015/datepicker/bs-datepicker.config.js +0 -85
  287. package/esm2015/datepicker/bs-datepicker.module.js +0 -101
  288. package/esm2015/datepicker/bs-daterangepicker-inline.component.js +0 -129
  289. package/esm2015/datepicker/bs-daterangepicker-inline.config.js +0 -19
  290. package/esm2015/datepicker/bs-daterangepicker-input.directive.js +0 -191
  291. package/esm2015/datepicker/bs-daterangepicker.component.js +0 -227
  292. package/esm2015/datepicker/bs-daterangepicker.config.js +0 -17
  293. package/esm2015/datepicker/bs-locale.service.js +0 -28
  294. package/esm2015/datepicker/date-formatter.js +0 -7
  295. package/esm2015/datepicker/datepicker-animations.js +0 -16
  296. package/esm2015/datepicker/datepicker-inner.component.js +0 -282
  297. package/esm2015/datepicker/datepicker.component.js +0 -140
  298. package/esm2015/datepicker/datepicker.config.js +0 -30
  299. package/esm2015/datepicker/datepicker.module.js +0 -35
  300. package/esm2015/datepicker/daypicker.component.js +0 -174
  301. package/esm2015/datepicker/engine/calc-days-calendar.js +0 -19
  302. package/esm2015/datepicker/engine/flag-days-calendar.js +0 -91
  303. package/esm2015/datepicker/engine/flag-months-calendar.js +0 -41
  304. package/esm2015/datepicker/engine/flag-years-calendar.js +0 -39
  305. package/esm2015/datepicker/engine/format-days-calendar.js +0 -29
  306. package/esm2015/datepicker/engine/format-months-calendar.js +0 -19
  307. package/esm2015/datepicker/engine/format-years-calendar.js +0 -35
  308. package/esm2015/datepicker/engine/view-mode.js +0 -4
  309. package/esm2015/datepicker/index.js +0 -2
  310. package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +0 -25
  311. package/esm2015/datepicker/models/index.js +0 -9
  312. package/esm2015/datepicker/monthpicker.component.js +0 -87
  313. package/esm2015/datepicker/public_api.js +0 -26
  314. package/esm2015/datepicker/reducer/_defaults.js +0 -5
  315. package/esm2015/datepicker/reducer/bs-datepicker.actions.js +0 -132
  316. package/esm2015/datepicker/reducer/bs-datepicker.effects.js +0 -170
  317. package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +0 -302
  318. package/esm2015/datepicker/reducer/bs-datepicker.state.js +0 -12
  319. package/esm2015/datepicker/reducer/bs-datepicker.store.js +0 -19
  320. package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +0 -30
  321. package/esm2015/datepicker/sub-components/chronos/create/clone.js +0 -6
  322. package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +0 -17
  323. package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +0 -107
  324. package/esm2015/datepicker/sub-components/chronos/create/from-array.js +0 -136
  325. package/esm2015/datepicker/sub-components/chronos/create/from-object.js +0 -17
  326. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +0 -38
  327. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +0 -106
  328. package/esm2015/datepicker/sub-components/chronos/create/from-string.js +0 -227
  329. package/esm2015/datepicker/sub-components/chronos/create/local.js +0 -16
  330. package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +0 -26
  331. package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +0 -2
  332. package/esm2015/datepicker/sub-components/chronos/create/valid.js +0 -42
  333. package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +0 -47
  334. package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +0 -130
  335. package/esm2015/datepicker/sub-components/chronos/duration/create.js +0 -113
  336. package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +0 -80
  337. package/esm2015/datepicker/sub-components/chronos/duration/valid.js +0 -45
  338. package/esm2015/datepicker/sub-components/chronos/format/format.js +0 -51
  339. package/esm2015/datepicker/sub-components/chronos/format.js +0 -46
  340. package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +0 -131
  341. package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +0 -96
  342. package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +0 -91
  343. package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +0 -181
  344. package/esm2015/datepicker/sub-components/chronos/i18n/da.js +0 -50
  345. package/esm2015/datepicker/sub-components/chronos/i18n/de.js +0 -72
  346. package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +0 -61
  347. package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +0 -85
  348. package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +0 -79
  349. package/esm2015/datepicker/sub-components/chronos/i18n/es.js +0 -84
  350. package/esm2015/datepicker/sub-components/chronos/i18n/et.js +0 -75
  351. package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +0 -100
  352. package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +0 -76
  353. package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +0 -84
  354. package/esm2015/datepicker/sub-components/chronos/i18n/he.js +0 -98
  355. package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +0 -124
  356. package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +0 -62
  357. package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +0 -104
  358. package/esm2015/datepicker/sub-components/chronos/i18n/id.js +0 -83
  359. package/esm2015/datepicker/sub-components/chronos/i18n/it.js +0 -65
  360. package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +0 -75
  361. package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +0 -87
  362. package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +0 -76
  363. package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +0 -77
  364. package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +0 -116
  365. package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +0 -56
  366. package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +0 -99
  367. package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +0 -53
  368. package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +0 -81
  369. package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +0 -80
  370. package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +0 -126
  371. package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +0 -56
  372. package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +0 -66
  373. package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +0 -181
  374. package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +0 -157
  375. package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +0 -184
  376. package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +0 -54
  377. package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +0 -63
  378. package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +0 -74
  379. package/esm2015/datepicker/sub-components/chronos/i18n/th.js +0 -59
  380. package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +0 -82
  381. package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +0 -147
  382. package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +0 -74
  383. package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +0 -114
  384. package/esm2015/datepicker/sub-components/chronos/index.js +0 -2
  385. package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +0 -9
  386. package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +0 -532
  387. package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +0 -40
  388. package/esm2015/datepicker/sub-components/chronos/locale/locales.js +0 -229
  389. package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +0 -35
  390. package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +0 -41
  391. package/esm2015/datepicker/sub-components/chronos/moment/diff.js +0 -70
  392. package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +0 -38
  393. package/esm2015/datepicker/sub-components/chronos/parse/regex.js +0 -49
  394. package/esm2015/datepicker/sub-components/chronos/parse/token.js +0 -32
  395. package/esm2015/datepicker/sub-components/chronos/public_api.js +0 -56
  396. package/esm2015/datepicker/sub-components/chronos/test/chain.js +0 -711
  397. package/esm2015/datepicker/sub-components/chronos/types.js +0 -2
  398. package/esm2015/datepicker/sub-components/chronos/units/aliases.js +0 -35
  399. package/esm2015/datepicker/sub-components/chronos/units/constants.js +0 -11
  400. package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +0 -31
  401. package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +0 -129
  402. package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +0 -37
  403. package/esm2015/datepicker/sub-components/chronos/units/hour.js +0 -127
  404. package/esm2015/datepicker/sub-components/chronos/units/index.js +0 -19
  405. package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +0 -60
  406. package/esm2015/datepicker/sub-components/chronos/units/minute.js +0 -23
  407. package/esm2015/datepicker/sub-components/chronos/units/month.js +0 -63
  408. package/esm2015/datepicker/sub-components/chronos/units/offset.js +0 -210
  409. package/esm2015/datepicker/sub-components/chronos/units/priorities.js +0 -21
  410. package/esm2015/datepicker/sub-components/chronos/units/quarter.js +0 -39
  411. package/esm2015/datepicker/sub-components/chronos/units/second.js +0 -23
  412. package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +0 -28
  413. package/esm2015/datepicker/sub-components/chronos/units/timezone.js +0 -19
  414. package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +0 -70
  415. package/esm2015/datepicker/sub-components/chronos/units/week-year.js +0 -101
  416. package/esm2015/datepicker/sub-components/chronos/units/week.js +0 -58
  417. package/esm2015/datepicker/sub-components/chronos/units/year.js +0 -60
  418. package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +0 -4
  419. package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +0 -4
  420. package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +0 -16
  421. package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +0 -55
  422. package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +0 -67
  423. package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +0 -75
  424. package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +0 -11
  425. package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +0 -57
  426. package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +0 -56
  427. package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +0 -10
  428. package/esm2015/datepicker/sub-components/chronos/utils.js +0 -7
  429. package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +0 -3
  430. package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +0 -272
  431. package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +0 -32
  432. package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +0 -12
  433. package/esm2015/datepicker/sub-components/component-loader/index.js +0 -2
  434. package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +0 -2
  435. package/esm2015/datepicker/sub-components/component-loader/public_api.js +0 -5
  436. package/esm2015/datepicker/sub-components/mini-ngrx/index.js +0 -2
  437. package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +0 -3
  438. package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +0 -16
  439. package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +0 -43
  440. package/esm2015/datepicker/sub-components/positioning/index.js +0 -2
  441. package/esm2015/datepicker/sub-components/positioning/models/index.js +0 -2
  442. package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +0 -56
  443. package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +0 -60
  444. package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +0 -6
  445. package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +0 -42
  446. package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +0 -56
  447. package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +0 -22
  448. package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +0 -30
  449. package/esm2015/datepicker/sub-components/positioning/positioning.service.js +0 -71
  450. package/esm2015/datepicker/sub-components/positioning/public_api.js +0 -3
  451. package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +0 -53
  452. package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +0 -40
  453. package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +0 -10
  454. package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +0 -56
  455. package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +0 -55
  456. package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +0 -4
  457. package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +0 -17
  458. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +0 -32
  459. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +0 -51
  460. package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +0 -11
  461. package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +0 -8
  462. package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +0 -13
  463. package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +0 -14
  464. package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +0 -10
  465. package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +0 -13
  466. package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +0 -10
  467. package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +0 -14
  468. package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +0 -26
  469. package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +0 -13
  470. package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +0 -30
  471. package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  472. package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +0 -18
  473. package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +0 -15
  474. package/esm2015/datepicker/sub-components/positioning/utils/index.js +0 -24
  475. package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +0 -2
  476. package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +0 -16
  477. package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +0 -16
  478. package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +0 -10
  479. package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +0 -7
  480. package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +0 -9
  481. package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +0 -17
  482. package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +0 -22
  483. package/esm2015/datepicker/sub-components/tooltip/index.js +0 -2
  484. package/esm2015/datepicker/sub-components/tooltip/public_api.js +0 -5
  485. package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +0 -63
  486. package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +0 -22
  487. package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +0 -282
  488. package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +0 -23
  489. package/esm2015/datepicker/sub-components/utils/decorators.js +0 -25
  490. package/esm2015/datepicker/sub-components/utils/facade/browser.js +0 -24
  491. package/esm2015/datepicker/sub-components/utils/index.js +0 -2
  492. package/esm2015/datepicker/sub-components/utils/linked-list.class.js +0 -240
  493. package/esm2015/datepicker/sub-components/utils/public_api.js +0 -11
  494. package/esm2015/datepicker/sub-components/utils/theme-provider.js +0 -35
  495. package/esm2015/datepicker/sub-components/utils/trigger.class.js +0 -10
  496. package/esm2015/datepicker/sub-components/utils/triggers.js +0 -110
  497. package/esm2015/datepicker/sub-components/utils/utils.class.js +0 -21
  498. package/esm2015/datepicker/sub-components/utils/warn-once.js +0 -12
  499. package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +0 -25
  500. package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +0 -13
  501. package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -44
  502. package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +0 -152
  503. package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  504. package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  505. package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  506. package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -195
  507. package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  508. package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -162
  509. package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -60
  510. package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +0 -34
  511. package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -61
  512. package/esm2015/datepicker/utils/bs-calendar-utils.js +0 -43
  513. package/esm2015/datepicker/utils/matrix-utils.js +0 -14
  514. package/esm2015/datepicker/yearpicker.component.js +0 -90
  515. package/fesm2015/mis-crystal-design-system-datepicker.js +0 -13512
  516. package/fesm2015/mis-crystal-design-system-datepicker.js.map +0 -1
@@ -1,302 +0,0 @@
1
- // tslint:disable:max-file-line-count
2
- import { initialDatePickerState } from './bs-datepicker.state';
3
- import { MisDatePickerActions } from './bs-datepicker.actions';
4
- import { calcDaysCalendar } from '../engine/calc-days-calendar';
5
- import { formatDaysCalendar } from '../engine/format-days-calendar';
6
- import { flagDaysCalendar } from '../engine/flag-days-calendar';
7
- import { setFullDate, shiftDate, isArray, isDateValid, startOf, getLocale, isAfter, isBefore, isSame } from '../sub-components/chronos';
8
- import { canSwitchMode } from '../engine/view-mode';
9
- import { formatMonthsCalendar } from '../engine/format-months-calendar';
10
- import { flagMonthsCalendar } from '../engine/flag-months-calendar';
11
- import { formatYearsCalendar, initialYearShift, yearsPerCalendar } from '../engine/format-years-calendar';
12
- import { flagYearsCalendar } from '../engine/flag-years-calendar';
13
- import { getYearsCalendarInitialDate } from '../utils/bs-calendar-utils';
14
- /* tslint:disable-next-line: cyclomatic-complexity */
15
- export function misDatePickerReducer(state = initialDatePickerState, action) {
16
- switch (action.type) {
17
- case MisDatePickerActions.CALCULATE: {
18
- return calculateReducer(state);
19
- }
20
- case MisDatePickerActions.FORMAT: {
21
- return formatReducer(state, action);
22
- }
23
- case MisDatePickerActions.FLAG: {
24
- return flagReducer(state, action);
25
- }
26
- case MisDatePickerActions.NAVIGATE_OFFSET: {
27
- return navigateOffsetReducer(state, action);
28
- }
29
- case MisDatePickerActions.NAVIGATE_TO: {
30
- const payload = action.payload;
31
- const date = setFullDate(state.view.date, payload.unit);
32
- let newState;
33
- let mode;
34
- if (canSwitchMode(payload.viewMode, state.minMode)) {
35
- mode = payload.viewMode;
36
- newState = { view: { date, mode } };
37
- }
38
- else {
39
- mode = state.view.mode;
40
- newState = { selectedDate: date, view: { date, mode } };
41
- }
42
- return Object.assign({}, state, newState);
43
- }
44
- case MisDatePickerActions.CHANGE_VIEWMODE: {
45
- if (!canSwitchMode(action.payload, state.minMode)) {
46
- return state;
47
- }
48
- const date = state.view.date;
49
- const mode = action.payload;
50
- const newState = { view: { date, mode } };
51
- return Object.assign({}, state, newState);
52
- }
53
- case MisDatePickerActions.HOVER: {
54
- return Object.assign({}, state, { hoveredDate: action.payload });
55
- }
56
- case MisDatePickerActions.SELECT: {
57
- const newState = {
58
- selectedDate: action.payload,
59
- view: state.view
60
- };
61
- const mode = state.view.mode;
62
- const _date = action.payload || state.view.date;
63
- const date = getViewDate(_date, state.minDate, state.maxDate);
64
- newState.view = { mode, date };
65
- return Object.assign({}, state, newState);
66
- }
67
- case MisDatePickerActions.SET_OPTIONS: {
68
- const newState = action.payload;
69
- // preserve view mode
70
- const mode = newState.minMode ? newState.minMode : state.view.mode;
71
- const _viewDate = isDateValid(newState.value) && newState.value
72
- || isArray(newState.value) && isDateValid(newState.value[0]) && newState.value[0]
73
- || state.view.date;
74
- const date = getViewDate(_viewDate, newState.minDate, newState.maxDate);
75
- newState.view = { mode, date };
76
- // update selected value
77
- if (newState.value) {
78
- // if new value is array we work with date range
79
- if (isArray(newState.value)) {
80
- newState.selectedRange = newState.value;
81
- }
82
- // if new value is a date -> datepicker
83
- if (newState.value instanceof Date) {
84
- newState.selectedDate = newState.value;
85
- }
86
- // provided value is not supported :)
87
- // need to report it somehow
88
- }
89
- return Object.assign({}, state, newState);
90
- }
91
- // date range picker
92
- case MisDatePickerActions.SELECT_RANGE: {
93
- const newState = {
94
- selectedRange: action.payload,
95
- view: state.view
96
- };
97
- const mode = state.view.mode;
98
- const _date = action.payload && action.payload[0] || state.view.date;
99
- const date = getViewDate(_date, state.minDate, state.maxDate);
100
- newState.view = { mode, date };
101
- return Object.assign({}, state, newState);
102
- }
103
- case MisDatePickerActions.SET_MIN_DATE: {
104
- return Object.assign({}, state, {
105
- minDate: action.payload
106
- });
107
- }
108
- case MisDatePickerActions.SET_MAX_DATE: {
109
- return Object.assign({}, state, {
110
- maxDate: action.payload
111
- });
112
- }
113
- case MisDatePickerActions.SET_IS_DISABLED: {
114
- return Object.assign({}, state, {
115
- isDisabled: action.payload
116
- });
117
- }
118
- case MisDatePickerActions.SET_DATE_CUSTOM_CLASSES: {
119
- return Object.assign({}, state, {
120
- dateCustomClasses: action.payload
121
- });
122
- }
123
- case MisDatePickerActions.SET_DATE_TOOLTIP_TEXTS: {
124
- return Object.assign({}, state, {
125
- dateTooltipTexts: action.payload
126
- });
127
- }
128
- default:
129
- return state;
130
- }
131
- }
132
- function calculateReducer(state) {
133
- // how many calendars
134
- const displayMonths = (state.displayOneMonthRange &&
135
- isDisplayOneMonth(state.view.date, state.minDate, state.maxDate)) ? 1 : state.displayMonths;
136
- // use selected date on initial rendering if set
137
- let viewDate = state.view.date;
138
- if (state.view.mode === 'day') {
139
- if (state.showPreviousMonth && state.selectedRange && state.selectedRange.length === 0) {
140
- viewDate = shiftDate(viewDate, { month: -1 });
141
- }
142
- state.monthViewOptions.firstDayOfWeek = getLocale(state.locale).firstDayOfWeek();
143
- const monthsModel = new Array(displayMonths);
144
- for (let monthIndex = 0; monthIndex < displayMonths; monthIndex++) {
145
- // todo: for unlinked calendars it will be harder
146
- monthsModel[monthIndex] = calcDaysCalendar(viewDate, state.monthViewOptions);
147
- viewDate = shiftDate(viewDate, { month: 1 });
148
- }
149
- return Object.assign({}, state, { monthsModel });
150
- }
151
- if (state.view.mode === 'month') {
152
- const monthsCalendar = new Array(displayMonths);
153
- for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
154
- // todo: for unlinked calendars it will be harder
155
- monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));
156
- viewDate = shiftDate(viewDate, { year: 1 });
157
- }
158
- return Object.assign({}, state, { monthsCalendar });
159
- }
160
- if (state.view.mode === 'year') {
161
- const yearsCalendarModel = new Array(displayMonths);
162
- for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
163
- // todo: for unlinked calendars it will be harder
164
- yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state), state.minMode === 'year' ? getYearsCalendarInitialDate(state, calendarIndex) : undefined);
165
- viewDate = shiftDate(viewDate, { year: yearsPerCalendar });
166
- }
167
- return Object.assign({}, state, { yearsCalendarModel });
168
- }
169
- return state;
170
- }
171
- function formatReducer(state, action) {
172
- if (state.view.mode === 'day') {
173
- const formattedMonths = state.monthsModel.map((month, monthIndex) => formatDaysCalendar(month, getFormatOptions(state), monthIndex));
174
- return Object.assign({}, state, { formattedMonths });
175
- }
176
- // how many calendars
177
- const displayMonths = state.displayMonths;
178
- // check initial rendering
179
- // use selected date on initial rendering if set
180
- let viewDate = state.view.date;
181
- if (state.view.mode === 'month') {
182
- const monthsCalendar = new Array(displayMonths);
183
- for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
184
- // todo: for unlinked calendars it will be harder
185
- monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));
186
- viewDate = shiftDate(viewDate, { year: 1 });
187
- }
188
- return Object.assign({}, state, { monthsCalendar });
189
- }
190
- if (state.view.mode === 'year') {
191
- const yearsCalendarModel = new Array(displayMonths);
192
- for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
193
- // todo: for unlinked calendars it will be harder
194
- yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state));
195
- viewDate = shiftDate(viewDate, { year: 16 });
196
- }
197
- return Object.assign({}, state, { yearsCalendarModel });
198
- }
199
- return state;
200
- }
201
- function flagReducer(state, action) {
202
- const displayMonths = isDisplayOneMonth(state.view.date, state.minDate, state.maxDate) ? 1 : state.displayMonths;
203
- if (state.view.mode === 'day') {
204
- const flaggedMonths = state.formattedMonths.map((formattedMonth, monthIndex) => flagDaysCalendar(formattedMonth, {
205
- isDisabled: state.isDisabled,
206
- minDate: state.minDate,
207
- maxDate: state.maxDate,
208
- daysDisabled: state.daysDisabled,
209
- datesDisabled: state.datesDisabled,
210
- datesEnabled: state.datesEnabled,
211
- hoveredDate: state.hoveredDate,
212
- selectedDate: state.selectedDate,
213
- selectedRange: state.selectedRange,
214
- displayMonths,
215
- dateCustomClasses: state.dateCustomClasses,
216
- dateTooltipTexts: state.dateTooltipTexts,
217
- monthIndex
218
- }));
219
- return Object.assign({}, state, { flaggedMonths });
220
- }
221
- if (state.view.mode === 'month') {
222
- const flaggedMonthsCalendar = state.monthsCalendar.map((formattedMonth, monthIndex) => flagMonthsCalendar(formattedMonth, {
223
- isDisabled: state.isDisabled,
224
- minDate: state.minDate,
225
- maxDate: state.maxDate,
226
- hoveredMonth: state.hoveredMonth,
227
- selectedDate: state.selectedDate,
228
- selectedRange: state.selectedRange,
229
- displayMonths,
230
- monthIndex
231
- }));
232
- return Object.assign({}, state, { flaggedMonthsCalendar });
233
- }
234
- if (state.view.mode === 'year') {
235
- const yearsCalendarFlagged = state.yearsCalendarModel.map((formattedMonth, yearIndex) => flagYearsCalendar(formattedMonth, {
236
- isDisabled: state.isDisabled,
237
- minDate: state.minDate,
238
- maxDate: state.maxDate,
239
- hoveredYear: state.hoveredYear,
240
- selectedDate: state.selectedDate,
241
- selectedRange: state.selectedRange,
242
- displayMonths,
243
- yearIndex
244
- }));
245
- return Object.assign({}, state, { yearsCalendarFlagged });
246
- }
247
- return state;
248
- }
249
- function navigateOffsetReducer(state, action) {
250
- const newState = {
251
- view: {
252
- mode: state.view.mode,
253
- date: shiftViewDate(state, action)
254
- }
255
- };
256
- return Object.assign({}, state, newState);
257
- }
258
- function shiftViewDate(state, action) {
259
- if (state.view.mode === 'year' && state.minMode === 'year') {
260
- const initialDate = getYearsCalendarInitialDate(state, 0);
261
- const middleDate = shiftDate(initialDate, { year: -initialYearShift });
262
- return shiftDate(middleDate, action.payload);
263
- }
264
- return shiftDate(startOf(state.view.date, 'month'), action.payload);
265
- }
266
- function getFormatOptions(state) {
267
- return {
268
- locale: state.locale,
269
- monthTitle: state.monthTitle,
270
- yearTitle: state.yearTitle,
271
- dayLabel: state.dayLabel,
272
- monthLabel: state.monthLabel,
273
- yearLabel: state.yearLabel,
274
- weekNumbers: state.weekNumbers
275
- };
276
- }
277
- /**
278
- * if view date is provided (bsValue|ngModel) it should be shown
279
- * if view date is not provider:
280
- * if minDate>currentDate (default view value), show minDate
281
- * if maxDate<currentDate(default view value) show maxDate
282
- */
283
- function getViewDate(viewDate, minDate, maxDate) {
284
- const _date = Array.isArray(viewDate) ? viewDate[0] : viewDate;
285
- if (minDate && isAfter(minDate, _date, 'day')) {
286
- return minDate;
287
- }
288
- if (maxDate && isBefore(maxDate, _date, 'day')) {
289
- return maxDate;
290
- }
291
- return _date;
292
- }
293
- function isDisplayOneMonth(viewDate, minDate, maxDate) {
294
- if (maxDate && isSame(maxDate, viewDate, 'day')) {
295
- return true;
296
- }
297
- if (minDate && maxDate && minDate.getMonth() === maxDate.getMonth()) {
298
- return true;
299
- }
300
- return false;
301
- }
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9yZWR1Y2VyL2JzLWRhdGVwaWNrZXIucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUM7QUFDckMsT0FBTyxFQUFzQixzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd6RSxxREFBcUQ7QUFDckQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQUssR0FBRyxzQkFBc0IsRUFDL0Is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SUFBSSxPQUFPLElBQUksT0FBTyxJQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDcEUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm1heC1maWxlLWxpbmUtY291bnRcbmltcG9ydCB7IE1pc0RhdGVQaWNrZXJTdGF0ZSwgaW5pdGlhbERhdGVQaWNrZXJTdGF0ZSB9IGZyb20gJy4vYnMtZGF0ZXBpY2tlci5zdGF0ZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9zdWItY29tcG9uZW50cy9taW5pLW5ncngnO1xuaW1wb3J0IHsgTWlzRGF0ZVBpY2tlckFjdGlvbnMgfSBmcm9tICcuL2JzLWRhdGVwaWNrZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBjYWxjRGF5c0NhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2NhbGMtZGF5cy1jYWxlbmRhcic7XG5pbXBvcnQgeyBmb3JtYXREYXlzQ2FsZW5kYXIgfSBmcm9tICcuLi9lbmdpbmUvZm9ybWF0LWRheXMtY2FsZW5kYXInO1xuaW1wb3J0IHsgZmxhZ0RheXNDYWxlbmRhciB9IGZyb20gJy4uL2VuZ2luZS9mbGFnLWRheXMtY2FsZW5kYXInO1xuaW1wb3J0IHtcbiAgc2V0RnVsbERhdGUsXG4gIHNoaWZ0RGF0ZSxcbiAgaXNBcnJheSxcbiAgaXNEYXRlVmFsaWQsXG4gIHN0YXJ0T2YsXG4gIGdldExvY2FsZSxcbiAgaXNBZnRlcixcbiAgaXNCZWZvcmUsXG4gIGlzU2FtZVxufSBmcm9tICcuLi9zdWItY29tcG9uZW50cy9jaHJvbm9zJztcbmltcG9ydCB7IGNhblN3aXRjaE1vZGUgfSBmcm9tICcuLi9lbmdpbmUvdmlldy1tb2RlJztcbmltcG9ydCB7IGZvcm1hdE1vbnRoc0NhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2Zvcm1hdC1tb250aHMtY2FsZW5kYXInO1xuaW1wb3J0IHsgZmxhZ01vbnRoc0NhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2ZsYWctbW9udGhzLWNhbGVuZGFyJztcbmltcG9ydCB7IGZvcm1hdFllYXJzQ2FsZW5kYXIsIGluaXRpYWxZZWFyU2hpZnQsIHllYXJzUGVyQ2FsZW5kYXIgfSBmcm9tICcuLi9lbmdpbmUvZm9ybWF0LXllYXJzLWNhbGVuZGFyJztcbmltcG9ydCB7IGZsYWdZZWFyc0NhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2ZsYWcteWVhcnMtY2FsZW5kYXInO1xuaW1wb3J0IHsgQnNWaWV3TmF2aWdhdGlvbkV2ZW50LCBEYXRlUGlja2VyRm9ybWF0T3B0aW9ucywgTWlzRGF0ZVBpY2tlclZpZXdNb2RlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGdldFllYXJzQ2FsZW5kYXJJbml0aWFsRGF0ZSB9IGZyb20gJy4uL3V0aWxzL2JzLWNhbGVuZGFyLXV0aWxzJztcblxuXG4vKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGN5Y2xvbWF0aWMtY29tcGxleGl0eSAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1pc0RhdGVQaWNrZXJSZWR1Y2VyKHN0YXRlID0gaW5pdGlhbERhdGVQaWNrZXJTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uKTogTWlzRGF0ZVBpY2tlclN0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuQ0FMQ1VMQVRFOiB7XG4gICAgICByZXR1cm4gY2FsY3VsYXRlUmVkdWNlcihzdGF0ZSk7XG4gICAgfVxuXG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5GT1JNQVQ6IHtcbiAgICAgIHJldHVybiBmb3JtYXRSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuRkxBRzoge1xuICAgICAgcmV0dXJuIGZsYWdSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuTkFWSUdBVEVfT0ZGU0VUOiB7XG4gICAgICByZXR1cm4gbmF2aWdhdGVPZmZzZXRSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuTkFWSUdBVEVfVE86IHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IEJzVmlld05hdmlnYXRpb25FdmVudCA9IGFjdGlvbi5wYXlsb2FkO1xuXG4gICAgICBjb25zdCBkYXRlID0gc2V0RnVsbERhdGUoc3RhdGUudmlldy5kYXRlLCBwYXlsb2FkLnVuaXQpO1xuICAgICAgbGV0IG5ld1N0YXRlO1xuICAgICAgbGV0IG1vZGU6IE1pc0RhdGVQaWNrZXJWaWV3TW9kZTtcbiAgICAgIGlmIChjYW5Td2l0Y2hNb2RlKHBheWxvYWQudmlld01vZGUsIHN0YXRlLm1pbk1vZGUpKSB7XG4gICAgICAgIG1vZGUgPSBwYXlsb2FkLnZpZXdNb2RlO1xuICAgICAgICBuZXdTdGF0ZSA9IHsgdmlldzogeyBkYXRlLCBtb2RlIH0gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZGUgPSBzdGF0ZS52aWV3Lm1vZGU7XG4gICAgICAgIG5ld1N0YXRlID0geyBzZWxlY3RlZERhdGU6IGRhdGUsIHZpZXc6IHsgZGF0ZSwgbW9kZSB9IH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV3U3RhdGUpO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuQ0hBTkdFX1ZJRVdNT0RFOiB7XG4gICAgICBpZiAoIWNhblN3aXRjaE1vZGUoYWN0aW9uLnBheWxvYWQsIHN0YXRlLm1pbk1vZGUpKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGUgPSBzdGF0ZS52aWV3LmRhdGU7XG4gICAgICBjb25zdCBtb2RlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHsgdmlldzogeyBkYXRlLCBtb2RlIH0gfTtcblxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCBuZXdTdGF0ZSk7XG4gICAgfVxuXG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5IT1ZFUjoge1xuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGhvdmVyZWREYXRlOiBhY3Rpb24ucGF5bG9hZCB9KTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFTEVDVDoge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGVkRGF0ZTogYWN0aW9uLnBheWxvYWQsXG4gICAgICAgIHZpZXc6IHN0YXRlLnZpZXdcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vZGUgPSBzdGF0ZS52aWV3Lm1vZGU7XG4gICAgICBjb25zdCBfZGF0ZSA9IGFjdGlvbi5wYXlsb2FkIHx8IHN0YXRlLnZpZXcuZGF0ZTtcbiAgICAgIGNvbnN0IGRhdGUgPSBnZXRWaWV3RGF0ZShfZGF0ZSwgc3RhdGUubWluRGF0ZSwgc3RhdGUubWF4RGF0ZSk7XG4gICAgICBuZXdTdGF0ZS52aWV3ID0geyBtb2RlLCBkYXRlIH07XG5cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV3U3RhdGUpO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuU0VUX09QVElPTlM6IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAvLyBwcmVzZXJ2ZSB2aWV3IG1vZGVcbiAgICAgIGNvbnN0IG1vZGUgPSBuZXdTdGF0ZS5taW5Nb2RlID8gbmV3U3RhdGUubWluTW9kZSA6IHN0YXRlLnZpZXcubW9kZTtcbiAgICAgIGNvbnN0IF92aWV3RGF0ZSA9IGlzRGF0ZVZhbGlkKG5ld1N0YXRlLnZhbHVlKSAmJiBuZXdTdGF0ZS52YWx1ZVxuICAgICAgICB8fCBpc0FycmF5KG5ld1N0YXRlLnZhbHVlKSAmJiBpc0RhdGVWYWxpZChuZXdTdGF0ZS52YWx1ZVswXSkgJiYgbmV3U3RhdGUudmFsdWVbMF1cbiAgICAgICAgfHwgc3RhdGUudmlldy5kYXRlO1xuICAgICAgY29uc3QgZGF0ZSA9IGdldFZpZXdEYXRlKF92aWV3RGF0ZSwgbmV3U3RhdGUubWluRGF0ZSwgbmV3U3RhdGUubWF4RGF0ZSk7XG4gICAgICBuZXdTdGF0ZS52aWV3ID0geyBtb2RlLCBkYXRlIH07XG4gICAgICAvLyB1cGRhdGUgc2VsZWN0ZWQgdmFsdWVcbiAgICAgIGlmIChuZXdTdGF0ZS52YWx1ZSkge1xuICAgICAgICAvLyBpZiBuZXcgdmFsdWUgaXMgYXJyYXkgd2Ugd29yayB3aXRoIGRhdGUgcmFuZ2VcbiAgICAgICAgaWYgKGlzQXJyYXkobmV3U3RhdGUudmFsdWUpKSB7XG4gICAgICAgICAgbmV3U3RhdGUuc2VsZWN0ZWRSYW5nZSA9IG5ld1N0YXRlLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgbmV3IHZhbHVlIGlzIGEgZGF0ZSAtPiBkYXRlcGlja2VyXG4gICAgICAgIGlmIChuZXdTdGF0ZS52YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICBuZXdTdGF0ZS5zZWxlY3RlZERhdGUgPSBuZXdTdGF0ZS52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHByb3ZpZGVkIHZhbHVlIGlzIG5vdCBzdXBwb3J0ZWQgOilcbiAgICAgICAgLy8gbmVlZCB0byByZXBvcnQgaXQgc29tZWhvd1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIG5ld1N0YXRlKTtcbiAgICB9XG5cbiAgICAvLyBkYXRlIHJhbmdlIHBpY2tlclxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuU0VMRUNUX1JBTkdFOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgc2VsZWN0ZWRSYW5nZTogYWN0aW9uLnBheWxvYWQsXG4gICAgICAgIHZpZXc6IHN0YXRlLnZpZXdcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1vZGUgPSBzdGF0ZS52aWV3Lm1vZGU7XG4gICAgICBjb25zdCBfZGF0ZSA9IGFjdGlvbi5wYXlsb2FkICYmIGFjdGlvbi5wYXlsb2FkWzBdIHx8IHN0YXRlLnZpZXcuZGF0ZTtcbiAgICAgIGNvbnN0IGRhdGUgPSBnZXRWaWV3RGF0ZShfZGF0ZSwgc3RhdGUubWluRGF0ZSwgc3RhdGUubWF4RGF0ZSk7XG4gICAgICBuZXdTdGF0ZS52aWV3ID0geyBtb2RlLCBkYXRlIH07XG5cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV3U3RhdGUpO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuU0VUX01JTl9EQVRFOiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHtcbiAgICAgICAgbWluRGF0ZTogYWN0aW9uLnBheWxvYWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFVF9NQVhfREFURToge1xuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7XG4gICAgICAgIG1heERhdGU6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5TRVRfSVNfRElTQUJMRUQ6IHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgICBpc0Rpc2FibGVkOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuU0VUX0RBVEVfQ1VTVE9NX0NMQVNTRVM6IHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgICBkYXRlQ3VzdG9tQ2xhc3NlczogYWN0aW9uLnBheWxvYWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFVF9EQVRFX1RPT0xUSVBfVEVYVFM6IHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgICBkYXRlVG9vbHRpcFRleHRzOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVSZWR1Y2VyKHN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUpOiBNaXNEYXRlUGlja2VyU3RhdGUge1xuICAvLyBob3cgbWFueSBjYWxlbmRhcnNcbiAgY29uc3QgZGlzcGxheU1vbnRocyA9IChzdGF0ZS5kaXNwbGF5T25lTW9udGhSYW5nZSAmJlxuICAgIGlzRGlzcGxheU9uZU1vbnRoKHN0YXRlLnZpZXcuZGF0ZSwgc3RhdGUubWluRGF0ZSwgc3RhdGUubWF4RGF0ZSkpID8gMSA6IHN0YXRlLmRpc3BsYXlNb250aHM7XG5cbiAgLy8gdXNlIHNlbGVjdGVkIGRhdGUgb24gaW5pdGlhbCByZW5kZXJpbmcgaWYgc2V0XG4gIGxldCB2aWV3RGF0ZSA9IHN0YXRlLnZpZXcuZGF0ZTtcblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAnZGF5Jykge1xuICAgIGlmIChzdGF0ZS5zaG93UHJldmlvdXNNb250aCAmJiBzdGF0ZS5zZWxlY3RlZFJhbmdlICYmIHN0YXRlLnNlbGVjdGVkUmFuZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICB2aWV3RGF0ZSA9IHNoaWZ0RGF0ZSh2aWV3RGF0ZSwgeyBtb250aDogLTEgfSk7XG4gICAgfVxuXG4gICAgc3RhdGUubW9udGhWaWV3T3B0aW9ucy5maXJzdERheU9mV2VlayA9IGdldExvY2FsZShzdGF0ZS5sb2NhbGUpLmZpcnN0RGF5T2ZXZWVrKCk7XG4gICAgY29uc3QgbW9udGhzTW9kZWwgPSBuZXcgQXJyYXkoZGlzcGxheU1vbnRocyk7XG4gICAgZm9yIChsZXQgbW9udGhJbmRleCA9IDA7IG1vbnRoSW5kZXggPCBkaXNwbGF5TW9udGhzOyBtb250aEluZGV4KyspIHtcbiAgICAgIC8vIHRvZG86IGZvciB1bmxpbmtlZCBjYWxlbmRhcnMgaXQgd2lsbCBiZSBoYXJkZXJcbiAgICAgIG1vbnRoc01vZGVsW21vbnRoSW5kZXhdID0gY2FsY0RheXNDYWxlbmRhcihcbiAgICAgICAgdmlld0RhdGUsXG4gICAgICAgIHN0YXRlLm1vbnRoVmlld09wdGlvbnNcbiAgICAgICk7XG4gICAgICB2aWV3RGF0ZSA9IHNoaWZ0RGF0ZSh2aWV3RGF0ZSwgeyBtb250aDogMSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgbW9udGhzTW9kZWwgfSk7XG4gIH1cblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgY29uc3QgbW9udGhzQ2FsZW5kYXIgPSBuZXcgQXJyYXkoZGlzcGxheU1vbnRocyk7XG4gICAgZm9yIChcbiAgICAgIGxldCBjYWxlbmRhckluZGV4ID0gMDtcbiAgICAgIGNhbGVuZGFySW5kZXggPCBkaXNwbGF5TW9udGhzO1xuICAgICAgY2FsZW5kYXJJbmRleCsrXG4gICAgKSB7XG4gICAgICAvLyB0b2RvOiBmb3IgdW5saW5rZWQgY2FsZW5kYXJzIGl0IHdpbGwgYmUgaGFyZGVyXG4gICAgICBtb250aHNDYWxlbmRhcltjYWxlbmRhckluZGV4XSA9IGZvcm1hdE1vbnRoc0NhbGVuZGFyKFxuICAgICAgICB2aWV3RGF0ZSxcbiAgICAgICAgZ2V0Rm9ybWF0T3B0aW9ucyhzdGF0ZSlcbiAgICAgICk7XG4gICAgICB2aWV3RGF0ZSA9IHNoaWZ0RGF0ZSh2aWV3RGF0ZSwgeyB5ZWFyOiAxIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBtb250aHNDYWxlbmRhciB9KTtcbiAgfVxuXG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICd5ZWFyJykge1xuICAgIGNvbnN0IHllYXJzQ2FsZW5kYXJNb2RlbCA9IG5ldyBBcnJheShkaXNwbGF5TW9udGhzKTtcblxuICAgIGZvciAoXG4gICAgICBsZXQgY2FsZW5kYXJJbmRleCA9IDA7XG4gICAgICBjYWxlbmRhckluZGV4IDwgZGlzcGxheU1vbnRocztcbiAgICAgIGNhbGVuZGFySW5kZXgrK1xuICAgICkge1xuICAgICAgLy8gdG9kbzogZm9yIHVubGlua2VkIGNhbGVuZGFycyBpdCB3aWxsIGJlIGhhcmRlclxuICAgICAgeWVhcnNDYWxlbmRhck1vZGVsW2NhbGVuZGFySW5kZXhdID0gZm9ybWF0WWVhcnNDYWxlbmRhcihcbiAgICAgICAgdmlld0RhdGUsXG4gICAgICAgIGdldEZvcm1hdE9wdGlvbnMoc3RhdGUpLFxuICAgICAgICBzdGF0ZS5taW5Nb2RlID09PSAneWVhcicgPyBnZXRZZWFyc0NhbGVuZGFySW5pdGlhbERhdGUoc3RhdGUsIGNhbGVuZGFySW5kZXgpIDogdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgdmlld0RhdGUgPSBzaGlmdERhdGUodmlld0RhdGUsIHsgeWVhcjogeWVhcnNQZXJDYWxlbmRhciB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgeWVhcnNDYWxlbmRhck1vZGVsIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRSZWR1Y2VyKHN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uKTogTWlzRGF0ZVBpY2tlclN0YXRlIHtcbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ2RheScpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWRNb250aHMgPSBzdGF0ZS5tb250aHNNb2RlbC5tYXAoKG1vbnRoLCBtb250aEluZGV4KSA9PlxuICAgICAgZm9ybWF0RGF5c0NhbGVuZGFyKG1vbnRoLCBnZXRGb3JtYXRPcHRpb25zKHN0YXRlKSwgbW9udGhJbmRleClcbiAgICApO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGZvcm1hdHRlZE1vbnRocyB9KTtcbiAgfVxuXG4gIC8vIGhvdyBtYW55IGNhbGVuZGFyc1xuICBjb25zdCBkaXNwbGF5TW9udGhzID0gc3RhdGUuZGlzcGxheU1vbnRocztcbiAgLy8gY2hlY2sgaW5pdGlhbCByZW5kZXJpbmdcbiAgLy8gdXNlIHNlbGVjdGVkIGRhdGUgb24gaW5pdGlhbCByZW5kZXJpbmcgaWYgc2V0XG4gIGxldCB2aWV3RGF0ZSA9IHN0YXRlLnZpZXcuZGF0ZTtcblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgY29uc3QgbW9udGhzQ2FsZW5kYXIgPSBuZXcgQXJyYXkoZGlzcGxheU1vbnRocyk7XG4gICAgZm9yIChcbiAgICAgIGxldCBjYWxlbmRhckluZGV4ID0gMDtcbiAgICAgIGNhbGVuZGFySW5kZXggPCBkaXNwbGF5TW9udGhzO1xuICAgICAgY2FsZW5kYXJJbmRleCsrXG4gICAgKSB7XG4gICAgICAvLyB0b2RvOiBmb3IgdW5saW5rZWQgY2FsZW5kYXJzIGl0IHdpbGwgYmUgaGFyZGVyXG4gICAgICBtb250aHNDYWxlbmRhcltjYWxlbmRhckluZGV4XSA9IGZvcm1hdE1vbnRoc0NhbGVuZGFyKFxuICAgICAgICB2aWV3RGF0ZSxcbiAgICAgICAgZ2V0Rm9ybWF0T3B0aW9ucyhzdGF0ZSlcbiAgICAgICk7XG4gICAgICB2aWV3RGF0ZSA9IHNoaWZ0RGF0ZSh2aWV3RGF0ZSwgeyB5ZWFyOiAxIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBtb250aHNDYWxlbmRhciB9KTtcbiAgfVxuXG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICd5ZWFyJykge1xuICAgIGNvbnN0IHllYXJzQ2FsZW5kYXJNb2RlbCA9IG5ldyBBcnJheShkaXNwbGF5TW9udGhzKTtcbiAgICBmb3IgKFxuICAgICAgbGV0IGNhbGVuZGFySW5kZXggPSAwO1xuICAgICAgY2FsZW5kYXJJbmRleCA8IGRpc3BsYXlNb250aHM7XG4gICAgICBjYWxlbmRhckluZGV4KytcbiAgICApIHtcbiAgICAgIC8vIHRvZG86IGZvciB1bmxpbmtlZCBjYWxlbmRhcnMgaXQgd2lsbCBiZSBoYXJkZXJcbiAgICAgIHllYXJzQ2FsZW5kYXJNb2RlbFtjYWxlbmRhckluZGV4XSA9IGZvcm1hdFllYXJzQ2FsZW5kYXIoXG4gICAgICAgIHZpZXdEYXRlLFxuICAgICAgICBnZXRGb3JtYXRPcHRpb25zKHN0YXRlKVxuICAgICAgKTtcbiAgICAgIHZpZXdEYXRlID0gc2hpZnREYXRlKHZpZXdEYXRlLCB7IHllYXI6IDE2IH0pO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyB5ZWFyc0NhbGVuZGFyTW9kZWwgfSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmZ1bmN0aW9uIGZsYWdSZWR1Y2VyKHN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFjdGlvbik6IE1pc0RhdGVQaWNrZXJTdGF0ZSB7XG4gIGNvbnN0IGRpc3BsYXlNb250aHMgPSBpc0Rpc3BsYXlPbmVNb250aChzdGF0ZS52aWV3LmRhdGUsIHN0YXRlLm1pbkRhdGUsIHN0YXRlLm1heERhdGUpID8gMSA6IHN0YXRlLmRpc3BsYXlNb250aHM7XG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICdkYXknKSB7XG4gICAgY29uc3QgZmxhZ2dlZE1vbnRocyA9IHN0YXRlLmZvcm1hdHRlZE1vbnRocy5tYXAoXG4gICAgICAoZm9ybWF0dGVkTW9udGgsIG1vbnRoSW5kZXgpID0+XG4gICAgICAgIGZsYWdEYXlzQ2FsZW5kYXIoZm9ybWF0dGVkTW9udGgsIHtcbiAgICAgICAgICBpc0Rpc2FibGVkOiBzdGF0ZS5pc0Rpc2FibGVkLFxuICAgICAgICAgIG1pbkRhdGU6IHN0YXRlLm1pbkRhdGUsXG4gICAgICAgICAgbWF4RGF0ZTogc3RhdGUubWF4RGF0ZSxcbiAgICAgICAgICBkYXlzRGlzYWJsZWQ6IHN0YXRlLmRheXNEaXNhYmxlZCxcbiAgICAgICAgICBkYXRlc0Rpc2FibGVkOiBzdGF0ZS5kYXRlc0Rpc2FibGVkLFxuICAgICAgICAgIGRhdGVzRW5hYmxlZDogc3RhdGUuZGF0ZXNFbmFibGVkLFxuICAgICAgICAgIGhvdmVyZWREYXRlOiBzdGF0ZS5ob3ZlcmVkRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZERhdGU6IHN0YXRlLnNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZFJhbmdlOiBzdGF0ZS5zZWxlY3RlZFJhbmdlLFxuICAgICAgICAgIGRpc3BsYXlNb250aHMsXG4gICAgICAgICAgZGF0ZUN1c3RvbUNsYXNzZXM6IHN0YXRlLmRhdGVDdXN0b21DbGFzc2VzLFxuICAgICAgICAgIGRhdGVUb29sdGlwVGV4dHM6IHN0YXRlLmRhdGVUb29sdGlwVGV4dHMsXG4gICAgICAgICAgbW9udGhJbmRleFxuICAgICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgZmxhZ2dlZE1vbnRocyB9KTtcbiAgfVxuXG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICdtb250aCcpIHtcbiAgICBjb25zdCBmbGFnZ2VkTW9udGhzQ2FsZW5kYXIgPSBzdGF0ZS5tb250aHNDYWxlbmRhci5tYXAoXG4gICAgICAoZm9ybWF0dGVkTW9udGgsIG1vbnRoSW5kZXgpID0+XG4gICAgICAgIGZsYWdNb250aHNDYWxlbmRhcihmb3JtYXR0ZWRNb250aCwge1xuICAgICAgICAgIGlzRGlzYWJsZWQ6IHN0YXRlLmlzRGlzYWJsZWQsXG4gICAgICAgICAgbWluRGF0ZTogc3RhdGUubWluRGF0ZSxcbiAgICAgICAgICBtYXhEYXRlOiBzdGF0ZS5tYXhEYXRlLFxuICAgICAgICAgIGhvdmVyZWRNb250aDogc3RhdGUuaG92ZXJlZE1vbnRoLFxuICAgICAgICAgIHNlbGVjdGVkRGF0ZTogc3RhdGUuc2VsZWN0ZWREYXRlLFxuICAgICAgICAgIHNlbGVjdGVkUmFuZ2U6IHN0YXRlLnNlbGVjdGVkUmFuZ2UsXG4gICAgICAgICAgZGlzcGxheU1vbnRocyxcbiAgICAgICAgICBtb250aEluZGV4XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBmbGFnZ2VkTW9udGhzQ2FsZW5kYXIgfSk7XG4gIH1cblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAneWVhcicpIHtcbiAgICBjb25zdCB5ZWFyc0NhbGVuZGFyRmxhZ2dlZCA9IHN0YXRlLnllYXJzQ2FsZW5kYXJNb2RlbC5tYXAoXG4gICAgICAoZm9ybWF0dGVkTW9udGgsIHllYXJJbmRleCkgPT5cbiAgICAgICAgZmxhZ1llYXJzQ2FsZW5kYXIoZm9ybWF0dGVkTW9udGgsIHtcbiAgICAgICAgICBpc0Rpc2FibGVkOiBzdGF0ZS5pc0Rpc2FibGVkLFxuICAgICAgICAgIG1pbkRhdGU6IHN0YXRlLm1pbkRhdGUsXG4gICAgICAgICAgbWF4RGF0ZTogc3RhdGUubWF4RGF0ZSxcbiAgICAgICAgICBob3ZlcmVkWWVhcjogc3RhdGUuaG92ZXJlZFllYXIsXG4gICAgICAgICAgc2VsZWN0ZWREYXRlOiBzdGF0ZS5zZWxlY3RlZERhdGUsXG4gICAgICAgICAgc2VsZWN0ZWRSYW5nZTogc3RhdGUuc2VsZWN0ZWRSYW5nZSxcbiAgICAgICAgICBkaXNwbGF5TW9udGhzLFxuICAgICAgICAgIHllYXJJbmRleFxuICAgICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgeWVhcnNDYWxlbmRhckZsYWdnZWQgfSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmZ1bmN0aW9uIG5hdmlnYXRlT2Zmc2V0UmVkdWNlcihzdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlLCBhY3Rpb246IEFjdGlvbik6IE1pc0RhdGVQaWNrZXJTdGF0ZSB7XG4gIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgIHZpZXc6IHtcbiAgICAgIG1vZGU6IHN0YXRlLnZpZXcubW9kZSxcbiAgICAgIGRhdGU6IHNoaWZ0Vmlld0RhdGUoc3RhdGUsIGFjdGlvbilcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCBuZXdTdGF0ZSk7XG59XG5cbmZ1bmN0aW9uIHNoaWZ0Vmlld0RhdGUoc3RhdGU6IE1pc0RhdGVQaWNrZXJTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBEYXRlIHtcbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ3llYXInICYmIHN0YXRlLm1pbk1vZGUgPT09ICd5ZWFyJykge1xuICAgIGNvbnN0IGluaXRpYWxEYXRlID0gZ2V0WWVhcnNDYWxlbmRhckluaXRpYWxEYXRlKHN0YXRlLCAwKTtcbiAgICBjb25zdCBtaWRkbGVEYXRlID0gc2hpZnREYXRlKGluaXRpYWxEYXRlLCB7IHllYXI6IC1pbml0aWFsWWVhclNoaWZ0IH0pO1xuXG4gICAgcmV0dXJuIHNoaWZ0RGF0ZShtaWRkbGVEYXRlLCBhY3Rpb24ucGF5bG9hZCk7XG4gIH1cblxuICByZXR1cm4gc2hpZnREYXRlKHN0YXJ0T2Yoc3RhdGUudmlldy5kYXRlLCAnbW9udGgnKSwgYWN0aW9uLnBheWxvYWQpO1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtYXRPcHRpb25zKHN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUpOiBEYXRlUGlja2VyRm9ybWF0T3B0aW9ucyB7XG4gIHJldHVybiB7XG4gICAgbG9jYWxlOiBzdGF0ZS5sb2NhbGUsXG5cbiAgICBtb250aFRpdGxlOiBzdGF0ZS5tb250aFRpdGxlLFxuICAgIHllYXJUaXRsZTogc3RhdGUueWVhclRpdGxlLFxuXG4gICAgZGF5TGFiZWw6IHN0YXRlLmRheUxhYmVsLFxuICAgIG1vbnRoTGFiZWw6IHN0YXRlLm1vbnRoTGFiZWwsXG4gICAgeWVhckxhYmVsOiBzdGF0ZS55ZWFyTGFiZWwsXG5cbiAgICB3ZWVrTnVtYmVyczogc3RhdGUud2Vla051bWJlcnNcbiAgfTtcbn1cblxuLyoqXG4gKiBpZiB2aWV3IGRhdGUgaXMgcHJvdmlkZWQgKGJzVmFsdWV8bmdNb2RlbCkgaXQgc2hvdWxkIGJlIHNob3duXG4gKiBpZiB2aWV3IGRhdGUgaXMgbm90IHByb3ZpZGVyOlxuICogaWYgbWluRGF0ZT5jdXJyZW50RGF0ZSAoZGVmYXVsdCB2aWV3IHZhbHVlKSwgc2hvdyBtaW5EYXRlXG4gKiBpZiBtYXhEYXRlPGN1cnJlbnREYXRlKGRlZmF1bHQgdmlldyB2YWx1ZSkgc2hvdyBtYXhEYXRlXG4gKi9cbmZ1bmN0aW9uIGdldFZpZXdEYXRlKHZpZXdEYXRlOiBEYXRlIHwgRGF0ZVtdLCBtaW5EYXRlOiBEYXRlLCBtYXhEYXRlOiBEYXRlKSB7XG4gIGNvbnN0IF9kYXRlID0gQXJyYXkuaXNBcnJheSh2aWV3RGF0ZSkgPyB2aWV3RGF0ZVswXSA6IHZpZXdEYXRlO1xuXG4gIGlmIChtaW5EYXRlICYmIGlzQWZ0ZXIobWluRGF0ZSwgX2RhdGUsICdkYXknKSkge1xuICAgIHJldHVybiBtaW5EYXRlO1xuICB9XG5cbiAgaWYgKG1heERhdGUgJiYgaXNCZWZvcmUobWF4RGF0ZSwgX2RhdGUsICdkYXknKSkge1xuICAgIHJldHVybiBtYXhEYXRlO1xuICB9XG5cbiAgcmV0dXJuIF9kYXRlO1xufVxuXG5mdW5jdGlvbiBpc0Rpc3BsYXlPbmVNb250aCh2aWV3RGF0ZTogRGF0ZSwgbWluRGF0ZTogRGF0ZSwgbWF4RGF0ZTogRGF0ZSkge1xuICBpZiAobWF4RGF0ZSAmJiBpc1NhbWUobWF4RGF0ZSwgdmlld0RhdGUsICdkYXknKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKG1pbkRhdGUgJiYgbWF4RGF0ZSAmJiAgbWluRGF0ZS5nZXRNb250aCgpID09PSBtYXhEYXRlLmdldE1vbnRoKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { defaultMonthOptions } from './_defaults';
2
- import { MisDatePickerConfig } from '../bs-datepicker.config';
3
- export class MisDatePickerState {
4
- }
5
- const _initialView = { date: new Date(), mode: 'day' };
6
- export const initialDatePickerState = Object.assign(new MisDatePickerConfig(), {
7
- locale: 'en',
8
- view: _initialView,
9
- selectedRange: [],
10
- monthViewOptions: defaultMonthOptions
11
- });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvcmVkdWNlci9icy1kYXRlcGlja2VyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0NBMkQ5QjtBQUVELE1BQU0sWUFBWSxHQUEyQixFQUFFLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBdUIsTUFBTSxDQUFDLE1BQU0sQ0FDckUsSUFBSSxtQkFBbUIsRUFBRSxFQUN6QjtJQUNFLE1BQU0sRUFBRSxJQUFJO0lBQ1osSUFBSSxFQUFFLFlBQVk7SUFDbEIsYUFBYSxFQUFFLEVBQUU7SUFDakIsZ0JBQWdCLEVBQUUsbUJBQW1CO0NBQ3RDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1pc0RhdGVQaWNrZXJWaWV3TW9kZSxcbiAgRGF0ZVBpY2tlckZvcm1hdE9wdGlvbnMsXG4gIERhdGVQaWNrZXJSZW5kZXJPcHRpb25zLFxuICBEYXRlUGlja2VyRGF0ZUN1c3RvbUNsYXNzZXMsXG4gIERhdGVQaWNrZXJEYXRlVG9vbHRpcFRleHQsXG4gIERheXNDYWxlbmRhck1vZGVsLFxuICBEYXlzQ2FsZW5kYXJWaWV3TW9kZWwsXG4gIE1vbnRoc0NhbGVuZGFyVmlld01vZGVsLFxuICBNb250aFZpZXdPcHRpb25zLFxuICBZZWFyc0NhbGVuZGFyVmlld01vZGVsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBkZWZhdWx0TW9udGhPcHRpb25zIH0gZnJvbSAnLi9fZGVmYXVsdHMnO1xuaW1wb3J0IHsgTWlzRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJy4uL2JzLWRhdGVwaWNrZXIuY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBNaXNEYXRlUGlja2VyVmlld1N0YXRlIHtcbiAgZGF0ZTogRGF0ZTtcbiAgbW9kZTogTWlzRGF0ZVBpY2tlclZpZXdNb2RlO1xufVxuXG5leHBvcnQgY2xhc3MgTWlzRGF0ZVBpY2tlclN0YXRlXG4gIGltcGxlbWVudHMgRGF0ZVBpY2tlclJlbmRlck9wdGlvbnMsIERhdGVQaWNrZXJGb3JtYXRPcHRpb25zIHtcbiAgLy8gZGF0ZSBwaWNrZXJcbiAgc2VsZWN0ZWREYXRlPzogRGF0ZTtcbiAgLy8gZGF0ZXJhbmdlIHBpY2tlclxuICBzZWxlY3RlZFJhbmdlPzogRGF0ZVtdO1xuXG4gIC8vIGluaXRpYWwgZGF0ZSBvZiBjYWxlbmRhciwgdG9kYXkgYnkgZGVmYXVsdFxuICB2aWV3OiBNaXNEYXRlUGlja2VyVmlld1N0YXRlO1xuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvLyBib3VuZHNcbiAgbWluRGF0ZT86IERhdGU7XG4gIG1heERhdGU/OiBEYXRlO1xuICBkYXlzRGlzYWJsZWQ/OiBudW1iZXJbXTtcbiAgZGF0ZXNEaXNhYmxlZD86IERhdGVbXTtcbiAgZGF0ZXNFbmFibGVkPzogRGF0ZVtdO1xuICBtaW5Nb2RlPzogTWlzRGF0ZVBpY2tlclZpZXdNb2RlO1xuICBkYXRlQ3VzdG9tQ2xhc3Nlcz86IERhdGVQaWNrZXJEYXRlQ3VzdG9tQ2xhc3Nlc1tdO1xuICBkYXRlVG9vbHRpcFRleHRzPzogRGF0ZVBpY2tlckRhdGVUb29sdGlwVGV4dFtdO1xuXG4gIGhvdmVyZWREYXRlPzogRGF0ZTtcbiAgaG92ZXJlZE1vbnRoPzogRGF0ZTtcbiAgaG92ZXJlZFllYXI/OiBEYXRlO1xuXG4gIC8vIGRheXMgY2FsZW5kYXJcbiAgbW9udGhzTW9kZWw/OiBEYXlzQ2FsZW5kYXJNb2RlbFtdO1xuICBmb3JtYXR0ZWRNb250aHM/OiBEYXlzQ2FsZW5kYXJWaWV3TW9kZWxbXTtcbiAgZmxhZ2dlZE1vbnRocz86IERheXNDYWxlbmRhclZpZXdNb2RlbFtdO1xuICBzZWxlY3RGcm9tT3RoZXJNb250aD86IGJvb2xlYW47XG4gIHNob3dQcmV2aW91c01vbnRoPzogYm9vbGVhbjsgLy8gZGF0ZVJhbmdlUGlja2VyIG9ubHk7XG4gIGRpc3BsYXlPbmVNb250aFJhbmdlPzogYm9vbGVhbjsgLy8gZGF0ZVJhbmdlUGlja2VyIG9ubHk7XG5cbiAgLy8gbW9udGhzIGNhbGVuZGFyXG4gIG1vbnRoc0NhbGVuZGFyPzogTW9udGhzQ2FsZW5kYXJWaWV3TW9kZWxbXTtcbiAgZmxhZ2dlZE1vbnRoc0NhbGVuZGFyPzogTW9udGhzQ2FsZW5kYXJWaWV3TW9kZWxbXTtcblxuICAvLyB5ZWFycyBjYWxlbmRhclxuICB5ZWFyc0NhbGVuZGFyTW9kZWw/OiBZZWFyc0NhbGVuZGFyVmlld01vZGVsW107XG4gIHllYXJzQ2FsZW5kYXJGbGFnZ2VkPzogWWVhcnNDYWxlbmRhclZpZXdNb2RlbFtdO1xuXG4gIC8vIG9wdGlvbnNcbiAgbW9udGhWaWV3T3B0aW9uczogTW9udGhWaWV3T3B0aW9ucztcblxuICAvLyBEYXRlUGlja2VyUmVuZGVyT3B0aW9uc1xuICBzaG93V2Vla051bWJlcnM/OiBib29sZWFuO1xuICBkaXNwbGF5TW9udGhzPzogbnVtYmVyO1xuXG4gIC8vIERhdGVQaWNrZXJGb3JtYXRPcHRpb25zXG4gIGxvY2FsZTogc3RyaW5nO1xuXG4gIG1vbnRoVGl0bGU6IHN0cmluZztcbiAgeWVhclRpdGxlOiBzdHJpbmc7XG5cbiAgZGF5TGFiZWw6IHN0cmluZztcbiAgbW9udGhMYWJlbDogc3RyaW5nO1xuICB5ZWFyTGFiZWw6IHN0cmluZztcblxuICB3ZWVrTnVtYmVyczogc3RyaW5nO1xufVxuXG5jb25zdCBfaW5pdGlhbFZpZXc6IE1pc0RhdGVQaWNrZXJWaWV3U3RhdGUgPSB7IGRhdGU6IG5ldyBEYXRlKCksIG1vZGU6ICdkYXknIH07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsRGF0ZVBpY2tlclN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUgPSBPYmplY3QuYXNzaWduKFxuICBuZXcgTWlzRGF0ZVBpY2tlckNvbmZpZygpLFxuICB7XG4gICAgbG9jYWxlOiAnZW4nLFxuICAgIHZpZXc6IF9pbml0aWFsVmlldyxcbiAgICBzZWxlY3RlZFJhbmdlOiBbXSxcbiAgICBtb250aFZpZXdPcHRpb25zOiBkZWZhdWx0TW9udGhPcHRpb25zXG4gIH1cbik7XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MiniStore, MiniState } from '../sub-components/mini-ngrx';
3
- import { initialDatePickerState } from './bs-datepicker.state';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { misDatePickerReducer } from './bs-datepicker.reducer';
6
- export class MisDatePickerStore extends MiniStore {
7
- constructor() {
8
- const _dispatcher = new BehaviorSubject({
9
- type: '[datepicker] dispatcher init'
10
- });
11
- const state = new MiniState(initialDatePickerState, _dispatcher, misDatePickerReducer);
12
- super(_dispatcher, misDatePickerReducer, state);
13
- }
14
- }
15
- MisDatePickerStore.decorators = [
16
- { type: Injectable }
17
- ];
18
- MisDatePickerStore.ctorParameters = () => [];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvcmVkdWNlci9icy1kYXRlcGlja2VyLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRSxPQUFPLEVBQXNCLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUcvRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBNkI7SUFDbkU7UUFDRSxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUztZQUM5QyxJQUFJLEVBQUUsOEJBQThCO1NBQ3JDLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUN6QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLG9CQUFvQixDQUNyQixDQUFDO1FBQ0YsS0FBSyxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7WUFaRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWluaVN0b3JlLCBBY3Rpb24sIE1pbmlTdGF0ZSB9IGZyb20gJy4uL3N1Yi1jb21wb25lbnRzL21pbmktbmdyeCc7XG5pbXBvcnQgeyBNaXNEYXRlUGlja2VyU3RhdGUsIGluaXRpYWxEYXRlUGlja2VyU3RhdGUgfSBmcm9tICcuL2JzLWRhdGVwaWNrZXIuc3RhdGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtaXNEYXRlUGlja2VyUmVkdWNlciB9IGZyb20gJy4vYnMtZGF0ZXBpY2tlci5yZWR1Y2VyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1pc0RhdGVQaWNrZXJTdG9yZSBleHRlbmRzIE1pbmlTdG9yZTxNaXNEYXRlUGlja2VyU3RhdGU+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgX2Rpc3BhdGNoZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGlvbj4oe1xuICAgICAgdHlwZTogJ1tkYXRlcGlja2VyXSBkaXNwYXRjaGVyIGluaXQnXG4gICAgfSk7XG4gICAgY29uc3Qgc3RhdGUgPSBuZXcgTWluaVN0YXRlPE1pc0RhdGVQaWNrZXJTdGF0ZT4oXG4gICAgICBpbml0aWFsRGF0ZVBpY2tlclN0YXRlLFxuICAgICAgX2Rpc3BhdGNoZXIsXG4gICAgICBtaXNEYXRlUGlja2VyUmVkdWNlclxuICAgICk7XG4gICAgc3VwZXIoX2Rpc3BhdGNoZXIsIG1pc0RhdGVQaWNrZXJSZWR1Y2VyLCBzdGF0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { getParsingFlags } from './parsing-flags';
2
- import { DATE, HOUR, MILLISECOND, MINUTE, MONTH, SECOND, WEEK, WEEKDAY, YEAR } from '../units/constants';
3
- import { daysInMonth } from '../units/month';
4
- export function checkOverflow(config) {
5
- let overflow;
6
- const a = config._a;
7
- if (a && getParsingFlags(config).overflow === -2) {
8
- // todo: fix this sh*t
9
- overflow =
10
- a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
11
- a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
12
- a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
13
- a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
14
- a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
15
- a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
16
- -1;
17
- if (getParsingFlags(config)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
18
- overflow = DATE;
19
- }
20
- if (getParsingFlags(config)._overflowWeeks && overflow === -1) {
21
- overflow = WEEK;
22
- }
23
- if (getParsingFlags(config)._overflowWeekday && overflow === -1) {
24
- overflow = WEEKDAY;
25
- }
26
- getParsingFlags(config).overflow = overflow;
27
- }
28
- return config;
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stb3ZlcmZsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3N1Yi1jb21wb25lbnRzL2Nocm9ub3MvY3JlYXRlL2NoZWNrLW92ZXJmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUF5QjtJQUNyRCxJQUFJLFFBQVEsQ0FBQztJQUNiLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFFcEIsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNoRCxzQkFBc0I7UUFDdEIsUUFBUTtZQUNOLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM5RCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEgsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDeEMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQ0FDeEQsQ0FBQyxDQUFDLENBQUM7UUFFakIsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsa0JBQWtCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRTtZQUN0RixRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM3RCxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQy9ELFFBQVEsR0FBRyxPQUFPLENBQUM7U0FDcEI7UUFFRCxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztLQUM3QztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQYXJzaW5nRmxhZ3MgfSBmcm9tICcuL3BhcnNpbmctZmxhZ3MnO1xuaW1wb3J0IHsgREFURSwgSE9VUiwgTUlMTElTRUNPTkQsIE1JTlVURSwgTU9OVEgsIFNFQ09ORCwgV0VFSywgV0VFS0RBWSwgWUVBUiB9IGZyb20gJy4uL3VuaXRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkYXlzSW5Nb250aCB9IGZyb20gJy4uL3VuaXRzL21vbnRoJztcbmltcG9ydCB7IERhdGVQYXJzaW5nQ29uZmlnIH0gZnJvbSAnLi9wYXJzaW5nLnR5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3coY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgbGV0IG92ZXJmbG93O1xuICBjb25zdCBhID0gY29uZmlnLl9hO1xuXG4gIGlmIChhICYmIGdldFBhcnNpbmdGbGFncyhjb25maWcpLm92ZXJmbG93ID09PSAtMikge1xuICAgIC8vIHRvZG86IGZpeCB0aGlzIHNoKnRcbiAgICBvdmVyZmxvdyA9XG4gICAgICBhW01PTlRIXSA8IDAgfHwgYVtNT05USF0gPiAxMSA/IE1PTlRIIDpcbiAgICAgICAgYVtEQVRFXSA8IDEgfHwgYVtEQVRFXSA+IGRheXNJbk1vbnRoKGFbWUVBUl0sIGFbTU9OVEhdKSA/IERBVEUgOlxuICAgICAgICAgIGFbSE9VUl0gPCAwIHx8IGFbSE9VUl0gPiAyNCB8fCAoYVtIT1VSXSA9PT0gMjQgJiYgKGFbTUlOVVRFXSAhPT0gMCB8fCBhW1NFQ09ORF0gIT09IDAgfHwgYVtNSUxMSVNFQ09ORF0gIT09IDApKSA/IEhPVVIgOlxuICAgICAgICAgICAgYVtNSU5VVEVdIDwgMCB8fCBhW01JTlVURV0gPiA1OSA/IE1JTlVURSA6XG4gICAgICAgICAgICAgIGFbU0VDT05EXSA8IDAgfHwgYVtTRUNPTkRdID4gNTkgPyBTRUNPTkQgOlxuICAgICAgICAgICAgICAgIGFbTUlMTElTRUNPTkRdIDwgMCB8fCBhW01JTExJU0VDT05EXSA+IDk5OSA/IE1JTExJU0VDT05EIDpcbiAgICAgICAgICAgICAgICAgIC0xO1xuXG4gICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd0RheU9mWWVhciAmJiAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSkpIHtcbiAgICAgIG92ZXJmbG93ID0gREFURTtcbiAgICB9XG4gICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtzICYmIG92ZXJmbG93ID09PSAtMSkge1xuICAgICAgb3ZlcmZsb3cgPSBXRUVLO1xuICAgIH1cbiAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuX292ZXJmbG93V2Vla2RheSAmJiBvdmVyZmxvdyA9PT0gLTEpIHtcbiAgICAgIG92ZXJmbG93ID0gV0VFS0RBWTtcbiAgICB9XG5cbiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5vdmVyZmxvdyA9IG92ZXJmbG93O1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuIl19
@@ -1,6 +0,0 @@
1
- // fastest way to clone date
2
- // https://jsperf.com/clone-date-object2
3
- export function cloneDate(date) {
4
- return new Date(date.getTime());
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3N1Yi1jb21wb25lbnRzL2Nocm9ub3MvY3JlYXRlL2Nsb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1Qix3Q0FBd0M7QUFDeEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFVO0lBQ2xDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZhc3Rlc3Qgd2F5IHRvIGNsb25lIGRhdGVcbi8vIGh0dHBzOi8vanNwZXJmLmNvbS9jbG9uZS1kYXRlLW9iamVjdDJcbmV4cG9ydCBmdW5jdGlvbiBjbG9uZURhdGUoZGF0ZTogRGF0ZSk6IERhdGUge1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xufVxuIl19
@@ -1,17 +0,0 @@
1
- export function createUTCDate(y, m, d) {
2
- const date = new Date(Date.UTC.apply(null, arguments));
3
- // the Date.UTC function remaps years 0-99 to 1900-1999
4
- if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
5
- date.setUTCFullYear(y);
6
- }
7
- return date;
8
- }
9
- export function createDate(y, m = 0, d = 1, h = 0, M = 0, s = 0, ms = 0) {
10
- const date = new Date(y, m, d, h, M, s, ms);
11
- // the date constructor remaps years 0-99 to 1900-1999
12
- if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
13
- date.setFullYear(y);
14
- }
15
- return date;
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mcm9tLWFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9zdWItY29tcG9uZW50cy9jaHJvbm9zL2NyZWF0ZS9kYXRlLWZyb20tYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFVLEVBQ1YsQ0FBVSxFQUNWLENBQVU7SUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFdkQsdURBQXVEO0lBQ3ZELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRTtRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxDQUFVLEVBQ1YsQ0FBQyxHQUFHLENBQUMsRUFDTCxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsRUFDTCxDQUFDLEdBQUcsQ0FBQyxFQUNMLEVBQUUsR0FBRyxDQUFDO0lBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTVDLHNEQUFzRDtJQUN0RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7UUFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVVENEYXRlKHk/OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtPzogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD86IG51bWJlcik6IERhdGUge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoRGF0ZS5VVEMuYXBwbHkobnVsbCwgYXJndW1lbnRzKSk7XG5cbiAgLy8gdGhlIERhdGUuVVRDIGZ1bmN0aW9uIHJlbWFwcyB5ZWFycyAwLTk5IHRvIDE5MDAtMTk5OVxuICBpZiAoeSA8IDEwMCAmJiB5ID49IDAgJiYgaXNGaW5pdGUoZGF0ZS5nZXRVVENGdWxsWWVhcigpKSkge1xuICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoeSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGUoeT86IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIE0gPSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtcyA9IDApOiBEYXRlIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHksIG0sIGQsIGgsIE0sIHMsIG1zKTtcblxuICAvLyB0aGUgZGF0ZSBjb25zdHJ1Y3RvciByZW1hcHMgeWVhcnMgMC05OSB0byAxOTAwLTE5OTlcbiAgaWYgKHkgPCAxMDAgJiYgeSA+PSAwICYmIGlzRmluaXRlKGRhdGUuZ2V0RnVsbFllYXIoKSkpIHtcbiAgICBkYXRlLnNldEZ1bGxZZWFyKHkpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGU7XG59XG4iXX0=
@@ -1,107 +0,0 @@
1
- // tslint:disable:max-line-length
2
- import { isArray, isDate, isNumber, isObject, isObjectEmpty, isString, isUndefined } from '../utils/type-checks';
3
- import { getLocale } from '../locale/locales';
4
- import { createInvalid, isValid } from './valid';
5
- import { configFromStringAndArray } from './from-string-and-array';
6
- import { configFromStringAndFormat } from './from-string-and-format';
7
- import { cloneDate } from './clone';
8
- import { configFromString } from './from-string';
9
- import { configFromArray } from './from-array';
10
- import { configFromObject } from './from-object';
11
- import { checkOverflow } from './check-overflow';
12
- function createFromConfig(config) {
13
- const res = checkOverflow(prepareConfig(config));
14
- // todo: remove, in moment.js it's never called cuz of moment constructor
15
- res._d = new Date(res._d != null ? res._d.getTime() : NaN);
16
- if (!isValid(Object.assign({}, res, { _isValid: null }))) {
17
- res._d = new Date(NaN);
18
- }
19
- // todo: update offset
20
- /*if (res._nextDay) {
21
- // Adding is smart enough around DST
22
- res._d = add(res._d, 1, 'day');
23
- res._nextDay = undefined;
24
- }*/
25
- return res;
26
- }
27
- export function prepareConfig(config) {
28
- let input = config._i;
29
- const format = config._f;
30
- config._locale = config._locale || getLocale(config._l);
31
- if (input === null || (format === undefined && input === '')) {
32
- return createInvalid(config, { nullInput: true });
33
- }
34
- if (isString(input)) {
35
- config._i = input = config._locale.preparse(input, format);
36
- }
37
- if (isDate(input)) {
38
- config._d = cloneDate(input);
39
- return config;
40
- }
41
- // todo: add check for recursion
42
- if (isArray(format)) {
43
- configFromStringAndArray(config);
44
- }
45
- else if (format) {
46
- configFromStringAndFormat(config);
47
- }
48
- else {
49
- configFromInput(config);
50
- }
51
- if (!isValid(config)) {
52
- config._d = null;
53
- }
54
- return config;
55
- }
56
- function configFromInput(config) {
57
- const input = config._i;
58
- if (isUndefined(input)) {
59
- config._d = new Date();
60
- }
61
- else if (isDate(input)) {
62
- config._d = cloneDate(input);
63
- }
64
- else if (isString(input)) {
65
- configFromString(config);
66
- }
67
- else if (isArray(input) && input.length) {
68
- const _arr = input.slice(0);
69
- config._a = _arr.map(obj => isString(obj) ? parseInt(obj, 10) : obj);
70
- configFromArray(config);
71
- }
72
- else if (isObject(input)) {
73
- configFromObject(config);
74
- }
75
- else if (isNumber(input)) {
76
- // from milliseconds
77
- config._d = new Date(input);
78
- }
79
- else {
80
- // hooks.createFromInputFallback(config);
81
- return createInvalid(config);
82
- }
83
- return config;
84
- }
85
- export function createLocalOrUTC(input, format, localeKey, strict, isUTC) {
86
- const config = {};
87
- let _input = input;
88
- // params switch -> skip; test it well
89
- // if (localeKey === true || localeKey === false) {
90
- // strict = localeKey;
91
- // localeKey = undefined;
92
- // }
93
- // todo: fail fast and return not valid date
94
- if ((isObject(_input) && isObjectEmpty(_input)) || (isArray(_input) && _input.length === 0)) {
95
- _input = undefined;
96
- }
97
- // object construction must be done this way.
98
- // https://github.com/moment/moment/issues/1423
99
- // config._isAMomentObject = true;
100
- config._useUTC = config._isUTC = isUTC;
101
- config._l = localeKey;
102
- config._i = _input;
103
- config._f = format;
104
- config._strict = strict;
105
- return createFromConfig(config);
106
- }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1hbnl0aGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvc3ViLWNvbXBvbmVudHMvY2hyb25vcy9jcmVhdGUvZnJvbS1hbnl0aGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF5QjtJQUNqRCxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakQseUVBQXlFO0lBQ3pFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsRUFBRTtRQUN0RCxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3hCO0lBQ0Qsc0JBQXNCO0lBQ3RCOzs7O09BSUc7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQXlCO0lBQ3JELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUV6QixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1RCxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNuRDtJQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM1RDtJQUVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxnQ0FBZ0M7SUFFaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbkIsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDbEM7U0FBTSxJQUFJLE1BQU0sRUFBRTtRQUNqQix5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQztTQUFNO1FBQ0wsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3pCO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztLQUNsQjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUF5QjtJQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3hCLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztLQUN4QjtTQUFNLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO1NBQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUI7U0FBTSxJQUFJLE9BQU8sQ0FBa0IsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUMxRCxNQUFNLElBQUksR0FBd0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6QjtTQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzFCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFCO1NBQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsb0JBQW9CO1FBQ3BCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDN0I7U0FBTTtRQUNMLDJDQUEyQztRQUMzQyxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM5QjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxNQUEwQixFQUFFLFNBQWtCLEVBQUUsTUFBZ0IsRUFBRSxLQUFlO0lBQ2xJLE1BQU0sTUFBTSxHQUFzQixFQUFFLENBQUM7SUFDckMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRW5CLHNDQUFzQztJQUN0QyxtREFBbUQ7SUFDbkQsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QixJQUFJO0lBRUosNENBQTRDO0lBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMzRixNQUFNLEdBQUcsU0FBUyxDQUFDO0tBQ3BCO0lBQ0QsNkNBQTZDO0lBQzdDLCtDQUErQztJQUMvQyxrQ0FBa0M7SUFDbEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN2QyxNQUFNLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUN0QixNQUFNLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNuQixNQUFNLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNuQixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUV4QixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcbmltcG9ydCB7IGlzQXJyYXksIGlzRGF0ZSwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc09iamVjdEVtcHR5LCBpc1N0cmluZywgaXNVbmRlZmluZWQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4vcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBnZXRMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVJbnZhbGlkLCBpc1ZhbGlkIH0gZnJvbSAnLi92YWxpZCc7XG5pbXBvcnQgeyBjb25maWdGcm9tU3RyaW5nQW5kQXJyYXkgfSBmcm9tICcuL2Zyb20tc3RyaW5nLWFuZC1hcnJheSc7XG5pbXBvcnQgeyBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0IH0gZnJvbSAnLi9mcm9tLXN0cmluZy1hbmQtZm9ybWF0JztcbmltcG9ydCB7IGNsb25lRGF0ZSB9IGZyb20gJy4vY2xvbmUnO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZyB9IGZyb20gJy4vZnJvbS1zdHJpbmcnO1xuaW1wb3J0IHsgY29uZmlnRnJvbUFycmF5IH0gZnJvbSAnLi9mcm9tLWFycmF5JztcbmltcG9ydCB7IGNvbmZpZ0Zyb21PYmplY3QgfSBmcm9tICcuL2Zyb20tb2JqZWN0JztcbmltcG9ydCB7IGNoZWNrT3ZlcmZsb3cgfSBmcm9tICcuL2NoZWNrLW92ZXJmbG93JztcbmltcG9ydCB7IERhdGVJbnB1dCB9IGZyb20gJy4uL3Rlc3QvY2hhaW4nO1xuXG5mdW5jdGlvbiBjcmVhdGVGcm9tQ29uZmlnKGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGNvbnN0IHJlcyA9IGNoZWNrT3ZlcmZsb3cocHJlcGFyZUNvbmZpZyhjb25maWcpKTtcbiAgLy8gdG9kbzogcmVtb3ZlLCBpbiBtb21lbnQuanMgaXQncyBuZXZlciBjYWxsZWQgY3V6IG9mIG1vbWVudCBjb25zdHJ1Y3RvclxuICByZXMuX2QgPSBuZXcgRGF0ZShyZXMuX2QgIT0gbnVsbCA/IHJlcy5fZC5nZXRUaW1lKCkgOiBOYU4pO1xuICBpZiAoIWlzVmFsaWQoT2JqZWN0LmFzc2lnbih7fSwgcmVzLCB7X2lzVmFsaWQ6IG51bGx9KSkpIHtcbiAgICByZXMuX2QgPSBuZXcgRGF0ZShOYU4pO1xuICB9XG4gIC8vIHRvZG86IHVwZGF0ZSBvZmZzZXRcbiAgLyppZiAocmVzLl9uZXh0RGF5KSB7XG4gICAgLy8gQWRkaW5nIGlzIHNtYXJ0IGVub3VnaCBhcm91bmQgRFNUXG4gICAgcmVzLl9kID0gYWRkKHJlcy5fZCwgMSwgJ2RheScpO1xuICAgIHJlcy5fbmV4dERheSA9IHVuZGVmaW5lZDtcbiAgfSovXG5cbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVDb25maWcoY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgbGV0IGlucHV0ID0gY29uZmlnLl9pO1xuICBjb25zdCBmb3JtYXQgPSBjb25maWcuX2Y7XG5cbiAgY29uZmlnLl9sb2NhbGUgPSBjb25maWcuX2xvY2FsZSB8fCBnZXRMb2NhbGUoY29uZmlnLl9sKTtcblxuICBpZiAoaW5wdXQgPT09IG51bGwgfHwgKGZvcm1hdCA9PT0gdW5kZWZpbmVkICYmIGlucHV0ID09PSAnJykpIHtcbiAgICByZXR1cm4gY3JlYXRlSW52YWxpZChjb25maWcsIHsgbnVsbElucHV0OiB0cnVlIH0pO1xuICB9XG5cbiAgaWYgKGlzU3RyaW5nKGlucHV0KSkge1xuICAgIGNvbmZpZy5faSA9IGlucHV0ID0gY29uZmlnLl9sb2NhbGUucHJlcGFyc2UoaW5wdXQsIGZvcm1hdCk7XG4gIH1cblxuICBpZiAoaXNEYXRlKGlucHV0KSkge1xuICAgIGNvbmZpZy5fZCA9IGNsb25lRGF0ZShpbnB1dCk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgLy8gdG9kbzogYWRkIGNoZWNrIGZvciByZWN1cnNpb25cblxuICBpZiAoaXNBcnJheShmb3JtYXQpKSB7XG4gICAgY29uZmlnRnJvbVN0cmluZ0FuZEFycmF5KGNvbmZpZyk7XG4gIH0gZWxzZSBpZiAoZm9ybWF0KSB7XG4gICAgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdChjb25maWcpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZpZ0Zyb21JbnB1dChjb25maWcpO1xuICB9XG5cbiAgaWYgKCFpc1ZhbGlkKGNvbmZpZykpIHtcbiAgICBjb25maWcuX2QgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZnVuY3Rpb24gY29uZmlnRnJvbUlucHV0KGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGNvbnN0IGlucHV0ID0gY29uZmlnLl9pO1xuICBpZiAoaXNVbmRlZmluZWQoaW5wdXQpKSB7XG4gICAgY29uZmlnLl9kID0gbmV3IERhdGUoKTtcbiAgfSBlbHNlIGlmIChpc0RhdGUoaW5wdXQpKSB7XG4gICAgY29uZmlnLl9kID0gY2xvbmVEYXRlKGlucHV0KTtcbiAgfSBlbHNlIGlmIChpc1N0cmluZyhpbnB1dCkpIHtcbiAgICBjb25maWdGcm9tU3RyaW5nKGNvbmZpZyk7XG4gIH0gZWxzZSBpZiAoaXNBcnJheTxzdHJpbmcgfCBudW1iZXI+KGlucHV0KSAmJiBpbnB1dC5sZW5ndGgpIHtcbiAgICBjb25zdCBfYXJyOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gaW5wdXQuc2xpY2UoMCk7XG4gICAgY29uZmlnLl9hID0gX2Fyci5tYXAob2JqID0+IGlzU3RyaW5nKG9iaikgPyBwYXJzZUludChvYmosIDEwKSA6IG9iaik7XG4gICAgY29uZmlnRnJvbUFycmF5KGNvbmZpZyk7XG4gIH0gZWxzZSBpZiAoaXNPYmplY3QoaW5wdXQpKSB7XG4gICAgY29uZmlnRnJvbU9iamVjdChjb25maWcpO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKGlucHV0KSkge1xuICAgIC8vIGZyb20gbWlsbGlzZWNvbmRzXG4gICAgY29uZmlnLl9kID0gbmV3IERhdGUoaW5wdXQpO1xuICB9IGVsc2Uge1xuICAgIC8vICAgaG9va3MuY3JlYXRlRnJvbUlucHV0RmFsbGJhY2soY29uZmlnKTtcbiAgICByZXR1cm4gY3JlYXRlSW52YWxpZChjb25maWcpO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvY2FsT3JVVEMoaW5wdXQ6IERhdGVJbnB1dCwgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10sIGxvY2FsZUtleT86IHN0cmluZywgc3RyaWN0PzogYm9vbGVhbiwgaXNVVEM/OiBib29sZWFuKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnID0ge307XG4gIGxldCBfaW5wdXQgPSBpbnB1dDtcblxuICAvLyBwYXJhbXMgc3dpdGNoIC0+IHNraXA7IHRlc3QgaXQgd2VsbFxuICAvLyBpZiAobG9jYWxlS2V5ID09PSB0cnVlIHx8IGxvY2FsZUtleSA9PT0gZmFsc2UpIHtcbiAgLy8gICAgIHN0cmljdCA9IGxvY2FsZUtleTtcbiAgLy8gICAgIGxvY2FsZUtleSA9IHVuZGVmaW5lZDtcbiAgLy8gfVxuXG4gIC8vIHRvZG86IGZhaWwgZmFzdCBhbmQgcmV0dXJuIG5vdCB2YWxpZCBkYXRlXG4gIGlmICgoaXNPYmplY3QoX2lucHV0KSAmJiBpc09iamVjdEVtcHR5KF9pbnB1dCkpIHx8IChpc0FycmF5KF9pbnB1dCkgJiYgX2lucHV0Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICBfaW5wdXQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gb2JqZWN0IGNvbnN0cnVjdGlvbiBtdXN0IGJlIGRvbmUgdGhpcyB3YXkuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNDIzXG4gIC8vIGNvbmZpZy5faXNBTW9tZW50T2JqZWN0ID0gdHJ1ZTtcbiAgY29uZmlnLl91c2VVVEMgPSBjb25maWcuX2lzVVRDID0gaXNVVEM7XG4gIGNvbmZpZy5fbCA9IGxvY2FsZUtleTtcbiAgY29uZmlnLl9pID0gX2lucHV0O1xuICBjb25maWcuX2YgPSBmb3JtYXQ7XG4gIGNvbmZpZy5fc3RyaWN0ID0gc3RyaWN0O1xuXG4gIHJldHVybiBjcmVhdGVGcm9tQ29uZmlnKGNvbmZpZyk7XG59XG4iXX0=