ngx-bootstrap 3.0.1 → 3.1.4

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 (1869) hide show
  1. package/CHANGELOG.md +298 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +24 -8
  4. package/accordion/accordion-group.component.d.ts +3 -3
  5. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +264 -0
  6. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -0
  7. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +2 -0
  8. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -0
  9. package/accordion/esm2015/accordion-group.component.js +140 -0
  10. package/accordion/esm2015/accordion.component.js +88 -0
  11. package/accordion/esm2015/accordion.config.js +35 -0
  12. package/accordion/esm2015/accordion.module.js +36 -0
  13. package/accordion/esm2015/ngx-bootstrap-accordion.js +10 -0
  14. package/accordion/esm2015/public_api.js +10 -0
  15. package/accordion/esm5/accordion-group.component.js +157 -0
  16. package/accordion/esm5/accordion.component.js +99 -0
  17. package/accordion/esm5/accordion.config.js +37 -0
  18. package/accordion/esm5/accordion.module.js +43 -0
  19. package/accordion/esm5/ngx-bootstrap-accordion.js +10 -0
  20. package/accordion/esm5/public_api.js +10 -0
  21. package/accordion/fesm2015/ngx-bootstrap-accordion.js +222 -0
  22. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -0
  23. package/accordion/fesm5/ngx-bootstrap-accordion.js +255 -0
  24. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -0
  25. package/accordion/ngx-bootstrap-accordion.d.ts +4 -0
  26. package/accordion/ngx-bootstrap-accordion.metadata.json +1 -0
  27. package/accordion/package.json +19 -0
  28. package/accordion/{index.d.ts → public_api.d.ts} +0 -0
  29. package/alert/bundles/ngx-bootstrap-alert.umd.js +209 -0
  30. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -0
  31. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +2 -0
  32. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -0
  33. package/alert/esm2015/alert.component.js +145 -0
  34. package/alert/esm2015/alert.config.js +50 -0
  35. package/alert/esm2015/alert.module.js +35 -0
  36. package/alert/esm2015/ngx-bootstrap-alert.js +10 -0
  37. package/alert/esm2015/public_api.js +9 -0
  38. package/alert/esm5/alert.component.js +157 -0
  39. package/alert/esm5/alert.config.js +52 -0
  40. package/alert/esm5/alert.module.js +42 -0
  41. package/alert/esm5/ngx-bootstrap-alert.js +10 -0
  42. package/alert/esm5/public_api.js +9 -0
  43. package/alert/fesm2015/ngx-bootstrap-alert.js +153 -0
  44. package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -0
  45. package/alert/fesm5/ngx-bootstrap-alert.js +171 -0
  46. package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -0
  47. package/alert/ngx-bootstrap-alert.d.ts +4 -0
  48. package/alert/ngx-bootstrap-alert.metadata.json +1 -0
  49. package/alert/package.json +19 -0
  50. package/alert/{index.d.ts → public_api.d.ts} +0 -0
  51. package/bundles/ngx-bootstrap.es2015.js +20178 -12836
  52. package/bundles/ngx-bootstrap.es2015.js.map +1 -1
  53. package/bundles/ngx-bootstrap.umd.js +179 -21213
  54. package/bundles/ngx-bootstrap.umd.js.map +1 -1
  55. package/bundles/ngx-bootstrap.umd.min.js +1 -64
  56. package/bundles/ngx-bootstrap.umd.min.js.map +1 -1
  57. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +479 -0
  58. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -0
  59. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +2 -0
  60. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -0
  61. package/buttons/button-checkbox.directive.d.ts +10 -10
  62. package/buttons/button-radio-group.directive.d.ts +9 -10
  63. package/buttons/button-radio.directive.d.ts +12 -12
  64. package/buttons/esm2015/button-checkbox.directive.js +146 -0
  65. package/buttons/esm2015/button-radio-group.directive.js +90 -0
  66. package/buttons/esm2015/button-radio.directive.js +200 -0
  67. package/buttons/esm2015/buttons.module.js +33 -0
  68. package/buttons/esm2015/ngx-bootstrap-buttons.js +13 -0
  69. package/buttons/esm2015/public_api.js +10 -0
  70. package/buttons/esm5/button-checkbox.directive.js +184 -0
  71. package/buttons/esm5/button-radio-group.directive.js +105 -0
  72. package/buttons/esm5/button-radio.directive.js +239 -0
  73. package/buttons/esm5/buttons.module.js +40 -0
  74. package/buttons/esm5/ngx-bootstrap-buttons.js +13 -0
  75. package/buttons/esm5/public_api.js +10 -0
  76. package/buttons/fesm2015/ngx-bootstrap-buttons.js +376 -0
  77. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -0
  78. package/buttons/fesm5/ngx-bootstrap-buttons.js +471 -0
  79. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -0
  80. package/buttons/ngx-bootstrap-buttons.d.ts +7 -0
  81. package/buttons/ngx-bootstrap-buttons.metadata.json +1 -0
  82. package/buttons/package.json +19 -0
  83. package/buttons/{index.d.ts → public_api.d.ts} +0 -0
  84. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +567 -0
  85. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -0
  86. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +2 -0
  87. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -0
  88. package/carousel/carousel.component.d.ts +3 -7
  89. package/carousel/esm2015/carousel.component.js +372 -0
  90. package/carousel/esm2015/carousel.config.js +59 -0
  91. package/carousel/esm2015/carousel.module.js +36 -0
  92. package/carousel/esm2015/ngx-bootstrap-carousel.js +10 -0
  93. package/carousel/esm2015/public_api.js +10 -0
  94. package/carousel/esm2015/slide.component.js +81 -0
  95. package/carousel/esm5/carousel.component.js +495 -0
  96. package/carousel/esm5/carousel.config.js +61 -0
  97. package/carousel/esm5/carousel.module.js +43 -0
  98. package/carousel/esm5/ngx-bootstrap-carousel.js +10 -0
  99. package/carousel/esm5/public_api.js +10 -0
  100. package/carousel/esm5/slide.component.js +86 -0
  101. package/carousel/fesm2015/ngx-bootstrap-carousel.js +423 -0
  102. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -0
  103. package/carousel/fesm5/ngx-bootstrap-carousel.js +556 -0
  104. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -0
  105. package/carousel/ngx-bootstrap-carousel.d.ts +4 -0
  106. package/carousel/ngx-bootstrap-carousel.metadata.json +1 -0
  107. package/carousel/package.json +19 -0
  108. package/carousel/{index.d.ts → public_api.d.ts} +0 -0
  109. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +8428 -0
  110. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -0
  111. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +2 -0
  112. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -0
  113. package/chronos/esm2015/create/check-overflow.js +39 -0
  114. package/chronos/esm2015/create/clone.js +13 -0
  115. package/chronos/esm2015/create/date-from-array.js +38 -0
  116. package/chronos/esm2015/create/from-anything.js +131 -0
  117. package/chronos/esm2015/create/from-array.js +149 -0
  118. package/chronos/esm2015/create/from-object.js +25 -0
  119. package/chronos/esm2015/create/from-string-and-array.js +46 -0
  120. package/chronos/esm2015/create/from-string-and-format.js +120 -0
  121. package/chronos/esm2015/create/from-string.js +268 -0
  122. package/chronos/esm2015/create/local.js +23 -0
  123. package/chronos/esm2015/create/parsing-flags.js +38 -0
  124. package/chronos/esm2015/create/parsing.types.js +146 -0
  125. package/chronos/esm2015/create/valid.js +60 -0
  126. package/chronos/esm2015/duration/bubble.js +64 -0
  127. package/chronos/esm2015/duration/constructor.js +182 -0
  128. package/chronos/esm2015/duration/create.js +141 -0
  129. package/chronos/esm2015/duration/humanize.js +109 -0
  130. package/chronos/esm2015/duration/valid.js +54 -0
  131. package/chronos/esm2015/format/format.js +67 -0
  132. package/chronos/esm2015/format.js +71 -0
  133. package/chronos/esm2015/i18n/ar.js +155 -0
  134. package/chronos/esm2015/i18n/bg.js +101 -0
  135. package/chronos/esm2015/i18n/cs.js +215 -0
  136. package/chronos/esm2015/i18n/da.js +56 -0
  137. package/chronos/esm2015/i18n/de.js +80 -0
  138. package/chronos/esm2015/i18n/en-gb.js +72 -0
  139. package/chronos/esm2015/i18n/es-do.js +118 -0
  140. package/chronos/esm2015/i18n/es-us.js +111 -0
  141. package/chronos/esm2015/i18n/es.js +117 -0
  142. package/chronos/esm2015/i18n/fi.js +119 -0
  143. package/chronos/esm2015/i18n/fr.js +87 -0
  144. package/chronos/esm2015/i18n/gl.js +117 -0
  145. package/chronos/esm2015/i18n/he.js +129 -0
  146. package/chronos/esm2015/i18n/hi.js +150 -0
  147. package/chronos/esm2015/i18n/hu.js +140 -0
  148. package/chronos/esm2015/i18n/id.js +100 -0
  149. package/chronos/esm2015/i18n/it.js +79 -0
  150. package/chronos/esm2015/i18n/ja.js +95 -0
  151. package/chronos/esm2015/i18n/ko.js +82 -0
  152. package/chronos/esm2015/i18n/lt.js +155 -0
  153. package/chronos/esm2015/i18n/mn.js +108 -0
  154. package/chronos/esm2015/i18n/nb.js +59 -0
  155. package/chronos/esm2015/i18n/nl-be.js +97 -0
  156. package/chronos/esm2015/i18n/nl.js +97 -0
  157. package/chronos/esm2015/i18n/pl.js +156 -0
  158. package/chronos/esm2015/i18n/pt-br.js +65 -0
  159. package/chronos/esm2015/i18n/ro.js +73 -0
  160. package/chronos/esm2015/i18n/ru.js +218 -0
  161. package/chronos/esm2015/i18n/sk.js +193 -0
  162. package/chronos/esm2015/i18n/sl.js +202 -0
  163. package/chronos/esm2015/i18n/sv.js +74 -0
  164. package/chronos/esm2015/i18n/th.js +75 -0
  165. package/chronos/esm2015/i18n/tr.js +95 -0
  166. package/chronos/esm2015/i18n/zh-cn.js +136 -0
  167. package/chronos/esm2015/index.js +7 -0
  168. package/chronos/esm2015/locale/calendar.js +14 -0
  169. package/chronos/esm2015/locale/locale.class.js +841 -0
  170. package/chronos/esm2015/locale/locale.defaults.js +46 -0
  171. package/chronos/esm2015/locale/locales.js +272 -0
  172. package/chronos/esm2015/moment/add-subtract.js +61 -0
  173. package/chronos/esm2015/moment/calendar.js +81 -0
  174. package/chronos/esm2015/moment/diff.js +88 -0
  175. package/chronos/esm2015/moment/min-max.js +50 -0
  176. package/chronos/esm2015/ngx-bootstrap-chronos.js +11 -0
  177. package/chronos/esm2015/parse/regex.js +72 -0
  178. package/chronos/esm2015/parse/token.js +52 -0
  179. package/chronos/esm2015/public_api.js +50 -0
  180. package/chronos/esm2015/test/chain.js +1212 -0
  181. package/chronos/esm2015/types.js +76 -0
  182. package/chronos/esm2015/units/aliases.js +53 -0
  183. package/chronos/esm2015/units/constants.js +16 -0
  184. package/chronos/esm2015/units/day-of-month.js +39 -0
  185. package/chronos/esm2015/units/day-of-week.js +183 -0
  186. package/chronos/esm2015/units/day-of-year.js +55 -0
  187. package/chronos/esm2015/units/hour.js +153 -0
  188. package/chronos/esm2015/units/index.js +24 -0
  189. package/chronos/esm2015/units/millisecond.js +74 -0
  190. package/chronos/esm2015/units/minute.js +31 -0
  191. package/chronos/esm2015/units/month.js +75 -0
  192. package/chronos/esm2015/units/offset.js +227 -0
  193. package/chronos/esm2015/units/priorities.js +31 -0
  194. package/chronos/esm2015/units/quarter.js +57 -0
  195. package/chronos/esm2015/units/second.js +31 -0
  196. package/chronos/esm2015/units/timestamp.js +36 -0
  197. package/chronos/esm2015/units/timezone.js +33 -0
  198. package/chronos/esm2015/units/week-calendar-utils.js +94 -0
  199. package/chronos/esm2015/units/week-year.js +175 -0
  200. package/chronos/esm2015/units/week.js +83 -0
  201. package/chronos/esm2015/units/year.js +81 -0
  202. package/chronos/esm2015/utils/abs-ceil.js +13 -0
  203. package/chronos/esm2015/utils/abs-round.js +13 -0
  204. package/chronos/esm2015/utils/compare-arrays.js +27 -0
  205. package/chronos/esm2015/utils/date-compare.js +108 -0
  206. package/chronos/esm2015/utils/date-getters.js +157 -0
  207. package/chronos/esm2015/utils/date-setters.js +147 -0
  208. package/chronos/esm2015/utils/defaults.js +22 -0
  209. package/chronos/esm2015/utils/start-end-of.js +74 -0
  210. package/chronos/esm2015/utils/type-checks.js +114 -0
  211. package/chronos/esm2015/utils/zero-fill.js +21 -0
  212. package/chronos/esm2015/utils.js +21 -0
  213. package/chronos/esm5/create/check-overflow.js +39 -0
  214. package/chronos/esm5/create/clone.js +13 -0
  215. package/chronos/esm5/create/date-from-array.js +44 -0
  216. package/chronos/esm5/create/from-anything.js +131 -0
  217. package/chronos/esm5/create/from-array.js +149 -0
  218. package/chronos/esm5/create/from-object.js +25 -0
  219. package/chronos/esm5/create/from-string-and-array.js +46 -0
  220. package/chronos/esm5/create/from-string-and-format.js +120 -0
  221. package/chronos/esm5/create/from-string.js +268 -0
  222. package/chronos/esm5/create/local.js +23 -0
  223. package/chronos/esm5/create/parsing-flags.js +38 -0
  224. package/chronos/esm5/create/parsing.types.js +146 -0
  225. package/chronos/esm5/create/valid.js +60 -0
  226. package/chronos/esm5/duration/bubble.js +64 -0
  227. package/chronos/esm5/duration/constructor.js +205 -0
  228. package/chronos/esm5/duration/create.js +143 -0
  229. package/chronos/esm5/duration/humanize.js +109 -0
  230. package/chronos/esm5/duration/valid.js +54 -0
  231. package/chronos/esm5/format/format.js +68 -0
  232. package/chronos/esm5/format.js +73 -0
  233. package/chronos/esm5/i18n/ar.js +155 -0
  234. package/chronos/esm5/i18n/bg.js +101 -0
  235. package/chronos/esm5/i18n/cs.js +215 -0
  236. package/chronos/esm5/i18n/da.js +56 -0
  237. package/chronos/esm5/i18n/de.js +80 -0
  238. package/chronos/esm5/i18n/en-gb.js +72 -0
  239. package/chronos/esm5/i18n/es-do.js +118 -0
  240. package/chronos/esm5/i18n/es-us.js +111 -0
  241. package/chronos/esm5/i18n/es.js +117 -0
  242. package/chronos/esm5/i18n/fi.js +119 -0
  243. package/chronos/esm5/i18n/fr.js +87 -0
  244. package/chronos/esm5/i18n/gl.js +117 -0
  245. package/chronos/esm5/i18n/he.js +129 -0
  246. package/chronos/esm5/i18n/hi.js +150 -0
  247. package/chronos/esm5/i18n/hu.js +140 -0
  248. package/chronos/esm5/i18n/id.js +100 -0
  249. package/chronos/esm5/i18n/it.js +79 -0
  250. package/chronos/esm5/i18n/ja.js +95 -0
  251. package/chronos/esm5/i18n/ko.js +82 -0
  252. package/chronos/esm5/i18n/lt.js +155 -0
  253. package/chronos/esm5/i18n/mn.js +108 -0
  254. package/chronos/esm5/i18n/nb.js +59 -0
  255. package/chronos/esm5/i18n/nl-be.js +97 -0
  256. package/chronos/esm5/i18n/nl.js +97 -0
  257. package/chronos/esm5/i18n/pl.js +156 -0
  258. package/chronos/esm5/i18n/pt-br.js +65 -0
  259. package/chronos/esm5/i18n/ro.js +73 -0
  260. package/chronos/esm5/i18n/ru.js +218 -0
  261. package/chronos/esm5/i18n/sk.js +193 -0
  262. package/chronos/esm5/i18n/sl.js +202 -0
  263. package/chronos/esm5/i18n/sv.js +74 -0
  264. package/chronos/esm5/i18n/th.js +75 -0
  265. package/chronos/esm5/i18n/tr.js +95 -0
  266. package/chronos/esm5/i18n/zh-cn.js +136 -0
  267. package/chronos/esm5/index.js +7 -0
  268. package/chronos/esm5/locale/calendar.js +14 -0
  269. package/chronos/esm5/locale/locale.class.js +996 -0
  270. package/chronos/esm5/locale/locale.defaults.js +46 -0
  271. package/chronos/esm5/locale/locales.js +272 -0
  272. package/chronos/esm5/moment/add-subtract.js +61 -0
  273. package/chronos/esm5/moment/calendar.js +83 -0
  274. package/chronos/esm5/moment/diff.js +89 -0
  275. package/chronos/esm5/moment/min-max.js +58 -0
  276. package/chronos/esm5/ngx-bootstrap-chronos.js +11 -0
  277. package/chronos/esm5/parse/regex.js +72 -0
  278. package/chronos/esm5/parse/token.js +52 -0
  279. package/chronos/esm5/public_api.js +50 -0
  280. package/chronos/esm5/test/chain.js +1506 -0
  281. package/chronos/esm5/types.js +76 -0
  282. package/chronos/esm5/units/aliases.js +53 -0
  283. package/chronos/esm5/units/constants.js +16 -0
  284. package/chronos/esm5/units/day-of-month.js +39 -0
  285. package/chronos/esm5/units/day-of-week.js +188 -0
  286. package/chronos/esm5/units/day-of-year.js +55 -0
  287. package/chronos/esm5/units/hour.js +153 -0
  288. package/chronos/esm5/units/index.js +24 -0
  289. package/chronos/esm5/units/millisecond.js +74 -0
  290. package/chronos/esm5/units/minute.js +31 -0
  291. package/chronos/esm5/units/month.js +75 -0
  292. package/chronos/esm5/units/offset.js +231 -0
  293. package/chronos/esm5/units/priorities.js +31 -0
  294. package/chronos/esm5/units/quarter.js +58 -0
  295. package/chronos/esm5/units/second.js +31 -0
  296. package/chronos/esm5/units/timestamp.js +36 -0
  297. package/chronos/esm5/units/timezone.js +33 -0
  298. package/chronos/esm5/units/week-calendar-utils.js +94 -0
  299. package/chronos/esm5/units/week-year.js +178 -0
  300. package/chronos/esm5/units/week.js +85 -0
  301. package/chronos/esm5/units/year.js +81 -0
  302. package/chronos/esm5/utils/abs-ceil.js +13 -0
  303. package/chronos/esm5/utils/abs-round.js +13 -0
  304. package/chronos/esm5/utils/compare-arrays.js +27 -0
  305. package/chronos/esm5/utils/date-compare.js +112 -0
  306. package/chronos/esm5/utils/date-getters.js +165 -0
  307. package/chronos/esm5/utils/date-setters.js +147 -0
  308. package/chronos/esm5/utils/defaults.js +22 -0
  309. package/chronos/esm5/utils/start-end-of.js +74 -0
  310. package/chronos/esm5/utils/type-checks.js +114 -0
  311. package/chronos/esm5/utils/zero-fill.js +21 -0
  312. package/chronos/esm5/utils.js +21 -0
  313. package/chronos/fesm2015/ngx-bootstrap-chronos.js +8176 -0
  314. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -0
  315. package/chronos/fesm5/ngx-bootstrap-chronos.js +8383 -0
  316. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -0
  317. package/chronos/i18n/bg.d.ts +2 -0
  318. package/chronos/i18n/lt.d.ts +2 -0
  319. package/chronos/i18n/nb.d.ts +2 -0
  320. package/chronos/i18n/sk.d.ts +2 -0
  321. package/chronos/index.d.ts +1 -7
  322. package/chronos/ngx-bootstrap-chronos.d.ts +5 -0
  323. package/chronos/ngx-bootstrap-chronos.metadata.json +1 -0
  324. package/chronos/package.json +19 -0
  325. package/chronos/public_api.d.ts +46 -0
  326. package/chronos/units/day-of-month.d.ts +1 -1
  327. package/chronos/units/day-of-week.d.ts +1 -0
  328. package/chronos/units/day-of-year.d.ts +1 -0
  329. package/chronos/units/hour.d.ts +1 -1
  330. package/chronos/units/millisecond.d.ts +1 -1
  331. package/chronos/units/minute.d.ts +1 -1
  332. package/chronos/units/month.d.ts +1 -0
  333. package/chronos/units/offset.d.ts +1 -0
  334. package/chronos/units/quarter.d.ts +1 -0
  335. package/chronos/units/second.d.ts +1 -1
  336. package/chronos/units/timestamp.d.ts +1 -1
  337. package/chronos/units/timezone.d.ts +1 -0
  338. package/chronos/units/week-year.d.ts +1 -0
  339. package/chronos/units/week.d.ts +1 -0
  340. package/chronos/units/year.d.ts +1 -0
  341. package/chronos/utils/date-compare.d.ts +2 -0
  342. package/chronos/utils/type-checks.d.ts +1 -1
  343. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +178 -0
  344. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -0
  345. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +2 -0
  346. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -0
  347. package/collapse/esm2015/collapse.directive.js +150 -0
  348. package/collapse/esm2015/collapse.module.js +31 -0
  349. package/collapse/esm2015/ngx-bootstrap-collapse.js +10 -0
  350. package/collapse/esm2015/public_api.js +8 -0
  351. package/collapse/esm5/collapse.directive.js +167 -0
  352. package/collapse/esm5/collapse.module.js +38 -0
  353. package/collapse/esm5/ngx-bootstrap-collapse.js +10 -0
  354. package/collapse/esm5/public_api.js +8 -0
  355. package/collapse/fesm2015/ngx-bootstrap-collapse.js +147 -0
  356. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -0
  357. package/collapse/fesm5/ngx-bootstrap-collapse.js +169 -0
  358. package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -0
  359. package/collapse/ngx-bootstrap-collapse.d.ts +4 -0
  360. package/collapse/ngx-bootstrap-collapse.metadata.json +1 -0
  361. package/collapse/package.json +19 -0
  362. package/collapse/{index.d.ts → public_api.d.ts} +0 -0
  363. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +508 -0
  364. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -0
  365. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +2 -0
  366. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -0
  367. package/component-loader/component-loader.class.d.ts +11 -5
  368. package/component-loader/component-loader.factory.d.ts +1 -2
  369. package/component-loader/esm2015/bs-component-ref.class.js +17 -0
  370. package/component-loader/esm2015/component-loader.class.js +402 -0
  371. package/component-loader/esm2015/component-loader.factory.js +66 -0
  372. package/component-loader/esm2015/content-ref.class.js +34 -0
  373. package/component-loader/esm2015/listen-options.model.js +28 -0
  374. package/component-loader/esm2015/ngx-bootstrap-component-loader.js +10 -0
  375. package/component-loader/esm2015/public_api.js +10 -0
  376. package/component-loader/esm5/bs-component-ref.class.js +27 -0
  377. package/component-loader/esm5/component-loader.class.js +468 -0
  378. package/component-loader/esm5/component-loader.factory.js +75 -0
  379. package/component-loader/esm5/content-ref.class.js +31 -0
  380. package/component-loader/esm5/listen-options.model.js +28 -0
  381. package/component-loader/esm5/ngx-bootstrap-component-loader.js +10 -0
  382. package/component-loader/esm5/public_api.js +10 -0
  383. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +426 -0
  384. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -0
  385. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +498 -0
  386. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -0
  387. package/component-loader/listen-options.model.d.ts +1 -0
  388. package/component-loader/ngx-bootstrap-component-loader.d.ts +4 -0
  389. package/component-loader/ngx-bootstrap-component-loader.metadata.json +1 -0
  390. package/component-loader/package.json +19 -0
  391. package/component-loader/public_api.d.ts +4 -0
  392. package/datepicker/base/bs-datepicker-container.d.ts +3 -1
  393. package/datepicker/bs-datepicker-input.directive.d.ts +3 -3
  394. package/datepicker/bs-datepicker.component.d.ts +13 -3
  395. package/datepicker/bs-datepicker.config.d.ts +14 -1
  396. package/datepicker/bs-datepicker.css +14 -5
  397. package/datepicker/bs-datepicker.css.map +2 -2
  398. package/datepicker/bs-datepicker.module.d.ts +0 -1
  399. package/datepicker/bs-datepicker.scss +23 -10
  400. package/datepicker/bs-daterangepicker-input.directive.d.ts +3 -3
  401. package/datepicker/bs-daterangepicker.component.d.ts +4 -3
  402. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +4334 -0
  403. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -0
  404. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +2 -0
  405. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -0
  406. package/datepicker/datepicker.component.d.ts +5 -5
  407. package/datepicker/engine/calc-days-calendar.d.ts +1 -1
  408. package/datepicker/engine/flag-days-calendar.d.ts +2 -1
  409. package/datepicker/engine/flag-months-calendar.d.ts +1 -1
  410. package/datepicker/engine/flag-years-calendar.d.ts +1 -1
  411. package/datepicker/engine/format-days-calendar.d.ts +1 -1
  412. package/datepicker/engine/format-months-calendar.d.ts +1 -1
  413. package/datepicker/engine/format-years-calendar.d.ts +1 -1
  414. package/datepicker/engine/view-mode.d.ts +2 -2
  415. package/datepicker/esm2015/base/bs-datepicker-container.js +109 -0
  416. package/datepicker/esm2015/bs-datepicker-input.directive.js +208 -0
  417. package/datepicker/esm2015/bs-datepicker.component.js +307 -0
  418. package/datepicker/esm2015/bs-datepicker.config.js +117 -0
  419. package/datepicker/esm2015/bs-datepicker.module.js +90 -0
  420. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +224 -0
  421. package/datepicker/esm2015/bs-daterangepicker.component.js +293 -0
  422. package/datepicker/esm2015/bs-daterangepicker.config.js +29 -0
  423. package/datepicker/esm2015/bs-locale.service.js +61 -0
  424. package/datepicker/esm2015/date-formatter.js +18 -0
  425. package/datepicker/esm2015/datepicker-inner.component.js +451 -0
  426. package/datepicker/esm2015/datepicker.component.js +326 -0
  427. package/datepicker/esm2015/datepicker.config.js +74 -0
  428. package/datepicker/esm2015/datepicker.module.js +52 -0
  429. package/datepicker/esm2015/daypicker.component.js +212 -0
  430. package/datepicker/esm2015/engine/calc-days-calendar.js +29 -0
  431. package/datepicker/esm2015/engine/flag-days-calendar.js +115 -0
  432. package/datepicker/esm2015/engine/flag-months-calendar.js +57 -0
  433. package/datepicker/esm2015/engine/flag-years-calendar.js +56 -0
  434. package/datepicker/esm2015/engine/format-days-calendar.js +50 -0
  435. package/datepicker/esm2015/engine/format-months-calendar.js +29 -0
  436. package/datepicker/esm2015/engine/format-years-calendar.js +42 -0
  437. package/datepicker/esm2015/engine/view-mode.js +14 -0
  438. package/datepicker/esm2015/models/index.js +199 -0
  439. package/datepicker/esm2015/monthpicker.component.js +118 -0
  440. package/datepicker/esm2015/ngx-bootstrap-datepicker.js +29 -0
  441. package/datepicker/esm2015/public_api.js +19 -0
  442. package/datepicker/esm2015/reducer/_defaults.js +10 -0
  443. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +204 -0
  444. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +249 -0
  445. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +289 -0
  446. package/datepicker/esm2015/reducer/bs-datepicker.state.js +87 -0
  447. package/datepicker/esm2015/reducer/bs-datepicker.store.js +34 -0
  448. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js +39 -0
  449. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js +32 -0
  450. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +51 -0
  451. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +113 -0
  452. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js +73 -0
  453. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +88 -0
  454. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +133 -0
  455. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +134 -0
  456. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js +104 -0
  457. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js +53 -0
  458. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js +105 -0
  459. package/datepicker/esm2015/utils/bs-calendar-utils.js +54 -0
  460. package/datepicker/esm2015/utils/matrix-utils.js +39 -0
  461. package/datepicker/esm2015/yearpicker.component.js +122 -0
  462. package/datepicker/esm5/base/bs-datepicker-container.js +170 -0
  463. package/datepicker/esm5/bs-datepicker-input.directive.js +242 -0
  464. package/datepicker/esm5/bs-datepicker.component.js +368 -0
  465. package/datepicker/esm5/bs-datepicker.config.js +119 -0
  466. package/datepicker/esm5/bs-datepicker.module.js +97 -0
  467. package/datepicker/esm5/bs-daterangepicker-input.directive.js +263 -0
  468. package/datepicker/esm5/bs-daterangepicker.component.js +354 -0
  469. package/datepicker/esm5/bs-daterangepicker.config.js +34 -0
  470. package/datepicker/esm5/bs-locale.service.js +79 -0
  471. package/datepicker/esm5/date-formatter.js +28 -0
  472. package/datepicker/esm5/datepicker-inner.component.js +547 -0
  473. package/datepicker/esm5/datepicker.component.js +325 -0
  474. package/datepicker/esm5/datepicker.config.js +76 -0
  475. package/datepicker/esm5/datepicker.module.js +59 -0
  476. package/datepicker/esm5/daypicker.component.js +157 -0
  477. package/datepicker/esm5/engine/calc-days-calendar.js +29 -0
  478. package/datepicker/esm5/engine/flag-days-calendar.js +115 -0
  479. package/datepicker/esm5/engine/flag-months-calendar.js +57 -0
  480. package/datepicker/esm5/engine/flag-years-calendar.js +56 -0
  481. package/datepicker/esm5/engine/format-days-calendar.js +55 -0
  482. package/datepicker/esm5/engine/format-months-calendar.js +31 -0
  483. package/datepicker/esm5/engine/format-years-calendar.js +44 -0
  484. package/datepicker/esm5/engine/view-mode.js +14 -0
  485. package/datepicker/esm5/models/index.js +199 -0
  486. package/datepicker/esm5/monthpicker.component.js +85 -0
  487. package/datepicker/esm5/ngx-bootstrap-datepicker.js +29 -0
  488. package/datepicker/esm5/public_api.js +19 -0
  489. package/datepicker/esm5/reducer/_defaults.js +10 -0
  490. package/datepicker/esm5/reducer/bs-datepicker.actions.js +266 -0
  491. package/datepicker/esm5/reducer/bs-datepicker.effects.js +314 -0
  492. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +298 -0
  493. package/datepicker/esm5/reducer/bs-datepicker.state.js +91 -0
  494. package/datepicker/esm5/reducer/bs-datepicker.store.js +40 -0
  495. package/datepicker/esm5/themes/bs/bs-calendar-layout.component.js +28 -0
  496. package/datepicker/esm5/themes/bs/bs-current-date-view.component.js +36 -0
  497. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +50 -0
  498. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +138 -0
  499. package/datepicker/esm5/themes/bs/bs-datepicker-day-decorator.directive.js +73 -0
  500. package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +68 -0
  501. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +158 -0
  502. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +114 -0
  503. package/datepicker/esm5/themes/bs/bs-months-calendar-view.component.js +100 -0
  504. package/datepicker/esm5/themes/bs/bs-timepicker-view.component.js +37 -0
  505. package/datepicker/esm5/themes/bs/bs-years-calendar-view.component.js +101 -0
  506. package/datepicker/esm5/utils/bs-calendar-utils.js +54 -0
  507. package/datepicker/esm5/utils/matrix-utils.js +39 -0
  508. package/datepicker/esm5/yearpicker.component.js +92 -0
  509. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +3827 -0
  510. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -0
  511. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +4198 -0
  512. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -0
  513. package/datepicker/models/index.d.ts +3 -1
  514. package/datepicker/ngx-bootstrap-datepicker.d.ts +23 -0
  515. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -0
  516. package/datepicker/package.json +19 -0
  517. package/datepicker/public_api.d.ts +14 -0
  518. package/datepicker/reducer/_defaults.d.ts +1 -1
  519. package/datepicker/reducer/bs-datepicker.actions.d.ts +5 -3
  520. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
  521. package/datepicker/reducer/bs-datepicker.reducer.d.ts +1 -1
  522. package/datepicker/reducer/bs-datepicker.state.d.ts +4 -1
  523. package/datepicker/reducer/bs-datepicker.store.d.ts +1 -1
  524. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +1 -1
  525. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +9 -2
  526. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +1 -1
  527. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +1 -1
  528. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +4 -1
  529. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +1 -1
  530. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +1 -1
  531. package/datepicker/utils/matrix-utils.d.ts +1 -1
  532. package/dropdown/bs-dropdown-container.component.d.ts +3 -0
  533. package/dropdown/bs-dropdown-toggle.directive.d.ts +4 -2
  534. package/dropdown/bs-dropdown.config.d.ts +2 -0
  535. package/dropdown/bs-dropdown.directive.d.ts +12 -6
  536. package/dropdown/bs-dropdown.state.d.ts +2 -1
  537. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +793 -0
  538. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -0
  539. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +2 -0
  540. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -0
  541. package/dropdown/esm2015/bs-dropdown-container.component.js +104 -0
  542. package/dropdown/esm2015/bs-dropdown-menu.directive.js +42 -0
  543. package/dropdown/esm2015/bs-dropdown-toggle.directive.js +109 -0
  544. package/dropdown/esm2015/bs-dropdown.config.js +44 -0
  545. package/dropdown/esm2015/bs-dropdown.directive.js +408 -0
  546. package/dropdown/esm2015/bs-dropdown.module.js +60 -0
  547. package/dropdown/esm2015/bs-dropdown.state.js +51 -0
  548. package/dropdown/esm2015/index.js +7 -0
  549. package/dropdown/esm2015/ngx-bootstrap-dropdown.js +10 -0
  550. package/dropdown/esm2015/public_api.js +13 -0
  551. package/dropdown/esm5/bs-dropdown-container.component.js +109 -0
  552. package/dropdown/esm5/bs-dropdown-menu.directive.js +40 -0
  553. package/dropdown/esm5/bs-dropdown-toggle.directive.js +132 -0
  554. package/dropdown/esm5/bs-dropdown.config.js +46 -0
  555. package/dropdown/esm5/bs-dropdown.directive.js +501 -0
  556. package/dropdown/esm5/bs-dropdown.module.js +69 -0
  557. package/dropdown/esm5/bs-dropdown.state.js +54 -0
  558. package/dropdown/esm5/index.js +7 -0
  559. package/dropdown/esm5/ngx-bootstrap-dropdown.js +10 -0
  560. package/dropdown/esm5/public_api.js +13 -0
  561. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +623 -0
  562. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -0
  563. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +748 -0
  564. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -0
  565. package/dropdown/index.d.ts +1 -7
  566. package/dropdown/ngx-bootstrap-dropdown.d.ts +4 -0
  567. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -0
  568. package/dropdown/package.json +19 -0
  569. package/dropdown/public_api.d.ts +7 -0
  570. package/esm2015/ngx-bootstrap.js +10 -0
  571. package/esm2015/public_api.js +31 -0
  572. package/esm5/ngx-bootstrap.js +10 -0
  573. package/esm5/public_api.js +31 -0
  574. package/fesm2015/ngx-bootstrap.js +35 -0
  575. package/fesm2015/ngx-bootstrap.js.map +1 -0
  576. package/fesm5/ngx-bootstrap.js +35 -0
  577. package/fesm5/ngx-bootstrap.js.map +1 -0
  578. package/locale/bundles/ngx-bootstrap-locale.umd.js +56 -0
  579. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -0
  580. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +2 -0
  581. package/locale/bundles/ngx-bootstrap-locale.umd.min.js.map +1 -0
  582. package/locale/esm2015/ngx-bootstrap-locale.js +10 -0
  583. package/locale/esm2015/public_api.js +40 -0
  584. package/locale/esm5/ngx-bootstrap-locale.js +10 -0
  585. package/locale/esm5/public_api.js +40 -0
  586. package/locale/fesm2015/ngx-bootstrap-locale.js +13 -0
  587. package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -0
  588. package/locale/fesm5/ngx-bootstrap-locale.js +13 -0
  589. package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -0
  590. package/locale/ngx-bootstrap-locale.d.ts +4 -0
  591. package/locale/ngx-bootstrap-locale.metadata.json +1 -0
  592. package/locale/package.json +19 -0
  593. package/locale/public_api.d.ts +34 -0
  594. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +178 -0
  595. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -0
  596. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +2 -0
  597. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -0
  598. package/mini-ngrx/esm2015/index.js +7 -0
  599. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js +10 -0
  600. package/mini-ngrx/esm2015/public_api.js +18 -0
  601. package/mini-ngrx/esm2015/state.class.js +29 -0
  602. package/mini-ngrx/esm2015/store.class.js +81 -0
  603. package/mini-ngrx/esm5/index.js +7 -0
  604. package/mini-ngrx/esm5/ngx-bootstrap-mini-ngrx.js +10 -0
  605. package/mini-ngrx/esm5/public_api.js +18 -0
  606. package/mini-ngrx/esm5/state.class.js +35 -0
  607. package/mini-ngrx/esm5/store.class.js +114 -0
  608. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +114 -0
  609. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -0
  610. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +144 -0
  611. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -0
  612. package/mini-ngrx/index.d.ts +1 -7
  613. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts +4 -0
  614. package/mini-ngrx/ngx-bootstrap-mini-ngrx.metadata.json +1 -0
  615. package/mini-ngrx/package.json +19 -0
  616. package/mini-ngrx/public_api.d.ts +7 -0
  617. package/modal/bs-modal-ref.service.d.ts +4 -0
  618. package/modal/bs-modal.service.d.ts +5 -1
  619. package/modal/bundles/ngx-bootstrap-modal.umd.js +1156 -0
  620. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -0
  621. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +2 -0
  622. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -0
  623. package/modal/esm2015/bs-modal-ref.service.js +46 -0
  624. package/modal/esm2015/bs-modal.service.js +267 -0
  625. package/modal/esm2015/modal-backdrop.component.js +103 -0
  626. package/modal/esm2015/modal-backdrop.options.js +19 -0
  627. package/modal/esm2015/modal-container.component.js +160 -0
  628. package/modal/esm2015/modal-options.class.js +92 -0
  629. package/modal/esm2015/modal.directive.js +459 -0
  630. package/modal/esm2015/modal.module.js +44 -0
  631. package/modal/esm2015/models/index.js +58 -0
  632. package/modal/esm2015/ngx-bootstrap-modal.js +11 -0
  633. package/modal/esm2015/public_api.js +14 -0
  634. package/modal/esm5/bs-modal-ref.service.js +48 -0
  635. package/modal/esm5/bs-modal.service.js +333 -0
  636. package/modal/esm5/modal-backdrop.component.js +112 -0
  637. package/modal/esm5/modal-backdrop.options.js +18 -0
  638. package/modal/esm5/modal-container.component.js +170 -0
  639. package/modal/esm5/modal-options.class.js +96 -0
  640. package/modal/esm5/modal.directive.js +580 -0
  641. package/modal/esm5/modal.module.js +51 -0
  642. package/modal/esm5/models/index.js +58 -0
  643. package/modal/esm5/ngx-bootstrap-modal.js +11 -0
  644. package/modal/esm5/public_api.js +14 -0
  645. package/modal/fesm2015/ngx-bootstrap-modal.js +932 -0
  646. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -0
  647. package/modal/fesm5/ngx-bootstrap-modal.js +1142 -0
  648. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -0
  649. package/modal/modal-container.component.d.ts +2 -2
  650. package/modal/modal-options.class.d.ts +5 -7
  651. package/modal/modal.directive.d.ts +25 -7
  652. package/modal/models/index.d.ts +22 -0
  653. package/modal/ngx-bootstrap-modal.d.ts +5 -0
  654. package/modal/ngx-bootstrap-modal.metadata.json +1 -0
  655. package/modal/package.json +19 -0
  656. package/modal/{index.d.ts → public_api.d.ts} +0 -0
  657. package/ngx-bootstrap.d.ts +4 -0
  658. package/ngx-bootstrap.metadata.json +1 -0
  659. package/package.json +30 -29
  660. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +815 -0
  661. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -0
  662. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +2 -0
  663. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -0
  664. package/pagination/esm2015/models/index.js +62 -0
  665. package/pagination/esm2015/ngx-bootstrap-pagination.js +12 -0
  666. package/pagination/esm2015/pager.component.js +412 -0
  667. package/pagination/esm2015/pagination.component.js +422 -0
  668. package/pagination/esm2015/pagination.config.js +49 -0
  669. package/pagination/esm2015/pagination.module.js +35 -0
  670. package/pagination/esm2015/public_api.js +10 -0
  671. package/pagination/esm5/models/index.js +62 -0
  672. package/pagination/esm5/ngx-bootstrap-pagination.js +12 -0
  673. package/pagination/esm5/pager.component.js +475 -0
  674. package/pagination/esm5/pagination.component.js +485 -0
  675. package/pagination/esm5/pagination.config.js +51 -0
  676. package/pagination/esm5/pagination.module.js +42 -0
  677. package/pagination/esm5/public_api.js +10 -0
  678. package/pagination/fesm2015/ngx-bootstrap-pagination.js +685 -0
  679. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -0
  680. package/pagination/fesm5/ngx-bootstrap-pagination.js +816 -0
  681. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -0
  682. package/pagination/models/index.d.ts +25 -0
  683. package/pagination/ngx-bootstrap-pagination.d.ts +6 -0
  684. package/pagination/ngx-bootstrap-pagination.metadata.json +1 -0
  685. package/pagination/package.json +19 -0
  686. package/pagination/pager.component.d.ts +11 -11
  687. package/pagination/pagination.component.d.ts +12 -12
  688. package/pagination/pagination.config.d.ts +3 -2
  689. package/pagination/{index.d.ts → public_api.d.ts} +0 -0
  690. package/popover/bundles/ngx-bootstrap-popover.umd.js +317 -0
  691. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -0
  692. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +2 -0
  693. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -0
  694. package/popover/esm2015/ngx-bootstrap-popover.js +10 -0
  695. package/popover/esm2015/popover-container.component.js +72 -0
  696. package/popover/esm2015/popover.config.js +58 -0
  697. package/popover/esm2015/popover.directive.js +227 -0
  698. package/popover/esm2015/popover.module.js +41 -0
  699. package/popover/esm2015/public_api.js +10 -0
  700. package/popover/esm5/ngx-bootstrap-popover.js +10 -0
  701. package/popover/esm5/popover-container.component.js +66 -0
  702. package/popover/esm5/popover.config.js +60 -0
  703. package/popover/esm5/popover.directive.js +260 -0
  704. package/popover/esm5/popover.module.js +48 -0
  705. package/popover/esm5/public_api.js +10 -0
  706. package/popover/fesm2015/ngx-bootstrap-popover.js +277 -0
  707. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -0
  708. package/popover/fesm5/ngx-bootstrap-popover.js +309 -0
  709. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -0
  710. package/popover/ngx-bootstrap-popover.d.ts +4 -0
  711. package/popover/ngx-bootstrap-popover.metadata.json +1 -0
  712. package/popover/package.json +19 -0
  713. package/popover/popover.directive.d.ts +3 -3
  714. package/popover/{index.d.ts → public_api.d.ts} +0 -0
  715. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +366 -0
  716. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -0
  717. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +2 -0
  718. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -0
  719. package/positioning/esm2015/ng-positioning.js +253 -0
  720. package/positioning/esm2015/ngx-bootstrap-positioning.js +10 -0
  721. package/positioning/esm2015/positioning.service.js +91 -0
  722. package/positioning/esm2015/public_api.js +8 -0
  723. package/positioning/esm5/ng-positioning.js +300 -0
  724. package/positioning/esm5/ngx-bootstrap-positioning.js +10 -0
  725. package/positioning/esm5/positioning.service.js +99 -0
  726. package/positioning/esm5/public_api.js +8 -0
  727. package/positioning/fesm2015/ngx-bootstrap-positioning.js +299 -0
  728. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -0
  729. package/positioning/fesm5/ngx-bootstrap-positioning.js +352 -0
  730. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -0
  731. package/positioning/ngx-bootstrap-positioning.d.ts +4 -0
  732. package/positioning/ngx-bootstrap-positioning.metadata.json +1 -0
  733. package/positioning/package.json +19 -0
  734. package/positioning/{index.d.ts → public_api.d.ts} +0 -0
  735. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +319 -0
  736. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -0
  737. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +2 -0
  738. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -0
  739. package/progressbar/esm2015/bar.component.js +129 -0
  740. package/progressbar/esm2015/ngx-bootstrap-progressbar.js +10 -0
  741. package/progressbar/esm2015/progressbar.component.js +148 -0
  742. package/progressbar/esm2015/progressbar.config.js +41 -0
  743. package/progressbar/esm2015/progressbar.module.js +35 -0
  744. package/progressbar/esm2015/public_api.js +10 -0
  745. package/progressbar/esm5/bar.component.js +149 -0
  746. package/progressbar/esm5/ngx-bootstrap-progressbar.js +10 -0
  747. package/progressbar/esm5/progressbar.component.js +170 -0
  748. package/progressbar/esm5/progressbar.config.js +43 -0
  749. package/progressbar/esm5/progressbar.module.js +42 -0
  750. package/progressbar/esm5/public_api.js +10 -0
  751. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +268 -0
  752. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -0
  753. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +315 -0
  754. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -0
  755. package/progressbar/ngx-bootstrap-progressbar.d.ts +4 -0
  756. package/progressbar/ngx-bootstrap-progressbar.metadata.json +1 -0
  757. package/progressbar/package.json +19 -0
  758. package/progressbar/progressbar.component.d.ts +4 -2
  759. package/progressbar/{index.d.ts → public_api.d.ts} +0 -0
  760. package/public_api.d.ts +25 -0
  761. package/rating/bundles/ngx-bootstrap-rating.umd.js +243 -0
  762. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -0
  763. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +2 -0
  764. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -0
  765. package/rating/esm2015/models/index.js +28 -0
  766. package/rating/esm2015/ngx-bootstrap-rating.js +11 -0
  767. package/rating/esm2015/public_api.js +8 -0
  768. package/rating/esm2015/rating.component.js +210 -0
  769. package/rating/esm2015/rating.module.js +36 -0
  770. package/rating/esm5/models/index.js +28 -0
  771. package/rating/esm5/ngx-bootstrap-rating.js +11 -0
  772. package/rating/esm5/public_api.js +8 -0
  773. package/rating/esm5/rating.component.js +244 -0
  774. package/rating/esm5/rating.module.js +43 -0
  775. package/rating/fesm2015/ngx-bootstrap-rating.js +194 -0
  776. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -0
  777. package/rating/fesm5/ngx-bootstrap-rating.js +233 -0
  778. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -0
  779. package/rating/models/index.d.ts +9 -0
  780. package/rating/ngx-bootstrap-rating.d.ts +5 -0
  781. package/rating/ngx-bootstrap-rating.metadata.json +1 -0
  782. package/rating/package.json +19 -0
  783. package/rating/{index.d.ts → public_api.d.ts} +0 -0
  784. package/rating/rating.component.d.ts +6 -5
  785. package/schematics/collection.json +10 -0
  786. package/schematics/ng-add/index.js +98 -0
  787. package/schematics/ng-add/index.js.map +1 -0
  788. package/schematics/ng-add/index.spec.js +37 -0
  789. package/schematics/ng-add/index.spec.js.map +1 -0
  790. package/schematics/ng-add/schema.js +10 -0
  791. package/schematics/ng-add/schema.js.map +1 -0
  792. package/schematics/ng-add/schema.json +16 -0
  793. package/schematics/utils/index.js +135 -0
  794. package/schematics/utils/index.js.map +1 -0
  795. package/schematics/utils/ng-module-imports.js +69 -0
  796. package/schematics/utils/ng-module-imports.js.map +1 -0
  797. package/schematics/utils/project-main-file.js +22 -0
  798. package/schematics/utils/project-main-file.js.map +1 -0
  799. package/schematics/utils/project-targets.js +25 -0
  800. package/schematics/utils/project-targets.js.map +1 -0
  801. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +464 -0
  802. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -0
  803. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +2 -0
  804. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -0
  805. package/sortable/esm2015/draggable-item.js +24 -0
  806. package/sortable/esm2015/draggable-item.service.js +65 -0
  807. package/sortable/esm2015/ngx-bootstrap-sortable.js +10 -0
  808. package/sortable/esm2015/public_api.js +9 -0
  809. package/sortable/esm2015/sortable.component.js +382 -0
  810. package/sortable/esm2015/sortable.module.js +34 -0
  811. package/sortable/esm5/draggable-item.js +24 -0
  812. package/sortable/esm5/draggable-item.service.js +82 -0
  813. package/sortable/esm5/ngx-bootstrap-sortable.js +10 -0
  814. package/sortable/esm5/public_api.js +9 -0
  815. package/sortable/esm5/sortable.component.js +398 -0
  816. package/sortable/esm5/sortable.module.js +41 -0
  817. package/sortable/fesm2015/ngx-bootstrap-sortable.js +377 -0
  818. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -0
  819. package/sortable/fesm5/ngx-bootstrap-sortable.js +414 -0
  820. package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -0
  821. package/sortable/ngx-bootstrap-sortable.d.ts +4 -0
  822. package/sortable/ngx-bootstrap-sortable.metadata.json +1 -0
  823. package/sortable/package.json +19 -0
  824. package/sortable/{index.d.ts → public_api.d.ts} +0 -0
  825. package/sortable/sortable.component.d.ts +1 -1
  826. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +481 -0
  827. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -0
  828. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +2 -0
  829. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -0
  830. package/tabs/esm2015/ng-transclude.directive.js +61 -0
  831. package/tabs/esm2015/ngx-bootstrap-tabs.js +10 -0
  832. package/tabs/esm2015/public_api.js +12 -0
  833. package/tabs/esm2015/tab-heading.directive.js +39 -0
  834. package/tabs/esm2015/tab.directive.js +181 -0
  835. package/tabs/esm2015/tabs.module.js +50 -0
  836. package/tabs/esm2015/tabset.component.js +195 -0
  837. package/tabs/esm2015/tabset.config.js +32 -0
  838. package/tabs/esm5/ng-transclude.directive.js +65 -0
  839. package/tabs/esm5/ngx-bootstrap-tabs.js +10 -0
  840. package/tabs/esm5/public_api.js +12 -0
  841. package/tabs/esm5/tab-heading.directive.js +38 -0
  842. package/tabs/esm5/tab.directive.js +194 -0
  843. package/tabs/esm5/tabs.module.js +57 -0
  844. package/tabs/esm5/tabset.component.js +231 -0
  845. package/tabs/esm5/tabset.config.js +34 -0
  846. package/tabs/fesm2015/ngx-bootstrap-tabs.js +415 -0
  847. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -0
  848. package/tabs/fesm5/ngx-bootstrap-tabs.js +470 -0
  849. package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -0
  850. package/tabs/ngx-bootstrap-tabs.d.ts +4 -0
  851. package/tabs/ngx-bootstrap-tabs.metadata.json +1 -0
  852. package/tabs/package.json +19 -0
  853. package/tabs/{index.d.ts → public_api.d.ts} +0 -0
  854. package/tabs/tabset.component.d.ts +3 -1
  855. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +1183 -0
  856. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -0
  857. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +2 -0
  858. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -0
  859. package/timepicker/esm2015/models/index.js +18 -0
  860. package/timepicker/esm2015/ngx-bootstrap-timepicker.js +11 -0
  861. package/timepicker/esm2015/public_api.js +11 -0
  862. package/timepicker/esm2015/reducer/timepicker.actions.js +99 -0
  863. package/timepicker/esm2015/reducer/timepicker.reducer.js +103 -0
  864. package/timepicker/esm2015/reducer/timepicker.store.js +33 -0
  865. package/timepicker/esm2015/timepicker-controls.util.js +156 -0
  866. package/timepicker/esm2015/timepicker.component.js +480 -0
  867. package/timepicker/esm2015/timepicker.config.js +144 -0
  868. package/timepicker/esm2015/timepicker.models.js +82 -0
  869. package/timepicker/esm2015/timepicker.module.js +39 -0
  870. package/timepicker/esm2015/timepicker.utils.js +224 -0
  871. package/timepicker/esm5/models/index.js +18 -0
  872. package/timepicker/esm5/ngx-bootstrap-timepicker.js +11 -0
  873. package/timepicker/esm5/public_api.js +11 -0
  874. package/timepicker/esm5/reducer/timepicker.actions.js +127 -0
  875. package/timepicker/esm5/reducer/timepicker.reducer.js +108 -0
  876. package/timepicker/esm5/reducer/timepicker.store.js +39 -0
  877. package/timepicker/esm5/timepicker-controls.util.js +156 -0
  878. package/timepicker/esm5/timepicker.component.js +564 -0
  879. package/timepicker/esm5/timepicker.config.js +146 -0
  880. package/timepicker/esm5/timepicker.models.js +82 -0
  881. package/timepicker/esm5/timepicker.module.js +46 -0
  882. package/timepicker/esm5/timepicker.utils.js +227 -0
  883. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +1006 -0
  884. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -0
  885. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +1132 -0
  886. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -0
  887. package/timepicker/models/index.d.ts +8 -0
  888. package/timepicker/ngx-bootstrap-timepicker.d.ts +5 -0
  889. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -0
  890. package/timepicker/package.json +19 -0
  891. package/timepicker/{index.d.ts → public_api.d.ts} +0 -0
  892. package/timepicker/reducer/timepicker.actions.d.ts +1 -1
  893. package/timepicker/reducer/timepicker.reducer.d.ts +1 -1
  894. package/timepicker/reducer/timepicker.store.d.ts +1 -1
  895. package/timepicker/timepicker.component.d.ts +8 -7
  896. package/timepicker/timepicker.config.d.ts +1 -1
  897. package/timepicker/timepicker.utils.d.ts +1 -1
  898. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +546 -0
  899. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -0
  900. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +2 -0
  901. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -0
  902. package/tooltip/esm2015/ngx-bootstrap-tooltip.js +10 -0
  903. package/tooltip/esm2015/public_api.js +10 -0
  904. package/tooltip/esm2015/tooltip-container.component.js +92 -0
  905. package/tooltip/esm2015/tooltip.config.js +49 -0
  906. package/tooltip/esm2015/tooltip.directive.js +419 -0
  907. package/tooltip/esm2015/tooltip.module.js +41 -0
  908. package/tooltip/esm5/ngx-bootstrap-tooltip.js +10 -0
  909. package/tooltip/esm5/public_api.js +10 -0
  910. package/tooltip/esm5/tooltip-container.component.js +82 -0
  911. package/tooltip/esm5/tooltip.config.js +51 -0
  912. package/tooltip/esm5/tooltip.directive.js +490 -0
  913. package/tooltip/esm5/tooltip.module.js +48 -0
  914. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +456 -0
  915. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -0
  916. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +522 -0
  917. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -0
  918. package/tooltip/ngx-bootstrap-tooltip.d.ts +4 -0
  919. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -0
  920. package/tooltip/package.json +19 -0
  921. package/tooltip/{index.d.ts → public_api.d.ts} +0 -0
  922. package/tooltip/tooltip-container.component.d.ts +4 -1
  923. package/tooltip/tooltip.directive.d.ts +10 -8
  924. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +2029 -0
  925. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -0
  926. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +2 -0
  927. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -0
  928. package/typeahead/esm2015/latin-map.js +833 -0
  929. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +10 -0
  930. package/typeahead/esm2015/public_api.js +14 -0
  931. package/typeahead/esm2015/typeahead-container.component.js +336 -0
  932. package/typeahead/esm2015/typeahead-match.class.js +38 -0
  933. package/typeahead/esm2015/typeahead-options.class.js +22 -0
  934. package/typeahead/esm2015/typeahead-utils.js +80 -0
  935. package/typeahead/esm2015/typeahead.config.js +35 -0
  936. package/typeahead/esm2015/typeahead.directive.js +652 -0
  937. package/typeahead/esm2015/typeahead.module.js +41 -0
  938. package/typeahead/esm5/latin-map.js +833 -0
  939. package/typeahead/esm5/ngx-bootstrap-typeahead.js +10 -0
  940. package/typeahead/esm5/public_api.js +14 -0
  941. package/typeahead/esm5/typeahead-container.component.js +414 -0
  942. package/typeahead/esm5/typeahead-match.class.js +44 -0
  943. package/typeahead/esm5/typeahead-options.class.js +21 -0
  944. package/typeahead/esm5/typeahead-utils.js +94 -0
  945. package/typeahead/esm5/typeahead.config.js +37 -0
  946. package/typeahead/esm5/typeahead.directive.js +748 -0
  947. package/typeahead/esm5/typeahead.module.js +48 -0
  948. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +1780 -0
  949. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -0
  950. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +1975 -0
  951. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -0
  952. package/typeahead/ngx-bootstrap-typeahead.d.ts +4 -0
  953. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -0
  954. package/typeahead/package.json +19 -0
  955. package/typeahead/public_api.d.ts +8 -0
  956. package/typeahead/typeahead-container.component.d.ts +2 -2
  957. package/typeahead/typeahead.config.d.ts +5 -0
  958. package/typeahead/typeahead.directive.d.ts +13 -10
  959. package/utils/bundles/ngx-bootstrap-utils.umd.js +792 -0
  960. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -0
  961. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +10 -0
  962. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -0
  963. package/utils/esm2015/decorators.js +37 -0
  964. package/utils/esm2015/facade/browser.js +29 -0
  965. package/utils/esm2015/linked-list.class.js +324 -0
  966. package/utils/esm2015/ngx-bootstrap-utils.js +10 -0
  967. package/utils/esm2015/public_api.js +16 -0
  968. package/utils/esm2015/theme-provider.js +49 -0
  969. package/utils/esm2015/trigger.class.js +32 -0
  970. package/utils/esm2015/triggers.js +165 -0
  971. package/utils/esm2015/utils.class.js +31 -0
  972. package/utils/esm2015/warn-once.js +21 -0
  973. package/utils/esm5/decorators.js +39 -0
  974. package/utils/esm5/facade/browser.js +29 -0
  975. package/utils/esm5/linked-list.class.js +425 -0
  976. package/utils/esm5/ngx-bootstrap-utils.js +10 -0
  977. package/utils/esm5/public_api.js +16 -0
  978. package/utils/esm5/theme-provider.js +49 -0
  979. package/utils/esm5/trigger.class.js +33 -0
  980. package/utils/esm5/triggers.js +170 -0
  981. package/utils/esm5/utils.class.js +46 -0
  982. package/utils/esm5/warn-once.js +21 -0
  983. package/utils/facade/browser.d.ts +5 -5
  984. package/utils/fesm2015/ngx-bootstrap-utils.js +650 -0
  985. package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -0
  986. package/utils/fesm5/ngx-bootstrap-utils.js +768 -0
  987. package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -0
  988. package/utils/ngx-bootstrap-utils.d.ts +4 -0
  989. package/utils/ngx-bootstrap-utils.metadata.json +1 -0
  990. package/utils/package.json +19 -0
  991. package/utils/public_api.d.ts +10 -0
  992. package/utils/triggers.d.ts +12 -1
  993. package/accordion/accordion-group.component.html +0 -19
  994. package/accordion/accordion-group.component.js +0 -82
  995. package/accordion/accordion-group.component.js.map +0 -1
  996. package/accordion/accordion-group.component.metadata.json +0 -1
  997. package/accordion/accordion-group.component.ngfactory.js.map +0 -1
  998. package/accordion/accordion.component.js +0 -50
  999. package/accordion/accordion.component.js.map +0 -1
  1000. package/accordion/accordion.component.metadata.json +0 -1
  1001. package/accordion/accordion.component.ngfactory.js.map +0 -1
  1002. package/accordion/accordion.config.js +0 -16
  1003. package/accordion/accordion.config.js.map +0 -1
  1004. package/accordion/accordion.config.metadata.json +0 -1
  1005. package/accordion/accordion.config.ngfactory.js.map +0 -1
  1006. package/accordion/accordion.module.js +0 -23
  1007. package/accordion/accordion.module.js.map +0 -1
  1008. package/accordion/accordion.module.metadata.json +0 -1
  1009. package/accordion/accordion.module.ngfactory.js.map +0 -1
  1010. package/accordion/index.js +0 -5
  1011. package/accordion/index.js.map +0 -1
  1012. package/accordion/index.metadata.json +0 -1
  1013. package/alert/alert.component.html +0 -11
  1014. package/alert/alert.component.js +0 -99
  1015. package/alert/alert.component.js.map +0 -1
  1016. package/alert/alert.component.metadata.json +0 -1
  1017. package/alert/alert.component.ngfactory.js.map +0 -1
  1018. package/alert/alert.config.js +0 -17
  1019. package/alert/alert.config.js.map +0 -1
  1020. package/alert/alert.config.metadata.json +0 -1
  1021. package/alert/alert.config.ngfactory.js.map +0 -1
  1022. package/alert/alert.module.js +0 -22
  1023. package/alert/alert.module.js.map +0 -1
  1024. package/alert/alert.module.metadata.json +0 -1
  1025. package/alert/alert.module.ngfactory.js.map +0 -1
  1026. package/alert/index.js +0 -4
  1027. package/alert/index.js.map +0 -1
  1028. package/alert/index.metadata.json +0 -1
  1029. package/buttons/button-checkbox.directive.js +0 -93
  1030. package/buttons/button-checkbox.directive.js.map +0 -1
  1031. package/buttons/button-checkbox.directive.metadata.json +0 -1
  1032. package/buttons/button-checkbox.directive.ngfactory.js.map +0 -1
  1033. package/buttons/button-radio-group.directive.js +0 -53
  1034. package/buttons/button-radio-group.directive.js.map +0 -1
  1035. package/buttons/button-radio-group.directive.metadata.json +0 -1
  1036. package/buttons/button-radio-group.directive.ngfactory.js.map +0 -1
  1037. package/buttons/button-radio.directive.js +0 -126
  1038. package/buttons/button-radio.directive.js.map +0 -1
  1039. package/buttons/button-radio.directive.metadata.json +0 -1
  1040. package/buttons/button-radio.directive.ngfactory.js.map +0 -1
  1041. package/buttons/buttons.module.js +0 -20
  1042. package/buttons/buttons.module.js.map +0 -1
  1043. package/buttons/buttons.module.metadata.json +0 -1
  1044. package/buttons/buttons.module.ngfactory.js.map +0 -1
  1045. package/buttons/index.js +0 -5
  1046. package/buttons/index.js.map +0 -1
  1047. package/buttons/index.metadata.json +0 -1
  1048. package/carousel/carousel.component.html +0 -14
  1049. package/carousel/carousel.component.js +0 -419
  1050. package/carousel/carousel.component.js.map +0 -1
  1051. package/carousel/carousel.component.metadata.json +0 -1
  1052. package/carousel/carousel.component.ngfactory.js.map +0 -1
  1053. package/carousel/carousel.config.js +0 -19
  1054. package/carousel/carousel.config.js.map +0 -1
  1055. package/carousel/carousel.config.metadata.json +0 -1
  1056. package/carousel/carousel.config.ngfactory.js.map +0 -1
  1057. package/carousel/carousel.module.js +0 -23
  1058. package/carousel/carousel.module.js.map +0 -1
  1059. package/carousel/carousel.module.metadata.json +0 -1
  1060. package/carousel/carousel.module.ngfactory.js.map +0 -1
  1061. package/carousel/index.js +0 -5
  1062. package/carousel/index.js.map +0 -1
  1063. package/carousel/index.metadata.json +0 -1
  1064. package/carousel/slide.component.js +0 -41
  1065. package/carousel/slide.component.js.map +0 -1
  1066. package/carousel/slide.component.metadata.json +0 -1
  1067. package/carousel/slide.component.ngfactory.js.map +0 -1
  1068. package/chronos/create/check-overflow.js +0 -30
  1069. package/chronos/create/check-overflow.js.map +0 -1
  1070. package/chronos/create/check-overflow.metadata.json +0 -1
  1071. package/chronos/create/clone.js +0 -6
  1072. package/chronos/create/clone.js.map +0 -1
  1073. package/chronos/create/clone.metadata.json +0 -1
  1074. package/chronos/create/date-from-array.js +0 -23
  1075. package/chronos/create/date-from-array.js.map +0 -1
  1076. package/chronos/create/date-from-array.metadata.json +0 -1
  1077. package/chronos/create/from-anything.js +0 -106
  1078. package/chronos/create/from-anything.js.map +0 -1
  1079. package/chronos/create/from-anything.metadata.json +0 -1
  1080. package/chronos/create/from-array.js +0 -136
  1081. package/chronos/create/from-array.js.map +0 -1
  1082. package/chronos/create/from-array.metadata.json +0 -1
  1083. package/chronos/create/from-object.js +0 -16
  1084. package/chronos/create/from-object.js.map +0 -1
  1085. package/chronos/create/from-object.metadata.json +0 -1
  1086. package/chronos/create/from-string-and-array.js +0 -38
  1087. package/chronos/create/from-string-and-array.js.map +0 -1
  1088. package/chronos/create/from-string-and-array.metadata.json +0 -1
  1089. package/chronos/create/from-string-and-format.js +0 -106
  1090. package/chronos/create/from-string-and-format.js.map +0 -1
  1091. package/chronos/create/from-string-and-format.metadata.json +0 -1
  1092. package/chronos/create/from-string.js +0 -226
  1093. package/chronos/create/from-string.js.map +0 -1
  1094. package/chronos/create/from-string.metadata.json +0 -1
  1095. package/chronos/create/local.js +0 -10
  1096. package/chronos/create/local.js.map +0 -1
  1097. package/chronos/create/local.metadata.json +0 -1
  1098. package/chronos/create/parsing-flags.js +0 -26
  1099. package/chronos/create/parsing-flags.js.map +0 -1
  1100. package/chronos/create/parsing-flags.metadata.json +0 -1
  1101. package/chronos/create/parsing.types.js +0 -1
  1102. package/chronos/create/parsing.types.js.map +0 -1
  1103. package/chronos/create/parsing.types.metadata.json +0 -1
  1104. package/chronos/create/valid.js +0 -42
  1105. package/chronos/create/valid.js.map +0 -1
  1106. package/chronos/create/valid.metadata.json +0 -1
  1107. package/chronos/duration/bubble.js +0 -47
  1108. package/chronos/duration/bubble.js.map +0 -1
  1109. package/chronos/duration/bubble.metadata.json +0 -1
  1110. package/chronos/duration/constructor.js +0 -134
  1111. package/chronos/duration/constructor.js.map +0 -1
  1112. package/chronos/duration/constructor.metadata.json +0 -1
  1113. package/chronos/duration/create.js +0 -114
  1114. package/chronos/duration/create.js.map +0 -1
  1115. package/chronos/duration/create.metadata.json +0 -1
  1116. package/chronos/duration/humanize.js +0 -84
  1117. package/chronos/duration/humanize.js.map +0 -1
  1118. package/chronos/duration/humanize.metadata.json +0 -1
  1119. package/chronos/duration/valid.js +0 -45
  1120. package/chronos/duration/valid.js.map +0 -1
  1121. package/chronos/duration/valid.metadata.json +0 -1
  1122. package/chronos/format/format.js +0 -52
  1123. package/chronos/format/format.js.map +0 -1
  1124. package/chronos/format/format.metadata.json +0 -1
  1125. package/chronos/format.js +0 -48
  1126. package/chronos/format.js.map +0 -1
  1127. package/chronos/format.metadata.json +0 -1
  1128. package/chronos/i18n/ar.js +0 -132
  1129. package/chronos/i18n/ar.js.map +0 -1
  1130. package/chronos/i18n/ar.metadata.json +0 -1
  1131. package/chronos/i18n/cs.js +0 -191
  1132. package/chronos/i18n/cs.js.map +0 -1
  1133. package/chronos/i18n/cs.metadata.json +0 -1
  1134. package/chronos/i18n/da.js +0 -51
  1135. package/chronos/i18n/da.js.map +0 -1
  1136. package/chronos/i18n/da.metadata.json +0 -1
  1137. package/chronos/i18n/de.js +0 -73
  1138. package/chronos/i18n/de.js.map +0 -1
  1139. package/chronos/i18n/de.metadata.json +0 -1
  1140. package/chronos/i18n/en-gb.js +0 -62
  1141. package/chronos/i18n/en-gb.js.map +0 -1
  1142. package/chronos/i18n/en-gb.metadata.json +0 -1
  1143. package/chronos/i18n/es-do.js +0 -86
  1144. package/chronos/i18n/es-do.js.map +0 -1
  1145. package/chronos/i18n/es-do.metadata.json +0 -1
  1146. package/chronos/i18n/es-us.js +0 -80
  1147. package/chronos/i18n/es-us.js.map +0 -1
  1148. package/chronos/i18n/es-us.metadata.json +0 -1
  1149. package/chronos/i18n/es.js +0 -85
  1150. package/chronos/i18n/es.js.map +0 -1
  1151. package/chronos/i18n/es.metadata.json +0 -1
  1152. package/chronos/i18n/fi.js +0 -101
  1153. package/chronos/i18n/fi.js.map +0 -1
  1154. package/chronos/i18n/fi.metadata.json +0 -1
  1155. package/chronos/i18n/fr.js +0 -77
  1156. package/chronos/i18n/fr.js.map +0 -1
  1157. package/chronos/i18n/fr.metadata.json +0 -1
  1158. package/chronos/i18n/gl.js +0 -85
  1159. package/chronos/i18n/gl.js.map +0 -1
  1160. package/chronos/i18n/gl.metadata.json +0 -1
  1161. package/chronos/i18n/he.js +0 -98
  1162. package/chronos/i18n/he.js.map +0 -1
  1163. package/chronos/i18n/he.metadata.json +0 -1
  1164. package/chronos/i18n/hi.js +0 -125
  1165. package/chronos/i18n/hi.js.map +0 -1
  1166. package/chronos/i18n/hi.metadata.json +0 -1
  1167. package/chronos/i18n/hu.js +0 -105
  1168. package/chronos/i18n/hu.js.map +0 -1
  1169. package/chronos/i18n/hu.metadata.json +0 -1
  1170. package/chronos/i18n/id.js +0 -84
  1171. package/chronos/i18n/id.js.map +0 -1
  1172. package/chronos/i18n/id.metadata.json +0 -1
  1173. package/chronos/i18n/it.js +0 -66
  1174. package/chronos/i18n/it.js.map +0 -1
  1175. package/chronos/i18n/it.metadata.json +0 -1
  1176. package/chronos/i18n/ja.js +0 -75
  1177. package/chronos/i18n/ja.js.map +0 -1
  1178. package/chronos/i18n/ja.metadata.json +0 -1
  1179. package/chronos/i18n/ko.js +0 -77
  1180. package/chronos/i18n/ko.js.map +0 -1
  1181. package/chronos/i18n/ko.metadata.json +0 -1
  1182. package/chronos/i18n/mn.js +0 -99
  1183. package/chronos/i18n/mn.js.map +0 -1
  1184. package/chronos/i18n/mn.metadata.json +0 -1
  1185. package/chronos/i18n/nl-be.js +0 -82
  1186. package/chronos/i18n/nl-be.js.map +0 -1
  1187. package/chronos/i18n/nl-be.metadata.json +0 -1
  1188. package/chronos/i18n/nl.js +0 -81
  1189. package/chronos/i18n/nl.js.map +0 -1
  1190. package/chronos/i18n/nl.metadata.json +0 -1
  1191. package/chronos/i18n/pl.js +0 -121
  1192. package/chronos/i18n/pl.js.map +0 -1
  1193. package/chronos/i18n/pl.metadata.json +0 -1
  1194. package/chronos/i18n/pt-br.js +0 -56
  1195. package/chronos/i18n/pt-br.js.map +0 -1
  1196. package/chronos/i18n/pt-br.metadata.json +0 -1
  1197. package/chronos/i18n/ro.js +0 -67
  1198. package/chronos/i18n/ro.js.map +0 -1
  1199. package/chronos/i18n/ro.metadata.json +0 -1
  1200. package/chronos/i18n/ru.js +0 -182
  1201. package/chronos/i18n/ru.js.map +0 -1
  1202. package/chronos/i18n/ru.metadata.json +0 -1
  1203. package/chronos/i18n/sl.js +0 -185
  1204. package/chronos/i18n/sl.js.map +0 -1
  1205. package/chronos/i18n/sl.metadata.json +0 -1
  1206. package/chronos/i18n/sv.js +0 -64
  1207. package/chronos/i18n/sv.js.map +0 -1
  1208. package/chronos/i18n/sv.metadata.json +0 -1
  1209. package/chronos/i18n/th.js +0 -60
  1210. package/chronos/i18n/th.js.map +0 -1
  1211. package/chronos/i18n/th.metadata.json +0 -1
  1212. package/chronos/i18n/tr.js +0 -84
  1213. package/chronos/i18n/tr.js.map +0 -1
  1214. package/chronos/i18n/tr.metadata.json +0 -1
  1215. package/chronos/i18n/zh-cn.js +0 -115
  1216. package/chronos/i18n/zh-cn.js.map +0 -1
  1217. package/chronos/i18n/zh-cn.metadata.json +0 -1
  1218. package/chronos/index.js +0 -7
  1219. package/chronos/index.js.map +0 -1
  1220. package/chronos/index.metadata.json +0 -1
  1221. package/chronos/locale/calendar.js +0 -9
  1222. package/chronos/locale/calendar.js.map +0 -1
  1223. package/chronos/locale/calendar.metadata.json +0 -1
  1224. package/chronos/locale/locale.class.js +0 -550
  1225. package/chronos/locale/locale.class.js.map +0 -1
  1226. package/chronos/locale/locale.class.metadata.json +0 -1
  1227. package/chronos/locale/locale.defaults.js +0 -41
  1228. package/chronos/locale/locale.defaults.js.map +0 -1
  1229. package/chronos/locale/locale.defaults.metadata.json +0 -1
  1230. package/chronos/locale/locales.js +0 -194
  1231. package/chronos/locale/locales.js.map +0 -1
  1232. package/chronos/locale/locales.metadata.json +0 -1
  1233. package/chronos/moment/add-subtract.js +0 -35
  1234. package/chronos/moment/add-subtract.js.map +0 -1
  1235. package/chronos/moment/add-subtract.metadata.json +0 -1
  1236. package/chronos/moment/calendar.js +0 -43
  1237. package/chronos/moment/calendar.js.map +0 -1
  1238. package/chronos/moment/calendar.metadata.json +0 -1
  1239. package/chronos/moment/diff.js +0 -71
  1240. package/chronos/moment/diff.js.map +0 -1
  1241. package/chronos/moment/diff.metadata.json +0 -1
  1242. package/chronos/moment/min-max.js +0 -41
  1243. package/chronos/moment/min-max.js.map +0 -1
  1244. package/chronos/moment/min-max.metadata.json +0 -1
  1245. package/chronos/parse/regex.js +0 -49
  1246. package/chronos/parse/regex.js.map +0 -1
  1247. package/chronos/parse/regex.metadata.json +0 -1
  1248. package/chronos/parse/token.js +0 -31
  1249. package/chronos/parse/token.js.map +0 -1
  1250. package/chronos/parse/token.metadata.json +0 -1
  1251. package/chronos/test/chain.js +0 -738
  1252. package/chronos/test/chain.js.map +0 -1
  1253. package/chronos/test/chain.metadata.json +0 -1
  1254. package/chronos/types.js +0 -1
  1255. package/chronos/types.js.map +0 -1
  1256. package/chronos/types.metadata.json +0 -1
  1257. package/chronos/units/aliases.js +0 -35
  1258. package/chronos/units/aliases.js.map +0 -1
  1259. package/chronos/units/aliases.metadata.json +0 -1
  1260. package/chronos/units/constants.js +0 -11
  1261. package/chronos/units/constants.js.map +0 -1
  1262. package/chronos/units/constants.metadata.json +0 -1
  1263. package/chronos/units/day-of-month.js +0 -28
  1264. package/chronos/units/day-of-month.js.map +0 -1
  1265. package/chronos/units/day-of-week.js +0 -129
  1266. package/chronos/units/day-of-week.js.map +0 -1
  1267. package/chronos/units/day-of-week.metadata.json +0 -1
  1268. package/chronos/units/day-of-year.js +0 -34
  1269. package/chronos/units/day-of-year.js.map +0 -1
  1270. package/chronos/units/day-of-year.metadata.json +0 -1
  1271. package/chronos/units/hour.js +0 -122
  1272. package/chronos/units/hour.js.map +0 -1
  1273. package/chronos/units/index.js +0 -19
  1274. package/chronos/units/index.js.map +0 -1
  1275. package/chronos/units/millisecond.js +0 -58
  1276. package/chronos/units/millisecond.js.map +0 -1
  1277. package/chronos/units/minute.js +0 -20
  1278. package/chronos/units/minute.js.map +0 -1
  1279. package/chronos/units/month.js +0 -61
  1280. package/chronos/units/month.js.map +0 -1
  1281. package/chronos/units/month.metadata.json +0 -1
  1282. package/chronos/units/offset.js +0 -212
  1283. package/chronos/units/offset.js.map +0 -1
  1284. package/chronos/units/offset.metadata.json +0 -1
  1285. package/chronos/units/priorities.js +0 -21
  1286. package/chronos/units/priorities.js.map +0 -1
  1287. package/chronos/units/priorities.metadata.json +0 -1
  1288. package/chronos/units/quarter.js +0 -37
  1289. package/chronos/units/quarter.js.map +0 -1
  1290. package/chronos/units/quarter.metadata.json +0 -1
  1291. package/chronos/units/second.js +0 -20
  1292. package/chronos/units/second.js.map +0 -1
  1293. package/chronos/units/timestamp.js +0 -24
  1294. package/chronos/units/timestamp.js.map +0 -1
  1295. package/chronos/units/timezone.js +0 -17
  1296. package/chronos/units/timezone.js.map +0 -1
  1297. package/chronos/units/timezone.metadata.json +0 -1
  1298. package/chronos/units/week-calendar-utils.js +0 -63
  1299. package/chronos/units/week-calendar-utils.js.map +0 -1
  1300. package/chronos/units/week-calendar-utils.metadata.json +0 -1
  1301. package/chronos/units/week-year.js +0 -102
  1302. package/chronos/units/week-year.js.map +0 -1
  1303. package/chronos/units/week-year.metadata.json +0 -1
  1304. package/chronos/units/week.js +0 -56
  1305. package/chronos/units/week.js.map +0 -1
  1306. package/chronos/units/week.metadata.json +0 -1
  1307. package/chronos/units/year.js +0 -55
  1308. package/chronos/units/year.js.map +0 -1
  1309. package/chronos/units/year.metadata.json +0 -1
  1310. package/chronos/utils/abs-ceil.js +0 -4
  1311. package/chronos/utils/abs-ceil.js.map +0 -1
  1312. package/chronos/utils/abs-ceil.metadata.json +0 -1
  1313. package/chronos/utils/abs-round.js +0 -4
  1314. package/chronos/utils/abs-round.js.map +0 -1
  1315. package/chronos/utils/abs-round.metadata.json +0 -1
  1316. package/chronos/utils/compare-arrays.js +0 -15
  1317. package/chronos/utils/compare-arrays.js.map +0 -1
  1318. package/chronos/utils/compare-arrays.metadata.json +0 -1
  1319. package/chronos/utils/date-compare.js +0 -50
  1320. package/chronos/utils/date-compare.js.map +0 -1
  1321. package/chronos/utils/date-compare.metadata.json +0 -1
  1322. package/chronos/utils/date-getters.js +0 -75
  1323. package/chronos/utils/date-getters.js.map +0 -1
  1324. package/chronos/utils/date-getters.metadata.json +0 -1
  1325. package/chronos/utils/date-setters.js +0 -74
  1326. package/chronos/utils/date-setters.js.map +0 -1
  1327. package/chronos/utils/date-setters.metadata.json +0 -1
  1328. package/chronos/utils/defaults.js +0 -11
  1329. package/chronos/utils/defaults.js.map +0 -1
  1330. package/chronos/utils/defaults.metadata.json +0 -1
  1331. package/chronos/utils/start-end-of.js +0 -57
  1332. package/chronos/utils/start-end-of.js.map +0 -1
  1333. package/chronos/utils/start-end-of.metadata.json +0 -1
  1334. package/chronos/utils/type-checks.js +0 -56
  1335. package/chronos/utils/type-checks.js.map +0 -1
  1336. package/chronos/utils/type-checks.metadata.json +0 -1
  1337. package/chronos/utils/zero-fill.js +0 -10
  1338. package/chronos/utils/zero-fill.js.map +0 -1
  1339. package/chronos/utils/zero-fill.metadata.json +0 -1
  1340. package/chronos/utils.js +0 -7
  1341. package/chronos/utils.js.map +0 -1
  1342. package/chronos/utils.metadata.json +0 -1
  1343. package/collapse/collapse.directive.js +0 -98
  1344. package/collapse/collapse.directive.js.map +0 -1
  1345. package/collapse/collapse.directive.metadata.json +0 -1
  1346. package/collapse/collapse.directive.ngfactory.js.map +0 -1
  1347. package/collapse/collapse.module.js +0 -18
  1348. package/collapse/collapse.module.js.map +0 -1
  1349. package/collapse/collapse.module.metadata.json +0 -1
  1350. package/collapse/collapse.module.ngfactory.js.map +0 -1
  1351. package/collapse/index.js +0 -3
  1352. package/collapse/index.js.map +0 -1
  1353. package/collapse/index.metadata.json +0 -1
  1354. package/component-loader/bs-component-ref.class.js +0 -7
  1355. package/component-loader/bs-component-ref.class.js.map +0 -1
  1356. package/component-loader/bs-component-ref.class.metadata.json +0 -1
  1357. package/component-loader/component-loader.class.js +0 -258
  1358. package/component-loader/component-loader.class.js.map +0 -1
  1359. package/component-loader/component-loader.class.metadata.json +0 -1
  1360. package/component-loader/component-loader.factory.js +0 -50
  1361. package/component-loader/component-loader.factory.js.map +0 -1
  1362. package/component-loader/component-loader.factory.metadata.json +0 -1
  1363. package/component-loader/component-loader.factory.ngfactory.js.map +0 -1
  1364. package/component-loader/content-ref.class.js +0 -14
  1365. package/component-loader/content-ref.class.js.map +0 -1
  1366. package/component-loader/content-ref.class.metadata.json +0 -1
  1367. package/component-loader/index.d.ts +0 -3
  1368. package/component-loader/index.js +0 -4
  1369. package/component-loader/index.js.map +0 -1
  1370. package/component-loader/index.metadata.json +0 -1
  1371. package/component-loader/listen-options.model.js +0 -1
  1372. package/component-loader/listen-options.model.js.map +0 -1
  1373. package/component-loader/listen-options.model.metadata.json +0 -1
  1374. package/datepicker/base/bs-datepicker-container.js +0 -40
  1375. package/datepicker/base/bs-datepicker-container.js.map +0 -1
  1376. package/datepicker/base/bs-datepicker-container.metadata.json +0 -1
  1377. package/datepicker/bs-datepicker-input.directive.js +0 -134
  1378. package/datepicker/bs-datepicker-input.directive.js.map +0 -1
  1379. package/datepicker/bs-datepicker-input.directive.metadata.json +0 -1
  1380. package/datepicker/bs-datepicker-input.directive.ngfactory.js.map +0 -1
  1381. package/datepicker/bs-datepicker.component.js +0 -217
  1382. package/datepicker/bs-datepicker.component.js.map +0 -1
  1383. package/datepicker/bs-datepicker.component.metadata.json +0 -1
  1384. package/datepicker/bs-datepicker.component.ngfactory.js.map +0 -1
  1385. package/datepicker/bs-datepicker.config.js +0 -39
  1386. package/datepicker/bs-datepicker.config.js.map +0 -1
  1387. package/datepicker/bs-datepicker.config.metadata.json +0 -1
  1388. package/datepicker/bs-datepicker.config.ngfactory.js.map +0 -1
  1389. package/datepicker/bs-datepicker.module.js +0 -80
  1390. package/datepicker/bs-datepicker.module.js.map +0 -1
  1391. package/datepicker/bs-datepicker.module.metadata.json +0 -1
  1392. package/datepicker/bs-datepicker.module.ngfactory.js.map +0 -1
  1393. package/datepicker/bs-daterangepicker-input.directive.js +0 -150
  1394. package/datepicker/bs-daterangepicker-input.directive.js.map +0 -1
  1395. package/datepicker/bs-daterangepicker-input.directive.metadata.json +0 -1
  1396. package/datepicker/bs-daterangepicker-input.directive.ngfactory.js.map +0 -1
  1397. package/datepicker/bs-daterangepicker.component.js +0 -220
  1398. package/datepicker/bs-daterangepicker.component.js.map +0 -1
  1399. package/datepicker/bs-daterangepicker.component.metadata.json +0 -1
  1400. package/datepicker/bs-daterangepicker.component.ngfactory.js.map +0 -1
  1401. package/datepicker/bs-daterangepicker.config.js +0 -27
  1402. package/datepicker/bs-daterangepicker.config.js.map +0 -1
  1403. package/datepicker/bs-daterangepicker.config.metadata.json +0 -1
  1404. package/datepicker/bs-daterangepicker.config.ngfactory.js.map +0 -1
  1405. package/datepicker/bs-locale.service.js +0 -42
  1406. package/datepicker/bs-locale.service.js.map +0 -1
  1407. package/datepicker/bs-locale.service.metadata.json +0 -1
  1408. package/datepicker/bs-locale.service.ngfactory.js.map +0 -1
  1409. package/datepicker/date-formatter.js +0 -11
  1410. package/datepicker/date-formatter.js.map +0 -1
  1411. package/datepicker/date-formatter.metadata.json +0 -1
  1412. package/datepicker/datepicker-inner.component.js +0 -317
  1413. package/datepicker/datepicker-inner.component.js.map +0 -1
  1414. package/datepicker/datepicker-inner.component.metadata.json +0 -1
  1415. package/datepicker/datepicker-inner.component.ngfactory.js.map +0 -1
  1416. package/datepicker/datepicker.component.js +0 -114
  1417. package/datepicker/datepicker.component.js.map +0 -1
  1418. package/datepicker/datepicker.component.metadata.json +0 -1
  1419. package/datepicker/datepicker.component.ngfactory.js.map +0 -1
  1420. package/datepicker/datepicker.config.js +0 -28
  1421. package/datepicker/datepicker.config.js.map +0 -1
  1422. package/datepicker/datepicker.config.metadata.json +0 -1
  1423. package/datepicker/datepicker.config.ngfactory.js.map +0 -1
  1424. package/datepicker/datepicker.module.js +0 -39
  1425. package/datepicker/datepicker.module.js.map +0 -1
  1426. package/datepicker/datepicker.module.metadata.json +0 -1
  1427. package/datepicker/datepicker.module.ngfactory.js.map +0 -1
  1428. package/datepicker/daypicker.component.js +0 -116
  1429. package/datepicker/daypicker.component.js.map +0 -1
  1430. package/datepicker/daypicker.component.metadata.json +0 -1
  1431. package/datepicker/daypicker.component.ngfactory.js.map +0 -1
  1432. package/datepicker/engine/calc-days-calendar.js +0 -19
  1433. package/datepicker/engine/calc-days-calendar.js.map +0 -1
  1434. package/datepicker/engine/calc-days-calendar.metadata.json +0 -1
  1435. package/datepicker/engine/flag-days-calendar.js +0 -72
  1436. package/datepicker/engine/flag-days-calendar.js.map +0 -1
  1437. package/datepicker/engine/flag-days-calendar.metadata.json +0 -1
  1438. package/datepicker/engine/flag-months-calendar.js +0 -30
  1439. package/datepicker/engine/flag-months-calendar.js.map +0 -1
  1440. package/datepicker/engine/flag-months-calendar.metadata.json +0 -1
  1441. package/datepicker/engine/flag-years-calendar.js +0 -29
  1442. package/datepicker/engine/flag-years-calendar.js.map +0 -1
  1443. package/datepicker/engine/flag-years-calendar.metadata.json +0 -1
  1444. package/datepicker/engine/format-days-calendar.js +0 -34
  1445. package/datepicker/engine/format-days-calendar.js.map +0 -1
  1446. package/datepicker/engine/format-days-calendar.metadata.json +0 -1
  1447. package/datepicker/engine/format-months-calendar.js +0 -22
  1448. package/datepicker/engine/format-months-calendar.js.map +0 -1
  1449. package/datepicker/engine/format-months-calendar.metadata.json +0 -1
  1450. package/datepicker/engine/format-years-calendar.js +0 -30
  1451. package/datepicker/engine/format-years-calendar.js.map +0 -1
  1452. package/datepicker/engine/format-years-calendar.metadata.json +0 -1
  1453. package/datepicker/engine/view-mode.js +0 -4
  1454. package/datepicker/engine/view-mode.js.map +0 -1
  1455. package/datepicker/engine/view-mode.metadata.json +0 -1
  1456. package/datepicker/index.d.ts +0 -13
  1457. package/datepicker/index.js +0 -14
  1458. package/datepicker/index.js.map +0 -1
  1459. package/datepicker/index.metadata.json +0 -1
  1460. package/datepicker/models/index.js +0 -15
  1461. package/datepicker/models/index.js.map +0 -1
  1462. package/datepicker/models/index.metadata.json +0 -1
  1463. package/datepicker/monthpicker.component.js +0 -56
  1464. package/datepicker/monthpicker.component.js.map +0 -1
  1465. package/datepicker/monthpicker.component.metadata.json +0 -1
  1466. package/datepicker/monthpicker.component.ngfactory.js.map +0 -1
  1467. package/datepicker/reducer/_defaults.js +0 -5
  1468. package/datepicker/reducer/_defaults.js.map +0 -1
  1469. package/datepicker/reducer/_defaults.metadata.json +0 -1
  1470. package/datepicker/reducer/bs-datepicker.actions.js +0 -104
  1471. package/datepicker/reducer/bs-datepicker.actions.js.map +0 -1
  1472. package/datepicker/reducer/bs-datepicker.actions.metadata.json +0 -1
  1473. package/datepicker/reducer/bs-datepicker.actions.ngfactory.js.map +0 -1
  1474. package/datepicker/reducer/bs-datepicker.effects.js +0 -179
  1475. package/datepicker/reducer/bs-datepicker.effects.js.map +0 -1
  1476. package/datepicker/reducer/bs-datepicker.effects.metadata.json +0 -1
  1477. package/datepicker/reducer/bs-datepicker.effects.ngfactory.js.map +0 -1
  1478. package/datepicker/reducer/bs-datepicker.reducer.js +0 -261
  1479. package/datepicker/reducer/bs-datepicker.reducer.js.map +0 -1
  1480. package/datepicker/reducer/bs-datepicker.reducer.metadata.json +0 -1
  1481. package/datepicker/reducer/bs-datepicker.state.js +0 -16
  1482. package/datepicker/reducer/bs-datepicker.state.js.map +0 -1
  1483. package/datepicker/reducer/bs-datepicker.state.metadata.json +0 -1
  1484. package/datepicker/reducer/bs-datepicker.store.js +0 -36
  1485. package/datepicker/reducer/bs-datepicker.store.js.map +0 -1
  1486. package/datepicker/reducer/bs-datepicker.store.metadata.json +0 -1
  1487. package/datepicker/reducer/bs-datepicker.store.ngfactory.js.map +0 -1
  1488. package/datepicker/themes/bs/bs-calendar-layout.component.js +0 -14
  1489. package/datepicker/themes/bs/bs-calendar-layout.component.js.map +0 -1
  1490. package/datepicker/themes/bs/bs-calendar-layout.component.metadata.json +0 -1
  1491. package/datepicker/themes/bs/bs-calendar-layout.component.ngfactory.js.map +0 -1
  1492. package/datepicker/themes/bs/bs-current-date-view.component.js +0 -18
  1493. package/datepicker/themes/bs/bs-current-date-view.component.js.map +0 -1
  1494. package/datepicker/themes/bs/bs-current-date-view.component.metadata.json +0 -1
  1495. package/datepicker/themes/bs/bs-current-date-view.component.ngfactory.js.map +0 -1
  1496. package/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -20
  1497. package/datepicker/themes/bs/bs-custom-dates-view.component.js.map +0 -1
  1498. package/datepicker/themes/bs/bs-custom-dates-view.component.metadata.json +0 -1
  1499. package/datepicker/themes/bs/bs-custom-dates-view.component.ngfactory.js.map +0 -1
  1500. package/datepicker/themes/bs/bs-datepicker-container.component.js +0 -87
  1501. package/datepicker/themes/bs/bs-datepicker-container.component.js.map +0 -1
  1502. package/datepicker/themes/bs/bs-datepicker-container.component.metadata.json +0 -1
  1503. package/datepicker/themes/bs/bs-datepicker-container.component.ngfactory.js.map +0 -1
  1504. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -28
  1505. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js.map +0 -1
  1506. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +0 -1
  1507. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.ngfactory.js.map +0 -1
  1508. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -30
  1509. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js.map +0 -1
  1510. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.metadata.json +0 -1
  1511. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.ngfactory.js.map +0 -1
  1512. package/datepicker/themes/bs/bs-datepicker-view.html +0 -61
  1513. package/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -105
  1514. package/datepicker/themes/bs/bs-daterangepicker-container.component.js.map +0 -1
  1515. package/datepicker/themes/bs/bs-daterangepicker-container.component.metadata.json +0 -1
  1516. package/datepicker/themes/bs/bs-daterangepicker-container.component.ngfactory.js.map +0 -1
  1517. package/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -42
  1518. package/datepicker/themes/bs/bs-days-calendar-view.component.js.map +0 -1
  1519. package/datepicker/themes/bs/bs-days-calendar-view.component.metadata.json +0 -1
  1520. package/datepicker/themes/bs/bs-days-calendar-view.component.ngfactory.js.map +0 -1
  1521. package/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -40
  1522. package/datepicker/themes/bs/bs-months-calendar-view.component.js.map +0 -1
  1523. package/datepicker/themes/bs/bs-months-calendar-view.component.metadata.json +0 -1
  1524. package/datepicker/themes/bs/bs-months-calendar-view.component.ngfactory.js.map +0 -1
  1525. package/datepicker/themes/bs/bs-timepicker-view.component.js +0 -17
  1526. package/datepicker/themes/bs/bs-timepicker-view.component.js.map +0 -1
  1527. package/datepicker/themes/bs/bs-timepicker-view.component.metadata.json +0 -1
  1528. package/datepicker/themes/bs/bs-timepicker-view.component.ngfactory.js.map +0 -1
  1529. package/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -41
  1530. package/datepicker/themes/bs/bs-years-calendar-view.component.js.map +0 -1
  1531. package/datepicker/themes/bs/bs-years-calendar-view.component.metadata.json +0 -1
  1532. package/datepicker/themes/bs/bs-years-calendar-view.component.ngfactory.js.map +0 -1
  1533. package/datepicker/utils/bs-calendar-utils.js +0 -30
  1534. package/datepicker/utils/bs-calendar-utils.js.map +0 -1
  1535. package/datepicker/utils/bs-calendar-utils.metadata.json +0 -1
  1536. package/datepicker/utils/matrix-utils.js +0 -14
  1537. package/datepicker/utils/matrix-utils.js.map +0 -1
  1538. package/datepicker/utils/matrix-utils.metadata.json +0 -1
  1539. package/datepicker/yearpicker.component.js +0 -57
  1540. package/datepicker/yearpicker.component.js.map +0 -1
  1541. package/datepicker/yearpicker.component.metadata.json +0 -1
  1542. package/datepicker/yearpicker.component.ngfactory.js.map +0 -1
  1543. package/dropdown/bs-dropdown-container.component.js +0 -59
  1544. package/dropdown/bs-dropdown-container.component.js.map +0 -1
  1545. package/dropdown/bs-dropdown-container.component.metadata.json +0 -1
  1546. package/dropdown/bs-dropdown-container.component.ngfactory.js.map +0 -1
  1547. package/dropdown/bs-dropdown-menu.directive.js +0 -25
  1548. package/dropdown/bs-dropdown-menu.directive.js.map +0 -1
  1549. package/dropdown/bs-dropdown-menu.directive.metadata.json +0 -1
  1550. package/dropdown/bs-dropdown-menu.directive.ngfactory.js.map +0 -1
  1551. package/dropdown/bs-dropdown-toggle.directive.js +0 -63
  1552. package/dropdown/bs-dropdown-toggle.directive.js.map +0 -1
  1553. package/dropdown/bs-dropdown-toggle.directive.metadata.json +0 -1
  1554. package/dropdown/bs-dropdown-toggle.directive.ngfactory.js.map +0 -1
  1555. package/dropdown/bs-dropdown.config.js +0 -14
  1556. package/dropdown/bs-dropdown.config.js.map +0 -1
  1557. package/dropdown/bs-dropdown.config.metadata.json +0 -1
  1558. package/dropdown/bs-dropdown.config.ngfactory.js.map +0 -1
  1559. package/dropdown/bs-dropdown.directive.js +0 -300
  1560. package/dropdown/bs-dropdown.directive.js.map +0 -1
  1561. package/dropdown/bs-dropdown.directive.metadata.json +0 -1
  1562. package/dropdown/bs-dropdown.directive.ngfactory.js.map +0 -1
  1563. package/dropdown/bs-dropdown.module.js +0 -46
  1564. package/dropdown/bs-dropdown.module.js.map +0 -1
  1565. package/dropdown/bs-dropdown.module.metadata.json +0 -1
  1566. package/dropdown/bs-dropdown.module.ngfactory.js.map +0 -1
  1567. package/dropdown/bs-dropdown.state.js +0 -21
  1568. package/dropdown/bs-dropdown.state.js.map +0 -1
  1569. package/dropdown/bs-dropdown.state.metadata.json +0 -1
  1570. package/dropdown/bs-dropdown.state.ngfactory.js.map +0 -1
  1571. package/dropdown/index.js +0 -8
  1572. package/dropdown/index.js.map +0 -1
  1573. package/dropdown/index.metadata.json +0 -1
  1574. package/index.d.ts +0 -24
  1575. package/index.js +0 -25
  1576. package/index.js.map +0 -1
  1577. package/index.metadata.json +0 -1
  1578. package/locale.d.ts +0 -30
  1579. package/locale.js +0 -31
  1580. package/locale.js.map +0 -1
  1581. package/locale.metadata.json +0 -1
  1582. package/mini-ngrx/LICENCE +0 -21
  1583. package/mini-ngrx/index.js +0 -3
  1584. package/mini-ngrx/index.js.map +0 -1
  1585. package/mini-ngrx/index.metadata.json +0 -1
  1586. package/mini-ngrx/state.class.js +0 -30
  1587. package/mini-ngrx/state.class.js.map +0 -1
  1588. package/mini-ngrx/state.class.metadata.json +0 -1
  1589. package/mini-ngrx/store.class.js +0 -46
  1590. package/mini-ngrx/store.class.js.map +0 -1
  1591. package/mini-ngrx/store.class.metadata.json +0 -1
  1592. package/modal/bs-modal-ref.service.js +0 -15
  1593. package/modal/bs-modal-ref.service.js.map +0 -1
  1594. package/modal/bs-modal-ref.service.metadata.json +0 -1
  1595. package/modal/bs-modal-ref.service.ngfactory.js.map +0 -1
  1596. package/modal/bs-modal.service.js +0 -174
  1597. package/modal/bs-modal.service.js.map +0 -1
  1598. package/modal/bs-modal.service.metadata.json +0 -1
  1599. package/modal/bs-modal.service.ngfactory.js.map +0 -1
  1600. package/modal/index.js +0 -9
  1601. package/modal/index.js.map +0 -1
  1602. package/modal/index.metadata.json +0 -1
  1603. package/modal/modal-backdrop.component.js +0 -69
  1604. package/modal/modal-backdrop.component.js.map +0 -1
  1605. package/modal/modal-backdrop.component.metadata.json +0 -1
  1606. package/modal/modal-backdrop.component.ngfactory.js.map +0 -1
  1607. package/modal/modal-backdrop.options.js +0 -9
  1608. package/modal/modal-backdrop.options.js.map +0 -1
  1609. package/modal/modal-backdrop.options.metadata.json +0 -1
  1610. package/modal/modal-container.component.js +0 -103
  1611. package/modal/modal-container.component.js.map +0 -1
  1612. package/modal/modal-container.component.metadata.json +0 -1
  1613. package/modal/modal-container.component.ngfactory.js.map +0 -1
  1614. package/modal/modal-options.class.js +0 -44
  1615. package/modal/modal-options.class.js.map +0 -1
  1616. package/modal/modal-options.class.metadata.json +0 -1
  1617. package/modal/modal-options.class.ngfactory.js.map +0 -1
  1618. package/modal/modal.directive.js +0 -436
  1619. package/modal/modal.directive.js.map +0 -1
  1620. package/modal/modal.directive.metadata.json +0 -1
  1621. package/modal/modal.directive.ngfactory.js.map +0 -1
  1622. package/modal/modal.module.js +0 -31
  1623. package/modal/modal.module.js.map +0 -1
  1624. package/modal/modal.module.metadata.json +0 -1
  1625. package/modal/modal.module.ngfactory.js.map +0 -1
  1626. package/pagination/index.js +0 -5
  1627. package/pagination/index.js.map +0 -1
  1628. package/pagination/index.metadata.json +0 -1
  1629. package/pagination/pager.component.html +0 -12
  1630. package/pagination/pager.component.js +0 -249
  1631. package/pagination/pager.component.js.map +0 -1
  1632. package/pagination/pager.component.metadata.json +0 -1
  1633. package/pagination/pager.component.ngfactory.js.map +0 -1
  1634. package/pagination/pagination.component.html +0 -35
  1635. package/pagination/pagination.component.js +0 -249
  1636. package/pagination/pagination.component.js.map +0 -1
  1637. package/pagination/pagination.component.metadata.json +0 -1
  1638. package/pagination/pagination.component.ngfactory.js.map +0 -1
  1639. package/pagination/pagination.config.js +0 -31
  1640. package/pagination/pagination.config.js.map +0 -1
  1641. package/pagination/pagination.config.metadata.json +0 -1
  1642. package/pagination/pagination.config.ngfactory.js.map +0 -1
  1643. package/pagination/pagination.module.js +0 -22
  1644. package/pagination/pagination.module.js.map +0 -1
  1645. package/pagination/pagination.module.metadata.json +0 -1
  1646. package/pagination/pagination.module.ngfactory.js.map +0 -1
  1647. package/popover/index.js +0 -5
  1648. package/popover/index.js.map +0 -1
  1649. package/popover/index.metadata.json +0 -1
  1650. package/popover/popover-container.component.html +0 -5
  1651. package/popover/popover-container.component.js +0 -43
  1652. package/popover/popover-container.component.js.map +0 -1
  1653. package/popover/popover-container.component.metadata.json +0 -1
  1654. package/popover/popover-container.component.ngfactory.js.map +0 -1
  1655. package/popover/popover.config.js +0 -27
  1656. package/popover/popover.config.js.map +0 -1
  1657. package/popover/popover.config.metadata.json +0 -1
  1658. package/popover/popover.config.ngfactory.js.map +0 -1
  1659. package/popover/popover.directive.js +0 -165
  1660. package/popover/popover.directive.js.map +0 -1
  1661. package/popover/popover.directive.metadata.json +0 -1
  1662. package/popover/popover.directive.ngfactory.js.map +0 -1
  1663. package/popover/popover.module.js +0 -28
  1664. package/popover/popover.module.js.map +0 -1
  1665. package/popover/popover.module.metadata.json +0 -1
  1666. package/popover/popover.module.ngfactory.js.map +0 -1
  1667. package/positioning/index.js +0 -3
  1668. package/positioning/index.js.map +0 -1
  1669. package/positioning/index.metadata.json +0 -1
  1670. package/positioning/ng-positioning.js +0 -216
  1671. package/positioning/ng-positioning.js.map +0 -1
  1672. package/positioning/ng-positioning.metadata.json +0 -1
  1673. package/positioning/positioning.service.js +0 -26
  1674. package/positioning/positioning.service.js.map +0 -1
  1675. package/positioning/positioning.service.metadata.json +0 -1
  1676. package/positioning/positioning.service.ngfactory.js.map +0 -1
  1677. package/progressbar/bar.component.html +0 -1
  1678. package/progressbar/bar.component.js +0 -87
  1679. package/progressbar/bar.component.js.map +0 -1
  1680. package/progressbar/bar.component.metadata.json +0 -1
  1681. package/progressbar/bar.component.ngfactory.js.map +0 -1
  1682. package/progressbar/index.js +0 -5
  1683. package/progressbar/index.js.map +0 -1
  1684. package/progressbar/index.metadata.json +0 -1
  1685. package/progressbar/progressbar.component.html +0 -6
  1686. package/progressbar/progressbar.component.js +0 -76
  1687. package/progressbar/progressbar.component.js.map +0 -1
  1688. package/progressbar/progressbar.component.metadata.json +0 -1
  1689. package/progressbar/progressbar.component.ngfactory.js.map +0 -1
  1690. package/progressbar/progressbar.config.js +0 -15
  1691. package/progressbar/progressbar.config.js.map +0 -1
  1692. package/progressbar/progressbar.config.metadata.json +0 -1
  1693. package/progressbar/progressbar.config.ngfactory.js.map +0 -1
  1694. package/progressbar/progressbar.module.js +0 -22
  1695. package/progressbar/progressbar.module.js.map +0 -1
  1696. package/progressbar/progressbar.module.metadata.json +0 -1
  1697. package/progressbar/progressbar.module.ngfactory.js.map +0 -1
  1698. package/rating/index.js +0 -3
  1699. package/rating/index.js.map +0 -1
  1700. package/rating/index.metadata.json +0 -1
  1701. package/rating/rating.component.html +0 -18
  1702. package/rating/rating.component.js +0 -111
  1703. package/rating/rating.component.js.map +0 -1
  1704. package/rating/rating.component.metadata.json +0 -1
  1705. package/rating/rating.component.ngfactory.js.map +0 -1
  1706. package/rating/rating.module.js +0 -23
  1707. package/rating/rating.module.js.map +0 -1
  1708. package/rating/rating.module.metadata.json +0 -1
  1709. package/rating/rating.module.ngfactory.js.map +0 -1
  1710. package/sortable/draggable-item.js +0 -1
  1711. package/sortable/draggable-item.js.map +0 -1
  1712. package/sortable/draggable-item.metadata.json +0 -1
  1713. package/sortable/draggable-item.service.js +0 -34
  1714. package/sortable/draggable-item.service.js.map +0 -1
  1715. package/sortable/draggable-item.service.metadata.json +0 -1
  1716. package/sortable/draggable-item.service.ngfactory.js.map +0 -1
  1717. package/sortable/index.js +0 -4
  1718. package/sortable/index.js.map +0 -1
  1719. package/sortable/index.metadata.json +0 -1
  1720. package/sortable/sortable.component.js +0 -186
  1721. package/sortable/sortable.component.js.map +0 -1
  1722. package/sortable/sortable.component.metadata.json +0 -1
  1723. package/sortable/sortable.component.ngfactory.js.map +0 -1
  1724. package/sortable/sortable.module.js +0 -21
  1725. package/sortable/sortable.module.js.map +0 -1
  1726. package/sortable/sortable.module.metadata.json +0 -1
  1727. package/sortable/sortable.module.ngfactory.js.map +0 -1
  1728. package/spec/ng-bootstrap/license +0 -23
  1729. package/tabs/index.js +0 -7
  1730. package/tabs/index.js.map +0 -1
  1731. package/tabs/index.metadata.json +0 -1
  1732. package/tabs/ng-transclude.directive.js +0 -34
  1733. package/tabs/ng-transclude.directive.js.map +0 -1
  1734. package/tabs/ng-transclude.directive.metadata.json +0 -1
  1735. package/tabs/ng-transclude.directive.ngfactory.js.map +0 -1
  1736. package/tabs/tab-heading.directive.js +0 -19
  1737. package/tabs/tab-heading.directive.js.map +0 -1
  1738. package/tabs/tab-heading.directive.metadata.json +0 -1
  1739. package/tabs/tab-heading.directive.ngfactory.js.map +0 -1
  1740. package/tabs/tab.directive.js +0 -97
  1741. package/tabs/tab.directive.js.map +0 -1
  1742. package/tabs/tab.directive.metadata.json +0 -1
  1743. package/tabs/tab.directive.ngfactory.js.map +0 -1
  1744. package/tabs/tabs.module.js +0 -37
  1745. package/tabs/tabs.module.js.map +0 -1
  1746. package/tabs/tabs.module.metadata.json +0 -1
  1747. package/tabs/tabs.module.ngfactory.js.map +0 -1
  1748. package/tabs/tabset.component.html +0 -15
  1749. package/tabs/tabset.component.js +0 -134
  1750. package/tabs/tabset.component.js.map +0 -1
  1751. package/tabs/tabset.component.metadata.json +0 -1
  1752. package/tabs/tabset.component.ngfactory.js.map +0 -1
  1753. package/tabs/tabset.config.js +0 -13
  1754. package/tabs/tabset.config.js.map +0 -1
  1755. package/tabs/tabset.config.metadata.json +0 -1
  1756. package/tabs/tabset.config.ngfactory.js.map +0 -1
  1757. package/timepicker/index.js +0 -6
  1758. package/timepicker/index.js.map +0 -1
  1759. package/timepicker/index.metadata.json +0 -1
  1760. package/timepicker/reducer/timepicker.actions.js +0 -53
  1761. package/timepicker/reducer/timepicker.actions.js.map +0 -1
  1762. package/timepicker/reducer/timepicker.actions.metadata.json +0 -1
  1763. package/timepicker/reducer/timepicker.actions.ngfactory.js.map +0 -1
  1764. package/timepicker/reducer/timepicker.reducer.js +0 -90
  1765. package/timepicker/reducer/timepicker.reducer.js.map +0 -1
  1766. package/timepicker/reducer/timepicker.reducer.metadata.json +0 -1
  1767. package/timepicker/reducer/timepicker.store.js +0 -34
  1768. package/timepicker/reducer/timepicker.store.js.map +0 -1
  1769. package/timepicker/reducer/timepicker.store.metadata.json +0 -1
  1770. package/timepicker/reducer/timepicker.store.ngfactory.js.map +0 -1
  1771. package/timepicker/timepicker-controls.util.js +0 -122
  1772. package/timepicker/timepicker-controls.util.js.map +0 -1
  1773. package/timepicker/timepicker-controls.util.metadata.json +0 -1
  1774. package/timepicker/timepicker.component.html +0 -122
  1775. package/timepicker/timepicker.component.js +0 -288
  1776. package/timepicker/timepicker.component.js.map +0 -1
  1777. package/timepicker/timepicker.component.metadata.json +0 -1
  1778. package/timepicker/timepicker.component.ngfactory.js.map +0 -1
  1779. package/timepicker/timepicker.config.js +0 -36
  1780. package/timepicker/timepicker.config.js.map +0 -1
  1781. package/timepicker/timepicker.config.metadata.json +0 -1
  1782. package/timepicker/timepicker.config.ngfactory.js.map +0 -1
  1783. package/timepicker/timepicker.models.js +0 -1
  1784. package/timepicker/timepicker.models.js.map +0 -1
  1785. package/timepicker/timepicker.models.metadata.json +0 -1
  1786. package/timepicker/timepicker.module.js +0 -26
  1787. package/timepicker/timepicker.module.js.map +0 -1
  1788. package/timepicker/timepicker.module.metadata.json +0 -1
  1789. package/timepicker/timepicker.module.ngfactory.js.map +0 -1
  1790. package/timepicker/timepicker.utils.js +0 -141
  1791. package/timepicker/timepicker.utils.js.map +0 -1
  1792. package/timepicker/timepicker.utils.metadata.json +0 -1
  1793. package/tooltip/index.js +0 -5
  1794. package/tooltip/index.js.map +0 -1
  1795. package/tooltip/index.metadata.json +0 -1
  1796. package/tooltip/tooltip-container.component.js +0 -50
  1797. package/tooltip/tooltip-container.component.js.map +0 -1
  1798. package/tooltip/tooltip-container.component.metadata.json +0 -1
  1799. package/tooltip/tooltip-container.component.ngfactory.js.map +0 -1
  1800. package/tooltip/tooltip.config.js +0 -16
  1801. package/tooltip/tooltip.config.js.map +0 -1
  1802. package/tooltip/tooltip.config.metadata.json +0 -1
  1803. package/tooltip/tooltip.config.ngfactory.js.map +0 -1
  1804. package/tooltip/tooltip.directive.js +0 -315
  1805. package/tooltip/tooltip.directive.js.map +0 -1
  1806. package/tooltip/tooltip.directive.metadata.json +0 -1
  1807. package/tooltip/tooltip.directive.ngfactory.js.map +0 -1
  1808. package/tooltip/tooltip.module.js +0 -28
  1809. package/tooltip/tooltip.module.js.map +0 -1
  1810. package/tooltip/tooltip.module.metadata.json +0 -1
  1811. package/tooltip/tooltip.module.ngfactory.js.map +0 -1
  1812. package/tsconfig.spec.json +0 -41
  1813. package/typeahead/index.d.ts +0 -7
  1814. package/typeahead/index.js +0 -8
  1815. package/typeahead/index.js.map +0 -1
  1816. package/typeahead/index.metadata.json +0 -1
  1817. package/typeahead/latin-map.js +0 -828
  1818. package/typeahead/latin-map.js.map +0 -1
  1819. package/typeahead/latin-map.metadata.json +0 -1
  1820. package/typeahead/typeahead-container.component.html +0 -42
  1821. package/typeahead/typeahead-container.component.js +0 -240
  1822. package/typeahead/typeahead-container.component.js.map +0 -1
  1823. package/typeahead/typeahead-container.component.metadata.json +0 -1
  1824. package/typeahead/typeahead-container.component.ngfactory.js.map +0 -1
  1825. package/typeahead/typeahead-match.class.js +0 -18
  1826. package/typeahead/typeahead-match.class.js.map +0 -1
  1827. package/typeahead/typeahead-match.class.metadata.json +0 -1
  1828. package/typeahead/typeahead-options.class.js +0 -8
  1829. package/typeahead/typeahead-options.class.js.map +0 -1
  1830. package/typeahead/typeahead-options.class.metadata.json +0 -1
  1831. package/typeahead/typeahead-utils.js +0 -60
  1832. package/typeahead/typeahead-utils.js.map +0 -1
  1833. package/typeahead/typeahead-utils.metadata.json +0 -1
  1834. package/typeahead/typeahead.directive.js +0 -383
  1835. package/typeahead/typeahead.directive.js.map +0 -1
  1836. package/typeahead/typeahead.directive.metadata.json +0 -1
  1837. package/typeahead/typeahead.directive.ngfactory.js.map +0 -1
  1838. package/typeahead/typeahead.module.js +0 -27
  1839. package/typeahead/typeahead.module.js.map +0 -1
  1840. package/typeahead/typeahead.module.metadata.json +0 -1
  1841. package/typeahead/typeahead.module.ngfactory.js.map +0 -1
  1842. package/utils/decorators.js +0 -21
  1843. package/utils/decorators.js.map +0 -1
  1844. package/utils/decorators.metadata.json +0 -1
  1845. package/utils/facade/browser.js +0 -25
  1846. package/utils/facade/browser.js.map +0 -1
  1847. package/utils/facade/browser.metadata.json +0 -1
  1848. package/utils/index.d.ts +0 -6
  1849. package/utils/index.js +0 -7
  1850. package/utils/index.js.map +0 -1
  1851. package/utils/index.metadata.json +0 -1
  1852. package/utils/linked-list.class.js +0 -244
  1853. package/utils/linked-list.class.js.map +0 -1
  1854. package/utils/linked-list.class.metadata.json +0 -1
  1855. package/utils/theme-provider.js +0 -35
  1856. package/utils/theme-provider.js.map +0 -1
  1857. package/utils/theme-provider.metadata.json +0 -1
  1858. package/utils/trigger.class.js +0 -16
  1859. package/utils/trigger.class.js.map +0 -1
  1860. package/utils/trigger.class.metadata.json +0 -1
  1861. package/utils/triggers.js +0 -94
  1862. package/utils/triggers.js.map +0 -1
  1863. package/utils/triggers.metadata.json +0 -1
  1864. package/utils/utils.class.js +0 -25
  1865. package/utils/utils.class.js.map +0 -1
  1866. package/utils/utils.class.metadata.json +0 -1
  1867. package/utils/warn-once.js +0 -12
  1868. package/utils/warn-once.js.map +0 -1
  1869. package/utils/warn-once.metadata.json +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ng://ngx-bootstrap/datepicker/bs-datepicker.config.ts","node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/datepicker/base/bs-datepicker-container.ts","ng://ngx-bootstrap/datepicker/reducer/bs-datepicker.actions.ts","ng://ngx-bootstrap/datepicker/bs-locale.service.ts","ng://ngx-bootstrap/datepicker/reducer/bs-datepicker.effects.ts","ng://ngx-bootstrap/datepicker/reducer/bs-datepicker.state.ts","ng://ngx-bootstrap/datepicker/reducer/_defaults.ts","ng://ngx-bootstrap/datepicker/utils/bs-calendar-utils.ts","ng://ngx-bootstrap/datepicker/utils/matrix-utils.ts","ng://ngx-bootstrap/datepicker/engine/calc-days-calendar.ts","ng://ngx-bootstrap/datepicker/engine/format-days-calendar.ts","ng://ngx-bootstrap/datepicker/engine/view-mode.ts","ng://ngx-bootstrap/datepicker/engine/format-months-calendar.ts","ng://ngx-bootstrap/datepicker/engine/format-years-calendar.ts","ng://ngx-bootstrap/datepicker/reducer/bs-datepicker.reducer.ts","ng://ngx-bootstrap/datepicker/engine/flag-days-calendar.ts","ng://ngx-bootstrap/datepicker/engine/flag-months-calendar.ts","ng://ngx-bootstrap/datepicker/engine/flag-years-calendar.ts","ng://ngx-bootstrap/datepicker/reducer/bs-datepicker.store.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-datepicker-container.component.ts","ng://ngx-bootstrap/datepicker/bs-datepicker.component.ts","ng://ngx-bootstrap/datepicker/bs-datepicker-input.directive.ts","ng://ngx-bootstrap/datepicker/bs-daterangepicker.config.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-daterangepicker-container.component.ts","ng://ngx-bootstrap/datepicker/bs-daterangepicker.component.ts","ng://ngx-bootstrap/datepicker/bs-daterangepicker-input.directive.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-calendar-layout.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-current-date-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-custom-dates-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-datepicker-day-decorator.directive.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-datepicker-navigation-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-days-calendar-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-months-calendar-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-timepicker-view.component.ts","ng://ngx-bootstrap/datepicker/themes/bs/bs-years-calendar-view.component.ts","ng://ngx-bootstrap/datepicker/bs-datepicker.module.ts","ng://ngx-bootstrap/datepicker/date-formatter.ts","ng://ngx-bootstrap/datepicker/datepicker-inner.component.ts","ng://ngx-bootstrap/datepicker/datepicker.config.ts","ng://ngx-bootstrap/datepicker/datepicker.component.ts","ng://ngx-bootstrap/datepicker/daypicker.component.ts","ng://ngx-bootstrap/datepicker/monthpicker.component.ts","ng://ngx-bootstrap/datepicker/yearpicker.component.ts","ng://ngx-bootstrap/datepicker/datepicker.module.ts"],"names":["Injectable","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","__read","n","r","e","ar","push","error","__spread","arguments","concat","BsDatepickerAbstractComponent","defineProperty","_effects","setMinDate","setMaxDate","setDaysDisabled","setDisabled","setViewMode","event","navigateTo","dayHoverHandler","monthHoverHandler","yearHoverHandler","daySelectHandler","day","monthSelectHandler","yearSelectHandler","_stopPropagation","stopPropagation","BsDatepickerActions","calculate","type","CALCULATE","format","FORMAT","flag","FLAG","select","date","SELECT","payload","changeViewMode","CHANGE_VIEWMODE","NAVIGATE_TO","navigateStep","step","NAVIGATE_OFFSET","setOptions","options","SET_OPTIONS","selectRange","SELECT_RANGE","hoverDay","HOVER","isHovered","cell","minDate","SET_MIN_DATE","maxDate","SET_MAX_DATE","daysDisabled","days","SET_DAYSDISABLED","isDisabled","SET_IS_DISABLED","setLocale","locale","SET_LOCALE","BsLocaleService","BehaviorSubject","_defaultLocale","_locale","asObservable","_localeChange","getValue","use","currentLocale","BsDatepickerEffects","_actions","_localeService","init","_bsDatepickerStore","_store","setValue","dispatch","setRangeValue","_config","_options","assign","setBindings","container","daysCalendar","state","flaggedMonths","pipe","filter","months","monthsCalendar","flaggedMonthsCalendar","yearsCalendar","yearsCalendarFlagged","years","viewMode","view","mode","showWeekNumbers","map","setEventHandlers","_this","_cell","isOtherMonth","unit","month","getMonth","year","getFullYear","registerDatepickerSideEffects","_subs","subscribe","monthsModel","monthModel","formattedMonths","selectedDate","selectedRange","yearsCalendarModel","hoveredDate","localeChange","destroy","_a","tslib_1.__values","_b","unsubscribe","_initialView","Date","initialDatepickerState","BsDatepickerConfig","monthViewOptions","width","height","isMonthDisabled","min","max","minBound","isBefore","endOf","maxBound","isAfter","startOf","isYearDisabled","createMatrix","fn","prevValue","initialDate","matrix","j","shiftDate","shift","calcDaysCalendar","startingDate","firstDay","getFirstDayOfMonth","getStartingDayOfCalendar","isFirstDayOfWeek","firstDayOfWeek","offset","calculateDateOffset","weekday","startingDayOffset","getDay","daysMatrix","formatDaysCalendar","formatOptions","monthIndex","monthTitle","formatDate","yearTitle","weekNumbers","getWeekNumbers","weekdays","getShiftedWeekdays","getLocale","weekdaysShort","slice","weeks","week","weekIndex","dayIndex","label","dayLabel","canSwitchMode","minMode","formatMonthsCalendar","viewDate","monthLabel","yearsPerCalendar","initialShift","Math","floor","formatYearsCalendar","yearsMatrix","width$1","height$1","shift$1","yearLabel","formatYearRangeTitle","from","to","bsDatepickerReducer","action","calculateReducer","displayMonths","calendarIndex","getFormatOptions","formatReducer","flagReducer","formattedMonth","flagDaysCalendar","forEach","isSameMonth","isSameDay","isSelectionStart","isSelectionEnd","isSelected","isInRange","isDateInRange","isDisabledDay","currentDate","isToday","newDay","hideLeftArrow","hideRightArrow","disableLeftArrow","disableRightArrow","flagMonthsCalendar","monthCalendar","rowIndex","hoveredMonth","newMonth","yearIndex","flagYearsCalendar","isSameYear","hoveredYear","newState","setFullDate","getViewDate","isDateValid","isArray","_date","BsDatepickerStore","_dispatcher","MiniState","_super","tslib_1.__extends","MiniStore","BsDatepickerContainerComponent","EventEmitter","ngOnInit","isOtherMonthsActive","selectFromOtherMonth","containerClass","valueChange","emit","ngOnDestroy","Component","args","selector","providers","template","host","(click)","style","role","aria-label","BsDatepickerDirective","_elementRef","_renderer","_viewContainerRef","cis","_datepicker","createLoader","onShown","onHidden","isShown","show","hide","_bsValue","bsValueChange","listen","outsideClick","outsideEsc","triggers","setConfig","ngOnChanges","changes","_datepickerRef","instance","provide","useValue","attach","position","attachment","placement","bsValue","isOpen","toggle","bsConfig","dispose","Directive","exportAs","ElementRef","Renderer2","ViewContainerRef","ComponentLoaderFactory","Input","Output","BS_DATEPICKER_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","useExisting","forwardRef","BsDatepickerInputDirective","multi","BS_DATEPICKER_VALIDATOR","NG_VALIDATORS","_picker","_elRef","changeDetection","Function","_setInputValue","_value","_onChange","_onTouched","markForCheck","dateInputFormat","setProperty","nativeElement","onChange","writeValue","validate","c","undefined","isDate","bsDate","invalid","registerOnValidatorChange","_validatorChange","_localeKey","Error","parseDate","setDisabledState","setAttribute","removeAttribute","registerOnChange","registerOnTouched","onBlur","selectRootElement","blur","(change)","(keyup.esc)","(blur)","decorators","Host","ChangeDetectorRef","BsDaterangepickerContainerComponent","_rangeStack","BsDaterangepickerDirective","range","BsDaterangepickerConfig","BS_DATERANGEPICKER_VALUE_ACCESSOR","BsDaterangepickerInputDirective","BS_DATERANGEPICKER_VALIDATOR","start","rangeInputFormat","end","rangeSeparator","_isFirstDateValid","_isSecondDateValid","_input","split","_val","isNaN","valueOf","BsCalendarLayoutComponent","BsCurrentDateViewComponent","BsCustomDatesViewComponent","ChangeDetectionStrategy","OnPush","BsDatepickerDayDecoratorComponent","customTodayClass","addClass","[class.disabled]","[class.is-highlighted]","[class.is-other-month]","[class.is-active-other-month]","[class.in-range]","[class.select-start]","[class.select-end]","[class.selected]","BsDatepickerNavigationViewComponent","navTo","down","onNavigate","BsNavigationDirection","DOWN","UP","onViewMode","BsDaysCalendarViewComponent","selectDay","onSelect","isOtherMonthHovered","onHover","BsMonthCalendarViewComponent","viewMonth","hoverMonth","BsTimepickerViewComponent","BsYearsCalendarViewComponent","viewYear","hoverYear","_exports","BsDatepickerModule","forRoot","ngModule","PositioningService","NgModule","imports","CommonModule","declarations","entryComponents","exports","DateFormatter","DatePickerInnerComponent","_activeDate","uniqueId","random","initDate","activeDate","update","refreshView","checkIfActiveDateGotUpdated","firstChange","previousValue","getTime","currentValue","activeDateChange","setCompareHandler","handler","compareHandlerDay","compareHandlerMonth","compareHandlerYear","compare","date1","date2","datepickerMode","setRefreshViewHandler","refreshViewHandlerDay","refreshViewHandlerMonth","refreshViewHandlerYear","dateFilter","dateFormatter","isActive","dateObject","activeDateId","uid","createDateObject","getDate","fixTimeZone","selected","disabled","current","customClass","getCustomClassForDate","arr","size","arrays","splice","hours","getHours","isManual","selectionDone","modes","indexOf","move","direction","expectedStep","stepDay","stepMonth","stepYear","toggleMode","_direction","maxMode","customClassObject","find","clazz","compareDateDisabled","date1Disabled","isDateDisabled","dateDisabled","disabledDate","dayDisabled","DatepickerConfig","DATEPICKER_CONTROL_VALUE_ACCESSOR","DatePickerComponent","config","configureOptions","_now","onUpdate","onSelectionDone","onActiveDateChange","_datePicker","onTouched","ViewChild","DayPickerComponent","datePicker","isBs3","self","firstDayOfMonth","difference","startingDay","numDisplayedFromPreviousMonth","firstDate","setDate","_days","getDates","_dateObject","formatDay","secondary","labels","abbr","formatDayHeader","full","title","formatDayTitle","rows","showWeeks","thursdayIndex","numWeeks","curWeek","getISO8601WeekNumber","d1","d2","startDate","dates","checkDate","time","setMonth","round","MonthPickerComponent","formatMonth","formatMonthTitle","monthColLimit","YearPickerComponent","yearRange","getStartingYear","formatYear","join","yearColLimit","DatepickerModule","FormsModule"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n DatepickerRenderOptions,\n BsDatepickerViewMode\n} from './models';\n\n\n/**\n * For date range picker there are `BsDaterangepickerConfig` which inherits all properties,\n * except `displayMonths`, for range picker it default to `2`\n */\n@Injectable()\nexport class BsDatepickerConfig implements DatepickerRenderOptions {\n value?: Date | Date[];\n isDisabled?: boolean;\n /**\n * Default min date for all date/range pickers\n */\n minDate?: Date;\n /**\n * Default max date for all date/range pickers\n */\n maxDate?: Date;\n\n daysDisabled?: number[];\n /**\n * Makes dates from other months active\n */\n selectFromOtherMonth?: boolean;\n\n /**\n * Add class to current day\n */\n customTodayClass?: string;\n\n /**\n * Defaut mode for all date pickers\n */\n minMode?: BsDatepickerViewMode;\n\n /** CSS class which will be applied to datepicker container,\n * usually used to set color theme\n */\n containerClass = 'theme-green';\n\n // DatepickerRenderOptions\n displayMonths = 1;\n /**\n * Allows to hide week numbers in datepicker\n */\n showWeekNumbers = true;\n\n dateInputFormat = 'L';\n // range picker\n rangeSeparator = ' - ';\n /**\n * Date format for date range input field\n */\n rangeInputFormat = 'L';\n\n // DatepickerFormatOptions\n monthTitle = 'MMMM';\n yearTitle = 'YYYY';\n dayLabel = 'D';\n monthLabel = 'MMMM';\n yearLabel = 'YYYY';\n weekNumbers = 'w';\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","// datepicker container component\n/* tslint:disable:no-empty */\nimport { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component';\nimport { BsDatepickerEffects } from '../reducer/bs-datepicker.effects';\nimport { Observable } from 'rxjs';\nimport {\n BsDatepickerViewMode,\n BsNavigationEvent,\n CalendarCellViewModel,\n CellHoverEvent,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel,\n MonthsCalendarViewModel,\n YearsCalendarViewModel\n} from '../models';\n\nexport abstract class BsDatepickerAbstractComponent {\n containerClass: string;\n isOtherMonthsActive: boolean;\n\n _effects: BsDatepickerEffects;\n _customRangesFish: BsCustomDates[] = [];\n\n set minDate(value: Date) {\n this._effects.setMinDate(value);\n }\n\n set maxDate(value: Date) {\n this._effects.setMaxDate(value);\n }\n set daysDisabled(value: number[]) {\n this._effects.setDaysDisabled(value);\n }\n\n set isDisabled(value: boolean) {\n this._effects.setDisabled(value);\n }\n\n viewMode: Observable<BsDatepickerViewMode>;\n daysCalendar: Observable<DaysCalendarViewModel[]>;\n monthsCalendar: Observable<MonthsCalendarViewModel[]>;\n yearsCalendar: Observable<YearsCalendarViewModel[]>;\n options: Observable<DatepickerRenderOptions>;\n\n setViewMode(event: BsDatepickerViewMode): void {}\n\n navigateTo(event: BsNavigationEvent): void {}\n\n dayHoverHandler(event: CellHoverEvent): void {}\n\n monthHoverHandler(event: CellHoverEvent): void {}\n\n yearHoverHandler(event: CellHoverEvent): void {}\n\n daySelectHandler(day: DayViewModel): void {}\n\n monthSelectHandler(event: CalendarCellViewModel): void {}\n\n yearSelectHandler(event: CalendarCellViewModel): void {}\n\n /* tslint:disable-next-line: no-any */\n _stopPropagation(event: any): void {\n event.stopPropagation();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TimeUnit } from 'ngx-bootstrap/chronos';\nimport { Action } from 'ngx-bootstrap/mini-ngrx';\nimport {\n BsDatepickerViewMode,\n BsViewNavigationEvent,\n CellHoverEvent,\n DatepickerRenderOptions\n} from '../models';\n\n@Injectable()\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_DAYSDISABLED = '[datepicker] set days disabled';\n static readonly SET_IS_DISABLED = '[datepicker] set is disabled';\n\n static readonly SET_LOCALE = '[datepicker] set datepicker locale';\n\n static readonly SELECT_RANGE = '[daterangepicker] select dates range';\n\n calculate(): Action {\n return { type: BsDatepickerActions.CALCULATE };\n }\n\n format(): Action {\n return { type: BsDatepickerActions.FORMAT };\n }\n\n flag(): Action {\n return { type: BsDatepickerActions.FLAG };\n }\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 daysDisabled(days: number[]): Action {\n return {\n type: BsDatepickerActions.SET_DAYSDISABLED,\n payload: days\n };\n }\n\n isDisabled(value: boolean): Action {\n return {\n type: BsDatepickerActions.SET_IS_DISABLED,\n payload: value\n };\n }\n\n setLocale(locale: string): Action {\n return {\n type: BsDatepickerActions.SET_LOCALE,\n payload: locale\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class BsLocaleService {\n private _defaultLocale = 'en';\n private _locale = new BehaviorSubject<string>(this._defaultLocale);\n private _localeChange: Observable<string> = this._locale.asObservable();\n\n get locale(): BehaviorSubject<string> {\n return this._locale;\n }\n\n get localeChange(): Observable<string> {\n return this._localeChange;\n }\n\n get currentLocale(): string {\n return this._locale.getValue();\n }\n\n use(locale: string): void {\n if (locale === this.currentLocale) {\n return;\n }\n\n this._locale.next(locale);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { getFullYear, getMonth } from 'ngx-bootstrap/chronos';\n\nimport { BsDatepickerAbstractComponent } from '../base/bs-datepicker-container';\nimport { BsDatepickerActions } from './bs-datepicker.actions';\nimport { BsDatepickerConfig } from '../bs-datepicker.config';\nimport { BsDatepickerStore } from './bs-datepicker.store';\nimport { BsLocaleService } from '../bs-locale.service';\n\nimport {\n BsDatepickerViewMode,\n BsNavigationEvent,\n CalendarCellViewModel,\n CellHoverEvent,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel,\n MonthsCalendarViewModel,\n YearsCalendarViewModel\n} from '../models';\n\n\n@Injectable()\nexport class BsDatepickerEffects {\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 private _localeService: BsLocaleService) {}\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 setDaysDisabled(value: number[]) {\n this._store.dispatch(this._actions.daysDisabled(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 const _options = Object.assign({locale: this._localeService.currentLocale}, _config);\n this._store.dispatch(this._actions.setOptions(_options));\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 .pipe(\n filter(months => !!months)\n );\n\n // month calendar\n container.monthsCalendar = this._store\n .select(state => state.flaggedMonthsCalendar)\n .pipe(\n filter(months => !!months)\n );\n\n // year calendar\n container.yearsCalendar = this._store\n .select(state => state.yearsCalendarFlagged)\n .pipe(\n filter(years => !!years)\n );\n\n container.viewMode = this._store.select(state => state.view.mode);\n\n container.options = this._store\n .select(state => state.showWeekNumbers)\n .pipe(\n map(showWeekNumbers => ({showWeekNumbers}))\n );\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 container.monthSelectHandler = (event: CalendarCellViewModel): void => {\n if (event.isDisabled) {\n return;\n }\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n month: getMonth(event.date),\n year: getFullYear(event.date)\n },\n viewMode: 'day'\n })\n );\n };\n\n container.yearSelectHandler = (event: CalendarCellViewModel): void => {\n if (event.isDisabled) {\n return;\n }\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n year: getFullYear(event.date)\n },\n viewMode: 'month'\n })\n );\n };\n\n return this;\n }\n\n registerDatepickerSideEffects(): BsDatepickerEffects {\n this._subs.push(\n this._store.select(state => state.view).subscribe(view => {\n this._store.dispatch(this._actions.calculate());\n })\n );\n\n // format calendar values on month model change\n this._subs.push(\n this._store\n .select(state => state.monthsModel)\n .pipe(\n filter(monthModel => !!monthModel)\n )\n .subscribe(month => this._store.dispatch(this._actions.format()))\n );\n\n // flag day values\n this._subs.push(\n this._store\n .select(state => state.formattedMonths)\n .pipe(\n filter(month => !!month)\n )\n .subscribe(month => this._store.dispatch(this._actions.flag()))\n );\n\n // flag day values\n this._subs.push(\n this._store\n .select(state => state.selectedDate)\n .pipe(\n filter(selectedDate => !!selectedDate)\n )\n .subscribe(selectedDate => this._store.dispatch(this._actions.flag()))\n );\n\n // flag for date range picker\n this._subs.push(\n this._store\n .select(state => state.selectedRange)\n .pipe(\n filter(selectedRange => !!selectedRange)\n )\n .subscribe(selectedRange => this._store.dispatch(this._actions.flag()))\n );\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\n // years calendar\n this._subs.push(\n this._store\n .select(state => state.yearsCalendarModel)\n .pipe(\n filter(state => !!state)\n )\n .subscribe(() => this._store.dispatch(this._actions.flag()))\n );\n\n // on hover\n this._subs.push(\n this._store\n .select(state => state.hoveredDate)\n .pipe(\n filter(hoveredDate => !!hoveredDate)\n )\n .subscribe(hoveredDate => this._store.dispatch(this._actions.flag()))\n );\n\n // on locale change\n this._subs.push(\n this._localeService.localeChange\n .subscribe(locale => this._store.dispatch(this._actions.setLocale(locale)))\n );\n\n return this;\n }\n\n destroy(): void {\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n }\n}\n","import {\n BsDatepickerViewMode,\n DatepickerFormatOptions,\n DatepickerRenderOptions,\n DaysCalendarModel,\n DaysCalendarViewModel,\n MonthsCalendarViewModel,\n MonthViewOptions,\n YearsCalendarViewModel\n} from '../models';\nimport { defaultMonthOptions } from './_defaults';\nimport { BsDatepickerConfig } from '../bs-datepicker.config';\n\nexport interface BsDatepickerViewState {\n date: Date;\n mode: BsDatepickerViewMode;\n}\n\nexport class BsDatepickerState\n implements DatepickerRenderOptions, DatepickerFormatOptions {\n // date picker\n selectedDate?: Date;\n // daterange picker\n selectedRange?: Date[];\n\n // initial date of calendar, today by default\n view: BsDatepickerViewState;\n\n isDisabled?: boolean;\n // bounds\n minDate?: Date;\n maxDate?: Date;\n daysDisabled?: number[];\n minMode?: BsDatepickerViewMode;\n\n hoveredDate?: Date;\n hoveredMonth?: Date;\n hoveredYear?: Date;\n\n // days calendar\n monthsModel?: DaysCalendarModel[];\n formattedMonths?: DaysCalendarViewModel[];\n flaggedMonths?: DaysCalendarViewModel[];\n\n // months calendar\n monthsCalendar?: MonthsCalendarViewModel[];\n flaggedMonthsCalendar?: MonthsCalendarViewModel[];\n\n // years calendar\n yearsCalendarModel?: YearsCalendarViewModel[];\n yearsCalendarFlagged?: YearsCalendarViewModel[];\n\n // options\n monthViewOptions: MonthViewOptions;\n\n // DatepickerRenderOptions\n showWeekNumbers?: boolean;\n displayMonths?: number;\n selectFromOtherMonth?: boolean;\n\n // DatepickerFormatOptions\n locale: string;\n\n monthTitle: string;\n yearTitle: string;\n\n dayLabel: string;\n monthLabel: string;\n yearLabel: string;\n\n weekNumbers: string;\n}\n\nconst _initialView: BsDatepickerViewState = { date: new Date(), mode: 'day' };\n\nexport const initialDatepickerState: BsDatepickerState = Object.assign(\n new BsDatepickerConfig(),\n {\n locale: 'en',\n view: _initialView,\n selectedRange: [],\n monthViewOptions: defaultMonthOptions\n }\n);\n","import {\n MonthViewOptions\n} from '../models';\n\nexport const defaultMonthOptions: MonthViewOptions = {\n width: 7,\n height: 6\n};\n","import {\n getDay,\n isFirstDayOfWeek,\n isAfter,\n isBefore,\n shiftDate,\n endOf,\n startOf\n} from 'ngx-bootstrap/chronos';\n\nexport function getStartingDayOfCalendar(date: Date,\n options: { firstDayOfWeek?: number }): Date {\n if (isFirstDayOfWeek(date, options.firstDayOfWeek)) {\n return date;\n }\n\n const weekDay = getDay(date);\n const offset = calculateDateOffset(weekDay, options.firstDayOfWeek);\n\n return shiftDate(date, {day: -offset});\n}\n\nexport function calculateDateOffset(weekday: number, startingDayOffset: number): number {\n if (startingDayOffset === 0) {\n return weekday;\n }\n\n const offset = weekday - startingDayOffset % 7;\n\n return offset < 0 ? offset + 7 : offset;\n}\n\nexport function isMonthDisabled(date: Date, min: Date, max: Date): boolean {\n const minBound = min && isBefore(endOf(date, 'month'), min, 'day');\n const maxBound = max && isAfter(startOf(date, 'month'), max, 'day');\n\n return minBound || maxBound;\n}\n\nexport function isYearDisabled(date: Date, min: Date, max: Date): boolean {\n const minBound = min && isBefore(endOf(date, 'year'), min, 'day');\n const maxBound = max && isAfter(startOf(date, 'year'), max, 'day');\n\n return minBound || maxBound;\n}\n","import { TimeUnit, shiftDate } from 'ngx-bootstrap/chronos';\n\nexport type CreateMatrixCb<T> = (date: Date) => T;\n\nexport interface MatrixOptions {\n height: number;\n width: number;\n initialDate: Date;\n shift: TimeUnit;\n}\n\nexport function createMatrix<T>(\n options: MatrixOptions,\n fn: CreateMatrixCb<T>\n): T[][] {\n let prevValue = options.initialDate;\n const matrix: T[][] = new Array(options.height);\n for (let i = 0; i < options.height; i++) {\n matrix[i] = new Array(options.width);\n for (let j = 0; j < options.width; j++) {\n matrix[i][j] = fn(prevValue);\n prevValue = shiftDate(prevValue, options.shift);\n }\n }\n\n return matrix;\n}\n","// user and model input should handle parsing and validating input values\n// should accept some options\n// todo: split out formatting\nimport { DaysCalendarModel, MonthViewOptions } from '../models';\nimport { getFirstDayOfMonth } from 'ngx-bootstrap/chronos';\nimport { getStartingDayOfCalendar } from '../utils/bs-calendar-utils';\nimport { createMatrix } from '../utils/matrix-utils';\n\nexport function calcDaysCalendar(\n startingDate: Date,\n options: MonthViewOptions\n): DaysCalendarModel {\n const firstDay = getFirstDayOfMonth(startingDate);\n const initialDate = getStartingDayOfCalendar(firstDay, options);\n\n const matrixOptions = {\n width: options.width,\n height: options.height,\n initialDate,\n shift: { day: 1 }\n };\n const daysMatrix = createMatrix<Date>(matrixOptions, date => date);\n\n return {\n daysMatrix,\n month: firstDay\n };\n}\n","import {\n DatepickerFormatOptions,\n DaysCalendarModel,\n DaysCalendarViewModel\n} from '../models';\nimport { formatDate, getLocale } from 'ngx-bootstrap/chronos';\n\nexport function formatDaysCalendar(daysCalendar: DaysCalendarModel,\n formatOptions: DatepickerFormatOptions,\n monthIndex: number): DaysCalendarViewModel {\n return {\n month: daysCalendar.month,\n monthTitle: formatDate(\n daysCalendar.month,\n formatOptions.monthTitle,\n formatOptions.locale\n ),\n yearTitle: formatDate(\n daysCalendar.month,\n formatOptions.yearTitle,\n formatOptions.locale\n ),\n weekNumbers: getWeekNumbers(\n daysCalendar.daysMatrix,\n formatOptions.weekNumbers,\n formatOptions.locale\n ),\n weekdays: getShiftedWeekdays(formatOptions.locale),\n weeks: daysCalendar.daysMatrix.map((week: Date[], weekIndex: number) => ({\n days: week.map((date: Date, dayIndex: number) => ({\n date,\n label: formatDate(date, formatOptions.dayLabel, formatOptions.locale),\n monthIndex,\n weekIndex,\n dayIndex\n }))\n }))\n };\n}\n\nexport function getWeekNumbers(daysMatrix: Date[][],\n format: string,\n locale: string): string[] {\n return daysMatrix.map(\n (days: Date[]) => (days[0] ? formatDate(days[0], format, locale) : '')\n );\n}\n\nexport function getShiftedWeekdays(locale: string): string[] {\n const _locale = getLocale(locale);\n const weekdays = _locale.weekdaysShort() as string[];\n const firstDayOfWeek = _locale.firstDayOfWeek();\n\n return [...weekdays.slice(firstDayOfWeek), ...weekdays.slice(0, firstDayOfWeek)];\n}\n","import { BsDatepickerViewMode } from '../models';\n\nexport function canSwitchMode(mode: BsDatepickerViewMode, minMode?: BsDatepickerViewMode): boolean {\n return minMode ? mode >= minMode : true;\n}\n","import {\n DatepickerFormatOptions,\n MonthsCalendarViewModel,\n CalendarCellViewModel\n} from '../models';\nimport { startOf, formatDate } from 'ngx-bootstrap/chronos';\nimport { createMatrix } from '../utils/matrix-utils';\n\nconst height = 4;\nconst width = 3;\nconst shift = { month: 1 };\n\nexport function formatMonthsCalendar(\n viewDate: Date,\n formatOptions: DatepickerFormatOptions\n): MonthsCalendarViewModel {\n const initialDate = startOf(viewDate, 'year');\n const matrixOptions = { width, height, initialDate, shift };\n const monthMatrix = createMatrix<\n CalendarCellViewModel\n >(matrixOptions, date => ({\n date,\n label: formatDate(date, formatOptions.monthLabel, formatOptions.locale)\n }));\n\n return {\n months: monthMatrix,\n monthTitle: '',\n yearTitle: formatDate(\n viewDate,\n formatOptions.yearTitle,\n formatOptions.locale\n )\n };\n}\n","import {\n DatepickerFormatOptions,\n YearsCalendarViewModel,\n CalendarCellViewModel\n} from '../models';\nimport { shiftDate, formatDate } from 'ngx-bootstrap/chronos';\nimport { createMatrix } from '../utils/matrix-utils';\n\nconst height = 4;\nconst width = 4;\nexport const yearsPerCalendar = height * width;\nconst initialShift = (Math.floor(yearsPerCalendar / 2) - 1) * -1;\nconst shift = { year: 1 };\n\nexport function formatYearsCalendar(\n viewDate: Date,\n formatOptions: DatepickerFormatOptions\n): YearsCalendarViewModel {\n const initialDate = shiftDate(viewDate, { year: initialShift });\n const matrixOptions = { width, height, initialDate, shift };\n const yearsMatrix = createMatrix<\n CalendarCellViewModel\n >(matrixOptions, date => ({\n date,\n label: formatDate(date, formatOptions.yearLabel, formatOptions.locale)\n }));\n const yearTitle = formatYearRangeTitle(yearsMatrix, formatOptions);\n\n return {\n years: yearsMatrix,\n monthTitle: '',\n yearTitle\n };\n}\n\nfunction formatYearRangeTitle(\n yearsMatrix: CalendarCellViewModel[][],\n formatOptions: DatepickerFormatOptions\n): string {\n const from = formatDate(\n yearsMatrix[0][0].date,\n formatOptions.yearTitle,\n formatOptions.locale\n );\n const to = formatDate(\n yearsMatrix[height - 1][width - 1].date,\n formatOptions.yearTitle,\n formatOptions.locale\n );\n\n return `${from} - ${to}`;\n}\n","// tslint:disable:max-file-line-count\nimport { BsDatepickerState, initialDatepickerState } from './bs-datepicker.state';\nimport { Action } from 'ngx-bootstrap/mini-ngrx';\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 {\n setFullDate,\n shiftDate,\n isArray,\n isDateValid,\n startOf,\n getLocale,\n isAfter,\n isBefore\n} from 'ngx-bootstrap/chronos';\nimport { canSwitchMode } from '../engine/view-mode';\nimport { formatMonthsCalendar } from '../engine/format-months-calendar';\nimport { flagMonthsCalendar } from '../engine/flag-months-calendar';\nimport { formatYearsCalendar, yearsPerCalendar } from '../engine/format-years-calendar';\nimport { flagYearsCalendar } from '../engine/flag-years-calendar';\nimport { BsViewNavigationEvent, DatepickerFormatOptions, BsDatepickerViewMode } from '../models';\n\n\n/* tslint:disable-next-line: cyclomatic-complexity */\nexport function bsDatepickerReducer(state = initialDatepickerState,\n 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 = setFullDate(state.view.date, payload.unit);\n let newState;\n let mode: BsDatepickerViewMode;\n if (canSwitchMode(payload.viewMode, state.minMode)) {\n mode = payload.viewMode;\n newState = { view: { date, mode } };\n } else {\n mode = state.view.mode;\n newState = { selectedDate: date, view: { date, mode } };\n }\n\n return Object.assign({}, state, newState);\n }\n\n case BsDatepickerActions.CHANGE_VIEWMODE: {\n if (!canSwitchMode(action.payload, state.minMode)) {\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 const mode = state.view.mode;\n const _date = action.payload || state.view.date;\n const date = getViewDate(_date, state.minDate, state.maxDate);\n newState.view = { mode, date };\n\n return Object.assign({}, state, newState);\n }\n\n case BsDatepickerActions.SET_OPTIONS: {\n const newState = action.payload;\n // preserve view mode\n const mode = newState.minMode ? newState.minMode : state.view.mode;\n const _viewDate = isDateValid(newState.value) && newState.value\n || isArray(newState.value) && isDateValid(newState.value[0]) && newState.value[0]\n || state.view.date;\n const date = getViewDate(_viewDate, newState.minDate, newState.maxDate);\n newState.view = { mode, date };\n // update selected value\n if (newState.value) {\n // if new value is array we work with date range\n if (isArray(newState.value)) {\n newState.selectedRange = newState.value;\n }\n\n // if new value is a date -> datepicker\n if (newState.value instanceof Date) {\n newState.selectedDate = newState.value;\n }\n\n // provided value is not supported :)\n // need to report it somehow\n }\n\n return Object.assign({}, state, newState);\n }\n\n // date range picker\n case BsDatepickerActions.SELECT_RANGE: {\n const newState = {\n selectedRange: action.payload,\n view: state.view\n };\n\n const mode = state.view.mode;\n const _date = action.payload && action.payload[0] || state.view.date;\n const date = getViewDate(_date, state.minDate, state.maxDate);\n newState.view = { mode, date };\n\n return Object.assign({}, state, newState);\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 state.monthViewOptions.firstDayOfWeek = getLocale(state.locale).firstDayOfWeek();\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(\n viewDate,\n state.monthViewOptions\n );\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 (\n let calendarIndex = 0;\n calendarIndex < displayMonths;\n calendarIndex++\n ) {\n // todo: for unlinked calendars it will be harder\n monthsCalendar[calendarIndex] = formatMonthsCalendar(\n viewDate,\n getFormatOptions(state)\n );\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 (\n let calendarIndex = 0;\n calendarIndex < displayMonths;\n calendarIndex++\n ) {\n // todo: for unlinked calendars it will be harder\n yearsCalendarModel[calendarIndex] = formatYearsCalendar(\n viewDate,\n getFormatOptions(state)\n );\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,\n action: Action): BsDatepickerState {\n if (state.view.mode === 'day') {\n const formattedMonths = state.monthsModel.map((month, monthIndex) =>\n formatDaysCalendar(month, getFormatOptions(state), monthIndex)\n );\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 (\n let calendarIndex = 0;\n calendarIndex < displayMonths;\n calendarIndex++\n ) {\n // todo: for unlinked calendars it will be harder\n monthsCalendar[calendarIndex] = formatMonthsCalendar(\n viewDate,\n getFormatOptions(state)\n );\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 (\n let calendarIndex = 0;\n calendarIndex < displayMonths;\n calendarIndex++\n ) {\n // todo: for unlinked calendars it will be harder\n yearsCalendarModel[calendarIndex] = formatYearsCalendar(\n viewDate,\n getFormatOptions(state)\n );\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,\n action: Action): BsDatepickerState {\n if (state.view.mode === 'day') {\n const flaggedMonths = state.formattedMonths.map(\n (formattedMonth, monthIndex) =>\n flagDaysCalendar(formattedMonth, {\n isDisabled: state.isDisabled,\n minDate: state.minDate,\n maxDate: state.maxDate,\n daysDisabled: state.daysDisabled,\n hoveredDate: state.hoveredDate,\n selectedDate: state.selectedDate,\n selectedRange: state.selectedRange,\n displayMonths: state.displayMonths,\n monthIndex\n })\n );\n\n return Object.assign({}, state, { flaggedMonths });\n }\n\n if (state.view.mode === 'month') {\n const flaggedMonthsCalendar = state.monthsCalendar.map(\n (formattedMonth, monthIndex) =>\n 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\n return Object.assign({}, state, { flaggedMonthsCalendar });\n }\n\n if (state.view.mode === 'year') {\n const yearsCalendarFlagged = state.yearsCalendarModel.map(\n (formattedMonth, yearIndex) =>\n 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\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\n/**\n * if view date is provided (bsValue|ngModel) it should be shown\n * if view date is not provider:\n * if minDate>currentDate (default view value), show minDate\n * if maxDate<currentDate(default view value) show maxDate\n */\nfunction getViewDate(viewDate: Date | Date[], minDate: Date, maxDate: Date) {\n const _date = Array.isArray(viewDate) ? viewDate[0] : viewDate;\n\n if (minDate && isAfter(minDate, _date, 'day')) {\n return minDate;\n }\n\n if (maxDate && isBefore(maxDate, _date, 'day')) {\n return maxDate;\n }\n\n return _date;\n}\n","import {\n DaysCalendarViewModel,\n DayViewModel,\n WeekViewModel\n} from '../models';\n\nimport {\n isAfter,\n isBefore,\n isDisabledDay,\n isSameDay,\n isSameMonth,\n shiftDate\n} from 'ngx-bootstrap/chronos';\n\nimport { isMonthDisabled } from '../utils/bs-calendar-utils';\n\nexport interface FlagDaysCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n daysDisabled: number[];\n hoveredDate: Date;\n selectedDate: Date;\n selectedRange: Date[];\n displayMonths: number;\n monthIndex: number;\n}\n\nexport function flagDaysCalendar(\n formattedMonth: DaysCalendarViewModel,\n options: FlagDaysCalendarOptions\n): DaysCalendarViewModel {\n formattedMonth.weeks.forEach((week: WeekViewModel) => {\n /* tslint:disable-next-line: cyclomatic-complexity */\n week.days.forEach((day: DayViewModel, dayIndex: number) => {\n // datepicker\n const isOtherMonth = !isSameMonth(day.date, formattedMonth.month);\n\n const isHovered =\n !isOtherMonth && isSameDay(day.date, options.hoveredDate);\n // date range picker\n const isSelectionStart =\n !isOtherMonth &&\n options.selectedRange &&\n isSameDay(day.date, options.selectedRange[0]);\n const isSelectionEnd =\n !isOtherMonth &&\n options.selectedRange &&\n isSameDay(day.date, options.selectedRange[1]);\n\n const isSelected =\n (!isOtherMonth && isSameDay(day.date, options.selectedDate)) ||\n isSelectionStart ||\n isSelectionEnd;\n\n const isInRange =\n !isOtherMonth &&\n options.selectedRange &&\n isDateInRange(day.date, options.selectedRange, options.hoveredDate);\n\n const isDisabled =\n options.isDisabled ||\n isBefore(day.date, options.minDate, 'day') ||\n isAfter(day.date, options.maxDate, 'day') ||\n isDisabledDay(day.date, options.daysDisabled);\n\n const currentDate = new Date();\n const isToday = !isOtherMonth && isSameDay(day.date, currentDate);\n\n // decide update or not\n const newDay = Object.assign({}, day, {\n isOtherMonth,\n isHovered,\n isSelected,\n isSelectionStart,\n isSelectionEnd,\n isInRange,\n isDisabled,\n isToday\n });\n\n if (\n day.isOtherMonth !== newDay.isOtherMonth ||\n day.isHovered !== newDay.isHovered ||\n day.isSelected !== newDay.isSelected ||\n day.isSelectionStart !== newDay.isSelectionStart ||\n day.isSelectionEnd !== newDay.isSelectionEnd ||\n day.isDisabled !== newDay.isDisabled ||\n day.isInRange !== newDay.isInRange\n ) {\n week.days[dayIndex] = newDay;\n }\n });\n });\n\n // todo: add check for linked calendars\n formattedMonth.hideLeftArrow =\n options.isDisabled ||\n (options.monthIndex > 0 && options.monthIndex !== options.displayMonths);\n formattedMonth.hideRightArrow =\n options.isDisabled ||\n (options.monthIndex < options.displayMonths &&\n options.monthIndex + 1 !== options.displayMonths);\n\n formattedMonth.disableLeftArrow = isMonthDisabled(\n shiftDate(formattedMonth.month, { month: -1 }),\n options.minDate,\n options.maxDate\n );\n formattedMonth.disableRightArrow = isMonthDisabled(\n shiftDate(formattedMonth.month, { month: 1 }),\n options.minDate,\n options.maxDate\n );\n\n return formattedMonth;\n}\n\nfunction isDateInRange(\n date: Date,\n selectedRange: Date[],\n hoveredDate: Date\n): boolean {\n if (!date || !selectedRange[0]) {\n return false;\n }\n\n if (selectedRange[1]) {\n return date > selectedRange[0] && date <= selectedRange[1];\n }\n\n if (hoveredDate) {\n return date > selectedRange[0] && date <= hoveredDate;\n }\n\n return false;\n}\n","import { isSameMonth, shiftDate } from 'ngx-bootstrap/chronos';\nimport {\n MonthsCalendarViewModel,\n CalendarCellViewModel\n} from '../models';\nimport { isMonthDisabled, isYearDisabled } from '../utils/bs-calendar-utils';\n\nexport interface FlagMonthCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n hoveredMonth: Date;\n displayMonths: number;\n monthIndex: number;\n}\n\nexport function flagMonthsCalendar(\n monthCalendar: MonthsCalendarViewModel,\n options: FlagMonthCalendarOptions\n): MonthsCalendarViewModel {\n monthCalendar.months.forEach(\n (months: CalendarCellViewModel[], rowIndex: number) => {\n months.forEach((month: CalendarCellViewModel, monthIndex: number) => {\n const isHovered = isSameMonth(month.date, options.hoveredMonth);\n const isDisabled =\n options.isDisabled ||\n isMonthDisabled(month.date, options.minDate, options.maxDate);\n const newMonth = Object.assign(/*{},*/ month, {\n isHovered,\n isDisabled\n });\n if (\n month.isHovered !== newMonth.isHovered ||\n month.isDisabled !== newMonth.isDisabled\n ) {\n monthCalendar.months[rowIndex][monthIndex] = newMonth;\n }\n });\n }\n );\n\n // todo: add check for linked calendars\n monthCalendar.hideLeftArrow =\n options.monthIndex > 0 && options.monthIndex !== options.displayMonths;\n monthCalendar.hideRightArrow =\n options.monthIndex < options.displayMonths &&\n options.monthIndex + 1 !== options.displayMonths;\n\n monthCalendar.disableLeftArrow = isYearDisabled(\n shiftDate(monthCalendar.months[0][0].date, { year: -1 }),\n options.minDate,\n options.maxDate\n );\n monthCalendar.disableRightArrow = isYearDisabled(\n shiftDate(monthCalendar.months[0][0].date, { year: 1 }),\n options.minDate,\n options.maxDate\n );\n\n return monthCalendar;\n}\n","import { isSameYear, shiftDate } from 'ngx-bootstrap/chronos';\nimport { YearsCalendarViewModel, CalendarCellViewModel } from '../models';\nimport { isYearDisabled } from '../utils/bs-calendar-utils';\n\nexport interface FlagYearsCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n hoveredYear: Date;\n displayMonths: number;\n yearIndex: number;\n}\n\nexport function flagYearsCalendar(\n yearsCalendar: YearsCalendarViewModel,\n options: FlagYearsCalendarOptions\n): YearsCalendarViewModel {\n yearsCalendar.years.forEach(\n (years: CalendarCellViewModel[], rowIndex: number) => {\n years.forEach((year: CalendarCellViewModel, yearIndex: number) => {\n const isHovered = isSameYear(year.date, options.hoveredYear);\n const isDisabled =\n options.isDisabled ||\n isYearDisabled(year.date, options.minDate, options.maxDate);\n\n const newMonth = Object.assign(/*{},*/ year, { isHovered, isDisabled });\n if (\n year.isHovered !== newMonth.isHovered ||\n year.isDisabled !== newMonth.isDisabled\n ) {\n yearsCalendar.years[rowIndex][yearIndex] = newMonth;\n }\n });\n }\n );\n\n // todo: add check for linked calendars\n yearsCalendar.hideLeftArrow =\n options.yearIndex > 0 && options.yearIndex !== options.displayMonths;\n yearsCalendar.hideRightArrow =\n options.yearIndex < options.displayMonths &&\n options.yearIndex + 1 !== options.displayMonths;\n\n yearsCalendar.disableLeftArrow = isYearDisabled(\n shiftDate(yearsCalendar.years[0][0].date, { year: -1 }),\n options.minDate,\n options.maxDate\n );\n const i = yearsCalendar.years.length - 1;\n const j = yearsCalendar.years[i].length - 1;\n yearsCalendar.disableRightArrow = isYearDisabled(\n shiftDate(yearsCalendar.years[i][j].date, { year: 1 }),\n options.minDate,\n options.maxDate\n );\n\n return yearsCalendar;\n}\n","import { Injectable } from '@angular/core';\nimport { MiniStore, Action, MiniState } from 'ngx-bootstrap/mini-ngrx';\nimport { BsDatepickerState, initialDatepickerState } from './bs-datepicker.state';\nimport { BehaviorSubject } from 'rxjs';\nimport { bsDatepickerReducer } from './bs-datepicker.reducer';\n\n@Injectable()\nexport class BsDatepickerStore extends MiniStore<BsDatepickerState> {\n constructor() {\n const _dispatcher = new BehaviorSubject<Action>({\n type: '[datepicker] dispatcher init'\n });\n const state = new MiniState<BsDatepickerState>(\n initialDatepickerState,\n _dispatcher,\n bsDatepickerReducer\n );\n super(_dispatcher, bsDatepickerReducer, state);\n }\n}\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';\n\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { DayViewModel } from '../../models';\nimport { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';\nimport { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from '../../reducer/bs-datepicker.store';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'bs-datepicker-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n '(click)': '_stopPropagation($event)',\n style: 'position: absolute; display: block;',\n role: 'dialog',\n 'aria-label': 'calendar'\n }\n})\nexport class BsDatepickerContainerComponent extends BsDatepickerAbstractComponent\n implements OnInit, OnDestroy {\n set value(value: Date) {\n this._effects.setValue(value);\n }\n valueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n _subs: Subscription[] = [];\n constructor(\n private _config: BsDatepickerConfig,\n private _store: BsDatepickerStore,\n private _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects\n ) {\n super();\n this._effects = _effects;\n }\n\n ngOnInit(): void {\n this.isOtherMonthsActive = this._config.selectFromOtherMonth;\n this.containerClass = this._config.containerClass;\n this._effects\n .init(this._store)\n // intial state options\n .setOptions(this._config)\n // data binding view --> model\n .setBindings(this)\n // set event handlers\n .setEventHandlers(this)\n .registerDatepickerSideEffects();\n\n // todo: move it somewhere else\n // on selected date change\n this._subs.push(\n this._store\n /* tslint:disable-next-line: no-any */\n .select((state: any) => state.selectedDate)\n /* tslint:disable-next-line: no-any */\n .subscribe((date: any) => this.valueChange.emit(date))\n );\n }\n\n daySelectHandler(day: DayViewModel): void {\n const isDisabled = this.isOtherMonthsActive ? day.isDisabled : (day.isOtherMonth || day.isDisabled);\n\n if (isDisabled) {\n return;\n }\n\n this._store.dispatch(this._actions.select(day.date));\n }\n\n ngOnDestroy(): void {\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n this._effects.destroy();\n }\n}\n","import {\n ComponentRef, Directive, ElementRef, EventEmitter, Input, OnChanges,\n OnDestroy, OnInit, Output, Renderer2, SimpleChanges, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { BsDatepickerContainerComponent } from './themes/bs/bs-datepicker-container.component';\nimport { Subscription } from 'rxjs';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { BsDatepickerViewMode } from './models';\n\n@Directive({\n selector: '[bsDatepicker]',\n exportAs: 'bsDatepicker'\n})\nexport class BsDatepickerDirective implements OnInit, OnDestroy, OnChanges {\n /**\n * Placement of a datepicker. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * Close datepicker on outside click\n */\n @Input() outsideClick = true;\n /**\n * A selector specifying the element the datepicker should be appended to.\n * Currently only supports \"body\".\n */\n @Input() container = 'body';\n\n @Input() outsideEsc = true;\n\n /**\n * Returns whether or not the datepicker is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._datepicker.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Emits an event when the datepicker is shown\n */\n /* tslint:disable-next-line: no-any*/\n @Output() onShown: EventEmitter<any>;\n /**\n * Emits an event when the datepicker is hidden\n */\n /* tslint:disable-next-line: no-any*/\n @Output() onHidden: EventEmitter<any>;\n\n _bsValue: Date;\n /**\n * Initial value of datepicker\n */\n @Input()\n set bsValue(value: Date) {\n if (this._bsValue === value) {\n return;\n }\n this._bsValue = value;\n this.bsValueChange.emit(value);\n }\n\n /**\n * Config object for datepicker\n */\n @Input() bsConfig: Partial<BsDatepickerConfig>;\n /**\n * Indicates whether datepicker's content is enabled or not\n */\n @Input() isDisabled: boolean;\n /**\n * Minimum date which is available for selection\n */\n @Input() minDate: Date;\n /**\n * Maximum date which is available for selection\n */\n @Input() maxDate: Date;\n\n /**\n * Minimum view mode : day, month, or year\n */\n @Input() minMode: BsDatepickerViewMode;\n\n /**\n * Disable Certain days in the week\n */\n @Input() daysDisabled: number[];\n /**\n * Emits when datepicker value has been changed\n */\n @Output() bsValueChange: EventEmitter<Date> = new EventEmitter();\n\n protected _subs: Subscription[] = [];\n\n private _datepicker: ComponentLoader<BsDatepickerContainerComponent>;\n private _datepickerRef: ComponentRef<BsDatepickerContainerComponent>;\n\n constructor(public _config: BsDatepickerConfig,\n _elementRef: ElementRef,\n _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory) {\n // todo: assign only subset of fields\n Object.assign(this, this._config);\n this._datepicker = cis.createLoader<BsDatepickerContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n );\n this.onShown = this._datepicker.onShown;\n this.onHidden = this._datepicker.onHidden;\n }\n\n ngOnInit(): void {\n this._datepicker.listen({\n outsideClick: this.outsideClick,\n outsideEsc: this.outsideEsc,\n triggers: this.triggers,\n show: () => this.show()\n });\n this.setConfig();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this._datepickerRef || !this._datepickerRef.instance) {\n return;\n }\n\n if (changes.minDate) {\n this._datepickerRef.instance.minDate = this.minDate;\n }\n\n if (changes.maxDate) {\n this._datepickerRef.instance.maxDate = this.maxDate;\n }\n\n if (changes.daysDisabled) {\n this._datepickerRef.instance.daysDisabled = this.daysDisabled;\n }\n\n if (changes.isDisabled) {\n this._datepickerRef.instance.isDisabled = this.isDisabled;\n }\n }\n\n /**\n * Opens an element’s datepicker. This is considered a “manual” triggering of\n * the datepicker.\n */\n show(): void {\n if (this._datepicker.isShown) {\n return;\n }\n\n this.setConfig();\n\n this._datepickerRef = this._datepicker\n .provide({provide: BsDatepickerConfig, useValue: this._config})\n .attach(BsDatepickerContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({placement: this.placement});\n\n // if date changes from external source (model -> view)\n this._subs.push(\n this.bsValueChange.subscribe((value: Date) => {\n this._datepickerRef.instance.value = value;\n })\n );\n\n // if date changes from picker (view -> model)\n this._subs.push(\n this._datepickerRef.instance.valueChange.subscribe((value: Date) => {\n this.bsValue = value;\n this.hide();\n })\n );\n }\n\n /**\n * Closes an element’s datepicker. This is considered a “manual” triggering of\n * the datepicker.\n */\n hide(): void {\n if (this.isOpen) {\n this._datepicker.hide();\n }\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n }\n\n /**\n * Toggles an element’s datepicker. This is considered a “manual” triggering\n * of the datepicker.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n /**\n * Set config for datepicker\n */\n setConfig(): void {\n this._config = Object.assign({}, this._config, this.bsConfig, {\n value: this._bsValue,\n isDisabled: this.isDisabled,\n minDate: this.minDate || this.bsConfig && this.bsConfig.minDate,\n maxDate: this.maxDate || this.bsConfig && this.bsConfig.maxDate,\n daysDisabled: this.daysDisabled || this.bsConfig && this.bsConfig.daysDisabled,\n minMode: this.minMode || this.bsConfig && this.bsConfig.minMode\n });\n }\n\n ngOnDestroy(): void {\n this._datepicker.dispose();\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Provider,\n Renderer2\n} from '@angular/core';\n\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport {\n parseDate,\n formatDate,\n getLocale,\n isAfter,\n isBefore,\n isDate,\n isDateValid\n} from 'ngx-bootstrap/chronos';\n\nimport { BsDatepickerDirective } from './bs-datepicker.component';\nimport { BsLocaleService } from './bs-locale.service';\n\nconst BS_DATEPICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => BsDatepickerInputDirective),\n multi: true\n};\n\nconst BS_DATEPICKER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => BsDatepickerInputDirective),\n multi: true\n};\n\n@Directive({\n selector: `input[bsDatepicker]`,\n host: {\n '(change)': 'onChange($event)',\n '(keyup.esc)': 'hide()',\n '(blur)': 'onBlur()'\n },\n providers: [BS_DATEPICKER_VALUE_ACCESSOR, BS_DATEPICKER_VALIDATOR]\n})\nexport class BsDatepickerInputDirective\n implements ControlValueAccessor, Validator {\n private _onChange = Function.prototype;\n private _onTouched = Function.prototype;\n /* tslint:disable-next-line: no-unused-variable */\n private _validatorChange = Function.prototype;\n private _value: Date;\n\n constructor(@Host() private _picker: BsDatepickerDirective,\n private _localeService: BsLocaleService,\n private _renderer: Renderer2,\n private _elRef: ElementRef,\n private changeDetection: ChangeDetectorRef) {\n // update input value on datepicker value update\n this._picker.bsValueChange.subscribe((value: Date) => {\n this._setInputValue(value);\n if (this._value !== value) {\n this._value = value;\n this._onChange(value);\n this._onTouched();\n }\n this.changeDetection.markForCheck();\n });\n\n // update input value on locale change\n this._localeService.localeChange.subscribe(() => {\n this._setInputValue(this._value);\n });\n }\n\n _setInputValue(value: Date): void {\n const initialDate = !value ? ''\n : formatDate(value, this._picker._config.dateInputFormat, this._localeService.currentLocale);\n\n this._renderer.setProperty(this._elRef.nativeElement, 'value', initialDate);\n }\n\n onChange(event: Event) {\n /* tslint:disable-next-line: no-any*/\n this.writeValue((event.target as any).value);\n this._onChange(this._value);\n this._onTouched();\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const _value: Date | string = c.value;\n\n /* tslint:disable-next-line: prefer-switch */\n if (_value === null || _value === undefined || _value === '') {\n return null;\n }\n\n if (isDate(_value)) {\n const _isDateValid = isDateValid(_value);\n if (!_isDateValid) {\n return { bsDate: { invalid: _value } };\n }\n\n if (this._picker && this._picker.minDate && isBefore(_value, this._picker.minDate, 'date')) {\n return { bsDate: { minDate: this._picker.minDate } };\n }\n\n if (this._picker && this._picker.maxDate && isAfter(_value, this._picker.maxDate, 'date')) {\n return { bsDate: { maxDate: this._picker.maxDate } };\n }\n }\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n\n writeValue(value: Date | string) {\n if (!value) {\n this._value = null;\n } else {\n const _localeKey = this._localeService.currentLocale;\n const _locale = getLocale(_localeKey);\n if (!_locale) {\n throw new Error(\n `Locale \"${_localeKey}\" is not defined, please add it with \"defineLocale(...)\"`\n );\n }\n this._value = parseDate(value, this._picker._config.dateInputFormat, this._localeService.currentLocale);\n }\n\n this._picker.bsValue = this._value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._picker.isDisabled = isDisabled;\n if (isDisabled) {\n this._renderer.setAttribute(this._elRef.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this._renderer.removeAttribute(this._elRef.nativeElement, 'disabled');\n }\n\n registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n onBlur() {\n this._onTouched();\n }\n\n hide() {\n this._picker.hide();\n this._renderer.selectRootElement(this._elRef.nativeElement).blur();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\n\n@Injectable()\nexport class BsDaterangepickerConfig extends BsDatepickerConfig {\n // DatepickerRenderOptions\n displayMonths = 2;\n}\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { DayViewModel } from '../../models';\nimport { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';\nimport { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from '../../reducer/bs-datepicker.store';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'bs-daterangepicker-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n '(click)': '_stopPropagation($event)',\n style: 'position: absolute; display: block;',\n role: 'dialog',\n 'aria-label': 'calendar'\n }\n})\nexport class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent\n implements OnInit, OnDestroy {\n set value(value: Date[]) {\n this._effects.setRangeValue(value);\n }\n\n valueChange = new EventEmitter<Date[]>();\n\n _rangeStack: Date[] = [];\n _subs: Subscription[] = [];\n constructor(\n private _config: BsDatepickerConfig,\n private _store: BsDatepickerStore,\n private _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects\n ) {\n super();\n this._effects = _effects;\n }\n\n ngOnInit(): void {\n this.containerClass = this._config.containerClass;\n this.isOtherMonthsActive = this._config.selectFromOtherMonth;\n this._effects\n .init(this._store)\n // intial state options\n // todo: fix this, split configs\n .setOptions(this._config)\n // data binding view --> model\n .setBindings(this)\n // set event handlers\n .setEventHandlers(this)\n .registerDatepickerSideEffects();\n\n // todo: move it somewhere else\n // on selected date change\n this._subs.push(\n this._store\n .select(state => state.selectedRange)\n .subscribe(date => this.valueChange.emit(date))\n );\n }\n\n daySelectHandler(day: DayViewModel): void {\n const isDisabled = this.isOtherMonthsActive ? day.isDisabled : (day.isOtherMonth || day.isDisabled);\n\n if (isDisabled) {\n return;\n }\n\n // if only one date is already selected\n // and user clicks on previous date\n // start selection from new date\n // but if new date is after initial one\n // than finish selection\n if (this._rangeStack.length === 1) {\n this._rangeStack =\n day.date >= this._rangeStack[0]\n ? [this._rangeStack[0], day.date]\n : [day.date];\n }\n\n if (this._rangeStack.length === 0) {\n this._rangeStack = [day.date];\n }\n\n this._store.dispatch(this._actions.selectRange(this._rangeStack));\n\n if (this._rangeStack.length === 2) {\n this._rangeStack = [];\n }\n }\n\n ngOnDestroy(): void {\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n this._effects.destroy();\n }\n}\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n ViewContainerRef\n} from '@angular/core';\nimport { BsDaterangepickerConfig } from './bs-daterangepicker.config';\nimport { BsDaterangepickerContainerComponent } from './themes/bs/bs-daterangepicker-container.component';\nimport { Subscription } from 'rxjs';\nimport { ComponentLoaderFactory, ComponentLoader } from 'ngx-bootstrap/component-loader';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { filter } from 'rxjs/operators';\n\n@Directive({\n selector: '[bsDaterangepicker]',\n exportAs: 'bsDaterangepicker'\n})\nexport class BsDaterangepickerDirective\n implements OnInit, OnDestroy, OnChanges {\n /**\n * Placement of a daterangepicker. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * Close daterangepicker on outside click\n */\n @Input() outsideClick = true;\n /**\n * A selector specifying the element the daterangepicker should be appended\n * to. Currently only supports \"body\".\n */\n @Input() container = 'body';\n\n @Input() outsideEsc = true;\n\n /**\n * Returns whether or not the daterangepicker is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._datepicker.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Emits an event when the daterangepicker is shown\n */\n /* tslint:disable-next-line: no-any*/\n @Output() onShown: EventEmitter<any>;\n /**\n * Emits an event when the daterangepicker is hidden\n */\n /* tslint:disable-next-line: no-any*/\n @Output() onHidden: EventEmitter<any>;\n\n _bsValue: Date[];\n /**\n * Initial value of daterangepicker\n */\n @Input()\n set bsValue(value: Date[]) {\n if (this._bsValue === value) {\n return;\n }\n this._bsValue = value;\n this.bsValueChange.emit(value);\n }\n\n /**\n * Config object for daterangepicker\n */\n @Input() bsConfig: Partial<BsDaterangepickerConfig>;\n /**\n * Indicates whether daterangepicker's content is enabled or not\n */\n @Input() isDisabled: boolean;\n /**\n * Minimum date which is available for selection\n */\n @Input() minDate: Date;\n /**\n * Maximum date which is available for selection\n */\n @Input() maxDate: Date;\n /**\n * Emits when daterangepicker value has been changed\n */\n @Output() bsValueChange: EventEmitter<Date[]> = new EventEmitter();\n\n protected _subs: Subscription[] = [];\n\n private _datepicker: ComponentLoader<BsDaterangepickerContainerComponent>;\n private _datepickerRef: ComponentRef<BsDaterangepickerContainerComponent>;\n\n constructor(public _config: BsDaterangepickerConfig,\n _elementRef: ElementRef,\n _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory) {\n this._datepicker = cis.createLoader<BsDaterangepickerContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n );\n Object.assign(this, _config);\n this.onShown = this._datepicker.onShown;\n this.onHidden = this._datepicker.onHidden;\n }\n\n ngOnInit(): void {\n this._datepicker.listen({\n outsideClick: this.outsideClick,\n outsideEsc: this.outsideEsc,\n triggers: this.triggers,\n show: () => this.show()\n });\n this.setConfig();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this._datepickerRef || !this._datepickerRef.instance) {\n return;\n }\n\n if (changes.minDate) {\n this._datepickerRef.instance.minDate = this.minDate;\n }\n\n if (changes.maxDate) {\n this._datepickerRef.instance.maxDate = this.maxDate;\n }\n\n if (changes.isDisabled) {\n this._datepickerRef.instance.isDisabled = this.isDisabled;\n }\n }\n\n /**\n * Opens an element’s datepicker. This is considered a “manual” triggering of\n * the datepicker.\n */\n show(): void {\n if (this._datepicker.isShown) {\n return;\n }\n\n this.setConfig();\n\n this._datepickerRef = this._datepicker\n .provide({provide: BsDatepickerConfig, useValue: this._config})\n .attach(BsDaterangepickerContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({placement: this.placement});\n\n // if date changes from external source (model -> view)\n this._subs.push(\n this.bsValueChange.subscribe((value: Date[]) => {\n this._datepickerRef.instance.value = value;\n })\n );\n\n // if date changes from picker (view -> model)\n this._subs.push(\n this._datepickerRef.instance.valueChange\n .pipe(\n filter((range: Date[]) => range && range[0] && !!range[1])\n )\n .subscribe((value: Date[]) => {\n this.bsValue = value;\n this.hide();\n })\n );\n }\n\n /**\n * Set config for daterangepicker\n */\n setConfig() {\n this._config = Object.assign(\n {},\n this._config,\n this.bsConfig,\n {\n value: this._bsValue,\n isDisabled: this.isDisabled,\n minDate: this.minDate || this.bsConfig && this.bsConfig.minDate,\n maxDate: this.maxDate || this.bsConfig && this.bsConfig.maxDate\n }\n );\n }\n\n /**\n * Closes an element’s datepicker. This is considered a “manual” triggering of\n * the datepicker.\n */\n hide(): void {\n if (this.isOpen) {\n this._datepicker.hide();\n }\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n }\n\n /**\n * Toggles an element’s datepicker. This is considered a “manual” triggering\n * of the datepicker.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnDestroy(): void {\n this._datepicker.dispose();\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\nimport { parseDate, formatDate, getLocale, isAfter, isBefore, isArray, isDateValid } from 'ngx-bootstrap/chronos';\nimport { BsDaterangepickerDirective } from './bs-daterangepicker.component';\nimport { BsLocaleService } from './bs-locale.service';\n\nconst BS_DATERANGEPICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => BsDaterangepickerInputDirective),\n multi: true\n};\n\nconst BS_DATERANGEPICKER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => BsDaterangepickerInputDirective),\n multi: true\n};\n\n\n@Directive({\n selector: `input[bsDaterangepicker]`,\n host: {\n '(change)': 'onChange($event)',\n '(keyup.esc)': 'hide()',\n '(blur)': 'onBlur()'\n },\n providers: [BS_DATERANGEPICKER_VALUE_ACCESSOR, BS_DATERANGEPICKER_VALIDATOR]\n})\nexport class BsDaterangepickerInputDirective\n implements ControlValueAccessor, Validator {\n private _onChange = Function.prototype;\n private _onTouched = Function.prototype;\n /* tslint:disable-next-line: no-unused-variable */\n private _validatorChange = Function.prototype;\n private _value: Date[];\n\n constructor(@Host() private _picker: BsDaterangepickerDirective,\n private _localeService: BsLocaleService,\n private _renderer: Renderer2,\n private _elRef: ElementRef,\n private changeDetection: ChangeDetectorRef) {\n // update input value on datepicker value update\n this._picker.bsValueChange.subscribe((value: Date[]) => {\n this._setInputValue(value);\n if (this._value !== value) {\n this._value = value;\n this._onChange(value);\n this._onTouched();\n }\n this.changeDetection.markForCheck();\n });\n\n // update input value on locale change\n this._localeService.localeChange.subscribe(() => {\n this._setInputValue(this._value);\n });\n }\n\n _setInputValue(date: Date[]): void {\n let range = '';\n if (date) {\n const start: string = !date[0] ? ''\n : formatDate(date[0],\n this._picker._config.rangeInputFormat,\n this._localeService.currentLocale\n );\n const end: string = !date[1] ? ''\n : formatDate(\n date[1],\n this._picker._config.rangeInputFormat,\n this._localeService.currentLocale\n );\n range = (start && end) ? start + this._picker._config.rangeSeparator + end : '';\n }\n this._renderer.setProperty(this._elRef.nativeElement, 'value', range);\n }\n\n onChange(event: Event) {\n /* tslint:disable-next-line: no-any*/\n this.writeValue((event.target as any).value);\n this._onChange(this._value);\n this._onTouched();\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const _value: [Date, Date] = c.value;\n\n if (_value === null || _value === undefined || !isArray(_value)) {\n return null;\n }\n\n const _isFirstDateValid = isDateValid(_value[0]);\n const _isSecondDateValid = isDateValid(_value[1]);\n\n if (!_isFirstDateValid) {\n return { bsDate: { invalid: _value[0] } };\n }\n\n if (!_isSecondDateValid) {\n return { bsDate: { invalid: _value[1] } };\n }\n\n if (this._picker && this._picker.minDate && isBefore(_value[0], this._picker.minDate, 'date')) {\n return { bsDate: { minDate: this._picker.minDate } };\n }\n\n if (this._picker && this._picker.maxDate && isAfter(_value[1], this._picker.maxDate, 'date')) {\n return { bsDate: { maxDate: this._picker.maxDate } };\n }\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n\n writeValue(value: Date[] | string) {\n if (!value) {\n this._value = null;\n } else {\n const _localeKey = this._localeService.currentLocale;\n const _locale = getLocale(_localeKey);\n if (!_locale) {\n throw new Error(\n `Locale \"${_localeKey}\" is not defined, please add it with \"defineLocale(...)\"`\n );\n }\n\n let _input: (string[] | Date[]) = [];\n if (typeof value === 'string') {\n _input = value.split(this._picker._config.rangeSeparator);\n }\n\n if (Array.isArray(value)) {\n _input = value;\n }\n\n\n this._value = (_input as string[])\n .map((_val: string): Date =>\n parseDate(_val, this._picker._config.dateInputFormat, this._localeService.currentLocale))\n .map((date: Date) => (isNaN(date.valueOf()) ? null : date));\n }\n\n this._picker.bsValue = this._value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._picker.isDisabled = isDisabled;\n if (isDisabled) {\n this._renderer.setAttribute(this._elRef.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this._renderer.removeAttribute(this._elRef.nativeElement, 'disabled');\n }\n\n /* tslint:disable-next-line: no-any*/\n registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n /* tslint:disable-next-line: no-any*/\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n onBlur() {\n this._onTouched();\n }\n\n hide() {\n this._picker.hide();\n this._renderer.selectRootElement(this._elRef.nativeElement).blur();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'bs-calendar-layout',\n template: `\n <!-- current date, will be added in nearest releases -->\n <bs-current-date title=\"hey there\" *ngIf=\"false\"></bs-current-date>\n\n <!--navigation-->\n <div class=\"bs-datepicker-head\">\n <ng-content select=\"bs-datepicker-navigation-view\"></ng-content>\n </div>\n\n <div class=\"bs-datepicker-body\">\n <ng-content></ng-content>\n </div>\n\n <!--timepicker-->\n <bs-timepicker *ngIf=\"false\"></bs-timepicker>\n `\n})\nexport class BsCalendarLayoutComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-current-date',\n template: `<div class=\"current-timedate\"><span>{{ title }}</span></div>`\n})\nexport class BsCurrentDateViewComponent {\n @Input() title: string;\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\n\nexport interface BsCustomDates {\n label: string;\n value: Date | Date[];\n}\n\n@Component({\n selector: 'bs-custom-date-view',\n template: `\n <div class=\"bs-datepicker-predefined-btns\">\n <button *ngFor=\"let range of ranges\">{{ range.label }}</button>\n <button *ngIf=\"isCustomRangeShown\">Custom Range</button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BsCustomDatesViewComponent {\n @Input() isCustomRangeShown: true;\n @Input() ranges: BsCustomDates[];\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2\n} from '@angular/core';\n\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { DayViewModel } from '../../models';\n\n@Component({\n selector: '[bsDatepickerDayDecorator]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.disabled]': 'day.isDisabled',\n '[class.is-highlighted]': 'day.isHovered',\n '[class.is-other-month]': 'day.isOtherMonth',\n '[class.is-active-other-month]': 'day.isOtherMonthHovered',\n '[class.in-range]': 'day.isInRange',\n '[class.select-start]': 'day.isSelectionStart',\n '[class.select-end]': 'day.isSelectionEnd',\n '[class.selected]': 'day.isSelected'\n },\n template: `{{ day.label }}`\n})\nexport class BsDatepickerDayDecoratorComponent implements OnInit {\n @Input() day: DayViewModel;\n\n constructor(\n private _config: BsDatepickerConfig,\n private _elRef: ElementRef,\n private _renderer: Renderer2\n ) { }\n\n ngOnInit(): void {\n if (this.day.isToday && this._config && this._config.customTodayClass) {\n this._renderer.addClass(this._elRef.nativeElement, this._config.customTodayClass);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport {\n BsDatepickerViewMode,\n BsNavigationDirection,\n DaysCalendarViewModel\n} from '../../models';\n\n@Component({\n selector: 'bs-datepicker-navigation-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <button class=\"previous\"\n [disabled]=\"calendar.disableLeftArrow\"\n [style.visibility]=\"calendar.hideLeftArrow ? 'hidden' : 'visible'\"\n (click)=\"navTo(true)\"><span>&lsaquo;</span>\n </button>\n\n &#8203; <!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"current\"\n *ngIf=\"calendar.monthTitle\"\n (click)=\"view('month')\"\n ><span>{{ calendar.monthTitle }}</span>\n </button>\n\n &#8203; <!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"current\" (click)=\"view('year')\"\n ><span>{{ calendar.yearTitle }}</span></button>\n\n &#8203; <!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"next\"\n [disabled]=\"calendar.disableRightArrow\"\n [style.visibility]=\"calendar.hideRightArrow ? 'hidden' : 'visible'\"\n (click)=\"navTo(false)\"><span>&rsaquo;</span>\n </button>\n `\n})\nexport class BsDatepickerNavigationViewComponent {\n @Input() calendar: DaysCalendarViewModel;\n\n @Output() onNavigate = new EventEmitter<BsNavigationDirection>();\n @Output() onViewMode = new EventEmitter<BsDatepickerViewMode>();\n\n navTo(down: boolean): void {\n this.onNavigate.emit(\n down ? BsNavigationDirection.DOWN : BsNavigationDirection.UP\n );\n }\n\n view(viewMode: BsDatepickerViewMode): void {\n this.onViewMode.emit(viewMode);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport {\n BsDatepickerViewMode,\n BsNavigationDirection,\n BsNavigationEvent,\n CellHoverEvent,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel\n} from '../../models';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\n\n@Component({\n selector: 'bs-days-calendar-view',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\"\n ></bs-datepicker-navigation-view>\n\n <!--days matrix-->\n <table role=\"grid\" class=\"days weeks\">\n <thead>\n <tr>\n <!--if show weeks-->\n <th *ngIf=\"options.showWeekNumbers\"></th>\n <th *ngFor=\"let weekday of calendar.weekdays; let i = index\"\n aria-label=\"weekday\">{{ calendar.weekdays[i] }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of calendar.weeks; let i = index\">\n <td class=\"week\" *ngIf=\"options.showWeekNumbers\">\n <span>{{ calendar.weekNumbers[i] }}</span>\n </td>\n <td *ngFor=\"let day of week.days\" role=\"gridcell\">\n <span bsDatepickerDayDecorator\n [day]=\"day\"\n (click)=\"selectDay(day)\"\n (mouseenter)=\"hoverDay(day, true)\"\n (mouseleave)=\"hoverDay(day, false)\">{{ day.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n\n </bs-calendar-layout>\n `\n})\nexport class BsDaysCalendarViewComponent {\n @Input() calendar: DaysCalendarViewModel;\n @Input() options: DatepickerRenderOptions;\n\n @Output() onNavigate = new EventEmitter<BsNavigationEvent>();\n @Output() onViewMode = new EventEmitter<BsDatepickerViewMode>();\n\n @Output() onSelect = new EventEmitter<DayViewModel>();\n @Output() onHover = new EventEmitter<CellHoverEvent>();\n\n constructor(private _config: BsDatepickerConfig) { }\n\n navigateTo(event: BsNavigationDirection): void {\n const step = BsNavigationDirection.DOWN === event ? -1 : 1;\n this.onNavigate.emit({ step: { month: step } });\n }\n\n changeViewMode(event: BsDatepickerViewMode): void {\n this.onViewMode.emit(event);\n }\n\n selectDay(event: DayViewModel): void {\n this.onSelect.emit(event);\n }\n\n hoverDay(cell: DayViewModel, isHovered: boolean): void {\n if (this._config.selectFromOtherMonth && cell.isOtherMonth) {\n cell.isOtherMonthHovered = isHovered;\n }\n\n this.onHover.emit({ cell, isHovered });\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n BsDatepickerViewMode,\n BsNavigationDirection,\n BsNavigationEvent,\n CellHoverEvent,\n MonthsCalendarViewModel,\n CalendarCellViewModel\n} from '../../models';\n\n@Component({\n selector: 'bs-month-calendar-view',\n template: `\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\"\n ></bs-datepicker-navigation-view>\n\n <table role=\"grid\" class=\"months\">\n <tbody>\n <tr *ngFor=\"let row of calendar.months\">\n <td *ngFor=\"let month of row\" role=\"gridcell\"\n (click)=\"viewMonth(month)\"\n (mouseenter)=\"hoverMonth(month, true)\"\n (mouseleave)=\"hoverMonth(month, false)\"\n [class.disabled]=\"month.isDisabled\"\n [class.is-highlighted]=\"month.isHovered\">\n <span>{{ month.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n `\n})\nexport class BsMonthCalendarViewComponent {\n @Input() calendar: MonthsCalendarViewModel;\n\n @Output() onNavigate = new EventEmitter<BsNavigationEvent>();\n @Output() onViewMode = new EventEmitter<BsDatepickerViewMode>();\n\n @Output() onSelect = new EventEmitter<CalendarCellViewModel>();\n @Output() onHover = new EventEmitter<CellHoverEvent>();\n\n navigateTo(event: BsNavigationDirection): void {\n const step = BsNavigationDirection.DOWN === event ? -1 : 1;\n this.onNavigate.emit({ step: { year: step } });\n }\n\n viewMonth(month: CalendarCellViewModel) {\n this.onSelect.emit(month);\n }\n\n hoverMonth(cell: CalendarCellViewModel, isHovered: boolean) {\n this.onHover.emit({ cell, isHovered });\n }\n\n changeViewMode(event: BsDatepickerViewMode): void {\n this.onViewMode.emit(event);\n }\n}\n","// tslint:disable:max-line-length\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'bs-timepicker',\n template: `\n <div class=\"bs-timepicker-container\">\n <div class=\"bs-timepicker-controls\">\n <button class=\"bs-decrease\">-</button>\n <input type=\"text\" [value]=\"hours\" placeholder=\"00\">\n <button class=\"bs-increase\">+</button>\n </div>\n <div class=\"bs-timepicker-controls\">\n <button class=\"bs-decrease\">-</button>\n <input type=\"text\" [value]=\"minutes\" placeholder=\"00\">\n <button class=\"bs-increase\">+</button>\n </div>\n <button class=\"switch-time-format\">{{ ampm }}\n <img\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg==\"\n alt=\"\">\n </button>\n </div>\n `\n})\nexport class BsTimepickerViewComponent {\n ampm = 'ok';\n hours = 0;\n minutes = 0;\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { yearsPerCalendar } from '../../engine/format-years-calendar';\nimport {\n BsDatepickerViewMode,\n BsNavigationDirection,\n BsNavigationEvent,\n CalendarCellViewModel,\n CellHoverEvent,\n YearsCalendarViewModel\n} from '../../models';\n\n@Component({\n selector: 'bs-years-calendar-view',\n template: `\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"changeViewMode($event)\"\n ></bs-datepicker-navigation-view>\n\n <table role=\"grid\" class=\"years\">\n <tbody>\n <tr *ngFor=\"let row of calendar.years\">\n <td *ngFor=\"let year of row\" role=\"gridcell\"\n (click)=\"viewYear(year)\"\n (mouseenter)=\"hoverYear(year, true)\"\n (mouseleave)=\"hoverYear(year, false)\"\n [class.disabled]=\"year.isDisabled\"\n [class.is-highlighted]=\"year.isHovered\">\n <span>{{ year.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n `\n})\nexport class BsYearsCalendarViewComponent {\n @Input() calendar: YearsCalendarViewModel;\n\n @Output() onNavigate = new EventEmitter<BsNavigationEvent>();\n @Output() onViewMode = new EventEmitter<BsDatepickerViewMode>();\n\n @Output() onSelect = new EventEmitter<CalendarCellViewModel>();\n @Output() onHover = new EventEmitter<CellHoverEvent>();\n\n navigateTo(event: BsNavigationDirection): void {\n const step = BsNavigationDirection.DOWN === event ? -1 : 1;\n this.onNavigate.emit({ step: { year: step * yearsPerCalendar } });\n }\n\n viewYear(year: CalendarCellViewModel) {\n this.onSelect.emit(year);\n }\n\n hoverYear(cell: CalendarCellViewModel, isHovered: boolean) {\n this.onHover.emit({ cell, isHovered });\n }\n\n changeViewMode(event: BsDatepickerViewMode): void {\n this.onViewMode.emit(event);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\nimport { BsDatepickerInputDirective } from './bs-datepicker-input.directive';\nimport { BsDatepickerDirective } from './bs-datepicker.component';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { BsDaterangepickerInputDirective } from './bs-daterangepicker-input.directive';\nimport { BsDaterangepickerDirective } from './bs-daterangepicker.component';\nimport { BsDaterangepickerConfig } from './bs-daterangepicker.config';\n\nimport { BsLocaleService } from './bs-locale.service';\nimport { BsDatepickerActions } from './reducer/bs-datepicker.actions';\nimport { BsDatepickerEffects } from './reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from './reducer/bs-datepicker.store';\nimport { BsCalendarLayoutComponent } from './themes/bs/bs-calendar-layout.component';\nimport { BsCurrentDateViewComponent } from './themes/bs/bs-current-date-view.component';\nimport { BsCustomDatesViewComponent } from './themes/bs/bs-custom-dates-view.component';\nimport { BsDatepickerContainerComponent } from './themes/bs/bs-datepicker-container.component';\nimport { BsDatepickerDayDecoratorComponent } from './themes/bs/bs-datepicker-day-decorator.directive';\nimport { BsDatepickerNavigationViewComponent } from './themes/bs/bs-datepicker-navigation-view.component';\nimport { BsDaterangepickerContainerComponent } from './themes/bs/bs-daterangepicker-container.component';\nimport { BsDaysCalendarViewComponent } from './themes/bs/bs-days-calendar-view.component';\nimport { BsMonthCalendarViewComponent } from './themes/bs/bs-months-calendar-view.component';\nimport { BsTimepickerViewComponent } from './themes/bs/bs-timepicker-view.component';\nimport { BsYearsCalendarViewComponent } from './themes/bs/bs-years-calendar-view.component';\n\nconst _exports = [\n BsDatepickerContainerComponent,\n BsDaterangepickerContainerComponent,\n\n BsDatepickerDirective,\n BsDatepickerInputDirective,\n\n BsDaterangepickerInputDirective,\n BsDaterangepickerDirective\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n BsDatepickerDayDecoratorComponent,\n BsCurrentDateViewComponent,\n BsDatepickerNavigationViewComponent,\n BsTimepickerViewComponent,\n\n BsCalendarLayoutComponent,\n BsDaysCalendarViewComponent,\n BsMonthCalendarViewComponent,\n BsYearsCalendarViewComponent,\n\n BsCustomDatesViewComponent,\n\n ..._exports\n ],\n entryComponents: [\n BsDatepickerContainerComponent,\n BsDaterangepickerContainerComponent\n ],\n exports: _exports\n})\nexport class BsDatepickerModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: BsDatepickerModule,\n providers: [\n ComponentLoaderFactory,\n PositioningService,\n BsDatepickerStore,\n BsDatepickerActions,\n BsDatepickerConfig,\n BsDaterangepickerConfig,\n BsDatepickerEffects,\n BsLocaleService\n ]\n };\n }\n}\n","import { formatDate } from 'ngx-bootstrap/chronos';\n\nexport class DateFormatter {\n format(date: Date, format: string, locale: string): string {\n return formatDate(date, format, locale);\n }\n}\n","/* tslint:disable: max-file-line-count */\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from '@angular/core';\n\nimport { DateFormatter } from './date-formatter';\n\n\n@Component({\n selector: 'datepicker-inner',\n template: `\n <!--&lt;!&ndash;ng-keydown=\"keydown($event)\"&ndash;&gt;-->\n <div *ngIf=\"datepickerMode\" class=\"well well-sm bg-faded p-a card\" role=\"application\" >\n <ng-content></ng-content>\n </div>\n `\n})\nexport class DatePickerInnerComponent implements OnInit, OnChanges {\n @Input() locale: string;\n @Input() datepickerMode: string;\n @Input() startingDay: number;\n @Input() yearRange: number;\n\n @Input() minDate: Date;\n @Input() maxDate: Date;\n @Input() minMode: string;\n @Input() maxMode: string;\n @Input() showWeeks: boolean;\n @Input() formatDay: string;\n @Input() formatMonth: string;\n @Input() formatYear: string;\n @Input() formatDayHeader: string;\n @Input() formatDayTitle: string;\n @Input() formatMonthTitle: string;\n @Input() onlyCurrentMonth: boolean;\n @Input() shortcutPropagation: boolean;\n @Input() customClass: { date: Date; mode: string; clazz: string }[];\n @Input() monthColLimit: number;\n @Input() yearColLimit: number;\n @Input() dateDisabled: { date: Date; mode: string }[];\n @Input() dayDisabled: number[];\n @Input() initDate: Date;\n\n @Output() selectionDone: EventEmitter<Date> = new EventEmitter<Date>(undefined);\n @Output() update: EventEmitter<Date> = new EventEmitter<Date>(false);\n @Output() activeDateChange: EventEmitter<Date> = new EventEmitter<Date>(undefined);\n\n /* tslint:disable-next-line: no-any*/\n stepDay: any = {};\n /* tslint:disable-next-line: no-any*/\n stepMonth: any = {};\n /* tslint:disable-next-line: no-any*/\n stepYear: any = {};\n\n uniqueId: string;\n\n protected modes: string[] = ['day', 'month', 'year'];\n protected dateFormatter: DateFormatter = new DateFormatter();\n protected _activeDate: Date;\n protected selectedDate: Date;\n protected activeDateId: string;\n\n protected refreshViewHandlerDay: Function;\n protected compareHandlerDay: Function;\n protected refreshViewHandlerMonth: Function;\n protected compareHandlerMonth: Function;\n protected refreshViewHandlerYear: Function;\n protected compareHandlerYear: Function;\n\n @Input()\n get activeDate(): Date {\n return this._activeDate;\n }\n\n set activeDate(value: Date) {\n this._activeDate = value;\n }\n\n // todo: add formatter value to Date object\n ngOnInit(): void {\n // todo: use date for unique value\n this.uniqueId = `datepicker--${Math.floor(Math.random() * 10000)}`;\n\n if (this.initDate) {\n this.activeDate = this.initDate;\n this.selectedDate = new Date(this.activeDate.valueOf());\n this.update.emit(this.activeDate);\n } else if (this.activeDate === undefined) {\n this.activeDate = new Date();\n }\n }\n\n // this.refreshView should be called here to reflect the changes on the fly\n // tslint:disable-next-line:no-unused-variable\n ngOnChanges(changes: SimpleChanges): void {\n this.refreshView();\n this.checkIfActiveDateGotUpdated(changes.activeDate);\n }\n\n // Check if activeDate has been update and then emit the activeDateChange with the new date\n /* tslint:disable-next-line: no-any */\n checkIfActiveDateGotUpdated(activeDate: any): void {\n if (activeDate && !activeDate.firstChange) {\n const previousValue = activeDate.previousValue;\n if (\n previousValue &&\n previousValue instanceof Date &&\n previousValue.getTime() !== activeDate.currentValue.getTime()\n ) {\n this.activeDateChange.emit(this.activeDate);\n }\n }\n }\n\n setCompareHandler(handler: Function, type: string): void {\n if (type === 'day') {\n this.compareHandlerDay = handler;\n }\n\n if (type === 'month') {\n this.compareHandlerMonth = handler;\n }\n\n if (type === 'year') {\n this.compareHandlerYear = handler;\n }\n }\n\n compare(date1: Date, date2: Date): number | undefined {\n if (date1 === undefined || date2 === undefined) {\n return undefined;\n }\n\n if (this.datepickerMode === 'day' && this.compareHandlerDay) {\n return this.compareHandlerDay(date1, date2);\n }\n\n if (this.datepickerMode === 'month' && this.compareHandlerMonth) {\n return this.compareHandlerMonth(date1, date2);\n }\n\n if (this.datepickerMode === 'year' && this.compareHandlerYear) {\n return this.compareHandlerYear(date1, date2);\n }\n\n return void 0;\n }\n\n setRefreshViewHandler(handler: Function, type: string): void {\n if (type === 'day') {\n this.refreshViewHandlerDay = handler;\n }\n\n if (type === 'month') {\n this.refreshViewHandlerMonth = handler;\n }\n\n if (type === 'year') {\n this.refreshViewHandlerYear = handler;\n }\n }\n\n refreshView(): void {\n if (this.datepickerMode === 'day' && this.refreshViewHandlerDay) {\n this.refreshViewHandlerDay();\n }\n\n if (this.datepickerMode === 'month' && this.refreshViewHandlerMonth) {\n this.refreshViewHandlerMonth();\n }\n\n if (this.datepickerMode === 'year' && this.refreshViewHandlerYear) {\n this.refreshViewHandlerYear();\n }\n }\n\n dateFilter(date: Date, format: string): string {\n return this.dateFormatter.format(date, format, this.locale);\n }\n\n /* tslint:disable-next-line: no-any*/\n isActive(dateObject: any): boolean {\n if (this.compare(dateObject.date, this.activeDate) === 0) {\n this.activeDateId = dateObject.uid;\n\n return true;\n }\n\n return false;\n }\n\n /* tslint:disable-next-line: no-any*/\n createDateObject(date: Date, format: string): any {\n /* tslint:disable-next-line: no-any*/\n const dateObject: any = {};\n dateObject.date = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate()\n );\n dateObject.date = this.fixTimeZone(dateObject.date);\n dateObject.label = this.dateFilter(date, format);\n dateObject.selected = this.compare(date, this.selectedDate) === 0;\n dateObject.disabled = this.isDisabled(date);\n dateObject.current = this.compare(date, new Date()) === 0;\n dateObject.customClass = this.getCustomClassForDate(dateObject.date);\n\n return dateObject;\n }\n\n /* tslint:disable-next-line: no-any*/\n split(arr: any[], size: number): any[] {\n /* tslint:disable-next-line: no-any*/\n const arrays: any[] = [];\n while (arr.length > 0) {\n arrays.push(arr.splice(0, size));\n }\n\n return arrays;\n }\n\n // Fix a hard-reproducible bug with timezones\n // The bug depends on OS, browser, current timezone and current date\n // i.e.\n // var date = new Date(2014, 0, 1);\n // console.log(date.getFullYear(), date.getMonth(), date.getDate(),\n // date.getHours()); can result in \"2013 11 31 23\" because of the bug.\n fixTimeZone(date: Date): Date {\n const hours = date.getHours();\n\n return new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n hours === 23 ? hours + 2 : 0\n );\n }\n\n select(date: Date, isManual = true): void {\n if (this.datepickerMode === this.minMode) {\n if (!this.activeDate) {\n this.activeDate = new Date(0, 0, 0, 0, 0, 0, 0);\n }\n\n this.activeDate = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate()\n );\n this.activeDate = this.fixTimeZone(this.activeDate);\n if (isManual) {\n this.selectionDone.emit(this.activeDate);\n }\n } else {\n this.activeDate = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate()\n );\n this.activeDate = this.fixTimeZone(this.activeDate);\n if (isManual) {\n this.datepickerMode = this.modes[\n this.modes.indexOf(this.datepickerMode) - 1\n ];\n }\n }\n\n this.selectedDate = new Date(this.activeDate.valueOf());\n this.update.emit(this.activeDate);\n this.refreshView();\n }\n\n move(direction: number): void {\n /* tslint:disable-next-line: no-any*/\n let expectedStep: any;\n if (this.datepickerMode === 'day') {\n expectedStep = this.stepDay;\n }\n\n if (this.datepickerMode === 'month') {\n expectedStep = this.stepMonth;\n }\n\n if (this.datepickerMode === 'year') {\n expectedStep = this.stepYear;\n }\n\n if (expectedStep) {\n const year =\n this.activeDate.getFullYear() + direction * (expectedStep.years || 0);\n const month =\n this.activeDate.getMonth() + direction * (expectedStep.months || 0);\n this.activeDate = new Date(year, month, 1);\n\n this.refreshView();\n this.activeDateChange.emit(this.activeDate);\n }\n }\n\n toggleMode(_direction: number): void {\n const direction = _direction || 1;\n\n if (\n (this.datepickerMode === this.maxMode && direction === 1) ||\n (this.datepickerMode === this.minMode && direction === -1)\n ) {\n return;\n }\n\n this.datepickerMode = this.modes[\n this.modes.indexOf(this.datepickerMode) + direction\n ];\n this.refreshView();\n }\n\n protected getCustomClassForDate(date: Date): string {\n if (!this.customClass) {\n return '';\n }\n // todo: build a hash of custom classes, it will work faster\n const customClassObject: {\n date: Date;\n mode: string;\n clazz: string;\n /* tslint:disable-next-line: no-any */\n } = this.customClass.find((customClass: any) => {\n return (\n customClass.date.valueOf() === date.valueOf() &&\n customClass.mode === this.datepickerMode\n );\n }, this);\n\n return customClassObject === undefined ? '' : customClassObject.clazz;\n }\n\n protected compareDateDisabled(\n date1Disabled: { date: Date; mode: string },\n date2: Date\n ): number {\n if (date1Disabled === undefined || date2 === undefined) {\n return undefined;\n }\n\n if (date1Disabled.mode === 'day' && this.compareHandlerDay) {\n return this.compareHandlerDay(date1Disabled.date, date2);\n }\n\n if (date1Disabled.mode === 'month' && this.compareHandlerMonth) {\n return this.compareHandlerMonth(date1Disabled.date, date2);\n }\n\n if (date1Disabled.mode === 'year' && this.compareHandlerYear) {\n return this.compareHandlerYear(date1Disabled.date, date2);\n }\n\n return undefined;\n }\n\n protected isDisabled(date: Date): boolean {\n let isDateDisabled = false;\n if (this.dateDisabled) {\n this.dateDisabled.forEach(\n (disabledDate: { date: Date; mode: string }) => {\n if (this.compareDateDisabled(disabledDate, date) === 0) {\n isDateDisabled = true;\n }\n }\n );\n }\n\n if (this.dayDisabled) {\n isDateDisabled =\n isDateDisabled ||\n this.dayDisabled.indexOf(date.getDay()) > -1;\n }\n\n return (\n isDateDisabled ||\n (this.minDate && this.compare(date, this.minDate) < 0) ||\n (this.maxDate && this.compare(date, this.maxDate) > 0)\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DatepickerConfig {\n locale = 'en';\n datepickerMode = 'day';\n startingDay = 0;\n yearRange = 20;\n minMode = 'day';\n maxMode = 'year';\n showWeeks = true;\n formatDay = 'DD';\n formatMonth = 'MMMM';\n formatYear = 'YYYY';\n formatDayHeader = 'dd';\n formatDayTitle = 'MMMM YYYY';\n formatMonthTitle = 'YYYY';\n onlyCurrentMonth = false;\n monthColLimit = 3;\n yearColLimit = 5;\n shortcutPropagation = false;\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n Provider,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\nimport { DatepickerConfig } from './datepicker.config';\n\nexport const DATEPICKER_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => DatePickerComponent),\n multi: true\n};\n\n/* tslint:disable:component-selector-name component-selector-type */\n@Component({\n selector: 'datepicker',\n template: `\n <datepicker-inner [activeDate]=\"activeDate\"\n (update)=\"onUpdate($event)\"\n [locale]=\"config.locale\"\n [datepickerMode]=\"datepickerMode\"\n [initDate]=\"initDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minMode]=\"minMode\"\n [maxMode]=\"maxMode\"\n [showWeeks]=\"showWeeks\"\n [formatDay]=\"formatDay\"\n [formatMonth]=\"formatMonth\"\n [formatYear]=\"formatYear\"\n [formatDayHeader]=\"formatDayHeader\"\n [formatDayTitle]=\"formatDayTitle\"\n [formatMonthTitle]=\"formatMonthTitle\"\n [startingDay]=\"startingDay\"\n [yearRange]=\"yearRange\"\n [customClass]=\"customClass\"\n [dateDisabled]=\"dateDisabled\"\n [dayDisabled]=\"dayDisabled\"\n [onlyCurrentMonth]=\"onlyCurrentMonth\"\n [shortcutPropagation]=\"shortcutPropagation\"\n [monthColLimit]=\"monthColLimit\"\n [yearColLimit]=\"yearColLimit\"\n (selectionDone)=\"onSelectionDone($event)\"\n (activeDateChange)=\"onActiveDateChange($event)\">\n <daypicker tabindex=\"0\"></daypicker>\n <monthpicker tabindex=\"0\"></monthpicker>\n <yearpicker tabindex=\"0\"></yearpicker>\n </datepicker-inner>\n `,\n providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]\n})\n/* tslint:enable:component-selector-name component-selector-type */\nexport class DatePickerComponent implements ControlValueAccessor {\n /** sets datepicker mode, supports: `day`, `month`, `year` */\n @Input() datepickerMode = 'day';\n /** default date to show if `ng-model` value is not specified */\n @Input() initDate: Date;\n /** oldest selectable date */\n @Input() minDate: Date;\n /** latest selectable date */\n @Input() maxDate: Date;\n /** set lower datepicker mode, supports: `day`, `month`, `year` */\n @Input() minMode: string;\n /** sets upper datepicker mode, supports: `day`, `month`, `year` */\n @Input() maxMode: string;\n /** if false week numbers will be hidden */\n @Input() showWeeks = true;\n /** format of day in month */\n @Input() formatDay: string;\n /** format of month in year */\n @Input() formatMonth: string;\n /** format of year in year range */\n @Input() formatYear: string;\n /** format of day in week header */\n @Input() formatDayHeader: string;\n /** format of title when selecting day */\n @Input() formatDayTitle: string;\n /** format of title when selecting month */\n @Input() formatMonthTitle: string;\n /** starting day of the week from 0-6 (0=Sunday, ..., 6=Saturday) */\n @Input() startingDay: number;\n /** number of years displayed in year selection */\n @Input() yearRange: number;\n /** if true only dates from the currently displayed month will be shown */\n @Input() onlyCurrentMonth: boolean;\n /** if true shortcut`s event propagation will be disabled */\n @Input() shortcutPropagation: boolean;\n /** number of months displayed in a single row of month picker */\n @Input() monthColLimit: number;\n /** number of years displayed in a single row of year picker */\n @Input() yearColLimit: number;\n /** array of custom css classes to be applied to targeted dates */\n @Input() customClass: { date: Date; mode: string; clazz: string }[];\n /** array of disabled dates */\n @Input() dateDisabled: { date: Date; mode: string }[];\n /** disabled days of the week from 0-6 (0=Sunday, ..., 6=Saturday) */\n @Input() dayDisabled: number[];\n\n /** currently active date */\n @Input()\n get activeDate(): Date {\n return this._activeDate || this._now;\n }\n\n set activeDate(value: Date) {\n this._activeDate = value;\n }\n\n @Output()\n selectionDone: EventEmitter<Date> = new EventEmitter<Date>(undefined);\n\n /** callback to invoke when the activeDate is changed. */\n @Output()\n activeDateChange: EventEmitter<Date> = new EventEmitter<Date>(\n undefined\n );\n\n @ViewChild(DatePickerInnerComponent)\n _datePicker: DatePickerInnerComponent;\n\n /* tslint:disable-next-line: no-any*/\n onChange: any = Function.prototype;\n /* tslint:disable-next-line: no-any*/\n onTouched: any = Function.prototype;\n\n config: DatepickerConfig;\n\n protected _now: Date = new Date();\n protected _activeDate: Date;\n\n constructor(config: DatepickerConfig) {\n this.config = config;\n this.configureOptions();\n }\n\n configureOptions(): void {\n Object.assign(this, this.config);\n }\n\n onUpdate(event: Date): void {\n this.activeDate = event;\n this.onChange(event);\n }\n\n onSelectionDone(event: Date): void {\n this.selectionDone.emit(event);\n }\n\n onActiveDateChange(event: Date): void {\n this.activeDateChange.emit(event);\n }\n // todo: support null value\n /* tslint:disable-next-line: no-any*/\n writeValue(value: any): void {\n if (this._datePicker.compare(value, this._activeDate) === 0) {\n return;\n }\n if (value && value instanceof Date) {\n this.activeDate = value;\n this._datePicker.select(value, false);\n\n return;\n }\n\n this.activeDate = value ? new Date(value) : void 0;\n }\n\n registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","// @deprecated\n// tslint:disable\nimport { Component, OnInit } from '@angular/core';\nimport { isBs3 } from 'ngx-bootstrap/utils';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\n\n@Component({\n selector: 'daypicker',\n template: `\n<table *ngIf=\"datePicker.datepickerMode === 'day'\" role=\"grid\" [attr.aria-labelledby]=\"datePicker.uniqueId + '-title'\" aria-activedescendant=\"activeDateId\">\n <thead>\n <tr>\n <th>\n <button *ngIf=\"!isBs4\"\n type=\"button\"\n class=\"btn btn-default btn-secondary btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\"\n tabindex=\"-1\">‹</button>\n <button *ngIf=\"isBs4\"\n type=\"button\"\n class=\"btn btn-default btn-secondary btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\"\n tabindex=\"-1\">&lt;</button>\n </th>\n <th [attr.colspan]=\"5 + (datePicker.showWeeks ? 1 : 0)\">\n <button [id]=\"datePicker.uniqueId + '-title'\"\n type=\"button\" class=\"btn btn-default btn-secondary btn-sm\"\n (click)=\"datePicker.toggleMode(0)\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button *ngIf=\"!isBs4\"\n type=\"button\"\n class=\"btn btn-default btn-secondary btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\"\n tabindex=\"-1\">›</button>\n <button *ngIf=\"isBs4\"\n type=\"button\"\n class=\"btn btn-default btn-secondary btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\"\n tabindex=\"-1\">&gt;\n </button>\n </th>\n </tr>\n <tr>\n <th *ngIf=\"datePicker.showWeeks\"></th>\n <th *ngFor=\"let labelz of labels\" class=\"text-center\">\n <small aria-label=\"labelz.full\"><b>{{ labelz.abbr }}</b></small>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-template ngFor [ngForOf]=\"rows\" let-rowz=\"$implicit\" let-index=\"index\">\n <tr *ngIf=\"!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)\">\n <td *ngIf=\"datePicker.showWeeks\" class=\"h6\" class=\"text-center\">\n <em>{{ weekNumbers[index] }}</em>\n </td>\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\" [id]=\"dtz.uid\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-sm {{dtz.customClass}}\"\n *ngIf=\"!(datePicker.onlyCurrentMonth && dtz.secondary)\"\n [ngClass]=\"{'btn-secondary': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected, disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz), 'btn-default': !isBs4}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-muted': dtz.secondary || dtz.current, 'text-info': !isBs4 && dtz.current}\">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </ng-template>\n </tbody>\n</table>\n `,\n styles: [\n `\n :host .btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n }\n :host .btn-info .text-muted {\n color: #292b2c !important;\n }\n `\n ]\n})\nexport class DayPickerComponent implements OnInit {\n labels: any[] = [];\n title: string;\n rows: any[] = [];\n weekNumbers: number[] = [];\n datePicker: DatePickerInnerComponent;\n\n constructor(datePicker: DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n /*protected getDaysInMonth(year:number, month:number) {\n return ((month === 1) && (year % 4 === 0) &&\n ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];\n }*/\n ngOnInit(): void {\n const self = this;\n\n this.datePicker.stepDay = { months: 1 };\n\n this.datePicker.setRefreshViewHandler(function(): void {\n const year = this.activeDate.getFullYear();\n const month = this.activeDate.getMonth();\n const firstDayOfMonth = new Date(year, month, 1);\n const difference = this.startingDay - firstDayOfMonth.getDay();\n const numDisplayedFromPreviousMonth =\n difference > 0 ? 7 - difference : -difference;\n const firstDate = new Date(firstDayOfMonth.getTime());\n\n if (numDisplayedFromPreviousMonth > 0) {\n firstDate.setDate(-numDisplayedFromPreviousMonth + 1);\n }\n\n // 42 is the number of days on a six-week calendar\n const _days: Date[] = self.getDates(firstDate, 42);\n const days: any[] = [];\n for (let i = 0; i < 42; i++) {\n const _dateObject = this.createDateObject(_days[i], this.formatDay);\n _dateObject.secondary = _days[i].getMonth() !== month;\n _dateObject.uid = this.uniqueId + '-' + i;\n days[i] = _dateObject;\n }\n\n self.labels = [];\n for (let j = 0; j < 7; j++) {\n self.labels[j] = {};\n self.labels[j].abbr = this.dateFilter(\n days[j].date,\n this.formatDayHeader\n );\n self.labels[j].full = this.dateFilter(days[j].date, 'EEEE');\n }\n\n self.title = this.dateFilter(this.activeDate, this.formatDayTitle);\n self.rows = this.split(days, 7);\n\n if (this.showWeeks) {\n self.weekNumbers = [];\n const thursdayIndex = (4 + 7 - this.startingDay) % 7;\n const numWeeks = self.rows.length;\n for (let curWeek = 0; curWeek < numWeeks; curWeek++) {\n self.weekNumbers.push(\n self.getISO8601WeekNumber(self.rows[curWeek][thursdayIndex].date)\n );\n }\n }\n }, 'day');\n\n this.datePicker.setCompareHandler(function(\n date1: Date,\n date2: Date\n ): number {\n const d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());\n return d1.getTime() - d2.getTime();\n }, 'day');\n\n this.datePicker.refreshView();\n }\n\n protected getDates(startDate: Date, n: number): Date[] {\n const dates: Date[] = new Array(n);\n let current = new Date(startDate.getTime());\n let i = 0;\n let date: Date;\n while (i < n) {\n date = new Date(current.getTime());\n date = this.datePicker.fixTimeZone(date);\n dates[i++] = date;\n current = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate() + 1\n );\n }\n return dates;\n }\n\n protected getISO8601WeekNumber(date: Date): number {\n const checkDate = new Date(date.getTime());\n // Thursday\n checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\n const time = checkDate.getTime();\n // Compare with Jan 1\n checkDate.setMonth(0);\n checkDate.setDate(1);\n return (\n Math.floor(Math.round((time - checkDate.getTime()) / 86400000) / 7) + 1\n );\n }\n\n // todo: key events implementation\n}\n","// @deprecated\n// tslint:disable\nimport { Component, OnInit } from '@angular/core';\n\nimport { isBs3 } from 'ngx-bootstrap/utils';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\n\n@Component({\n selector: 'monthpicker',\n template: `\n<table *ngIf=\"datePicker.datepickerMode==='month'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">‹</button></th>\n <th [attr.colspan]=\"((datePicker.monthColLimit - 2) <= 0) ? 1 : datePicker.monthColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode(0)\"\n [disabled]=\"datePicker.datepickerMode === maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{ title }}</strong> \n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\" [attr.id]=\"dtz.uid\" [ngClass]=\"dtz.customClass\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n `,\n styles: [\n `\n :host .btn-info .text-success {\n color: #fff !important;\n }\n `\n ]\n})\nexport class MonthPickerComponent implements OnInit {\n title: string;\n rows: any[] = [];\n datePicker: DatePickerInnerComponent;\n maxMode: string;\n\n constructor(datePicker: DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n ngOnInit(): void {\n const self = this;\n\n this.datePicker.stepMonth = { years: 1 };\n\n this.datePicker.setRefreshViewHandler(function(): void {\n const months: any[] = new Array(12);\n const year: number = this.activeDate.getFullYear();\n let date: Date;\n\n for (let i = 0; i < 12; i++) {\n date = new Date(year, i, 1);\n date = this.fixTimeZone(date);\n months[i] = this.createDateObject(date, this.formatMonth);\n months[i].uid = this.uniqueId + '-' + i;\n }\n\n self.title = this.dateFilter(this.activeDate, this.formatMonthTitle);\n self.rows = this.split(months, self.datePicker.monthColLimit);\n }, 'month');\n\n this.datePicker.setCompareHandler(function(\n date1: Date,\n date2: Date\n ): number {\n const d1 = new Date(date1.getFullYear(), date1.getMonth());\n const d2 = new Date(date2.getFullYear(), date2.getMonth());\n return d1.getTime() - d2.getTime();\n }, 'month');\n\n this.datePicker.refreshView();\n }\n\n // todo: key events implementation\n}\n","// @deprecated\n// tslint:disable\nimport { Component, OnInit } from '@angular/core';\n\nimport { isBs3 } from 'ngx-bootstrap/utils';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\n\n@Component({\n selector: 'yearpicker',\n template: `\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">‹</button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode(0)\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\" [attr.id]=\"dtz.uid\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n `,\n styles: [\n `\n :host .btn-info .text-success {\n color: #fff !important;\n }\n `\n ]\n})\nexport class YearPickerComponent implements OnInit {\n datePicker: DatePickerInnerComponent;\n title: string;\n rows: any[] = [];\n\n constructor(datePicker: DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n ngOnInit(): void {\n const self = this;\n\n this.datePicker.stepYear = { years: this.datePicker.yearRange };\n\n this.datePicker.setRefreshViewHandler(function(): void {\n const years: any[] = new Array(this.yearRange);\n let date: Date;\n const start = self.getStartingYear(this.activeDate.getFullYear());\n\n for (let i = 0; i < this.yearRange; i++) {\n date = new Date(start + i, 0, 1);\n date = this.fixTimeZone(date);\n years[i] = this.createDateObject(date, this.formatYear);\n years[i].uid = this.uniqueId + '-' + i;\n }\n\n self.title = [years[0].label, years[this.yearRange - 1].label].join(\n ' - '\n );\n self.rows = this.split(years, self.datePicker.yearColLimit);\n }, 'year');\n\n this.datePicker.setCompareHandler(function(\n date1: Date,\n date2: Date\n ): number {\n return date1.getFullYear() - date2.getFullYear();\n }, 'year');\n\n this.datePicker.refreshView();\n }\n\n protected getStartingYear(year: number): number {\n // todo: parseInt\n return (\n (year - 1) / this.datePicker.yearRange * this.datePicker.yearRange + 1\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\nimport { DatePickerComponent } from './datepicker.component';\nimport { DatepickerConfig } from './datepicker.config';\nimport { DayPickerComponent } from './daypicker.component';\nimport { MonthPickerComponent } from './monthpicker.component';\nimport { YearPickerComponent } from './yearpicker.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [\n DatePickerComponent,\n DatePickerInnerComponent,\n DayPickerComponent,\n MonthPickerComponent,\n YearPickerComponent\n ],\n exports: [\n DatePickerComponent,\n DatePickerInnerComponent,\n DayPickerComponent,\n MonthPickerComponent,\n YearPickerComponent\n ],\n entryComponents: [DatePickerComponent]\n})\nexport class DatepickerModule {\n static forRoot(): ModuleWithProviders {\n return { ngModule: DatepickerModule, providers: [DatepickerConfig] };\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, Provider } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { DatePickerInnerComponent } from './datepicker-inner.component';
4
4
  import { DatepickerConfig } from './datepicker.config';
5
- export declare const DATEPICKER_CONTROL_VALUE_ACCESSOR: any;
5
+ export declare const DATEPICKER_CONTROL_VALUE_ACCESSOR: Provider;
6
6
  export declare class DatePickerComponent implements ControlValueAccessor {
7
7
  /** sets datepicker mode, supports: `day`, `month`, `year` */
8
8
  datepickerMode: string;
@@ -68,10 +68,10 @@ export declare class DatePickerComponent implements ControlValueAccessor {
68
68
  protected _activeDate: Date;
69
69
  constructor(config: DatepickerConfig);
70
70
  configureOptions(): void;
71
- onUpdate(event: any): void;
71
+ onUpdate(event: Date): void;
72
72
  onSelectionDone(event: Date): void;
73
73
  onActiveDateChange(event: Date): void;
74
74
  writeValue(value: any): void;
75
- registerOnChange(fn: (_: any) => {}): void;
76
- registerOnTouched(fn: () => {}): void;
75
+ registerOnChange(fn: () => void): void;
76
+ registerOnTouched(fn: () => void): void;
77
77
  }
@@ -1,2 +1,2 @@
1
- import { DaysCalendarModel, MonthViewOptions } from '../models/index';
1
+ import { DaysCalendarModel, MonthViewOptions } from '../models';
2
2
  export declare function calcDaysCalendar(startingDate: Date, options: MonthViewOptions): DaysCalendarModel;
@@ -1,8 +1,9 @@
1
- import { DaysCalendarViewModel } from '../models/index';
1
+ import { DaysCalendarViewModel } from '../models';
2
2
  export interface FlagDaysCalendarOptions {
3
3
  isDisabled: boolean;
4
4
  minDate: Date;
5
5
  maxDate: Date;
6
+ daysDisabled: number[];
6
7
  hoveredDate: Date;
7
8
  selectedDate: Date;
8
9
  selectedRange: Date[];
@@ -1,4 +1,4 @@
1
- import { MonthsCalendarViewModel } from '../models/index';
1
+ import { MonthsCalendarViewModel } from '../models';
2
2
  export interface FlagMonthCalendarOptions {
3
3
  isDisabled: boolean;
4
4
  minDate: Date;
@@ -1,4 +1,4 @@
1
- import { YearsCalendarViewModel } from '../models/index';
1
+ import { YearsCalendarViewModel } from '../models';
2
2
  export interface FlagYearsCalendarOptions {
3
3
  isDisabled: boolean;
4
4
  minDate: Date;
@@ -1,4 +1,4 @@
1
- import { DatepickerFormatOptions, DaysCalendarModel, DaysCalendarViewModel } from '../models/index';
1
+ import { DatepickerFormatOptions, DaysCalendarModel, DaysCalendarViewModel } from '../models';
2
2
  export declare function formatDaysCalendar(daysCalendar: DaysCalendarModel, formatOptions: DatepickerFormatOptions, monthIndex: number): DaysCalendarViewModel;
3
3
  export declare function getWeekNumbers(daysMatrix: Date[][], format: string, locale: string): string[];
4
4
  export declare function getShiftedWeekdays(locale: string): string[];
@@ -1,2 +1,2 @@
1
- import { DatepickerFormatOptions, MonthsCalendarViewModel } from '../models/index';
1
+ import { DatepickerFormatOptions, MonthsCalendarViewModel } from '../models';
2
2
  export declare function formatMonthsCalendar(viewDate: Date, formatOptions: DatepickerFormatOptions): MonthsCalendarViewModel;
@@ -1,3 +1,3 @@
1
- import { DatepickerFormatOptions, YearsCalendarViewModel } from '../models/index';
1
+ import { DatepickerFormatOptions, YearsCalendarViewModel } from '../models';
2
2
  export declare const yearsPerCalendar: number;
3
3
  export declare function formatYearsCalendar(viewDate: Date, formatOptions: DatepickerFormatOptions): YearsCalendarViewModel;
@@ -1,2 +1,2 @@
1
- import { BsDatepickerViewMode } from '../models/index';
2
- export declare function canSwitchMode(mode: BsDatepickerViewMode): boolean;
1
+ import { BsDatepickerViewMode } from '../models';
2
+ export declare function canSwitchMode(mode: BsDatepickerViewMode, minMode?: BsDatepickerViewMode): boolean;