ngx-bootstrap 1.8.1 → 1.9.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 (601) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +25 -10
  3. package/accordion/accordion-group.component.js +3 -2
  4. package/accordion/accordion-group.component.js.map +1 -1
  5. package/accordion/accordion-group.component.metadata.json +1 -1
  6. package/accordion/accordion.component.js +2 -1
  7. package/accordion/accordion.component.js.map +1 -1
  8. package/accordion/accordion.config.js +2 -1
  9. package/accordion/accordion.config.js.map +1 -1
  10. package/accordion/accordion.module.js +2 -1
  11. package/accordion/accordion.module.js.map +1 -1
  12. package/accordion/index.js.map +1 -1
  13. package/alert/alert.component.js +4 -3
  14. package/alert/alert.component.js.map +1 -1
  15. package/alert/alert.config.js +2 -1
  16. package/alert/alert.config.js.map +1 -1
  17. package/alert/alert.module.js +2 -1
  18. package/alert/alert.module.js.map +1 -1
  19. package/alert/index.js.map +1 -1
  20. package/bs-moment/LICENSE +26 -0
  21. package/bs-moment/format-functions.d.ts +13 -0
  22. package/bs-moment/format-functions.js +53 -0
  23. package/bs-moment/format-functions.js.map +1 -0
  24. package/bs-moment/format-functions.metadata.json +1 -0
  25. package/bs-moment/format.d.ts +6 -0
  26. package/bs-moment/format.js +43 -0
  27. package/bs-moment/format.js.map +1 -0
  28. package/bs-moment/format.metadata.json +1 -0
  29. package/bs-moment/i18n/ar.d.ts +2 -0
  30. package/bs-moment/i18n/ar.js +131 -0
  31. package/bs-moment/i18n/ar.js.map +1 -0
  32. package/bs-moment/i18n/ar.metadata.json +1 -0
  33. package/bs-moment/i18n/de.d.ts +2 -0
  34. package/bs-moment/i18n/de.js +67 -0
  35. package/bs-moment/i18n/de.js.map +1 -0
  36. package/bs-moment/i18n/de.metadata.json +1 -0
  37. package/bs-moment/i18n/en-gb.d.ts +2 -0
  38. package/bs-moment/i18n/en-gb.js +60 -0
  39. package/bs-moment/i18n/en-gb.js.map +1 -0
  40. package/bs-moment/i18n/en-gb.metadata.json +1 -0
  41. package/bs-moment/i18n/es-do.d.ts +2 -0
  42. package/bs-moment/i18n/es-do.js +61 -0
  43. package/bs-moment/i18n/es-do.js.map +1 -0
  44. package/bs-moment/i18n/es-do.metadata.json +1 -0
  45. package/bs-moment/i18n/es-us.d.ts +2 -0
  46. package/bs-moment/i18n/es-us.js +54 -0
  47. package/bs-moment/i18n/es-us.js.map +1 -0
  48. package/bs-moment/i18n/es-us.metadata.json +1 -0
  49. package/bs-moment/i18n/es.d.ts +2 -0
  50. package/bs-moment/i18n/es.js +62 -0
  51. package/bs-moment/i18n/es.js.map +1 -0
  52. package/bs-moment/i18n/es.metadata.json +1 -0
  53. package/bs-moment/i18n/fr.d.ts +2 -0
  54. package/bs-moment/i18n/fr.js +70 -0
  55. package/bs-moment/i18n/fr.js.map +1 -0
  56. package/bs-moment/i18n/fr.metadata.json +1 -0
  57. package/bs-moment/i18n/hi.d.ts +2 -0
  58. package/bs-moment/i18n/hi.js +119 -0
  59. package/bs-moment/i18n/hi.js.map +1 -0
  60. package/bs-moment/i18n/hi.metadata.json +1 -0
  61. package/bs-moment/i18n/it.d.ts +2 -0
  62. package/bs-moment/i18n/it.js +27 -0
  63. package/bs-moment/i18n/it.js.map +1 -0
  64. package/bs-moment/i18n/it.metadata.json +1 -0
  65. package/bs-moment/i18n/ja.d.ts +2 -0
  66. package/bs-moment/i18n/ja.js +65 -0
  67. package/bs-moment/i18n/ja.js.map +1 -0
  68. package/bs-moment/i18n/ja.metadata.json +1 -0
  69. package/bs-moment/i18n/ko.d.ts +2 -0
  70. package/bs-moment/i18n/ko.js +72 -0
  71. package/bs-moment/i18n/ko.js.map +1 -0
  72. package/bs-moment/i18n/ko.metadata.json +1 -0
  73. package/bs-moment/i18n/nl-be.d.ts +2 -0
  74. package/bs-moment/i18n/nl-be.js +73 -0
  75. package/bs-moment/i18n/nl-be.js.map +1 -0
  76. package/bs-moment/i18n/nl-be.metadata.json +1 -0
  77. package/bs-moment/i18n/nl.d.ts +2 -0
  78. package/bs-moment/i18n/nl.js +73 -0
  79. package/bs-moment/i18n/nl.js.map +1 -0
  80. package/bs-moment/i18n/nl.metadata.json +1 -0
  81. package/bs-moment/i18n/pl.d.ts +2 -0
  82. package/bs-moment/i18n/pl.js +77 -0
  83. package/bs-moment/i18n/pl.js.map +1 -0
  84. package/bs-moment/i18n/pl.metadata.json +1 -0
  85. package/bs-moment/i18n/pt-br.d.ts +2 -0
  86. package/bs-moment/i18n/pt-br.js +39 -0
  87. package/bs-moment/i18n/pt-br.js.map +1 -0
  88. package/bs-moment/i18n/pt-br.metadata.json +1 -0
  89. package/bs-moment/i18n/ru.d.ts +2 -0
  90. package/bs-moment/i18n/ru.js +120 -0
  91. package/bs-moment/i18n/ru.js.map +1 -0
  92. package/bs-moment/i18n/ru.metadata.json +1 -0
  93. package/bs-moment/i18n/zh-cn.d.ts +2 -0
  94. package/bs-moment/i18n/zh-cn.js +107 -0
  95. package/bs-moment/i18n/zh-cn.js.map +1 -0
  96. package/bs-moment/i18n/zh-cn.metadata.json +1 -0
  97. package/bs-moment/index.d.ts +1 -0
  98. package/bs-moment/index.js +2 -0
  99. package/bs-moment/index.js.map +1 -0
  100. package/bs-moment/index.metadata.json +1 -0
  101. package/bs-moment/locale/en.d.ts +0 -0
  102. package/bs-moment/locale/en.js +14 -0
  103. package/bs-moment/locale/en.js.map +1 -0
  104. package/bs-moment/locale/index.d.ts +1 -0
  105. package/bs-moment/locale/index.js +2 -0
  106. package/bs-moment/locale/index.js.map +1 -0
  107. package/bs-moment/locale/locale.class.d.ts +60 -0
  108. package/bs-moment/locale/locale.class.js +117 -0
  109. package/bs-moment/locale/locale.class.js.map +1 -0
  110. package/bs-moment/locale/locale.class.metadata.json +1 -0
  111. package/bs-moment/locale/locale.defaults.d.ts +8 -0
  112. package/bs-moment/locale/locale.defaults.js +23 -0
  113. package/bs-moment/locale/locale.defaults.js.map +1 -0
  114. package/bs-moment/locale/locale.defaults.metadata.json +1 -0
  115. package/bs-moment/locale/locales.service.d.ts +8 -0
  116. package/bs-moment/locale/locales.service.js +81 -0
  117. package/bs-moment/locale/locales.service.js.map +1 -0
  118. package/bs-moment/locale/locales.service.metadata.json +1 -0
  119. package/bs-moment/types.d.ts +11 -0
  120. package/bs-moment/types.js +1 -0
  121. package/bs-moment/types.js.map +1 -0
  122. package/bs-moment/types.metadata.json +1 -0
  123. package/bs-moment/units/day-of-month.d.ts +0 -0
  124. package/bs-moment/units/day-of-month.js +6 -0
  125. package/bs-moment/units/day-of-month.js.map +1 -0
  126. package/bs-moment/units/day-of-week.d.ts +3 -0
  127. package/bs-moment/units/day-of-week.js +28 -0
  128. package/bs-moment/units/day-of-week.js.map +1 -0
  129. package/bs-moment/units/day-of-week.metadata.json +1 -0
  130. package/bs-moment/units/day-of-year.d.ts +2 -0
  131. package/bs-moment/units/day-of-year.js +20 -0
  132. package/bs-moment/units/day-of-year.js.map +1 -0
  133. package/bs-moment/units/day-of-year.metadata.json +1 -0
  134. package/bs-moment/units/hour.d.ts +0 -0
  135. package/bs-moment/units/hour.js +49 -0
  136. package/bs-moment/units/hour.js.map +1 -0
  137. package/bs-moment/units/index.d.ts +10 -0
  138. package/bs-moment/units/index.js +11 -0
  139. package/bs-moment/units/index.js.map +1 -0
  140. package/bs-moment/units/minute.d.ts +0 -0
  141. package/bs-moment/units/minute.js +6 -0
  142. package/bs-moment/units/minute.js.map +1 -0
  143. package/bs-moment/units/month.d.ts +1 -0
  144. package/bs-moment/units/month.js +23 -0
  145. package/bs-moment/units/month.js.map +1 -0
  146. package/bs-moment/units/month.metadata.json +1 -0
  147. package/bs-moment/units/second.d.ts +0 -0
  148. package/bs-moment/units/second.js +6 -0
  149. package/bs-moment/units/second.js.map +1 -0
  150. package/bs-moment/units/week-calendar-utils.d.ts +9 -0
  151. package/bs-moment/units/week-calendar-utils.js +70 -0
  152. package/bs-moment/units/week-calendar-utils.js.map +1 -0
  153. package/bs-moment/units/week-calendar-utils.metadata.json +1 -0
  154. package/bs-moment/units/week.d.ts +3 -0
  155. package/bs-moment/units/week.js +15 -0
  156. package/bs-moment/units/week.js.map +1 -0
  157. package/bs-moment/units/week.metadata.json +1 -0
  158. package/bs-moment/units/year.d.ts +2 -0
  159. package/bs-moment/units/year.js +23 -0
  160. package/bs-moment/units/year.js.map +1 -0
  161. package/bs-moment/units/year.metadata.json +1 -0
  162. package/bs-moment/utils/date-compare.d.ts +7 -0
  163. package/bs-moment/utils/date-compare.js +50 -0
  164. package/bs-moment/utils/date-compare.js.map +1 -0
  165. package/bs-moment/utils/date-compare.metadata.json +1 -0
  166. package/bs-moment/utils/date-getters.d.ts +14 -0
  167. package/bs-moment/utils/date-getters.js +61 -0
  168. package/bs-moment/utils/date-getters.js.map +1 -0
  169. package/bs-moment/utils/date-getters.metadata.json +1 -0
  170. package/bs-moment/utils/date-setters.d.ts +4 -0
  171. package/bs-moment/utils/date-setters.js +23 -0
  172. package/bs-moment/utils/date-setters.js.map +1 -0
  173. package/bs-moment/utils/date-setters.metadata.json +1 -0
  174. package/bs-moment/utils/start-end-of.d.ts +3 -0
  175. package/bs-moment/utils/start-end-of.js +35 -0
  176. package/bs-moment/utils/start-end-of.js.map +1 -0
  177. package/bs-moment/utils/start-end-of.metadata.json +1 -0
  178. package/bs-moment/utils/type-checks.d.ts +7 -0
  179. package/bs-moment/utils/type-checks.js +30 -0
  180. package/bs-moment/utils/type-checks.js.map +1 -0
  181. package/bs-moment/utils/type-checks.metadata.json +1 -0
  182. package/bs-moment/utils.d.ts +4 -0
  183. package/bs-moment/utils.js +24 -0
  184. package/bs-moment/utils.js.map +1 -0
  185. package/bs-moment/utils.metadata.json +1 -0
  186. package/bundles/ngx-bootstrap.umd.js +8786 -20532
  187. package/bundles/ngx-bootstrap.umd.js.map +1 -1
  188. package/bundles/ngx-bootstrap.umd.min.js +2 -2
  189. package/buttons/button-checkbox.directive.js +2 -1
  190. package/buttons/button-checkbox.directive.js.map +1 -1
  191. package/buttons/button-radio.directive.js +2 -1
  192. package/buttons/button-radio.directive.js.map +1 -1
  193. package/buttons/buttons.module.js +2 -1
  194. package/buttons/buttons.module.js.map +1 -1
  195. package/buttons/index.js.map +1 -1
  196. package/carousel/carousel.component.d.ts +3 -2
  197. package/carousel/carousel.component.js +31 -12
  198. package/carousel/carousel.component.js.map +1 -1
  199. package/carousel/carousel.component.metadata.json +1 -1
  200. package/carousel/carousel.config.js +2 -1
  201. package/carousel/carousel.config.js.map +1 -1
  202. package/carousel/carousel.module.js +2 -1
  203. package/carousel/carousel.module.js.map +1 -1
  204. package/carousel/index.js.map +1 -1
  205. package/carousel/slide.component.js +2 -1
  206. package/carousel/slide.component.js.map +1 -1
  207. package/collapse/collapse.directive.js +3 -1
  208. package/collapse/collapse.directive.js.map +1 -1
  209. package/collapse/collapse.module.js +2 -1
  210. package/collapse/collapse.module.js.map +1 -1
  211. package/collapse/index.js.map +1 -1
  212. package/component-loader/bs-component-ref.class.js +2 -1
  213. package/component-loader/bs-component-ref.class.js.map +1 -1
  214. package/component-loader/bs-component-ref.class.metadata.json +1 -1
  215. package/component-loader/component-loader.class.d.ts +10 -9
  216. package/component-loader/component-loader.class.js +56 -12
  217. package/component-loader/component-loader.class.js.map +1 -1
  218. package/component-loader/component-loader.class.metadata.json +1 -1
  219. package/component-loader/component-loader.factory.js +2 -1
  220. package/component-loader/component-loader.factory.js.map +1 -1
  221. package/component-loader/content-ref.class.js +2 -1
  222. package/component-loader/content-ref.class.js.map +1 -1
  223. package/component-loader/index.js.map +1 -1
  224. package/component-loader/listen-options.model.d.ts +9 -0
  225. package/component-loader/listen-options.model.js +1 -0
  226. package/component-loader/listen-options.model.js.map +1 -0
  227. package/component-loader/listen-options.model.metadata.json +1 -0
  228. package/datepicker/base/bs-datepicker-container.d.ts +26 -0
  229. package/datepicker/base/bs-datepicker-container.js +41 -0
  230. package/datepicker/base/bs-datepicker-container.js.map +1 -0
  231. package/datepicker/base/bs-datepicker-container.metadata.json +1 -0
  232. package/datepicker/bs-datepicker-input.directive.d.ts +21 -0
  233. package/datepicker/bs-datepicker-input.directive.js +79 -0
  234. package/datepicker/bs-datepicker-input.directive.js.map +1 -0
  235. package/datepicker/bs-datepicker-input.directive.metadata.json +1 -0
  236. package/datepicker/bs-datepicker.component.d.ts +85 -0
  237. package/datepicker/bs-datepicker.component.js +184 -0
  238. package/datepicker/bs-datepicker.component.js.map +1 -0
  239. package/datepicker/bs-datepicker.component.metadata.json +1 -0
  240. package/datepicker/bs-datepicker.config.d.ts +36 -0
  241. package/datepicker/bs-datepicker.config.js +39 -0
  242. package/datepicker/bs-datepicker.config.js.map +1 -0
  243. package/datepicker/bs-datepicker.config.metadata.json +1 -0
  244. package/datepicker/bs-datepicker.css +424 -0
  245. package/datepicker/bs-datepicker.css.map +16 -0
  246. package/datepicker/bs-datepicker.module.d.ts +5 -0
  247. package/datepicker/bs-datepicker.module.js +69 -0
  248. package/datepicker/bs-datepicker.module.js.map +1 -0
  249. package/datepicker/bs-datepicker.module.metadata.json +1 -0
  250. package/datepicker/bs-datepicker.scss +532 -0
  251. package/datepicker/bs-daterangepicker-input.directive.d.ts +21 -0
  252. package/datepicker/bs-daterangepicker-input.directive.js +87 -0
  253. package/datepicker/bs-daterangepicker-input.directive.js.map +1 -0
  254. package/datepicker/bs-daterangepicker-input.directive.metadata.json +1 -0
  255. package/datepicker/bs-daterangepicker.component.d.ts +84 -0
  256. package/datepicker/bs-daterangepicker.component.js +184 -0
  257. package/datepicker/bs-daterangepicker.component.js.map +1 -0
  258. package/datepicker/bs-daterangepicker.component.metadata.json +1 -0
  259. package/datepicker/date-formatter.d.ts +1 -1
  260. package/datepicker/date-formatter.js +5 -4
  261. package/datepicker/date-formatter.js.map +1 -1
  262. package/datepicker/datepicker-inner.component.d.ts +1 -0
  263. package/datepicker/datepicker-inner.component.js +5 -2
  264. package/datepicker/datepicker-inner.component.js.map +1 -1
  265. package/datepicker/datepicker-inner.component.metadata.json +1 -1
  266. package/datepicker/datepicker.component.d.ts +1 -1
  267. package/datepicker/datepicker.component.js +3 -2
  268. package/datepicker/datepicker.component.js.map +1 -1
  269. package/datepicker/datepicker.component.metadata.json +1 -1
  270. package/datepicker/datepicker.config.d.ts +1 -0
  271. package/datepicker/datepicker.config.js +3 -1
  272. package/datepicker/datepicker.config.js.map +1 -1
  273. package/datepicker/datepicker.module.js +2 -1
  274. package/datepicker/datepicker.module.js.map +1 -1
  275. package/datepicker/daypicker.component.js +4 -2
  276. package/datepicker/daypicker.component.js.map +1 -1
  277. package/datepicker/daypicker.component.metadata.json +1 -1
  278. package/datepicker/engine/calc-days-calendar.d.ts +2 -0
  279. package/datepicker/engine/calc-days-calendar.js +18 -0
  280. package/datepicker/engine/calc-days-calendar.js.map +1 -0
  281. package/datepicker/engine/calc-days-calendar.metadata.json +1 -0
  282. package/datepicker/engine/flag-days-calendar.d.ts +12 -0
  283. package/datepicker/engine/flag-days-calendar.js +71 -0
  284. package/datepicker/engine/flag-days-calendar.js.map +1 -0
  285. package/datepicker/engine/flag-days-calendar.metadata.json +1 -0
  286. package/datepicker/engine/flag-months-calendar.d.ts +10 -0
  287. package/datepicker/engine/flag-months-calendar.js +27 -0
  288. package/datepicker/engine/flag-months-calendar.js.map +1 -0
  289. package/datepicker/engine/flag-months-calendar.metadata.json +1 -0
  290. package/datepicker/engine/flag-years-calendar.d.ts +10 -0
  291. package/datepicker/engine/flag-years-calendar.js +29 -0
  292. package/datepicker/engine/flag-years-calendar.js.map +1 -0
  293. package/datepicker/engine/flag-years-calendar.metadata.json +1 -0
  294. package/datepicker/engine/format-days-calendar.d.ts +3 -0
  295. package/datepicker/engine/format-days-calendar.js +25 -0
  296. package/datepicker/engine/format-days-calendar.js.map +1 -0
  297. package/datepicker/engine/format-days-calendar.metadata.json +1 -0
  298. package/datepicker/engine/format-months-calendar.d.ts +2 -0
  299. package/datepicker/engine/format-months-calendar.js +20 -0
  300. package/datepicker/engine/format-months-calendar.js.map +1 -0
  301. package/datepicker/engine/format-months-calendar.metadata.json +1 -0
  302. package/datepicker/engine/format-years-calendar.d.ts +3 -0
  303. package/datepicker/engine/format-years-calendar.js +28 -0
  304. package/datepicker/engine/format-years-calendar.js.map +1 -0
  305. package/datepicker/engine/format-years-calendar.metadata.json +1 -0
  306. package/datepicker/engine/view-mode.d.ts +2 -0
  307. package/datepicker/engine/view-mode.js +4 -0
  308. package/datepicker/engine/view-mode.js.map +1 -0
  309. package/datepicker/engine/view-mode.metadata.json +1 -0
  310. package/datepicker/index.d.ts +4 -0
  311. package/datepicker/index.js +4 -8
  312. package/datepicker/index.js.map +1 -1
  313. package/datepicker/index.metadata.json +1 -1
  314. package/datepicker/models/index.d.ts +89 -0
  315. package/datepicker/models/index.js +9 -0
  316. package/datepicker/models/index.js.map +1 -0
  317. package/datepicker/models/index.metadata.json +1 -0
  318. package/datepicker/monthpicker.component.js +4 -2
  319. package/datepicker/monthpicker.component.js.map +1 -1
  320. package/datepicker/monthpicker.component.metadata.json +1 -1
  321. package/datepicker/reducer/_defaults.d.ts +2 -0
  322. package/datepicker/reducer/_defaults.js +5 -0
  323. package/datepicker/reducer/_defaults.js.map +1 -0
  324. package/datepicker/reducer/_defaults.metadata.json +1 -0
  325. package/datepicker/reducer/bs-datepicker.actions.d.ts +31 -0
  326. package/datepicker/reducer/bs-datepicker.actions.js +90 -0
  327. package/datepicker/reducer/bs-datepicker.actions.js.map +1 -0
  328. package/datepicker/reducer/bs-datepicker.actions.metadata.json +1 -0
  329. package/datepicker/reducer/bs-datepicker.effects.d.ts +33 -0
  330. package/datepicker/reducer/bs-datepicker.effects.js +173 -0
  331. package/datepicker/reducer/bs-datepicker.effects.js.map +1 -0
  332. package/datepicker/reducer/bs-datepicker.effects.metadata.json +1 -0
  333. package/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
  334. package/datepicker/reducer/bs-datepicker.reducer.js +230 -0
  335. package/datepicker/reducer/bs-datepicker.reducer.js.map +1 -0
  336. package/datepicker/reducer/bs-datepicker.reducer.metadata.json +1 -0
  337. package/datepicker/reducer/bs-datepicker.state.d.ts +34 -0
  338. package/datepicker/reducer/bs-datepicker.state.js +14 -0
  339. package/datepicker/reducer/bs-datepicker.state.js.map +1 -0
  340. package/datepicker/reducer/bs-datepicker.state.metadata.json +1 -0
  341. package/datepicker/reducer/bs-datepicker.store.d.ts +5 -0
  342. package/datepicker/reducer/bs-datepicker.store.js +34 -0
  343. package/datepicker/reducer/bs-datepicker.store.js.map +1 -0
  344. package/datepicker/reducer/bs-datepicker.store.metadata.json +1 -0
  345. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +2 -0
  346. package/datepicker/themes/bs/bs-calendar-layout.component.js +16 -0
  347. package/datepicker/themes/bs/bs-calendar-layout.component.js.map +1 -0
  348. package/datepicker/themes/bs/bs-calendar-layout.component.metadata.json +1 -0
  349. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -0
  350. package/datepicker/themes/bs/bs-current-date-view.component.js +19 -0
  351. package/datepicker/themes/bs/bs-current-date-view.component.js.map +1 -0
  352. package/datepicker/themes/bs/bs-current-date-view.component.metadata.json +1 -0
  353. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +8 -0
  354. package/datepicker/themes/bs/bs-custom-dates-view.component.js +21 -0
  355. package/datepicker/themes/bs/bs-custom-dates-view.component.js.map +1 -0
  356. package/datepicker/themes/bs/bs-custom-dates-view.component.metadata.json +1 -0
  357. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +20 -0
  358. package/datepicker/themes/bs/bs-datepicker-container.component.js +85 -0
  359. package/datepicker/themes/bs/bs-datepicker-container.component.js.map +1 -0
  360. package/datepicker/themes/bs/bs-datepicker-container.component.metadata.json +1 -0
  361. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +4 -0
  362. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +29 -0
  363. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js.map +1 -0
  364. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +1 -0
  365. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +9 -0
  366. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +33 -0
  367. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js.map +1 -0
  368. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.metadata.json +1 -0
  369. package/datepicker/themes/bs/bs-datepicker-view.html +61 -0
  370. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +21 -0
  371. package/datepicker/themes/bs/bs-daterangepicker-container.component.js +102 -0
  372. package/datepicker/themes/bs/bs-daterangepicker-container.component.js.map +1 -0
  373. package/datepicker/themes/bs/bs-daterangepicker-container.component.metadata.json +1 -0
  374. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +14 -0
  375. package/datepicker/themes/bs/bs-days-calendar-view.component.js +43 -0
  376. package/datepicker/themes/bs/bs-days-calendar-view.component.js.map +1 -0
  377. package/datepicker/themes/bs/bs-days-calendar-view.component.metadata.json +1 -0
  378. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +13 -0
  379. package/datepicker/themes/bs/bs-months-calendar-view.component.js +41 -0
  380. package/datepicker/themes/bs/bs-months-calendar-view.component.js.map +1 -0
  381. package/datepicker/themes/bs/bs-months-calendar-view.component.metadata.json +1 -0
  382. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +5 -0
  383. package/datepicker/themes/bs/bs-timepicker-view.component.js +19 -0
  384. package/datepicker/themes/bs/bs-timepicker-view.component.js.map +1 -0
  385. package/datepicker/themes/bs/bs-timepicker-view.component.metadata.json +1 -0
  386. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +13 -0
  387. package/datepicker/themes/bs/bs-years-calendar-view.component.js +42 -0
  388. package/datepicker/themes/bs/bs-years-calendar-view.component.js.map +1 -0
  389. package/datepicker/themes/bs/bs-years-calendar-view.component.metadata.json +1 -0
  390. package/datepicker/utils/bs-calendar-utils.d.ts +5 -0
  391. package/datepicker/utils/bs-calendar-utils.js +22 -0
  392. package/datepicker/utils/bs-calendar-utils.js.map +1 -0
  393. package/datepicker/utils/bs-calendar-utils.metadata.json +1 -0
  394. package/datepicker/utils/matrix-utils.d.ts +9 -0
  395. package/datepicker/utils/matrix-utils.js +14 -0
  396. package/datepicker/utils/matrix-utils.js.map +1 -0
  397. package/datepicker/utils/matrix-utils.metadata.json +1 -0
  398. package/datepicker/utils/scss/mixins.css +2 -0
  399. package/datepicker/utils/scss/mixins.css.map +12 -0
  400. package/datepicker/utils/scss/mixins.scss +24 -0
  401. package/datepicker/utils/scss/variables.css +2 -0
  402. package/datepicker/utils/scss/variables.css.map +12 -0
  403. package/datepicker/utils/scss/variables.scss +36 -0
  404. package/datepicker/yearpicker.component.js +4 -2
  405. package/datepicker/yearpicker.component.js.map +1 -1
  406. package/datepicker/yearpicker.component.metadata.json +1 -1
  407. package/dropdown/bs-dropdown-container.component.d.ts +3 -2
  408. package/dropdown/bs-dropdown-container.component.js +19 -3
  409. package/dropdown/bs-dropdown-container.component.js.map +1 -1
  410. package/dropdown/bs-dropdown-container.component.metadata.json +1 -1
  411. package/dropdown/bs-dropdown-menu.directive.js +2 -1
  412. package/dropdown/bs-dropdown-menu.directive.js.map +1 -1
  413. package/dropdown/bs-dropdown-toggle.directive.js +2 -1
  414. package/dropdown/bs-dropdown-toggle.directive.js.map +1 -1
  415. package/dropdown/bs-dropdown.config.js +2 -1
  416. package/dropdown/bs-dropdown.config.js.map +1 -1
  417. package/dropdown/bs-dropdown.directive.d.ts +5 -0
  418. package/dropdown/bs-dropdown.directive.js +40 -2
  419. package/dropdown/bs-dropdown.directive.js.map +1 -1
  420. package/dropdown/bs-dropdown.directive.metadata.json +1 -1
  421. package/dropdown/bs-dropdown.module.js +2 -1
  422. package/dropdown/bs-dropdown.module.js.map +1 -1
  423. package/dropdown/bs-dropdown.state.js +2 -1
  424. package/dropdown/bs-dropdown.state.js.map +1 -1
  425. package/dropdown/index.js.map +1 -1
  426. package/index.d.ts +2 -1
  427. package/index.js +7 -3
  428. package/index.js.map +1 -1
  429. package/index.metadata.json +1 -1
  430. package/locale.d.ts +17 -0
  431. package/locale.js +18 -0
  432. package/locale.js.map +1 -0
  433. package/locale.metadata.json +1 -0
  434. package/mini-ngrx/LICENCE +21 -0
  435. package/mini-ngrx/index.js.map +1 -1
  436. package/mini-ngrx/index.metadata.json +1 -1
  437. package/mini-ngrx/state.class.js +17 -8
  438. package/mini-ngrx/state.class.js.map +1 -1
  439. package/mini-ngrx/state.class.metadata.json +1 -1
  440. package/mini-ngrx/store.class.js +20 -10
  441. package/mini-ngrx/store.class.js.map +1 -1
  442. package/mini-ngrx/store.class.metadata.json +1 -1
  443. package/modal/bs-modal.service.js +3 -2
  444. package/modal/bs-modal.service.js.map +1 -1
  445. package/modal/index.js.map +1 -1
  446. package/modal/modal-backdrop.component.js +4 -2
  447. package/modal/modal-backdrop.component.js.map +1 -1
  448. package/modal/modal-container.component.js +2 -1
  449. package/modal/modal-container.component.js.map +1 -1
  450. package/modal/modal-options.class.js +4 -2
  451. package/modal/modal-options.class.js.map +1 -1
  452. package/modal/modal.component.d.ts +2 -2
  453. package/modal/modal.component.js +3 -2
  454. package/modal/modal.component.js.map +1 -1
  455. package/modal/modal.module.js +2 -1
  456. package/modal/modal.module.js.map +1 -1
  457. package/ng2-bootstrap.js +2 -1
  458. package/ng2-bootstrap.js.map +1 -1
  459. package/package.json +30 -34
  460. package/pagination/index.js.map +1 -1
  461. package/pagination/pager.component.js +3 -2
  462. package/pagination/pager.component.js.map +1 -1
  463. package/pagination/pager.component.metadata.json +1 -1
  464. package/pagination/pagination.component.js +2 -1
  465. package/pagination/pagination.component.js.map +1 -1
  466. package/pagination/pagination.component.metadata.json +1 -1
  467. package/pagination/pagination.config.js +3 -1
  468. package/pagination/pagination.config.js.map +1 -1
  469. package/pagination/pagination.module.js +2 -1
  470. package/pagination/pagination.module.js.map +1 -1
  471. package/popover/index.js.map +1 -1
  472. package/popover/popover-container.component.js +5 -3
  473. package/popover/popover-container.component.js.map +1 -1
  474. package/popover/popover-container.component.metadata.json +1 -1
  475. package/popover/popover.config.d.ts +2 -1
  476. package/popover/popover.config.js +4 -2
  477. package/popover/popover.config.js.map +1 -1
  478. package/popover/popover.directive.d.ts +9 -1
  479. package/popover/popover.directive.js +10 -1
  480. package/popover/popover.directive.js.map +1 -1
  481. package/popover/popover.directive.metadata.json +1 -1
  482. package/popover/popover.module.js +2 -1
  483. package/popover/popover.module.js.map +1 -1
  484. package/positioning/index.js.map +1 -1
  485. package/positioning/ng-positioning.d.ts +2 -0
  486. package/positioning/ng-positioning.js +30 -4
  487. package/positioning/ng-positioning.js.map +1 -1
  488. package/positioning/ng-positioning.metadata.json +1 -1
  489. package/positioning/positioning.service.js +2 -1
  490. package/positioning/positioning.service.js.map +1 -1
  491. package/positioning/positioning.service.metadata.json +1 -1
  492. package/progressbar/bar.component.js +2 -1
  493. package/progressbar/bar.component.js.map +1 -1
  494. package/progressbar/index.js.map +1 -1
  495. package/progressbar/progress.directive.js +2 -1
  496. package/progressbar/progress.directive.js.map +1 -1
  497. package/progressbar/progressbar.component.js +2 -1
  498. package/progressbar/progressbar.component.js.map +1 -1
  499. package/progressbar/progressbar.config.js +2 -1
  500. package/progressbar/progressbar.config.js.map +1 -1
  501. package/progressbar/progressbar.module.js +2 -1
  502. package/progressbar/progressbar.module.js.map +1 -1
  503. package/rating/index.js.map +1 -1
  504. package/rating/rating.component.js +2 -1
  505. package/rating/rating.component.js.map +1 -1
  506. package/rating/rating.module.js +2 -1
  507. package/rating/rating.module.js.map +1 -1
  508. package/sortable/draggable-item.js.map +1 -1
  509. package/sortable/draggable-item.metadata.json +1 -0
  510. package/sortable/draggable-item.service.js +2 -1
  511. package/sortable/draggable-item.service.js.map +1 -1
  512. package/sortable/index.js.map +1 -1
  513. package/sortable/sortable.component.js +2 -1
  514. package/sortable/sortable.component.js.map +1 -1
  515. package/sortable/sortable.component.metadata.json +1 -1
  516. package/sortable/sortable.module.js +2 -1
  517. package/sortable/sortable.module.js.map +1 -1
  518. package/spec/ng-bootstrap/license +23 -0
  519. package/tabs/index.js.map +1 -1
  520. package/tabs/ng-transclude.directive.js +2 -1
  521. package/tabs/ng-transclude.directive.js.map +1 -1
  522. package/tabs/tab-heading.directive.js +2 -1
  523. package/tabs/tab-heading.directive.js.map +1 -1
  524. package/tabs/tab.directive.js +7 -3
  525. package/tabs/tab.directive.js.map +1 -1
  526. package/tabs/tabs.module.js +2 -1
  527. package/tabs/tabs.module.js.map +1 -1
  528. package/tabs/tabset.component.js +4 -3
  529. package/tabs/tabset.component.js.map +1 -1
  530. package/tabs/tabset.config.js +2 -1
  531. package/tabs/tabset.config.js.map +1 -1
  532. package/timepicker/index.js.map +1 -1
  533. package/timepicker/reducer/timepicker.actions.js +2 -1
  534. package/timepicker/reducer/timepicker.actions.js.map +1 -1
  535. package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
  536. package/timepicker/reducer/timepicker.reducer.js +10 -3
  537. package/timepicker/reducer/timepicker.reducer.js.map +1 -1
  538. package/timepicker/reducer/timepicker.reducer.metadata.json +1 -1
  539. package/timepicker/reducer/timepicker.store.js +15 -7
  540. package/timepicker/reducer/timepicker.store.js.map +1 -1
  541. package/timepicker/timepicker-controls.util.js.map +1 -1
  542. package/timepicker/timepicker.component.js +4 -2
  543. package/timepicker/timepicker.component.js.map +1 -1
  544. package/timepicker/timepicker.component.metadata.json +1 -1
  545. package/timepicker/timepicker.config.js +2 -1
  546. package/timepicker/timepicker.config.js.map +1 -1
  547. package/timepicker/timepicker.models.js.map +1 -1
  548. package/timepicker/timepicker.models.metadata.json +1 -0
  549. package/timepicker/timepicker.module.js +2 -1
  550. package/timepicker/timepicker.module.js.map +1 -1
  551. package/timepicker/timepicker.utils.js.map +1 -1
  552. package/tooltip/index.js.map +1 -1
  553. package/tooltip/tooltip-container.component.js +24 -3
  554. package/tooltip/tooltip-container.component.js.map +1 -1
  555. package/tooltip/tooltip-container.component.metadata.json +1 -1
  556. package/tooltip/tooltip.config.js +2 -1
  557. package/tooltip/tooltip.config.js.map +1 -1
  558. package/tooltip/tooltip.directive.js +17 -15
  559. package/tooltip/tooltip.directive.js.map +1 -1
  560. package/tooltip/tooltip.module.js +2 -1
  561. package/tooltip/tooltip.module.js.map +1 -1
  562. package/tsconfig.spec.json +39 -0
  563. package/typeahead/index.js.map +1 -1
  564. package/typeahead/latin-map.js.map +1 -1
  565. package/typeahead/typeahead-container.component.d.ts +1 -0
  566. package/typeahead/typeahead-container.component.js +3 -1
  567. package/typeahead/typeahead-container.component.js.map +1 -1
  568. package/typeahead/typeahead-container.component.metadata.json +1 -1
  569. package/typeahead/typeahead-match.class.js +2 -1
  570. package/typeahead/typeahead-match.class.js.map +1 -1
  571. package/typeahead/typeahead-options.class.js +2 -1
  572. package/typeahead/typeahead-options.class.js.map +1 -1
  573. package/typeahead/typeahead-utils.js.map +1 -1
  574. package/typeahead/typeahead.directive.d.ts +3 -0
  575. package/typeahead/typeahead.directive.js +19 -8
  576. package/typeahead/typeahead.directive.js.map +1 -1
  577. package/typeahead/typeahead.directive.metadata.json +1 -1
  578. package/typeahead/typeahead.module.js +2 -1
  579. package/typeahead/typeahead.module.js.map +1 -1
  580. package/utils/decorators.js +1 -0
  581. package/utils/decorators.js.map +1 -1
  582. package/utils/facade/browser.js.map +1 -1
  583. package/utils/index.js.map +1 -1
  584. package/utils/linked-list.class.js +5 -3
  585. package/utils/linked-list.class.js.map +1 -1
  586. package/utils/linked-list.class.metadata.json +1 -1
  587. package/utils/ng2-bootstrap-config.js +27 -0
  588. package/utils/ng2-bootstrap-config.js.map +1 -1
  589. package/utils/ng2-bootstrap-config.metadata.json +1 -1
  590. package/utils/trigger.class.js +2 -1
  591. package/utils/trigger.class.js.map +1 -1
  592. package/utils/triggers.d.ts +3 -0
  593. package/utils/triggers.js +44 -0
  594. package/utils/triggers.js.map +1 -1
  595. package/utils/triggers.metadata.json +1 -1
  596. package/utils/utils.class.js +2 -1
  597. package/utils/utils.class.js.map +1 -1
  598. package/utils/warn-once.d.ts +1 -0
  599. package/utils/warn-once.js +12 -0
  600. package/utils/warn-once.js.map +1 -0
  601. package/utils/warn-once.metadata.json +1 -0
@@ -0,0 +1,90 @@
1
+ import { Injectable } from '@angular/core';
2
+ var BsDatepickerActions = (function () {
3
+ function BsDatepickerActions() {
4
+ }
5
+ BsDatepickerActions.prototype.calculate = function () { return { type: BsDatepickerActions.CALCULATE }; };
6
+ BsDatepickerActions.prototype.format = function () { return { type: BsDatepickerActions.FORMAT }; };
7
+ BsDatepickerActions.prototype.flag = function () { return { type: BsDatepickerActions.FLAG }; };
8
+ BsDatepickerActions.prototype.select = function (date) {
9
+ return {
10
+ type: BsDatepickerActions.SELECT,
11
+ payload: date
12
+ };
13
+ };
14
+ BsDatepickerActions.prototype.changeViewMode = function (event) {
15
+ return {
16
+ type: BsDatepickerActions.CHANGE_VIEWMODE,
17
+ payload: event
18
+ };
19
+ };
20
+ BsDatepickerActions.prototype.navigateTo = function (event) {
21
+ return {
22
+ type: BsDatepickerActions.NAVIGATE_TO,
23
+ payload: event
24
+ };
25
+ };
26
+ BsDatepickerActions.prototype.navigateStep = function (step) {
27
+ return {
28
+ type: BsDatepickerActions.NAVIGATE_OFFSET,
29
+ payload: step
30
+ };
31
+ };
32
+ BsDatepickerActions.prototype.setOptions = function (options) {
33
+ return {
34
+ type: BsDatepickerActions.SET_OPTIONS,
35
+ payload: options
36
+ };
37
+ };
38
+ // date range picker
39
+ BsDatepickerActions.prototype.selectRange = function (value) {
40
+ return {
41
+ type: BsDatepickerActions.SELECT_RANGE,
42
+ payload: value
43
+ };
44
+ };
45
+ BsDatepickerActions.prototype.hoverDay = function (event) {
46
+ return {
47
+ type: BsDatepickerActions.HOVER,
48
+ payload: event.isHovered ? event.cell.date : null
49
+ };
50
+ };
51
+ BsDatepickerActions.prototype.minDate = function (date) {
52
+ return {
53
+ type: BsDatepickerActions.SET_MIN_DATE,
54
+ payload: date
55
+ };
56
+ };
57
+ BsDatepickerActions.prototype.maxDate = function (date) {
58
+ return {
59
+ type: BsDatepickerActions.SET_MAX_DATE,
60
+ payload: date
61
+ };
62
+ };
63
+ BsDatepickerActions.prototype.isDisabled = function (value) {
64
+ return {
65
+ type: BsDatepickerActions.SET_IS_DISABLED,
66
+ payload: value
67
+ };
68
+ };
69
+ BsDatepickerActions.CALCULATE = '[datepicker] calculate dates matrix';
70
+ BsDatepickerActions.FORMAT = '[datepicker] format datepicker values';
71
+ BsDatepickerActions.FLAG = '[datepicker] set flags';
72
+ BsDatepickerActions.SELECT = '[datepicker] select date';
73
+ BsDatepickerActions.NAVIGATE_OFFSET = '[datepicker] shift view date';
74
+ BsDatepickerActions.NAVIGATE_TO = '[datepicker] change view date';
75
+ BsDatepickerActions.SET_OPTIONS = '[datepicker] update render options';
76
+ BsDatepickerActions.HOVER = '[datepicker] hover date';
77
+ BsDatepickerActions.CHANGE_VIEWMODE = '[datepicker] switch view mode';
78
+ BsDatepickerActions.SET_MIN_DATE = '[datepicker] set min date';
79
+ BsDatepickerActions.SET_MAX_DATE = '[datepicker] set max date';
80
+ BsDatepickerActions.SET_IS_DISABLED = '[datepicker] set is disabled';
81
+ BsDatepickerActions.SELECT_RANGE = '[daterangepicker] select dates range';
82
+ BsDatepickerActions.decorators = [
83
+ { type: Injectable },
84
+ ];
85
+ /** @nocollapse */
86
+ BsDatepickerActions.ctorParameters = function () { return []; };
87
+ return BsDatepickerActions;
88
+ }());
89
+ export { BsDatepickerActions };
90
+ //# sourceMappingURL=bs-datepicker.actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../.tmp/datepicker/reducer/bs-datepicker.actions.ts"],"names":[],"mappings":"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","file":"bs-datepicker.actions.js","sourceRoot":"","sourcesContent":["import { Injectable } from '@angular/core';\nimport { TimeUnit } from '../../bs-moment/types';\nimport { Action } from '../../mini-ngrx/index';\nimport { BsDatepickerViewMode, BsViewNavigationEvent, CellHoverEvent, DatepickerRenderOptions } from '../models/index';\n\n\nexport class BsDatepickerActions {\n static readonly CALCULATE = '[datepicker] calculate dates matrix';\n static readonly FORMAT = '[datepicker] format datepicker values';\n static readonly FLAG = '[datepicker] set flags';\n static readonly SELECT = '[datepicker] select date';\n static readonly NAVIGATE_OFFSET = '[datepicker] shift view date';\n static readonly NAVIGATE_TO = '[datepicker] change view date';\n static readonly SET_OPTIONS = '[datepicker] update render options';\n static readonly HOVER = '[datepicker] hover date';\n static readonly CHANGE_VIEWMODE = '[datepicker] switch view mode';\n\n static readonly SET_MIN_DATE = '[datepicker] set min date';\n static readonly SET_MAX_DATE = '[datepicker] set max date';\n static readonly SET_IS_DISABLED = '[datepicker] set is disabled';\n\n static readonly SELECT_RANGE = '[daterangepicker] select dates range';\n\n calculate(): Action {return {type: BsDatepickerActions.CALCULATE}; }\n\n format(): Action {return {type: BsDatepickerActions.FORMAT}; }\n\n flag(): Action { return {type: BsDatepickerActions.FLAG}; }\n\n select(date: Date): Action {\n return {\n type: BsDatepickerActions.SELECT,\n payload: date\n };\n }\n\n changeViewMode(event: BsDatepickerViewMode): Action {\n return {\n type: BsDatepickerActions.CHANGE_VIEWMODE,\n payload: event\n };\n }\n\n navigateTo(event: BsViewNavigationEvent): Action {\n return {\n type: BsDatepickerActions.NAVIGATE_TO,\n payload: event\n };\n }\n\n navigateStep(step: TimeUnit): Action {\n return {\n type: BsDatepickerActions.NAVIGATE_OFFSET,\n payload: step\n };\n }\n\n setOptions(options: DatepickerRenderOptions): Action {\n return {\n type: BsDatepickerActions.SET_OPTIONS,\n payload: options\n };\n }\n\n // date range picker\n selectRange(value: Date[]): Action {\n return {\n type: BsDatepickerActions.SELECT_RANGE,\n payload: value\n };\n }\n\n hoverDay(event: CellHoverEvent): Action {\n return {\n type: BsDatepickerActions.HOVER,\n payload: event.isHovered ? event.cell.date : null\n };\n }\n\n minDate(date: Date): Action {\n return {\n type: BsDatepickerActions.SET_MIN_DATE,\n payload: date\n };\n }\n\n maxDate(date: Date): Action {\n return {\n type: BsDatepickerActions.SET_MAX_DATE,\n payload: date\n };\n }\n\n isDisabled(value: boolean): Action {\n return {\n type: BsDatepickerActions.SET_IS_DISABLED,\n payload: value\n };\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDatepickerActions":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"calculate":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"flag":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"changeViewMode":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"navigateStep":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"selectRange":[{"__symbolic":"method"}],"hoverDay":[{"__symbolic":"method"}],"minDate":[{"__symbolic":"method"}],"maxDate":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]},"statics":{"CALCULATE":"[datepicker] calculate dates matrix","FORMAT":"[datepicker] format datepicker values","FLAG":"[datepicker] set flags","SELECT":"[datepicker] select date","NAVIGATE_OFFSET":"[datepicker] shift view date","NAVIGATE_TO":"[datepicker] change view date","SET_OPTIONS":"[datepicker] update render options","HOVER":"[datepicker] hover date","CHANGE_VIEWMODE":"[datepicker] switch view mode","SET_MIN_DATE":"[datepicker] set min date","SET_MAX_DATE":"[datepicker] set max date","SET_IS_DISABLED":"[datepicker] set is disabled","SELECT_RANGE":"[daterangepicker] select dates range"}}}},{"__symbolic":"module","version":1,"metadata":{"BsDatepickerActions":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"calculate":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"flag":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"changeViewMode":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"navigateStep":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"selectRange":[{"__symbolic":"method"}],"hoverDay":[{"__symbolic":"method"}],"minDate":[{"__symbolic":"method"}],"maxDate":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]},"statics":{"CALCULATE":"[datepicker] calculate dates matrix","FORMAT":"[datepicker] format datepicker values","FLAG":"[datepicker] set flags","SELECT":"[datepicker] select date","NAVIGATE_OFFSET":"[datepicker] shift view date","NAVIGATE_TO":"[datepicker] change view date","SET_OPTIONS":"[datepicker] update render options","HOVER":"[datepicker] hover date","CHANGE_VIEWMODE":"[datepicker] switch view mode","SET_MIN_DATE":"[datepicker] set min date","SET_MAX_DATE":"[datepicker] set max date","SET_IS_DISABLED":"[datepicker] set is disabled","SELECT_RANGE":"[daterangepicker] select dates range"}}}}]
@@ -0,0 +1,33 @@
1
+ import 'rxjs/add/operator/filter';
2
+ import 'rxjs/add/operator/map';
3
+ import { Observable } from 'rxjs/Observable';
4
+ import { BsDatepickerAbstractComponent } from '../base/bs-datepicker-container';
5
+ import { BsDatepickerConfig } from '../bs-datepicker.config';
6
+ import { BsDatepickerViewMode, DatepickerRenderOptions, DaysCalendarViewModel, MonthsCalendarViewModel, YearsCalendarViewModel } from '../models/index';
7
+ import { BsDatepickerActions } from './bs-datepicker.actions';
8
+ import { BsDatepickerStore } from './bs-datepicker.store';
9
+ export declare class BsDatepickerEffects {
10
+ private _actions;
11
+ viewMode: Observable<BsDatepickerViewMode>;
12
+ daysCalendar: Observable<DaysCalendarViewModel[]>;
13
+ monthsCalendar: Observable<MonthsCalendarViewModel[]>;
14
+ yearsCalendar: Observable<YearsCalendarViewModel[]>;
15
+ options: Observable<DatepickerRenderOptions>;
16
+ private _store;
17
+ private _subs;
18
+ constructor(_actions: BsDatepickerActions);
19
+ init(_bsDatepickerStore: BsDatepickerStore): BsDatepickerEffects;
20
+ /** setters */
21
+ setValue(value: Date): void;
22
+ setRangeValue(value: Date[]): void;
23
+ setMinDate(value: Date): BsDatepickerEffects;
24
+ setMaxDate(value: Date): BsDatepickerEffects;
25
+ setDisabled(value: boolean): BsDatepickerEffects;
26
+ setOptions(_config: BsDatepickerConfig): BsDatepickerEffects;
27
+ /** view to mode bindings */
28
+ setBindings(container: BsDatepickerAbstractComponent): BsDatepickerEffects;
29
+ /** event handlers*/
30
+ setEventHandlers(container: BsDatepickerAbstractComponent): BsDatepickerEffects;
31
+ registerDatepickerSideEffects(): BsDatepickerEffects;
32
+ destroy(): void;
33
+ }
@@ -0,0 +1,173 @@
1
+ import { Injectable } from '@angular/core';
2
+ import 'rxjs/add/operator/filter';
3
+ import 'rxjs/add/operator/map';
4
+ import { getFullYear, getMonth } from '../../bs-moment/utils/date-getters';
5
+ import { BsDatepickerActions } from './bs-datepicker.actions';
6
+ var BsDatepickerEffects = (function () {
7
+ function BsDatepickerEffects(_actions) {
8
+ this._actions = _actions;
9
+ this._subs = [];
10
+ }
11
+ BsDatepickerEffects.prototype.init = function (_bsDatepickerStore) {
12
+ this._store = _bsDatepickerStore;
13
+ return this;
14
+ };
15
+ /** setters */
16
+ BsDatepickerEffects.prototype.setValue = function (value) {
17
+ this._store.dispatch(this._actions.select(value));
18
+ };
19
+ BsDatepickerEffects.prototype.setRangeValue = function (value) {
20
+ this._store.dispatch(this._actions.selectRange(value));
21
+ };
22
+ BsDatepickerEffects.prototype.setMinDate = function (value) {
23
+ this._store.dispatch(this._actions.minDate(value));
24
+ return this;
25
+ };
26
+ BsDatepickerEffects.prototype.setMaxDate = function (value) {
27
+ this._store.dispatch(this._actions.maxDate(value));
28
+ return this;
29
+ };
30
+ BsDatepickerEffects.prototype.setDisabled = function (value) {
31
+ this._store.dispatch(this._actions.isDisabled(value));
32
+ return this;
33
+ };
34
+ /* Set rendering options */
35
+ BsDatepickerEffects.prototype.setOptions = function (_config) {
36
+ this._store.dispatch(this._actions.setOptions(_config));
37
+ return this;
38
+ };
39
+ /** view to mode bindings */
40
+ BsDatepickerEffects.prototype.setBindings = function (container) {
41
+ container.daysCalendar = this._store
42
+ .select(function (state) { return state.flaggedMonths; })
43
+ .filter(function (months) { return !!months; });
44
+ // month calendar
45
+ container.monthsCalendar = this._store
46
+ .select(function (state) { return state.flaggedMonthsCalendar; })
47
+ .filter(function (months) { return !!months; });
48
+ // year calendar
49
+ container.yearsCalendar = this._store
50
+ .select(function (state) { return state.yearsCalendarFlagged; })
51
+ .filter(function (years) { return !!years; });
52
+ container.viewMode = this._store
53
+ .select(function (state) { return state.view.mode; });
54
+ container.options = this._store.select(function (state) { return state.showWeekNumbers; })
55
+ .map(function (showWeekNumbers) { return ({ showWeekNumbers: showWeekNumbers }); });
56
+ return this;
57
+ };
58
+ /** event handlers*/
59
+ BsDatepickerEffects.prototype.setEventHandlers = function (container) {
60
+ var _this = this;
61
+ container.setViewMode = function (event) {
62
+ _this._store.dispatch(_this._actions.changeViewMode(event));
63
+ };
64
+ container.navigateTo = function (event) {
65
+ _this._store.dispatch(_this._actions.navigateStep(event.step));
66
+ };
67
+ container.dayHoverHandler = function (event) {
68
+ var _cell = event.cell;
69
+ if (_cell.isOtherMonth || _cell.isDisabled) {
70
+ return;
71
+ }
72
+ _this._store.dispatch(_this._actions.hoverDay(event));
73
+ _cell.isHovered = event.isHovered;
74
+ };
75
+ container.monthHoverHandler = function (event) {
76
+ event.cell.isHovered = event.isHovered;
77
+ };
78
+ container.yearHoverHandler = function (event) {
79
+ event.cell.isHovered = event.isHovered;
80
+ };
81
+ /** select handlers */
82
+ // container.daySelectHandler = (day: DayViewModel): void => {
83
+ // if (day.isOtherMonth || day.isDisabled) {
84
+ // return;
85
+ // }
86
+ // this._store.dispatch(this._actions.select(day.date));
87
+ // };
88
+ container.monthSelectHandler = function (event) {
89
+ if (event.isDisabled) {
90
+ return;
91
+ }
92
+ _this._store.dispatch(_this._actions.navigateTo({
93
+ unit: { month: getMonth(event.date) },
94
+ viewMode: 'day'
95
+ }));
96
+ };
97
+ container.yearSelectHandler = function (event) {
98
+ if (event.isDisabled) {
99
+ return;
100
+ }
101
+ _this._store.dispatch(_this._actions.navigateTo({
102
+ unit: { year: getFullYear(event.date) },
103
+ viewMode: 'month'
104
+ }));
105
+ };
106
+ return this;
107
+ };
108
+ BsDatepickerEffects.prototype.registerDatepickerSideEffects = function () {
109
+ var _this = this;
110
+ this._subs.push(this._store.select(function (state) { return state.view; })
111
+ .subscribe(function (view) {
112
+ _this._store.dispatch(_this._actions.calculate());
113
+ }));
114
+ // format calendar values on month model change
115
+ this._subs.push(this._store
116
+ .select(function (state) { return state.monthsModel; })
117
+ .filter(function (monthModel) { return !!monthModel; })
118
+ .subscribe(function (month) {
119
+ return _this._store.dispatch(_this._actions.format());
120
+ }));
121
+ // flag day values
122
+ this._subs.push(this._store
123
+ .select(function (state) { return state.formattedMonths; })
124
+ .filter(function (month) { return !!month; })
125
+ .subscribe(function (month) {
126
+ return _this._store.dispatch(_this._actions.flag());
127
+ }));
128
+ // flag day values
129
+ this._subs.push(this._store.select(function (state) { return state.selectedDate; })
130
+ .filter(function (selectedDate) { return !!selectedDate; })
131
+ .subscribe(function (selectedDate) {
132
+ return _this._store.dispatch(_this._actions.flag());
133
+ }));
134
+ // flag for date range picker
135
+ this._subs.push(this._store.select(function (state) { return state.selectedRange; })
136
+ .filter(function (selectedRange) { return !!selectedRange; })
137
+ .subscribe(function (selectedRange) {
138
+ return _this._store.dispatch(_this._actions.flag());
139
+ }));
140
+ // monthsCalendar
141
+ this._subs.push(this._store
142
+ .select(function (state) { return state.monthsCalendar; })
143
+ .subscribe(function () { return _this._store.dispatch(_this._actions.flag()); }));
144
+ // years calendar
145
+ this._subs.push(this._store
146
+ .select(function (state) { return state.yearsCalendarModel; })
147
+ .filter(function (state) { return !!state; })
148
+ .subscribe(function () { return _this._store.dispatch(_this._actions.flag()); }));
149
+ // on hover
150
+ this._subs.push(this._store.select(function (state) { return state.hoveredDate; })
151
+ .filter(function (hoveredDate) { return !!hoveredDate; })
152
+ .subscribe(function (hoveredDate) {
153
+ return _this._store.dispatch(_this._actions.flag());
154
+ }));
155
+ return this;
156
+ };
157
+ BsDatepickerEffects.prototype.destroy = function () {
158
+ for (var _i = 0, _a = this._subs; _i < _a.length; _i++) {
159
+ var sub = _a[_i];
160
+ sub.unsubscribe();
161
+ }
162
+ };
163
+ BsDatepickerEffects.decorators = [
164
+ { type: Injectable },
165
+ ];
166
+ /** @nocollapse */
167
+ BsDatepickerEffects.ctorParameters = function () { return [
168
+ { type: BsDatepickerActions, },
169
+ ]; };
170
+ return BsDatepickerEffects;
171
+ }());
172
+ export { BsDatepickerEffects };
173
+ //# sourceMappingURL=bs-datepicker.effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../.tmp/datepicker/reducer/bs-datepicker.effects.ts"],"names":[],"mappings":"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","file":"bs-datepicker.effects.js","sourceRoot":"","sourcesContent":["import { Injectable } from '@angular/core';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/map';\nimport { Observable } from 'rxjs/Observable';\nimport { getFullYear, getMonth } from '../../bs-moment/utils/date-getters';\nimport { BsDatepickerAbstractComponent } from '../base/bs-datepicker-container';\nimport { BsDatepickerConfig } from '../bs-datepicker.config';\nimport {\n BsDatepickerViewMode,\n BsNavigationEvent,\n CalendarCellViewModel,\n CellHoverEvent,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel,\n MonthsCalendarViewModel,\n YearsCalendarViewModel\n} from '../models/index';\nimport { BsDatepickerActions } from './bs-datepicker.actions';\nimport { BsDatepickerStore } from './bs-datepicker.store';\nimport { Subscription } from 'rxjs/Subscription';\n\n\nexport class BsDatepickerEffects {\n\n viewMode: Observable<BsDatepickerViewMode>;\n daysCalendar: Observable<DaysCalendarViewModel[]>;\n monthsCalendar: Observable<MonthsCalendarViewModel[]>;\n yearsCalendar: Observable<YearsCalendarViewModel[]>;\n options: Observable<DatepickerRenderOptions>;\n\n private _store: BsDatepickerStore;\n private _subs: Subscription[] = [];\n\n constructor(private _actions: BsDatepickerActions) {\n }\n\n init(_bsDatepickerStore: BsDatepickerStore): BsDatepickerEffects {\n this._store = _bsDatepickerStore;\n\n return this;\n }\n\n /** setters */\n\n setValue(value: Date): void {\n this._store.dispatch(this._actions.select(value));\n }\n\n setRangeValue(value: Date[]): void {\n this._store.dispatch(this._actions.selectRange(value));\n }\n\n setMinDate(value: Date): BsDatepickerEffects {\n this._store.dispatch(this._actions.minDate(value));\n\n return this;\n }\n\n setMaxDate(value: Date): BsDatepickerEffects {\n this._store.dispatch(this._actions.maxDate(value));\n\n return this;\n }\n\n setDisabled(value: boolean): BsDatepickerEffects {\n this._store.dispatch(this._actions.isDisabled(value));\n\n return this;\n }\n\n /* Set rendering options */\n setOptions(_config: BsDatepickerConfig): BsDatepickerEffects {\n this._store.dispatch(this._actions.setOptions(_config));\n\n return this;\n }\n\n /** view to mode bindings */\n setBindings(container: BsDatepickerAbstractComponent): BsDatepickerEffects {\n container.daysCalendar = this._store\n .select(state => state.flaggedMonths)\n .filter(months => !!months);\n\n // month calendar\n container.monthsCalendar = this._store\n .select(state => state.flaggedMonthsCalendar)\n .filter(months => !!months);\n\n // year calendar\n container.yearsCalendar = this._store\n .select(state => state.yearsCalendarFlagged)\n .filter(years => !!years);\n\n container.viewMode = this._store\n .select(state => state.view.mode);\n\n container.options = this._store.select(state => state.showWeekNumbers)\n .map(showWeekNumbers => ({showWeekNumbers}));\n\n return this;\n }\n\n /** event handlers*/\n setEventHandlers(container: BsDatepickerAbstractComponent): BsDatepickerEffects {\n container.setViewMode = (event: BsDatepickerViewMode): void => {\n this._store.dispatch(this._actions.changeViewMode(event));\n };\n\n container.navigateTo = (event: BsNavigationEvent): void => {\n this._store.dispatch(this._actions.navigateStep(event.step));\n };\n\n container.dayHoverHandler = (event: CellHoverEvent): void => {\n const _cell = event.cell as DayViewModel;\n if (_cell.isOtherMonth || _cell.isDisabled) {\n return;\n }\n\n this._store.dispatch(this._actions.hoverDay(event));\n _cell.isHovered = event.isHovered;\n };\n\n container.monthHoverHandler = (event: CellHoverEvent): void => {\n event.cell.isHovered = event.isHovered;\n };\n\n container.yearHoverHandler = (event: CellHoverEvent): void => {\n event.cell.isHovered = event.isHovered;\n };\n\n /** select handlers */\n // container.daySelectHandler = (day: DayViewModel): void => {\n // if (day.isOtherMonth || day.isDisabled) {\n // return;\n // }\n // this._store.dispatch(this._actions.select(day.date));\n // };\n\n container.monthSelectHandler = (event: CalendarCellViewModel): void => {\n if (event.isDisabled) { return; }\n this._store.dispatch(this._actions.navigateTo({\n unit: {month: getMonth(event.date)},\n viewMode: 'day'\n }));\n };\n\n container.yearSelectHandler = (event: CalendarCellViewModel): void => {\n if (event.isDisabled) { return; }\n this._store.dispatch(this._actions.navigateTo({\n unit: {year: getFullYear(event.date)},\n viewMode: 'month'\n }));\n };\n\n return this;\n }\n\n registerDatepickerSideEffects(): BsDatepickerEffects {\n this._subs.push(\n this._store.select(state => state.view)\n .subscribe(view => {\n this._store.dispatch(this._actions.calculate());\n }));\n\n // format calendar values on month model change\n this._subs.push(\n this._store\n .select(state => state.monthsModel)\n .filter(monthModel => !!monthModel)\n .subscribe(month =>\n this._store.dispatch(this._actions.format())));\n\n // flag day values\n this._subs.push(\n this._store\n .select(state => state.formattedMonths)\n .filter(month => !!month)\n .subscribe(month =>\n this._store.dispatch(this._actions.flag())));\n\n // flag day values\n this._subs.push(\n this._store.select(state => state.selectedDate)\n .filter(selectedDate => !!selectedDate)\n .subscribe(selectedDate =>\n this._store.dispatch(this._actions.flag())));\n\n // flag for date range picker\n this._subs.push(\n this._store.select(state => state.selectedRange)\n .filter(selectedRange => !!selectedRange)\n .subscribe(selectedRange =>\n this._store.dispatch(this._actions.flag())));\n\n // monthsCalendar\n this._subs.push(\n this._store\n .select(state => state.monthsCalendar)\n .subscribe(() => this._store.dispatch(this._actions.flag())));\n\n // years calendar\n this._subs.push(\n this._store\n .select(state => state.yearsCalendarModel)\n .filter(state => !!state)\n .subscribe(() => this._store.dispatch(this._actions.flag())));\n\n // on hover\n this._subs.push(\n this._store.select(state => state.hoveredDate)\n .filter(hoveredDate => !!hoveredDate)\n .subscribe(hoveredDate =>\n this._store.dispatch(this._actions.flag())));\n\n return this;\n }\n\n destroy(): void {\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDatepickerActions, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDatepickerEffects":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-datepicker.actions","name":"BsDatepickerActions"}]}],"init":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"setRangeValue":[{"__symbolic":"method"}],"setMinDate":[{"__symbolic":"method"}],"setMaxDate":[{"__symbolic":"method"}],"setDisabled":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"setBindings":[{"__symbolic":"method"}],"setEventHandlers":[{"__symbolic":"method"}],"registerDatepickerSideEffects":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDatepickerEffects":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-datepicker.actions","name":"BsDatepickerActions"}]}],"init":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"setRangeValue":[{"__symbolic":"method"}],"setMinDate":[{"__symbolic":"method"}],"setMaxDate":[{"__symbolic":"method"}],"setDisabled":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"setBindings":[{"__symbolic":"method"}],"setEventHandlers":[{"__symbolic":"method"}],"registerDatepickerSideEffects":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,3 @@
1
+ import { BsDatepickerState } from './bs-datepicker.state';
2
+ import { Action } from '../../mini-ngrx/index';
3
+ export declare function bsDatepickerReducer(state: BsDatepickerState, action: Action): BsDatepickerState;
@@ -0,0 +1,230 @@
1
+ import { initialDatepickerState } from './bs-datepicker.state';
2
+ import { BsDatepickerActions } from './bs-datepicker.actions';
3
+ import { calcDaysCalendar } from '../engine/calc-days-calendar';
4
+ import { formatDaysCalendar } from '../engine/format-days-calendar';
5
+ import { flagDaysCalendar } from '../engine/flag-days-calendar';
6
+ import { shiftDate, setDate } from '../../bs-moment/utils/date-setters';
7
+ import { canSwitchMode } from '../engine/view-mode';
8
+ import { formatMonthsCalendar } from '../engine/format-months-calendar';
9
+ import { flagMonthsCalendar } from '../engine/flag-months-calendar';
10
+ import { formatYearsCalendar, yearsPerCalendar } from '../engine/format-years-calendar';
11
+ import { flagYearsCalendar } from '../engine/flag-years-calendar';
12
+ import { isArray } from '../../bs-moment/utils/type-checks';
13
+ import { startOf } from '../../bs-moment/utils/start-end-of';
14
+ export function bsDatepickerReducer(state, action) {
15
+ if (state === void 0) { state = initialDatepickerState; }
16
+ switch (action.type) {
17
+ case (BsDatepickerActions.CALCULATE): {
18
+ return calculateReducer(state);
19
+ }
20
+ case (BsDatepickerActions.FORMAT): {
21
+ return formatReducer(state, action);
22
+ }
23
+ case (BsDatepickerActions.FLAG): {
24
+ return flagReducer(state, action);
25
+ }
26
+ case (BsDatepickerActions.NAVIGATE_OFFSET): {
27
+ var date = shiftDate(startOf(state.view.date, 'month'), action.payload);
28
+ var newState = {
29
+ view: {
30
+ mode: state.view.mode,
31
+ date: date
32
+ }
33
+ };
34
+ return Object.assign({}, state, newState);
35
+ }
36
+ case (BsDatepickerActions.NAVIGATE_TO): {
37
+ var payload = action.payload;
38
+ var date = setDate(state.view.date, payload.unit);
39
+ var mode = payload.viewMode;
40
+ var newState = { view: { date: date, mode: mode } };
41
+ return Object.assign({}, state, newState);
42
+ }
43
+ case (BsDatepickerActions.CHANGE_VIEWMODE): {
44
+ if (!canSwitchMode(action.payload)) {
45
+ return state;
46
+ }
47
+ var date = state.view.date;
48
+ var mode = action.payload;
49
+ var newState = { view: { date: date, mode: mode } };
50
+ return Object.assign({}, state, newState);
51
+ }
52
+ case (BsDatepickerActions.HOVER): {
53
+ return Object.assign({}, state, { hoveredDate: action.payload });
54
+ }
55
+ case (BsDatepickerActions.SELECT): {
56
+ var newState = {
57
+ selectedDate: action.payload,
58
+ view: state.view
59
+ };
60
+ if (action.payload) {
61
+ newState.view = {
62
+ date: action.payload,
63
+ mode: state.view.mode
64
+ };
65
+ }
66
+ return Object.assign({}, state, newState);
67
+ }
68
+ case (BsDatepickerActions.SET_OPTIONS): {
69
+ var newState = action.payload;
70
+ // looks not really good
71
+ if (newState.value) {
72
+ newState.view = state.view;
73
+ if (isArray(newState.value)) {
74
+ newState.view = {
75
+ mode: state.view.mode,
76
+ date: newState.value[0]
77
+ };
78
+ newState.selectedRange = newState.value;
79
+ }
80
+ else {
81
+ newState.view = {
82
+ mode: state.view.mode,
83
+ date: newState.value
84
+ };
85
+ newState.selectedDate = newState.value;
86
+ }
87
+ }
88
+ return Object.assign({}, state, newState);
89
+ }
90
+ // date range picker
91
+ case (BsDatepickerActions.SELECT_RANGE): {
92
+ return Object.assign({}, state, { selectedRange: action.payload });
93
+ }
94
+ case (BsDatepickerActions.SET_MIN_DATE): {
95
+ return Object.assign({}, state, {
96
+ minDate: action.payload
97
+ });
98
+ }
99
+ case (BsDatepickerActions.SET_MAX_DATE): {
100
+ return Object.assign({}, state, {
101
+ maxDate: action.payload
102
+ });
103
+ }
104
+ case (BsDatepickerActions.SET_IS_DISABLED): {
105
+ return Object.assign({}, state, {
106
+ isDisabled: action.payload
107
+ });
108
+ }
109
+ default:
110
+ return state;
111
+ }
112
+ }
113
+ function calculateReducer(state) {
114
+ // how many calendars
115
+ var displayMonths = state.displayMonths;
116
+ // use selected date on initial rendering if set
117
+ var viewDate = state.view.date;
118
+ if (state.view.mode === 'day') {
119
+ var monthsModel = new Array(displayMonths);
120
+ for (var monthIndex = 0; monthIndex < displayMonths; monthIndex++) {
121
+ // todo: for unlinked calendars it will be harder
122
+ monthsModel[monthIndex] = calcDaysCalendar(viewDate, state.monthViewOptions);
123
+ viewDate = shiftDate(viewDate, { month: 1 });
124
+ }
125
+ return Object.assign({}, state, { monthsModel: monthsModel });
126
+ }
127
+ if (state.view.mode === 'month') {
128
+ var monthsCalendar = new Array(displayMonths);
129
+ for (var calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
130
+ // todo: for unlinked calendars it will be harder
131
+ monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));
132
+ viewDate = shiftDate(viewDate, { year: 1 });
133
+ }
134
+ return Object.assign({}, state, { monthsCalendar: monthsCalendar });
135
+ }
136
+ if (state.view.mode === 'year') {
137
+ var yearsCalendarModel = new Array(displayMonths);
138
+ for (var calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
139
+ // todo: for unlinked calendars it will be harder
140
+ yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state));
141
+ viewDate = shiftDate(viewDate, { year: yearsPerCalendar });
142
+ }
143
+ return Object.assign({}, state, { yearsCalendarModel: yearsCalendarModel });
144
+ }
145
+ return state;
146
+ }
147
+ function formatReducer(state, action) {
148
+ if (state.view.mode === 'day') {
149
+ var formattedMonths = state.monthsModel
150
+ .map(function (month, monthIndex) { return formatDaysCalendar(month, getFormatOptions(state), monthIndex); });
151
+ return Object.assign({}, state, { formattedMonths: formattedMonths });
152
+ }
153
+ // how many calendars
154
+ var displayMonths = state.displayMonths;
155
+ // check initial rendering
156
+ // use selected date on initial rendering if set
157
+ var viewDate = state.view.date;
158
+ if (state.view.mode === 'month') {
159
+ var monthsCalendar = new Array(displayMonths);
160
+ for (var calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
161
+ // todo: for unlinked calendars it will be harder
162
+ monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));
163
+ viewDate = shiftDate(viewDate, { year: 1 });
164
+ }
165
+ return Object.assign({}, state, { monthsCalendar: monthsCalendar });
166
+ }
167
+ if (state.view.mode === 'year') {
168
+ var yearsCalendarModel = new Array(displayMonths);
169
+ for (var calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {
170
+ // todo: for unlinked calendars it will be harder
171
+ yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state));
172
+ viewDate = shiftDate(viewDate, { year: 16 });
173
+ }
174
+ return Object.assign({}, state, { yearsCalendarModel: yearsCalendarModel });
175
+ }
176
+ return state;
177
+ }
178
+ function flagReducer(state, action) {
179
+ if (state.view.mode === 'day') {
180
+ var flaggedMonths = state.formattedMonths
181
+ .map(function (formattedMonth, monthIndex) { return flagDaysCalendar(formattedMonth, {
182
+ isDisabled: state.isDisabled,
183
+ minDate: state.minDate,
184
+ maxDate: state.maxDate,
185
+ hoveredDate: state.hoveredDate,
186
+ selectedDate: state.selectedDate,
187
+ selectedRange: state.selectedRange,
188
+ displayMonths: state.displayMonths,
189
+ monthIndex: monthIndex
190
+ }); });
191
+ return Object.assign({}, state, { flaggedMonths: flaggedMonths });
192
+ }
193
+ if (state.view.mode === 'month') {
194
+ var flaggedMonthsCalendar = state.monthsCalendar
195
+ .map(function (formattedMonth, monthIndex) { return flagMonthsCalendar(formattedMonth, {
196
+ isDisabled: state.isDisabled,
197
+ minDate: state.minDate,
198
+ maxDate: state.maxDate,
199
+ hoveredMonth: state.hoveredMonth,
200
+ displayMonths: state.displayMonths,
201
+ monthIndex: monthIndex
202
+ }); });
203
+ return Object.assign({}, state, { flaggedMonthsCalendar: flaggedMonthsCalendar });
204
+ }
205
+ if (state.view.mode === 'year') {
206
+ var yearsCalendarFlagged = state.yearsCalendarModel
207
+ .map(function (formattedMonth, yearIndex) { return flagYearsCalendar(formattedMonth, {
208
+ isDisabled: state.isDisabled,
209
+ minDate: state.minDate,
210
+ maxDate: state.maxDate,
211
+ hoveredYear: state.hoveredYear,
212
+ displayMonths: state.displayMonths,
213
+ yearIndex: yearIndex
214
+ }); });
215
+ return Object.assign({}, state, { yearsCalendarFlagged: yearsCalendarFlagged });
216
+ }
217
+ return state;
218
+ }
219
+ function getFormatOptions(state) {
220
+ return {
221
+ locale: state.locale,
222
+ monthTitle: state.monthTitle,
223
+ yearTitle: state.yearTitle,
224
+ dayLabel: state.dayLabel,
225
+ monthLabel: state.monthLabel,
226
+ yearLabel: state.yearLabel,
227
+ weekNumbers: state.weekNumbers
228
+ };
229
+ }
230
+ //# sourceMappingURL=bs-datepicker.reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../.tmp/datepicker/reducer/bs-datepicker.reducer.ts"],"names":[],"mappings":"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","file":"bs-datepicker.reducer.js","sourceRoot":"","sourcesContent":["import {\n BsDatepickerState, initialDatepickerState\n} from './bs-datepicker.state';\nimport { Action } from '../../mini-ngrx/index';\nimport { BsDatepickerActions } from './bs-datepicker.actions';\nimport { calcDaysCalendar } from '../engine/calc-days-calendar';\nimport { formatDaysCalendar } from '../engine/format-days-calendar';\nimport { flagDaysCalendar } from '../engine/flag-days-calendar';\nimport { shiftDate, setDate } from '../../bs-moment/utils/date-setters';\nimport { canSwitchMode } from '../engine/view-mode';\nimport { formatMonthsCalendar } from '../engine/format-months-calendar';\nimport { flagMonthsCalendar } from '../engine/flag-months-calendar';\nimport {\n formatYearsCalendar, yearsPerCalendar\n} from '../engine/format-years-calendar';\nimport { flagYearsCalendar } from '../engine/flag-years-calendar';\nimport { BsViewNavigationEvent, DatepickerFormatOptions } from '../models/index';\nimport { isArray } from '../../bs-moment/utils/type-checks';\nimport { startOf } from '../../bs-moment/utils/start-end-of';\n\nexport function bsDatepickerReducer(state = initialDatepickerState, action: Action): BsDatepickerState {\n switch (action.type) {\n case(BsDatepickerActions.CALCULATE): {\n return calculateReducer(state);\n }\n\n case(BsDatepickerActions.FORMAT): {\n return formatReducer(state, action);\n }\n\n case(BsDatepickerActions.FLAG): {\n return flagReducer(state, action);\n }\n\n case(BsDatepickerActions.NAVIGATE_OFFSET): {\n const date = shiftDate(startOf(state.view.date, 'month'), action.payload);\n const newState = {\n view: {\n mode: state.view.mode,\n date\n }\n };\n\n return Object.assign({}, state, newState);\n }\n\n case(BsDatepickerActions.NAVIGATE_TO): {\n const payload: BsViewNavigationEvent = action.payload;\n\n const date = setDate(state.view.date, payload.unit);\n const mode = payload.viewMode;\n const newState = {view: {date, mode}};\n\n return Object.assign({}, state, newState);\n }\n\n case(BsDatepickerActions.CHANGE_VIEWMODE): {\n if (!canSwitchMode(action.payload)) {\n return state;\n }\n const date = state.view.date;\n const mode = action.payload;\n const newState = {view: {date, mode}};\n\n return Object.assign({}, state, newState);\n }\n\n case(BsDatepickerActions.HOVER): {\n return Object.assign({}, state, {hoveredDate: action.payload});\n }\n\n case(BsDatepickerActions.SELECT): {\n const newState = {\n selectedDate: action.payload,\n view: state.view\n };\n\n if (action.payload) {\n newState.view = {\n date: action.payload,\n mode: state.view.mode\n };\n }\n\n return Object.assign({}, state, newState);\n }\n\n case(BsDatepickerActions.SET_OPTIONS): {\n const newState = action.payload;\n // looks not really good\n if (newState.value) {\n newState.view = state.view;\n if (isArray(newState.value)) {\n newState.view = {\n mode: state.view.mode,\n date: newState.value[0]\n };\n newState.selectedRange = newState.value;\n } else {\n newState.view = {\n mode: state.view.mode,\n date: newState.value\n };\n newState.selectedDate = newState.value;\n }\n }\n\n return Object.assign({}, state, newState);\n }\n\n // date range picker\n case(BsDatepickerActions.SELECT_RANGE): {\n return Object.assign({}, state, {selectedRange: action.payload});\n }\n\n case(BsDatepickerActions.SET_MIN_DATE): {\n return Object.assign({}, state, {\n minDate: action.payload\n });\n }\n case(BsDatepickerActions.SET_MAX_DATE): {\n return Object.assign({}, state, {\n maxDate: action.payload\n });\n }\n case(BsDatepickerActions.SET_IS_DISABLED): {\n return Object.assign({}, state, {\n isDisabled: action.payload\n });\n }\n\n default:\n return state;\n }\n}\n\nfunction calculateReducer(state: BsDatepickerState): BsDatepickerState {\n // how many calendars\n const displayMonths = state.displayMonths;\n // use selected date on initial rendering if set\n let viewDate = state.view.date;\n\n if (state.view.mode === 'day') {\n const monthsModel = new Array(displayMonths);\n for (let monthIndex = 0; monthIndex < displayMonths; monthIndex++) {\n // todo: for unlinked calendars it will be harder\n monthsModel[monthIndex] = calcDaysCalendar(viewDate, state.monthViewOptions);\n viewDate = shiftDate(viewDate, {month: 1});\n }\n\n return Object.assign({}, state, {monthsModel});\n }\n\n if (state.view.mode === 'month') {\n const monthsCalendar = new Array(displayMonths);\n for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {\n // todo: for unlinked calendars it will be harder\n monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));\n viewDate = shiftDate(viewDate, {year: 1});\n }\n\n return Object.assign({}, state, {monthsCalendar});\n }\n\n if (state.view.mode === 'year') {\n const yearsCalendarModel = new Array(displayMonths);\n\n for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {\n // todo: for unlinked calendars it will be harder\n yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state));\n viewDate = shiftDate(viewDate, {year: yearsPerCalendar});\n }\n\n return Object.assign({}, state, {yearsCalendarModel});\n }\n\n return state;\n}\n\nfunction formatReducer(state: BsDatepickerState, action: Action): BsDatepickerState {\n if (state.view.mode === 'day') {\n const formattedMonths = state.monthsModel\n .map((month, monthIndex) => formatDaysCalendar(month, getFormatOptions(state), monthIndex));\n\n return Object.assign({}, state, {formattedMonths});\n }\n\n // how many calendars\n const displayMonths = state.displayMonths;\n // check initial rendering\n // use selected date on initial rendering if set\n let viewDate = state.view.date;\n\n if (state.view.mode === 'month') {\n const monthsCalendar = new Array(displayMonths);\n for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {\n // todo: for unlinked calendars it will be harder\n monthsCalendar[calendarIndex] = formatMonthsCalendar(viewDate, getFormatOptions(state));\n viewDate = shiftDate(viewDate, {year: 1});\n }\n\n return Object.assign({}, state, {monthsCalendar});\n }\n\n if (state.view.mode === 'year') {\n const yearsCalendarModel = new Array(displayMonths);\n for (let calendarIndex = 0; calendarIndex < displayMonths; calendarIndex++) {\n // todo: for unlinked calendars it will be harder\n yearsCalendarModel[calendarIndex] = formatYearsCalendar(viewDate, getFormatOptions(state));\n viewDate = shiftDate(viewDate, {year: 16});\n }\n\n return Object.assign({}, state, {yearsCalendarModel});\n }\n\n return state;\n}\n\nfunction flagReducer(state: BsDatepickerState, action: Action): BsDatepickerState {\n if (state.view.mode === 'day') {\n const flaggedMonths = state.formattedMonths\n .map((formattedMonth, monthIndex) => flagDaysCalendar(formattedMonth, {\n isDisabled: state.isDisabled,\n minDate: state.minDate,\n maxDate: state.maxDate,\n hoveredDate: state.hoveredDate,\n selectedDate: state.selectedDate,\n selectedRange: state.selectedRange,\n displayMonths: state.displayMonths,\n monthIndex\n }));\n\n return Object.assign({}, state, {flaggedMonths});\n }\n\n if (state.view.mode === 'month') {\n const flaggedMonthsCalendar = state.monthsCalendar\n .map((formattedMonth, monthIndex) => flagMonthsCalendar(formattedMonth, {\n isDisabled: state.isDisabled,\n minDate: state.minDate,\n maxDate: state.maxDate,\n hoveredMonth: state.hoveredMonth,\n displayMonths: state.displayMonths,\n monthIndex\n }));\n\n return Object.assign({}, state, {flaggedMonthsCalendar});\n }\n\n if (state.view.mode === 'year') {\n const yearsCalendarFlagged = state.yearsCalendarModel\n .map((formattedMonth, yearIndex) => flagYearsCalendar(formattedMonth, {\n isDisabled: state.isDisabled,\n minDate: state.minDate,\n maxDate: state.maxDate,\n hoveredYear: state.hoveredYear,\n displayMonths: state.displayMonths,\n yearIndex\n }));\n\n return Object.assign({}, state, {yearsCalendarFlagged});\n }\n\n return state;\n}\n\nfunction getFormatOptions(state: BsDatepickerState): DatepickerFormatOptions {\n return {\n locale: state.locale,\n\n monthTitle: state.monthTitle,\n yearTitle: state.yearTitle,\n\n dayLabel: state.dayLabel,\n monthLabel: state.monthLabel,\n yearLabel: state.yearLabel,\n\n weekNumbers: state.weekNumbers\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"bsDatepickerReducer":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"bsDatepickerReducer":{"__symbolic":"function"}}}]