mis-crystal-design-system 2.0.0 → 2.1.3

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 (950) hide show
  1. package/bundles/mis-crystal-design-system-button.umd.js +76 -0
  2. package/bundles/mis-crystal-design-system-button.umd.js.map +1 -0
  3. package/bundles/mis-crystal-design-system-button.umd.min.js +2 -0
  4. package/bundles/mis-crystal-design-system-button.umd.min.js.map +1 -0
  5. package/bundles/mis-crystal-design-system-checkbox.umd.js +128 -0
  6. package/bundles/mis-crystal-design-system-checkbox.umd.js.map +1 -0
  7. package/bundles/mis-crystal-design-system-checkbox.umd.min.js +2 -0
  8. package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +1 -0
  9. package/bundles/mis-crystal-design-system-chip.umd.js +65 -0
  10. package/bundles/mis-crystal-design-system-chip.umd.js.map +1 -0
  11. package/bundles/mis-crystal-design-system-chip.umd.min.js +2 -0
  12. package/bundles/mis-crystal-design-system-chip.umd.min.js.map +1 -0
  13. package/bundles/{mis-crystal-design-system-src-datepicker.umd.js → mis-crystal-design-system-datepicker.umd.js} +4 -4
  14. package/bundles/mis-crystal-design-system-datepicker.umd.js.map +1 -0
  15. package/bundles/{mis-crystal-design-system-src-datepicker.umd.min.js → mis-crystal-design-system-datepicker.umd.min.js} +2 -2
  16. package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +1 -0
  17. package/bundles/mis-crystal-design-system-drawer.umd.js +172 -0
  18. package/bundles/mis-crystal-design-system-drawer.umd.js.map +1 -0
  19. package/bundles/mis-crystal-design-system-drawer.umd.min.js +2 -0
  20. package/bundles/mis-crystal-design-system-drawer.umd.min.js.map +1 -0
  21. package/bundles/mis-crystal-design-system-dropdown.umd.js +119 -0
  22. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +1 -0
  23. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +2 -0
  24. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +1 -0
  25. package/bundles/mis-crystal-design-system-fab.umd.js +98 -0
  26. package/bundles/mis-crystal-design-system-fab.umd.js.map +1 -0
  27. package/bundles/mis-crystal-design-system-fab.umd.min.js +2 -0
  28. package/bundles/mis-crystal-design-system-fab.umd.min.js.map +1 -0
  29. package/bundles/mis-crystal-design-system-loader.umd.js +54 -0
  30. package/bundles/mis-crystal-design-system-loader.umd.js.map +1 -0
  31. package/bundles/mis-crystal-design-system-loader.umd.min.js +2 -0
  32. package/bundles/mis-crystal-design-system-loader.umd.min.js.map +1 -0
  33. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +523 -0
  34. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -0
  35. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +16 -0
  36. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -0
  37. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +597 -0
  38. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +1 -0
  39. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +16 -0
  40. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +1 -0
  41. package/bundles/mis-crystal-design-system-radio-button.umd.js +78 -0
  42. package/bundles/mis-crystal-design-system-radio-button.umd.js.map +1 -0
  43. package/bundles/mis-crystal-design-system-radio-button.umd.min.js +2 -0
  44. package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +1 -0
  45. package/bundles/mis-crystal-design-system-switch.umd.js +80 -0
  46. package/bundles/mis-crystal-design-system-switch.umd.js.map +1 -0
  47. package/bundles/mis-crystal-design-system-switch.umd.min.js +2 -0
  48. package/bundles/mis-crystal-design-system-switch.umd.min.js.map +1 -0
  49. package/bundles/mis-crystal-design-system-table.umd.js +791 -0
  50. package/bundles/mis-crystal-design-system-table.umd.js.map +1 -0
  51. package/bundles/mis-crystal-design-system-table.umd.min.js +16 -0
  52. package/bundles/mis-crystal-design-system-table.umd.min.js.map +1 -0
  53. package/bundles/mis-crystal-design-system-toast.umd.js +207 -0
  54. package/bundles/mis-crystal-design-system-toast.umd.js.map +1 -0
  55. package/bundles/mis-crystal-design-system-toast.umd.min.js +2 -0
  56. package/bundles/mis-crystal-design-system-toast.umd.min.js.map +1 -0
  57. package/bundles/mis-crystal-design-system-tooltip.umd.js +228 -0
  58. package/bundles/mis-crystal-design-system-tooltip.umd.js.map +1 -0
  59. package/bundles/mis-crystal-design-system-tooltip.umd.min.js +2 -0
  60. package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +1 -0
  61. package/bundles/mis-crystal-design-system.umd.js +28 -15553
  62. package/bundles/mis-crystal-design-system.umd.js.map +1 -1
  63. package/bundles/mis-crystal-design-system.umd.min.js +1 -67
  64. package/bundles/mis-crystal-design-system.umd.min.js.map +1 -1
  65. package/button/mis-crystal-design-system-button.d.ts +4 -0
  66. package/button/mis-crystal-design-system-button.metadata.json +1 -0
  67. package/button/package.json +11 -0
  68. package/checkbox/mis-crystal-design-system-checkbox.d.ts +4 -0
  69. package/checkbox/mis-crystal-design-system-checkbox.metadata.json +1 -0
  70. package/checkbox/package.json +11 -0
  71. package/chip/mis-crystal-design-system-chip.d.ts +4 -0
  72. package/chip/mis-crystal-design-system-chip.metadata.json +1 -0
  73. package/chip/package.json +11 -0
  74. package/{src/datepicker/mis-crystal-design-system-src-datepicker.d.ts → datepicker/mis-crystal-design-system-datepicker.d.ts} +1 -1
  75. package/{src/datepicker/mis-crystal-design-system-src-datepicker.metadata.json → datepicker/mis-crystal-design-system-datepicker.metadata.json} +1 -1
  76. package/datepicker/package.json +11 -0
  77. package/drawer/drawer-body/drawer-body.component.d.ts +12 -0
  78. package/drawer/drawer-constants.d.ts +3 -0
  79. package/drawer/drawer-ref.d.ts +13 -0
  80. package/drawer/drawer.module.d.ts +5 -0
  81. package/drawer/drawer.scss +20 -0
  82. package/drawer/drawer.service.d.ts +18 -0
  83. package/{src/datepicker/sub-components/chronos → drawer}/index.d.ts +0 -0
  84. package/drawer/mis-crystal-design-system-drawer.d.ts +5 -0
  85. package/drawer/mis-crystal-design-system-drawer.metadata.json +1 -0
  86. package/drawer/package.json +11 -0
  87. package/drawer/public_api.d.ts +4 -0
  88. package/dropdown/mis-crystal-design-system-dropdown.d.ts +4 -0
  89. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +1 -0
  90. package/dropdown/package.json +11 -0
  91. package/esm2015/button/button.component.js +1 -1
  92. package/esm2015/button/button.module.js +1 -1
  93. package/esm2015/button/index.js +1 -1
  94. package/esm2015/button/mis-crystal-design-system-button.js +5 -0
  95. package/esm2015/button/public_api.js +1 -1
  96. package/esm2015/checkbox/checkbox.component.js +1 -1
  97. package/esm2015/checkbox/checkbox.module.js +1 -1
  98. package/esm2015/checkbox/index.js +1 -1
  99. package/esm2015/checkbox/mis-crystal-design-system-checkbox.js +5 -0
  100. package/esm2015/checkbox/public_api.js +1 -1
  101. package/esm2015/chip/chip.component.js +1 -1
  102. package/esm2015/chip/chip.module.js +1 -1
  103. package/esm2015/chip/index.js +1 -1
  104. package/esm2015/chip/mis-crystal-design-system-chip.js +5 -0
  105. package/esm2015/chip/public_api.js +1 -1
  106. package/esm2015/datepicker/base/bs-datepicker-container.js +1 -1
  107. package/esm2015/datepicker/bs-datepicker-inline.component.js +1 -1
  108. package/esm2015/datepicker/bs-datepicker-inline.config.js +1 -1
  109. package/esm2015/datepicker/bs-datepicker-input.directive.js +1 -1
  110. package/esm2015/datepicker/bs-datepicker.component.js +1 -1
  111. package/esm2015/datepicker/bs-datepicker.config.js +1 -1
  112. package/esm2015/datepicker/bs-datepicker.module.js +1 -1
  113. package/esm2015/datepicker/bs-daterangepicker-inline.component.js +1 -1
  114. package/esm2015/datepicker/bs-daterangepicker-inline.config.js +1 -1
  115. package/esm2015/datepicker/bs-daterangepicker-input.directive.js +1 -1
  116. package/esm2015/datepicker/bs-daterangepicker.component.js +1 -1
  117. package/esm2015/datepicker/bs-daterangepicker.config.js +1 -1
  118. package/esm2015/datepicker/bs-locale.service.js +1 -1
  119. package/esm2015/datepicker/date-formatter.js +1 -1
  120. package/esm2015/datepicker/datepicker-animations.js +1 -1
  121. package/esm2015/datepicker/datepicker-inner.component.js +1 -1
  122. package/esm2015/datepicker/datepicker.component.js +1 -1
  123. package/esm2015/datepicker/datepicker.config.js +1 -1
  124. package/esm2015/datepicker/datepicker.module.js +1 -1
  125. package/esm2015/datepicker/daypicker.component.js +1 -1
  126. package/esm2015/datepicker/engine/calc-days-calendar.js +1 -1
  127. package/esm2015/datepicker/engine/flag-days-calendar.js +1 -1
  128. package/esm2015/datepicker/engine/flag-months-calendar.js +1 -1
  129. package/esm2015/datepicker/engine/flag-years-calendar.js +1 -1
  130. package/esm2015/datepicker/engine/format-days-calendar.js +1 -1
  131. package/esm2015/datepicker/engine/format-months-calendar.js +1 -1
  132. package/esm2015/datepicker/engine/format-years-calendar.js +1 -1
  133. package/esm2015/datepicker/engine/view-mode.js +1 -1
  134. package/esm2015/datepicker/index.js +1 -1
  135. package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +25 -0
  136. package/esm2015/datepicker/models/index.js +1 -1
  137. package/esm2015/datepicker/monthpicker.component.js +1 -1
  138. package/esm2015/datepicker/public_api.js +1 -1
  139. package/esm2015/datepicker/reducer/_defaults.js +1 -1
  140. package/esm2015/datepicker/reducer/bs-datepicker.actions.js +1 -1
  141. package/esm2015/datepicker/reducer/bs-datepicker.effects.js +1 -1
  142. package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +1 -1
  143. package/esm2015/datepicker/reducer/bs-datepicker.state.js +1 -1
  144. package/esm2015/datepicker/reducer/bs-datepicker.store.js +1 -1
  145. package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +1 -1
  146. package/esm2015/datepicker/sub-components/chronos/create/clone.js +1 -1
  147. package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +1 -1
  148. package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +1 -1
  149. package/esm2015/datepicker/sub-components/chronos/create/from-array.js +1 -1
  150. package/esm2015/datepicker/sub-components/chronos/create/from-object.js +1 -1
  151. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +1 -1
  152. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +1 -1
  153. package/esm2015/datepicker/sub-components/chronos/create/from-string.js +1 -1
  154. package/esm2015/datepicker/sub-components/chronos/create/local.js +1 -1
  155. package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +1 -1
  156. package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +1 -1
  157. package/esm2015/datepicker/sub-components/chronos/create/valid.js +1 -1
  158. package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +1 -1
  159. package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +1 -1
  160. package/esm2015/datepicker/sub-components/chronos/duration/create.js +1 -1
  161. package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +1 -1
  162. package/esm2015/datepicker/sub-components/chronos/duration/valid.js +1 -1
  163. package/esm2015/datepicker/sub-components/chronos/format/format.js +1 -1
  164. package/esm2015/datepicker/sub-components/chronos/format.js +1 -1
  165. package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +1 -1
  166. package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +1 -1
  167. package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +1 -1
  168. package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +1 -1
  169. package/esm2015/datepicker/sub-components/chronos/i18n/da.js +1 -1
  170. package/esm2015/datepicker/sub-components/chronos/i18n/de.js +1 -1
  171. package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +1 -1
  172. package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +1 -1
  173. package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +1 -1
  174. package/esm2015/datepicker/sub-components/chronos/i18n/es.js +1 -1
  175. package/esm2015/datepicker/sub-components/chronos/i18n/et.js +1 -1
  176. package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +1 -1
  177. package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +1 -1
  178. package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +1 -1
  179. package/esm2015/datepicker/sub-components/chronos/i18n/he.js +1 -1
  180. package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +1 -1
  181. package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +1 -1
  182. package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +1 -1
  183. package/esm2015/datepicker/sub-components/chronos/i18n/id.js +1 -1
  184. package/esm2015/datepicker/sub-components/chronos/i18n/it.js +1 -1
  185. package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +1 -1
  186. package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +1 -1
  187. package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +1 -1
  188. package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +1 -1
  189. package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +1 -1
  190. package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +1 -1
  191. package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +1 -1
  192. package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +1 -1
  193. package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +1 -1
  194. package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +1 -1
  195. package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +1 -1
  196. package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +1 -1
  197. package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +1 -1
  198. package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +1 -1
  199. package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +1 -1
  200. package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +1 -1
  201. package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +1 -1
  202. package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +1 -1
  203. package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +1 -1
  204. package/esm2015/datepicker/sub-components/chronos/i18n/th.js +1 -1
  205. package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +1 -1
  206. package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +1 -1
  207. package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +1 -1
  208. package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +1 -1
  209. package/esm2015/datepicker/sub-components/chronos/index.js +1 -1
  210. package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +1 -1
  211. package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +1 -1
  212. package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +1 -1
  213. package/esm2015/datepicker/sub-components/chronos/locale/locales.js +1 -1
  214. package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +1 -1
  215. package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +1 -1
  216. package/esm2015/datepicker/sub-components/chronos/moment/diff.js +1 -1
  217. package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +1 -1
  218. package/esm2015/datepicker/sub-components/chronos/parse/regex.js +1 -1
  219. package/esm2015/datepicker/sub-components/chronos/parse/token.js +1 -1
  220. package/esm2015/datepicker/sub-components/chronos/public_api.js +1 -1
  221. package/esm2015/datepicker/sub-components/chronos/test/chain.js +1 -1
  222. package/esm2015/datepicker/sub-components/chronos/types.js +1 -1
  223. package/esm2015/datepicker/sub-components/chronos/units/aliases.js +1 -1
  224. package/esm2015/datepicker/sub-components/chronos/units/constants.js +1 -1
  225. package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +1 -1
  226. package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +1 -1
  227. package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +1 -1
  228. package/esm2015/datepicker/sub-components/chronos/units/hour.js +1 -1
  229. package/esm2015/datepicker/sub-components/chronos/units/index.js +1 -1
  230. package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +1 -1
  231. package/esm2015/datepicker/sub-components/chronos/units/minute.js +1 -1
  232. package/esm2015/datepicker/sub-components/chronos/units/month.js +1 -1
  233. package/esm2015/datepicker/sub-components/chronos/units/offset.js +1 -1
  234. package/esm2015/datepicker/sub-components/chronos/units/priorities.js +1 -1
  235. package/esm2015/datepicker/sub-components/chronos/units/quarter.js +1 -1
  236. package/esm2015/datepicker/sub-components/chronos/units/second.js +1 -1
  237. package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +1 -1
  238. package/esm2015/datepicker/sub-components/chronos/units/timezone.js +1 -1
  239. package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +1 -1
  240. package/esm2015/datepicker/sub-components/chronos/units/week-year.js +1 -1
  241. package/esm2015/datepicker/sub-components/chronos/units/week.js +1 -1
  242. package/esm2015/datepicker/sub-components/chronos/units/year.js +1 -1
  243. package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +1 -1
  244. package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +1 -1
  245. package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +1 -1
  246. package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +1 -1
  247. package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +1 -1
  248. package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +1 -1
  249. package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +1 -1
  250. package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +1 -1
  251. package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +1 -1
  252. package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +1 -1
  253. package/esm2015/datepicker/sub-components/chronos/utils.js +1 -1
  254. package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +1 -1
  255. package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +1 -1
  256. package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +1 -1
  257. package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +1 -1
  258. package/esm2015/datepicker/sub-components/component-loader/index.js +1 -1
  259. package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +1 -1
  260. package/esm2015/datepicker/sub-components/component-loader/public_api.js +1 -1
  261. package/esm2015/datepicker/sub-components/mini-ngrx/index.js +1 -1
  262. package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +1 -1
  263. package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +1 -1
  264. package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +1 -1
  265. package/esm2015/datepicker/sub-components/positioning/index.js +1 -1
  266. package/esm2015/datepicker/sub-components/positioning/models/index.js +1 -1
  267. package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +1 -1
  268. package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +1 -1
  269. package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +1 -1
  270. package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +1 -1
  271. package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +1 -1
  272. package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +1 -1
  273. package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +1 -1
  274. package/esm2015/datepicker/sub-components/positioning/positioning.service.js +1 -1
  275. package/esm2015/datepicker/sub-components/positioning/public_api.js +1 -1
  276. package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +1 -1
  277. package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +1 -1
  278. package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +1 -1
  279. package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +1 -1
  280. package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +1 -1
  281. package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +1 -1
  282. package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +1 -1
  283. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +1 -1
  284. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +1 -1
  285. package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +1 -1
  286. package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +1 -1
  287. package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +1 -1
  288. package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +1 -1
  289. package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +1 -1
  290. package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +1 -1
  291. package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +1 -1
  292. package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +1 -1
  293. package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +1 -1
  294. package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +1 -1
  295. package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +1 -1
  296. package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +1 -1
  297. package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +1 -1
  298. package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +1 -1
  299. package/esm2015/datepicker/sub-components/positioning/utils/index.js +1 -1
  300. package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +1 -1
  301. package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +1 -1
  302. package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +1 -1
  303. package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +1 -1
  304. package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +1 -1
  305. package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +1 -1
  306. package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +1 -1
  307. package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +1 -1
  308. package/esm2015/datepicker/sub-components/tooltip/index.js +1 -1
  309. package/esm2015/datepicker/sub-components/tooltip/public_api.js +1 -1
  310. package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +1 -1
  311. package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +1 -1
  312. package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +1 -1
  313. package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +1 -1
  314. package/esm2015/datepicker/sub-components/utils/decorators.js +1 -1
  315. package/esm2015/datepicker/sub-components/utils/facade/browser.js +1 -1
  316. package/esm2015/datepicker/sub-components/utils/index.js +1 -1
  317. package/esm2015/datepicker/sub-components/utils/linked-list.class.js +1 -1
  318. package/esm2015/datepicker/sub-components/utils/public_api.js +1 -1
  319. package/esm2015/datepicker/sub-components/utils/theme-provider.js +1 -1
  320. package/esm2015/datepicker/sub-components/utils/trigger.class.js +1 -1
  321. package/esm2015/datepicker/sub-components/utils/triggers.js +1 -1
  322. package/esm2015/datepicker/sub-components/utils/utils.class.js +1 -1
  323. package/esm2015/datepicker/sub-components/utils/warn-once.js +1 -1
  324. package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +1 -1
  325. package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +1 -1
  326. package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +1 -1
  327. package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +1 -1
  328. package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +1 -1
  329. package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +1 -1
  330. package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +1 -1
  331. package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +1 -1
  332. package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +1 -1
  333. package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +1 -1
  334. package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +1 -1
  335. package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +1 -1
  336. package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +1 -1
  337. package/esm2015/datepicker/utils/bs-calendar-utils.js +1 -1
  338. package/esm2015/datepicker/utils/matrix-utils.js +1 -1
  339. package/esm2015/datepicker/yearpicker.component.js +1 -1
  340. package/esm2015/drawer/drawer-body/drawer-body.component.js +44 -0
  341. package/esm2015/drawer/drawer-constants.js +4 -0
  342. package/esm2015/drawer/drawer-ref.js +28 -0
  343. package/esm2015/drawer/drawer.module.js +28 -0
  344. package/esm2015/drawer/drawer.service.js +59 -0
  345. package/esm2015/drawer/index.js +2 -0
  346. package/esm2015/drawer/mis-crystal-design-system-drawer.js +6 -0
  347. package/esm2015/drawer/public_api.js +5 -0
  348. package/esm2015/dropdown/dropdown.component.js +1 -1
  349. package/esm2015/dropdown/dropdown.module.js +1 -1
  350. package/esm2015/dropdown/index.js +1 -1
  351. package/esm2015/dropdown/mis-crystal-design-system-dropdown.js +5 -0
  352. package/esm2015/dropdown/public_api.js +1 -1
  353. package/esm2015/fab/fab.component.js +66 -0
  354. package/esm2015/fab/fab.module.js +16 -0
  355. package/esm2015/fab/index.js +2 -0
  356. package/esm2015/fab/mis-crystal-design-system-fab.js +5 -0
  357. package/esm2015/fab/public_api.js +3 -0
  358. package/esm2015/index.js +2 -0
  359. package/esm2015/loader/index.js +1 -1
  360. package/esm2015/loader/loader.component.js +1 -1
  361. package/esm2015/loader/loader.module.js +1 -1
  362. package/esm2015/loader/mis-crystal-design-system-loader.js +5 -0
  363. package/esm2015/loader/public_api.js +1 -1
  364. package/esm2015/mis-crystal-design-system.js +2 -24
  365. package/esm2015/multi-select-dropdown/index.js +1 -1
  366. package/esm2015/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.js +5 -0
  367. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +2 -2
  368. package/esm2015/multi-select-dropdown/multi-select-dropdown.module.js +3 -3
  369. package/esm2015/multi-select-dropdown/public_api.js +1 -1
  370. package/esm2015/nested-multi-select-dropdown/index.js +1 -1
  371. package/esm2015/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.js +5 -0
  372. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +2 -2
  373. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.module.js +3 -3
  374. package/esm2015/nested-multi-select-dropdown/public_api.js +1 -1
  375. package/esm2015/public-api.js +17 -13
  376. package/esm2015/radio-button/index.js +1 -1
  377. package/esm2015/radio-button/mis-crystal-design-system-radio-button.js +5 -0
  378. package/esm2015/radio-button/public_api.js +1 -1
  379. package/esm2015/radio-button/radio-button.component.js +1 -1
  380. package/esm2015/radio-button/radio-button.module.js +1 -1
  381. package/esm2015/switch/index.js +1 -1
  382. package/esm2015/switch/mis-crystal-design-system-switch.js +5 -0
  383. package/esm2015/switch/public_api.js +1 -1
  384. package/esm2015/switch/switch.component.js +1 -1
  385. package/esm2015/switch/switch.module.js +1 -1
  386. package/esm2015/table/custom-table-cell.directive.js +3 -2
  387. package/esm2015/table/filter/filter.component.js +18 -22
  388. package/esm2015/table/index.js +1 -1
  389. package/esm2015/table/mis-crystal-design-system-table.js +6 -0
  390. package/esm2015/table/public_api.js +1 -2
  391. package/esm2015/table/sub-table/sub-table.component.js +3 -3
  392. package/esm2015/table/table.component.js +7 -10
  393. package/esm2015/table/table.module.js +4 -4
  394. package/esm2015/toast/index.js +2 -0
  395. package/esm2015/toast/mis-crystal-design-system-toast.js +7 -0
  396. package/esm2015/toast/public_api.js +3 -0
  397. package/esm2015/toast/toast.component.js +30 -0
  398. package/esm2015/toast/toast.data.service.js +29 -0
  399. package/esm2015/toast/toast.module.js +28 -0
  400. package/esm2015/toast/toast.service.js +99 -0
  401. package/esm2015/tooltip/index.js +1 -1
  402. package/esm2015/tooltip/mis-crystal-design-system-tooltip.js +5 -0
  403. package/esm2015/tooltip/public_api.js +1 -1
  404. package/esm2015/tooltip/tooltip.component.js +1 -1
  405. package/esm2015/tooltip/tooltip.directive.js +1 -1
  406. package/esm2015/tooltip/tooltip.module.js +1 -1
  407. package/fab/fab.component.d.ts +29 -0
  408. package/fab/fab.module.d.ts +4 -0
  409. package/{src/datepicker/sub-components/component-loader → fab}/index.d.ts +0 -0
  410. package/fab/mis-crystal-design-system-fab.d.ts +4 -0
  411. package/fab/mis-crystal-design-system-fab.metadata.json +1 -0
  412. package/fab/package.json +11 -0
  413. package/fab/public_api.d.ts +2 -0
  414. package/fesm2015/mis-crystal-design-system-button.js +64 -0
  415. package/fesm2015/mis-crystal-design-system-button.js.map +1 -0
  416. package/fesm2015/mis-crystal-design-system-checkbox.js +101 -0
  417. package/fesm2015/mis-crystal-design-system-checkbox.js.map +1 -0
  418. package/fesm2015/mis-crystal-design-system-chip.js +53 -0
  419. package/fesm2015/mis-crystal-design-system-chip.js.map +1 -0
  420. package/fesm2015/{mis-crystal-design-system-src-datepicker.js → mis-crystal-design-system-datepicker.js} +1 -1
  421. package/fesm2015/mis-crystal-design-system-datepicker.js.map +1 -0
  422. package/fesm2015/mis-crystal-design-system-drawer.js +156 -0
  423. package/fesm2015/mis-crystal-design-system-drawer.js.map +1 -0
  424. package/fesm2015/mis-crystal-design-system-dropdown.js +108 -0
  425. package/fesm2015/mis-crystal-design-system-dropdown.js.map +1 -0
  426. package/fesm2015/mis-crystal-design-system-fab.js +87 -0
  427. package/fesm2015/mis-crystal-design-system-fab.js.map +1 -0
  428. package/fesm2015/mis-crystal-design-system-loader.js +42 -0
  429. package/fesm2015/mis-crystal-design-system-loader.js.map +1 -0
  430. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +192 -0
  431. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -0
  432. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +246 -0
  433. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js.map +1 -0
  434. package/fesm2015/mis-crystal-design-system-radio-button.js +67 -0
  435. package/fesm2015/mis-crystal-design-system-radio-button.js.map +1 -0
  436. package/fesm2015/mis-crystal-design-system-switch.js +61 -0
  437. package/fesm2015/mis-crystal-design-system-switch.js.map +1 -0
  438. package/fesm2015/mis-crystal-design-system-table.js +413 -0
  439. package/fesm2015/mis-crystal-design-system-table.js.map +1 -0
  440. package/fesm2015/mis-crystal-design-system-toast.js +179 -0
  441. package/fesm2015/mis-crystal-design-system-toast.js.map +1 -0
  442. package/fesm2015/mis-crystal-design-system-tooltip.js +186 -0
  443. package/fesm2015/mis-crystal-design-system-tooltip.js.map +1 -0
  444. package/fesm2015/mis-crystal-design-system.js +16 -14932
  445. package/fesm2015/mis-crystal-design-system.js.map +1 -1
  446. package/index.d.ts +1 -0
  447. package/loader/mis-crystal-design-system-loader.d.ts +4 -0
  448. package/loader/mis-crystal-design-system-loader.metadata.json +1 -0
  449. package/loader/package.json +11 -0
  450. package/mis-crystal-design-system.d.ts +1 -23
  451. package/mis-crystal-design-system.metadata.json +1 -1
  452. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.d.ts +4 -0
  453. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -0
  454. package/multi-select-dropdown/package.json +11 -0
  455. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.d.ts +4 -0
  456. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +1 -0
  457. package/nested-multi-select-dropdown/package.json +11 -0
  458. package/package.json +3 -2
  459. package/public-api.d.ts +2 -12
  460. package/radio-button/mis-crystal-design-system-radio-button.d.ts +4 -0
  461. package/radio-button/mis-crystal-design-system-radio-button.metadata.json +1 -0
  462. package/radio-button/package.json +11 -0
  463. package/switch/mis-crystal-design-system-switch.d.ts +4 -0
  464. package/switch/mis-crystal-design-system-switch.metadata.json +1 -0
  465. package/switch/package.json +11 -0
  466. package/table/filter/filter.component.d.ts +3 -5
  467. package/table/mis-crystal-design-system-table.d.ts +5 -0
  468. package/table/mis-crystal-design-system-table.metadata.json +1 -0
  469. package/table/package.json +11 -0
  470. package/table/public_api.d.ts +1 -1
  471. package/table/sub-table/sub-table.component.d.ts +1 -0
  472. package/table/table.component.d.ts +2 -5
  473. package/{src/datepicker/sub-components/mini-ngrx → toast}/index.d.ts +0 -0
  474. package/toast/mis-crystal-design-system-toast.d.ts +6 -0
  475. package/toast/mis-crystal-design-system-toast.metadata.json +1 -0
  476. package/toast/package.json +11 -0
  477. package/toast/public_api.d.ts +2 -0
  478. package/toast/toast.component.d.ts +5 -0
  479. package/toast/toast.data.service.d.ts +8 -0
  480. package/toast/toast.module.d.ts +5 -0
  481. package/toast/toast.service.d.ts +35 -0
  482. package/tooltip/mis-crystal-design-system-tooltip.d.ts +4 -0
  483. package/tooltip/mis-crystal-design-system-tooltip.metadata.json +1 -0
  484. package/tooltip/package.json +11 -0
  485. package/bundles/mis-crystal-design-system-src-datepicker.umd.js.map +0 -1
  486. package/bundles/mis-crystal-design-system-src-datepicker.umd.min.js.map +0 -1
  487. package/esm2015/src/datepicker/base/bs-datepicker-container.js +0 -47
  488. package/esm2015/src/datepicker/bs-datepicker-inline.component.js +0 -132
  489. package/esm2015/src/datepicker/bs-datepicker-inline.config.js +0 -12
  490. package/esm2015/src/datepicker/bs-datepicker-input.directive.js +0 -159
  491. package/esm2015/src/datepicker/bs-datepicker.component.js +0 -238
  492. package/esm2015/src/datepicker/bs-datepicker.config.js +0 -85
  493. package/esm2015/src/datepicker/bs-datepicker.module.js +0 -97
  494. package/esm2015/src/datepicker/bs-daterangepicker-inline.component.js +0 -129
  495. package/esm2015/src/datepicker/bs-daterangepicker-inline.config.js +0 -19
  496. package/esm2015/src/datepicker/bs-daterangepicker-input.directive.js +0 -191
  497. package/esm2015/src/datepicker/bs-daterangepicker.component.js +0 -227
  498. package/esm2015/src/datepicker/bs-daterangepicker.config.js +0 -17
  499. package/esm2015/src/datepicker/bs-locale.service.js +0 -28
  500. package/esm2015/src/datepicker/date-formatter.js +0 -7
  501. package/esm2015/src/datepicker/datepicker-animations.js +0 -16
  502. package/esm2015/src/datepicker/datepicker-inner.component.js +0 -282
  503. package/esm2015/src/datepicker/datepicker.component.js +0 -140
  504. package/esm2015/src/datepicker/datepicker.config.js +0 -30
  505. package/esm2015/src/datepicker/datepicker.module.js +0 -35
  506. package/esm2015/src/datepicker/daypicker.component.js +0 -174
  507. package/esm2015/src/datepicker/engine/calc-days-calendar.js +0 -19
  508. package/esm2015/src/datepicker/engine/flag-days-calendar.js +0 -91
  509. package/esm2015/src/datepicker/engine/flag-months-calendar.js +0 -41
  510. package/esm2015/src/datepicker/engine/flag-years-calendar.js +0 -39
  511. package/esm2015/src/datepicker/engine/format-days-calendar.js +0 -29
  512. package/esm2015/src/datepicker/engine/format-months-calendar.js +0 -19
  513. package/esm2015/src/datepicker/engine/format-years-calendar.js +0 -35
  514. package/esm2015/src/datepicker/engine/view-mode.js +0 -4
  515. package/esm2015/src/datepicker/mis-crystal-design-system-src-datepicker.js +0 -25
  516. package/esm2015/src/datepicker/models/index.js +0 -9
  517. package/esm2015/src/datepicker/monthpicker.component.js +0 -87
  518. package/esm2015/src/datepicker/public_api.js +0 -26
  519. package/esm2015/src/datepicker/reducer/_defaults.js +0 -5
  520. package/esm2015/src/datepicker/reducer/bs-datepicker.actions.js +0 -132
  521. package/esm2015/src/datepicker/reducer/bs-datepicker.effects.js +0 -170
  522. package/esm2015/src/datepicker/reducer/bs-datepicker.reducer.js +0 -302
  523. package/esm2015/src/datepicker/reducer/bs-datepicker.state.js +0 -12
  524. package/esm2015/src/datepicker/reducer/bs-datepicker.store.js +0 -19
  525. package/esm2015/src/datepicker/sub-components/chronos/create/check-overflow.js +0 -30
  526. package/esm2015/src/datepicker/sub-components/chronos/create/clone.js +0 -6
  527. package/esm2015/src/datepicker/sub-components/chronos/create/date-from-array.js +0 -17
  528. package/esm2015/src/datepicker/sub-components/chronos/create/from-anything.js +0 -107
  529. package/esm2015/src/datepicker/sub-components/chronos/create/from-array.js +0 -136
  530. package/esm2015/src/datepicker/sub-components/chronos/create/from-object.js +0 -17
  531. package/esm2015/src/datepicker/sub-components/chronos/create/from-string-and-array.js +0 -38
  532. package/esm2015/src/datepicker/sub-components/chronos/create/from-string-and-format.js +0 -106
  533. package/esm2015/src/datepicker/sub-components/chronos/create/from-string.js +0 -227
  534. package/esm2015/src/datepicker/sub-components/chronos/create/local.js +0 -16
  535. package/esm2015/src/datepicker/sub-components/chronos/create/parsing-flags.js +0 -26
  536. package/esm2015/src/datepicker/sub-components/chronos/create/parsing.types.js +0 -2
  537. package/esm2015/src/datepicker/sub-components/chronos/create/valid.js +0 -42
  538. package/esm2015/src/datepicker/sub-components/chronos/duration/bubble.js +0 -47
  539. package/esm2015/src/datepicker/sub-components/chronos/duration/constructor.js +0 -130
  540. package/esm2015/src/datepicker/sub-components/chronos/duration/create.js +0 -113
  541. package/esm2015/src/datepicker/sub-components/chronos/duration/humanize.js +0 -80
  542. package/esm2015/src/datepicker/sub-components/chronos/duration/valid.js +0 -45
  543. package/esm2015/src/datepicker/sub-components/chronos/format/format.js +0 -51
  544. package/esm2015/src/datepicker/sub-components/chronos/format.js +0 -46
  545. package/esm2015/src/datepicker/sub-components/chronos/i18n/ar.js +0 -131
  546. package/esm2015/src/datepicker/sub-components/chronos/i18n/bg.js +0 -96
  547. package/esm2015/src/datepicker/sub-components/chronos/i18n/ca.js +0 -91
  548. package/esm2015/src/datepicker/sub-components/chronos/i18n/cs.js +0 -181
  549. package/esm2015/src/datepicker/sub-components/chronos/i18n/da.js +0 -50
  550. package/esm2015/src/datepicker/sub-components/chronos/i18n/de.js +0 -72
  551. package/esm2015/src/datepicker/sub-components/chronos/i18n/en-gb.js +0 -61
  552. package/esm2015/src/datepicker/sub-components/chronos/i18n/es-do.js +0 -85
  553. package/esm2015/src/datepicker/sub-components/chronos/i18n/es-us.js +0 -79
  554. package/esm2015/src/datepicker/sub-components/chronos/i18n/es.js +0 -84
  555. package/esm2015/src/datepicker/sub-components/chronos/i18n/et.js +0 -75
  556. package/esm2015/src/datepicker/sub-components/chronos/i18n/fi.js +0 -100
  557. package/esm2015/src/datepicker/sub-components/chronos/i18n/fr.js +0 -76
  558. package/esm2015/src/datepicker/sub-components/chronos/i18n/gl.js +0 -84
  559. package/esm2015/src/datepicker/sub-components/chronos/i18n/he.js +0 -98
  560. package/esm2015/src/datepicker/sub-components/chronos/i18n/hi.js +0 -124
  561. package/esm2015/src/datepicker/sub-components/chronos/i18n/hr.js +0 -62
  562. package/esm2015/src/datepicker/sub-components/chronos/i18n/hu.js +0 -104
  563. package/esm2015/src/datepicker/sub-components/chronos/i18n/id.js +0 -83
  564. package/esm2015/src/datepicker/sub-components/chronos/i18n/it.js +0 -65
  565. package/esm2015/src/datepicker/sub-components/chronos/i18n/ja.js +0 -75
  566. package/esm2015/src/datepicker/sub-components/chronos/i18n/ka.js +0 -87
  567. package/esm2015/src/datepicker/sub-components/chronos/i18n/kk.js +0 -76
  568. package/esm2015/src/datepicker/sub-components/chronos/i18n/ko.js +0 -77
  569. package/esm2015/src/datepicker/sub-components/chronos/i18n/lt.js +0 -116
  570. package/esm2015/src/datepicker/sub-components/chronos/i18n/lv.js +0 -56
  571. package/esm2015/src/datepicker/sub-components/chronos/i18n/mn.js +0 -99
  572. package/esm2015/src/datepicker/sub-components/chronos/i18n/nb.js +0 -53
  573. package/esm2015/src/datepicker/sub-components/chronos/i18n/nl-be.js +0 -81
  574. package/esm2015/src/datepicker/sub-components/chronos/i18n/nl.js +0 -80
  575. package/esm2015/src/datepicker/sub-components/chronos/i18n/pl.js +0 -126
  576. package/esm2015/src/datepicker/sub-components/chronos/i18n/pt-br.js +0 -56
  577. package/esm2015/src/datepicker/sub-components/chronos/i18n/ro.js +0 -66
  578. package/esm2015/src/datepicker/sub-components/chronos/i18n/ru.js +0 -181
  579. package/esm2015/src/datepicker/sub-components/chronos/i18n/sk.js +0 -157
  580. package/esm2015/src/datepicker/sub-components/chronos/i18n/sl.js +0 -184
  581. package/esm2015/src/datepicker/sub-components/chronos/i18n/sq.js +0 -54
  582. package/esm2015/src/datepicker/sub-components/chronos/i18n/sv.js +0 -63
  583. package/esm2015/src/datepicker/sub-components/chronos/i18n/th-be.js +0 -74
  584. package/esm2015/src/datepicker/sub-components/chronos/i18n/th.js +0 -59
  585. package/esm2015/src/datepicker/sub-components/chronos/i18n/tr.js +0 -82
  586. package/esm2015/src/datepicker/sub-components/chronos/i18n/uk.js +0 -147
  587. package/esm2015/src/datepicker/sub-components/chronos/i18n/vi.js +0 -74
  588. package/esm2015/src/datepicker/sub-components/chronos/i18n/zh-cn.js +0 -114
  589. package/esm2015/src/datepicker/sub-components/chronos/index.js +0 -2
  590. package/esm2015/src/datepicker/sub-components/chronos/locale/calendar.js +0 -9
  591. package/esm2015/src/datepicker/sub-components/chronos/locale/locale.class.js +0 -532
  592. package/esm2015/src/datepicker/sub-components/chronos/locale/locale.defaults.js +0 -40
  593. package/esm2015/src/datepicker/sub-components/chronos/locale/locales.js +0 -229
  594. package/esm2015/src/datepicker/sub-components/chronos/moment/add-subtract.js +0 -35
  595. package/esm2015/src/datepicker/sub-components/chronos/moment/calendar.js +0 -41
  596. package/esm2015/src/datepicker/sub-components/chronos/moment/diff.js +0 -70
  597. package/esm2015/src/datepicker/sub-components/chronos/moment/min-max.js +0 -38
  598. package/esm2015/src/datepicker/sub-components/chronos/parse/regex.js +0 -49
  599. package/esm2015/src/datepicker/sub-components/chronos/parse/token.js +0 -32
  600. package/esm2015/src/datepicker/sub-components/chronos/public_api.js +0 -56
  601. package/esm2015/src/datepicker/sub-components/chronos/test/chain.js +0 -711
  602. package/esm2015/src/datepicker/sub-components/chronos/types.js +0 -2
  603. package/esm2015/src/datepicker/sub-components/chronos/units/aliases.js +0 -35
  604. package/esm2015/src/datepicker/sub-components/chronos/units/constants.js +0 -11
  605. package/esm2015/src/datepicker/sub-components/chronos/units/day-of-month.js +0 -31
  606. package/esm2015/src/datepicker/sub-components/chronos/units/day-of-week.js +0 -129
  607. package/esm2015/src/datepicker/sub-components/chronos/units/day-of-year.js +0 -37
  608. package/esm2015/src/datepicker/sub-components/chronos/units/hour.js +0 -127
  609. package/esm2015/src/datepicker/sub-components/chronos/units/index.js +0 -19
  610. package/esm2015/src/datepicker/sub-components/chronos/units/millisecond.js +0 -60
  611. package/esm2015/src/datepicker/sub-components/chronos/units/minute.js +0 -23
  612. package/esm2015/src/datepicker/sub-components/chronos/units/month.js +0 -63
  613. package/esm2015/src/datepicker/sub-components/chronos/units/offset.js +0 -210
  614. package/esm2015/src/datepicker/sub-components/chronos/units/priorities.js +0 -21
  615. package/esm2015/src/datepicker/sub-components/chronos/units/quarter.js +0 -39
  616. package/esm2015/src/datepicker/sub-components/chronos/units/second.js +0 -23
  617. package/esm2015/src/datepicker/sub-components/chronos/units/timestamp.js +0 -28
  618. package/esm2015/src/datepicker/sub-components/chronos/units/timezone.js +0 -19
  619. package/esm2015/src/datepicker/sub-components/chronos/units/week-calendar-utils.js +0 -70
  620. package/esm2015/src/datepicker/sub-components/chronos/units/week-year.js +0 -101
  621. package/esm2015/src/datepicker/sub-components/chronos/units/week.js +0 -58
  622. package/esm2015/src/datepicker/sub-components/chronos/units/year.js +0 -60
  623. package/esm2015/src/datepicker/sub-components/chronos/utils/abs-ceil.js +0 -4
  624. package/esm2015/src/datepicker/sub-components/chronos/utils/abs-round.js +0 -4
  625. package/esm2015/src/datepicker/sub-components/chronos/utils/compare-arrays.js +0 -16
  626. package/esm2015/src/datepicker/sub-components/chronos/utils/date-compare.js +0 -55
  627. package/esm2015/src/datepicker/sub-components/chronos/utils/date-getters.js +0 -67
  628. package/esm2015/src/datepicker/sub-components/chronos/utils/date-setters.js +0 -75
  629. package/esm2015/src/datepicker/sub-components/chronos/utils/defaults.js +0 -11
  630. package/esm2015/src/datepicker/sub-components/chronos/utils/start-end-of.js +0 -57
  631. package/esm2015/src/datepicker/sub-components/chronos/utils/type-checks.js +0 -56
  632. package/esm2015/src/datepicker/sub-components/chronos/utils/zero-fill.js +0 -10
  633. package/esm2015/src/datepicker/sub-components/chronos/utils.js +0 -7
  634. package/esm2015/src/datepicker/sub-components/component-loader/bs-component-ref.class.js +0 -3
  635. package/esm2015/src/datepicker/sub-components/component-loader/component-loader.class.js +0 -272
  636. package/esm2015/src/datepicker/sub-components/component-loader/component-loader.factory.js +0 -32
  637. package/esm2015/src/datepicker/sub-components/component-loader/content-ref.class.js +0 -12
  638. package/esm2015/src/datepicker/sub-components/component-loader/index.js +0 -2
  639. package/esm2015/src/datepicker/sub-components/component-loader/listen-options.model.js +0 -2
  640. package/esm2015/src/datepicker/sub-components/component-loader/public_api.js +0 -5
  641. package/esm2015/src/datepicker/sub-components/mini-ngrx/index.js +0 -2
  642. package/esm2015/src/datepicker/sub-components/mini-ngrx/public_api.js +0 -3
  643. package/esm2015/src/datepicker/sub-components/mini-ngrx/state.class.js +0 -16
  644. package/esm2015/src/datepicker/sub-components/mini-ngrx/store.class.js +0 -43
  645. package/esm2015/src/datepicker/sub-components/positioning/index.js +0 -2
  646. package/esm2015/src/datepicker/sub-components/positioning/models/index.js +0 -2
  647. package/esm2015/src/datepicker/sub-components/positioning/modifiers/arrow.js +0 -56
  648. package/esm2015/src/datepicker/sub-components/positioning/modifiers/flip.js +0 -60
  649. package/esm2015/src/datepicker/sub-components/positioning/modifiers/index.js +0 -6
  650. package/esm2015/src/datepicker/sub-components/positioning/modifiers/initData.js +0 -42
  651. package/esm2015/src/datepicker/sub-components/positioning/modifiers/preventOverflow.js +0 -56
  652. package/esm2015/src/datepicker/sub-components/positioning/modifiers/shift.js +0 -22
  653. package/esm2015/src/datepicker/sub-components/positioning/ng-positioning.js +0 -30
  654. package/esm2015/src/datepicker/sub-components/positioning/positioning.service.js +0 -71
  655. package/esm2015/src/datepicker/sub-components/positioning/public_api.js +0 -3
  656. package/esm2015/src/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +0 -53
  657. package/esm2015/src/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +0 -40
  658. package/esm2015/src/datepicker/sub-components/positioning/utils/getBordersSize.js +0 -10
  659. package/esm2015/src/datepicker/sub-components/positioning/utils/getBoundaries.js +0 -56
  660. package/esm2015/src/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +0 -55
  661. package/esm2015/src/datepicker/sub-components/positioning/utils/getClientRect.js +0 -4
  662. package/esm2015/src/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +0 -17
  663. package/esm2015/src/datepicker/sub-components/positioning/utils/getOffsetParent.js +0 -32
  664. package/esm2015/src/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +0 -51
  665. package/esm2015/src/datepicker/sub-components/positioning/utils/getOffsets.js +0 -11
  666. package/esm2015/src/datepicker/sub-components/positioning/utils/getOppositePlacement.js +0 -8
  667. package/esm2015/src/datepicker/sub-components/positioning/utils/getOppositeVariation.js +0 -13
  668. package/esm2015/src/datepicker/sub-components/positioning/utils/getOuterSizes.js +0 -14
  669. package/esm2015/src/datepicker/sub-components/positioning/utils/getParentNode.js +0 -10
  670. package/esm2015/src/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +0 -13
  671. package/esm2015/src/datepicker/sub-components/positioning/utils/getRoot.js +0 -10
  672. package/esm2015/src/datepicker/sub-components/positioning/utils/getScroll.js +0 -14
  673. package/esm2015/src/datepicker/sub-components/positioning/utils/getScrollParent.js +0 -26
  674. package/esm2015/src/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +0 -13
  675. package/esm2015/src/datepicker/sub-components/positioning/utils/getTargetOffsets.js +0 -30
  676. package/esm2015/src/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  677. package/esm2015/src/datepicker/sub-components/positioning/utils/getWindowSizes.js +0 -18
  678. package/esm2015/src/datepicker/sub-components/positioning/utils/includeScroll.js +0 -15
  679. package/esm2015/src/datepicker/sub-components/positioning/utils/index.js +0 -24
  680. package/esm2015/src/datepicker/sub-components/positioning/utils/isBrowser.js +0 -2
  681. package/esm2015/src/datepicker/sub-components/positioning/utils/isFixed.js +0 -16
  682. package/esm2015/src/datepicker/sub-components/positioning/utils/isIE.js +0 -16
  683. package/esm2015/src/datepicker/sub-components/positioning/utils/isModifierEnabled.js +0 -10
  684. package/esm2015/src/datepicker/sub-components/positioning/utils/isNumeric.js +0 -7
  685. package/esm2015/src/datepicker/sub-components/positioning/utils/isOffsetContainer.js +0 -9
  686. package/esm2015/src/datepicker/sub-components/positioning/utils/setStyles.js +0 -17
  687. package/esm2015/src/datepicker/sub-components/positioning/utils/updateContainerClass.js +0 -22
  688. package/esm2015/src/datepicker/sub-components/tooltip/index.js +0 -2
  689. package/esm2015/src/datepicker/sub-components/tooltip/public_api.js +0 -5
  690. package/esm2015/src/datepicker/sub-components/tooltip/tooltip-container.component.js +0 -63
  691. package/esm2015/src/datepicker/sub-components/tooltip/tooltip.config.js +0 -23
  692. package/esm2015/src/datepicker/sub-components/tooltip/tooltip.directive.js +0 -282
  693. package/esm2015/src/datepicker/sub-components/tooltip/tooltip.module.js +0 -23
  694. package/esm2015/src/datepicker/sub-components/utils/decorators.js +0 -25
  695. package/esm2015/src/datepicker/sub-components/utils/facade/browser.js +0 -24
  696. package/esm2015/src/datepicker/sub-components/utils/index.js +0 -2
  697. package/esm2015/src/datepicker/sub-components/utils/linked-list.class.js +0 -240
  698. package/esm2015/src/datepicker/sub-components/utils/public_api.js +0 -11
  699. package/esm2015/src/datepicker/sub-components/utils/theme-provider.js +0 -35
  700. package/esm2015/src/datepicker/sub-components/utils/trigger.class.js +0 -10
  701. package/esm2015/src/datepicker/sub-components/utils/triggers.js +0 -110
  702. package/esm2015/src/datepicker/sub-components/utils/utils.class.js +0 -21
  703. package/esm2015/src/datepicker/sub-components/utils/warn-once.js +0 -12
  704. package/esm2015/src/datepicker/themes/bs/bs-calendar-layout.component.js +0 -25
  705. package/esm2015/src/datepicker/themes/bs/bs-current-date-view.component.js +0 -13
  706. package/esm2015/src/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -44
  707. package/esm2015/src/datepicker/themes/bs/bs-datepicker-container.component.js +0 -152
  708. package/esm2015/src/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  709. package/esm2015/src/datepicker/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  710. package/esm2015/src/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  711. package/esm2015/src/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -195
  712. package/esm2015/src/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  713. package/esm2015/src/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -162
  714. package/esm2015/src/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -60
  715. package/esm2015/src/datepicker/themes/bs/bs-timepicker-view.component.js +0 -34
  716. package/esm2015/src/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -61
  717. package/esm2015/src/datepicker/utils/bs-calendar-utils.js +0 -43
  718. package/esm2015/src/datepicker/utils/matrix-utils.js +0 -14
  719. package/esm2015/src/datepicker/yearpicker.component.js +0 -90
  720. package/fesm2015/mis-crystal-design-system-src-datepicker.js.map +0 -1
  721. package/src/datepicker/base/bs-datepicker-container.d.ts +0 -44
  722. package/src/datepicker/bs-datepicker-inline.component.d.ts +0 -61
  723. package/src/datepicker/bs-datepicker-inline.config.d.ts +0 -3
  724. package/src/datepicker/bs-datepicker-input.directive.d.ts +0 -30
  725. package/src/datepicker/bs-datepicker.component.d.ts +0 -123
  726. package/src/datepicker/bs-datepicker.config.d.ts +0 -140
  727. package/src/datepicker/bs-datepicker.module.d.ts +0 -4
  728. package/src/datepicker/bs-daterangepicker-inline.component.d.ts +0 -61
  729. package/src/datepicker/bs-daterangepicker-inline.config.d.ts +0 -6
  730. package/src/datepicker/bs-daterangepicker-input.directive.d.ts +0 -30
  731. package/src/datepicker/bs-daterangepicker.component.d.ts +0 -115
  732. package/src/datepicker/bs-daterangepicker.config.d.ts +0 -4
  733. package/src/datepicker/bs-locale.service.d.ts +0 -10
  734. package/src/datepicker/date-formatter.d.ts +0 -3
  735. package/src/datepicker/datepicker-animations.d.ts +0 -3
  736. package/src/datepicker/datepicker-inner.component.d.ts +0 -75
  737. package/src/datepicker/datepicker.component.d.ts +0 -78
  738. package/src/datepicker/datepicker.config.d.ts +0 -19
  739. package/src/datepicker/datepicker.module.d.ts +0 -4
  740. package/src/datepicker/daypicker.component.d.ts +0 -14
  741. package/src/datepicker/engine/calc-days-calendar.d.ts +0 -2
  742. package/src/datepicker/engine/flag-days-calendar.d.ts +0 -17
  743. package/src/datepicker/engine/flag-months-calendar.d.ts +0 -12
  744. package/src/datepicker/engine/flag-years-calendar.d.ts +0 -12
  745. package/src/datepicker/engine/format-days-calendar.d.ts +0 -4
  746. package/src/datepicker/engine/format-months-calendar.d.ts +0 -2
  747. package/src/datepicker/engine/format-years-calendar.d.ts +0 -4
  748. package/src/datepicker/engine/view-mode.d.ts +0 -2
  749. package/src/datepicker/models/index.d.ts +0 -102
  750. package/src/datepicker/monthpicker.component.d.ts +0 -11
  751. package/src/datepicker/package.json +0 -14
  752. package/src/datepicker/public_api.d.ts +0 -26
  753. package/src/datepicker/reducer/_defaults.d.ts +0 -2
  754. package/src/datepicker/reducer/bs-datepicker.actions.d.ts +0 -43
  755. package/src/datepicker/reducer/bs-datepicker.effects.d.ts +0 -38
  756. package/src/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  757. package/src/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
  758. package/src/datepicker/reducer/bs-datepicker.store.d.ts +0 -5
  759. package/src/datepicker/sub-components/chronos/create/check-overflow.d.ts +0 -2
  760. package/src/datepicker/sub-components/chronos/create/clone.d.ts +0 -1
  761. package/src/datepicker/sub-components/chronos/create/date-from-array.d.ts +0 -2
  762. package/src/datepicker/sub-components/chronos/create/from-anything.d.ts +0 -4
  763. package/src/datepicker/sub-components/chronos/create/from-array.d.ts +0 -2
  764. package/src/datepicker/sub-components/chronos/create/from-object.d.ts +0 -2
  765. package/src/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +0 -2
  766. package/src/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +0 -4
  767. package/src/datepicker/sub-components/chronos/create/from-string.d.ts +0 -4
  768. package/src/datepicker/sub-components/chronos/create/local.d.ts +0 -3
  769. package/src/datepicker/sub-components/chronos/create/parsing-flags.d.ts +0 -2
  770. package/src/datepicker/sub-components/chronos/create/parsing.types.d.ts +0 -64
  771. package/src/datepicker/sub-components/chronos/create/valid.d.ts +0 -6
  772. package/src/datepicker/sub-components/chronos/duration/bubble.d.ts +0 -4
  773. package/src/datepicker/sub-components/chronos/duration/constructor.d.ts +0 -21
  774. package/src/datepicker/sub-components/chronos/duration/create.d.ts +0 -8
  775. package/src/datepicker/sub-components/chronos/duration/humanize.d.ts +0 -5
  776. package/src/datepicker/sub-components/chronos/duration/valid.d.ts +0 -2
  777. package/src/datepicker/sub-components/chronos/format/format.d.ts +0 -11
  778. package/src/datepicker/sub-components/chronos/format.d.ts +0 -5
  779. package/src/datepicker/sub-components/chronos/i18n/ar.d.ts +0 -2
  780. package/src/datepicker/sub-components/chronos/i18n/bg.d.ts +0 -2
  781. package/src/datepicker/sub-components/chronos/i18n/ca.d.ts +0 -2
  782. package/src/datepicker/sub-components/chronos/i18n/cs.d.ts +0 -2
  783. package/src/datepicker/sub-components/chronos/i18n/da.d.ts +0 -2
  784. package/src/datepicker/sub-components/chronos/i18n/de.d.ts +0 -2
  785. package/src/datepicker/sub-components/chronos/i18n/en-gb.d.ts +0 -2
  786. package/src/datepicker/sub-components/chronos/i18n/es-do.d.ts +0 -2
  787. package/src/datepicker/sub-components/chronos/i18n/es-us.d.ts +0 -2
  788. package/src/datepicker/sub-components/chronos/i18n/es.d.ts +0 -2
  789. package/src/datepicker/sub-components/chronos/i18n/et.d.ts +0 -2
  790. package/src/datepicker/sub-components/chronos/i18n/fi.d.ts +0 -2
  791. package/src/datepicker/sub-components/chronos/i18n/fr.d.ts +0 -2
  792. package/src/datepicker/sub-components/chronos/i18n/gl.d.ts +0 -2
  793. package/src/datepicker/sub-components/chronos/i18n/he.d.ts +0 -2
  794. package/src/datepicker/sub-components/chronos/i18n/hi.d.ts +0 -2
  795. package/src/datepicker/sub-components/chronos/i18n/hr.d.ts +0 -2
  796. package/src/datepicker/sub-components/chronos/i18n/hu.d.ts +0 -2
  797. package/src/datepicker/sub-components/chronos/i18n/id.d.ts +0 -2
  798. package/src/datepicker/sub-components/chronos/i18n/it.d.ts +0 -2
  799. package/src/datepicker/sub-components/chronos/i18n/ja.d.ts +0 -2
  800. package/src/datepicker/sub-components/chronos/i18n/ka.d.ts +0 -2
  801. package/src/datepicker/sub-components/chronos/i18n/kk.d.ts +0 -2
  802. package/src/datepicker/sub-components/chronos/i18n/ko.d.ts +0 -2
  803. package/src/datepicker/sub-components/chronos/i18n/lt.d.ts +0 -2
  804. package/src/datepicker/sub-components/chronos/i18n/lv.d.ts +0 -2
  805. package/src/datepicker/sub-components/chronos/i18n/mn.d.ts +0 -2
  806. package/src/datepicker/sub-components/chronos/i18n/nb.d.ts +0 -2
  807. package/src/datepicker/sub-components/chronos/i18n/nl-be.d.ts +0 -2
  808. package/src/datepicker/sub-components/chronos/i18n/nl.d.ts +0 -2
  809. package/src/datepicker/sub-components/chronos/i18n/pl.d.ts +0 -2
  810. package/src/datepicker/sub-components/chronos/i18n/pt-br.d.ts +0 -2
  811. package/src/datepicker/sub-components/chronos/i18n/ro.d.ts +0 -2
  812. package/src/datepicker/sub-components/chronos/i18n/ru.d.ts +0 -2
  813. package/src/datepicker/sub-components/chronos/i18n/sk.d.ts +0 -2
  814. package/src/datepicker/sub-components/chronos/i18n/sl.d.ts +0 -2
  815. package/src/datepicker/sub-components/chronos/i18n/sq.d.ts +0 -2
  816. package/src/datepicker/sub-components/chronos/i18n/sv.d.ts +0 -2
  817. package/src/datepicker/sub-components/chronos/i18n/th-be.d.ts +0 -2
  818. package/src/datepicker/sub-components/chronos/i18n/th.d.ts +0 -2
  819. package/src/datepicker/sub-components/chronos/i18n/tr.d.ts +0 -2
  820. package/src/datepicker/sub-components/chronos/i18n/uk.d.ts +0 -2
  821. package/src/datepicker/sub-components/chronos/i18n/vi.d.ts +0 -2
  822. package/src/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +0 -2
  823. package/src/datepicker/sub-components/chronos/locale/calendar.d.ts +0 -8
  824. package/src/datepicker/sub-components/chronos/locale/locale.class.d.ts +0 -143
  825. package/src/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +0 -11
  826. package/src/datepicker/sub-components/chronos/locale/locales.d.ts +0 -7
  827. package/src/datepicker/sub-components/chronos/moment/add-subtract.d.ts +0 -5
  828. package/src/datepicker/sub-components/chronos/moment/calendar.d.ts +0 -15
  829. package/src/datepicker/sub-components/chronos/moment/diff.d.ts +0 -3
  830. package/src/datepicker/sub-components/chronos/moment/min-max.d.ts +0 -2
  831. package/src/datepicker/sub-components/chronos/parse/regex.d.ts +0 -22
  832. package/src/datepicker/sub-components/chronos/parse/token.d.ts +0 -5
  833. package/src/datepicker/sub-components/chronos/public_api.d.ts +0 -57
  834. package/src/datepicker/sub-components/chronos/test/chain.d.ts +0 -214
  835. package/src/datepicker/sub-components/chronos/types.d.ts +0 -36
  836. package/src/datepicker/sub-components/chronos/units/aliases.d.ts +0 -7
  837. package/src/datepicker/sub-components/chronos/units/constants.d.ts +0 -9
  838. package/src/datepicker/sub-components/chronos/units/day-of-month.d.ts +0 -1
  839. package/src/datepicker/sub-components/chronos/units/day-of-week.d.ts +0 -20
  840. package/src/datepicker/sub-components/chronos/units/day-of-year.d.ts +0 -3
  841. package/src/datepicker/sub-components/chronos/units/hour.d.ts +0 -1
  842. package/src/datepicker/sub-components/chronos/units/index.d.ts +0 -18
  843. package/src/datepicker/sub-components/chronos/units/millisecond.d.ts +0 -1
  844. package/src/datepicker/sub-components/chronos/units/minute.d.ts +0 -1
  845. package/src/datepicker/sub-components/chronos/units/month.d.ts +0 -2
  846. package/src/datepicker/sub-components/chronos/units/offset.d.ts +0 -10
  847. package/src/datepicker/sub-components/chronos/units/priorities.d.ts +0 -1
  848. package/src/datepicker/sub-components/chronos/units/quarter.d.ts +0 -3
  849. package/src/datepicker/sub-components/chronos/units/second.d.ts +0 -1
  850. package/src/datepicker/sub-components/chronos/units/timestamp.d.ts +0 -1
  851. package/src/datepicker/sub-components/chronos/units/timezone.d.ts +0 -3
  852. package/src/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +0 -9
  853. package/src/datepicker/sub-components/chronos/units/week-year.d.ts +0 -8
  854. package/src/datepicker/sub-components/chronos/units/week.d.ts +0 -6
  855. package/src/datepicker/sub-components/chronos/units/year.d.ts +0 -4
  856. package/src/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +0 -1
  857. package/src/datepicker/sub-components/chronos/utils/abs-round.d.ts +0 -1
  858. package/src/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +0 -1
  859. package/src/datepicker/sub-components/chronos/utils/date-compare.d.ts +0 -9
  860. package/src/datepicker/sub-components/chronos/utils/date-getters.d.ts +0 -18
  861. package/src/datepicker/sub-components/chronos/utils/date-setters.d.ts +0 -12
  862. package/src/datepicker/sub-components/chronos/utils/defaults.d.ts +0 -1
  863. package/src/datepicker/sub-components/chronos/utils/start-end-of.d.ts +0 -3
  864. package/src/datepicker/sub-components/chronos/utils/type-checks.d.ts +0 -12
  865. package/src/datepicker/sub-components/chronos/utils/zero-fill.d.ts +0 -1
  866. package/src/datepicker/sub-components/chronos/utils.d.ts +0 -2
  867. package/src/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +0 -5
  868. package/src/datepicker/sub-components/component-loader/component-loader.class.d.ts +0 -75
  869. package/src/datepicker/sub-components/component-loader/component-loader.factory.d.ts +0 -18
  870. package/src/datepicker/sub-components/component-loader/content-ref.class.d.ts +0 -7
  871. package/src/datepicker/sub-components/component-loader/listen-options.model.d.ts +0 -11
  872. package/src/datepicker/sub-components/component-loader/public_api.d.ts +0 -4
  873. package/src/datepicker/sub-components/mini-ngrx/public_api.d.ts +0 -7
  874. package/src/datepicker/sub-components/mini-ngrx/state.class.d.ts +0 -8
  875. package/src/datepicker/sub-components/mini-ngrx/store.class.d.ts +0 -16
  876. package/src/datepicker/sub-components/positioning/index.d.ts +0 -1
  877. package/src/datepicker/sub-components/positioning/models/index.d.ts +0 -41
  878. package/src/datepicker/sub-components/positioning/modifiers/arrow.d.ts +0 -2
  879. package/src/datepicker/sub-components/positioning/modifiers/flip.d.ts +0 -2
  880. package/src/datepicker/sub-components/positioning/modifiers/index.d.ts +0 -5
  881. package/src/datepicker/sub-components/positioning/modifiers/initData.d.ts +0 -2
  882. package/src/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +0 -2
  883. package/src/datepicker/sub-components/positioning/modifiers/shift.d.ts +0 -2
  884. package/src/datepicker/sub-components/positioning/ng-positioning.d.ts +0 -8
  885. package/src/datepicker/sub-components/positioning/positioning.service.d.ts +0 -45
  886. package/src/datepicker/sub-components/positioning/public_api.d.ts +0 -2
  887. package/src/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +0 -2
  888. package/src/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  889. package/src/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +0 -4
  890. package/src/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +0 -1
  891. package/src/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +0 -2
  892. package/src/datepicker/sub-components/positioning/utils/getClientRect.d.ts +0 -5
  893. package/src/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  894. package/src/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +0 -1
  895. package/src/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  896. package/src/datepicker/sub-components/positioning/utils/getOffsets.d.ts +0 -2
  897. package/src/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +0 -4
  898. package/src/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +0 -4
  899. package/src/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +0 -7
  900. package/src/datepicker/sub-components/positioning/utils/getParentNode.d.ts +0 -4
  901. package/src/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +0 -2
  902. package/src/datepicker/sub-components/positioning/utils/getRoot.d.ts +0 -4
  903. package/src/datepicker/sub-components/positioning/utils/getScroll.d.ts +0 -4
  904. package/src/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +0 -1
  905. package/src/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +0 -4
  906. package/src/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +0 -2
  907. package/src/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  908. package/src/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +0 -4
  909. package/src/datepicker/sub-components/positioning/utils/includeScroll.d.ts +0 -2
  910. package/src/datepicker/sub-components/positioning/utils/index.d.ts +0 -23
  911. package/src/datepicker/sub-components/positioning/utils/isBrowser.d.ts +0 -1
  912. package/src/datepicker/sub-components/positioning/utils/isFixed.d.ts +0 -1
  913. package/src/datepicker/sub-components/positioning/utils/isIE.d.ts +0 -1
  914. package/src/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +0 -4
  915. package/src/datepicker/sub-components/positioning/utils/isNumeric.d.ts +0 -4
  916. package/src/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +0 -1
  917. package/src/datepicker/sub-components/positioning/utils/setStyles.d.ts +0 -5
  918. package/src/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +0 -6
  919. package/src/datepicker/sub-components/tooltip/index.d.ts +0 -1
  920. package/src/datepicker/sub-components/tooltip/public_api.d.ts +0 -4
  921. package/src/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +0 -14
  922. package/src/datepicker/sub-components/tooltip/tooltip.config.d.ts +0 -13
  923. package/src/datepicker/sub-components/tooltip/tooltip.directive.d.ts +0 -109
  924. package/src/datepicker/sub-components/tooltip/tooltip.module.d.ts +0 -4
  925. package/src/datepicker/sub-components/utils/decorators.d.ts +0 -1
  926. package/src/datepicker/sub-components/utils/facade/browser.d.ts +0 -23
  927. package/src/datepicker/sub-components/utils/index.d.ts +0 -1
  928. package/src/datepicker/sub-components/utils/linked-list.class.d.ts +0 -26
  929. package/src/datepicker/sub-components/utils/public_api.d.ts +0 -10
  930. package/src/datepicker/sub-components/utils/theme-provider.d.ts +0 -2
  931. package/src/datepicker/sub-components/utils/trigger.class.d.ts +0 -6
  932. package/src/datepicker/sub-components/utils/triggers.d.ts +0 -18
  933. package/src/datepicker/sub-components/utils/utils.class.d.ts +0 -4
  934. package/src/datepicker/sub-components/utils/warn-once.d.ts +0 -1
  935. package/src/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -2
  936. package/src/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -3
  937. package/src/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -14
  938. package/src/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -33
  939. package/src/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -11
  940. package/src/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -10
  941. package/src/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -9
  942. package/src/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -37
  943. package/src/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -10
  944. package/src/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -23
  945. package/src/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -13
  946. package/src/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -5
  947. package/src/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -13
  948. package/src/datepicker/utils/bs-calendar-utils.d.ts +0 -10
  949. package/src/datepicker/utils/matrix-utils.d.ts +0 -9
  950. package/src/datepicker/yearpicker.component.d.ts +0 -11
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3JjL2RhdGVwaWNrZXIvcmVkdWNlci9icy1kYXRlcGlja2VyLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBQ3JDLE9BQU8sRUFBc0Isc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixNQUFNLEVBQ1AsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekUscURBQXFEO0FBQ3JELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsc0JBQXNC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YjtJQUVELElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3BFLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTptYXgtZmlsZS1saW5lLWNvdW50XG5pbXBvcnQgeyBNaXNEYXRlUGlja2VyU3RhdGUsIGluaXRpYWxEYXRlUGlja2VyU3RhdGUgfSBmcm9tICcuL2JzLWRhdGVwaWNrZXIuc3RhdGUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc3ViLWNvbXBvbmVudHMvbWluaS1uZ3J4JztcbmltcG9ydCB7IE1pc0RhdGVQaWNrZXJBY3Rpb25zIH0gZnJvbSAnLi9icy1kYXRlcGlja2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgY2FsY0RheXNDYWxlbmRhciB9IGZyb20gJy4uL2VuZ2luZS9jYWxjLWRheXMtY2FsZW5kYXInO1xuaW1wb3J0IHsgZm9ybWF0RGF5c0NhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2Zvcm1hdC1kYXlzLWNhbGVuZGFyJztcbmltcG9ydCB7IGZsYWdEYXlzQ2FsZW5kYXIgfSBmcm9tICcuLi9lbmdpbmUvZmxhZy1kYXlzLWNhbGVuZGFyJztcbmltcG9ydCB7XG4gIHNldEZ1bGxEYXRlLFxuICBzaGlmdERhdGUsXG4gIGlzQXJyYXksXG4gIGlzRGF0ZVZhbGlkLFxuICBzdGFydE9mLFxuICBnZXRMb2NhbGUsXG4gIGlzQWZ0ZXIsXG4gIGlzQmVmb3JlLFxuICBpc1NhbWVcbn0gZnJvbSAnLi4vc3ViLWNvbXBvbmVudHMvY2hyb25vcyc7XG5pbXBvcnQgeyBjYW5Td2l0Y2hNb2RlIH0gZnJvbSAnLi4vZW5naW5lL3ZpZXctbW9kZSc7XG5pbXBvcnQgeyBmb3JtYXRNb250aHNDYWxlbmRhciB9IGZyb20gJy4uL2VuZ2luZS9mb3JtYXQtbW9udGhzLWNhbGVuZGFyJztcbmltcG9ydCB7IGZsYWdNb250aHNDYWxlbmRhciB9IGZyb20gJy4uL2VuZ2luZS9mbGFnLW1vbnRocy1jYWxlbmRhcic7XG5pbXBvcnQgeyBmb3JtYXRZZWFyc0NhbGVuZGFyLCBpbml0aWFsWWVhclNoaWZ0LCB5ZWFyc1BlckNhbGVuZGFyIH0gZnJvbSAnLi4vZW5naW5lL2Zvcm1hdC15ZWFycy1jYWxlbmRhcic7XG5pbXBvcnQgeyBmbGFnWWVhcnNDYWxlbmRhciB9IGZyb20gJy4uL2VuZ2luZS9mbGFnLXllYXJzLWNhbGVuZGFyJztcbmltcG9ydCB7IEJzVmlld05hdmlnYXRpb25FdmVudCwgRGF0ZVBpY2tlckZvcm1hdE9wdGlvbnMsIE1pc0RhdGVQaWNrZXJWaWV3TW9kZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBnZXRZZWFyc0NhbGVuZGFySW5pdGlhbERhdGUgfSBmcm9tICcuLi91dGlscy9icy1jYWxlbmRhci11dGlscyc7XG5cblxuLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjeWNsb21hdGljLWNvbXBsZXhpdHkgKi9cbmV4cG9ydCBmdW5jdGlvbiBtaXNEYXRlUGlja2VyUmVkdWNlcihzdGF0ZSA9IGluaXRpYWxEYXRlUGlja2VyU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFjdGlvbik6IE1pc0RhdGVQaWNrZXJTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLkNBTENVTEFURToge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0ZVJlZHVjZXIoc3RhdGUpO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuRk9STUFUOiB7XG4gICAgICByZXR1cm4gZm9ybWF0UmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLkZMQUc6IHtcbiAgICAgIHJldHVybiBmbGFnUmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLk5BVklHQVRFX09GRlNFVDoge1xuICAgICAgcmV0dXJuIG5hdmlnYXRlT2Zmc2V0UmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLk5BVklHQVRFX1RPOiB7XG4gICAgICBjb25zdCBwYXlsb2FkOiBCc1ZpZXdOYXZpZ2F0aW9uRXZlbnQgPSBhY3Rpb24ucGF5bG9hZDtcblxuICAgICAgY29uc3QgZGF0ZSA9IHNldEZ1bGxEYXRlKHN0YXRlLnZpZXcuZGF0ZSwgcGF5bG9hZC51bml0KTtcbiAgICAgIGxldCBuZXdTdGF0ZTtcbiAgICAgIGxldCBtb2RlOiBNaXNEYXRlUGlja2VyVmlld01vZGU7XG4gICAgICBpZiAoY2FuU3dpdGNoTW9kZShwYXlsb2FkLnZpZXdNb2RlLCBzdGF0ZS5taW5Nb2RlKSkge1xuICAgICAgICBtb2RlID0gcGF5bG9hZC52aWV3TW9kZTtcbiAgICAgICAgbmV3U3RhdGUgPSB7IHZpZXc6IHsgZGF0ZSwgbW9kZSB9IH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtb2RlID0gc3RhdGUudmlldy5tb2RlO1xuICAgICAgICBuZXdTdGF0ZSA9IHsgc2VsZWN0ZWREYXRlOiBkYXRlLCB2aWV3OiB7IGRhdGUsIG1vZGUgfSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIG5ld1N0YXRlKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLkNIQU5HRV9WSUVXTU9ERToge1xuICAgICAgaWYgKCFjYW5Td2l0Y2hNb2RlKGFjdGlvbi5wYXlsb2FkLCBzdGF0ZS5taW5Nb2RlKSkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCBkYXRlID0gc3RhdGUudmlldy5kYXRlO1xuICAgICAgY29uc3QgbW9kZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7IHZpZXc6IHsgZGF0ZSwgbW9kZSB9IH07XG5cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV3U3RhdGUpO1xuICAgIH1cblxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuSE9WRVI6IHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBob3ZlcmVkRGF0ZTogYWN0aW9uLnBheWxvYWQgfSk7XG4gICAgfVxuXG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5TRUxFQ1Q6IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICBzZWxlY3RlZERhdGU6IGFjdGlvbi5wYXlsb2FkLFxuICAgICAgICB2aWV3OiBzdGF0ZS52aWV3XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtb2RlID0gc3RhdGUudmlldy5tb2RlO1xuICAgICAgY29uc3QgX2RhdGUgPSBhY3Rpb24ucGF5bG9hZCB8fCBzdGF0ZS52aWV3LmRhdGU7XG4gICAgICBjb25zdCBkYXRlID0gZ2V0Vmlld0RhdGUoX2RhdGUsIHN0YXRlLm1pbkRhdGUsIHN0YXRlLm1heERhdGUpO1xuICAgICAgbmV3U3RhdGUudmlldyA9IHsgbW9kZSwgZGF0ZSB9O1xuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIG5ld1N0YXRlKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFVF9PUFRJT05TOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgLy8gcHJlc2VydmUgdmlldyBtb2RlXG4gICAgICBjb25zdCBtb2RlID0gbmV3U3RhdGUubWluTW9kZSA/IG5ld1N0YXRlLm1pbk1vZGUgOiBzdGF0ZS52aWV3Lm1vZGU7XG4gICAgICBjb25zdCBfdmlld0RhdGUgPSBpc0RhdGVWYWxpZChuZXdTdGF0ZS52YWx1ZSkgJiYgbmV3U3RhdGUudmFsdWVcbiAgICAgICAgfHwgaXNBcnJheShuZXdTdGF0ZS52YWx1ZSkgJiYgaXNEYXRlVmFsaWQobmV3U3RhdGUudmFsdWVbMF0pICYmIG5ld1N0YXRlLnZhbHVlWzBdXG4gICAgICAgIHx8IHN0YXRlLnZpZXcuZGF0ZTtcbiAgICAgIGNvbnN0IGRhdGUgPSBnZXRWaWV3RGF0ZShfdmlld0RhdGUsIG5ld1N0YXRlLm1pbkRhdGUsIG5ld1N0YXRlLm1heERhdGUpO1xuICAgICAgbmV3U3RhdGUudmlldyA9IHsgbW9kZSwgZGF0ZSB9O1xuICAgICAgLy8gdXBkYXRlIHNlbGVjdGVkIHZhbHVlXG4gICAgICBpZiAobmV3U3RhdGUudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgbmV3IHZhbHVlIGlzIGFycmF5IHdlIHdvcmsgd2l0aCBkYXRlIHJhbmdlXG4gICAgICAgIGlmIChpc0FycmF5KG5ld1N0YXRlLnZhbHVlKSkge1xuICAgICAgICAgIG5ld1N0YXRlLnNlbGVjdGVkUmFuZ2UgPSBuZXdTdGF0ZS52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIG5ldyB2YWx1ZSBpcyBhIGRhdGUgLT4gZGF0ZXBpY2tlclxuICAgICAgICBpZiAobmV3U3RhdGUudmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgbmV3U3RhdGUuc2VsZWN0ZWREYXRlID0gbmV3U3RhdGUudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBwcm92aWRlZCB2YWx1ZSBpcyBub3Qgc3VwcG9ydGVkIDopXG4gICAgICAgIC8vIG5lZWQgdG8gcmVwb3J0IGl0IHNvbWVob3dcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCBuZXdTdGF0ZSk7XG4gICAgfVxuXG4gICAgLy8gZGF0ZSByYW5nZSBwaWNrZXJcbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFTEVDVF9SQU5HRToge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2U6IGFjdGlvbi5wYXlsb2FkLFxuICAgICAgICB2aWV3OiBzdGF0ZS52aWV3XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtb2RlID0gc3RhdGUudmlldy5tb2RlO1xuICAgICAgY29uc3QgX2RhdGUgPSBhY3Rpb24ucGF5bG9hZCAmJiBhY3Rpb24ucGF5bG9hZFswXSB8fCBzdGF0ZS52aWV3LmRhdGU7XG4gICAgICBjb25zdCBkYXRlID0gZ2V0Vmlld0RhdGUoX2RhdGUsIHN0YXRlLm1pbkRhdGUsIHN0YXRlLm1heERhdGUpO1xuICAgICAgbmV3U3RhdGUudmlldyA9IHsgbW9kZSwgZGF0ZSB9O1xuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIG5ld1N0YXRlKTtcbiAgICB9XG5cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFVF9NSU5fREFURToge1xuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7XG4gICAgICAgIG1pbkRhdGU6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5TRVRfTUFYX0RBVEU6IHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgICBtYXhEYXRlOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgTWlzRGF0ZVBpY2tlckFjdGlvbnMuU0VUX0lTX0RJU0FCTEVEOiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHtcbiAgICAgICAgaXNEaXNhYmxlZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlIE1pc0RhdGVQaWNrZXJBY3Rpb25zLlNFVF9EQVRFX0NVU1RPTV9DTEFTU0VTOiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHtcbiAgICAgICAgZGF0ZUN1c3RvbUNsYXNzZXM6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSBNaXNEYXRlUGlja2VyQWN0aW9ucy5TRVRfREFURV9UT09MVElQX1RFWFRTOiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHtcbiAgICAgICAgZGF0ZVRvb2x0aXBUZXh0czogYWN0aW9uLnBheWxvYWRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlUmVkdWNlcihzdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlKTogTWlzRGF0ZVBpY2tlclN0YXRlIHtcbiAgLy8gaG93IG1hbnkgY2FsZW5kYXJzXG4gIGNvbnN0IGRpc3BsYXlNb250aHMgPSAoc3RhdGUuZGlzcGxheU9uZU1vbnRoUmFuZ2UgJiZcbiAgICBpc0Rpc3BsYXlPbmVNb250aChzdGF0ZS52aWV3LmRhdGUsIHN0YXRlLm1pbkRhdGUsIHN0YXRlLm1heERhdGUpKSA/IDEgOiBzdGF0ZS5kaXNwbGF5TW9udGhzO1xuXG4gIC8vIHVzZSBzZWxlY3RlZCBkYXRlIG9uIGluaXRpYWwgcmVuZGVyaW5nIGlmIHNldFxuICBsZXQgdmlld0RhdGUgPSBzdGF0ZS52aWV3LmRhdGU7XG5cbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ2RheScpIHtcbiAgICBpZiAoc3RhdGUuc2hvd1ByZXZpb3VzTW9udGggJiYgc3RhdGUuc2VsZWN0ZWRSYW5nZSAmJiBzdGF0ZS5zZWxlY3RlZFJhbmdlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdmlld0RhdGUgPSBzaGlmdERhdGUodmlld0RhdGUsIHsgbW9udGg6IC0xIH0pO1xuICAgIH1cblxuICAgIHN0YXRlLm1vbnRoVmlld09wdGlvbnMuZmlyc3REYXlPZldlZWsgPSBnZXRMb2NhbGUoc3RhdGUubG9jYWxlKS5maXJzdERheU9mV2VlaygpO1xuICAgIGNvbnN0IG1vbnRoc01vZGVsID0gbmV3IEFycmF5KGRpc3BsYXlNb250aHMpO1xuICAgIGZvciAobGV0IG1vbnRoSW5kZXggPSAwOyBtb250aEluZGV4IDwgZGlzcGxheU1vbnRoczsgbW9udGhJbmRleCsrKSB7XG4gICAgICAvLyB0b2RvOiBmb3IgdW5saW5rZWQgY2FsZW5kYXJzIGl0IHdpbGwgYmUgaGFyZGVyXG4gICAgICBtb250aHNNb2RlbFttb250aEluZGV4XSA9IGNhbGNEYXlzQ2FsZW5kYXIoXG4gICAgICAgIHZpZXdEYXRlLFxuICAgICAgICBzdGF0ZS5tb250aFZpZXdPcHRpb25zXG4gICAgICApO1xuICAgICAgdmlld0RhdGUgPSBzaGlmdERhdGUodmlld0RhdGUsIHsgbW9udGg6IDEgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IG1vbnRoc01vZGVsIH0pO1xuICB9XG5cbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ21vbnRoJykge1xuICAgIGNvbnN0IG1vbnRoc0NhbGVuZGFyID0gbmV3IEFycmF5KGRpc3BsYXlNb250aHMpO1xuICAgIGZvciAoXG4gICAgICBsZXQgY2FsZW5kYXJJbmRleCA9IDA7XG4gICAgICBjYWxlbmRhckluZGV4IDwgZGlzcGxheU1vbnRocztcbiAgICAgIGNhbGVuZGFySW5kZXgrK1xuICAgICkge1xuICAgICAgLy8gdG9kbzogZm9yIHVubGlua2VkIGNhbGVuZGFycyBpdCB3aWxsIGJlIGhhcmRlclxuICAgICAgbW9udGhzQ2FsZW5kYXJbY2FsZW5kYXJJbmRleF0gPSBmb3JtYXRNb250aHNDYWxlbmRhcihcbiAgICAgICAgdmlld0RhdGUsXG4gICAgICAgIGdldEZvcm1hdE9wdGlvbnMoc3RhdGUpXG4gICAgICApO1xuICAgICAgdmlld0RhdGUgPSBzaGlmdERhdGUodmlld0RhdGUsIHsgeWVhcjogMSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgbW9udGhzQ2FsZW5kYXIgfSk7XG4gIH1cblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAneWVhcicpIHtcbiAgICBjb25zdCB5ZWFyc0NhbGVuZGFyTW9kZWwgPSBuZXcgQXJyYXkoZGlzcGxheU1vbnRocyk7XG5cbiAgICBmb3IgKFxuICAgICAgbGV0IGNhbGVuZGFySW5kZXggPSAwO1xuICAgICAgY2FsZW5kYXJJbmRleCA8IGRpc3BsYXlNb250aHM7XG4gICAgICBjYWxlbmRhckluZGV4KytcbiAgICApIHtcbiAgICAgIC8vIHRvZG86IGZvciB1bmxpbmtlZCBjYWxlbmRhcnMgaXQgd2lsbCBiZSBoYXJkZXJcbiAgICAgIHllYXJzQ2FsZW5kYXJNb2RlbFtjYWxlbmRhckluZGV4XSA9IGZvcm1hdFllYXJzQ2FsZW5kYXIoXG4gICAgICAgIHZpZXdEYXRlLFxuICAgICAgICBnZXRGb3JtYXRPcHRpb25zKHN0YXRlKSxcbiAgICAgICAgc3RhdGUubWluTW9kZSA9PT0gJ3llYXInID8gZ2V0WWVhcnNDYWxlbmRhckluaXRpYWxEYXRlKHN0YXRlLCBjYWxlbmRhckluZGV4KSA6IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIHZpZXdEYXRlID0gc2hpZnREYXRlKHZpZXdEYXRlLCB7IHllYXI6IHllYXJzUGVyQ2FsZW5kYXIgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IHllYXJzQ2FsZW5kYXJNb2RlbCB9KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0UmVkdWNlcihzdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFjdGlvbik6IE1pc0RhdGVQaWNrZXJTdGF0ZSB7XG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICdkYXknKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkTW9udGhzID0gc3RhdGUubW9udGhzTW9kZWwubWFwKChtb250aCwgbW9udGhJbmRleCkgPT5cbiAgICAgIGZvcm1hdERheXNDYWxlbmRhcihtb250aCwgZ2V0Rm9ybWF0T3B0aW9ucyhzdGF0ZSksIG1vbnRoSW5kZXgpXG4gICAgKTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBmb3JtYXR0ZWRNb250aHMgfSk7XG4gIH1cblxuICAvLyBob3cgbWFueSBjYWxlbmRhcnNcbiAgY29uc3QgZGlzcGxheU1vbnRocyA9IHN0YXRlLmRpc3BsYXlNb250aHM7XG4gIC8vIGNoZWNrIGluaXRpYWwgcmVuZGVyaW5nXG4gIC8vIHVzZSBzZWxlY3RlZCBkYXRlIG9uIGluaXRpYWwgcmVuZGVyaW5nIGlmIHNldFxuICBsZXQgdmlld0RhdGUgPSBzdGF0ZS52aWV3LmRhdGU7XG5cbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ21vbnRoJykge1xuICAgIGNvbnN0IG1vbnRoc0NhbGVuZGFyID0gbmV3IEFycmF5KGRpc3BsYXlNb250aHMpO1xuICAgIGZvciAoXG4gICAgICBsZXQgY2FsZW5kYXJJbmRleCA9IDA7XG4gICAgICBjYWxlbmRhckluZGV4IDwgZGlzcGxheU1vbnRocztcbiAgICAgIGNhbGVuZGFySW5kZXgrK1xuICAgICkge1xuICAgICAgLy8gdG9kbzogZm9yIHVubGlua2VkIGNhbGVuZGFycyBpdCB3aWxsIGJlIGhhcmRlclxuICAgICAgbW9udGhzQ2FsZW5kYXJbY2FsZW5kYXJJbmRleF0gPSBmb3JtYXRNb250aHNDYWxlbmRhcihcbiAgICAgICAgdmlld0RhdGUsXG4gICAgICAgIGdldEZvcm1hdE9wdGlvbnMoc3RhdGUpXG4gICAgICApO1xuICAgICAgdmlld0RhdGUgPSBzaGlmdERhdGUodmlld0RhdGUsIHsgeWVhcjogMSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgbW9udGhzQ2FsZW5kYXIgfSk7XG4gIH1cblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAneWVhcicpIHtcbiAgICBjb25zdCB5ZWFyc0NhbGVuZGFyTW9kZWwgPSBuZXcgQXJyYXkoZGlzcGxheU1vbnRocyk7XG4gICAgZm9yIChcbiAgICAgIGxldCBjYWxlbmRhckluZGV4ID0gMDtcbiAgICAgIGNhbGVuZGFySW5kZXggPCBkaXNwbGF5TW9udGhzO1xuICAgICAgY2FsZW5kYXJJbmRleCsrXG4gICAgKSB7XG4gICAgICAvLyB0b2RvOiBmb3IgdW5saW5rZWQgY2FsZW5kYXJzIGl0IHdpbGwgYmUgaGFyZGVyXG4gICAgICB5ZWFyc0NhbGVuZGFyTW9kZWxbY2FsZW5kYXJJbmRleF0gPSBmb3JtYXRZZWFyc0NhbGVuZGFyKFxuICAgICAgICB2aWV3RGF0ZSxcbiAgICAgICAgZ2V0Rm9ybWF0T3B0aW9ucyhzdGF0ZSlcbiAgICAgICk7XG4gICAgICB2aWV3RGF0ZSA9IHNoaWZ0RGF0ZSh2aWV3RGF0ZSwgeyB5ZWFyOiAxNiB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgeWVhcnNDYWxlbmRhck1vZGVsIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiBmbGFnUmVkdWNlcihzdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBY3Rpb24pOiBNaXNEYXRlUGlja2VyU3RhdGUge1xuICBjb25zdCBkaXNwbGF5TW9udGhzID0gaXNEaXNwbGF5T25lTW9udGgoc3RhdGUudmlldy5kYXRlLCBzdGF0ZS5taW5EYXRlLCBzdGF0ZS5tYXhEYXRlKSA/IDEgOiBzdGF0ZS5kaXNwbGF5TW9udGhzO1xuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAnZGF5Jykge1xuICAgIGNvbnN0IGZsYWdnZWRNb250aHMgPSBzdGF0ZS5mb3JtYXR0ZWRNb250aHMubWFwKFxuICAgICAgKGZvcm1hdHRlZE1vbnRoLCBtb250aEluZGV4KSA9PlxuICAgICAgICBmbGFnRGF5c0NhbGVuZGFyKGZvcm1hdHRlZE1vbnRoLCB7XG4gICAgICAgICAgaXNEaXNhYmxlZDogc3RhdGUuaXNEaXNhYmxlZCxcbiAgICAgICAgICBtaW5EYXRlOiBzdGF0ZS5taW5EYXRlLFxuICAgICAgICAgIG1heERhdGU6IHN0YXRlLm1heERhdGUsXG4gICAgICAgICAgZGF5c0Rpc2FibGVkOiBzdGF0ZS5kYXlzRGlzYWJsZWQsXG4gICAgICAgICAgZGF0ZXNEaXNhYmxlZDogc3RhdGUuZGF0ZXNEaXNhYmxlZCxcbiAgICAgICAgICBkYXRlc0VuYWJsZWQ6IHN0YXRlLmRhdGVzRW5hYmxlZCxcbiAgICAgICAgICBob3ZlcmVkRGF0ZTogc3RhdGUuaG92ZXJlZERhdGUsXG4gICAgICAgICAgc2VsZWN0ZWREYXRlOiBzdGF0ZS5zZWxlY3RlZERhdGUsXG4gICAgICAgICAgc2VsZWN0ZWRSYW5nZTogc3RhdGUuc2VsZWN0ZWRSYW5nZSxcbiAgICAgICAgICBkaXNwbGF5TW9udGhzLFxuICAgICAgICAgIGRhdGVDdXN0b21DbGFzc2VzOiBzdGF0ZS5kYXRlQ3VzdG9tQ2xhc3NlcyxcbiAgICAgICAgICBkYXRlVG9vbHRpcFRleHRzOiBzdGF0ZS5kYXRlVG9vbHRpcFRleHRzLFxuICAgICAgICAgIG1vbnRoSW5kZXhcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGZsYWdnZWRNb250aHMgfSk7XG4gIH1cblxuICBpZiAoc3RhdGUudmlldy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgY29uc3QgZmxhZ2dlZE1vbnRoc0NhbGVuZGFyID0gc3RhdGUubW9udGhzQ2FsZW5kYXIubWFwKFxuICAgICAgKGZvcm1hdHRlZE1vbnRoLCBtb250aEluZGV4KSA9PlxuICAgICAgICBmbGFnTW9udGhzQ2FsZW5kYXIoZm9ybWF0dGVkTW9udGgsIHtcbiAgICAgICAgICBpc0Rpc2FibGVkOiBzdGF0ZS5pc0Rpc2FibGVkLFxuICAgICAgICAgIG1pbkRhdGU6IHN0YXRlLm1pbkRhdGUsXG4gICAgICAgICAgbWF4RGF0ZTogc3RhdGUubWF4RGF0ZSxcbiAgICAgICAgICBob3ZlcmVkTW9udGg6IHN0YXRlLmhvdmVyZWRNb250aCxcbiAgICAgICAgICBzZWxlY3RlZERhdGU6IHN0YXRlLnNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZFJhbmdlOiBzdGF0ZS5zZWxlY3RlZFJhbmdlLFxuICAgICAgICAgIGRpc3BsYXlNb250aHMsXG4gICAgICAgICAgbW9udGhJbmRleFxuICAgICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgZmxhZ2dlZE1vbnRoc0NhbGVuZGFyIH0pO1xuICB9XG5cbiAgaWYgKHN0YXRlLnZpZXcubW9kZSA9PT0gJ3llYXInKSB7XG4gICAgY29uc3QgeWVhcnNDYWxlbmRhckZsYWdnZWQgPSBzdGF0ZS55ZWFyc0NhbGVuZGFyTW9kZWwubWFwKFxuICAgICAgKGZvcm1hdHRlZE1vbnRoLCB5ZWFySW5kZXgpID0+XG4gICAgICAgIGZsYWdZZWFyc0NhbGVuZGFyKGZvcm1hdHRlZE1vbnRoLCB7XG4gICAgICAgICAgaXNEaXNhYmxlZDogc3RhdGUuaXNEaXNhYmxlZCxcbiAgICAgICAgICBtaW5EYXRlOiBzdGF0ZS5taW5EYXRlLFxuICAgICAgICAgIG1heERhdGU6IHN0YXRlLm1heERhdGUsXG4gICAgICAgICAgaG92ZXJlZFllYXI6IHN0YXRlLmhvdmVyZWRZZWFyLFxuICAgICAgICAgIHNlbGVjdGVkRGF0ZTogc3RhdGUuc2VsZWN0ZWREYXRlLFxuICAgICAgICAgIHNlbGVjdGVkUmFuZ2U6IHN0YXRlLnNlbGVjdGVkUmFuZ2UsXG4gICAgICAgICAgZGlzcGxheU1vbnRocyxcbiAgICAgICAgICB5ZWFySW5kZXhcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IHllYXJzQ2FsZW5kYXJGbGFnZ2VkIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiBuYXZpZ2F0ZU9mZnNldFJlZHVjZXIoc3RhdGU6IE1pc0RhdGVQaWNrZXJTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBNaXNEYXRlUGlja2VyU3RhdGUge1xuICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICB2aWV3OiB7XG4gICAgICBtb2RlOiBzdGF0ZS52aWV3Lm1vZGUsXG4gICAgICBkYXRlOiBzaGlmdFZpZXdEYXRlKHN0YXRlLCBhY3Rpb24pXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV3U3RhdGUpO1xufVxuXG5mdW5jdGlvbiBzaGlmdFZpZXdEYXRlKHN0YXRlOiBNaXNEYXRlUGlja2VyU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogRGF0ZSB7XG4gIGlmIChzdGF0ZS52aWV3Lm1vZGUgPT09ICd5ZWFyJyAmJiBzdGF0ZS5taW5Nb2RlID09PSAneWVhcicpIHtcbiAgICBjb25zdCBpbml0aWFsRGF0ZSA9IGdldFllYXJzQ2FsZW5kYXJJbml0aWFsRGF0ZShzdGF0ZSwgMCk7XG4gICAgY29uc3QgbWlkZGxlRGF0ZSA9IHNoaWZ0RGF0ZShpbml0aWFsRGF0ZSwgeyB5ZWFyOiAtaW5pdGlhbFllYXJTaGlmdCB9KTtcblxuICAgIHJldHVybiBzaGlmdERhdGUobWlkZGxlRGF0ZSwgYWN0aW9uLnBheWxvYWQpO1xuICB9XG5cbiAgcmV0dXJuIHNoaWZ0RGF0ZShzdGFydE9mKHN0YXRlLnZpZXcuZGF0ZSwgJ21vbnRoJyksIGFjdGlvbi5wYXlsb2FkKTtcbn1cblxuZnVuY3Rpb24gZ2V0Rm9ybWF0T3B0aW9ucyhzdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlKTogRGF0ZVBpY2tlckZvcm1hdE9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGxvY2FsZTogc3RhdGUubG9jYWxlLFxuXG4gICAgbW9udGhUaXRsZTogc3RhdGUubW9udGhUaXRsZSxcbiAgICB5ZWFyVGl0bGU6IHN0YXRlLnllYXJUaXRsZSxcblxuICAgIGRheUxhYmVsOiBzdGF0ZS5kYXlMYWJlbCxcbiAgICBtb250aExhYmVsOiBzdGF0ZS5tb250aExhYmVsLFxuICAgIHllYXJMYWJlbDogc3RhdGUueWVhckxhYmVsLFxuXG4gICAgd2Vla051bWJlcnM6IHN0YXRlLndlZWtOdW1iZXJzXG4gIH07XG59XG5cbi8qKlxuICogaWYgdmlldyBkYXRlIGlzIHByb3ZpZGVkIChic1ZhbHVlfG5nTW9kZWwpIGl0IHNob3VsZCBiZSBzaG93blxuICogaWYgdmlldyBkYXRlIGlzIG5vdCBwcm92aWRlcjpcbiAqIGlmIG1pbkRhdGU+Y3VycmVudERhdGUgKGRlZmF1bHQgdmlldyB2YWx1ZSksIHNob3cgbWluRGF0ZVxuICogaWYgbWF4RGF0ZTxjdXJyZW50RGF0ZShkZWZhdWx0IHZpZXcgdmFsdWUpIHNob3cgbWF4RGF0ZVxuICovXG5mdW5jdGlvbiBnZXRWaWV3RGF0ZSh2aWV3RGF0ZTogRGF0ZSB8IERhdGVbXSwgbWluRGF0ZTogRGF0ZSwgbWF4RGF0ZTogRGF0ZSkge1xuICBjb25zdCBfZGF0ZSA9IEFycmF5LmlzQXJyYXkodmlld0RhdGUpID8gdmlld0RhdGVbMF0gOiB2aWV3RGF0ZTtcblxuICBpZiAobWluRGF0ZSAmJiBpc0FmdGVyKG1pbkRhdGUsIF9kYXRlLCAnZGF5JykpIHtcbiAgICByZXR1cm4gbWluRGF0ZTtcbiAgfVxuXG4gIGlmIChtYXhEYXRlICYmIGlzQmVmb3JlKG1heERhdGUsIF9kYXRlLCAnZGF5JykpIHtcbiAgICByZXR1cm4gbWF4RGF0ZTtcbiAgfVxuXG4gIHJldHVybiBfZGF0ZTtcbn1cblxuZnVuY3Rpb24gaXNEaXNwbGF5T25lTW9udGgodmlld0RhdGU6IERhdGUsIG1pbkRhdGU6IERhdGUsIG1heERhdGU6IERhdGUpIHtcbiAgaWYgKG1heERhdGUgJiYgaXNTYW1lKG1heERhdGUsIHZpZXdEYXRlLCAnZGF5JykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChtaW5EYXRlICYmIG1heERhdGUgJiYgIG1pbkRhdGUuZ2V0TW9udGgoKSA9PT0gbWF4RGF0ZS5nZXRNb250aCgpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NyYy9kYXRlcGlja2VyL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPOUQsTUFBTSxPQUFPLGtCQUFrQjtDQTJEOUI7QUFFRCxNQUFNLFlBQVksR0FBMkIsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXVCLE1BQU0sQ0FBQyxNQUFNLENBQ3JFLElBQUksbUJBQW1CLEVBQUUsRUFDekI7SUFDRSxNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxZQUFZO0lBQ2xCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGdCQUFnQixFQUFFLG1CQUFtQjtDQUN0QyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNaXNEYXRlUGlja2VyVmlld01vZGUsXG4gIERhdGVQaWNrZXJGb3JtYXRPcHRpb25zLFxuICBEYXRlUGlja2VyUmVuZGVyT3B0aW9ucyxcbiAgRGF0ZVBpY2tlckRhdGVDdXN0b21DbGFzc2VzLFxuICBEYXRlUGlja2VyRGF0ZVRvb2x0aXBUZXh0LFxuICBEYXlzQ2FsZW5kYXJNb2RlbCxcbiAgRGF5c0NhbGVuZGFyVmlld01vZGVsLFxuICBNb250aHNDYWxlbmRhclZpZXdNb2RlbCxcbiAgTW9udGhWaWV3T3B0aW9ucyxcbiAgWWVhcnNDYWxlbmRhclZpZXdNb2RlbFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgZGVmYXVsdE1vbnRoT3B0aW9ucyB9IGZyb20gJy4vX2RlZmF1bHRzJztcbmltcG9ydCB7IE1pc0RhdGVQaWNrZXJDb25maWcgfSBmcm9tICcuLi9icy1kYXRlcGlja2VyLmNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzRGF0ZVBpY2tlclZpZXdTdGF0ZSB7XG4gIGRhdGU6IERhdGU7XG4gIG1vZGU6IE1pc0RhdGVQaWNrZXJWaWV3TW9kZTtcbn1cblxuZXhwb3J0IGNsYXNzIE1pc0RhdGVQaWNrZXJTdGF0ZVxuICBpbXBsZW1lbnRzIERhdGVQaWNrZXJSZW5kZXJPcHRpb25zLCBEYXRlUGlja2VyRm9ybWF0T3B0aW9ucyB7XG4gIC8vIGRhdGUgcGlja2VyXG4gIHNlbGVjdGVkRGF0ZT86IERhdGU7XG4gIC8vIGRhdGVyYW5nZSBwaWNrZXJcbiAgc2VsZWN0ZWRSYW5nZT86IERhdGVbXTtcblxuICAvLyBpbml0aWFsIGRhdGUgb2YgY2FsZW5kYXIsIHRvZGF5IGJ5IGRlZmF1bHRcbiAgdmlldzogTWlzRGF0ZVBpY2tlclZpZXdTdGF0ZTtcblxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLy8gYm91bmRzXG4gIG1pbkRhdGU/OiBEYXRlO1xuICBtYXhEYXRlPzogRGF0ZTtcbiAgZGF5c0Rpc2FibGVkPzogbnVtYmVyW107XG4gIGRhdGVzRGlzYWJsZWQ/OiBEYXRlW107XG4gIGRhdGVzRW5hYmxlZD86IERhdGVbXTtcbiAgbWluTW9kZT86IE1pc0RhdGVQaWNrZXJWaWV3TW9kZTtcbiAgZGF0ZUN1c3RvbUNsYXNzZXM/OiBEYXRlUGlja2VyRGF0ZUN1c3RvbUNsYXNzZXNbXTtcbiAgZGF0ZVRvb2x0aXBUZXh0cz86IERhdGVQaWNrZXJEYXRlVG9vbHRpcFRleHRbXTtcblxuICBob3ZlcmVkRGF0ZT86IERhdGU7XG4gIGhvdmVyZWRNb250aD86IERhdGU7XG4gIGhvdmVyZWRZZWFyPzogRGF0ZTtcblxuICAvLyBkYXlzIGNhbGVuZGFyXG4gIG1vbnRoc01vZGVsPzogRGF5c0NhbGVuZGFyTW9kZWxbXTtcbiAgZm9ybWF0dGVkTW9udGhzPzogRGF5c0NhbGVuZGFyVmlld01vZGVsW107XG4gIGZsYWdnZWRNb250aHM/OiBEYXlzQ2FsZW5kYXJWaWV3TW9kZWxbXTtcbiAgc2VsZWN0RnJvbU90aGVyTW9udGg/OiBib29sZWFuO1xuICBzaG93UHJldmlvdXNNb250aD86IGJvb2xlYW47IC8vIGRhdGVSYW5nZVBpY2tlciBvbmx5O1xuICBkaXNwbGF5T25lTW9udGhSYW5nZT86IGJvb2xlYW47IC8vIGRhdGVSYW5nZVBpY2tlciBvbmx5O1xuXG4gIC8vIG1vbnRocyBjYWxlbmRhclxuICBtb250aHNDYWxlbmRhcj86IE1vbnRoc0NhbGVuZGFyVmlld01vZGVsW107XG4gIGZsYWdnZWRNb250aHNDYWxlbmRhcj86IE1vbnRoc0NhbGVuZGFyVmlld01vZGVsW107XG5cbiAgLy8geWVhcnMgY2FsZW5kYXJcbiAgeWVhcnNDYWxlbmRhck1vZGVsPzogWWVhcnNDYWxlbmRhclZpZXdNb2RlbFtdO1xuICB5ZWFyc0NhbGVuZGFyRmxhZ2dlZD86IFllYXJzQ2FsZW5kYXJWaWV3TW9kZWxbXTtcblxuICAvLyBvcHRpb25zXG4gIG1vbnRoVmlld09wdGlvbnM6IE1vbnRoVmlld09wdGlvbnM7XG5cbiAgLy8gRGF0ZVBpY2tlclJlbmRlck9wdGlvbnNcbiAgc2hvd1dlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgZGlzcGxheU1vbnRocz86IG51bWJlcjtcblxuICAvLyBEYXRlUGlja2VyRm9ybWF0T3B0aW9uc1xuICBsb2NhbGU6IHN0cmluZztcblxuICBtb250aFRpdGxlOiBzdHJpbmc7XG4gIHllYXJUaXRsZTogc3RyaW5nO1xuXG4gIGRheUxhYmVsOiBzdHJpbmc7XG4gIG1vbnRoTGFiZWw6IHN0cmluZztcbiAgeWVhckxhYmVsOiBzdHJpbmc7XG5cbiAgd2Vla051bWJlcnM6IHN0cmluZztcbn1cblxuY29uc3QgX2luaXRpYWxWaWV3OiBNaXNEYXRlUGlja2VyVmlld1N0YXRlID0geyBkYXRlOiBuZXcgRGF0ZSgpLCBtb2RlOiAnZGF5JyB9O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbERhdGVQaWNrZXJTdGF0ZTogTWlzRGF0ZVBpY2tlclN0YXRlID0gT2JqZWN0LmFzc2lnbihcbiAgbmV3IE1pc0RhdGVQaWNrZXJDb25maWcoKSxcbiAge1xuICAgIGxvY2FsZTogJ2VuJyxcbiAgICB2aWV3OiBfaW5pdGlhbFZpZXcsXG4gICAgc2VsZWN0ZWRSYW5nZTogW10sXG4gICAgbW9udGhWaWV3T3B0aW9uczogZGVmYXVsdE1vbnRoT3B0aW9uc1xuICB9XG4pO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NyYy9kYXRlcGlja2VyL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFzQixzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHL0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQTZCO0lBQ25FO1FBQ0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQVM7WUFDOUMsSUFBSSxFQUFFLDhCQUE4QjtTQUNyQyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FDekIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxvQkFBb0IsQ0FDckIsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7O1lBWkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmlTdG9yZSwgQWN0aW9uLCBNaW5pU3RhdGUgfSBmcm9tICcuLi9zdWItY29tcG9uZW50cy9taW5pLW5ncngnO1xuaW1wb3J0IHsgTWlzRGF0ZVBpY2tlclN0YXRlLCBpbml0aWFsRGF0ZVBpY2tlclN0YXRlIH0gZnJvbSAnLi9icy1kYXRlcGlja2VyLnN0YXRlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWlzRGF0ZVBpY2tlclJlZHVjZXIgfSBmcm9tICcuL2JzLWRhdGVwaWNrZXIucmVkdWNlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNaXNEYXRlUGlja2VyU3RvcmUgZXh0ZW5kcyBNaW5pU3RvcmU8TWlzRGF0ZVBpY2tlclN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IF9kaXNwYXRjaGVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3Rpb24+KHtcbiAgICAgIHR5cGU6ICdbZGF0ZXBpY2tlcl0gZGlzcGF0Y2hlciBpbml0J1xuICAgIH0pO1xuICAgIGNvbnN0IHN0YXRlID0gbmV3IE1pbmlTdGF0ZTxNaXNEYXRlUGlja2VyU3RhdGU+KFxuICAgICAgaW5pdGlhbERhdGVQaWNrZXJTdGF0ZSxcbiAgICAgIF9kaXNwYXRjaGVyLFxuICAgICAgbWlzRGF0ZVBpY2tlclJlZHVjZXJcbiAgICApO1xuICAgIHN1cGVyKF9kaXNwYXRjaGVyLCBtaXNEYXRlUGlja2VyUmVkdWNlciwgc3RhdGUpO1xuICB9XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stb3ZlcmZsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9zcmMvZGF0ZXBpY2tlci9zdWItY29tcG9uZW50cy9jaHJvbm9zL2NyZWF0ZS9jaGVjay1vdmVyZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBeUI7SUFDckQsSUFBSSxRQUFRLENBQUM7SUFDYixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBRXBCLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDaEQsc0JBQXNCO1FBQ3RCLFFBQVE7WUFDTixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDOUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3RILENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ3hDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3hDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7b0NBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRWpCLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUU7WUFDdEYsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUNELElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDN0QsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUNELElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQixJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUMvRCxRQUFRLEdBQUcsT0FBTyxDQUFDO1NBQ3BCO1FBRUQsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7S0FDN0M7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0UGFyc2luZ0ZsYWdzIH0gZnJvbSAnLi9wYXJzaW5nLWZsYWdzJztcbmltcG9ydCB7IERBVEUsIEhPVVIsIE1JTExJU0VDT05ELCBNSU5VVEUsIE1PTlRILCBTRUNPTkQsIFdFRUssIFdFRUtEQVksIFlFQVIgfSBmcm9tICcuLi91bml0cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZGF5c0luTW9udGggfSBmcm9tICcuLi91bml0cy9tb250aCc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4vcGFyc2luZy50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja092ZXJmbG93KGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGxldCBvdmVyZmxvdztcbiAgY29uc3QgYSA9IGNvbmZpZy5fYTtcblxuICBpZiAoYSAmJiBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5vdmVyZmxvdyA9PT0gLTIpIHtcbiAgICAvLyB0b2RvOiBmaXggdGhpcyBzaCp0XG4gICAgb3ZlcmZsb3cgPVxuICAgICAgYVtNT05USF0gPCAwIHx8IGFbTU9OVEhdID4gMTEgPyBNT05USCA6XG4gICAgICAgIGFbREFURV0gPCAxIHx8IGFbREFURV0gPiBkYXlzSW5Nb250aChhW1lFQVJdLCBhW01PTlRIXSkgPyBEQVRFIDpcbiAgICAgICAgICBhW0hPVVJdIDwgMCB8fCBhW0hPVVJdID4gMjQgfHwgKGFbSE9VUl0gPT09IDI0ICYmIChhW01JTlVURV0gIT09IDAgfHwgYVtTRUNPTkRdICE9PSAwIHx8IGFbTUlMTElTRUNPTkRdICE9PSAwKSkgPyBIT1VSIDpcbiAgICAgICAgICAgIGFbTUlOVVRFXSA8IDAgfHwgYVtNSU5VVEVdID4gNTkgPyBNSU5VVEUgOlxuICAgICAgICAgICAgICBhW1NFQ09ORF0gPCAwIHx8IGFbU0VDT05EXSA+IDU5ID8gU0VDT05EIDpcbiAgICAgICAgICAgICAgICBhW01JTExJU0VDT05EXSA8IDAgfHwgYVtNSUxMSVNFQ09ORF0gPiA5OTkgPyBNSUxMSVNFQ09ORCA6XG4gICAgICAgICAgICAgICAgICAtMTtcblxuICAgIGlmIChnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dEYXlPZlllYXIgJiYgKG92ZXJmbG93IDwgWUVBUiB8fCBvdmVyZmxvdyA+IERBVEUpKSB7XG4gICAgICBvdmVyZmxvdyA9IERBVEU7XG4gICAgfVxuICAgIGlmIChnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dXZWVrcyAmJiBvdmVyZmxvdyA9PT0gLTEpIHtcbiAgICAgIG92ZXJmbG93ID0gV0VFSztcbiAgICB9XG4gICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtkYXkgJiYgb3ZlcmZsb3cgPT09IC0xKSB7XG4gICAgICBvdmVyZmxvdyA9IFdFRUtEQVk7XG4gICAgfVxuXG4gICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykub3ZlcmZsb3cgPSBvdmVyZmxvdztcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9zcmMvZGF0ZXBpY2tlci9zdWItY29tcG9uZW50cy9jaHJvbm9zL2NyZWF0ZS9jbG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBVTtJQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmYXN0ZXN0IHdheSB0byBjbG9uZSBkYXRlXG4vLyBodHRwczovL2pzcGVyZi5jb20vY2xvbmUtZGF0ZS1vYmplY3QyXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVEYXRlKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mcm9tLWFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3JjL2RhdGVwaWNrZXIvc3ViLWNvbXBvbmVudHMvY2hyb25vcy9jcmVhdGUvZGF0ZS1mcm9tLWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxhQUFhLENBQUMsQ0FBVSxFQUNWLENBQVUsRUFDVixDQUFVO0lBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXZELHVEQUF1RDtJQUN2RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUU7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN4QjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsQ0FBVSxFQUNWLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsRUFDTCxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsRUFDTCxFQUFFLEdBQUcsQ0FBQztJQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU1QyxzREFBc0Q7SUFDdEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckI7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlVVRDRGF0ZSh5PzogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbT86IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ/OiBudW1iZXIpOiBEYXRlIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsIGFyZ3VtZW50cykpO1xuXG4gIC8vIHRoZSBEYXRlLlVUQyBmdW5jdGlvbiByZW1hcHMgeWVhcnMgMC05OSB0byAxOTAwLTE5OTlcbiAgaWYgKHkgPCAxMDAgJiYgeSA+PSAwICYmIGlzRmluaXRlKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSkpIHtcbiAgICBkYXRlLnNldFVUQ0Z1bGxZZWFyKHkpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRlKHk/OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGQgPSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgaCA9IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBNID0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbXMgPSAwKTogRGF0ZSB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5LCBtLCBkLCBoLCBNLCBzLCBtcyk7XG5cbiAgLy8gdGhlIGRhdGUgY29uc3RydWN0b3IgcmVtYXBzIHllYXJzIDAtOTkgdG8gMTkwMC0xOTk5XG4gIGlmICh5IDwgMTAwICYmIHkgPj0gMCAmJiBpc0Zpbml0ZShkYXRlLmdldEZ1bGxZZWFyKCkpKSB7XG4gICAgZGF0ZS5zZXRGdWxsWWVhcih5KTtcbiAgfVxuXG4gIHJldHVybiBkYXRlO1xufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1hbnl0aGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NyYy9kYXRlcGlja2VyL3N1Yi1jb21wb25lbnRzL2Nocm9ub3MvY3JlYXRlL2Zyb20tYW55dGhpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELFNBQVMsZ0JBQWdCLENBQUMsTUFBeUI7SUFDakQsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pELHlFQUF5RTtJQUN6RSxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFH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eEIsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RhdGUsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNPYmplY3RFbXB0eSwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuL3BhcnNpbmcudHlwZXMnO1xuaW1wb3J0IHsgZ2V0TG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZXMnO1xuaW1wb3J0IHsgY3JlYXRlSW52YWxpZCwgaXNWYWxpZCB9IGZyb20gJy4vdmFsaWQnO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZ0FuZEFycmF5IH0gZnJvbSAnLi9mcm9tLXN0cmluZy1hbmQtYXJyYXknO1xuaW1wb3J0IHsgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdCB9IGZyb20gJy4vZnJvbS1zdHJpbmctYW5kLWZvcm1hdCc7XG5pbXBvcnQgeyBjbG9uZURhdGUgfSBmcm9tICcuL2Nsb25lJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21TdHJpbmcgfSBmcm9tICcuL2Zyb20tc3RyaW5nJztcbmltcG9ydCB7IGNvbmZpZ0Zyb21BcnJheSB9IGZyb20gJy4vZnJvbS1hcnJheSc7XG5pbXBvcnQgeyBjb25maWdGcm9tT2JqZWN0IH0gZnJvbSAnLi9mcm9tLW9iamVjdCc7XG5pbXBvcnQgeyBjaGVja092ZXJmbG93IH0gZnJvbSAnLi9jaGVjay1vdmVyZmxvdyc7XG5pbXBvcnQgeyBEYXRlSW5wdXQgfSBmcm9tICcuLi90ZXN0L2NoYWluJztcblxuZnVuY3Rpb24gY3JlYXRlRnJvbUNvbmZpZyhjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCByZXMgPSBjaGVja092ZXJmbG93KHByZXBhcmVDb25maWcoY29uZmlnKSk7XG4gIC8vIHRvZG86IHJlbW92ZSwgaW4gbW9tZW50LmpzIGl0J3MgbmV2ZXIgY2FsbGVkIGN1eiBvZiBtb21lbnQgY29uc3RydWN0b3JcbiAgcmVzLl9kID0gbmV3IERhdGUocmVzLl9kICE9IG51bGwgPyByZXMuX2QuZ2V0VGltZSgpIDogTmFOKTtcbiAgaWYgKCFpc1ZhbGlkKE9iamVjdC5hc3NpZ24oe30sIHJlcywge19pc1ZhbGlkOiBudWxsfSkpKSB7XG4gICAgcmVzLl9kID0gbmV3IERhdGUoTmFOKTtcbiAgfVxuICAvLyB0b2RvOiB1cGRhdGUgb2Zmc2V0XG4gIC8qaWYgKHJlcy5fbmV4dERheSkge1xuICAgIC8vIEFkZGluZyBpcyBzbWFydCBlbm91Z2ggYXJvdW5kIERTVFxuICAgIHJlcy5fZCA9IGFkZChyZXMuX2QsIDEsICdkYXknKTtcbiAgICByZXMuX25leHREYXkgPSB1bmRlZmluZWQ7XG4gIH0qL1xuXG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQ29uZmlnKGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpOiBEYXRlUGFyc2luZ0NvbmZpZyB7XG4gIGxldCBpbnB1dCA9IGNvbmZpZy5faTtcbiAgY29uc3QgZm9ybWF0ID0gY29uZmlnLl9mO1xuXG4gIGNvbmZpZy5fbG9jYWxlID0gY29uZmlnLl9sb2NhbGUgfHwgZ2V0TG9jYWxlKGNvbmZpZy5fbCk7XG5cbiAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoY29uZmlnLCB7IG51bGxJbnB1dDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGlmIChpc1N0cmluZyhpbnB1dCkpIHtcbiAgICBjb25maWcuX2kgPSBpbnB1dCA9IGNvbmZpZy5fbG9jYWxlLnByZXBhcnNlKGlucHV0LCBmb3JtYXQpO1xuICB9XG5cbiAgaWYgKGlzRGF0ZShpbnB1dCkpIHtcbiAgICBjb25maWcuX2QgPSBjbG9uZURhdGUoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIC8vIHRvZG86IGFkZCBjaGVjayBmb3IgcmVjdXJzaW9uXG5cbiAgaWYgKGlzQXJyYXkoZm9ybWF0KSkge1xuICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpO1xuICB9IGVsc2UgaWYgKGZvcm1hdCkge1xuICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKTtcbiAgfSBlbHNlIHtcbiAgICBjb25maWdGcm9tSW5wdXQoY29uZmlnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZChjb25maWcpKSB7XG4gICAgY29uZmlnLl9kID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmZ1bmN0aW9uIGNvbmZpZ0Zyb21JbnB1dChjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnKTogRGF0ZVBhcnNpbmdDb25maWcge1xuICBjb25zdCBpbnB1dCA9IGNvbmZpZy5faTtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSkge1xuICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKCk7XG4gIH0gZWxzZSBpZiAoaXNEYXRlKGlucHV0KSkge1xuICAgIGNvbmZpZy5fZCA9IGNsb25lRGF0ZShpbnB1dCk7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uZmlnRnJvbVN0cmluZyhjb25maWcpO1xuICB9IGVsc2UgaWYgKGlzQXJyYXk8c3RyaW5nIHwgbnVtYmVyPihpbnB1dCkgJiYgaW5wdXQubGVuZ3RoKSB7XG4gICAgY29uc3QgX2FycjogKHN0cmluZyB8IG51bWJlcilbXSA9IGlucHV0LnNsaWNlKDApO1xuICAgIGNvbmZpZy5fYSA9IF9hcnIubWFwKG9iaiA9PiBpc1N0cmluZyhvYmopID8gcGFyc2VJbnQob2JqLCAxMCkgOiBvYmopO1xuICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpO1xuICB9IGVsc2UgaWYgKGlzT2JqZWN0KGlucHV0KSkge1xuICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTtcbiAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkpIHtcbiAgICAvLyBmcm9tIG1pbGxpc2Vjb25kc1xuICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGlucHV0KTtcbiAgfSBlbHNlIHtcbiAgICAvLyAgIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7XG4gICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoY29uZmlnKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbE9yVVRDKGlucHV0OiBEYXRlSW5wdXQsIGZvcm1hdD86IHN0cmluZyB8IHN0cmluZ1tdLCBsb2NhbGVLZXk/OiBzdHJpbmcsIHN0cmljdD86IGJvb2xlYW4sIGlzVVRDPzogYm9vbGVhbik6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyA9IHt9O1xuICBsZXQgX2lucHV0ID0gaW5wdXQ7XG5cbiAgLy8gcGFyYW1zIHN3aXRjaCAtPiBza2lwOyB0ZXN0IGl0IHdlbGxcbiAgLy8gaWYgKGxvY2FsZUtleSA9PT0gdHJ1ZSB8fCBsb2NhbGVLZXkgPT09IGZhbHNlKSB7XG4gIC8vICAgICBzdHJpY3QgPSBsb2NhbGVLZXk7XG4gIC8vICAgICBsb2NhbGVLZXkgPSB1bmRlZmluZWQ7XG4gIC8vIH1cblxuICAvLyB0b2RvOiBmYWlsIGZhc3QgYW5kIHJldHVybiBub3QgdmFsaWQgZGF0ZVxuICBpZiAoKGlzT2JqZWN0KF9pbnB1dCkgJiYgaXNPYmplY3RFbXB0eShfaW5wdXQpKSB8fCAoaXNBcnJheShfaW5wdXQpICYmIF9pbnB1dC5sZW5ndGggPT09IDApKSB7XG4gICAgX2lucHV0ID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIG9iamVjdCBjb25zdHJ1Y3Rpb24gbXVzdCBiZSBkb25lIHRoaXMgd2F5LlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTQyM1xuICAvLyBjb25maWcuX2lzQU1vbWVudE9iamVjdCA9IHRydWU7XG4gIGNvbmZpZy5fdXNlVVRDID0gY29uZmlnLl9pc1VUQyA9IGlzVVRDO1xuICBjb25maWcuX2wgPSBsb2NhbGVLZXk7XG4gIGNvbmZpZy5faSA9IF9pbnB1dDtcbiAgY29uZmlnLl9mID0gZm9ybWF0O1xuICBjb25maWcuX3N0cmljdCA9IHN0cmljdDtcblxuICByZXR1cm4gY3JlYXRlRnJvbUNvbmZpZyhjb25maWcpO1xufVxuIl19