ngx-bootstrap 7.1.2 → 8.0.0-RC.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2349) hide show
  1. package/accordion/accordion-group.component.d.ts +3 -5
  2. package/accordion/accordion.component.d.ts +3 -5
  3. package/accordion/accordion.config.d.ts +3 -4
  4. package/accordion/accordion.module.d.ts +8 -9
  5. package/accordion/esm2020/accordion-group.component.mjs +88 -0
  6. package/accordion/esm2020/accordion.component.mjs +56 -0
  7. package/accordion/esm2020/accordion.config.mjs +22 -0
  8. package/accordion/esm2020/accordion.module.mjs +23 -0
  9. package/accordion/esm2020/index.mjs +2 -0
  10. package/accordion/esm2020/ngx-bootstrap-accordion.mjs +5 -0
  11. package/accordion/esm2020/public_api.mjs +5 -0
  12. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +186 -0
  13. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +1 -0
  14. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs +184 -0
  15. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +1 -0
  16. package/accordion/ngx-bootstrap-accordion.d.ts +1 -2
  17. package/accordion/package.json +27 -34
  18. package/alert/alert.component.d.ts +3 -5
  19. package/alert/alert.config.d.ts +3 -4
  20. package/alert/alert.module.d.ts +6 -7
  21. package/alert/esm2020/alert.component.mjs +77 -0
  22. package/alert/esm2020/alert.config.mjs +21 -0
  23. package/alert/esm2020/alert.module.mjs +22 -0
  24. package/alert/esm2020/index.mjs +2 -0
  25. package/alert/esm2020/ngx-bootstrap-alert.mjs +5 -0
  26. package/alert/esm2020/public_api.mjs +4 -0
  27. package/alert/fesm2015/ngx-bootstrap-alert.mjs +120 -0
  28. package/alert/fesm2015/ngx-bootstrap-alert.mjs.map +1 -0
  29. package/alert/fesm2020/ngx-bootstrap-alert.mjs +120 -0
  30. package/alert/fesm2020/ngx-bootstrap-alert.mjs.map +1 -0
  31. package/alert/ngx-bootstrap-alert.d.ts +1 -2
  32. package/alert/package.json +24 -23
  33. package/buttons/button-checkbox.directive.d.ts +3 -5
  34. package/buttons/button-radio-group.directive.d.ts +3 -5
  35. package/buttons/button-radio.directive.d.ts +3 -5
  36. package/buttons/buttons.module.d.ts +7 -8
  37. package/buttons/esm2020/button-checkbox.directive.mjs +87 -0
  38. package/buttons/esm2020/button-radio-group.directive.mjs +157 -0
  39. package/buttons/esm2020/button-radio.directive.mjs +188 -0
  40. package/buttons/esm2020/buttons.module.mjs +21 -0
  41. package/buttons/esm2020/index.mjs +2 -0
  42. package/buttons/esm2020/ngx-bootstrap-buttons.mjs +5 -0
  43. package/buttons/esm2020/public_api.mjs +5 -0
  44. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs +448 -0
  45. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +1 -0
  46. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs +446 -0
  47. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +1 -0
  48. package/buttons/ngx-bootstrap-buttons.d.ts +1 -5
  49. package/buttons/package.json +23 -22
  50. package/carousel/carousel.component.d.ts +3 -5
  51. package/carousel/carousel.config.d.ts +3 -4
  52. package/carousel/carousel.module.d.ts +7 -8
  53. package/carousel/esm2020/carousel.component.mjs +711 -0
  54. package/carousel/esm2020/carousel.config.mjs +32 -0
  55. package/carousel/esm2020/carousel.module.mjs +22 -0
  56. package/carousel/esm2020/index.mjs +2 -0
  57. package/carousel/esm2020/models/index.mjs +2 -0
  58. package/carousel/esm2020/ngx-bootstrap-carousel.mjs +5 -0
  59. package/carousel/esm2020/public_api.mjs +5 -0
  60. package/carousel/esm2020/slide.component.mjs +92 -0
  61. package/carousel/esm2020/utils.mjs +32 -0
  62. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +875 -0
  63. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +1 -0
  64. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs +874 -0
  65. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +1 -0
  66. package/carousel/ngx-bootstrap-carousel.d.ts +1 -2
  67. package/carousel/package.json +24 -23
  68. package/carousel/slide.component.d.ts +3 -5
  69. package/chronos/esm2020/create/check-overflow.mjs +30 -0
  70. package/chronos/esm2020/create/clone.mjs +6 -0
  71. package/chronos/esm2020/create/date-from-array.mjs +19 -0
  72. package/chronos/esm2020/create/from-anything.mjs +106 -0
  73. package/chronos/esm2020/create/from-array.mjs +135 -0
  74. package/chronos/esm2020/create/from-object.mjs +17 -0
  75. package/chronos/esm2020/create/from-string-and-array.mjs +38 -0
  76. package/chronos/esm2020/create/from-string-and-format.mjs +106 -0
  77. package/chronos/esm2020/create/from-string.mjs +222 -0
  78. package/chronos/esm2020/create/local.mjs +16 -0
  79. package/chronos/esm2020/create/parsing-flags.mjs +26 -0
  80. package/chronos/esm2020/create/parsing.types.mjs +2 -0
  81. package/chronos/esm2020/create/valid.mjs +42 -0
  82. package/chronos/esm2020/duration/bubble.mjs +47 -0
  83. package/chronos/esm2020/duration/constructor.mjs +130 -0
  84. package/chronos/esm2020/duration/create.mjs +112 -0
  85. package/chronos/esm2020/duration/humanize.mjs +79 -0
  86. package/chronos/esm2020/duration/valid.mjs +43 -0
  87. package/chronos/esm2020/format/format.mjs +50 -0
  88. package/chronos/esm2020/format.mjs +46 -0
  89. package/chronos/esm2020/i18n/ar.mjs +132 -0
  90. package/chronos/esm2020/i18n/bg.mjs +90 -0
  91. package/chronos/esm2020/i18n/ca.mjs +87 -0
  92. package/chronos/esm2020/i18n/cs.mjs +175 -0
  93. package/chronos/esm2020/i18n/da.mjs +49 -0
  94. package/chronos/esm2020/i18n/de.mjs +67 -0
  95. package/chronos/esm2020/i18n/en-gb.mjs +57 -0
  96. package/chronos/esm2020/i18n/es-do.mjs +81 -0
  97. package/chronos/esm2020/i18n/es-us.mjs +75 -0
  98. package/chronos/esm2020/i18n/es.mjs +80 -0
  99. package/chronos/esm2020/i18n/et.mjs +69 -0
  100. package/chronos/esm2020/i18n/fi.mjs +96 -0
  101. package/chronos/esm2020/i18n/fr.mjs +72 -0
  102. package/chronos/esm2020/i18n/gl.mjs +80 -0
  103. package/chronos/esm2020/i18n/he.mjs +94 -0
  104. package/chronos/esm2020/i18n/hi.mjs +119 -0
  105. package/chronos/esm2020/i18n/hr.mjs +58 -0
  106. package/chronos/esm2020/i18n/hu.mjs +100 -0
  107. package/chronos/esm2020/i18n/id.mjs +78 -0
  108. package/chronos/esm2020/i18n/it.mjs +61 -0
  109. package/chronos/esm2020/i18n/ja.mjs +71 -0
  110. package/chronos/esm2020/i18n/ka.mjs +83 -0
  111. package/chronos/esm2020/i18n/kk.mjs +76 -0
  112. package/chronos/esm2020/i18n/ko.mjs +72 -0
  113. package/chronos/esm2020/i18n/lt.mjs +112 -0
  114. package/chronos/esm2020/i18n/lv.mjs +52 -0
  115. package/chronos/esm2020/i18n/mn.mjs +94 -0
  116. package/chronos/esm2020/i18n/nb.mjs +53 -0
  117. package/chronos/esm2020/i18n/nl-be.mjs +77 -0
  118. package/chronos/esm2020/i18n/nl.mjs +76 -0
  119. package/chronos/esm2020/i18n/pl.mjs +122 -0
  120. package/chronos/esm2020/i18n/pt-br.mjs +52 -0
  121. package/chronos/esm2020/i18n/ro.mjs +66 -0
  122. package/chronos/esm2020/i18n/ru.mjs +177 -0
  123. package/chronos/esm2020/i18n/sk.mjs +153 -0
  124. package/chronos/esm2020/i18n/sl.mjs +179 -0
  125. package/chronos/esm2020/i18n/sq.mjs +50 -0
  126. package/chronos/esm2020/i18n/sv.mjs +59 -0
  127. package/chronos/esm2020/i18n/th-be.mjs +73 -0
  128. package/chronos/esm2020/i18n/th.mjs +58 -0
  129. package/chronos/esm2020/i18n/tr.mjs +78 -0
  130. package/chronos/esm2020/i18n/uk.mjs +143 -0
  131. package/chronos/esm2020/i18n/vi.mjs +70 -0
  132. package/chronos/esm2020/i18n/zh-cn.mjs +109 -0
  133. package/chronos/esm2020/index.mjs +2 -0
  134. package/chronos/esm2020/locale/calendar.mjs +9 -0
  135. package/chronos/esm2020/locale/locale.class.mjs +532 -0
  136. package/chronos/esm2020/locale/locale.defaults.mjs +40 -0
  137. package/chronos/esm2020/locale/locales.mjs +228 -0
  138. package/chronos/esm2020/moment/add-subtract.mjs +35 -0
  139. package/chronos/esm2020/moment/calendar.mjs +41 -0
  140. package/chronos/esm2020/moment/diff.mjs +70 -0
  141. package/chronos/esm2020/moment/min-max.mjs +38 -0
  142. package/chronos/esm2020/ngx-bootstrap-chronos.mjs +5 -0
  143. package/chronos/esm2020/parse/regex.mjs +47 -0
  144. package/chronos/esm2020/parse/token.mjs +31 -0
  145. package/chronos/esm2020/public_api.mjs +56 -0
  146. package/chronos/esm2020/testing/chain.mjs +708 -0
  147. package/chronos/esm2020/types.mjs +2 -0
  148. package/chronos/esm2020/units/aliases.mjs +35 -0
  149. package/chronos/esm2020/units/constants.mjs +11 -0
  150. package/chronos/esm2020/units/day-of-month.mjs +31 -0
  151. package/chronos/esm2020/units/day-of-week.mjs +129 -0
  152. package/chronos/esm2020/units/day-of-year.mjs +37 -0
  153. package/chronos/esm2020/units/hour.mjs +127 -0
  154. package/chronos/esm2020/units/index.mjs +19 -0
  155. package/chronos/esm2020/units/millisecond.mjs +59 -0
  156. package/chronos/esm2020/units/minute.mjs +23 -0
  157. package/chronos/esm2020/units/month.mjs +63 -0
  158. package/chronos/esm2020/units/offset.mjs +209 -0
  159. package/chronos/esm2020/units/priorities.mjs +21 -0
  160. package/chronos/esm2020/units/quarter.mjs +39 -0
  161. package/chronos/esm2020/units/second.mjs +23 -0
  162. package/chronos/esm2020/units/timestamp.mjs +28 -0
  163. package/chronos/esm2020/units/timezone.mjs +19 -0
  164. package/chronos/esm2020/units/week-calendar-utils.mjs +70 -0
  165. package/chronos/esm2020/units/week-year.mjs +101 -0
  166. package/chronos/esm2020/units/week.mjs +58 -0
  167. package/chronos/esm2020/units/year.mjs +60 -0
  168. package/chronos/esm2020/utils/abs-ceil.mjs +4 -0
  169. package/chronos/esm2020/utils/abs-round.mjs +4 -0
  170. package/chronos/esm2020/utils/compare-arrays.mjs +16 -0
  171. package/chronos/esm2020/utils/date-compare.mjs +55 -0
  172. package/chronos/esm2020/utils/date-getters.mjs +67 -0
  173. package/chronos/esm2020/utils/date-setters.mjs +75 -0
  174. package/chronos/esm2020/utils/defaults.mjs +11 -0
  175. package/chronos/esm2020/utils/start-end-of.mjs +57 -0
  176. package/chronos/esm2020/utils/type-checks.mjs +58 -0
  177. package/chronos/esm2020/utils/zero-fill.mjs +10 -0
  178. package/chronos/esm2020/utils.mjs +7 -0
  179. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +7311 -0
  180. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +1 -0
  181. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs +7311 -0
  182. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +1 -0
  183. package/chronos/ngx-bootstrap-chronos.d.ts +1 -3
  184. package/chronos/package.json +21 -21
  185. package/collapse/collapse.directive.d.ts +3 -5
  186. package/collapse/collapse.module.d.ts +5 -6
  187. package/collapse/esm2020/collapse-animations.mjs +11 -0
  188. package/collapse/esm2020/collapse.directive.mjs +168 -0
  189. package/collapse/esm2020/collapse.module.mjs +19 -0
  190. package/collapse/esm2020/index.mjs +2 -0
  191. package/collapse/esm2020/ngx-bootstrap-collapse.mjs +5 -0
  192. package/collapse/esm2020/public_api.mjs +3 -0
  193. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs +200 -0
  194. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs.map +1 -0
  195. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs +200 -0
  196. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs.map +1 -0
  197. package/collapse/ngx-bootstrap-collapse.d.ts +1 -2
  198. package/collapse/package.json +24 -23
  199. package/component-loader/component-loader.factory.d.ts +3 -4
  200. package/component-loader/esm2020/bs-component-ref.class.mjs +3 -0
  201. package/component-loader/esm2020/component-loader.class.mjs +286 -0
  202. package/component-loader/esm2020/component-loader.factory.mjs +30 -0
  203. package/component-loader/esm2020/content-ref.class.mjs +16 -0
  204. package/component-loader/esm2020/index.mjs +2 -0
  205. package/component-loader/esm2020/listen-options.model.mjs +2 -0
  206. package/component-loader/esm2020/ngx-bootstrap-component-loader.mjs +5 -0
  207. package/component-loader/esm2020/public_api.mjs +5 -0
  208. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +339 -0
  209. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +1 -0
  210. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs +336 -0
  211. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +1 -0
  212. package/component-loader/ngx-bootstrap-component-loader.d.ts +1 -2
  213. package/component-loader/package.json +27 -25
  214. package/datepicker/bs-datepicker-inline.component.d.ts +3 -5
  215. package/datepicker/bs-datepicker-inline.config.d.ts +3 -4
  216. package/datepicker/bs-datepicker-input.directive.d.ts +3 -5
  217. package/datepicker/bs-datepicker.component.d.ts +4 -6
  218. package/datepicker/bs-datepicker.config.d.ts +3 -4
  219. package/datepicker/bs-datepicker.module.d.ts +26 -27
  220. package/datepicker/bs-daterangepicker-inline.component.d.ts +3 -5
  221. package/datepicker/bs-daterangepicker-inline.config.d.ts +3 -4
  222. package/datepicker/bs-daterangepicker-input.directive.d.ts +3 -5
  223. package/datepicker/bs-daterangepicker.component.d.ts +3 -5
  224. package/datepicker/bs-daterangepicker.config.d.ts +3 -4
  225. package/datepicker/bs-locale.service.d.ts +3 -5
  226. package/datepicker/datepicker-inner.component.d.ts +3 -5
  227. package/datepicker/datepicker.component.d.ts +3 -5
  228. package/datepicker/datepicker.config.d.ts +3 -4
  229. package/datepicker/datepicker.module.d.ts +11 -12
  230. package/datepicker/daypicker.component.d.ts +3 -5
  231. package/datepicker/esm2020/base/bs-datepicker-container.mjs +76 -0
  232. package/datepicker/esm2020/bs-datepicker-inline.component.mjs +151 -0
  233. package/datepicker/esm2020/bs-datepicker-inline.config.mjs +14 -0
  234. package/datepicker/esm2020/bs-datepicker-input.directive.mjs +163 -0
  235. package/datepicker/esm2020/bs-datepicker.component.mjs +265 -0
  236. package/datepicker/esm2020/bs-datepicker.config.mjs +89 -0
  237. package/datepicker/esm2020/bs-datepicker.module.mjs +123 -0
  238. package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +151 -0
  239. package/datepicker/esm2020/bs-daterangepicker-inline.config.mjs +21 -0
  240. package/datepicker/esm2020/bs-daterangepicker-input.directive.mjs +208 -0
  241. package/datepicker/esm2020/bs-daterangepicker.component.mjs +256 -0
  242. package/datepicker/esm2020/bs-daterangepicker.config.mjs +19 -0
  243. package/datepicker/esm2020/bs-locale.service.mjs +32 -0
  244. package/datepicker/esm2020/date-formatter.mjs +7 -0
  245. package/datepicker/esm2020/datepicker-animations.mjs +16 -0
  246. package/datepicker/esm2020/datepicker-inner.component.mjs +325 -0
  247. package/datepicker/esm2020/datepicker.component.mjs +204 -0
  248. package/datepicker/esm2020/datepicker.config.mjs +32 -0
  249. package/datepicker/esm2020/datepicker.module.mjs +48 -0
  250. package/datepicker/esm2020/daypicker.component.mjs +255 -0
  251. package/datepicker/esm2020/engine/calc-days-calendar.mjs +21 -0
  252. package/datepicker/esm2020/engine/flag-days-calendar.mjs +93 -0
  253. package/datepicker/esm2020/engine/flag-months-calendar.mjs +45 -0
  254. package/datepicker/esm2020/engine/flag-years-calendar.mjs +42 -0
  255. package/datepicker/esm2020/engine/format-days-calendar.mjs +33 -0
  256. package/datepicker/esm2020/engine/format-months-calendar.mjs +23 -0
  257. package/datepicker/esm2020/engine/format-years-calendar.mjs +39 -0
  258. package/datepicker/esm2020/engine/view-mode.mjs +4 -0
  259. package/datepicker/esm2020/index.mjs +2 -0
  260. package/datepicker/esm2020/models/index.mjs +9 -0
  261. package/datepicker/esm2020/monthpicker.component.mjs +131 -0
  262. package/datepicker/esm2020/ngx-bootstrap-datepicker.mjs +5 -0
  263. package/datepicker/esm2020/public_api.mjs +25 -0
  264. package/datepicker/esm2020/reducer/_defaults.mjs +6 -0
  265. package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +143 -0
  266. package/datepicker/esm2020/reducer/bs-datepicker.effects.mjs +182 -0
  267. package/datepicker/esm2020/reducer/bs-datepicker.reducer.mjs +378 -0
  268. package/datepicker/esm2020/reducer/bs-datepicker.state.mjs +18 -0
  269. package/datepicker/esm2020/reducer/bs-datepicker.store.mjs +22 -0
  270. package/datepicker/esm2020/themes/bs/bs-calendar-layout.component.mjs +47 -0
  271. package/datepicker/esm2020/themes/bs/bs-current-date-view.component.mjs +16 -0
  272. package/datepicker/esm2020/themes/bs/bs-custom-dates-view.component.mjs +50 -0
  273. package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +160 -0
  274. package/datepicker/esm2020/themes/bs/bs-datepicker-day-decorator.directive.mjs +47 -0
  275. package/datepicker/esm2020/themes/bs/bs-datepicker-inline-container.component.mjs +36 -0
  276. package/datepicker/esm2020/themes/bs/bs-datepicker-navigation-view.component.mjs +105 -0
  277. package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +226 -0
  278. package/datepicker/esm2020/themes/bs/bs-daterangepicker-inline-container.component.mjs +36 -0
  279. package/datepicker/esm2020/themes/bs/bs-days-calendar-view.component.mjs +226 -0
  280. package/datepicker/esm2020/themes/bs/bs-months-calendar-view.component.mjs +93 -0
  281. package/datepicker/esm2020/themes/bs/bs-timepicker-view.component.mjs +55 -0
  282. package/datepicker/esm2020/themes/bs/bs-years-calendar-view.component.mjs +94 -0
  283. package/datepicker/esm2020/utils/bs-calendar-utils.mjs +120 -0
  284. package/datepicker/esm2020/utils/copy-time-utils.mjs +7 -0
  285. package/datepicker/esm2020/utils/matrix-utils.mjs +14 -0
  286. package/datepicker/esm2020/yearpicker.component.mjs +146 -0
  287. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +4848 -0
  288. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +1 -0
  289. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs +4816 -0
  290. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +1 -0
  291. package/datepicker/monthpicker.component.d.ts +3 -5
  292. package/datepicker/ngx-bootstrap-datepicker.d.ts +1 -17
  293. package/datepicker/package.json +35 -32
  294. package/datepicker/reducer/bs-datepicker.actions.d.ts +3 -5
  295. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -5
  296. package/datepicker/reducer/bs-datepicker.store.d.ts +3 -5
  297. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +3 -5
  298. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -5
  299. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +3 -5
  300. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +3 -5
  301. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +3 -5
  302. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +3 -5
  303. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +3 -5
  304. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -5
  305. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +3 -5
  306. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +3 -5
  307. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +3 -5
  308. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +3 -5
  309. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +3 -5
  310. package/datepicker/yearpicker.component.d.ts +3 -5
  311. package/dropdown/bs-dropdown-container.component.d.ts +3 -5
  312. package/dropdown/bs-dropdown-menu.directive.d.ts +3 -5
  313. package/dropdown/bs-dropdown-toggle.directive.d.ts +3 -5
  314. package/dropdown/bs-dropdown.config.d.ts +3 -4
  315. package/dropdown/bs-dropdown.directive.d.ts +3 -5
  316. package/dropdown/bs-dropdown.module.d.ts +9 -10
  317. package/dropdown/bs-dropdown.state.d.ts +3 -5
  318. package/dropdown/esm2020/bs-dropdown-container.component.mjs +80 -0
  319. package/dropdown/esm2020/bs-dropdown-menu.directive.mjs +22 -0
  320. package/dropdown/esm2020/bs-dropdown-toggle.directive.mjs +87 -0
  321. package/dropdown/esm2020/bs-dropdown.config.mjs +24 -0
  322. package/dropdown/esm2020/bs-dropdown.directive.mjs +346 -0
  323. package/dropdown/esm2020/bs-dropdown.module.mjs +49 -0
  324. package/dropdown/esm2020/bs-dropdown.state.mjs +25 -0
  325. package/dropdown/esm2020/dropdown-animations.mjs +7 -0
  326. package/dropdown/esm2020/index.mjs +2 -0
  327. package/dropdown/esm2020/ngx-bootstrap-dropdown.mjs +5 -0
  328. package/dropdown/esm2020/public_api.mjs +8 -0
  329. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +610 -0
  330. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +1 -0
  331. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs +610 -0
  332. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +1 -0
  333. package/dropdown/ngx-bootstrap-dropdown.d.ts +1 -2
  334. package/dropdown/package.json +30 -28
  335. package/esm2020/index.mjs +2 -0
  336. package/esm2020/ngx-bootstrap.mjs +5 -0
  337. package/fesm2015/ngx-bootstrap.mjs +6 -0
  338. package/fesm2015/ngx-bootstrap.mjs.map +1 -0
  339. package/fesm2020/ngx-bootstrap.mjs +6 -0
  340. package/fesm2020/ngx-bootstrap.mjs.map +1 -0
  341. package/focus-trap/esm2020/boolean-property.mjs +12 -0
  342. package/focus-trap/esm2020/focus-trap-manager.mjs +54 -0
  343. package/focus-trap/esm2020/focus-trap.mjs +399 -0
  344. package/focus-trap/esm2020/focus-trap.module.mjs +31 -0
  345. package/focus-trap/esm2020/index.mjs +2 -0
  346. package/focus-trap/esm2020/interactivity-checker.mjs +241 -0
  347. package/focus-trap/esm2020/ngx-bootstrap-focus-trap.mjs +5 -0
  348. package/focus-trap/esm2020/platform.mjs +80 -0
  349. package/focus-trap/esm2020/public_api.mjs +4 -0
  350. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +800 -0
  351. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +1 -0
  352. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs +801 -0
  353. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +1 -0
  354. package/focus-trap/focus-trap-manager.d.ts +3 -11
  355. package/focus-trap/focus-trap.d.ts +5 -6
  356. package/focus-trap/focus-trap.module.d.ts +6 -7
  357. package/focus-trap/interactivity-checker.d.ts +3 -4
  358. package/focus-trap/ngx-bootstrap-focus-trap.d.ts +1 -6
  359. package/focus-trap/package.json +24 -23
  360. package/focus-trap/platform.d.ts +3 -11
  361. package/locale/esm2020/index.mjs +2 -0
  362. package/locale/esm2020/ngx-bootstrap-locale.mjs +5 -0
  363. package/locale/esm2020/public_api.mjs +45 -0
  364. package/locale/fesm2015/ngx-bootstrap-locale.mjs +6 -0
  365. package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +1 -0
  366. package/locale/fesm2020/ngx-bootstrap-locale.mjs +6 -0
  367. package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +1 -0
  368. package/locale/ngx-bootstrap-locale.d.ts +1 -2
  369. package/locale/package.json +22 -21
  370. package/mini-ngrx/esm2020/index.mjs +2 -0
  371. package/mini-ngrx/esm2020/ngx-bootstrap-mini-ngrx.mjs +5 -0
  372. package/mini-ngrx/esm2020/public_api.mjs +3 -0
  373. package/mini-ngrx/esm2020/state.class.mjs +16 -0
  374. package/mini-ngrx/esm2020/store.class.mjs +42 -0
  375. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +64 -0
  376. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  377. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs +63 -0
  378. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  379. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts +1 -2
  380. package/mini-ngrx/package.json +22 -21
  381. package/modal/bs-modal-ref.service.d.ts +3 -5
  382. package/modal/bs-modal.service.d.ts +3 -5
  383. package/modal/esm2020/bs-modal-ref.service.mjs +22 -0
  384. package/modal/esm2020/bs-modal.service.mjs +219 -0
  385. package/modal/esm2020/index.mjs +2 -0
  386. package/modal/esm2020/modal-backdrop.component.mjs +58 -0
  387. package/modal/esm2020/modal-backdrop.options.mjs +7 -0
  388. package/modal/esm2020/modal-container.component.mjs +146 -0
  389. package/modal/esm2020/modal-options.class.mjs +46 -0
  390. package/modal/esm2020/modal.directive.mjs +368 -0
  391. package/modal/esm2020/modal.module.mjs +43 -0
  392. package/modal/esm2020/models/index.mjs +2 -0
  393. package/modal/esm2020/ngx-bootstrap-modal.mjs +5 -0
  394. package/modal/esm2020/public_api.mjs +9 -0
  395. package/modal/fesm2015/ngx-bootstrap-modal.mjs +891 -0
  396. package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +1 -0
  397. package/modal/fesm2020/ngx-bootstrap-modal.mjs +882 -0
  398. package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +1 -0
  399. package/modal/modal-backdrop.component.d.ts +3 -5
  400. package/modal/modal-container.component.d.ts +3 -5
  401. package/modal/modal-options.class.d.ts +3 -5
  402. package/modal/modal.directive.d.ts +3 -5
  403. package/modal/modal.module.d.ts +8 -9
  404. package/modal/ngx-bootstrap-modal.d.ts +1 -3
  405. package/modal/package.json +29 -27
  406. package/ngx-bootstrap.d.ts +1 -0
  407. package/package.json +19 -7
  408. package/pagination/esm2020/index.mjs +2 -0
  409. package/pagination/esm2020/models/index.mjs +2 -0
  410. package/pagination/esm2020/ngx-bootstrap-pagination.mjs +5 -0
  411. package/pagination/esm2020/pager.component.mjs +256 -0
  412. package/pagination/esm2020/pagination.component.mjs +257 -0
  413. package/pagination/esm2020/pagination.config.mjs +35 -0
  414. package/pagination/esm2020/pagination.module.mjs +22 -0
  415. package/pagination/esm2020/public_api.mjs +5 -0
  416. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +565 -0
  417. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +1 -0
  418. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs +563 -0
  419. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +1 -0
  420. package/pagination/ngx-bootstrap-pagination.d.ts +1 -4
  421. package/pagination/package.json +24 -23
  422. package/pagination/pager.component.d.ts +3 -5
  423. package/pagination/pagination.component.d.ts +3 -5
  424. package/pagination/pagination.config.d.ts +3 -4
  425. package/pagination/pagination.module.d.ts +7 -8
  426. package/popover/esm2020/index.mjs +2 -0
  427. package/popover/esm2020/ngx-bootstrap-popover.mjs +5 -0
  428. package/popover/esm2020/popover-container.component.mjs +67 -0
  429. package/popover/esm2020/popover.config.mjs +35 -0
  430. package/popover/esm2020/popover.directive.mjs +238 -0
  431. package/popover/esm2020/popover.module.mjs +28 -0
  432. package/popover/esm2020/public_api.mjs +5 -0
  433. package/popover/fesm2015/ngx-bootstrap-popover.mjs +358 -0
  434. package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +1 -0
  435. package/popover/fesm2020/ngx-bootstrap-popover.mjs +358 -0
  436. package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +1 -0
  437. package/popover/ngx-bootstrap-popover.d.ts +1 -2
  438. package/popover/package.json +28 -26
  439. package/popover/popover-container.component.d.ts +3 -5
  440. package/popover/popover.config.d.ts +3 -4
  441. package/popover/popover.directive.d.ts +3 -5
  442. package/popover/popover.module.d.ts +7 -8
  443. package/positioning/esm2020/index.mjs +2 -0
  444. package/positioning/esm2020/models/index.mjs +53 -0
  445. package/positioning/esm2020/modifiers/arrow.mjs +56 -0
  446. package/positioning/esm2020/modifiers/flip.mjs +65 -0
  447. package/positioning/esm2020/modifiers/index.mjs +6 -0
  448. package/positioning/esm2020/modifiers/initData.mjs +44 -0
  449. package/positioning/esm2020/modifiers/preventOverflow.mjs +55 -0
  450. package/positioning/esm2020/modifiers/shift.mjs +24 -0
  451. package/positioning/esm2020/ng-positioning.mjs +39 -0
  452. package/positioning/esm2020/ngx-bootstrap-positioning.mjs +5 -0
  453. package/positioning/esm2020/positioning.service.mjs +71 -0
  454. package/positioning/esm2020/public_api.mjs +5 -0
  455. package/positioning/esm2020/utils/checkMargin.mjs +32 -0
  456. package/positioning/esm2020/utils/computeAutoPlacement.mjs +59 -0
  457. package/positioning/esm2020/utils/findCommonOffsetParent.mjs +40 -0
  458. package/positioning/esm2020/utils/getBordersSize.mjs +10 -0
  459. package/positioning/esm2020/utils/getBoundaries.mjs +70 -0
  460. package/positioning/esm2020/utils/getBoundingClientRect.mjs +56 -0
  461. package/positioning/esm2020/utils/getClientRect.mjs +8 -0
  462. package/positioning/esm2020/utils/getFixedPositionOffsetParent.mjs +16 -0
  463. package/positioning/esm2020/utils/getOffsetParent.mjs +33 -0
  464. package/positioning/esm2020/utils/getOffsetRectRelativeToArbitraryNode.mjs +52 -0
  465. package/positioning/esm2020/utils/getOffsets.mjs +11 -0
  466. package/positioning/esm2020/utils/getOppositePlacement.mjs +8 -0
  467. package/positioning/esm2020/utils/getOppositeVariation.mjs +13 -0
  468. package/positioning/esm2020/utils/getOuterSizes.mjs +12 -0
  469. package/positioning/esm2020/utils/getParentNode.mjs +12 -0
  470. package/positioning/esm2020/utils/getReferenceOffsets.mjs +13 -0
  471. package/positioning/esm2020/utils/getRoot.mjs +10 -0
  472. package/positioning/esm2020/utils/getScroll.mjs +14 -0
  473. package/positioning/esm2020/utils/getScrollParent.mjs +28 -0
  474. package/positioning/esm2020/utils/getStyleComputedProperty.mjs +12 -0
  475. package/positioning/esm2020/utils/getTargetOffsets.mjs +30 -0
  476. package/positioning/esm2020/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +19 -0
  477. package/positioning/esm2020/utils/getWindowSizes.mjs +16 -0
  478. package/positioning/esm2020/utils/includeScroll.mjs +24 -0
  479. package/positioning/esm2020/utils/index.mjs +24 -0
  480. package/positioning/esm2020/utils/isFixed.mjs +16 -0
  481. package/positioning/esm2020/utils/isModifierEnabled.mjs +4 -0
  482. package/positioning/esm2020/utils/isNumeric.mjs +11 -0
  483. package/positioning/esm2020/utils/isOffsetContainer.mjs +11 -0
  484. package/positioning/esm2020/utils/setStyles.mjs +21 -0
  485. package/positioning/esm2020/utils/updateContainerClass.mjs +30 -0
  486. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +1023 -0
  487. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +1 -0
  488. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs +1029 -0
  489. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +1 -0
  490. package/positioning/ngx-bootstrap-positioning.d.ts +1 -2
  491. package/positioning/package.json +26 -24
  492. package/positioning/positioning.service.d.ts +3 -4
  493. package/progressbar/bar.component.d.ts +3 -5
  494. package/progressbar/esm2020/bar.component.mjs +77 -0
  495. package/progressbar/esm2020/index.mjs +2 -0
  496. package/progressbar/esm2020/ngx-bootstrap-progressbar.mjs +5 -0
  497. package/progressbar/esm2020/progressbar-type.interface.mjs +2 -0
  498. package/progressbar/esm2020/progressbar.component.mjs +57 -0
  499. package/progressbar/esm2020/progressbar.config.mjs +19 -0
  500. package/progressbar/esm2020/progressbar.module.mjs +22 -0
  501. package/progressbar/esm2020/public_api.mjs +5 -0
  502. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +172 -0
  503. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +1 -0
  504. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs +171 -0
  505. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +1 -0
  506. package/progressbar/ngx-bootstrap-progressbar.d.ts +1 -2
  507. package/progressbar/package.json +24 -23
  508. package/progressbar/progressbar.component.d.ts +3 -5
  509. package/progressbar/progressbar.config.d.ts +3 -4
  510. package/progressbar/progressbar.module.d.ts +7 -8
  511. package/rating/esm2020/index.mjs +2 -0
  512. package/rating/esm2020/models/index.mjs +2 -0
  513. package/rating/esm2020/ngx-bootstrap-rating.mjs +5 -0
  514. package/rating/esm2020/public_api.mjs +4 -0
  515. package/rating/esm2020/rating.component.mjs +121 -0
  516. package/rating/esm2020/rating.config.mjs +18 -0
  517. package/rating/esm2020/rating.module.mjs +24 -0
  518. package/rating/fesm2015/ngx-bootstrap-rating.mjs +163 -0
  519. package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +1 -0
  520. package/rating/fesm2020/ngx-bootstrap-rating.mjs +163 -0
  521. package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +1 -0
  522. package/rating/ngx-bootstrap-rating.d.ts +1 -3
  523. package/rating/package.json +24 -23
  524. package/rating/rating.component.d.ts +3 -5
  525. package/rating/rating.config.d.ts +3 -4
  526. package/rating/rating.module.d.ts +6 -7
  527. package/schematics/ng-add/index.js +10 -10
  528. package/schematics/ng-add/index.js.map +1 -1
  529. package/schematics/package.json +6 -6
  530. package/schematics/utils/addStyles.js +2 -2
  531. package/schematics/utils/addStyles.js.map +1 -1
  532. package/schematics/utils/current_dependency_versions.json +1 -1
  533. package/schematics/utils/getVersions.js +1 -1
  534. package/schematics/utils/getVersions.js.map +1 -1
  535. package/schematics/utils/index.js +3 -3
  536. package/schematics/utils/index.js.map +1 -1
  537. package/schematics/utils/ng-module-imports.js +1 -1
  538. package/schematics/utils/ng-module-imports.js.map +1 -1
  539. package/schematics/utils/project-main-file.js +1 -1
  540. package/schematics/utils/project-main-file.js.map +1 -1
  541. package/schematics/utils/project-targets.d.ts +1 -1
  542. package/schematics/utils/project-targets.js.map +1 -1
  543. package/sortable/draggable-item.service.d.ts +3 -5
  544. package/sortable/esm2020/draggable-item.mjs +2 -0
  545. package/sortable/esm2020/draggable-item.service.mjs +36 -0
  546. package/sortable/esm2020/index.mjs +2 -0
  547. package/sortable/esm2020/ngx-bootstrap-sortable.mjs +5 -0
  548. package/sortable/esm2020/public_api.mjs +4 -0
  549. package/sortable/esm2020/sortable.component.mjs +266 -0
  550. package/sortable/esm2020/sortable.module.mjs +22 -0
  551. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +324 -0
  552. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +1 -0
  553. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs +323 -0
  554. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +1 -0
  555. package/sortable/ngx-bootstrap-sortable.d.ts +1 -2
  556. package/sortable/package.json +26 -25
  557. package/sortable/sortable.component.d.ts +3 -5
  558. package/sortable/sortable.module.d.ts +6 -7
  559. package/tabs/esm2020/index.mjs +2 -0
  560. package/tabs/esm2020/ng-transclude.directive.mjs +28 -0
  561. package/tabs/esm2020/ngx-bootstrap-tabs.mjs +5 -0
  562. package/tabs/esm2020/public_api.mjs +7 -0
  563. package/tabs/esm2020/tab-heading.directive.mjs +18 -0
  564. package/tabs/esm2020/tab.directive.mjs +115 -0
  565. package/tabs/esm2020/tabs.module.mjs +43 -0
  566. package/tabs/esm2020/tabset.component.mjs +216 -0
  567. package/tabs/esm2020/tabset.config.mjs +21 -0
  568. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs +427 -0
  569. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +1 -0
  570. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +427 -0
  571. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +1 -0
  572. package/tabs/ng-transclude.directive.d.ts +3 -5
  573. package/tabs/ngx-bootstrap-tabs.d.ts +1 -2
  574. package/tabs/package.json +23 -22
  575. package/tabs/tab-heading.directive.d.ts +3 -5
  576. package/tabs/tab.directive.d.ts +3 -5
  577. package/tabs/tabs.module.d.ts +9 -10
  578. package/tabs/tabset.component.d.ts +3 -5
  579. package/tabs/tabset.config.d.ts +3 -4
  580. package/timepicker/esm2020/index.mjs +2 -0
  581. package/timepicker/esm2020/models/index.mjs +2 -0
  582. package/timepicker/esm2020/ngx-bootstrap-timepicker.mjs +5 -0
  583. package/timepicker/esm2020/public_api.mjs +6 -0
  584. package/timepicker/esm2020/reducer/timepicker.actions.mjs +53 -0
  585. package/timepicker/esm2020/reducer/timepicker.reducer.mjs +83 -0
  586. package/timepicker/esm2020/reducer/timepicker.store.mjs +21 -0
  587. package/timepicker/esm2020/timepicker-controls.util.mjs +123 -0
  588. package/timepicker/esm2020/timepicker.component.mjs +360 -0
  589. package/timepicker/esm2020/timepicker.config.mjs +54 -0
  590. package/timepicker/esm2020/timepicker.models.mjs +2 -0
  591. package/timepicker/esm2020/timepicker.module.mjs +27 -0
  592. package/timepicker/esm2020/timepicker.utils.mjs +152 -0
  593. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +856 -0
  594. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +1 -0
  595. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs +855 -0
  596. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +1 -0
  597. package/timepicker/ngx-bootstrap-timepicker.d.ts +1 -3
  598. package/timepicker/package.json +27 -26
  599. package/timepicker/reducer/timepicker.actions.d.ts +3 -5
  600. package/timepicker/reducer/timepicker.store.d.ts +3 -5
  601. package/timepicker/timepicker.component.d.ts +4 -6
  602. package/timepicker/timepicker.config.d.ts +3 -4
  603. package/timepicker/timepicker.module.d.ts +6 -7
  604. package/tooltip/esm2020/index.mjs +2 -0
  605. package/tooltip/esm2020/ngx-bootstrap-tooltip.mjs +5 -0
  606. package/tooltip/esm2020/public_api.mjs +5 -0
  607. package/tooltip/esm2020/tooltip-container.component.mjs +76 -0
  608. package/tooltip/esm2020/tooltip.config.mjs +22 -0
  609. package/tooltip/esm2020/tooltip.directive.mjs +342 -0
  610. package/tooltip/esm2020/tooltip.module.mjs +28 -0
  611. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +460 -0
  612. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +1 -0
  613. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs +458 -0
  614. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +1 -0
  615. package/tooltip/ngx-bootstrap-tooltip.d.ts +1 -2
  616. package/tooltip/package.json +29 -27
  617. package/tooltip/tooltip-container.component.d.ts +3 -5
  618. package/tooltip/tooltip.config.d.ts +3 -4
  619. package/tooltip/tooltip.directive.d.ts +3 -5
  620. package/tooltip/tooltip.module.d.ts +7 -8
  621. package/typeahead/esm2020/index.mjs +2 -0
  622. package/typeahead/esm2020/latin-map.mjs +827 -0
  623. package/typeahead/esm2020/models/index.mjs +2 -0
  624. package/typeahead/esm2020/ngx-bootstrap-typeahead.mjs +5 -0
  625. package/typeahead/esm2020/public_api.mjs +9 -0
  626. package/typeahead/esm2020/typeahead-animations.mjs +16 -0
  627. package/typeahead/esm2020/typeahead-container.component.mjs +326 -0
  628. package/typeahead/esm2020/typeahead-match.class.mjs +15 -0
  629. package/typeahead/esm2020/typeahead-options.class.mjs +8 -0
  630. package/typeahead/esm2020/typeahead-order.class.mjs +2 -0
  631. package/typeahead/esm2020/typeahead-utils.mjs +77 -0
  632. package/typeahead/esm2020/typeahead.config.mjs +34 -0
  633. package/typeahead/esm2020/typeahead.directive.mjs +576 -0
  634. package/typeahead/esm2020/typeahead.module.mjs +28 -0
  635. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +1906 -0
  636. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +1 -0
  637. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs +1894 -0
  638. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +1 -0
  639. package/typeahead/ngx-bootstrap-typeahead.d.ts +1 -3
  640. package/typeahead/package.json +31 -29
  641. package/typeahead/typeahead-container.component.d.ts +3 -5
  642. package/typeahead/typeahead.config.d.ts +3 -4
  643. package/typeahead/typeahead.directive.d.ts +3 -5
  644. package/typeahead/typeahead.module.d.ts +7 -8
  645. package/utils/esm2020/decorators.mjs +23 -0
  646. package/utils/esm2020/facade/browser.mjs +26 -0
  647. package/utils/esm2020/index.mjs +2 -0
  648. package/utils/esm2020/linked-list.class.mjs +247 -0
  649. package/utils/esm2020/ngx-bootstrap-utils.mjs +5 -0
  650. package/utils/esm2020/public_api.mjs +10 -0
  651. package/utils/esm2020/theme-provider.mjs +74 -0
  652. package/utils/esm2020/trigger.class.mjs +14 -0
  653. package/utils/esm2020/triggers.mjs +118 -0
  654. package/utils/esm2020/utils.class.mjs +30 -0
  655. package/utils/esm2020/warn-once.mjs +11 -0
  656. package/utils/fesm2015/ngx-bootstrap-utils.mjs +547 -0
  657. package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +1 -0
  658. package/utils/fesm2020/ngx-bootstrap-utils.mjs +545 -0
  659. package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +1 -0
  660. package/utils/ngx-bootstrap-utils.d.ts +1 -3
  661. package/utils/package.json +22 -21
  662. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7318
  663. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  664. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -6224
  665. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  666. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js +0 -7
  667. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  668. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js +0 -258
  669. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  670. package/accordion/accordion-group.component.d.ts.__ivy_ngcc_bak +0 -34
  671. package/accordion/accordion-group.component.d.ts.map +0 -1
  672. package/accordion/accordion.component.d.ts.__ivy_ngcc_bak +0 -14
  673. package/accordion/accordion.component.d.ts.map +0 -1
  674. package/accordion/accordion.config.d.ts.__ivy_ngcc_bak +0 -9
  675. package/accordion/accordion.config.d.ts.map +0 -1
  676. package/accordion/accordion.module.d.ts.__ivy_ngcc_bak +0 -4
  677. package/accordion/accordion.module.d.ts.map +0 -1
  678. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +0 -195
  679. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +0 -1
  680. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +0 -2
  681. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +0 -1
  682. package/accordion/esm2015/accordion-group.component.js +0 -81
  683. package/accordion/esm2015/accordion-group.component.js.map +0 -1
  684. package/accordion/esm2015/accordion-group.component.metadata.json +0 -1
  685. package/accordion/esm2015/accordion.component.js +0 -54
  686. package/accordion/esm2015/accordion.component.js.map +0 -1
  687. package/accordion/esm2015/accordion.component.metadata.json +0 -1
  688. package/accordion/esm2015/accordion.config.js +0 -20
  689. package/accordion/esm2015/accordion.config.js.map +0 -1
  690. package/accordion/esm2015/accordion.config.metadata.json +0 -1
  691. package/accordion/esm2015/accordion.module.js +0 -18
  692. package/accordion/esm2015/accordion.module.js.map +0 -1
  693. package/accordion/esm2015/accordion.module.metadata.json +0 -1
  694. package/accordion/esm2015/index.js +0 -2
  695. package/accordion/esm2015/index.js.map +0 -1
  696. package/accordion/esm2015/index.metadata.json +0 -1
  697. package/accordion/esm2015/ngx-bootstrap-accordion.js +0 -5
  698. package/accordion/esm2015/ngx-bootstrap-accordion.js.map +0 -1
  699. package/accordion/esm2015/ngx-bootstrap-accordion.metadata.json +0 -1
  700. package/accordion/esm2015/public_api.js +0 -5
  701. package/accordion/esm2015/public_api.js.map +0 -1
  702. package/accordion/esm2015/public_api.metadata.json +0 -1
  703. package/accordion/fesm2015/ngx-bootstrap-accordion.js +0 -172
  704. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  705. package/accordion/ngx-bootstrap-accordion.d.ts.__ivy_ngcc_bak +0 -4
  706. package/accordion/ngx-bootstrap-accordion.d.ts.map +0 -1
  707. package/accordion/ngx-bootstrap-accordion.metadata.json +0 -1
  708. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js +0 -168
  709. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  710. package/alert/alert.component.d.ts.__ivy_ngcc_bak +0 -30
  711. package/alert/alert.component.d.ts.map +0 -1
  712. package/alert/alert.config.d.ts.__ivy_ngcc_bak +0 -8
  713. package/alert/alert.config.d.ts.map +0 -1
  714. package/alert/alert.module.d.ts.__ivy_ngcc_bak +0 -4
  715. package/alert/alert.module.d.ts.map +0 -1
  716. package/alert/bundles/ngx-bootstrap-alert.umd.js +0 -436
  717. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +0 -1
  718. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +0 -16
  719. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +0 -1
  720. package/alert/esm2015/alert.component.js +0 -75
  721. package/alert/esm2015/alert.component.js.map +0 -1
  722. package/alert/esm2015/alert.component.metadata.json +0 -1
  723. package/alert/esm2015/alert.config.js +0 -19
  724. package/alert/esm2015/alert.config.js.map +0 -1
  725. package/alert/esm2015/alert.config.metadata.json +0 -1
  726. package/alert/esm2015/alert.module.js +0 -17
  727. package/alert/esm2015/alert.module.js.map +0 -1
  728. package/alert/esm2015/alert.module.metadata.json +0 -1
  729. package/alert/esm2015/index.js +0 -2
  730. package/alert/esm2015/index.js.map +0 -1
  731. package/alert/esm2015/index.metadata.json +0 -1
  732. package/alert/esm2015/ngx-bootstrap-alert.js +0 -5
  733. package/alert/esm2015/ngx-bootstrap-alert.js.map +0 -1
  734. package/alert/esm2015/ngx-bootstrap-alert.metadata.json +0 -1
  735. package/alert/esm2015/public_api.js +0 -4
  736. package/alert/esm2015/public_api.js.map +0 -1
  737. package/alert/esm2015/public_api.metadata.json +0 -1
  738. package/alert/fesm2015/ngx-bootstrap-alert.js +0 -113
  739. package/alert/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  740. package/alert/ngx-bootstrap-alert.d.ts.__ivy_ngcc_bak +0 -4
  741. package/alert/ngx-bootstrap-alert.d.ts.map +0 -1
  742. package/alert/ngx-bootstrap-alert.metadata.json +0 -1
  743. package/bundles/ngx-bootstrap.umd.js +0 -13
  744. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  745. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  746. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  747. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js +0 -507
  748. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  749. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +0 -455
  750. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +0 -1
  751. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +0 -2
  752. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +0 -1
  753. package/buttons/button-checkbox.directive.d.ts.__ivy_ngcc_bak +0 -28
  754. package/buttons/button-checkbox.directive.d.ts.map +0 -1
  755. package/buttons/button-radio-group.directive.d.ts.__ivy_ngcc_bak +0 -32
  756. package/buttons/button-radio-group.directive.d.ts.map +0 -1
  757. package/buttons/button-radio.directive.d.ts.__ivy_ngcc_bak +0 -48
  758. package/buttons/button-radio.directive.d.ts.map +0 -1
  759. package/buttons/buttons.module.d.ts.__ivy_ngcc_bak +0 -4
  760. package/buttons/buttons.module.d.ts.map +0 -1
  761. package/buttons/esm2015/button-checkbox.directive.js +0 -76
  762. package/buttons/esm2015/button-checkbox.directive.js.map +0 -1
  763. package/buttons/esm2015/button-checkbox.directive.metadata.json +0 -1
  764. package/buttons/esm2015/button-radio-group.directive.js +0 -138
  765. package/buttons/esm2015/button-radio-group.directive.js.map +0 -1
  766. package/buttons/esm2015/button-radio-group.directive.metadata.json +0 -1
  767. package/buttons/esm2015/button-radio.directive.js +0 -161
  768. package/buttons/esm2015/button-radio.directive.js.map +0 -1
  769. package/buttons/esm2015/button-radio.directive.metadata.json +0 -1
  770. package/buttons/esm2015/buttons.module.js +0 -16
  771. package/buttons/esm2015/buttons.module.js.map +0 -1
  772. package/buttons/esm2015/buttons.module.metadata.json +0 -1
  773. package/buttons/esm2015/index.js +0 -2
  774. package/buttons/esm2015/index.js.map +0 -1
  775. package/buttons/esm2015/index.metadata.json +0 -1
  776. package/buttons/esm2015/ngx-bootstrap-buttons.js +0 -8
  777. package/buttons/esm2015/ngx-bootstrap-buttons.js.map +0 -1
  778. package/buttons/esm2015/ngx-bootstrap-buttons.metadata.json +0 -1
  779. package/buttons/esm2015/public_api.js +0 -5
  780. package/buttons/esm2015/public_api.js.map +0 -1
  781. package/buttons/esm2015/public_api.metadata.json +0 -1
  782. package/buttons/fesm2015/ngx-bootstrap-buttons.js +0 -388
  783. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  784. package/buttons/ngx-bootstrap-buttons.d.ts.__ivy_ngcc_bak +0 -7
  785. package/buttons/ngx-bootstrap-buttons.d.ts.map +0 -1
  786. package/buttons/ngx-bootstrap-buttons.metadata.json +0 -1
  787. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js +0 -1018
  788. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  789. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +0 -1171
  790. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +0 -1
  791. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +0 -16
  792. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +0 -1
  793. package/carousel/carousel.component.d.ts.__ivy_ngcc_bak +0 -189
  794. package/carousel/carousel.component.d.ts.map +0 -1
  795. package/carousel/carousel.config.d.ts.__ivy_ngcc_bak +0 -10
  796. package/carousel/carousel.config.d.ts.map +0 -1
  797. package/carousel/carousel.module.d.ts.__ivy_ngcc_bak +0 -4
  798. package/carousel/carousel.module.d.ts.map +0 -1
  799. package/carousel/esm2015/carousel.component.js +0 -701
  800. package/carousel/esm2015/carousel.component.js.map +0 -1
  801. package/carousel/esm2015/carousel.component.metadata.json +0 -1
  802. package/carousel/esm2015/carousel.config.js +0 -30
  803. package/carousel/esm2015/carousel.config.js.map +0 -1
  804. package/carousel/esm2015/carousel.config.metadata.json +0 -1
  805. package/carousel/esm2015/carousel.module.js +0 -17
  806. package/carousel/esm2015/carousel.module.js.map +0 -1
  807. package/carousel/esm2015/carousel.module.metadata.json +0 -1
  808. package/carousel/esm2015/index.js +0 -2
  809. package/carousel/esm2015/index.js.map +0 -1
  810. package/carousel/esm2015/index.metadata.json +0 -1
  811. package/carousel/esm2015/models/index.js +0 -2
  812. package/carousel/esm2015/models/index.js.map +0 -1
  813. package/carousel/esm2015/models/index.metadata.json +0 -1
  814. package/carousel/esm2015/ngx-bootstrap-carousel.js +0 -5
  815. package/carousel/esm2015/ngx-bootstrap-carousel.js.map +0 -1
  816. package/carousel/esm2015/ngx-bootstrap-carousel.metadata.json +0 -1
  817. package/carousel/esm2015/public_api.js +0 -5
  818. package/carousel/esm2015/public_api.js.map +0 -1
  819. package/carousel/esm2015/public_api.metadata.json +0 -1
  820. package/carousel/esm2015/slide.component.js +0 -74
  821. package/carousel/esm2015/slide.component.js.map +0 -1
  822. package/carousel/esm2015/slide.component.metadata.json +0 -1
  823. package/carousel/esm2015/utils.js +0 -32
  824. package/carousel/esm2015/utils.js.map +0 -1
  825. package/carousel/esm2015/utils.metadata.json +0 -1
  826. package/carousel/fesm2015/ngx-bootstrap-carousel.js +0 -843
  827. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  828. package/carousel/ngx-bootstrap-carousel.d.ts.__ivy_ngcc_bak +0 -4
  829. package/carousel/ngx-bootstrap-carousel.d.ts.map +0 -1
  830. package/carousel/ngx-bootstrap-carousel.metadata.json +0 -1
  831. package/carousel/slide.component.d.ts.__ivy_ngcc_bak +0 -19
  832. package/carousel/slide.component.d.ts.map +0 -1
  833. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +0 -7449
  834. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +0 -1
  835. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +0 -67
  836. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +0 -1
  837. package/chronos/esm2015/create/check-overflow.js +0 -30
  838. package/chronos/esm2015/create/check-overflow.js.map +0 -1
  839. package/chronos/esm2015/create/check-overflow.metadata.json +0 -1
  840. package/chronos/esm2015/create/clone.js +0 -6
  841. package/chronos/esm2015/create/clone.js.map +0 -1
  842. package/chronos/esm2015/create/clone.metadata.json +0 -1
  843. package/chronos/esm2015/create/date-from-array.js +0 -19
  844. package/chronos/esm2015/create/date-from-array.js.map +0 -1
  845. package/chronos/esm2015/create/date-from-array.metadata.json +0 -1
  846. package/chronos/esm2015/create/from-anything.js +0 -106
  847. package/chronos/esm2015/create/from-anything.js.map +0 -1
  848. package/chronos/esm2015/create/from-anything.metadata.json +0 -1
  849. package/chronos/esm2015/create/from-array.js +0 -135
  850. package/chronos/esm2015/create/from-array.js.map +0 -1
  851. package/chronos/esm2015/create/from-array.metadata.json +0 -1
  852. package/chronos/esm2015/create/from-object.js +0 -17
  853. package/chronos/esm2015/create/from-object.js.map +0 -1
  854. package/chronos/esm2015/create/from-object.metadata.json +0 -1
  855. package/chronos/esm2015/create/from-string-and-array.js +0 -38
  856. package/chronos/esm2015/create/from-string-and-array.js.map +0 -1
  857. package/chronos/esm2015/create/from-string-and-array.metadata.json +0 -1
  858. package/chronos/esm2015/create/from-string-and-format.js +0 -106
  859. package/chronos/esm2015/create/from-string-and-format.js.map +0 -1
  860. package/chronos/esm2015/create/from-string-and-format.metadata.json +0 -1
  861. package/chronos/esm2015/create/from-string.js +0 -222
  862. package/chronos/esm2015/create/from-string.js.map +0 -1
  863. package/chronos/esm2015/create/from-string.metadata.json +0 -1
  864. package/chronos/esm2015/create/local.js +0 -16
  865. package/chronos/esm2015/create/local.js.map +0 -1
  866. package/chronos/esm2015/create/local.metadata.json +0 -1
  867. package/chronos/esm2015/create/parsing-flags.js +0 -26
  868. package/chronos/esm2015/create/parsing-flags.js.map +0 -1
  869. package/chronos/esm2015/create/parsing-flags.metadata.json +0 -1
  870. package/chronos/esm2015/create/parsing.types.js +0 -2
  871. package/chronos/esm2015/create/parsing.types.js.map +0 -1
  872. package/chronos/esm2015/create/parsing.types.metadata.json +0 -1
  873. package/chronos/esm2015/create/valid.js +0 -42
  874. package/chronos/esm2015/create/valid.js.map +0 -1
  875. package/chronos/esm2015/create/valid.metadata.json +0 -1
  876. package/chronos/esm2015/duration/bubble.js +0 -47
  877. package/chronos/esm2015/duration/bubble.js.map +0 -1
  878. package/chronos/esm2015/duration/bubble.metadata.json +0 -1
  879. package/chronos/esm2015/duration/constructor.js +0 -130
  880. package/chronos/esm2015/duration/constructor.js.map +0 -1
  881. package/chronos/esm2015/duration/constructor.metadata.json +0 -1
  882. package/chronos/esm2015/duration/create.js +0 -112
  883. package/chronos/esm2015/duration/create.js.map +0 -1
  884. package/chronos/esm2015/duration/create.metadata.json +0 -1
  885. package/chronos/esm2015/duration/humanize.js +0 -79
  886. package/chronos/esm2015/duration/humanize.js.map +0 -1
  887. package/chronos/esm2015/duration/humanize.metadata.json +0 -1
  888. package/chronos/esm2015/duration/valid.js +0 -45
  889. package/chronos/esm2015/duration/valid.js.map +0 -1
  890. package/chronos/esm2015/duration/valid.metadata.json +0 -1
  891. package/chronos/esm2015/format/format.js +0 -50
  892. package/chronos/esm2015/format/format.js.map +0 -1
  893. package/chronos/esm2015/format/format.metadata.json +0 -1
  894. package/chronos/esm2015/format.js +0 -46
  895. package/chronos/esm2015/format.js.map +0 -1
  896. package/chronos/esm2015/format.metadata.json +0 -1
  897. package/chronos/esm2015/i18n/ar.js +0 -135
  898. package/chronos/esm2015/i18n/ar.js.map +0 -1
  899. package/chronos/esm2015/i18n/ar.metadata.json +0 -1
  900. package/chronos/esm2015/i18n/bg.js +0 -92
  901. package/chronos/esm2015/i18n/bg.js.map +0 -1
  902. package/chronos/esm2015/i18n/bg.metadata.json +0 -1
  903. package/chronos/esm2015/i18n/ca.js +0 -87
  904. package/chronos/esm2015/i18n/ca.js.map +0 -1
  905. package/chronos/esm2015/i18n/ca.metadata.json +0 -1
  906. package/chronos/esm2015/i18n/cs.js +0 -177
  907. package/chronos/esm2015/i18n/cs.js.map +0 -1
  908. package/chronos/esm2015/i18n/cs.metadata.json +0 -1
  909. package/chronos/esm2015/i18n/da.js +0 -49
  910. package/chronos/esm2015/i18n/da.js.map +0 -1
  911. package/chronos/esm2015/i18n/da.metadata.json +0 -1
  912. package/chronos/esm2015/i18n/de.js +0 -67
  913. package/chronos/esm2015/i18n/de.js.map +0 -1
  914. package/chronos/esm2015/i18n/de.metadata.json +0 -1
  915. package/chronos/esm2015/i18n/en-gb.js +0 -57
  916. package/chronos/esm2015/i18n/en-gb.js.map +0 -1
  917. package/chronos/esm2015/i18n/en-gb.metadata.json +0 -1
  918. package/chronos/esm2015/i18n/es-do.js +0 -81
  919. package/chronos/esm2015/i18n/es-do.js.map +0 -1
  920. package/chronos/esm2015/i18n/es-do.metadata.json +0 -1
  921. package/chronos/esm2015/i18n/es-us.js +0 -75
  922. package/chronos/esm2015/i18n/es-us.js.map +0 -1
  923. package/chronos/esm2015/i18n/es-us.metadata.json +0 -1
  924. package/chronos/esm2015/i18n/es.js +0 -80
  925. package/chronos/esm2015/i18n/es.js.map +0 -1
  926. package/chronos/esm2015/i18n/es.metadata.json +0 -1
  927. package/chronos/esm2015/i18n/et.js +0 -71
  928. package/chronos/esm2015/i18n/et.js.map +0 -1
  929. package/chronos/esm2015/i18n/et.metadata.json +0 -1
  930. package/chronos/esm2015/i18n/fi.js +0 -96
  931. package/chronos/esm2015/i18n/fi.js.map +0 -1
  932. package/chronos/esm2015/i18n/fi.metadata.json +0 -1
  933. package/chronos/esm2015/i18n/fr.js +0 -72
  934. package/chronos/esm2015/i18n/fr.js.map +0 -1
  935. package/chronos/esm2015/i18n/fr.metadata.json +0 -1
  936. package/chronos/esm2015/i18n/gl.js +0 -80
  937. package/chronos/esm2015/i18n/gl.js.map +0 -1
  938. package/chronos/esm2015/i18n/gl.metadata.json +0 -1
  939. package/chronos/esm2015/i18n/he.js +0 -94
  940. package/chronos/esm2015/i18n/he.js.map +0 -1
  941. package/chronos/esm2015/i18n/he.metadata.json +0 -1
  942. package/chronos/esm2015/i18n/hi.js +0 -119
  943. package/chronos/esm2015/i18n/hi.js.map +0 -1
  944. package/chronos/esm2015/i18n/hi.metadata.json +0 -1
  945. package/chronos/esm2015/i18n/hr.js +0 -58
  946. package/chronos/esm2015/i18n/hr.js.map +0 -1
  947. package/chronos/esm2015/i18n/hr.metadata.json +0 -1
  948. package/chronos/esm2015/i18n/hu.js +0 -100
  949. package/chronos/esm2015/i18n/hu.js.map +0 -1
  950. package/chronos/esm2015/i18n/hu.metadata.json +0 -1
  951. package/chronos/esm2015/i18n/id.js +0 -78
  952. package/chronos/esm2015/i18n/id.js.map +0 -1
  953. package/chronos/esm2015/i18n/id.metadata.json +0 -1
  954. package/chronos/esm2015/i18n/it.js +0 -61
  955. package/chronos/esm2015/i18n/it.js.map +0 -1
  956. package/chronos/esm2015/i18n/it.metadata.json +0 -1
  957. package/chronos/esm2015/i18n/ja.js +0 -71
  958. package/chronos/esm2015/i18n/ja.js.map +0 -1
  959. package/chronos/esm2015/i18n/ja.metadata.json +0 -1
  960. package/chronos/esm2015/i18n/ka.js +0 -83
  961. package/chronos/esm2015/i18n/ka.js.map +0 -1
  962. package/chronos/esm2015/i18n/ka.metadata.json +0 -1
  963. package/chronos/esm2015/i18n/kk.js +0 -76
  964. package/chronos/esm2015/i18n/kk.js.map +0 -1
  965. package/chronos/esm2015/i18n/kk.metadata.json +0 -1
  966. package/chronos/esm2015/i18n/ko.js +0 -72
  967. package/chronos/esm2015/i18n/ko.js.map +0 -1
  968. package/chronos/esm2015/i18n/ko.metadata.json +0 -1
  969. package/chronos/esm2015/i18n/lt.js +0 -112
  970. package/chronos/esm2015/i18n/lt.js.map +0 -1
  971. package/chronos/esm2015/i18n/lt.metadata.json +0 -1
  972. package/chronos/esm2015/i18n/lv.js +0 -52
  973. package/chronos/esm2015/i18n/lv.js.map +0 -1
  974. package/chronos/esm2015/i18n/lv.metadata.json +0 -1
  975. package/chronos/esm2015/i18n/mn.js +0 -94
  976. package/chronos/esm2015/i18n/mn.js.map +0 -1
  977. package/chronos/esm2015/i18n/mn.metadata.json +0 -1
  978. package/chronos/esm2015/i18n/nb.js +0 -53
  979. package/chronos/esm2015/i18n/nb.js.map +0 -1
  980. package/chronos/esm2015/i18n/nb.metadata.json +0 -1
  981. package/chronos/esm2015/i18n/nl-be.js +0 -77
  982. package/chronos/esm2015/i18n/nl-be.js.map +0 -1
  983. package/chronos/esm2015/i18n/nl-be.metadata.json +0 -1
  984. package/chronos/esm2015/i18n/nl.js +0 -76
  985. package/chronos/esm2015/i18n/nl.js.map +0 -1
  986. package/chronos/esm2015/i18n/nl.metadata.json +0 -1
  987. package/chronos/esm2015/i18n/pl.js +0 -122
  988. package/chronos/esm2015/i18n/pl.js.map +0 -1
  989. package/chronos/esm2015/i18n/pl.metadata.json +0 -1
  990. package/chronos/esm2015/i18n/pt-br.js +0 -52
  991. package/chronos/esm2015/i18n/pt-br.js.map +0 -1
  992. package/chronos/esm2015/i18n/pt-br.metadata.json +0 -1
  993. package/chronos/esm2015/i18n/ro.js +0 -66
  994. package/chronos/esm2015/i18n/ro.js.map +0 -1
  995. package/chronos/esm2015/i18n/ro.metadata.json +0 -1
  996. package/chronos/esm2015/i18n/ru.js +0 -177
  997. package/chronos/esm2015/i18n/ru.js.map +0 -1
  998. package/chronos/esm2015/i18n/ru.metadata.json +0 -1
  999. package/chronos/esm2015/i18n/sk.js +0 -153
  1000. package/chronos/esm2015/i18n/sk.js.map +0 -1
  1001. package/chronos/esm2015/i18n/sk.metadata.json +0 -1
  1002. package/chronos/esm2015/i18n/sl.js +0 -179
  1003. package/chronos/esm2015/i18n/sl.js.map +0 -1
  1004. package/chronos/esm2015/i18n/sl.metadata.json +0 -1
  1005. package/chronos/esm2015/i18n/sq.js +0 -50
  1006. package/chronos/esm2015/i18n/sq.js.map +0 -1
  1007. package/chronos/esm2015/i18n/sq.metadata.json +0 -1
  1008. package/chronos/esm2015/i18n/sv.js +0 -59
  1009. package/chronos/esm2015/i18n/sv.js.map +0 -1
  1010. package/chronos/esm2015/i18n/sv.metadata.json +0 -1
  1011. package/chronos/esm2015/i18n/th-be.js +0 -73
  1012. package/chronos/esm2015/i18n/th-be.js.map +0 -1
  1013. package/chronos/esm2015/i18n/th-be.metadata.json +0 -1
  1014. package/chronos/esm2015/i18n/th.js +0 -58
  1015. package/chronos/esm2015/i18n/th.js.map +0 -1
  1016. package/chronos/esm2015/i18n/th.metadata.json +0 -1
  1017. package/chronos/esm2015/i18n/tr.js +0 -78
  1018. package/chronos/esm2015/i18n/tr.js.map +0 -1
  1019. package/chronos/esm2015/i18n/tr.metadata.json +0 -1
  1020. package/chronos/esm2015/i18n/uk.js +0 -143
  1021. package/chronos/esm2015/i18n/uk.js.map +0 -1
  1022. package/chronos/esm2015/i18n/uk.metadata.json +0 -1
  1023. package/chronos/esm2015/i18n/vi.js +0 -70
  1024. package/chronos/esm2015/i18n/vi.js.map +0 -1
  1025. package/chronos/esm2015/i18n/vi.metadata.json +0 -1
  1026. package/chronos/esm2015/i18n/zh-cn.js +0 -109
  1027. package/chronos/esm2015/i18n/zh-cn.js.map +0 -1
  1028. package/chronos/esm2015/i18n/zh-cn.metadata.json +0 -1
  1029. package/chronos/esm2015/index.js +0 -2
  1030. package/chronos/esm2015/index.js.map +0 -1
  1031. package/chronos/esm2015/index.metadata.json +0 -1
  1032. package/chronos/esm2015/locale/calendar.js +0 -9
  1033. package/chronos/esm2015/locale/calendar.js.map +0 -1
  1034. package/chronos/esm2015/locale/calendar.metadata.json +0 -1
  1035. package/chronos/esm2015/locale/locale.class.js +0 -532
  1036. package/chronos/esm2015/locale/locale.class.js.map +0 -1
  1037. package/chronos/esm2015/locale/locale.class.metadata.json +0 -1
  1038. package/chronos/esm2015/locale/locale.defaults.js +0 -40
  1039. package/chronos/esm2015/locale/locale.defaults.js.map +0 -1
  1040. package/chronos/esm2015/locale/locale.defaults.metadata.json +0 -1
  1041. package/chronos/esm2015/locale/locales.js +0 -228
  1042. package/chronos/esm2015/locale/locales.js.map +0 -1
  1043. package/chronos/esm2015/locale/locales.metadata.json +0 -1
  1044. package/chronos/esm2015/moment/add-subtract.js +0 -35
  1045. package/chronos/esm2015/moment/add-subtract.js.map +0 -1
  1046. package/chronos/esm2015/moment/add-subtract.metadata.json +0 -1
  1047. package/chronos/esm2015/moment/calendar.js +0 -41
  1048. package/chronos/esm2015/moment/calendar.js.map +0 -1
  1049. package/chronos/esm2015/moment/calendar.metadata.json +0 -1
  1050. package/chronos/esm2015/moment/diff.js +0 -70
  1051. package/chronos/esm2015/moment/diff.js.map +0 -1
  1052. package/chronos/esm2015/moment/diff.metadata.json +0 -1
  1053. package/chronos/esm2015/moment/min-max.js +0 -38
  1054. package/chronos/esm2015/moment/min-max.js.map +0 -1
  1055. package/chronos/esm2015/moment/min-max.metadata.json +0 -1
  1056. package/chronos/esm2015/ngx-bootstrap-chronos.js +0 -6
  1057. package/chronos/esm2015/ngx-bootstrap-chronos.js.map +0 -1
  1058. package/chronos/esm2015/ngx-bootstrap-chronos.metadata.json +0 -1
  1059. package/chronos/esm2015/parse/regex.js +0 -47
  1060. package/chronos/esm2015/parse/regex.js.map +0 -1
  1061. package/chronos/esm2015/parse/regex.metadata.json +0 -1
  1062. package/chronos/esm2015/parse/token.js +0 -31
  1063. package/chronos/esm2015/parse/token.js.map +0 -1
  1064. package/chronos/esm2015/parse/token.metadata.json +0 -1
  1065. package/chronos/esm2015/public_api.js +0 -56
  1066. package/chronos/esm2015/public_api.js.map +0 -1
  1067. package/chronos/esm2015/public_api.metadata.json +0 -1
  1068. package/chronos/esm2015/testing/chain.js +0 -708
  1069. package/chronos/esm2015/testing/chain.js.map +0 -1
  1070. package/chronos/esm2015/testing/chain.metadata.json +0 -1
  1071. package/chronos/esm2015/types.js +0 -2
  1072. package/chronos/esm2015/types.js.map +0 -1
  1073. package/chronos/esm2015/types.metadata.json +0 -1
  1074. package/chronos/esm2015/units/aliases.js +0 -35
  1075. package/chronos/esm2015/units/aliases.js.map +0 -1
  1076. package/chronos/esm2015/units/aliases.metadata.json +0 -1
  1077. package/chronos/esm2015/units/constants.js +0 -11
  1078. package/chronos/esm2015/units/constants.js.map +0 -1
  1079. package/chronos/esm2015/units/constants.metadata.json +0 -1
  1080. package/chronos/esm2015/units/day-of-month.js +0 -31
  1081. package/chronos/esm2015/units/day-of-month.js.map +0 -1
  1082. package/chronos/esm2015/units/day-of-month.metadata.json +0 -1
  1083. package/chronos/esm2015/units/day-of-week.js +0 -129
  1084. package/chronos/esm2015/units/day-of-week.js.map +0 -1
  1085. package/chronos/esm2015/units/day-of-week.metadata.json +0 -1
  1086. package/chronos/esm2015/units/day-of-year.js +0 -37
  1087. package/chronos/esm2015/units/day-of-year.js.map +0 -1
  1088. package/chronos/esm2015/units/day-of-year.metadata.json +0 -1
  1089. package/chronos/esm2015/units/hour.js +0 -127
  1090. package/chronos/esm2015/units/hour.js.map +0 -1
  1091. package/chronos/esm2015/units/hour.metadata.json +0 -1
  1092. package/chronos/esm2015/units/index.js +0 -19
  1093. package/chronos/esm2015/units/index.js.map +0 -1
  1094. package/chronos/esm2015/units/millisecond.js +0 -59
  1095. package/chronos/esm2015/units/millisecond.js.map +0 -1
  1096. package/chronos/esm2015/units/millisecond.metadata.json +0 -1
  1097. package/chronos/esm2015/units/minute.js +0 -23
  1098. package/chronos/esm2015/units/minute.js.map +0 -1
  1099. package/chronos/esm2015/units/minute.metadata.json +0 -1
  1100. package/chronos/esm2015/units/month.js +0 -63
  1101. package/chronos/esm2015/units/month.js.map +0 -1
  1102. package/chronos/esm2015/units/month.metadata.json +0 -1
  1103. package/chronos/esm2015/units/offset.js +0 -209
  1104. package/chronos/esm2015/units/offset.js.map +0 -1
  1105. package/chronos/esm2015/units/offset.metadata.json +0 -1
  1106. package/chronos/esm2015/units/priorities.js +0 -21
  1107. package/chronos/esm2015/units/priorities.js.map +0 -1
  1108. package/chronos/esm2015/units/priorities.metadata.json +0 -1
  1109. package/chronos/esm2015/units/quarter.js +0 -39
  1110. package/chronos/esm2015/units/quarter.js.map +0 -1
  1111. package/chronos/esm2015/units/quarter.metadata.json +0 -1
  1112. package/chronos/esm2015/units/second.js +0 -23
  1113. package/chronos/esm2015/units/second.js.map +0 -1
  1114. package/chronos/esm2015/units/second.metadata.json +0 -1
  1115. package/chronos/esm2015/units/timestamp.js +0 -28
  1116. package/chronos/esm2015/units/timestamp.js.map +0 -1
  1117. package/chronos/esm2015/units/timestamp.metadata.json +0 -1
  1118. package/chronos/esm2015/units/timezone.js +0 -19
  1119. package/chronos/esm2015/units/timezone.js.map +0 -1
  1120. package/chronos/esm2015/units/timezone.metadata.json +0 -1
  1121. package/chronos/esm2015/units/week-calendar-utils.js +0 -70
  1122. package/chronos/esm2015/units/week-calendar-utils.js.map +0 -1
  1123. package/chronos/esm2015/units/week-calendar-utils.metadata.json +0 -1
  1124. package/chronos/esm2015/units/week-year.js +0 -101
  1125. package/chronos/esm2015/units/week-year.js.map +0 -1
  1126. package/chronos/esm2015/units/week-year.metadata.json +0 -1
  1127. package/chronos/esm2015/units/week.js +0 -58
  1128. package/chronos/esm2015/units/week.js.map +0 -1
  1129. package/chronos/esm2015/units/week.metadata.json +0 -1
  1130. package/chronos/esm2015/units/year.js +0 -60
  1131. package/chronos/esm2015/units/year.js.map +0 -1
  1132. package/chronos/esm2015/units/year.metadata.json +0 -1
  1133. package/chronos/esm2015/utils/abs-ceil.js +0 -4
  1134. package/chronos/esm2015/utils/abs-ceil.js.map +0 -1
  1135. package/chronos/esm2015/utils/abs-ceil.metadata.json +0 -1
  1136. package/chronos/esm2015/utils/abs-round.js +0 -4
  1137. package/chronos/esm2015/utils/abs-round.js.map +0 -1
  1138. package/chronos/esm2015/utils/abs-round.metadata.json +0 -1
  1139. package/chronos/esm2015/utils/compare-arrays.js +0 -16
  1140. package/chronos/esm2015/utils/compare-arrays.js.map +0 -1
  1141. package/chronos/esm2015/utils/compare-arrays.metadata.json +0 -1
  1142. package/chronos/esm2015/utils/date-compare.js +0 -55
  1143. package/chronos/esm2015/utils/date-compare.js.map +0 -1
  1144. package/chronos/esm2015/utils/date-compare.metadata.json +0 -1
  1145. package/chronos/esm2015/utils/date-getters.js +0 -67
  1146. package/chronos/esm2015/utils/date-getters.js.map +0 -1
  1147. package/chronos/esm2015/utils/date-getters.metadata.json +0 -1
  1148. package/chronos/esm2015/utils/date-setters.js +0 -75
  1149. package/chronos/esm2015/utils/date-setters.js.map +0 -1
  1150. package/chronos/esm2015/utils/date-setters.metadata.json +0 -1
  1151. package/chronos/esm2015/utils/defaults.js +0 -11
  1152. package/chronos/esm2015/utils/defaults.js.map +0 -1
  1153. package/chronos/esm2015/utils/defaults.metadata.json +0 -1
  1154. package/chronos/esm2015/utils/start-end-of.js +0 -57
  1155. package/chronos/esm2015/utils/start-end-of.js.map +0 -1
  1156. package/chronos/esm2015/utils/start-end-of.metadata.json +0 -1
  1157. package/chronos/esm2015/utils/type-checks.js +0 -58
  1158. package/chronos/esm2015/utils/type-checks.js.map +0 -1
  1159. package/chronos/esm2015/utils/type-checks.metadata.json +0 -1
  1160. package/chronos/esm2015/utils/zero-fill.js +0 -10
  1161. package/chronos/esm2015/utils/zero-fill.js.map +0 -1
  1162. package/chronos/esm2015/utils/zero-fill.metadata.json +0 -1
  1163. package/chronos/esm2015/utils.js +0 -7
  1164. package/chronos/esm2015/utils.js.map +0 -1
  1165. package/chronos/esm2015/utils.metadata.json +0 -1
  1166. package/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7317
  1167. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  1168. package/chronos/ngx-bootstrap-chronos.d.ts.__ivy_ngcc_bak +0 -5
  1169. package/chronos/ngx-bootstrap-chronos.d.ts.map +0 -1
  1170. package/chronos/ngx-bootstrap-chronos.metadata.json +0 -1
  1171. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js +0 -222
  1172. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1173. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +0 -203
  1174. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +0 -1
  1175. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +0 -2
  1176. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +0 -1
  1177. package/collapse/collapse.directive.d.ts.__ivy_ngcc_bak +0 -42
  1178. package/collapse/collapse.directive.d.ts.map +0 -1
  1179. package/collapse/collapse.module.d.ts.__ivy_ngcc_bak +0 -4
  1180. package/collapse/collapse.module.d.ts.map +0 -1
  1181. package/collapse/esm2015/collapse-animations.js +0 -11
  1182. package/collapse/esm2015/collapse-animations.js.map +0 -1
  1183. package/collapse/esm2015/collapse-animations.metadata.json +0 -1
  1184. package/collapse/esm2015/collapse.directive.js +0 -152
  1185. package/collapse/esm2015/collapse.directive.js.map +0 -1
  1186. package/collapse/esm2015/collapse.directive.metadata.json +0 -1
  1187. package/collapse/esm2015/collapse.module.js +0 -14
  1188. package/collapse/esm2015/collapse.module.js.map +0 -1
  1189. package/collapse/esm2015/collapse.module.metadata.json +0 -1
  1190. package/collapse/esm2015/index.js +0 -2
  1191. package/collapse/esm2015/index.js.map +0 -1
  1192. package/collapse/esm2015/index.metadata.json +0 -1
  1193. package/collapse/esm2015/ngx-bootstrap-collapse.js +0 -5
  1194. package/collapse/esm2015/ngx-bootstrap-collapse.js.map +0 -1
  1195. package/collapse/esm2015/ngx-bootstrap-collapse.metadata.json +0 -1
  1196. package/collapse/esm2015/public_api.js +0 -3
  1197. package/collapse/esm2015/public_api.js.map +0 -1
  1198. package/collapse/esm2015/public_api.metadata.json +0 -1
  1199. package/collapse/fesm2015/ngx-bootstrap-collapse.js +0 -180
  1200. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1201. package/collapse/ngx-bootstrap-collapse.d.ts.__ivy_ngcc_bak +0 -4
  1202. package/collapse/ngx-bootstrap-collapse.d.ts.map +0 -1
  1203. package/collapse/ngx-bootstrap-collapse.metadata.json +0 -1
  1204. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js +0 -348
  1205. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1206. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +0 -366
  1207. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +0 -1
  1208. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +0 -2
  1209. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +0 -1
  1210. package/component-loader/component-loader.factory.d.ts.__ivy_ngcc_bak +0 -18
  1211. package/component-loader/component-loader.factory.d.ts.map +0 -1
  1212. package/component-loader/esm2015/bs-component-ref.class.js +0 -3
  1213. package/component-loader/esm2015/bs-component-ref.class.js.map +0 -1
  1214. package/component-loader/esm2015/bs-component-ref.class.metadata.json +0 -1
  1215. package/component-loader/esm2015/component-loader.class.js +0 -289
  1216. package/component-loader/esm2015/component-loader.class.js.map +0 -1
  1217. package/component-loader/esm2015/component-loader.class.metadata.json +0 -1
  1218. package/component-loader/esm2015/component-loader.factory.js +0 -35
  1219. package/component-loader/esm2015/component-loader.factory.js.map +0 -1
  1220. package/component-loader/esm2015/component-loader.factory.metadata.json +0 -1
  1221. package/component-loader/esm2015/content-ref.class.js +0 -16
  1222. package/component-loader/esm2015/content-ref.class.js.map +0 -1
  1223. package/component-loader/esm2015/content-ref.class.metadata.json +0 -1
  1224. package/component-loader/esm2015/index.js +0 -2
  1225. package/component-loader/esm2015/index.js.map +0 -1
  1226. package/component-loader/esm2015/index.metadata.json +0 -1
  1227. package/component-loader/esm2015/listen-options.model.js +0 -2
  1228. package/component-loader/esm2015/listen-options.model.js.map +0 -1
  1229. package/component-loader/esm2015/listen-options.model.metadata.json +0 -1
  1230. package/component-loader/esm2015/ngx-bootstrap-component-loader.js +0 -5
  1231. package/component-loader/esm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1232. package/component-loader/esm2015/ngx-bootstrap-component-loader.metadata.json +0 -1
  1233. package/component-loader/esm2015/public_api.js +0 -5
  1234. package/component-loader/esm2015/public_api.js.map +0 -1
  1235. package/component-loader/esm2015/public_api.metadata.json +0 -1
  1236. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +0 -343
  1237. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1238. package/component-loader/ngx-bootstrap-component-loader.d.ts.__ivy_ngcc_bak +0 -4
  1239. package/component-loader/ngx-bootstrap-component-loader.d.ts.map +0 -1
  1240. package/component-loader/ngx-bootstrap-component-loader.metadata.json +0 -1
  1241. package/datepicker/bs-datepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1242. package/datepicker/bs-datepicker-inline.component.d.ts.map +0 -1
  1243. package/datepicker/bs-datepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -3
  1244. package/datepicker/bs-datepicker-inline.config.d.ts.map +0 -1
  1245. package/datepicker/bs-datepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1246. package/datepicker/bs-datepicker-input.directive.d.ts.map +0 -1
  1247. package/datepicker/bs-datepicker.component.d.ts.__ivy_ngcc_bak +0 -121
  1248. package/datepicker/bs-datepicker.component.d.ts.map +0 -1
  1249. package/datepicker/bs-datepicker.config.d.ts.__ivy_ngcc_bak +0 -151
  1250. package/datepicker/bs-datepicker.config.d.ts.map +0 -1
  1251. package/datepicker/bs-datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1252. package/datepicker/bs-datepicker.module.d.ts.map +0 -1
  1253. package/datepicker/bs-daterangepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1254. package/datepicker/bs-daterangepicker-inline.component.d.ts.map +0 -1
  1255. package/datepicker/bs-daterangepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -6
  1256. package/datepicker/bs-daterangepicker-inline.config.d.ts.map +0 -1
  1257. package/datepicker/bs-daterangepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1258. package/datepicker/bs-daterangepicker-input.directive.d.ts.map +0 -1
  1259. package/datepicker/bs-daterangepicker.component.d.ts.__ivy_ngcc_bak +0 -113
  1260. package/datepicker/bs-daterangepicker.component.d.ts.map +0 -1
  1261. package/datepicker/bs-daterangepicker.config.d.ts.__ivy_ngcc_bak +0 -4
  1262. package/datepicker/bs-daterangepicker.config.d.ts.map +0 -1
  1263. package/datepicker/bs-locale.service.d.ts.__ivy_ngcc_bak +0 -10
  1264. package/datepicker/bs-locale.service.d.ts.map +0 -1
  1265. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +0 -4590
  1266. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +0 -1
  1267. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +0 -17
  1268. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +0 -1
  1269. package/datepicker/datepicker-inner.component.d.ts.__ivy_ngcc_bak +0 -77
  1270. package/datepicker/datepicker-inner.component.d.ts.map +0 -1
  1271. package/datepicker/datepicker.component.d.ts.__ivy_ngcc_bak +0 -78
  1272. package/datepicker/datepicker.component.d.ts.map +0 -1
  1273. package/datepicker/datepicker.config.d.ts.__ivy_ngcc_bak +0 -19
  1274. package/datepicker/datepicker.config.d.ts.map +0 -1
  1275. package/datepicker/datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1276. package/datepicker/datepicker.module.d.ts.map +0 -1
  1277. package/datepicker/daypicker.component.d.ts.__ivy_ngcc_bak +0 -17
  1278. package/datepicker/daypicker.component.d.ts.map +0 -1
  1279. package/datepicker/esm2015/base/bs-datepicker-container.js +0 -84
  1280. package/datepicker/esm2015/base/bs-datepicker-container.js.map +0 -1
  1281. package/datepicker/esm2015/base/bs-datepicker-container.metadata.json +0 -1
  1282. package/datepicker/esm2015/bs-datepicker-inline.component.js +0 -147
  1283. package/datepicker/esm2015/bs-datepicker-inline.component.js.map +0 -1
  1284. package/datepicker/esm2015/bs-datepicker-inline.component.metadata.json +0 -1
  1285. package/datepicker/esm2015/bs-datepicker-inline.component.ngfactory.js.map +0 -1
  1286. package/datepicker/esm2015/bs-datepicker-inline.config.js +0 -12
  1287. package/datepicker/esm2015/bs-datepicker-inline.config.js.map +0 -1
  1288. package/datepicker/esm2015/bs-datepicker-inline.config.metadata.json +0 -1
  1289. package/datepicker/esm2015/bs-datepicker-inline.config.ngfactory.js.map +0 -1
  1290. package/datepicker/esm2015/bs-datepicker-input.directive.js +0 -162
  1291. package/datepicker/esm2015/bs-datepicker-input.directive.js.map +0 -1
  1292. package/datepicker/esm2015/bs-datepicker-input.directive.metadata.json +0 -1
  1293. package/datepicker/esm2015/bs-datepicker-input.directive.ngfactory.js.map +0 -1
  1294. package/datepicker/esm2015/bs-datepicker.component.js +0 -251
  1295. package/datepicker/esm2015/bs-datepicker.component.js.map +0 -1
  1296. package/datepicker/esm2015/bs-datepicker.component.metadata.json +0 -1
  1297. package/datepicker/esm2015/bs-datepicker.component.ngfactory.js.map +0 -1
  1298. package/datepicker/esm2015/bs-datepicker.config.js +0 -87
  1299. package/datepicker/esm2015/bs-datepicker.config.js.map +0 -1
  1300. package/datepicker/esm2015/bs-datepicker.config.metadata.json +0 -1
  1301. package/datepicker/esm2015/bs-datepicker.config.ngfactory.js.map +0 -1
  1302. package/datepicker/esm2015/bs-datepicker.module.js +0 -91
  1303. package/datepicker/esm2015/bs-datepicker.module.js.map +0 -1
  1304. package/datepicker/esm2015/bs-datepicker.module.metadata.json +0 -1
  1305. package/datepicker/esm2015/bs-datepicker.module.ngfactory.js.map +0 -1
  1306. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +0 -146
  1307. package/datepicker/esm2015/bs-daterangepicker-inline.component.js.map +0 -1
  1308. package/datepicker/esm2015/bs-daterangepicker-inline.component.metadata.json +0 -1
  1309. package/datepicker/esm2015/bs-daterangepicker-inline.component.ngfactory.js.map +0 -1
  1310. package/datepicker/esm2015/bs-daterangepicker-inline.config.js +0 -19
  1311. package/datepicker/esm2015/bs-daterangepicker-inline.config.js.map +0 -1
  1312. package/datepicker/esm2015/bs-daterangepicker-inline.config.metadata.json +0 -1
  1313. package/datepicker/esm2015/bs-daterangepicker-inline.config.ngfactory.js.map +0 -1
  1314. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +0 -207
  1315. package/datepicker/esm2015/bs-daterangepicker-input.directive.js.map +0 -1
  1316. package/datepicker/esm2015/bs-daterangepicker-input.directive.metadata.json +0 -1
  1317. package/datepicker/esm2015/bs-daterangepicker-input.directive.ngfactory.js.map +0 -1
  1318. package/datepicker/esm2015/bs-daterangepicker.component.js +0 -244
  1319. package/datepicker/esm2015/bs-daterangepicker.component.js.map +0 -1
  1320. package/datepicker/esm2015/bs-daterangepicker.component.metadata.json +0 -1
  1321. package/datepicker/esm2015/bs-daterangepicker.component.ngfactory.js.map +0 -1
  1322. package/datepicker/esm2015/bs-daterangepicker.config.js +0 -17
  1323. package/datepicker/esm2015/bs-daterangepicker.config.js.map +0 -1
  1324. package/datepicker/esm2015/bs-daterangepicker.config.metadata.json +0 -1
  1325. package/datepicker/esm2015/bs-daterangepicker.config.ngfactory.js.map +0 -1
  1326. package/datepicker/esm2015/bs-locale.service.js +0 -28
  1327. package/datepicker/esm2015/bs-locale.service.js.map +0 -1
  1328. package/datepicker/esm2015/bs-locale.service.metadata.json +0 -1
  1329. package/datepicker/esm2015/bs-locale.service.ngfactory.js.map +0 -1
  1330. package/datepicker/esm2015/date-formatter.js +0 -7
  1331. package/datepicker/esm2015/date-formatter.js.map +0 -1
  1332. package/datepicker/esm2015/date-formatter.metadata.json +0 -1
  1333. package/datepicker/esm2015/datepicker-animations.js +0 -16
  1334. package/datepicker/esm2015/datepicker-animations.js.map +0 -1
  1335. package/datepicker/esm2015/datepicker-animations.metadata.json +0 -1
  1336. package/datepicker/esm2015/datepicker-inner.component.js +0 -290
  1337. package/datepicker/esm2015/datepicker-inner.component.js.map +0 -1
  1338. package/datepicker/esm2015/datepicker-inner.component.metadata.json +0 -1
  1339. package/datepicker/esm2015/datepicker-inner.component.ngfactory.js.map +0 -1
  1340. package/datepicker/esm2015/datepicker.component.js +0 -142
  1341. package/datepicker/esm2015/datepicker.component.js.map +0 -1
  1342. package/datepicker/esm2015/datepicker.component.metadata.json +0 -1
  1343. package/datepicker/esm2015/datepicker.component.ngfactory.js.map +0 -1
  1344. package/datepicker/esm2015/datepicker.config.js +0 -30
  1345. package/datepicker/esm2015/datepicker.config.js.map +0 -1
  1346. package/datepicker/esm2015/datepicker.config.metadata.json +0 -1
  1347. package/datepicker/esm2015/datepicker.config.ngfactory.js.map +0 -1
  1348. package/datepicker/esm2015/datepicker.module.js +0 -35
  1349. package/datepicker/esm2015/datepicker.module.js.map +0 -1
  1350. package/datepicker/esm2015/datepicker.module.metadata.json +0 -1
  1351. package/datepicker/esm2015/datepicker.module.ngfactory.js.map +0 -1
  1352. package/datepicker/esm2015/daypicker.component.js +0 -185
  1353. package/datepicker/esm2015/daypicker.component.js.map +0 -1
  1354. package/datepicker/esm2015/daypicker.component.metadata.json +0 -1
  1355. package/datepicker/esm2015/daypicker.component.ngfactory.js.map +0 -1
  1356. package/datepicker/esm2015/engine/calc-days-calendar.js +0 -21
  1357. package/datepicker/esm2015/engine/calc-days-calendar.js.map +0 -1
  1358. package/datepicker/esm2015/engine/calc-days-calendar.metadata.json +0 -1
  1359. package/datepicker/esm2015/engine/flag-days-calendar.js +0 -93
  1360. package/datepicker/esm2015/engine/flag-days-calendar.js.map +0 -1
  1361. package/datepicker/esm2015/engine/flag-days-calendar.metadata.json +0 -1
  1362. package/datepicker/esm2015/engine/flag-months-calendar.js +0 -45
  1363. package/datepicker/esm2015/engine/flag-months-calendar.js.map +0 -1
  1364. package/datepicker/esm2015/engine/flag-months-calendar.metadata.json +0 -1
  1365. package/datepicker/esm2015/engine/flag-years-calendar.js +0 -42
  1366. package/datepicker/esm2015/engine/flag-years-calendar.js.map +0 -1
  1367. package/datepicker/esm2015/engine/flag-years-calendar.metadata.json +0 -1
  1368. package/datepicker/esm2015/engine/format-days-calendar.js +0 -33
  1369. package/datepicker/esm2015/engine/format-days-calendar.js.map +0 -1
  1370. package/datepicker/esm2015/engine/format-days-calendar.metadata.json +0 -1
  1371. package/datepicker/esm2015/engine/format-months-calendar.js +0 -23
  1372. package/datepicker/esm2015/engine/format-months-calendar.js.map +0 -1
  1373. package/datepicker/esm2015/engine/format-months-calendar.metadata.json +0 -1
  1374. package/datepicker/esm2015/engine/format-years-calendar.js +0 -39
  1375. package/datepicker/esm2015/engine/format-years-calendar.js.map +0 -1
  1376. package/datepicker/esm2015/engine/format-years-calendar.metadata.json +0 -1
  1377. package/datepicker/esm2015/engine/view-mode.js +0 -4
  1378. package/datepicker/esm2015/engine/view-mode.js.map +0 -1
  1379. package/datepicker/esm2015/engine/view-mode.metadata.json +0 -1
  1380. package/datepicker/esm2015/index.js +0 -2
  1381. package/datepicker/esm2015/index.js.map +0 -1
  1382. package/datepicker/esm2015/index.metadata.json +0 -1
  1383. package/datepicker/esm2015/models/index.js +0 -9
  1384. package/datepicker/esm2015/models/index.js.map +0 -1
  1385. package/datepicker/esm2015/models/index.metadata.json +0 -1
  1386. package/datepicker/esm2015/monthpicker.component.js +0 -91
  1387. package/datepicker/esm2015/monthpicker.component.js.map +0 -1
  1388. package/datepicker/esm2015/monthpicker.component.metadata.json +0 -1
  1389. package/datepicker/esm2015/monthpicker.component.ngfactory.js.map +0 -1
  1390. package/datepicker/esm2015/ngx-bootstrap-datepicker.js +0 -20
  1391. package/datepicker/esm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1392. package/datepicker/esm2015/ngx-bootstrap-datepicker.metadata.json +0 -1
  1393. package/datepicker/esm2015/public_api.js +0 -25
  1394. package/datepicker/esm2015/public_api.js.map +0 -1
  1395. package/datepicker/esm2015/public_api.metadata.json +0 -1
  1396. package/datepicker/esm2015/reducer/_defaults.js +0 -6
  1397. package/datepicker/esm2015/reducer/_defaults.js.map +0 -1
  1398. package/datepicker/esm2015/reducer/_defaults.metadata.json +0 -1
  1399. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +0 -139
  1400. package/datepicker/esm2015/reducer/bs-datepicker.actions.js.map +0 -1
  1401. package/datepicker/esm2015/reducer/bs-datepicker.actions.metadata.json +0 -1
  1402. package/datepicker/esm2015/reducer/bs-datepicker.actions.ngfactory.js.map +0 -1
  1403. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +0 -195
  1404. package/datepicker/esm2015/reducer/bs-datepicker.effects.js.map +0 -1
  1405. package/datepicker/esm2015/reducer/bs-datepicker.effects.metadata.json +0 -1
  1406. package/datepicker/esm2015/reducer/bs-datepicker.effects.ngfactory.js.map +0 -1
  1407. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +0 -378
  1408. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js.map +0 -1
  1409. package/datepicker/esm2015/reducer/bs-datepicker.reducer.metadata.json +0 -1
  1410. package/datepicker/esm2015/reducer/bs-datepicker.state.js +0 -18
  1411. package/datepicker/esm2015/reducer/bs-datepicker.state.js.map +0 -1
  1412. package/datepicker/esm2015/reducer/bs-datepicker.state.metadata.json +0 -1
  1413. package/datepicker/esm2015/reducer/bs-datepicker.store.js +0 -19
  1414. package/datepicker/esm2015/reducer/bs-datepicker.store.js.map +0 -1
  1415. package/datepicker/esm2015/reducer/bs-datepicker.store.metadata.json +0 -1
  1416. package/datepicker/esm2015/reducer/bs-datepicker.store.ngfactory.js.map +0 -1
  1417. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js +0 -25
  1418. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js.map +0 -1
  1419. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.metadata.json +0 -1
  1420. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.ngfactory.js.map +0 -1
  1421. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js +0 -13
  1422. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js.map +0 -1
  1423. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.metadata.json +0 -1
  1424. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.ngfactory.js.map +0 -1
  1425. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +0 -33
  1426. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js.map +0 -1
  1427. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.metadata.json +0 -1
  1428. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.ngfactory.js.map +0 -1
  1429. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +0 -161
  1430. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js.map +0 -1
  1431. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.metadata.json +0 -1
  1432. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.ngfactory.js.map +0 -1
  1433. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  1434. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js.map +0 -1
  1435. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +0 -1
  1436. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.ngfactory.js.map +0 -1
  1437. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  1438. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js.map +0 -1
  1439. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.metadata.json +0 -1
  1440. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.ngfactory.js.map +0 -1
  1441. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  1442. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js.map +0 -1
  1443. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.metadata.json +0 -1
  1444. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.ngfactory.js.map +0 -1
  1445. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +0 -221
  1446. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js.map +0 -1
  1447. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.metadata.json +0 -1
  1448. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.ngfactory.js.map +0 -1
  1449. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  1450. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js.map +0 -1
  1451. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.metadata.json +0 -1
  1452. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.ngfactory.js.map +0 -1
  1453. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +0 -161
  1454. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js.map +0 -1
  1455. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.metadata.json +0 -1
  1456. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.ngfactory.js.map +0 -1
  1457. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js +0 -60
  1458. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js.map +0 -1
  1459. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.metadata.json +0 -1
  1460. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.ngfactory.js.map +0 -1
  1461. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js +0 -33
  1462. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js.map +0 -1
  1463. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.metadata.json +0 -1
  1464. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.ngfactory.js.map +0 -1
  1465. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js +0 -61
  1466. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js.map +0 -1
  1467. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.metadata.json +0 -1
  1468. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.ngfactory.js.map +0 -1
  1469. package/datepicker/esm2015/utils/bs-calendar-utils.js +0 -120
  1470. package/datepicker/esm2015/utils/bs-calendar-utils.js.map +0 -1
  1471. package/datepicker/esm2015/utils/bs-calendar-utils.metadata.json +0 -1
  1472. package/datepicker/esm2015/utils/copy-time-utils.js +0 -7
  1473. package/datepicker/esm2015/utils/copy-time-utils.js.map +0 -1
  1474. package/datepicker/esm2015/utils/copy-time-utils.metadata.json +0 -1
  1475. package/datepicker/esm2015/utils/matrix-utils.js +0 -14
  1476. package/datepicker/esm2015/utils/matrix-utils.js.map +0 -1
  1477. package/datepicker/esm2015/utils/matrix-utils.metadata.json +0 -1
  1478. package/datepicker/esm2015/yearpicker.component.js +0 -101
  1479. package/datepicker/esm2015/yearpicker.component.js.map +0 -1
  1480. package/datepicker/esm2015/yearpicker.component.metadata.json +0 -1
  1481. package/datepicker/esm2015/yearpicker.component.ngfactory.js.map +0 -1
  1482. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -4353
  1483. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1484. package/datepicker/monthpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1485. package/datepicker/monthpicker.component.d.ts.map +0 -1
  1486. package/datepicker/ngx-bootstrap-datepicker.d.ts.__ivy_ngcc_bak +0 -19
  1487. package/datepicker/ngx-bootstrap-datepicker.d.ts.map +0 -1
  1488. package/datepicker/ngx-bootstrap-datepicker.metadata.json +0 -1
  1489. package/datepicker/reducer/bs-datepicker.actions.d.ts.__ivy_ngcc_bak +0 -45
  1490. package/datepicker/reducer/bs-datepicker.actions.d.ts.map +0 -1
  1491. package/datepicker/reducer/bs-datepicker.effects.d.ts.__ivy_ngcc_bak +0 -38
  1492. package/datepicker/reducer/bs-datepicker.effects.d.ts.map +0 -1
  1493. package/datepicker/reducer/bs-datepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  1494. package/datepicker/reducer/bs-datepicker.store.d.ts.map +0 -1
  1495. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.__ivy_ngcc_bak +0 -2
  1496. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.map +0 -1
  1497. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.__ivy_ngcc_bak +0 -3
  1498. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.map +0 -1
  1499. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.__ivy_ngcc_bak +0 -12
  1500. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.map +0 -1
  1501. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.__ivy_ngcc_bak +0 -35
  1502. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.map +0 -1
  1503. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.__ivy_ngcc_bak +0 -11
  1504. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.map +0 -1
  1505. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1506. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.map +0 -1
  1507. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.__ivy_ngcc_bak +0 -9
  1508. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.map +0 -1
  1509. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.__ivy_ngcc_bak +0 -40
  1510. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.map +0 -1
  1511. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1512. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.map +0 -1
  1513. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -23
  1514. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.map +0 -1
  1515. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1516. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.map +0 -1
  1517. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.__ivy_ngcc_bak +0 -5
  1518. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.map +0 -1
  1519. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1520. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.map +0 -1
  1521. package/datepicker/yearpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1522. package/datepicker/yearpicker.component.d.ts.map +0 -1
  1523. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js +0 -667
  1524. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1525. package/dropdown/bs-dropdown-container.component.d.ts.__ivy_ngcc_bak +0 -17
  1526. package/dropdown/bs-dropdown-container.component.d.ts.map +0 -1
  1527. package/dropdown/bs-dropdown-menu.directive.d.ts.__ivy_ngcc_bak +0 -5
  1528. package/dropdown/bs-dropdown-menu.directive.d.ts.map +0 -1
  1529. package/dropdown/bs-dropdown-toggle.directive.d.ts.__ivy_ngcc_bak +0 -18
  1530. package/dropdown/bs-dropdown-toggle.directive.d.ts.map +0 -1
  1531. package/dropdown/bs-dropdown.config.d.ts.__ivy_ngcc_bak +0 -11
  1532. package/dropdown/bs-dropdown.config.d.ts.map +0 -1
  1533. package/dropdown/bs-dropdown.directive.d.ts.__ivy_ngcc_bak +0 -106
  1534. package/dropdown/bs-dropdown.directive.d.ts.map +0 -1
  1535. package/dropdown/bs-dropdown.module.d.ts.__ivy_ngcc_bak +0 -4
  1536. package/dropdown/bs-dropdown.module.d.ts.map +0 -1
  1537. package/dropdown/bs-dropdown.state.d.ts.__ivy_ngcc_bak +0 -20
  1538. package/dropdown/bs-dropdown.state.d.ts.map +0 -1
  1539. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +0 -964
  1540. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +0 -1
  1541. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +0 -16
  1542. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +0 -1
  1543. package/dropdown/esm2015/bs-dropdown-container.component.js +0 -74
  1544. package/dropdown/esm2015/bs-dropdown-container.component.js.map +0 -1
  1545. package/dropdown/esm2015/bs-dropdown-container.component.metadata.json +0 -1
  1546. package/dropdown/esm2015/bs-dropdown-menu.directive.js +0 -22
  1547. package/dropdown/esm2015/bs-dropdown-menu.directive.js.map +0 -1
  1548. package/dropdown/esm2015/bs-dropdown-menu.directive.metadata.json +0 -1
  1549. package/dropdown/esm2015/bs-dropdown-toggle.directive.js +0 -84
  1550. package/dropdown/esm2015/bs-dropdown-toggle.directive.js.map +0 -1
  1551. package/dropdown/esm2015/bs-dropdown-toggle.directive.metadata.json +0 -1
  1552. package/dropdown/esm2015/bs-dropdown.config.js +0 -22
  1553. package/dropdown/esm2015/bs-dropdown.config.js.map +0 -1
  1554. package/dropdown/esm2015/bs-dropdown.config.metadata.json +0 -1
  1555. package/dropdown/esm2015/bs-dropdown.directive.js +0 -332
  1556. package/dropdown/esm2015/bs-dropdown.directive.js.map +0 -1
  1557. package/dropdown/esm2015/bs-dropdown.directive.metadata.json +0 -1
  1558. package/dropdown/esm2015/bs-dropdown.module.js +0 -39
  1559. package/dropdown/esm2015/bs-dropdown.module.js.map +0 -1
  1560. package/dropdown/esm2015/bs-dropdown.module.metadata.json +0 -1
  1561. package/dropdown/esm2015/bs-dropdown.state.js +0 -22
  1562. package/dropdown/esm2015/bs-dropdown.state.js.map +0 -1
  1563. package/dropdown/esm2015/bs-dropdown.state.metadata.json +0 -1
  1564. package/dropdown/esm2015/dropdown-animations.js +0 -7
  1565. package/dropdown/esm2015/dropdown-animations.js.map +0 -1
  1566. package/dropdown/esm2015/dropdown-animations.metadata.json +0 -1
  1567. package/dropdown/esm2015/index.js +0 -2
  1568. package/dropdown/esm2015/index.js.map +0 -1
  1569. package/dropdown/esm2015/index.metadata.json +0 -1
  1570. package/dropdown/esm2015/ngx-bootstrap-dropdown.js +0 -5
  1571. package/dropdown/esm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1572. package/dropdown/esm2015/ngx-bootstrap-dropdown.metadata.json +0 -1
  1573. package/dropdown/esm2015/public_api.js +0 -8
  1574. package/dropdown/esm2015/public_api.js.map +0 -1
  1575. package/dropdown/esm2015/public_api.metadata.json +0 -1
  1576. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +0 -584
  1577. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1578. package/dropdown/ngx-bootstrap-dropdown.d.ts.__ivy_ngcc_bak +0 -4
  1579. package/dropdown/ngx-bootstrap-dropdown.d.ts.map +0 -1
  1580. package/dropdown/ngx-bootstrap-dropdown.metadata.json +0 -1
  1581. package/esm2015/index.js +0 -2
  1582. package/esm2015/index.js.map +0 -1
  1583. package/esm2015/ngx-bootstrap.js +0 -5
  1584. package/esm2015/ngx-bootstrap.js.map +0 -1
  1585. package/esm2015/ngx-bootstrap.metadata.json +0 -1
  1586. package/fesm2015/ngx-bootstrap.js +0 -6
  1587. package/fesm2015/ngx-bootstrap.js.map +0 -1
  1588. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js +0 -822
  1589. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1590. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js +0 -831
  1591. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js.map +0 -1
  1592. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js +0 -32
  1593. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js.map +0 -1
  1594. package/focus-trap/esm2015/boolean-property.js +0 -12
  1595. package/focus-trap/esm2015/boolean-property.js.map +0 -1
  1596. package/focus-trap/esm2015/boolean-property.metadata.json +0 -1
  1597. package/focus-trap/esm2015/focus-trap-manager.js +0 -52
  1598. package/focus-trap/esm2015/focus-trap-manager.js.map +0 -1
  1599. package/focus-trap/esm2015/focus-trap-manager.metadata.json +0 -1
  1600. package/focus-trap/esm2015/focus-trap.js +0 -397
  1601. package/focus-trap/esm2015/focus-trap.js.map +0 -1
  1602. package/focus-trap/esm2015/focus-trap.metadata.json +0 -1
  1603. package/focus-trap/esm2015/focus-trap.module.js +0 -26
  1604. package/focus-trap/esm2015/focus-trap.module.js.map +0 -1
  1605. package/focus-trap/esm2015/focus-trap.module.metadata.json +0 -1
  1606. package/focus-trap/esm2015/index.js +0 -2
  1607. package/focus-trap/esm2015/index.js.map +0 -1
  1608. package/focus-trap/esm2015/index.metadata.json +0 -1
  1609. package/focus-trap/esm2015/interactivity-checker.js +0 -242
  1610. package/focus-trap/esm2015/interactivity-checker.js.map +0 -1
  1611. package/focus-trap/esm2015/interactivity-checker.metadata.json +0 -1
  1612. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js +0 -9
  1613. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1614. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1615. package/focus-trap/esm2015/platform.js +0 -78
  1616. package/focus-trap/esm2015/platform.js.map +0 -1
  1617. package/focus-trap/esm2015/platform.metadata.json +0 -1
  1618. package/focus-trap/esm2015/public_api.js +0 -4
  1619. package/focus-trap/esm2015/public_api.js.map +0 -1
  1620. package/focus-trap/esm2015/public_api.metadata.json +0 -1
  1621. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js +0 -790
  1622. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1623. package/focus-trap/focus-trap-manager.d.ts.__ivy_ngcc_bak +0 -30
  1624. package/focus-trap/focus-trap-manager.d.ts.map +0 -1
  1625. package/focus-trap/focus-trap.d.ts.__ivy_ngcc_bak +0 -157
  1626. package/focus-trap/focus-trap.d.ts.map +0 -1
  1627. package/focus-trap/focus-trap.module.d.ts.__ivy_ngcc_bak +0 -4
  1628. package/focus-trap/focus-trap.module.d.ts.map +0 -1
  1629. package/focus-trap/interactivity-checker.d.ts.__ivy_ngcc_bak +0 -57
  1630. package/focus-trap/interactivity-checker.d.ts.map +0 -1
  1631. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.__ivy_ngcc_bak +0 -8
  1632. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.map +0 -1
  1633. package/focus-trap/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1634. package/focus-trap/platform.d.ts.__ivy_ngcc_bak +0 -33
  1635. package/focus-trap/platform.d.ts.map +0 -1
  1636. package/locale/bundles/ngx-bootstrap-locale.umd.js +0 -279
  1637. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +0 -1
  1638. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +0 -2
  1639. package/locale/bundles/ngx-bootstrap-locale.umd.min.js.map +0 -1
  1640. package/locale/esm2015/index.js +0 -2
  1641. package/locale/esm2015/index.js.map +0 -1
  1642. package/locale/esm2015/index.metadata.json +0 -1
  1643. package/locale/esm2015/ngx-bootstrap-locale.js +0 -5
  1644. package/locale/esm2015/ngx-bootstrap-locale.js.map +0 -1
  1645. package/locale/esm2015/ngx-bootstrap-locale.metadata.json +0 -1
  1646. package/locale/esm2015/public_api.js +0 -45
  1647. package/locale/esm2015/public_api.js.map +0 -1
  1648. package/locale/esm2015/public_api.metadata.json +0 -1
  1649. package/locale/fesm2015/ngx-bootstrap-locale.js +0 -6
  1650. package/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  1651. package/locale/ngx-bootstrap-locale.d.ts.__ivy_ngcc_bak +0 -4
  1652. package/locale/ngx-bootstrap-locale.d.ts.map +0 -1
  1653. package/locale/ngx-bootstrap-locale.metadata.json +0 -1
  1654. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -62
  1655. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1656. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +0 -381
  1657. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +0 -1
  1658. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +0 -16
  1659. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +0 -1
  1660. package/mini-ngrx/esm2015/index.js +0 -2
  1661. package/mini-ngrx/esm2015/index.js.map +0 -1
  1662. package/mini-ngrx/esm2015/index.metadata.json +0 -1
  1663. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js +0 -5
  1664. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1665. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1666. package/mini-ngrx/esm2015/public_api.js +0 -3
  1667. package/mini-ngrx/esm2015/public_api.js.map +0 -1
  1668. package/mini-ngrx/esm2015/public_api.metadata.json +0 -1
  1669. package/mini-ngrx/esm2015/state.class.js +0 -16
  1670. package/mini-ngrx/esm2015/state.class.js.map +0 -1
  1671. package/mini-ngrx/esm2015/state.class.metadata.json +0 -1
  1672. package/mini-ngrx/esm2015/store.class.js +0 -40
  1673. package/mini-ngrx/esm2015/store.class.js.map +0 -1
  1674. package/mini-ngrx/esm2015/store.class.metadata.json +0 -1
  1675. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -61
  1676. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1677. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.__ivy_ngcc_bak +0 -4
  1678. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.map +0 -1
  1679. package/mini-ngrx/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1680. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js +0 -932
  1681. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1682. package/modal/bs-modal-ref.service.d.ts.__ivy_ngcc_bak +0 -27
  1683. package/modal/bs-modal-ref.service.d.ts.map +0 -1
  1684. package/modal/bs-modal.service.d.ts.__ivy_ngcc_bak +0 -45
  1685. package/modal/bs-modal.service.d.ts.map +0 -1
  1686. package/modal/bundles/ngx-bootstrap-modal.umd.js +0 -1213
  1687. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +0 -1
  1688. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +0 -2
  1689. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +0 -1
  1690. package/modal/esm2015/bs-modal-ref.service.js +0 -18
  1691. package/modal/esm2015/bs-modal-ref.service.js.map +0 -1
  1692. package/modal/esm2015/bs-modal-ref.service.metadata.json +0 -1
  1693. package/modal/esm2015/bs-modal.service.js +0 -214
  1694. package/modal/esm2015/bs-modal.service.js.map +0 -1
  1695. package/modal/esm2015/bs-modal.service.metadata.json +0 -1
  1696. package/modal/esm2015/index.js +0 -2
  1697. package/modal/esm2015/index.js.map +0 -1
  1698. package/modal/esm2015/index.metadata.json +0 -1
  1699. package/modal/esm2015/modal-backdrop.component.js +0 -58
  1700. package/modal/esm2015/modal-backdrop.component.js.map +0 -1
  1701. package/modal/esm2015/modal-backdrop.component.metadata.json +0 -1
  1702. package/modal/esm2015/modal-backdrop.options.js +0 -7
  1703. package/modal/esm2015/modal-backdrop.options.js.map +0 -1
  1704. package/modal/esm2015/modal-backdrop.options.metadata.json +0 -1
  1705. package/modal/esm2015/modal-container.component.js +0 -135
  1706. package/modal/esm2015/modal-container.component.js.map +0 -1
  1707. package/modal/esm2015/modal-container.component.metadata.json +0 -1
  1708. package/modal/esm2015/modal-options.class.js +0 -42
  1709. package/modal/esm2015/modal-options.class.js.map +0 -1
  1710. package/modal/esm2015/modal-options.class.metadata.json +0 -1
  1711. package/modal/esm2015/modal.directive.js +0 -354
  1712. package/modal/esm2015/modal.directive.js.map +0 -1
  1713. package/modal/esm2015/modal.directive.metadata.json +0 -1
  1714. package/modal/esm2015/modal.module.js +0 -36
  1715. package/modal/esm2015/modal.module.js.map +0 -1
  1716. package/modal/esm2015/modal.module.metadata.json +0 -1
  1717. package/modal/esm2015/models/index.js +0 -2
  1718. package/modal/esm2015/models/index.js.map +0 -1
  1719. package/modal/esm2015/models/index.metadata.json +0 -1
  1720. package/modal/esm2015/ngx-bootstrap-modal.js +0 -6
  1721. package/modal/esm2015/ngx-bootstrap-modal.js.map +0 -1
  1722. package/modal/esm2015/ngx-bootstrap-modal.metadata.json +0 -1
  1723. package/modal/esm2015/public_api.js +0 -9
  1724. package/modal/esm2015/public_api.js.map +0 -1
  1725. package/modal/esm2015/public_api.metadata.json +0 -1
  1726. package/modal/fesm2015/ngx-bootstrap-modal.js +0 -847
  1727. package/modal/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1728. package/modal/modal-backdrop.component.d.ts.__ivy_ngcc_bak +0 -14
  1729. package/modal/modal-backdrop.component.d.ts.map +0 -1
  1730. package/modal/modal-container.component.d.ts.__ivy_ngcc_bak +0 -23
  1731. package/modal/modal-container.component.d.ts.map +0 -1
  1732. package/modal/modal-options.class.d.ts.__ivy_ngcc_bak +0 -60
  1733. package/modal/modal-options.class.d.ts.map +0 -1
  1734. package/modal/modal.directive.d.ts.__ivy_ngcc_bak +0 -86
  1735. package/modal/modal.directive.d.ts.map +0 -1
  1736. package/modal/modal.module.d.ts.__ivy_ngcc_bak +0 -7
  1737. package/modal/modal.module.d.ts.map +0 -1
  1738. package/modal/ngx-bootstrap-modal.d.ts.__ivy_ngcc_bak +0 -5
  1739. package/modal/ngx-bootstrap-modal.d.ts.map +0 -1
  1740. package/modal/ngx-bootstrap-modal.metadata.json +0 -1
  1741. package/ngx-bootstrap.metadata.json +0 -1
  1742. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js +0 -787
  1743. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1744. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +0 -587
  1745. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +0 -1
  1746. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +0 -2
  1747. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +0 -1
  1748. package/pagination/esm2015/index.js +0 -2
  1749. package/pagination/esm2015/index.js.map +0 -1
  1750. package/pagination/esm2015/index.metadata.json +0 -1
  1751. package/pagination/esm2015/models/index.js +0 -2
  1752. package/pagination/esm2015/models/index.js.map +0 -1
  1753. package/pagination/esm2015/models/index.metadata.json +0 -1
  1754. package/pagination/esm2015/ngx-bootstrap-pagination.js +0 -7
  1755. package/pagination/esm2015/ngx-bootstrap-pagination.js.map +0 -1
  1756. package/pagination/esm2015/ngx-bootstrap-pagination.metadata.json +0 -1
  1757. package/pagination/esm2015/pager.component.js +0 -247
  1758. package/pagination/esm2015/pager.component.js.map +0 -1
  1759. package/pagination/esm2015/pager.component.metadata.json +0 -1
  1760. package/pagination/esm2015/pagination.component.js +0 -243
  1761. package/pagination/esm2015/pagination.component.js.map +0 -1
  1762. package/pagination/esm2015/pagination.component.metadata.json +0 -1
  1763. package/pagination/esm2015/pagination.config.js +0 -33
  1764. package/pagination/esm2015/pagination.config.js.map +0 -1
  1765. package/pagination/esm2015/pagination.config.metadata.json +0 -1
  1766. package/pagination/esm2015/pagination.module.js +0 -17
  1767. package/pagination/esm2015/pagination.module.js.map +0 -1
  1768. package/pagination/esm2015/pagination.module.metadata.json +0 -1
  1769. package/pagination/esm2015/public_api.js +0 -5
  1770. package/pagination/esm2015/public_api.js.map +0 -1
  1771. package/pagination/esm2015/public_api.metadata.json +0 -1
  1772. package/pagination/fesm2015/ngx-bootstrap-pagination.js +0 -538
  1773. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1774. package/pagination/ngx-bootstrap-pagination.d.ts.__ivy_ngcc_bak +0 -6
  1775. package/pagination/ngx-bootstrap-pagination.d.ts.map +0 -1
  1776. package/pagination/ngx-bootstrap-pagination.metadata.json +0 -1
  1777. package/pagination/pager.component.d.ts.__ivy_ngcc_bak +0 -75
  1778. package/pagination/pager.component.d.ts.map +0 -1
  1779. package/pagination/pagination.component.d.ts.__ivy_ngcc_bak +0 -88
  1780. package/pagination/pagination.component.d.ts.map +0 -1
  1781. package/pagination/pagination.config.d.ts.__ivy_ngcc_bak +0 -6
  1782. package/pagination/pagination.config.d.ts.map +0 -1
  1783. package/pagination/pagination.module.d.ts.__ivy_ngcc_bak +0 -4
  1784. package/pagination/pagination.module.d.ts.map +0 -1
  1785. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js +0 -419
  1786. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1787. package/popover/bundles/ngx-bootstrap-popover.umd.js +0 -354
  1788. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +0 -1
  1789. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +0 -2
  1790. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +0 -1
  1791. package/popover/esm2015/index.js +0 -2
  1792. package/popover/esm2015/index.js.map +0 -1
  1793. package/popover/esm2015/index.metadata.json +0 -1
  1794. package/popover/esm2015/ngx-bootstrap-popover.js +0 -5
  1795. package/popover/esm2015/ngx-bootstrap-popover.js.map +0 -1
  1796. package/popover/esm2015/ngx-bootstrap-popover.metadata.json +0 -1
  1797. package/popover/esm2015/popover-container.component.js +0 -69
  1798. package/popover/esm2015/popover-container.component.js.map +0 -1
  1799. package/popover/esm2015/popover-container.component.metadata.json +0 -1
  1800. package/popover/esm2015/popover.config.js +0 -33
  1801. package/popover/esm2015/popover.config.js.map +0 -1
  1802. package/popover/esm2015/popover.config.metadata.json +0 -1
  1803. package/popover/esm2015/popover.directive.js +0 -228
  1804. package/popover/esm2015/popover.directive.js.map +0 -1
  1805. package/popover/esm2015/popover.directive.metadata.json +0 -1
  1806. package/popover/esm2015/popover.module.js +0 -23
  1807. package/popover/esm2015/popover.module.js.map +0 -1
  1808. package/popover/esm2015/popover.module.metadata.json +0 -1
  1809. package/popover/esm2015/public_api.js +0 -5
  1810. package/popover/esm2015/public_api.js.map +0 -1
  1811. package/popover/esm2015/public_api.metadata.json +0 -1
  1812. package/popover/fesm2015/ngx-bootstrap-popover.js +0 -347
  1813. package/popover/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1814. package/popover/ngx-bootstrap-popover.d.ts.__ivy_ngcc_bak +0 -4
  1815. package/popover/ngx-bootstrap-popover.d.ts.map +0 -1
  1816. package/popover/ngx-bootstrap-popover.metadata.json +0 -1
  1817. package/popover/popover-container.component.d.ts.__ivy_ngcc_bak +0 -13
  1818. package/popover/popover-container.component.d.ts.map +0 -1
  1819. package/popover/popover.config.d.ts.__ivy_ngcc_bak +0 -26
  1820. package/popover/popover.config.d.ts.map +0 -1
  1821. package/popover/popover.directive.d.ts.__ivy_ngcc_bak +0 -94
  1822. package/popover/popover.directive.d.ts.map +0 -1
  1823. package/popover/popover.module.d.ts.__ivy_ngcc_bak +0 -4
  1824. package/popover/popover.module.d.ts.map +0 -1
  1825. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js +0 -1080
  1826. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1827. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +0 -1108
  1828. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +0 -1
  1829. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +0 -2
  1830. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +0 -1
  1831. package/positioning/esm2015/index.js +0 -2
  1832. package/positioning/esm2015/index.js.map +0 -1
  1833. package/positioning/esm2015/index.metadata.json +0 -1
  1834. package/positioning/esm2015/models/index.js +0 -53
  1835. package/positioning/esm2015/models/index.js.map +0 -1
  1836. package/positioning/esm2015/models/index.metadata.json +0 -1
  1837. package/positioning/esm2015/modifiers/arrow.js +0 -57
  1838. package/positioning/esm2015/modifiers/arrow.js.map +0 -1
  1839. package/positioning/esm2015/modifiers/arrow.metadata.json +0 -1
  1840. package/positioning/esm2015/modifiers/flip.js +0 -60
  1841. package/positioning/esm2015/modifiers/flip.js.map +0 -1
  1842. package/positioning/esm2015/modifiers/flip.metadata.json +0 -1
  1843. package/positioning/esm2015/modifiers/index.js +0 -6
  1844. package/positioning/esm2015/modifiers/index.js.map +0 -1
  1845. package/positioning/esm2015/modifiers/index.metadata.json +0 -1
  1846. package/positioning/esm2015/modifiers/initData.js +0 -44
  1847. package/positioning/esm2015/modifiers/initData.js.map +0 -1
  1848. package/positioning/esm2015/modifiers/initData.metadata.json +0 -1
  1849. package/positioning/esm2015/modifiers/preventOverflow.js +0 -55
  1850. package/positioning/esm2015/modifiers/preventOverflow.js.map +0 -1
  1851. package/positioning/esm2015/modifiers/preventOverflow.metadata.json +0 -1
  1852. package/positioning/esm2015/modifiers/shift.js +0 -23
  1853. package/positioning/esm2015/modifiers/shift.js.map +0 -1
  1854. package/positioning/esm2015/modifiers/shift.metadata.json +0 -1
  1855. package/positioning/esm2015/ng-positioning.js +0 -39
  1856. package/positioning/esm2015/ng-positioning.js.map +0 -1
  1857. package/positioning/esm2015/ng-positioning.metadata.json +0 -1
  1858. package/positioning/esm2015/ngx-bootstrap-positioning.js +0 -5
  1859. package/positioning/esm2015/ngx-bootstrap-positioning.js.map +0 -1
  1860. package/positioning/esm2015/ngx-bootstrap-positioning.metadata.json +0 -1
  1861. package/positioning/esm2015/positioning.service.js +0 -71
  1862. package/positioning/esm2015/positioning.service.js.map +0 -1
  1863. package/positioning/esm2015/positioning.service.metadata.json +0 -1
  1864. package/positioning/esm2015/positioning.service.ngfactory.js.map +0 -1
  1865. package/positioning/esm2015/public_api.js +0 -5
  1866. package/positioning/esm2015/public_api.js.map +0 -1
  1867. package/positioning/esm2015/public_api.metadata.json +0 -1
  1868. package/positioning/esm2015/utils/checkMargin.js +0 -32
  1869. package/positioning/esm2015/utils/checkMargin.js.map +0 -1
  1870. package/positioning/esm2015/utils/checkMargin.metadata.json +0 -1
  1871. package/positioning/esm2015/utils/computeAutoPlacement.js +0 -56
  1872. package/positioning/esm2015/utils/computeAutoPlacement.js.map +0 -1
  1873. package/positioning/esm2015/utils/computeAutoPlacement.metadata.json +0 -1
  1874. package/positioning/esm2015/utils/findCommonOffsetParent.js +0 -40
  1875. package/positioning/esm2015/utils/findCommonOffsetParent.js.map +0 -1
  1876. package/positioning/esm2015/utils/findCommonOffsetParent.metadata.json +0 -1
  1877. package/positioning/esm2015/utils/getBordersSize.js +0 -10
  1878. package/positioning/esm2015/utils/getBordersSize.js.map +0 -1
  1879. package/positioning/esm2015/utils/getBordersSize.metadata.json +0 -1
  1880. package/positioning/esm2015/utils/getBoundaries.js +0 -70
  1881. package/positioning/esm2015/utils/getBoundaries.js.map +0 -1
  1882. package/positioning/esm2015/utils/getBoundaries.metadata.json +0 -1
  1883. package/positioning/esm2015/utils/getBoundingClientRect.js +0 -59
  1884. package/positioning/esm2015/utils/getBoundingClientRect.js.map +0 -1
  1885. package/positioning/esm2015/utils/getBoundingClientRect.metadata.json +0 -1
  1886. package/positioning/esm2015/utils/getClientRect.js +0 -4
  1887. package/positioning/esm2015/utils/getClientRect.js.map +0 -1
  1888. package/positioning/esm2015/utils/getClientRect.metadata.json +0 -1
  1889. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +0 -17
  1890. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js.map +0 -1
  1891. package/positioning/esm2015/utils/getFixedPositionOffsetParent.metadata.json +0 -1
  1892. package/positioning/esm2015/utils/getOffsetParent.js +0 -34
  1893. package/positioning/esm2015/utils/getOffsetParent.js.map +0 -1
  1894. package/positioning/esm2015/utils/getOffsetParent.metadata.json +0 -1
  1895. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +0 -61
  1896. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js.map +0 -1
  1897. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.metadata.json +0 -1
  1898. package/positioning/esm2015/utils/getOffsets.js +0 -12
  1899. package/positioning/esm2015/utils/getOffsets.js.map +0 -1
  1900. package/positioning/esm2015/utils/getOffsets.metadata.json +0 -1
  1901. package/positioning/esm2015/utils/getOppositePlacement.js +0 -8
  1902. package/positioning/esm2015/utils/getOppositePlacement.js.map +0 -1
  1903. package/positioning/esm2015/utils/getOppositePlacement.metadata.json +0 -1
  1904. package/positioning/esm2015/utils/getOppositeVariation.js +0 -13
  1905. package/positioning/esm2015/utils/getOppositeVariation.js.map +0 -1
  1906. package/positioning/esm2015/utils/getOppositeVariation.metadata.json +0 -1
  1907. package/positioning/esm2015/utils/getOuterSizes.js +0 -14
  1908. package/positioning/esm2015/utils/getOuterSizes.js.map +0 -1
  1909. package/positioning/esm2015/utils/getOuterSizes.metadata.json +0 -1
  1910. package/positioning/esm2015/utils/getParentNode.js +0 -12
  1911. package/positioning/esm2015/utils/getParentNode.js.map +0 -1
  1912. package/positioning/esm2015/utils/getParentNode.metadata.json +0 -1
  1913. package/positioning/esm2015/utils/getReferenceOffsets.js +0 -13
  1914. package/positioning/esm2015/utils/getReferenceOffsets.js.map +0 -1
  1915. package/positioning/esm2015/utils/getReferenceOffsets.metadata.json +0 -1
  1916. package/positioning/esm2015/utils/getRoot.js +0 -10
  1917. package/positioning/esm2015/utils/getRoot.js.map +0 -1
  1918. package/positioning/esm2015/utils/getRoot.metadata.json +0 -1
  1919. package/positioning/esm2015/utils/getScroll.js +0 -14
  1920. package/positioning/esm2015/utils/getScroll.js.map +0 -1
  1921. package/positioning/esm2015/utils/getScroll.metadata.json +0 -1
  1922. package/positioning/esm2015/utils/getScrollParent.js +0 -28
  1923. package/positioning/esm2015/utils/getScrollParent.js.map +0 -1
  1924. package/positioning/esm2015/utils/getScrollParent.metadata.json +0 -1
  1925. package/positioning/esm2015/utils/getStyleComputedProperty.js +0 -12
  1926. package/positioning/esm2015/utils/getStyleComputedProperty.js.map +0 -1
  1927. package/positioning/esm2015/utils/getStyleComputedProperty.metadata.json +0 -1
  1928. package/positioning/esm2015/utils/getTargetOffsets.js +0 -31
  1929. package/positioning/esm2015/utils/getTargetOffsets.js.map +0 -1
  1930. package/positioning/esm2015/utils/getTargetOffsets.metadata.json +0 -1
  1931. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  1932. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js.map +0 -1
  1933. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.metadata.json +0 -1
  1934. package/positioning/esm2015/utils/getWindowSizes.js +0 -21
  1935. package/positioning/esm2015/utils/getWindowSizes.js.map +0 -1
  1936. package/positioning/esm2015/utils/getWindowSizes.metadata.json +0 -1
  1937. package/positioning/esm2015/utils/includeScroll.js +0 -24
  1938. package/positioning/esm2015/utils/includeScroll.js.map +0 -1
  1939. package/positioning/esm2015/utils/includeScroll.metadata.json +0 -1
  1940. package/positioning/esm2015/utils/index.js +0 -24
  1941. package/positioning/esm2015/utils/index.js.map +0 -1
  1942. package/positioning/esm2015/utils/index.metadata.json +0 -1
  1943. package/positioning/esm2015/utils/isBrowser.js +0 -2
  1944. package/positioning/esm2015/utils/isBrowser.js.map +0 -1
  1945. package/positioning/esm2015/utils/isBrowser.metadata.json +0 -1
  1946. package/positioning/esm2015/utils/isFixed.js +0 -16
  1947. package/positioning/esm2015/utils/isFixed.js.map +0 -1
  1948. package/positioning/esm2015/utils/isFixed.metadata.json +0 -1
  1949. package/positioning/esm2015/utils/isIE.js +0 -18
  1950. package/positioning/esm2015/utils/isIE.js.map +0 -1
  1951. package/positioning/esm2015/utils/isIE.metadata.json +0 -1
  1952. package/positioning/esm2015/utils/isModifierEnabled.js +0 -5
  1953. package/positioning/esm2015/utils/isModifierEnabled.js.map +0 -1
  1954. package/positioning/esm2015/utils/isModifierEnabled.metadata.json +0 -1
  1955. package/positioning/esm2015/utils/isNumeric.js +0 -11
  1956. package/positioning/esm2015/utils/isNumeric.js.map +0 -1
  1957. package/positioning/esm2015/utils/isNumeric.metadata.json +0 -1
  1958. package/positioning/esm2015/utils/isOffsetContainer.js +0 -11
  1959. package/positioning/esm2015/utils/isOffsetContainer.js.map +0 -1
  1960. package/positioning/esm2015/utils/isOffsetContainer.metadata.json +0 -1
  1961. package/positioning/esm2015/utils/setStyles.js +0 -21
  1962. package/positioning/esm2015/utils/setStyles.js.map +0 -1
  1963. package/positioning/esm2015/utils/setStyles.metadata.json +0 -1
  1964. package/positioning/esm2015/utils/updateContainerClass.js +0 -30
  1965. package/positioning/esm2015/utils/updateContainerClass.js.map +0 -1
  1966. package/positioning/esm2015/utils/updateContainerClass.metadata.json +0 -1
  1967. package/positioning/fesm2015/ngx-bootstrap-positioning.js +0 -1073
  1968. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1969. package/positioning/ngx-bootstrap-positioning.d.ts.__ivy_ngcc_bak +0 -4
  1970. package/positioning/ngx-bootstrap-positioning.d.ts.map +0 -1
  1971. package/positioning/ngx-bootstrap-positioning.metadata.json +0 -1
  1972. package/positioning/positioning.service.d.ts.__ivy_ngcc_bak +0 -45
  1973. package/positioning/positioning.service.d.ts.map +0 -1
  1974. package/positioning/utils/isBrowser.d.ts +0 -1
  1975. package/positioning/utils/isIE.d.ts +0 -1
  1976. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js +0 -256
  1977. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1978. package/progressbar/bar.component.d.ts.__ivy_ngcc_bak +0 -22
  1979. package/progressbar/bar.component.d.ts.map +0 -1
  1980. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +0 -191
  1981. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +0 -1
  1982. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +0 -2
  1983. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +0 -1
  1984. package/progressbar/esm2015/bar.component.js +0 -81
  1985. package/progressbar/esm2015/bar.component.js.map +0 -1
  1986. package/progressbar/esm2015/bar.component.metadata.json +0 -1
  1987. package/progressbar/esm2015/index.js +0 -2
  1988. package/progressbar/esm2015/index.js.map +0 -1
  1989. package/progressbar/esm2015/index.metadata.json +0 -1
  1990. package/progressbar/esm2015/ngx-bootstrap-progressbar.js +0 -5
  1991. package/progressbar/esm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1992. package/progressbar/esm2015/ngx-bootstrap-progressbar.metadata.json +0 -1
  1993. package/progressbar/esm2015/progressbar-type.interface.js +0 -2
  1994. package/progressbar/esm2015/progressbar-type.interface.js.map +0 -1
  1995. package/progressbar/esm2015/progressbar-type.interface.metadata.json +0 -1
  1996. package/progressbar/esm2015/progressbar.component.js +0 -57
  1997. package/progressbar/esm2015/progressbar.component.js.map +0 -1
  1998. package/progressbar/esm2015/progressbar.component.metadata.json +0 -1
  1999. package/progressbar/esm2015/progressbar.config.js +0 -17
  2000. package/progressbar/esm2015/progressbar.config.js.map +0 -1
  2001. package/progressbar/esm2015/progressbar.config.metadata.json +0 -1
  2002. package/progressbar/esm2015/progressbar.module.js +0 -17
  2003. package/progressbar/esm2015/progressbar.module.js.map +0 -1
  2004. package/progressbar/esm2015/progressbar.module.metadata.json +0 -1
  2005. package/progressbar/esm2015/public_api.js +0 -5
  2006. package/progressbar/esm2015/public_api.js.map +0 -1
  2007. package/progressbar/esm2015/public_api.metadata.json +0 -1
  2008. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +0 -172
  2009. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  2010. package/progressbar/ngx-bootstrap-progressbar.d.ts.__ivy_ngcc_bak +0 -4
  2011. package/progressbar/ngx-bootstrap-progressbar.d.ts.map +0 -1
  2012. package/progressbar/ngx-bootstrap-progressbar.metadata.json +0 -1
  2013. package/progressbar/progressbar.component.d.ts.__ivy_ngcc_bak +0 -20
  2014. package/progressbar/progressbar.component.d.ts.map +0 -1
  2015. package/progressbar/progressbar.config.d.ts.__ivy_ngcc_bak +0 -6
  2016. package/progressbar/progressbar.config.d.ts.map +0 -1
  2017. package/progressbar/progressbar.module.d.ts.__ivy_ngcc_bak +0 -4
  2018. package/progressbar/progressbar.module.d.ts.map +0 -1
  2019. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js +0 -227
  2020. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2021. package/rating/bundles/ngx-bootstrap-rating.umd.js +0 -169
  2022. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +0 -1
  2023. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +0 -2
  2024. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +0 -1
  2025. package/rating/esm2015/index.js +0 -2
  2026. package/rating/esm2015/index.js.map +0 -1
  2027. package/rating/esm2015/index.metadata.json +0 -1
  2028. package/rating/esm2015/models/index.js +0 -2
  2029. package/rating/esm2015/models/index.js.map +0 -1
  2030. package/rating/esm2015/models/index.metadata.json +0 -1
  2031. package/rating/esm2015/ngx-bootstrap-rating.js +0 -6
  2032. package/rating/esm2015/ngx-bootstrap-rating.js.map +0 -1
  2033. package/rating/esm2015/ngx-bootstrap-rating.metadata.json +0 -1
  2034. package/rating/esm2015/public_api.js +0 -4
  2035. package/rating/esm2015/public_api.js.map +0 -1
  2036. package/rating/esm2015/public_api.metadata.json +0 -1
  2037. package/rating/esm2015/rating.component.js +0 -118
  2038. package/rating/esm2015/rating.component.js.map +0 -1
  2039. package/rating/esm2015/rating.component.metadata.json +0 -1
  2040. package/rating/esm2015/rating.config.js +0 -16
  2041. package/rating/esm2015/rating.config.js.map +0 -1
  2042. package/rating/esm2015/rating.config.metadata.json +0 -1
  2043. package/rating/esm2015/rating.module.js +0 -19
  2044. package/rating/esm2015/rating.module.js.map +0 -1
  2045. package/rating/esm2015/rating.module.metadata.json +0 -1
  2046. package/rating/fesm2015/ngx-bootstrap-rating.js +0 -155
  2047. package/rating/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2048. package/rating/ngx-bootstrap-rating.d.ts.__ivy_ngcc_bak +0 -5
  2049. package/rating/ngx-bootstrap-rating.d.ts.map +0 -1
  2050. package/rating/ngx-bootstrap-rating.metadata.json +0 -1
  2051. package/rating/rating.component.d.ts.__ivy_ngcc_bak +0 -37
  2052. package/rating/rating.component.d.ts.map +0 -1
  2053. package/rating/rating.config.d.ts.__ivy_ngcc_bak +0 -5
  2054. package/rating/rating.config.d.ts.map +0 -1
  2055. package/rating/rating.module.d.ts.__ivy_ngcc_bak +0 -4
  2056. package/rating/rating.module.d.ts.map +0 -1
  2057. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js +0 -361
  2058. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2059. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +0 -558
  2060. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +0 -1
  2061. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +0 -16
  2062. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +0 -1
  2063. package/sortable/draggable-item.service.d.ts.__ivy_ngcc_bak +0 -10
  2064. package/sortable/draggable-item.service.d.ts.map +0 -1
  2065. package/sortable/esm2015/draggable-item.js +0 -2
  2066. package/sortable/esm2015/draggable-item.js.map +0 -1
  2067. package/sortable/esm2015/draggable-item.metadata.json +0 -1
  2068. package/sortable/esm2015/draggable-item.service.js +0 -32
  2069. package/sortable/esm2015/draggable-item.service.js.map +0 -1
  2070. package/sortable/esm2015/draggable-item.service.metadata.json +0 -1
  2071. package/sortable/esm2015/index.js +0 -2
  2072. package/sortable/esm2015/index.js.map +0 -1
  2073. package/sortable/esm2015/index.metadata.json +0 -1
  2074. package/sortable/esm2015/ngx-bootstrap-sortable.js +0 -5
  2075. package/sortable/esm2015/ngx-bootstrap-sortable.js.map +0 -1
  2076. package/sortable/esm2015/ngx-bootstrap-sortable.metadata.json +0 -1
  2077. package/sortable/esm2015/public_api.js +0 -4
  2078. package/sortable/esm2015/public_api.js.map +0 -1
  2079. package/sortable/esm2015/public_api.metadata.json +0 -1
  2080. package/sortable/esm2015/sortable.component.js +0 -217
  2081. package/sortable/esm2015/sortable.component.js.map +0 -1
  2082. package/sortable/esm2015/sortable.component.metadata.json +0 -1
  2083. package/sortable/esm2015/sortable.module.js +0 -17
  2084. package/sortable/esm2015/sortable.module.js.map +0 -1
  2085. package/sortable/esm2015/sortable.module.metadata.json +0 -1
  2086. package/sortable/fesm2015/ngx-bootstrap-sortable.js +0 -268
  2087. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2088. package/sortable/ngx-bootstrap-sortable.d.ts.__ivy_ngcc_bak +0 -4
  2089. package/sortable/ngx-bootstrap-sortable.d.ts.map +0 -1
  2090. package/sortable/ngx-bootstrap-sortable.metadata.json +0 -1
  2091. package/sortable/sortable.component.d.ts.__ivy_ngcc_bak +0 -59
  2092. package/sortable/sortable.component.d.ts.map +0 -1
  2093. package/sortable/sortable.module.d.ts.__ivy_ngcc_bak +0 -4
  2094. package/sortable/sortable.module.d.ts.map +0 -1
  2095. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js +0 -521
  2096. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2097. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +0 -458
  2098. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +0 -1
  2099. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +0 -2
  2100. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +0 -1
  2101. package/tabs/esm2015/index.js +0 -2
  2102. package/tabs/esm2015/index.js.map +0 -1
  2103. package/tabs/esm2015/index.metadata.json +0 -1
  2104. package/tabs/esm2015/ng-transclude.directive.js +0 -28
  2105. package/tabs/esm2015/ng-transclude.directive.js.map +0 -1
  2106. package/tabs/esm2015/ng-transclude.directive.metadata.json +0 -1
  2107. package/tabs/esm2015/ngx-bootstrap-tabs.js +0 -5
  2108. package/tabs/esm2015/ngx-bootstrap-tabs.js.map +0 -1
  2109. package/tabs/esm2015/ngx-bootstrap-tabs.metadata.json +0 -1
  2110. package/tabs/esm2015/public_api.js +0 -7
  2111. package/tabs/esm2015/public_api.js.map +0 -1
  2112. package/tabs/esm2015/public_api.metadata.json +0 -1
  2113. package/tabs/esm2015/tab-heading.directive.js +0 -17
  2114. package/tabs/esm2015/tab-heading.directive.js.map +0 -1
  2115. package/tabs/esm2015/tab-heading.directive.metadata.json +0 -1
  2116. package/tabs/esm2015/tab.directive.js +0 -96
  2117. package/tabs/esm2015/tab.directive.js.map +0 -1
  2118. package/tabs/esm2015/tab.directive.metadata.json +0 -1
  2119. package/tabs/esm2015/tabs.module.js +0 -32
  2120. package/tabs/esm2015/tabs.module.js.map +0 -1
  2121. package/tabs/esm2015/tabs.module.metadata.json +0 -1
  2122. package/tabs/esm2015/tabset.component.js +0 -215
  2123. package/tabs/esm2015/tabset.component.js.map +0 -1
  2124. package/tabs/esm2015/tabset.component.metadata.json +0 -1
  2125. package/tabs/esm2015/tabset.config.js +0 -19
  2126. package/tabs/esm2015/tabset.config.js.map +0 -1
  2127. package/tabs/esm2015/tabset.config.metadata.json +0 -1
  2128. package/tabs/fesm2015/ngx-bootstrap-tabs.js +0 -401
  2129. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2130. package/tabs/ng-transclude.directive.d.ts.__ivy_ngcc_bak +0 -8
  2131. package/tabs/ng-transclude.directive.d.ts.map +0 -1
  2132. package/tabs/ngx-bootstrap-tabs.d.ts.__ivy_ngcc_bak +0 -4
  2133. package/tabs/ngx-bootstrap-tabs.d.ts.map +0 -1
  2134. package/tabs/ngx-bootstrap-tabs.metadata.json +0 -1
  2135. package/tabs/tab-heading.directive.d.ts.__ivy_ngcc_bak +0 -7
  2136. package/tabs/tab-heading.directive.d.ts.map +0 -1
  2137. package/tabs/tab.directive.d.ts.__ivy_ngcc_bak +0 -36
  2138. package/tabs/tab.directive.d.ts.map +0 -1
  2139. package/tabs/tabs.module.d.ts.__ivy_ngcc_bak +0 -4
  2140. package/tabs/tabs.module.d.ts.map +0 -1
  2141. package/tabs/tabset.component.d.ts.__ivy_ngcc_bak +0 -41
  2142. package/tabs/tabset.component.d.ts.map +0 -1
  2143. package/tabs/tabset.config.d.ts.__ivy_ngcc_bak +0 -8
  2144. package/tabs/tabset.config.d.ts.map +0 -1
  2145. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js +0 -1137
  2146. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2147. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +0 -1156
  2148. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +0 -1
  2149. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +0 -17
  2150. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +0 -1
  2151. package/timepicker/esm2015/index.js +0 -2
  2152. package/timepicker/esm2015/index.js.map +0 -1
  2153. package/timepicker/esm2015/index.metadata.json +0 -1
  2154. package/timepicker/esm2015/models/index.js +0 -2
  2155. package/timepicker/esm2015/models/index.js.map +0 -1
  2156. package/timepicker/esm2015/models/index.metadata.json +0 -1
  2157. package/timepicker/esm2015/ngx-bootstrap-timepicker.js +0 -6
  2158. package/timepicker/esm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2159. package/timepicker/esm2015/ngx-bootstrap-timepicker.metadata.json +0 -1
  2160. package/timepicker/esm2015/public_api.js +0 -6
  2161. package/timepicker/esm2015/public_api.js.map +0 -1
  2162. package/timepicker/esm2015/public_api.metadata.json +0 -1
  2163. package/timepicker/esm2015/reducer/timepicker.actions.js +0 -49
  2164. package/timepicker/esm2015/reducer/timepicker.actions.js.map +0 -1
  2165. package/timepicker/esm2015/reducer/timepicker.actions.metadata.json +0 -1
  2166. package/timepicker/esm2015/reducer/timepicker.reducer.js +0 -83
  2167. package/timepicker/esm2015/reducer/timepicker.reducer.js.map +0 -1
  2168. package/timepicker/esm2015/reducer/timepicker.reducer.metadata.json +0 -1
  2169. package/timepicker/esm2015/reducer/timepicker.store.js +0 -18
  2170. package/timepicker/esm2015/reducer/timepicker.store.js.map +0 -1
  2171. package/timepicker/esm2015/reducer/timepicker.store.metadata.json +0 -1
  2172. package/timepicker/esm2015/timepicker-controls.util.js +0 -123
  2173. package/timepicker/esm2015/timepicker-controls.util.js.map +0 -1
  2174. package/timepicker/esm2015/timepicker-controls.util.metadata.json +0 -1
  2175. package/timepicker/esm2015/timepicker.component.js +0 -350
  2176. package/timepicker/esm2015/timepicker.component.js.map +0 -1
  2177. package/timepicker/esm2015/timepicker.component.metadata.json +0 -1
  2178. package/timepicker/esm2015/timepicker.config.js +0 -52
  2179. package/timepicker/esm2015/timepicker.config.js.map +0 -1
  2180. package/timepicker/esm2015/timepicker.config.metadata.json +0 -1
  2181. package/timepicker/esm2015/timepicker.models.js +0 -2
  2182. package/timepicker/esm2015/timepicker.models.js.map +0 -1
  2183. package/timepicker/esm2015/timepicker.models.metadata.json +0 -1
  2184. package/timepicker/esm2015/timepicker.module.js +0 -21
  2185. package/timepicker/esm2015/timepicker.module.js.map +0 -1
  2186. package/timepicker/esm2015/timepicker.module.metadata.json +0 -1
  2187. package/timepicker/esm2015/timepicker.utils.js +0 -152
  2188. package/timepicker/esm2015/timepicker.utils.js.map +0 -1
  2189. package/timepicker/esm2015/timepicker.utils.metadata.json +0 -1
  2190. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +0 -836
  2191. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2192. package/timepicker/ngx-bootstrap-timepicker.d.ts.__ivy_ngcc_bak +0 -5
  2193. package/timepicker/ngx-bootstrap-timepicker.d.ts.map +0 -1
  2194. package/timepicker/ngx-bootstrap-timepicker.metadata.json +0 -1
  2195. package/timepicker/reducer/timepicker.actions.d.ts.__ivy_ngcc_bak +0 -25
  2196. package/timepicker/reducer/timepicker.actions.d.ts.map +0 -1
  2197. package/timepicker/reducer/timepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  2198. package/timepicker/reducer/timepicker.store.d.ts.map +0 -1
  2199. package/timepicker/timepicker.component.d.ts.__ivy_ngcc_bak +0 -113
  2200. package/timepicker/timepicker.component.d.ts.map +0 -1
  2201. package/timepicker/timepicker.config.d.ts.__ivy_ngcc_bak +0 -45
  2202. package/timepicker/timepicker.config.d.ts.map +0 -1
  2203. package/timepicker/timepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  2204. package/timepicker/timepicker.module.d.ts.map +0 -1
  2205. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js +0 -506
  2206. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2207. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +0 -766
  2208. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +0 -1
  2209. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +0 -2
  2210. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +0 -1
  2211. package/tooltip/esm2015/index.js +0 -2
  2212. package/tooltip/esm2015/index.js.map +0 -1
  2213. package/tooltip/esm2015/index.metadata.json +0 -1
  2214. package/tooltip/esm2015/ngx-bootstrap-tooltip.js +0 -5
  2215. package/tooltip/esm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2216. package/tooltip/esm2015/ngx-bootstrap-tooltip.metadata.json +0 -1
  2217. package/tooltip/esm2015/public_api.js +0 -5
  2218. package/tooltip/esm2015/public_api.js.map +0 -1
  2219. package/tooltip/esm2015/public_api.metadata.json +0 -1
  2220. package/tooltip/esm2015/tooltip-container.component.js +0 -69
  2221. package/tooltip/esm2015/tooltip-container.component.js.map +0 -1
  2222. package/tooltip/esm2015/tooltip-container.component.metadata.json +0 -1
  2223. package/tooltip/esm2015/tooltip.config.js +0 -20
  2224. package/tooltip/esm2015/tooltip.config.js.map +0 -1
  2225. package/tooltip/esm2015/tooltip.config.metadata.json +0 -1
  2226. package/tooltip/esm2015/tooltip.directive.js +0 -313
  2227. package/tooltip/esm2015/tooltip.directive.js.map +0 -1
  2228. package/tooltip/esm2015/tooltip.directive.metadata.json +0 -1
  2229. package/tooltip/esm2015/tooltip.module.js +0 -23
  2230. package/tooltip/esm2015/tooltip.module.js.map +0 -1
  2231. package/tooltip/esm2015/tooltip.module.metadata.json +0 -1
  2232. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +0 -419
  2233. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2234. package/tooltip/ngx-bootstrap-tooltip.d.ts.__ivy_ngcc_bak +0 -4
  2235. package/tooltip/ngx-bootstrap-tooltip.d.ts.map +0 -1
  2236. package/tooltip/ngx-bootstrap-tooltip.metadata.json +0 -1
  2237. package/tooltip/tooltip-container.component.d.ts.__ivy_ngcc_bak +0 -15
  2238. package/tooltip/tooltip-container.component.d.ts.map +0 -1
  2239. package/tooltip/tooltip.config.d.ts.__ivy_ngcc_bak +0 -13
  2240. package/tooltip/tooltip.config.d.ts.map +0 -1
  2241. package/tooltip/tooltip.directive.d.ts.__ivy_ngcc_bak +0 -110
  2242. package/tooltip/tooltip.directive.d.ts.map +0 -1
  2243. package/tooltip/tooltip.module.d.ts.__ivy_ngcc_bak +0 -4
  2244. package/tooltip/tooltip.module.d.ts.map +0 -1
  2245. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js +0 -2103
  2246. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2247. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +0 -2264
  2248. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +0 -1
  2249. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +0 -2
  2250. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +0 -1
  2251. package/typeahead/esm2015/index.js +0 -2
  2252. package/typeahead/esm2015/index.js.map +0 -1
  2253. package/typeahead/esm2015/index.metadata.json +0 -1
  2254. package/typeahead/esm2015/latin-map.js +0 -827
  2255. package/typeahead/esm2015/latin-map.js.map +0 -1
  2256. package/typeahead/esm2015/latin-map.metadata.json +0 -1
  2257. package/typeahead/esm2015/models/index.js +0 -2
  2258. package/typeahead/esm2015/models/index.js.map +0 -1
  2259. package/typeahead/esm2015/models/index.metadata.json +0 -1
  2260. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +0 -6
  2261. package/typeahead/esm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2262. package/typeahead/esm2015/ngx-bootstrap-typeahead.metadata.json +0 -1
  2263. package/typeahead/esm2015/public_api.js +0 -9
  2264. package/typeahead/esm2015/public_api.js.map +0 -1
  2265. package/typeahead/esm2015/public_api.metadata.json +0 -1
  2266. package/typeahead/esm2015/typeahead-animations.js +0 -16
  2267. package/typeahead/esm2015/typeahead-animations.js.map +0 -1
  2268. package/typeahead/esm2015/typeahead-animations.metadata.json +0 -1
  2269. package/typeahead/esm2015/typeahead-container.component.js +0 -332
  2270. package/typeahead/esm2015/typeahead-container.component.js.map +0 -1
  2271. package/typeahead/esm2015/typeahead-container.component.metadata.json +0 -1
  2272. package/typeahead/esm2015/typeahead-match.class.js +0 -15
  2273. package/typeahead/esm2015/typeahead-match.class.js.map +0 -1
  2274. package/typeahead/esm2015/typeahead-match.class.metadata.json +0 -1
  2275. package/typeahead/esm2015/typeahead-options.class.js +0 -8
  2276. package/typeahead/esm2015/typeahead-options.class.js.map +0 -1
  2277. package/typeahead/esm2015/typeahead-options.class.metadata.json +0 -1
  2278. package/typeahead/esm2015/typeahead-order.class.js +0 -2
  2279. package/typeahead/esm2015/typeahead-order.class.js.map +0 -1
  2280. package/typeahead/esm2015/typeahead-order.class.metadata.json +0 -1
  2281. package/typeahead/esm2015/typeahead-utils.js +0 -77
  2282. package/typeahead/esm2015/typeahead-utils.js.map +0 -1
  2283. package/typeahead/esm2015/typeahead-utils.metadata.json +0 -1
  2284. package/typeahead/esm2015/typeahead.config.js +0 -32
  2285. package/typeahead/esm2015/typeahead.config.js.map +0 -1
  2286. package/typeahead/esm2015/typeahead.config.metadata.json +0 -1
  2287. package/typeahead/esm2015/typeahead.directive.js +0 -537
  2288. package/typeahead/esm2015/typeahead.directive.js.map +0 -1
  2289. package/typeahead/esm2015/typeahead.directive.metadata.json +0 -1
  2290. package/typeahead/esm2015/typeahead.module.js +0 -23
  2291. package/typeahead/esm2015/typeahead.module.js.map +0 -1
  2292. package/typeahead/esm2015/typeahead.module.metadata.json +0 -1
  2293. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +0 -1858
  2294. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2295. package/typeahead/ngx-bootstrap-typeahead.d.ts.__ivy_ngcc_bak +0 -5
  2296. package/typeahead/ngx-bootstrap-typeahead.d.ts.map +0 -1
  2297. package/typeahead/ngx-bootstrap-typeahead.metadata.json +0 -1
  2298. package/typeahead/typeahead-container.component.d.ts.__ivy_ngcc_bak +0 -64
  2299. package/typeahead/typeahead-container.component.d.ts.map +0 -1
  2300. package/typeahead/typeahead.config.d.ts.__ivy_ngcc_bak +0 -23
  2301. package/typeahead/typeahead.config.d.ts.map +0 -1
  2302. package/typeahead/typeahead.directive.d.ts.__ivy_ngcc_bak +0 -173
  2303. package/typeahead/typeahead.directive.d.ts.map +0 -1
  2304. package/typeahead/typeahead.module.d.ts.__ivy_ngcc_bak +0 -4
  2305. package/typeahead/typeahead.module.d.ts.map +0 -1
  2306. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js +0 -548
  2307. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2308. package/utils/bundles/ngx-bootstrap-utils.umd.js +0 -589
  2309. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +0 -1
  2310. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +0 -10
  2311. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +0 -1
  2312. package/utils/esm2015/decorators.js +0 -23
  2313. package/utils/esm2015/decorators.js.map +0 -1
  2314. package/utils/esm2015/decorators.metadata.json +0 -1
  2315. package/utils/esm2015/facade/browser.js +0 -26
  2316. package/utils/esm2015/facade/browser.js.map +0 -1
  2317. package/utils/esm2015/facade/browser.metadata.json +0 -1
  2318. package/utils/esm2015/index.js +0 -2
  2319. package/utils/esm2015/index.js.map +0 -1
  2320. package/utils/esm2015/index.metadata.json +0 -1
  2321. package/utils/esm2015/linked-list.class.js +0 -249
  2322. package/utils/esm2015/linked-list.class.js.map +0 -1
  2323. package/utils/esm2015/linked-list.class.metadata.json +0 -1
  2324. package/utils/esm2015/ngx-bootstrap-utils.js +0 -6
  2325. package/utils/esm2015/ngx-bootstrap-utils.js.map +0 -1
  2326. package/utils/esm2015/ngx-bootstrap-utils.metadata.json +0 -1
  2327. package/utils/esm2015/public_api.js +0 -10
  2328. package/utils/esm2015/public_api.js.map +0 -1
  2329. package/utils/esm2015/public_api.metadata.json +0 -1
  2330. package/utils/esm2015/theme-provider.js +0 -74
  2331. package/utils/esm2015/theme-provider.js.map +0 -1
  2332. package/utils/esm2015/theme-provider.metadata.json +0 -1
  2333. package/utils/esm2015/trigger.class.js +0 -14
  2334. package/utils/esm2015/trigger.class.js.map +0 -1
  2335. package/utils/esm2015/trigger.class.metadata.json +0 -1
  2336. package/utils/esm2015/triggers.js +0 -118
  2337. package/utils/esm2015/triggers.js.map +0 -1
  2338. package/utils/esm2015/triggers.metadata.json +0 -1
  2339. package/utils/esm2015/utils.class.js +0 -30
  2340. package/utils/esm2015/utils.class.js.map +0 -1
  2341. package/utils/esm2015/utils.class.metadata.json +0 -1
  2342. package/utils/esm2015/warn-once.js +0 -11
  2343. package/utils/esm2015/warn-once.js.map +0 -1
  2344. package/utils/esm2015/warn-once.metadata.json +0 -1
  2345. package/utils/fesm2015/ngx-bootstrap-utils.js +0 -547
  2346. package/utils/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2347. package/utils/ngx-bootstrap-utils.d.ts.__ivy_ngcc_bak +0 -5
  2348. package/utils/ngx-bootstrap-utils.d.ts.map +0 -1
  2349. package/utils/ngx-bootstrap-utils.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/datepicker/bs-datepicker.config.ts","../../../tslib/tslib.es6.js","../../../../src/datepicker/datepicker-animations.ts","../../../../src/datepicker/base/bs-datepicker-container.ts","../../../../src/datepicker/reducer/bs-datepicker.actions.ts","../../../../src/datepicker/bs-locale.service.ts","../../../../src/datepicker/reducer/bs-datepicker.effects.ts","../../../../src/datepicker/reducer/_defaults.ts","../../../../src/datepicker/reducer/bs-datepicker.state.ts","../../../../src/datepicker/utils/bs-calendar-utils.ts","../../../../src/datepicker/utils/matrix-utils.ts","../../../../src/datepicker/engine/calc-days-calendar.ts","../../../../src/datepicker/engine/format-days-calendar.ts","../../../../src/datepicker/engine/view-mode.ts","../../../../src/datepicker/engine/format-months-calendar.ts","../../../../src/datepicker/engine/format-years-calendar.ts","../../../../src/datepicker/utils/copy-time-utils.ts","../../../../src/datepicker/reducer/bs-datepicker.reducer.ts","../../../../src/datepicker/engine/flag-days-calendar.ts","../../../../src/datepicker/engine/flag-months-calendar.ts","../../../../src/datepicker/engine/flag-years-calendar.ts","../../../../src/datepicker/reducer/bs-datepicker.store.ts","../../../../src/datepicker/themes/bs/bs-datepicker-container.component.ts","../../../../src/datepicker/bs-datepicker.component.ts","../../../../src/datepicker/bs-datepicker-inline.config.ts","../../../../src/datepicker/themes/bs/bs-datepicker-inline-container.component.ts","../../../../src/datepicker/bs-datepicker-inline.component.ts","../../../../src/datepicker/bs-daterangepicker-inline.config.ts","../../../../src/datepicker/themes/bs/bs-daterangepicker-container.component.ts","../../../../src/datepicker/themes/bs/bs-daterangepicker-inline-container.component.ts","../../../../src/datepicker/bs-daterangepicker-inline.component.ts","../../../../src/datepicker/bs-datepicker-input.directive.ts","../../../../src/datepicker/bs-daterangepicker.config.ts","../../../../src/datepicker/bs-daterangepicker.component.ts","../../../../src/datepicker/bs-daterangepicker-input.directive.ts","../../../../src/datepicker/date-formatter.ts","../../../../src/datepicker/datepicker-inner.component.ts","../../../../src/datepicker/datepicker.config.ts","../../../../src/datepicker/datepicker.component.ts","../../../../src/datepicker/daypicker.component.ts","../../../../src/datepicker/monthpicker.component.ts","../../../../src/datepicker/yearpicker.component.ts","../../../../src/datepicker/themes/bs/bs-calendar-layout.component.ts","../../../../src/datepicker/themes/bs/bs-current-date-view.component.ts","../../../../src/datepicker/themes/bs/bs-custom-dates-view.component.ts","../../../../src/datepicker/models/index.ts","../../../../src/datepicker/themes/bs/bs-datepicker-day-decorator.directive.ts","../../../../src/datepicker/themes/bs/bs-datepicker-navigation-view.component.ts","../../../../src/datepicker/themes/bs/bs-days-calendar-view.component.ts","../../../../src/datepicker/themes/bs/bs-months-calendar-view.component.ts","../../../../src/datepicker/themes/bs/bs-timepicker-view.component.ts","../../../../src/datepicker/themes/bs/bs-years-calendar-view.component.ts","../../../../src/datepicker/bs-datepicker.module.ts","../../../../src/datepicker/datepicker.module.ts"],"names":["this","adaptivePosition","useUtc","isAnimated","startView","returnFocusToInput","containerClass","displayMonths","showWeekNumbers","dateInputFormat","rangeSeparator","rangeInputFormat","monthTitle","yearTitle","dayLabel","monthLabel","yearLabel","weekNumbers","showTodayButton","showClearButton","todayPosition","clearPosition","todayButtonLabel","clearButtonLabel","customRangeButtonLabel","withTimepicker","Injectable","args","providedIn","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","constructor","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","__read","n","r","e","ar","push","error","__spread","arguments","concat","DATEPICKER_ANIMATION_TIMING","datepickerAnimation","trigger","state","style","height","overflow","transition","animate","BsDatepickerAbstractComponent","customRanges","chosenRange","_daysCalendarSub","Subscription","selectedTimeSub","defineProperty","_a","_effects","setMinDate","setMaxDate","setDaysDisabled","setDatesDisabled","setDatesEnabled","setDisabled","setDateCustomClasses","setDateTooltipTexts","_daysCalendar$","_this","unsubscribe","add","subscribe","multipleCalendars","setViewMode","event","navigateTo","dayHoverHandler","weekHoverHandler","monthHoverHandler","yearHoverHandler","timeSelectHandler","date","index","daySelectHandler","day","monthSelectHandler","yearSelectHandler","setRangeOnCalendar","dates","setToday","clearDate","_stopPropagation","stopPropagation","BsDatepickerActions","calculate","type","CALCULATE","format","FORMAT","flag","FLAG","select","SELECT","payload","selectTime","SELECT_TIME","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","datesDisabled","SET_DATESDISABLED","datesEnabled","SET_DATESENABLED","isDisabled","SET_IS_DISABLED","SET_DATE_CUSTOM_CLASSES","SET_DATE_TOOLTIP_TEXTS","setLocale","locale","SET_LOCALE","BsLocaleService","_defaultLocale","_locale","BehaviorSubject","_localeChange","asObservable","getValue","use","currentLocale","BsDatepickerEffects","_actions","_localeService","_subs","init","_bsDatepickerStore","_store","setValue","dispatch","setRangeValue","_config","_options","assign","setBindings","container","selectedTime","pipe","filter","times","daysCalendar$","flaggedMonths","months","monthsCalendar","flaggedMonthsCalendar","yearsCalendar","yearsCalendarFlagged","years","viewMode","view","mode","options$","combineLatest","map","latest","setEventHandlers","_cell","isOtherMonth","registerDatepickerSideEffects","monthsModel","monthModel","formattedMonths","month","selectedDate","selectedRange","yearsCalendarModel","hoveredDate","dateCustomClasses","dateTooltipTexts","localeChange","destroy","_c","_d","_initialView","Date","initialDatepickerState","BsDatepickerConfig","monthViewOptions","width","getStartingDayOfCalendar","isFirstDayOfWeek","firstDayOfWeek","offset","weekday","startingDayOffset","_startingDayOffset","Number","isNaN","calculateDateOffset","getDay","shiftDate","isMonthDisabled","min","max","minBound","isBefore","endOf","maxBound","isAfter","startOf","isYearDisabled","isDisabledDate","unit","isArray","some","dateDisabled","isSame","isEnabledDate","enabledDate","getYearsCalendarInitialDate","calendarIndex","model","checkRangesWithMaxDate","ranges","forEach","item","compareDateWithMaxDateHelper","checkBsValue","setCurrentTimeOnDateSelect","setCurrentTimeHelper","setDateRangesCurrentTimeOnDateSelect","now","setMilliseconds","getMilliseconds","setSeconds","getSeconds","setMinutes","getMinutes","setHours","getHours","createMatrix","fn","prevValue","initialDate","matrix","j","shift","calcDaysCalendar","startingDate","firstDay","getFirstDayOfMonth","daysMatrix","getShiftedWeekdays","getLocale","weekdays","weekdaysShort","slice","canSwitchMode","minMode","formatMonthsCalendar","viewDate","formatOptions","label","formatDate","hideRightArrow","hideLeftArrow","disableRightArrow","disableLeftArrow","yearsPerCalendar","initialYearShift","Math","floor","year","formatYearsCalendar","previousInitialDate","yearsMatrix","getFullYear","calculateInitialDate","shift$1","from","to","formatYearRangeTitle","copyTime","sourceDate","time","bsDatepickerReducer","action","displayOneMonthRange","isDisplayOneMonth","showPreviousMonth","monthIndex","preventChangeToNextMonth","viewMonth","getMonth","getFormatOptions","undefined","calculateReducer","daysCalendar","weeks","week","weekIndex","dayIndex","formatDaysCalendar","formatReducer","formattedMonth","isSameMonth","isSameDay","isSelectionStart","isSelectionEnd","isSelected","isInRange","isDateInRange","isDisabledDay","currentDate","isToday","customClasses","dcc","classes","reduce","previousValue","currentValue","join","tooltipText","tt","newDay","flagDaysCalendar","monthCalendar","hoveredMonth","rowIndex","newMonth","yearIndex","isSameYear","hoveredYear","flagYearsCalendar","flagReducer","middleDate","shiftViewDate","newState","navigateOffsetReducer","setFullDate","_time","getViewDate","isDateValid","dte","_date","BsDatepickerStore","_dispatcher","MiniState","_super","MiniStore","BsDatepickerContainerComponent","_renderer","_element","_positionService","valueChange","EventEmitter","animationState","isRangePicker","setStyle","nativeElement","ngOnInit","modifiers","flip","enabled","allowedPositions","event$","take","disable","isTopPosition","isOtherMonthsActive","selectFromOtherMonth","showTodayBtn","todayBtnLbl","todayPos","showClearBtn","clearBtnLbl","clearPos","customRangeBtnLbl","_b","emit","ngAfterViewInit","val","startTimepicker","writeValue","registerOnChange","classList","contains","positionServiceEnable","enable","ngOnDestroy","_e","Component","selector","providers","template","host","class","role","animations","Renderer2","ElementRef","PositioningService","ViewChild","BsDatepickerDirective","_elementRef","_viewContainerRef","cis","placement","triggers","outsideClick","outsideEsc","isDestroy$","Subject","bsValueChange","_dateInputFormat$","_datepicker","createLoader","onShown","onHidden","isOpen$","isOpen","isShown","_bsValue","getTime","bsConfig","initCurrentTime","listen","show","setConfig","ngOnChanges","changes","_datepickerRef","instance","setAttribute","takeUntil","toggle","provide","useValue","attach","position","attachment","bsValue","hide","_f","_g","selectRootElement","focus","dispose","complete","Directive","exportAs","ViewContainerRef","ComponentLoaderFactory","Input","Output","BsDatepickerInlineConfig","BsDatepickerInlineContainerComponent","_positioningService","BsDatepickerInlineDirective","BsDaterangepickerInlineConfig","apply","BsDaterangepickerContainerComponent","_rangeStack","dateRange","endTimepicker","rangesProcessing","maxDateRange","setMaxDateRangeOnCalendar","currentSelection","maxDateValueInMilliseconds","maxDateRangeInMilliseconds","setDate","getDate","BsDaterangepickerInlineContainerComponent","BsDaterangepickerInlineDirective","range","BS_DATEPICKER_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","useExisting","forwardRef","BsDatepickerInputDirective","multi","BS_DATEPICKER_VALIDATOR","NG_VALIDATORS","_picker","_elRef","changeDetection","_onChange","Function","_onTouched","_validatorChange","setBsValue","_setInputValue","_value","markForCheck","dateInputFormat$","distinctUntilChanged","onKeydownEvent","keyCode","code","setProperty","onChange","target","validate","c","isDate","bsDate","invalid","registerOnValidatorChange","_localeKey","Error","parseDate","utcAsLocal","setDisabledState","removeAttribute","registerOnTouched","onBlur","blur","decorators","Host","ChangeDetectorRef","BsDaterangepickerConfig","BsDaterangepickerDirective","_rangeInputFormat$","BS_DATERANGEPICKER_VALUE_ACCESSOR","BsDaterangepickerInputDirective","BS_DATERANGEPICKER_VALIDATOR","rangeInputFormat$","start","end","errors","sort","a","_isFirstDateValid","_isSecondDateValid","_input","trimmedSeparator","trim","replace","split","_val","valueOf","DateFormatter","DatePickerInnerComponent","monthColLimit","yearColLimit","selectionDone","update","activeDateChange","stepDay","stepMonth","stepYear","modes","dateFormatter","_activeDate","uniqueId","random","initDate","activeDate","refreshView","checkIfActiveDateGotUpdated","firstChange","setCompareHandler","handler","compareHandlerDay","compareHandlerMonth","compareHandlerYear","compare","date1","date2","datepickerMode","setRefreshViewHandler","refreshViewHandlerDay","refreshViewHandlerMonth","refreshViewHandlerYear","dateFilter","isActive","dateObject","activeDateId","uid","createDateObject","fixTimeZone","selected","disabled","current","customClass","getCustomClassForDate","arr","size","arrays","splice","hours","isManual","indexOf","move","direction","expectedStep","toggleMode","_direction","maxMode","customClassObject","find","clazz","compareDateDisabled","date1Disabled","isDateDisabled","disabledDate","dayDisabled","startingDay","yearRange","showWeeks","formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","onlyCurrentMonth","shortcutPropagation","DATEPICKER_CONTROL_VALUE_ACCESSOR","DatePickerComponent","config","onTouched","_now","configureOptions","onUpdate","onSelectionDone","onActiveDateChange","_datePicker","DatepickerConfig","static","DayPickerComponent","datePicker","labels","rows","isBs3","self","that","firstDayOfMonth","difference","numDisplayedFromPreviousMonth","firstDate","_days","getDates","_dateObject","secondary","abbr","full","title","thursdayIndex","numWeeks","curWeek","getISO8601WeekNumber","d1","d2","startDate","checkDate","setMonth","round","MonthPickerComponent","YearPickerComponent","getStartingYear","BsCustomDatesViewComponent","onSelect","selectFromRanges","ChangeDetectionStrategy","OnPush","BsNavigationDirection","BsDatepickerDayDecoratorComponent","customTodayClass","addClass","className","BsDatepickerNavigationViewComponent","onNavigate","onViewMode","navTo","down","DOWN","UP","BsDaysCalendarViewComponent","onHover","onHoverWeek","isiOS","test","navigator","platform","maxTouchPoints","isShowTooltip","selectDay","selectWeek","selectWeekDateRange","selectedDay","lastDayOfRange","reverse","isWeekHovered","isOtherMonthHovered","dateData","BsMonthCalendarViewComponent","hoverMonth","ampm","minutes","BsYearsCalendarViewComponent","viewYear","hoverYear","BsDatepickerModule","forRoot","ngModule","TimepickerActions","NgModule","imports","CommonModule","TooltipModule","TimepickerModule","declarations","BsCalendarLayoutComponent","BsCurrentDateViewComponent","BsTimepickerViewComponent","entryComponents","exports","DatepickerModule","FormsModule"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n DatepickerRenderOptions,\n BsDatepickerViewMode,\n DatepickerDateCustomClasses,\n DatepickerDateTooltipText\n} from './models';\nimport { BsCustomDates } from './themes/bs/bs-custom-dates-view.component';\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({\n providedIn: 'root'\n})\nexport class BsDatepickerConfig implements DatepickerRenderOptions {\n /** sets use adaptive position */\n adaptivePosition = false;\n /** sets use UTC date time format */\n useUtc = false;\n /** turn on/off animation */\n isAnimated = false;\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 * The view that the datepicker should start in\n */\n startView: BsDatepickerViewMode = 'day';\n /**\n * Default date custom classes for all date/range pickers\n */\n dateCustomClasses?: DatepickerDateCustomClasses[];\n /**\n * Default tooltip text for all date/range pickers\n */\n dateTooltipTexts?: DatepickerDateTooltipText[];\n /**\n * Disable specific days, e.g. [0,6] will disable all Saturdays and Sundays\n */\n daysDisabled?: number[];\n /**\n * Disable specific dates\n */\n datesDisabled?: Date[];\n /**\n * Show one months for special cases (only for dateRangePicker)\n * 1. maxDate is equal to today's date\n * 2. minDate's month is equal to maxDate's month\n */\n displayOneMonthRange?: boolean;\n /**\n * Enable specific dates\n */\n datesEnabled?: Date[];\n /**\n * Makes dates from other months active\n */\n selectFromOtherMonth?: boolean;\n\n /**\n * Allows select first date of the week by click on week number\n */\n selectWeek?: boolean;\n\n /**\n * Allows select daterange as first and last day of week by click on week number (dateRangePicker only)\n */\n selectWeekDateRange?: boolean;\n\n /**\n * Shows previous and current month, instead of current and next (dateRangePicker only)\n */\n showPreviousMonth?: boolean;\n\n /**\n * Prevents change to next month for right calendar in two calendars view (dateRangePicker only)\n */\n preventChangeToNextMonth?: boolean;\n\n /**\n * Add class to current day\n */\n customTodayClass?: string;\n\n /**\n * Default mode for all date pickers\n */\n minMode?: BsDatepickerViewMode;\n\n /**\n * If true, returns focus to the datepicker / daterangepicker input after date selection\n */\n returnFocusToInput = false;\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 /**\n * Predefined ranges\n */\n ranges?: BsCustomDates[];\n\n /**\n * Max Date Range in days\n */\n maxDateRange?: number;\n\n // DatepickerFormatOptions\n monthTitle = 'MMMM';\n yearTitle = 'YYYY';\n dayLabel = 'D';\n monthLabel = 'MMMM';\n yearLabel = 'YYYY';\n weekNumbers = 'w';\n\n /**\n * Shows 'today' button\n */\n showTodayButton = false;\n\n /**\n * Shows clear button\n */\n showClearButton = false;\n\n /**\n * Positioning of 'today' button\n */\n todayPosition = 'center';\n\n /**\n * Positioning of 'clear' button\n */\n clearPosition = 'right';\n\n /**\n * Label for 'today' button\n */\n todayButtonLabel = 'Today';\n\n /**\n * Label for 'clear' button\n */\n clearButtonLabel = 'Clear';\n\n /**\n * Label for 'custom range' button\n */\n customRangeButtonLabel = 'Custom Range';\n\n /**\n * Shows timepicker under datepicker\n */\n withTimepicker = false;\n /**\n * Set current hours, minutes, seconds and milliseconds for bsValue\n */\n initCurrentTime?: boolean;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const DATEPICKER_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const datepickerAnimation: AnimationTriggerMetadata =\n trigger('datepickerAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(DATEPICKER_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(DATEPICKER_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// datepicker container component\nimport { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component';\nimport { BsDatepickerEffects } from '../reducer/bs-datepicker.effects';\nimport { Observable, Subscription } from 'rxjs';\nimport {\n BsDatepickerViewMode,\n BsNavigationEvent,\n CalendarCellViewModel,\n CellHoverEvent,\n DatepickerRenderOptions,\n DatepickerDateCustomClasses,\n DatepickerDateTooltipText,\n DaysCalendarViewModel,\n DayViewModel,\n MonthsCalendarViewModel,\n WeekViewModel,\n YearsCalendarViewModel\n} from '../models';\n\nexport abstract class BsDatepickerAbstractComponent {\n containerClass = '';\n isOtherMonthsActive?: boolean;\n showTodayBtn?: boolean;\n todayBtnLbl?: string;\n todayPos?: string;\n showClearBtn?: boolean;\n clearBtnLbl?: string;\n clearPos?: string;\n\n _effects?: BsDatepickerEffects;\n customRanges: BsCustomDates[] = [];\n customRangeBtnLbl?: string;\n chosenRange: Date[] = [];\n\n multipleCalendars?: boolean;\n\n isRangePicker?: boolean;\n withTimepicker?: boolean;\n\n set minDate(value: Date|undefined) {\n this._effects?.setMinDate(value);\n }\n\n set maxDate(value: Date|undefined) {\n this._effects?.setMaxDate(value);\n }\n set daysDisabled(value: number[]|undefined) {\n this._effects?.setDaysDisabled(value);\n }\n set datesDisabled(value: Date[]|undefined) {\n this._effects?.setDatesDisabled(value);\n }\n\n set datesEnabled(value: Date[]|undefined) {\n this._effects?.setDatesEnabled(value);\n }\n\n set isDisabled(value: boolean|undefined) {\n this._effects?.setDisabled(value);\n }\n\n set dateCustomClasses(value: DatepickerDateCustomClasses[]|undefined) {\n this._effects?.setDateCustomClasses(value);\n }\n\n set dateTooltipTexts(value: DatepickerDateTooltipText[]|undefined) {\n this._effects?.setDateTooltipTexts(value);\n }\n\n viewMode?: Observable<BsDatepickerViewMode|undefined>;\n monthsCalendar?: Observable<MonthsCalendarViewModel[]|undefined>;\n yearsCalendar?: Observable<YearsCalendarViewModel[]|undefined>;\n options$!: Observable<DatepickerRenderOptions|undefined>;\n\n _daysCalendar$!: Observable<DaysCalendarViewModel[]|undefined>;\n _daysCalendarSub = new Subscription();\n\n set daysCalendar$(value: Observable<DaysCalendarViewModel[]|undefined>) {\n this._daysCalendar$ = value;\n this._daysCalendarSub.unsubscribe();\n this._daysCalendarSub.add(this._daysCalendar$.subscribe(value => {\n this.multipleCalendars = !!value && value.length > 1;\n }));\n }\n\n get daysCalendar$(): Observable<DaysCalendarViewModel[]|undefined> {\n return this._daysCalendar$;\n }\n\n selectedTime?: Observable<Date[]|undefined>;\n selectedTimeSub = new Subscription();\n\n // todo: valorkin fix\n // eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function\n setViewMode(event: BsDatepickerViewMode): void {}\n\n // eslint-disable-next-line\n navigateTo(event: BsNavigationEvent): void {}\n\n // eslint-disable-next-line\n dayHoverHandler(event: CellHoverEvent): void {}\n\n // eslint-disable-next-line\n weekHoverHandler(event: WeekViewModel): void {}\n\n // eslint-disable-next-line\n monthHoverHandler(event: CellHoverEvent): void {}\n\n // eslint-disable-next-line\n yearHoverHandler(event: CellHoverEvent): void {}\n\n // eslint-disable-next-line\n timeSelectHandler(date: Date, index: number): void {}\n\n // eslint-disable-next-line\n daySelectHandler(day: DayViewModel): void {}\n\n // eslint-disable-next-line\n monthSelectHandler(event: CalendarCellViewModel): void {}\n\n // eslint-disable-next-line\n yearSelectHandler(event: CalendarCellViewModel): void {}\n\n // eslint-disable-next-line\n setRangeOnCalendar(dates: BsCustomDates): void {}\n\n // eslint-disable-next-line\n setToday(): void {}\n\n // eslint-disable-next-line\n clearDate(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-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 DatepickerDateCustomClasses,\n DatepickerDateTooltipText\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_DATESDISABLED = '[datepicker] set dates disabled';\n static readonly SET_DATESENABLED = '[datepicker] set dates enabled';\n static readonly SET_IS_DISABLED = '[datepicker] set is disabled';\n static readonly SET_DATE_CUSTOM_CLASSES = '[datepicker] set date custom classes';\n static readonly SET_DATE_TOOLTIP_TEXTS = '[datepicker] set date tooltip texts';\n static readonly SET_LOCALE = '[datepicker] set datepicker locale';\n static readonly SELECT_TIME = '[datepicker] select time';\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 selectTime(date: Date, index: number): Action {\n return {\n type: BsDatepickerActions.SELECT_TIME,\n payload: { date, index },\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|undefined)[] | undefined): 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 datesDisabled(dates?: Date[]): Action {\n return {\n type: BsDatepickerActions.SET_DATESDISABLED,\n payload: dates\n };\n }\n\n datesEnabled(dates?: Date[]): Action {\n return {\n type: BsDatepickerActions.SET_DATESENABLED,\n payload: dates\n };\n }\n\n isDisabled(value?: boolean): Action {\n return {\n type: BsDatepickerActions.SET_IS_DISABLED,\n payload: value\n };\n }\n\n setDateCustomClasses(value?: DatepickerDateCustomClasses[]): Action {\n return {\n type: BsDatepickerActions.SET_DATE_CUSTOM_CLASSES,\n payload: value\n };\n }\n\n setDateTooltipTexts(value?: DatepickerDateTooltipText[]): Action {\n return {\n type: BsDatepickerActions.SET_DATE_TOOLTIP_TEXTS,\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 { combineLatest, Observable, Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { BsDatepickerAbstractComponent } from '../base/bs-datepicker-container';\nimport { BsDatepickerConfig } from '../bs-datepicker.config';\nimport { BsLocaleService } from '../bs-locale.service';\n\nimport {\n BsDatepickerViewMode,\n BsNavigationEvent,\n CellHoverEvent,\n DatepickerDateCustomClasses,\n DatepickerDateTooltipText,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel,\n MonthsCalendarViewModel,\n YearsCalendarViewModel\n} from '../models';\nimport { BsDatepickerActions } from './bs-datepicker.actions';\nimport { BsDatepickerStore } from './bs-datepicker.store';\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\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|undefined)[] | undefined): 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[]): BsDatepickerEffects {\n this._store?.dispatch(this._actions.daysDisabled(value));\n\n return this;\n }\n\n setDatesDisabled(value?: Date[]): BsDatepickerEffects {\n this._store?.dispatch(this._actions.datesDisabled(value));\n\n return this;\n }\n\n setDatesEnabled(value?: Date[]): BsDatepickerEffects {\n this._store?.dispatch(this._actions.datesEnabled(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 setDateCustomClasses(value?: DatepickerDateCustomClasses[]): BsDatepickerEffects {\n this._store?.dispatch(this._actions.setDateCustomClasses(value));\n\n return this;\n }\n\n setDateTooltipTexts(value?: DatepickerDateTooltipText[]): BsDatepickerEffects {\n this._store?.dispatch(this._actions.setDateTooltipTexts(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 if (!this._store) {\n return this;\n }\n\n container.selectedTime = this._store.select(state => state.selectedTime)\n .pipe(filter(times => !!times));\n\n container.daysCalendar$ = this._store.select(state => state.flaggedMonths)\n .pipe(filter(months => !!months));\n\n // month calendar\n container.monthsCalendar = this._store.select(state => state.flaggedMonthsCalendar)\n .pipe(filter(months => !!months));\n\n // year calendar\n container.yearsCalendar = this._store.select(state => state.yearsCalendarFlagged)\n .pipe(filter(years => !!years));\n\n container.viewMode = this._store.select(state => state.view?.mode);\n\n container.options$ = combineLatest([\n this._store.select(state => state.showWeekNumbers),\n this._store.select(state => state.displayMonths)\n ])\n .pipe(map((latest) => ({\n showWeekNumbers: latest[0],\n displayMonths: latest[1]\n })\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 return this;\n }\n\n registerDatepickerSideEffects(): BsDatepickerEffects {\n if (!this._store) {\n return this;\n }\n\n this._subs.push(\n this._store.select(state => state.view).subscribe(() => {\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(() => 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(() => 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(() => 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(() => 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(() => this._store?.dispatch(this._actions.flag()))\n );\n\n // date custom classes\n this._subs.push(\n this._store\n .select(state => state.dateCustomClasses)\n .pipe(\n filter(dateCustomClasses => !!dateCustomClasses)\n )\n .subscribe(() => this._store?.dispatch(this._actions.flag()))\n );\n\n // date tooltip texts\n this._subs.push(\n this._store\n .select(state => state.dateTooltipTexts)\n .pipe(\n filter(dateTooltipTexts => !!dateTooltipTexts)\n )\n .subscribe(() => 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 MonthViewOptions\n} from '../models';\n\nexport const defaultMonthOptions: MonthViewOptions = {\n width: 7,\n height: 6\n};\n\nexport const dayInMilliseconds = 24 * 60 * 60 * 1000;\n","import {\n BsDatepickerViewMode,\n DatepickerFormatOptions,\n DatepickerRenderOptions,\n DatepickerDateCustomClasses,\n DatepickerDateTooltipText,\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 // time picker\n selectedTime?: 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 datesDisabled?: Date[];\n datesEnabled?: Date[];\n minMode?: BsDatepickerViewMode;\n dateCustomClasses?: DatepickerDateCustomClasses[];\n dateTooltipTexts?: DatepickerDateTooltipText[];\n\n hoveredDate?: Date;\n hoveredMonth?: Date;\n hoveredYear?: Date;\n\n // days calendar\n monthsModel?: DaysCalendarModel[];\n formattedMonths?: DaysCalendarViewModel[];\n flaggedMonths?: DaysCalendarViewModel[];\n selectFromOtherMonth?: boolean;\n showPreviousMonth?: boolean; // dateRangePicker only;\n preventChangeToNextMonth?: boolean; // dateRangePicker only;\n displayOneMonthRange?: boolean; // dateRangePicker only;\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 = true;\n displayMonths = 1;\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 selectedTime: [],\n monthViewOptions: defaultMonthOptions\n }\n);\n","import {\n getDay,\n isFirstDayOfWeek,\n isAfter,\n isBefore,\n shiftDate,\n endOf,\n startOf,\n isArray,\n isSame\n} from 'ngx-bootstrap/chronos';\nimport { BsDatepickerState } from '../reducer/bs-datepicker.state';\nimport { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component';\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 const _startingDayOffset = Number(startingDayOffset);\n if (isNaN(_startingDayOffset)) {\n return 0;\n }\n\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 || false;\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 || false;\n}\n\nexport function isDisabledDate(date?: Date, datesDisabled?: Date[], unit?: string): boolean {\n if (!datesDisabled || !isArray(datesDisabled) || !datesDisabled.length) {\n return false;\n }\n\n if (unit && unit === 'year') {\n return datesDisabled.some((dateDisabled: Date) => isSame(date, dateDisabled, 'year'));\n }\n\n return datesDisabled.some((dateDisabled: Date) => isSame(date, dateDisabled, 'date'));\n}\n\nexport function isEnabledDate(date?: Date, datesEnabled?: Date[], unit?: string): boolean {\n if (!datesEnabled || !isArray(datesEnabled) || !datesEnabled.length) {\n return false;\n }\n\n if (unit && unit === 'year') {\n return !datesEnabled.some((dateDisabled: Date) => isSame(date, dateDisabled, 'year'));\n }\n\n return !datesEnabled.some((enabledDate: Date) => isSame(date, enabledDate, 'date'));\n}\n\nexport function getYearsCalendarInitialDate(state: BsDatepickerState, calendarIndex = 0): Date | undefined {\n const model = state && state.yearsCalendarModel && state.yearsCalendarModel[calendarIndex];\n\n return model?.years[0] && model.years[0][0] && model.years[0][0].date;\n}\n\nexport function checkRangesWithMaxDate(ranges?: BsCustomDates[], maxDate?: Date): BsCustomDates[] | undefined {\n if (!ranges) return ranges;\n if (!maxDate) return ranges;\n if (!ranges.length && !ranges[0].value) return ranges;\n\n ranges.forEach((item: BsCustomDates) => {\n if (!item || !item.value) return ranges;\n if (item.value instanceof Date) return ranges;\n if (!(item.value instanceof Array && item.value.length) ) return ranges;\n item.value = compareDateWithMaxDateHelper(item.value, maxDate);\n return ranges;\n });\n return ranges;\n}\n\nexport function checkBsValue(date?: Array<Date> | Date | (Date | undefined)[], maxDate?: Date): Array<Date> | Date | (Date|undefined)[] | undefined {\n if (!date) return date;\n if (!maxDate) return date;\n if (date instanceof Array && !date.length) return date;\n if (date instanceof Date) return date;\n return compareDateWithMaxDateHelper(date, maxDate);\n}\n\nfunction compareDateWithMaxDateHelper <T>(date: T, maxDate: Date): T | Date[] {\n if (date instanceof Array) {\n const editedValues = date.map(item => {\n if (!item) return item;\n if (isAfter(item, maxDate, 'date')) item = maxDate;\n return item;\n });\n return editedValues;\n }\n return date;\n}\n\nexport function setCurrentTimeOnDateSelect(value?: Date): Date | undefined {\n if (!value) return value;\n\n return setCurrentTimeHelper(value);\n}\n\nexport function setDateRangesCurrentTimeOnDateSelect(value?: (Date|undefined)[]): (Date|undefined)[] | undefined {\n if (!value?.length) return value;\n\n value.map((date) => {\n if (!date) {\n return date;\n }\n return setCurrentTimeHelper(date);\n });\n\n return value;\n}\n\nfunction setCurrentTimeHelper(date: Date): Date {\n const now = new Date();\n date.setMilliseconds(now.getMilliseconds());\n date.setSeconds(now.getSeconds());\n date.setMinutes(now.getMinutes());\n date.setHours(now.getHours());\n return date;\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\nimport { getFirstDayOfMonth } from 'ngx-bootstrap/chronos';\n// should accept some options\n// todo: split out formatting\nimport { DaysCalendarModel, MonthViewOptions } from '../models';\nimport { getStartingDayOfCalendar } from '../utils/bs-calendar-utils';\nimport { createMatrix, MatrixOptions } 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 // todo test\n const matrixOptions: MatrixOptions = {\n width: options.width || 0,\n height: options.height || 0,\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 hideLeftArrow: false,\n hideRightArrow: false,\n disableLeftArrow: false,\n disableRightArrow: false\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 hideRightArrow: false,\n hideLeftArrow: false,\n disableRightArrow: false,\n disableLeftArrow: false\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;\nexport const initialYearShift = (Math.floor(yearsPerCalendar / 2) - 1) * -1;\nconst shift = { year: 1 };\n\nexport function formatYearsCalendar(\n viewDate: Date,\n formatOptions: DatepickerFormatOptions,\n previousInitialDate?: Date\n): YearsCalendarViewModel {\n const initialDate = calculateInitialDate(viewDate, previousInitialDate);\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 hideLeftArrow: false,\n hideRightArrow: false,\n disableLeftArrow: false,\n disableRightArrow: false\n };\n}\n\nfunction calculateInitialDate(viewDate: Date, previousInitialDate?: Date): Date {\n if (previousInitialDate\n && viewDate.getFullYear() >= previousInitialDate.getFullYear()\n && viewDate.getFullYear() < previousInitialDate.getFullYear() + yearsPerCalendar) {\n return previousInitialDate;\n }\n\n return shiftDate(viewDate, { year: initialYearShift });\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","export function copyTime(sourceDate: Date, time: Date) {\n sourceDate.setHours(time.getHours());\n sourceDate.setMinutes(time.getMinutes());\n sourceDate.setSeconds(time.getSeconds());\n sourceDate.setMilliseconds(time.getMilliseconds());\n}\n","import { BsDatepickerState, BsDatepickerViewState, 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 isSame\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, initialYearShift, yearsPerCalendar } from '../engine/format-years-calendar';\nimport { flagYearsCalendar } from '../engine/flag-years-calendar';\nimport { BsViewNavigationEvent, DatepickerFormatOptions, BsDatepickerViewMode } from '../models';\nimport { getYearsCalendarInitialDate } from '../utils/bs-calendar-utils';\nimport { copyTime } from '../utils/copy-time-utils';\n\n\nexport function bsDatepickerReducer(state: BsDatepickerState = 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);\n }\n\n case BsDatepickerActions.FLAG: {\n return flagReducer(state);\n }\n\n case BsDatepickerActions.NAVIGATE_OFFSET: {\n return navigateOffsetReducer(state, action);\n }\n\n case BsDatepickerActions.NAVIGATE_TO: {\n const payload: BsViewNavigationEvent = action.payload;\n if (!state.view || !payload.unit) {\n return state;\n }\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) || !state.view) {\n return state;\n }\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 if (!state.view) {\n return state;\n }\n\n const newState = {\n selectedDate: action.payload,\n view: state.view\n };\n\n if (Array.isArray(state.selectedTime)) {\n const _time = state.selectedTime[0];\n if (_time) {\n copyTime(newState.selectedDate, _time);\n }\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.SELECT_TIME: {\n const {date, index} = action.payload;\n const selectedTime = state.selectedTime ? [...state.selectedTime] : [];\n selectedTime[index] = date;\n return Object.assign({}, state, { selectedTime });\n }\n\n case BsDatepickerActions.SET_OPTIONS: {\n if (!state.view) {\n return state;\n }\n\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 newState.selectedTime = newState.value.map((i: Date) => i);\n }\n\n // if new value is a date -> datepicker\n if (newState.value instanceof Date) {\n newState.selectedDate = newState.value;\n newState.selectedTime = [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 if (!state.view) {\n return state;\n }\n\n const newState = {\n selectedRange: action.payload,\n view: state.view\n };\n\n newState.selectedRange.forEach((dte: Date, index: number) => {\n if (Array.isArray(state.selectedTime)) {\n const _time = state.selectedTime[index];\n if (_time) {\n copyTime(dte, _time);\n }\n }\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 case BsDatepickerActions.SET_DATE_CUSTOM_CLASSES: {\n return Object.assign({}, state, {\n dateCustomClasses: action.payload\n });\n }\n case BsDatepickerActions.SET_DATE_TOOLTIP_TEXTS: {\n return Object.assign({}, state, {\n dateTooltipTexts: action.payload\n });\n }\n\n default:\n return state;\n }\n}\n\nfunction calculateReducer(state: BsDatepickerState): BsDatepickerState {\n if (!state.view) {\n return state;\n }\n\n // how many calendars\n let displayMonths: number | undefined;\n if (state.displayOneMonthRange &&\n isDisplayOneMonth(state.view.date, state.minDate, state.maxDate)) {\n displayMonths = 1;\n } else {\n displayMonths = state.displayMonths || 1;\n }\n\n // use selected date on initial rendering if set\n let viewDate = state.view.date;\n\n if (state.view.mode === 'day' && state.monthViewOptions) {\n if (state.showPreviousMonth && state.selectedRange && state.selectedRange.length === 0) {\n viewDate = shiftDate(viewDate, { month: -1 });\n }\n\n state.monthViewOptions.firstDayOfWeek = getLocale(state.locale).firstDayOfWeek();\n let 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 // Check if parameter enabled and check if it's not months navigation event\n if (state.preventChangeToNextMonth && state.flaggedMonths && state.hoveredDate) {\n const viewMonth = calcDaysCalendar(state.view.date, state.monthViewOptions);\n // Check if viewed right month same as in flaggedMonths state, then override months model with flaggedMonths\n if (state.flaggedMonths.length && state.flaggedMonths[1].month.getMonth() === viewMonth.month.getMonth()) {\n monthsModel = state.flaggedMonths\n .map(item => {\n if (state.monthViewOptions) {\n return calcDaysCalendar(\n item.month,\n state.monthViewOptions\n );\n }\n return null;\n })\n .filter(item => item !== null);\n }\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 state.minMode === 'year' ? getYearsCalendarInitialDate(state, calendarIndex) : undefined\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): BsDatepickerState {\n if (!state.view) {\n return state;\n }\n\n if (state.view.mode === 'day' && state.monthsModel) {\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 || 1;\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): BsDatepickerState {\n if (!state.view) {\n return state;\n }\n\n const displayMonths = isDisplayOneMonth(state.view.date, state.minDate, state.maxDate) ? 1 : state.displayMonths;\n if (state.formattedMonths && 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 datesDisabled: state.datesDisabled,\n datesEnabled: state.datesEnabled,\n hoveredDate: state.hoveredDate,\n selectedDate: state.selectedDate,\n selectedRange: state.selectedRange,\n displayMonths,\n dateCustomClasses: state.dateCustomClasses,\n dateTooltipTexts: state.dateTooltipTexts,\n monthIndex\n })\n );\n\n return Object.assign({}, state, { flaggedMonths });\n }\n\n if (state.view.mode === 'month' && state.monthsCalendar) {\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 selectedDate: state.selectedDate,\n datesDisabled: state.datesDisabled,\n datesEnabled: state.datesEnabled,\n selectedRange: state.selectedRange,\n displayMonths,\n monthIndex\n })\n );\n\n return Object.assign({}, state, { flaggedMonthsCalendar });\n }\n\n if (state.view.mode === 'year' && state.yearsCalendarModel) {\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 selectedDate: state.selectedDate,\n datesDisabled: state.datesDisabled,\n datesEnabled: state.datesEnabled,\n selectedRange: state.selectedRange,\n displayMonths,\n yearIndex\n })\n );\n\n return Object.assign({}, state, { yearsCalendarFlagged });\n }\n\n return state;\n}\n\nfunction navigateOffsetReducer(state: BsDatepickerState, action: Action): BsDatepickerState {\n if (!state.view) {\n return state;\n }\n\n const date = shiftViewDate(state, action);\n if (!date) {\n return state;\n }\n\n const newState: {view: BsDatepickerViewState} = {\n view: {\n mode: state.view.mode,\n date\n }\n };\n\n return Object.assign({}, state, newState);\n}\n\nfunction shiftViewDate(state: BsDatepickerState, action: Action): Date | undefined {\n if (!state.view) {\n return undefined;\n }\n\n if (state.view.mode === 'year' && state.minMode === 'year') {\n const initialDate = getYearsCalendarInitialDate(state, 0);\n if (initialDate) {\n const middleDate = shiftDate(initialDate, { year: -initialYearShift });\n return shiftDate(middleDate, action.payload);\n }\n }\n\n return shiftDate(startOf(state.view.date, 'month'), action.payload);\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\nfunction isDisplayOneMonth(viewDate: Date, minDate?: Date, maxDate?: Date) {\n if (maxDate && isSame(maxDate, viewDate, 'day')) {\n return true;\n }\n\n return minDate && maxDate && minDate.getMonth() === maxDate.getMonth();\n}\n","import {\n DaysCalendarViewModel,\n DayViewModel,\n WeekViewModel,\n DatepickerDateCustomClasses,\n DatepickerDateTooltipText\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, isDisabledDate, isEnabledDate } from '../utils/bs-calendar-utils';\n\nexport interface FlagDaysCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n daysDisabled: number[];\n datesDisabled: Date[];\n datesEnabled: Date[];\n hoveredDate: Date;\n selectedDate: Date;\n selectedRange: Date[];\n displayMonths: number;\n monthIndex: number;\n dateCustomClasses: DatepickerDateCustomClasses[];\n dateTooltipTexts: DatepickerDateTooltipText[];\n}\n\nexport function flagDaysCalendar(\n formattedMonth: DaysCalendarViewModel,\n options: Partial<FlagDaysCalendarOptions>\n): DaysCalendarViewModel {\n formattedMonth.weeks.forEach((week: WeekViewModel) => {\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 isDisabledDate(day.date, options.datesDisabled) ||\n isEnabledDate(day.date, options.datesEnabled);\n\n const currentDate = new Date();\n const isToday = !isOtherMonth && isSameDay(day.date, currentDate);\n\n const customClasses = options.dateCustomClasses && options.dateCustomClasses\n .map(dcc => isSameDay(day.date, dcc.date) ? dcc.classes : [])\n .reduce((previousValue, currentValue) => previousValue.concat(currentValue), [])\n .join(' ')\n || '';\n\n const tooltipText = options.dateTooltipTexts && options.dateTooltipTexts\n .map(tt => isSameDay(day.date, tt.date) ? tt.tooltipText : '')\n .reduce((previousValue, currentValue) => {\n previousValue.push(currentValue);\n return previousValue;\n }, [] as string[])\n .join(' ')\n || '';\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 customClasses,\n tooltipText\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 day.customClasses !== newDay.customClasses ||\n day.tooltipText !== newDay.tooltipText\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 && options.monthIndex > 0 && options.monthIndex !== options.displayMonths);\n formattedMonth.hideRightArrow =\n options.isDisabled ||\n ((!!options.monthIndex || options.monthIndex === 0) && !!options.displayMonths && 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 return formattedMonth;\n}\n\nfunction isDateInRange(\n date: Date,\n selectedRange?: Date[],\n hoveredDate?: Date\n): boolean {\n if (!date || !selectedRange || !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 { isDisabledDate, isEnabledDate, isMonthDisabled, isYearDisabled } from '../utils/bs-calendar-utils';\n\nexport interface FlagMonthCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n hoveredMonth: Date;\n selectedDate: Date;\n selectedRange: Date[];\n datesDisabled: Date[];\n datesEnabled: Date[];\n displayMonths: number;\n monthIndex: number;\n}\n\nexport function flagMonthsCalendar(\n monthCalendar: MonthsCalendarViewModel,\n options: Partial<FlagMonthCalendarOptions>\n): MonthsCalendarViewModel {\n monthCalendar.months.forEach(\n (months: CalendarCellViewModel[], rowIndex: number) => {\n months.forEach((month: CalendarCellViewModel, monthIndex: number) => {\n let isSelected: boolean;\n const isHovered = isSameMonth(month.date, options.hoveredMonth);\n const isDisabled =\n options.isDisabled ||\n isDisabledDate(month.date, options.datesDisabled) ||\n isEnabledDate(month.date, options.datesEnabled) ||\n isMonthDisabled(month.date, options.minDate, options.maxDate);\n\n if (!options.selectedDate && options.selectedRange) {\n isSelected = isSameMonth(month.date, options.selectedRange[0]);\n if (!isSelected) {\n isSelected = isSameMonth(month.date, options.selectedRange[1]);\n }\n } else {\n isSelected = isSameMonth(month.date, options.selectedDate);\n }\n const newMonth = Object.assign(/*{},*/ month, {\n isHovered,\n isDisabled,\n isSelected\n });\n if (\n month.isHovered !== newMonth.isHovered ||\n month.isDisabled !== newMonth.isDisabled ||\n month.isSelected !== newMonth.isSelected\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 && options.monthIndex > 0 && options.monthIndex !== options.displayMonths;\n\n monthCalendar.hideRightArrow =\n (!!options.monthIndex || options.monthIndex === 0 )\n && (!!options.displayMonths || options.displayMonths === 0)\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 { isDisabledDate, isEnabledDate, isYearDisabled } from '../utils/bs-calendar-utils';\n\nexport interface FlagYearsCalendarOptions {\n isDisabled: boolean;\n minDate: Date;\n maxDate: Date;\n hoveredYear: Date;\n selectedDate: Date;\n selectedRange: Date[];\n datesDisabled: Date[];\n datesEnabled: Date[];\n displayMonths: number;\n yearIndex: number;\n}\n\nexport function flagYearsCalendar(\n yearsCalendar: YearsCalendarViewModel,\n options: Partial<FlagYearsCalendarOptions>\n): YearsCalendarViewModel {\n yearsCalendar.years.forEach(\n (years: CalendarCellViewModel[], rowIndex: number) => {\n years.forEach((year: CalendarCellViewModel, yearIndex: number) => {\n let isSelected: boolean;\n const isHovered = isSameYear(year.date, options.hoveredYear);\n const isDisabled =\n options.isDisabled ||\n isDisabledDate(year.date, options.datesDisabled, 'year') ||\n isEnabledDate(year.date, options.datesEnabled, 'year') ||\n isYearDisabled(year.date, options.minDate, options.maxDate);\n\n if (!options.selectedDate && options.selectedRange) {\n isSelected = isSameYear(year.date, options.selectedRange[0]);\n if (!isSelected) {\n isSelected = isSameYear(year.date, options.selectedRange[1]);\n }\n } else {\n isSelected = isSameYear(year.date, options.selectedDate);\n }\n\n const newMonth = Object.assign(/*{},*/ year, { isHovered, isDisabled, isSelected });\n if (\n year.isHovered !== newMonth.isHovered ||\n year.isDisabled !== newMonth.isDisabled ||\n year.isSelected !== newMonth.isSelected\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 && options.yearIndex > 0 && options.yearIndex !== options.displayMonths;\n yearsCalendar.hideRightArrow =\n !!options.yearIndex && !!options.displayMonths &&\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 {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild\n} from '@angular/core';\n\nimport { take } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\nimport { getFullYear, getMonth } from 'ngx-bootstrap/chronos';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TimepickerComponent } from 'ngx-bootstrap/timepicker';\n\nimport { datepickerAnimation } from '../../datepicker-animations';\nimport { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { CalendarCellViewModel, DayViewModel } from '../../models';\nimport { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';\nimport { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from '../../reducer/bs-datepicker.store';\n\n@Component({\n selector: 'bs-datepicker-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n class: 'bottom',\n '(click)': '_stopPropagation($event)',\n role: 'dialog',\n 'aria-label': 'calendar'\n },\n animations: [datepickerAnimation]\n})\nexport class BsDatepickerContainerComponent extends BsDatepickerAbstractComponent\n implements OnInit, AfterViewInit, OnDestroy {\n\n set value(value: Date|undefined) {\n this._effects?.setValue(value);\n }\n\n valueChange: EventEmitter<Date> = new EventEmitter<Date>();\n animationState = 'void';\n isRangePicker = false;\n\n _subs: Subscription[] = [];\n\n @ViewChild('startTP') startTimepicker?: TimepickerComponent;\n\n constructor(\n _renderer: Renderer2,\n private _config: BsDatepickerConfig,\n private _store: BsDatepickerStore,\n private _element: ElementRef,\n private _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects,\n private _positionService: PositioningService\n ) {\n super();\n this._effects = _effects;\n\n _renderer.setStyle(_element.nativeElement, 'display', 'block');\n _renderer.setStyle(_element.nativeElement, 'position', 'absolute');\n }\n\n ngOnInit(): void {\n this._positionService.setOptions({\n modifiers: { flip: { enabled: this._config.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._positionService.event$?.pipe(take(1))\n .subscribe(() => {\n this._positionService.disable();\n\n if (this._config.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n\n return;\n }\n\n this.animationState = 'unanimated';\n });\n\n this.isOtherMonthsActive = this._config.selectFromOtherMonth;\n this.containerClass = this._config.containerClass;\n this.showTodayBtn = this._config.showTodayButton;\n this.todayBtnLbl = this._config.todayButtonLabel;\n this.todayPos = this._config.todayPosition;\n this.showClearBtn = this._config.showClearButton;\n this.clearBtnLbl = this._config.clearButtonLabel;\n this.clearPos = this._config.clearPosition;\n this.customRangeBtnLbl = this._config.customRangeButtonLabel;\n this.withTimepicker = this._config.withTimepicker;\n this._effects?.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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .select((state: any) => state.selectedDate)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .subscribe((date: any) => this.valueChange.emit(date))\n );\n\n this._store.dispatch(this._actions.changeViewMode(this._config.startView));\n }\n\n ngAfterViewInit(): void {\n this.selectedTimeSub.add(this.selectedTime?.subscribe((val) => {\n if (Array.isArray(val) && val.length >= 1) {\n this.startTimepicker?.writeValue(val[0]);\n }\n }));\n this.startTimepicker?.registerOnChange((val) => {\n this.timeSelectHandler(val, 0);\n });\n }\n\n get isTopPosition(): boolean {\n return this._element.nativeElement.classList.contains('top');\n }\n\n positionServiceEnable(): void {\n this._positionService.enable();\n }\n\n timeSelectHandler(date: Date, index: number) {\n this._store.dispatch(this._actions.selectTime(date, index));\n }\n\n daySelectHandler(day: DayViewModel): void {\n if (!day) {\n return;\n }\n\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 monthSelectHandler(day: CalendarCellViewModel): void {\n if (!day || day.isDisabled) {\n return;\n }\n\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n month: getMonth(day.date),\n year: getFullYear(day.date)\n },\n viewMode: 'day'\n })\n );\n }\n\n yearSelectHandler(day: CalendarCellViewModel): void {\n if (!day || day.isDisabled) {\n return;\n }\n\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n year: getFullYear(day.date)\n },\n viewMode: 'month'\n })\n );\n }\n\n setToday(): void {\n this._store.dispatch(this._actions.select(new Date()));\n }\n\n clearDate(): void {\n this._store.dispatch(this._actions.select(undefined));\n }\n\n ngOnDestroy(): void {\n for (const sub of this._subs) {\n sub.unsubscribe();\n }\n this.selectedTimeSub.unsubscribe();\n this._effects?.destroy();\n }\n}\n","import {\n AfterViewInit,\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 { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { BsDatepickerViewMode, DatepickerDateCustomClasses, DatepickerDateTooltipText } from './models';\nimport { BsDatepickerContainerComponent } from './themes/bs/bs-datepicker-container.component';\nimport { copyTime } from './utils/copy-time-utils';\nimport { checkBsValue, setCurrentTimeOnDateSelect } from './utils/bs-calendar-utils';\n\n@Directive({\n selector: '[bsDatepicker]',\n exportAs: 'bsDatepicker'\n})\nexport class BsDatepickerDirective implements OnInit, OnDestroy, OnChanges, AfterViewInit {\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 */\n @Input() container = 'body';\n\n @Input() outsideEsc = true;\n /**\n * Emits an event when the datepicker is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the datepicker is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n isOpen$: BehaviorSubject<boolean>;\n isDestroy$ = new Subject();\n /**\n * Indicates whether datepicker's content is enabled or not\n */\n @Input() isDisabled = false;\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 * Minimum view mode : day, month, or year\n */\n @Input() minMode?: BsDatepickerViewMode;\n /**\n * Disable Certain days in the week\n */\n @Input() daysDisabled?: number[];\n /**\n * Disable specific dates\n */\n @Input() datesDisabled?: Date[];\n /**\n * Enable specific dates\n */\n @Input() datesEnabled?: Date[];\n /**\n * Date custom classes\n */\n @Input() dateCustomClasses?: DatepickerDateCustomClasses[];\n /**\n * Date tooltip text\n */\n @Input() dateTooltipTexts?: DatepickerDateTooltipText[];\n /**\n * Emits when datepicker value has been changed\n */\n @Output() bsValueChange: EventEmitter<Date> = new EventEmitter();\n protected _subs: Subscription[] = [];\n private _datepicker: ComponentLoader<BsDatepickerContainerComponent>;\n private _datepickerRef?: ComponentRef<BsDatepickerContainerComponent>;\n private readonly _dateInputFormat$ = new Subject<string>();\n\n constructor(public _config: BsDatepickerConfig,\n private _elementRef: ElementRef,\n private _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 this.isOpen$ = new BehaviorSubject(this.isOpen);\n }\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 this.isOpen$.next(value);\n }\n\n _bsValue?: Date;\n\n /**\n * Initial value of datepicker\n */\n @Input()\n set bsValue(value: Date | undefined) {\n if (this._bsValue && value && this._bsValue.getTime() === value.getTime()) {\n return;\n }\n\n if (!this._bsValue && value && !this._config.withTimepicker) {\n const now = new Date();\n copyTime(value, now);\n }\n\n if (value && this.bsConfig?.initCurrentTime) {\n value = setCurrentTimeOnDateSelect(value);\n }\n\n this._bsValue = value;\n this.bsValueChange.emit(value);\n }\n\n get dateInputFormat$(): Observable<string> {\n return this._dateInputFormat$;\n }\n\n /**\n * Config object for datepicker\n */\n @Input() bsConfig?: Partial<BsDatepickerConfig>;\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 (changes.bsConfig) {\n if (changes.bsConfig.currentValue?.initCurrentTime && changes.bsConfig.currentValue?.initCurrentTime !== changes.bsConfig.previousValue?.initCurrentTime && this._bsValue) {\n this._bsValue = setCurrentTimeOnDateSelect(this._bsValue);\n this.bsValueChange.emit(this._bsValue);\n }\n\n this.setConfig();\n this._dateInputFormat$.next(this.bsConfig && this.bsConfig.dateInputFormat);\n }\n\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.datesDisabled) {\n this._datepickerRef.instance.datesDisabled = this.datesDisabled;\n }\n\n if (changes.datesEnabled) {\n this._datepickerRef.instance.datesEnabled = this.datesEnabled;\n }\n\n if (changes.isDisabled) {\n if (this._elementRef?.nativeElement) {\n this._elementRef.nativeElement.setAttribute('readonly', this.isDisabled);\n }\n this._datepickerRef.instance.isDisabled = this.isDisabled;\n }\n\n if (changes.dateCustomClasses) {\n this._datepickerRef.instance.dateCustomClasses = this.dateCustomClasses;\n }\n\n if (changes.dateTooltipTexts) {\n this._datepickerRef.instance.dateTooltipTexts = this.dateTooltipTexts;\n }\n }\n\n ngAfterViewInit(): void {\n this.isOpen$.pipe(\n filter(isOpen => isOpen !== this.isOpen),\n takeUntil(this.isDestroy$)\n )\n .subscribe(() => this.toggle());\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 if (this._datepickerRef) {\n this._datepickerRef.instance.value = value;\n }\n })\n );\n\n // if date changes from picker (view -> model)\n if (this._datepickerRef) {\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 /**\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 if (this._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elementRef.nativeElement).focus();\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: checkBsValue(this._bsValue, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\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 dateCustomClasses: this.dateCustomClasses || this.bsConfig && this.bsConfig.dateCustomClasses,\n dateTooltipTexts: this.dateTooltipTexts || this.bsConfig && this.bsConfig.dateTooltipTexts,\n datesDisabled: this.datesDisabled || this.bsConfig && this.bsConfig.datesDisabled,\n datesEnabled: this.datesEnabled || this.bsConfig && this.bsConfig.datesEnabled,\n minMode: this.minMode || this.bsConfig && this.bsConfig.minMode,\n initCurrentTime: this.bsConfig?.initCurrentTime\n });\n }\n\n ngOnDestroy(): void {\n this._datepicker.dispose();\n this.isOpen$.next(false);\n if (this.isDestroy$) {\n this.isDestroy$.next();\n this.isDestroy$.complete();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BsDatepickerInlineConfig extends BsDatepickerConfig { }\n","import { Component, ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { BsDatepickerContainerComponent } from './bs-datepicker-container.component';\n\nimport { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from '../../reducer/bs-datepicker.store';\n\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { datepickerAnimation } from '../../datepicker-animations';\n\n@Component({\n selector: 'bs-datepicker-inline-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n '(click)': '_stopPropagation($event)'\n },\n animations: [datepickerAnimation]\n})\nexport class BsDatepickerInlineContainerComponent extends BsDatepickerContainerComponent\n implements OnInit, OnDestroy {\n\n constructor(\n _renderer: Renderer2,\n _config: BsDatepickerConfig,\n _store: BsDatepickerStore,\n _element: ElementRef,\n _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects,\n _positioningService: PositioningService\n ) {\n super(_renderer, _config, _store, _element, _actions, _effects, _positioningService);\n\n _renderer.setStyle(_element.nativeElement, 'display', 'inline-block');\n _renderer.setStyle(_element.nativeElement, 'position', 'static');\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';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nimport { Subscription } from 'rxjs';\nimport { BsDatepickerInlineConfig } from './bs-datepicker-inline.config';\n\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { DatepickerDateCustomClasses, DatepickerDateTooltipText } from './models';\nimport { BsDatepickerInlineContainerComponent } from './themes/bs/bs-datepicker-inline-container.component';\nimport { copyTime } from './utils/copy-time-utils';\nimport { checkBsValue, setCurrentTimeOnDateSelect } from './utils/bs-calendar-utils';\n\n@Directive({\n selector: 'bs-datepicker-inline',\n exportAs: 'bsDatepickerInline'\n})\nexport class BsDatepickerInlineDirective implements OnInit, OnDestroy, OnChanges {\n /**\n * Config object for datepicker\n */\n @Input() bsConfig?: Partial<BsDatepickerInlineConfig>;\n /**\n * Indicates whether datepicker is enabled or not\n */\n @Input() isDisabled = false;\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 * Date custom classes\n */\n @Input() dateCustomClasses?: DatepickerDateCustomClasses[];\n /**\n * Date tooltip text\n */\n @Input() dateTooltipTexts?: DatepickerDateTooltipText[];\n /**\n * Disable specific dates\n */\n @Input() datesEnabled?: Date[];\n /**\n * Enable specific dates\n */\n @Input() datesDisabled?: Date[];\n /**\n * Emits when datepicker value has been changed\n */\n @Output() bsValueChange: EventEmitter<Date> = new EventEmitter();\n protected _subs: Subscription[] = [];\n private readonly _datepicker: ComponentLoader<BsDatepickerInlineContainerComponent>;\n private _datepickerRef?: ComponentRef<BsDatepickerInlineContainerComponent>;\n\n constructor(\n public _config: BsDatepickerInlineConfig,\n private _elementRef: ElementRef,\n _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory\n ) {\n // todo: assign only subset of fields\n Object.assign(this, this._config);\n this._datepicker = cis.createLoader<BsDatepickerInlineContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n );\n }\n\n _bsValue?: Date;\n\n /**\n * Initial value of datepicker\n */\n @Input()\n set bsValue(value: Date | undefined) {\n if (this._bsValue === value) {\n return;\n }\n\n if (!this._bsValue && value && !this._config.withTimepicker) {\n const now = new Date();\n copyTime(value, now);\n }\n\n if (value && this.bsConfig?.initCurrentTime) {\n value = setCurrentTimeOnDateSelect(value);\n }\n\n this._bsValue = value;\n this.bsValueChange.emit(value);\n }\n\n ngOnInit(): void {\n this.setConfig();\n\n // if date changes from external source (model -> view)\n this._subs.push(\n this.bsValueChange.subscribe((value: Date) => {\n if (this._datepickerRef) {\n this._datepickerRef.instance.value = value;\n }\n })\n );\n\n // if date changes from picker (view -> model)\n if (this._datepickerRef) {\n this._subs.push(\n this._datepickerRef.instance.valueChange.subscribe((value: Date) => {\n this.bsValue = value;\n })\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.bsConfig) {\n if (changes.bsConfig.currentValue?.initCurrentTime && changes.bsConfig.currentValue?.initCurrentTime !== changes.bsConfig.previousValue?.initCurrentTime && this._bsValue) {\n this._bsValue = setCurrentTimeOnDateSelect(this._bsValue);\n this.bsValueChange.emit(this._bsValue);\n }\n }\n\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.datesDisabled) {\n this._datepickerRef.instance.datesDisabled = this.datesDisabled;\n }\n\n if (changes.datesEnabled) {\n this._datepickerRef.instance.datesEnabled = this.datesEnabled;\n this._datepickerRef.instance.value = this._bsValue;\n }\n\n if (changes.isDisabled) {\n this._datepickerRef.instance.isDisabled = this.isDisabled;\n }\n\n if (changes.dateCustomClasses) {\n this._datepickerRef.instance.dateCustomClasses = this.dateCustomClasses;\n }\n\n if (changes.dateTooltipTexts) {\n this._datepickerRef.instance.dateTooltipTexts = this.dateTooltipTexts;\n }\n\n this.setConfig();\n }\n\n /**\n * Set config for datepicker\n */\n setConfig(): void {\n if (this._datepicker) {\n this._datepicker.hide();\n }\n\n this._config = Object.assign({}, this._config, this.bsConfig, {\n value: checkBsValue(this._bsValue, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\n isDisabled: this.isDisabled,\n minDate: this.minDate || this.bsConfig && this.bsConfig.minDate,\n maxDate: this.maxDate || this.bsConfig && this.bsConfig.maxDate,\n dateCustomClasses: this.dateCustomClasses || this.bsConfig && this.bsConfig.dateCustomClasses,\n dateTooltipTexts: this.dateTooltipTexts || this.bsConfig && this.bsConfig.dateTooltipTexts,\n datesDisabled: this.datesDisabled || this.bsConfig && this.bsConfig.datesDisabled,\n datesEnabled: this.datesEnabled || this.bsConfig && this.bsConfig.datesEnabled,\n initCurrentTime: this.bsConfig?.initCurrentTime\n });\n\n\n this._datepickerRef = this._datepicker\n .provide({ provide: BsDatepickerConfig, useValue: this._config })\n .attach(BsDatepickerInlineContainerComponent)\n .to(this._elementRef)\n .show();\n }\n\n ngOnDestroy() {\n this._datepicker.dispose();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BsDaterangepickerInlineConfig extends BsDatepickerConfig {\n // DatepickerRenderOptions\n displayMonths = 2;\n /** turn on/off animation */\n isAnimated = false;\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild\n} from '@angular/core';\n\nimport { take } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\nimport { getFullYear, getMonth } from 'ngx-bootstrap/chronos';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TimepickerComponent } from 'ngx-bootstrap/timepicker';\n\nimport { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { CalendarCellViewModel, 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 { datepickerAnimation } from '../../datepicker-animations';\nimport { BsCustomDates } from './bs-custom-dates-view.component';\nimport { dayInMilliseconds } from '../../reducer/_defaults';\n\n@Component({\n selector: 'bs-daterangepicker-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n class: 'bottom',\n '(click)': '_stopPropagation($event)',\n role: 'dialog',\n 'aria-label': 'calendar'\n },\n animations: [datepickerAnimation]\n})\nexport class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent\n implements OnInit, OnDestroy, AfterViewInit {\n\n set value(value: (Date|undefined)[] | undefined) {\n this._effects?.setRangeValue(value);\n }\n\n valueChange = new EventEmitter<Date[]>();\n animationState = 'void';\n\n _rangeStack: Date[] = [];\n chosenRange: Date[] = [];\n _subs: Subscription[] = [];\n isRangePicker = true;\n\n @ViewChild('startTP') startTimepicker?: TimepickerComponent;\n @ViewChild('endTP') endTimepicker?: TimepickerComponent;\n\n constructor(\n _renderer: Renderer2,\n private _config: BsDatepickerConfig,\n private _store: BsDatepickerStore,\n private _element: ElementRef,\n private _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects,\n private _positionService: PositioningService\n ) {\n super();\n this._effects = _effects;\n\n this.customRanges = this._config.ranges || [];\n this.customRangeBtnLbl = this._config.customRangeButtonLabel;\n\n _renderer.setStyle(_element.nativeElement, 'display', 'block');\n _renderer.setStyle(_element.nativeElement, 'position', 'absolute');\n }\n\n ngOnInit(): void {\n this._positionService.setOptions({\n modifiers: { flip: { enabled: this._config.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._positionService.event$?.pipe(take(1))\n .subscribe(() => {\n this._positionService.disable();\n\n if (this._config.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n\n return;\n }\n\n this.animationState = 'unanimated';\n });\n this.containerClass = this._config.containerClass;\n this.isOtherMonthsActive = this._config.selectFromOtherMonth;\n this.withTimepicker = this._config.withTimepicker;\n this._effects?.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(dateRange => {\n this.valueChange.emit(dateRange);\n this.chosenRange = dateRange || [];\n })\n );\n }\n\n ngAfterViewInit(): void {\n this.selectedTimeSub.add(this.selectedTime?.subscribe((val) => {\n if (Array.isArray(val) && val.length >= 2) {\n this.startTimepicker?.writeValue(val[0]);\n this.endTimepicker?.writeValue(val[1]);\n }\n }));\n this.startTimepicker?.registerOnChange((val) => {\n this.timeSelectHandler(val, 0);\n });\n this.endTimepicker?.registerOnChange((val) => {\n this.timeSelectHandler(val, 1);\n });\n }\n\n get isTopPosition(): boolean {\n return this._element.nativeElement.classList.contains('top');\n }\n\n positionServiceEnable(): void {\n this._positionService.enable();\n }\n\n timeSelectHandler(date: Date, index: number): void {\n this._store.dispatch(this._actions.selectTime(date, index));\n }\n\n daySelectHandler(day: DayViewModel): void {\n if (!day) {\n return;\n }\n const isDisabled = this.isOtherMonthsActive ? day.isDisabled : (day.isOtherMonth || day.isDisabled);\n\n if (isDisabled) {\n return;\n }\n this.rangesProcessing(day);\n }\n\n monthSelectHandler(day: CalendarCellViewModel): void {\n if (!day || day.isDisabled) {\n return;\n }\n\n day.isSelected = true;\n\n if (this._config.minMode !== 'month') {\n if (day.isDisabled) {\n return;\n }\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n month: getMonth(day.date),\n year: getFullYear(day.date)\n },\n viewMode: 'day'\n })\n );\n\n return;\n }\n this.rangesProcessing(day);\n }\n\n yearSelectHandler(day: CalendarCellViewModel): void {\n if (!day || day.isDisabled) {\n return;\n }\n\n day.isSelected = true;\n\n if (this._config.minMode !== 'year') {\n if (day.isDisabled) {\n return;\n }\n this._store.dispatch(\n this._actions.navigateTo({\n unit: {\n year: getFullYear(day.date)\n },\n viewMode: 'month'\n })\n );\n\n return;\n }\n this.rangesProcessing(day);\n }\n\n rangesProcessing(day: CalendarCellViewModel): void {\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\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._config.maxDateRange) {\n this.setMaxDateRangeOnCalendar(day.date);\n }\n\n if (this._rangeStack.length === 0) {\n this._rangeStack = [day.date];\n\n if (this._config.maxDateRange) {\n this.setMaxDateRangeOnCalendar(day.date);\n }\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.selectedTimeSub.unsubscribe();\n this._effects?.destroy();\n }\n\n setRangeOnCalendar(dates: BsCustomDates): void {\n if (dates) {\n this._rangeStack = dates.value instanceof Date ? [dates.value] : dates.value;\n }\n this._store.dispatch(this._actions.selectRange(this._rangeStack));\n }\n\n setMaxDateRangeOnCalendar(currentSelection: Date): void {\n let maxDateRange = new Date(currentSelection);\n\n if (this._config.maxDate) {\n const maxDateValueInMilliseconds = this._config.maxDate.getTime();\n const maxDateRangeInMilliseconds = currentSelection.getTime() + ((this._config.maxDateRange || 0) * dayInMilliseconds );\n maxDateRange = maxDateRangeInMilliseconds > maxDateValueInMilliseconds ?\n new Date(this._config.maxDate) :\n new Date(maxDateRangeInMilliseconds);\n } else {\n maxDateRange.setDate(currentSelection.getDate() + (this._config.maxDateRange || 0));\n }\n\n this._effects?.setMaxDate(maxDateRange);\n }\n}\n","import { OnInit, OnDestroy, ElementRef, Component, Renderer2 } from '@angular/core';\nimport { BsDaterangepickerContainerComponent } from './bs-daterangepicker-container.component';\n\nimport { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';\nimport { BsDatepickerConfig } from '../../bs-datepicker.config';\nimport { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';\nimport { BsDatepickerStore } from '../../reducer/bs-datepicker.store';\n\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { datepickerAnimation } from '../../datepicker-animations';\n\n@Component({\n selector: 'bs-daterangepicker-inline-container',\n providers: [BsDatepickerStore, BsDatepickerEffects],\n templateUrl: './bs-datepicker-view.html',\n host: {\n '(click)': '_stopPropagation($event)'\n },\n animations: [datepickerAnimation]\n})\nexport class BsDaterangepickerInlineContainerComponent extends BsDaterangepickerContainerComponent\n implements OnInit, OnDestroy {\n\n constructor(\n _renderer: Renderer2,\n _config: BsDatepickerConfig,\n _store: BsDatepickerStore,\n _element: ElementRef,\n _actions: BsDatepickerActions,\n _effects: BsDatepickerEffects,\n _positioningService: PositioningService\n ) {\n super(_renderer, _config, _store, _element, _actions, _effects, _positioningService);\n\n _renderer.setStyle(_element.nativeElement, 'display', 'inline-block');\n _renderer.setStyle(_element.nativeElement, 'position', 'static');\n }\n}\n","import {\n ComponentRef, Directive, ElementRef, EventEmitter, Input, OnChanges,\n OnDestroy, OnInit, Output, Renderer2, SimpleChanges, ViewContainerRef\n} from '@angular/core';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { BsDaterangepickerInlineConfig } from './bs-daterangepicker-inline.config';\nimport { BsDaterangepickerInlineContainerComponent } from './themes/bs/bs-daterangepicker-inline-container.component';\nimport { DatepickerDateCustomClasses } from './models';\nimport {\n checkBsValue,\n checkRangesWithMaxDate,\n setDateRangesCurrentTimeOnDateSelect\n} from './utils/bs-calendar-utils';\n\n@Directive({\n selector: 'bs-daterangepicker-inline',\n exportAs: 'bsDaterangepickerInline'\n})\nexport class BsDaterangepickerInlineDirective implements OnInit, OnDestroy, OnChanges {\n _bsValue?: (Date|undefined)[] | undefined;\n /**\n * Initial value of datepicker\n */\n @Input()\n set bsValue(value: (Date|undefined)[] | undefined) {\n if (this._bsValue === value) {\n return;\n }\n\n if (value && this.bsConfig?.initCurrentTime) {\n value = setDateRangesCurrentTimeOnDateSelect(value);\n }\n\n this._bsValue = value;\n this.bsValueChange.emit(value);\n }\n\n /**\n * Config object for datepicker\n */\n @Input() bsConfig?: Partial<BsDaterangepickerInlineConfig>;\n /**\n * Indicates whether datepicker is enabled or not\n */\n @Input() isDisabled = false;\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 * Date custom classes\n */\n @Input() dateCustomClasses?: DatepickerDateCustomClasses[];\n /**\n * Disable specific days, e.g. [0,6] will disable all Saturdays and Sundays\n */\n @Input() daysDisabled?: number[];\n /**\n * Disable specific dates\n */\n @Input() datesDisabled?: Date[];\n /**\n * Disable specific dates\n */\n @Input() datesEnabled?: Date[];\n /**\n * Emits when daterangepicker value has been changed\n */\n @Output() bsValueChange: EventEmitter<(Date|undefined)[] | undefined> = new EventEmitter();\n\n protected _subs: Subscription[] = [];\n\n private readonly _datepicker: ComponentLoader<BsDaterangepickerInlineContainerComponent>;\n private _datepickerRef?: ComponentRef<BsDaterangepickerInlineContainerComponent>;\n\n constructor(\n public _config: BsDaterangepickerInlineConfig,\n private _elementRef: ElementRef,\n _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory\n ) {\n // todo: assign only subset of fields\n Object.assign(this, this._config);\n this._datepicker = cis.createLoader<BsDaterangepickerInlineContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n );\n }\n\n ngOnInit(): void {\n this.setConfig();\n\n // if date changes from external source (model -> view)\n this._subs.push(\n this.bsValueChange.subscribe((value: Date[]) => {\n if (this._datepickerRef) {\n this._datepickerRef.instance.value = value;\n }\n })\n );\n\n // if date changes from picker (view -> model)\n if (this._datepickerRef) {\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 })\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.bsConfig) {\n if (changes.bsConfig.currentValue.initCurrentTime && changes.bsConfig.currentValue.initCurrentTime !== changes.bsConfig.previousValue.initCurrentTime && this._bsValue) {\n this._bsValue = setDateRangesCurrentTimeOnDateSelect(this._bsValue);\n this.bsValueChange.emit(this._bsValue);\n }\n }\n\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.datesEnabled) {\n this._datepickerRef.instance.datesEnabled = this.datesEnabled;\n this._datepickerRef.instance.value = this._bsValue;\n }\n\n if (changes.datesDisabled) {\n this._datepickerRef.instance.datesDisabled = this.datesDisabled;\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 if (changes.dateCustomClasses) {\n this._datepickerRef.instance.dateCustomClasses = this.dateCustomClasses;\n }\n\n this.setConfig();\n }\n\n /**\n * Set config for datepicker\n */\n setConfig(): void {\n if (this._datepicker) {\n this._datepicker.hide();\n }\n\n this._config = Object.assign({}, this._config, this.bsConfig, {\n value: checkBsValue(this._bsValue, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\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 dateCustomClasses: this.dateCustomClasses || this.bsConfig && this.bsConfig.dateCustomClasses,\n datesDisabled: this.datesDisabled || this.bsConfig && this.bsConfig.datesDisabled,\n datesEnabled: this.datesEnabled || this.bsConfig && this.bsConfig.datesEnabled,\n ranges: checkRangesWithMaxDate(this.bsConfig && this.bsConfig.ranges, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\n maxDateRange: this.bsConfig && this.bsConfig.maxDateRange,\n initCurrentTime: this.bsConfig?.initCurrentTime\n });\n\n this._datepickerRef = this._datepicker\n .provide({provide: BsDatepickerConfig, useValue: this._config})\n .attach(BsDaterangepickerInlineContainerComponent)\n .to(this._elementRef)\n .show();\n }\n\n ngOnDestroy() {\n this._datepicker.dispose();\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n OnDestroy,\n OnInit,\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 formatDate,\n getLocale,\n isAfter,\n isBefore,\n isDate,\n isDateValid,\n parseDate,\n utcAsLocal\n} from 'ngx-bootstrap/chronos';\n\nimport { BsDatepickerDirective } from './bs-datepicker.component';\nimport { BsLocaleService } from './bs-locale.service';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nconst BS_DATEPICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsDatepickerInputDirective),\n multi: true\n};\n\nconst BS_DATEPICKER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => BsDatepickerInputDirective),\n multi: true\n};\n\n@Directive({\n selector: `input[bsDatepicker]`,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '(change)': 'onChange($event)',\n '(keyup.esc)': 'hide()',\n '(keydown)': 'onKeydownEvent($event)',\n '(blur)': 'onBlur()'\n },\n providers: [BS_DATEPICKER_VALUE_ACCESSOR, BS_DATEPICKER_VALIDATOR]\n})\nexport class BsDatepickerInputDirective\n implements ControlValueAccessor, Validator, OnInit, OnDestroy {\n private _onChange = Function.prototype;\n private _onTouched = Function.prototype;\n private _validatorChange = Function.prototype;\n private _value?: Date;\n private _subs = new Subscription();\n\n constructor(@Host() private _picker: BsDatepickerDirective,\n private _localeService: BsLocaleService,\n private _renderer: Renderer2,\n private _elRef: ElementRef,\n private changeDetection: ChangeDetectorRef) {}\n\n ngOnInit() {\n const setBsValue = (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 // if value set via [bsValue] it will not get into value change\n if (this._picker._bsValue) {\n setBsValue(this._picker._bsValue);\n }\n\n // update input value on datepicker value update\n this._subs.add(\n this._picker.bsValueChange.subscribe(setBsValue)\n );\n\n // update input value on locale change\n this._subs.add(\n this._localeService.localeChange.subscribe(() => {\n this._setInputValue(this._value);\n })\n );\n\n this._subs.add(\n this._picker.dateInputFormat$.pipe(distinctUntilChanged()).subscribe(() => {\n this._setInputValue(this._value);\n })\n );\n}\n\n ngOnDestroy() {\n this._subs.unsubscribe();\n }\n\n onKeydownEvent(event: KeyboardEvent): void {\n if (event.keyCode === 13 || event.code === 'Enter') {\n this.hide();\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.writeValue((event.target as any).value);\n this._onChange(this._value);\n if (this._picker._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elRef.nativeElement).focus();\n }\n this._onTouched();\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const _value: Date | string = c.value;\n\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 this.writeValue(this._picker.minDate);\n\n return { bsDate: { minDate: this._picker.minDate } };\n }\n\n if (this._picker && this._picker.maxDate && isAfter(_value, this._picker.maxDate, 'date')) {\n this.writeValue(this._picker.maxDate);\n\n return { bsDate: { maxDate: this._picker.maxDate } };\n }\n }\n\n return null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n\n writeValue(value: Date | string) {\n if (!value) {\n this._value = void 0;\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 this._value = parseDate(value, this._picker._config.dateInputFormat, this._localeService.currentLocale);\n\n if (this._picker._config.useUtc) {\n this._value = utcAsLocal(this._value);\n }\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 if (this._picker._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elRef.nativeElement).focus();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BsDaterangepickerConfig extends BsDatepickerConfig {\n // DatepickerRenderOptions\n displayMonths = 2;\n}\n","import { AfterViewInit, ComponentRef,\n Directive, ElementRef, EventEmitter,\n Input, OnChanges, OnDestroy, OnInit,\n Output, Renderer2, SimpleChanges,\n ViewContainerRef\n} from '@angular/core';\nimport { BsDaterangepickerConfig } from './bs-daterangepicker.config';\nimport { BsDaterangepickerContainerComponent } from './themes/bs/bs-daterangepicker-container.component';\nimport { Observable, Subscription, Subject, BehaviorSubject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ComponentLoaderFactory, ComponentLoader } from 'ngx-bootstrap/component-loader';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { DatepickerDateCustomClasses } from './models';\nimport {\n checkBsValue,\n checkRangesWithMaxDate,\n setDateRangesCurrentTimeOnDateSelect\n} from './utils/bs-calendar-utils';\n\n@Directive({\n selector: '[bsDaterangepicker]',\n exportAs: 'bsDaterangepicker'\n})\nexport class BsDaterangepickerDirective\n implements OnInit, OnDestroy, OnChanges, AfterViewInit {\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 to.\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 this.isOpen$.next(value);\n }\n\n /**\n * Emits an event when the daterangepicker is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the daterangepicker is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n _bsValue?: (Date|undefined)[];\n isOpen$: BehaviorSubject<boolean>;\n isDestroy$ = new Subject();\n\n /**\n * Initial value of daterangepicker\n */\n @Input()\n set bsValue(value: (Date|undefined)[] | undefined) {\n if (this._bsValue === value) {\n return;\n }\n\n if (value && this.bsConfig?.initCurrentTime) {\n value = setDateRangesCurrentTimeOnDateSelect(value);\n }\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 = false;\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 * Date custom classes\n */\n @Input() dateCustomClasses?: DatepickerDateCustomClasses[];\n /**\n * Disable specific days, e.g. [0,6] will disable all Saturdays and Sundays\n */\n @Input() daysDisabled?: number[];\n /**\n * Disable specific dates\n */\n @Input() datesDisabled?: Date[];\n\n /**\n * Enable specific dates\n */\n @Input() datesEnabled?: Date[];\n /**\n * Emits when daterangepicker value has been changed\n */\n @Output() bsValueChange = new EventEmitter<((Date|undefined)[]|undefined)>();\n\n get rangeInputFormat$(): Observable<string> {\n return this._rangeInputFormat$;\n }\n\n protected _subs: Subscription[] = [];\n private _datepicker: ComponentLoader<BsDaterangepickerContainerComponent>;\n private _datepickerRef?: ComponentRef<BsDaterangepickerContainerComponent>;\n private readonly _rangeInputFormat$ = new Subject<string>();\n\n constructor(public _config: BsDaterangepickerConfig,\n private _elementRef: ElementRef,\n private _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 this.isOpen$ = new BehaviorSubject(this.isOpen);\n }\n\n ngOnInit(): void {\n this.isDestroy$ = new Subject();\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 (changes.bsConfig) {\n if (changes.bsConfig.currentValue?.initCurrentTime && changes.bsConfig.currentValue?.initCurrentTime !== changes.bsConfig.previousValue?.initCurrentTime && this._bsValue) {\n this._bsValue = setDateRangesCurrentTimeOnDateSelect(this._bsValue);\n this.bsValueChange.emit(this._bsValue);\n }\n\n this.setConfig();\n this._rangeInputFormat$.next(changes.bsConfig.currentValue && changes.bsConfig.currentValue.rangeInputFormat);\n }\n\n\n if (!this._datepickerRef || !this._datepickerRef.instance) {\n return;\n }\n if (changes.minDate) {\n this._datepickerRef.instance.minDate = this.minDate;\n }\n if (changes.maxDate) {\n this._datepickerRef.instance.maxDate = this.maxDate;\n }\n if (changes.datesDisabled) {\n this._datepickerRef.instance.datesDisabled = this.datesDisabled;\n }\n if (changes.datesEnabled) {\n this._datepickerRef.instance.datesEnabled = this.datesEnabled;\n }\n if (changes.daysDisabled) {\n this._datepickerRef.instance.daysDisabled = this.daysDisabled;\n }\n if (changes.isDisabled) {\n if (this._elementRef?.nativeElement) {\n this._elementRef.nativeElement.setAttribute('readonly', this.isDisabled);\n }\n this._datepickerRef.instance.isDisabled = this.isDisabled;\n }\n if (changes.dateCustomClasses) {\n this._datepickerRef.instance.dateCustomClasses = this.dateCustomClasses;\n }\n }\n\n ngAfterViewInit(): void {\n this.isOpen$.pipe(\n filter(isOpen => isOpen !== this.isOpen),\n takeUntil(this.isDestroy$)\n )\n .subscribe(() => this.toggle());\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 if (this._datepickerRef) {\n this._datepickerRef.instance.value = value;\n }\n })\n );\n\n // if date changes from picker (view -> model)\n if (this._datepickerRef) {\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 /**\n * Set config for daterangepicker\n */\n setConfig() {\n this._config = Object.assign(\n {},\n this._config,\n this.bsConfig,\n {\n value: checkBsValue(this._bsValue, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\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 dateCustomClasses: this.dateCustomClasses || this.bsConfig && this.bsConfig.dateCustomClasses,\n datesDisabled: this.datesDisabled || this.bsConfig && this.bsConfig.datesDisabled,\n datesEnabled: this.datesEnabled || this.bsConfig && this.bsConfig.datesEnabled,\n ranges: checkRangesWithMaxDate(this.bsConfig && this.bsConfig.ranges, this.maxDate || this.bsConfig && this.bsConfig.maxDate),\n maxDateRange: this.bsConfig && this.bsConfig.maxDateRange,\n initCurrentTime: this.bsConfig?.initCurrentTime\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 if (this._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elementRef.nativeElement).focus();\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 this.isOpen$.next(false);\n if (this.isDestroy$) {\n this.isDestroy$.next();\n this.isDestroy$.complete();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n OnDestroy,\n OnInit,\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 isArray,\n isDateValid,\n utcAsLocal\n} from 'ngx-bootstrap/chronos';\n\nimport { BsDaterangepickerDirective } from './bs-daterangepicker.component';\nimport { BsLocaleService } from './bs-locale.service';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nconst BS_DATERANGEPICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsDaterangepickerInputDirective),\n multi: true\n};\n\nconst BS_DATERANGEPICKER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => BsDaterangepickerInputDirective),\n multi: true\n};\n\n\n@Directive({\n selector: `input[bsDaterangepicker]`,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '(change)': 'onChange($event)',\n '(keyup.esc)': 'hide()',\n '(keydown)': 'onKeydownEvent($event)',\n '(blur)': 'onBlur()'\n },\n providers: [BS_DATERANGEPICKER_VALUE_ACCESSOR, BS_DATERANGEPICKER_VALIDATOR]\n})\nexport class BsDaterangepickerInputDirective\n implements ControlValueAccessor, Validator, OnInit, OnDestroy {\n private _onChange = Function.prototype;\n private _onTouched = Function.prototype;\n private _validatorChange = Function.prototype;\n private _value?: (Date|undefined)[];\n private _subs = new Subscription();\n\n constructor(@Host() private _picker: BsDaterangepickerDirective,\n private _localeService: BsLocaleService,\n private _renderer: Renderer2,\n private _elRef: ElementRef,\n private changeDetection: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n const setBsValue = (value: (Date|undefined)[]) => {\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 // if value set via [bsValue] it will not get into value change\n if (this._picker._bsValue) {\n setBsValue(this._picker._bsValue);\n }\n\n // update input value on datepicker value update\n this._subs.add(\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._subs.add(this._localeService.localeChange.subscribe(() => {\n this._setInputValue(this._value);\n }));\n\n this._subs.add(\n // update input value on format change\n this._picker.rangeInputFormat$.pipe(distinctUntilChanged()).subscribe(() => {\n this._setInputValue(this._value);\n }));\n }\n\n ngOnDestroy() {\n this._subs.unsubscribe();\n }\n\n onKeydownEvent(event: KeyboardEvent) {\n if (event.keyCode === 13 || event.code === 'Enter') {\n this.hide();\n }\n }\n\n _setInputValue(date?: (Date|undefined)[]): 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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.writeValue((event.target as any).value);\n this._onChange(this._value);\n if (this._picker._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elRef.nativeElement).focus();\n }\n this._onTouched();\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n let _value: [Date, Date] = c.value;\n const errors: Record<string, unknown>[] = [];\n\n if (_value === null || _value === undefined || !isArray(_value)) {\n return null;\n }\n\n _value = _value.slice().sort((a, b) => a.getTime() - b.getTime()) as [Date, Date];\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 _value[0] = this._picker.minDate;\n errors.push({ bsDate: { minDate: this._picker.minDate } });\n }\n\n if (this._picker && this._picker.maxDate && isAfter(_value[1], this._picker.maxDate, 'date')) {\n _value[1] = this._picker.maxDate;\n errors.push({ bsDate: { maxDate: this._picker.maxDate } });\n }\n if (errors.length > 0) {\n this.writeValue(_value);\n\n return errors;\n }\n\n return null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChange = fn;\n }\n\n writeValue(value: Date[] | string) {\n if (!value) {\n this._value = void 0;\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 const trimmedSeparator = this._picker._config.rangeSeparator.trim();\n if (value.replace(/[^-]/g, '').length > 1) {\n _input = value.split(this._picker._config.rangeSeparator);\n } else {\n _input = value\n .split(trimmedSeparator.length > 0 ? trimmedSeparator : this._picker._config.rangeSeparator)\n .map(_val => _val.trim());\n }\n }\n\n if (Array.isArray(value)) {\n _input = value;\n }\n\n this._value = _input\n .map((_val: string | Date): Date => {\n if (this._picker._config.useUtc) {\n return utcAsLocal(\n parseDate(_val, this._picker._config.rangeInputFormat, this._localeService.currentLocale)\n );\n }\n\n return parseDate(_val, this._picker._config.rangeInputFormat, this._localeService.currentLocale);\n }\n )\n .map((date: Date) => (isNaN(date.valueOf()) ? void 0 : 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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: () => void): void {\n this._onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-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 if (this._picker._config.returnFocusToInput) {\n this._renderer.selectRootElement(this._elRef.nativeElement).focus();\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","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\n\nimport { DateFormatter } from './date-formatter';\n\ntype CompareDatesFn = (date1: Date, date2: Date) => number;\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 = 0;\n @Input() yearColLimit = 0;\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 stepDay = {};\n stepMonth = {};\n stepYear = {};\n\n uniqueId?: string;\n\n protected modes: string[] = ['day', 'month', 'year'];\n protected dateFormatter: DateFormatter = new DateFormatter();\n protected selectedDate?: Date;\n protected activeDateId?: string;\n protected refreshViewHandlerDay?: () => void;\n protected compareHandlerDay?: CompareDatesFn;\n protected refreshViewHandlerMonth?: () => void;\n protected compareHandlerMonth?: CompareDatesFn;\n protected refreshViewHandlerYear?: () => void;\n protected compareHandlerYear?: CompareDatesFn;\n\n protected _activeDate?: Date;\n\n @Input()\n get activeDate(): Date|undefined {\n return this._activeDate;\n }\n\n set activeDate(value: Date|undefined) {\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 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 // eslint-disable-next-line @typescript-eslint/no-explicit-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: CompareDatesFn, 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: () => void, 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 // eslint-disable-next-line @typescript-eslint/no-explicit-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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n createDateObject(date: Date, format: string): any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n split(arr: any[], size: number): any[] {\n // eslint-disable-next-line @typescript-eslint/no-explicit-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 && this.datepickerMode) {\n this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) - 1];\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 // eslint-disable-next-line @typescript-eslint/no-explicit-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 && this.activeDate) {\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 if (this.datepickerMode) {\n this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) + direction];\n }\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } | undefined) = 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 | undefined {\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 if (isDateDisabled) {\n return isDateDisabled;\n }\n\n const minDate = Number(this.minDate && this.compare(date, this.minDate));\n if (!isNaN(minDate)) {\n return minDate < 0;\n }\n\n const maxDate = Number(this.maxDate && this.compare(date, this.maxDate));\n if (!isNaN(maxDate)) {\n return maxDate > 0;\n }\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\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 useExisting: forwardRef(() => DatePickerComponent),\n multi: true\n};\n\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})\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 = 3;\n /** number of years displayed in a single row of year picker */\n @Input() yearColLimit = 5;\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|undefined {\n return this._activeDate || this._now;\n }\n\n set activeDate(value: Date|undefined) {\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, { static: true })\n _datePicker?: DatePickerInnerComponent;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange: any = Function.prototype;\n // eslint-disable-next-line @typescript-eslint/no-explicit-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 // eslint-disable-next-line @typescript-eslint/no-explicit-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\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: {abbr?: unknown, full?: unknown}[] = [];\n title?: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n\n this.datePicker.stepDay = { months: 1 };\n\n // todo valorkin fix\n this.datePicker.setRefreshViewHandler(function(): void {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const year = that.activeDate.getFullYear();\n const month = that.activeDate.getMonth();\n const firstDayOfMonth = new Date(year, month, 1);\n const difference = that.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 = [];\n for (let i = 0; i < 42; i++) {\n const _dateObject = that.createDateObject(_days[i], that.formatDay);\n _dateObject.secondary = _days[i].getMonth() !== month;\n _dateObject.uid = that.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 = that.dateFilter(\n days[j].date,\n that.formatDayHeader\n );\n self.labels[j].full = that.dateFilter(days[j].date, 'EEEE');\n }\n\n self.title = that.dateFilter(that.activeDate, that.formatDayTitle);\n self.rows = that.split(days, 7);\n\n if (that.showWeeks) {\n self.weekNumbers = [];\n const thursdayIndex = (4 + 7 - that.startingDay) % 7;\n const numWeeks = self.rows.length;\n for (let curWeek = 0; curWeek < numWeeks; curWeek++) {\n const _date = self.rows[curWeek][thursdayIndex].date;\n if (_date) {\n self.weekNumbers.push(self.getISO8601WeekNumber(_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\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 = [];\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 // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n\n this.datePicker.stepMonth = { years: 1 };\n\n this.datePicker.setRefreshViewHandler(function(): void {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const months = new Array(12);\n const year: number = that.activeDate.getFullYear();\n let date: Date;\n\n for (let i = 0; i < 12; i++) {\n date = new Date(year, i, 1);\n date = that.fixTimeZone(date);\n months[i] = that.createDateObject(date, that.formatMonth);\n months[i].uid = that.uniqueId + '-' + i;\n }\n\n self.title = that.dateFilter(that.activeDate, that.formatMonthTitle);\n self.rows = that.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\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'>‹\n </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'\n 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'>›\n </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\n [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 = [];\n\n constructor(datePicker: DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n ngOnInit(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n\n this.datePicker.stepYear = { years: this.datePicker.yearRange };\n\n this.datePicker.setRefreshViewHandler(function(): void {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const years = new Array(that.yearRange);\n let date: Date;\n const start = self.getStartingYear(that.activeDate.getFullYear()) || 0;\n\n for (let i = 0; i < that.yearRange; i++) {\n date = new Date(start + i, 0, 1);\n date = that.fixTimeZone(date);\n years[i] = that.createDateObject(date, that.formatYear);\n years[i].uid = that.uniqueId + '-' + i;\n }\n\n self.title = [years[0].label, years[that.yearRange - 1].label].join(\n ' - '\n );\n self.rows = that.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 | undefined {\n // todo: parseInt\n if (this.datePicker && this.datePicker.yearRange) {\n return (\n (year - 1) / this.datePicker.yearRange * this.datePicker.yearRange + 1\n );\n }\n return undefined;\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, Output, EventEmitter } 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\"\n type=\"button\"\n class=\"btn\"\n (click)=\"selectFromRanges(range)\"\n [class.selected]=\"range.value === selectedRange\">\n {{ range.label }}\n </button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BsCustomDatesViewComponent {\n @Input() ranges?: BsCustomDates[];\n @Input() selectedRange?: Date[];\n @Input() customRangeLabel?: string;\n @Output() onSelect = new EventEmitter<BsCustomDates>();\n\n selectFromRanges(range?: BsCustomDates) {\n this.onSelect.emit(range);\n }\n}\n","import { TimeUnit } from 'ngx-bootstrap/chronos';\n\nexport type BsDatepickerViewMode = 'day' | 'month' | 'year';\n\n/** *************** */\n// navigation bar settings\nexport interface NavigationViewModel {\n monthTitle: string;\n yearTitle: string;\n hideLeftArrow: boolean;\n hideRightArrow: boolean;\n disableLeftArrow: boolean;\n disableRightArrow: boolean;\n}\n\nexport interface CalendarCellViewModel {\n date: Date;\n label: string;\n isDisabled?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n}\n\n/** *************** */\n// days matrix: day cell view model\nexport interface DayViewModel extends CalendarCellViewModel {\n isOtherMonthHovered?: boolean;\n isOtherMonth?: boolean;\n isInRange?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isToday?: boolean;\n customClasses?: string;\n tooltipText?: string;\n // day index\n monthIndex?: number;\n weekIndex?: number;\n dayIndex?: number;\n}\n\nexport interface WeekViewModel {\n days: DayViewModel[];\n isHovered?: boolean;\n}\n\n// todo: split navigation settings\nexport interface DaysCalendarViewModel extends NavigationViewModel {\n weeks: WeekViewModel[];\n // additional information\n month: Date;\n weekNumbers: string[];\n weekdays: string[];\n}\n\n/** *************** */\n// months calendar\nexport interface MonthsCalendarViewModel extends NavigationViewModel {\n months: CalendarCellViewModel[][];\n}\n\n/** *************** */\n// years calendar\nexport interface YearsCalendarViewModel extends NavigationViewModel {\n years: CalendarCellViewModel[][];\n}\n\n/** *************** */\n\n// math model\n/** *************** */\n\n// days Date's array\nexport interface DaysCalendarModel {\n daysMatrix: Date[][];\n month: Date;\n}\n\n/** *************** */\n// some func options\nexport interface MonthViewOptions {\n width?: number;\n height?: number;\n firstDayOfWeek?: number;\n}\n\n/** *************** */\n// rendering options\nexport interface 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\nexport interface DatepickerRenderOptions {\n showWeekNumbers: boolean;\n displayMonths: number;\n}\n\nexport interface DatepickerDateCustomClasses {\n date: Date;\n classes: string[];\n}\n\nexport interface DatepickerDateTooltipText {\n date: Date;\n tooltipText: string;\n}\n\n/** *************** */\n// events\n/** *************** */\nexport enum BsNavigationDirection {\n UP,\n DOWN\n}\n\n// used for navigation events, to change view date in state\nexport interface BsNavigationEvent {\n direction?: BsNavigationDirection;\n step?: TimeUnit;\n}\n\nexport interface BsViewNavigationEvent {\n unit?: TimeUnit;\n viewMode: BsDatepickerViewMode;\n}\n\nexport interface CellHoverEvent {\n cell: CalendarCellViewModel;\n isHovered: boolean;\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 && day.label || '' }}`\n})\nexport class BsDatepickerDayDecoratorComponent implements OnInit {\n @Input() day: DayViewModel = { date: new Date(), label: '' };\n\n constructor(\n private _config: BsDatepickerConfig,\n private _elRef: ElementRef,\n private _renderer: Renderer2\n ) { }\n\n ngOnInit(): void {\n\n if (this.day?.isToday && this._config && this._config.customTodayClass) {\n this._renderer.addClass(this._elRef.nativeElement, this._config.customTodayClass);\n }\n\n if (typeof this.day?.customClasses === 'string') {\n this.day?.customClasses.split(' ')\n .filter((className: string) => className)\n .forEach((className: string) => {\n this._renderer.addClass(this._elRef.nativeElement, className);\n });\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BsDatepickerViewMode, BsNavigationDirection, NavigationViewModel } 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 type=\"button\"\n (click)=\"navTo(true)\">\n <span>&lsaquo;</span>\n </button>\n\n <ng-container *ngIf=\"calendar && calendar.monthTitle\">\n &#8203; <!-- zero-width space needed for correct alignment\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"current\"\n type=\"button\"\n (click)=\"view('month')\"\n ><span>{{ calendar.monthTitle }}</span>\n </button>\n </ng-container>\n\n &#8203; <!-- zero-width space needed for correct alignment\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"current\" (click)=\"view('year')\" type=\"button\">\n <span>{{ calendar.yearTitle }}</span>\n </button>\n\n &#8203; <!-- zero-width space needed for correct alignment\n with preserveWhitespaces: false in Angular -->\n\n <button class=\"next\"\n [disabled]=\"calendar.disableRightArrow\"\n [style.visibility]=\"calendar.hideRightArrow ? 'hidden' : 'visible'\"\n type=\"button\"\n (click)=\"navTo(false)\"><span>&rsaquo;</span>\n </button>\n `\n})\nexport class BsDatepickerNavigationViewComponent {\n @Input() calendar!: NavigationViewModel;\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';\n\nimport { isSameDay } from 'ngx-bootstrap/chronos';\n\nimport {\n BsDatepickerViewMode,\n BsNavigationDirection,\n BsNavigationEvent,\n CellHoverEvent, DatepickerDateTooltipText,\n DatepickerRenderOptions,\n DaysCalendarViewModel,\n DayViewModel, WeekViewModel\n} from '../../models';\n\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 <!--days matrix-->\n <table role=\"grid\" class=\"days weeks\">\n <thead>\n <tr>\n <!--if show weeks-->\n <th *ngIf=\"options && 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\" [class.active-week]=\"isWeekHovered\" *ngIf=\"options && options.showWeekNumbers\">\n <span *ngIf=\"isiOS\" (click)=\"selectWeek(week)\">{{ calendar.weekNumbers[i] }}</span>\n <span *ngIf=\"!isiOS\"\n (click)=\"selectWeek(week)\"\n (mouseenter)=\"weekHoverHandler(week, true)\"\n (mouseleave)=\"weekHoverHandler(week, false)\">{{ calendar.weekNumbers[i] }}</span>\n </td>\n <td *ngFor=\"let day of week.days\" role=\"gridcell\">\n\n <!-- When we want to show tooltips for dates -->\n <span *ngIf=\"!isiOS && isShowTooltip\" bsDatepickerDayDecorator\n [day]=\"day\"\n (click)=\"selectDay(day)\"\n tooltip=\"{{day.tooltipText}}\"\n (mouseenter)=\"hoverDay(day, true)\"\n (mouseleave)=\"hoverDay(day, false)\">{{ day.label }} 3</span>\n <!-- When tooltips for dates are disabled -->\n <span *ngIf=\"!isiOS && !isShowTooltip\" bsDatepickerDayDecorator\n [day]=\"day\"\n (click)=\"selectDay(day)\"\n (mouseenter)=\"hoverDay(day, true)\"\n (mouseleave)=\"hoverDay(day, false)\">{{ day.label }} 2</span>\n\n <!-- For mobile iOS view, tooltips are not needed -->\n <span *ngIf=\"isiOS\" bsDatepickerDayDecorator\n [day]=\"day\"\n (click)=\"selectDay(day)\">{{ day.label }} 1</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 | null;\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 @Output() onHoverWeek = new EventEmitter<WeekViewModel>();\n\n isWeekHovered?: boolean;\n isiOS: boolean;\n isShowTooltip?: boolean;\n\n constructor(private _config: BsDatepickerConfig) {\n this.isiOS = (/iPad|iPhone|iPod/.test(navigator.platform) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1));\n if (this._config.dateTooltipTexts && this._config.dateTooltipTexts.length > 0) {\n this.isShowTooltip = true;\n }\n }\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 selectWeek(week: WeekViewModel): void {\n if (!this._config.selectWeek && !this._config.selectWeekDateRange) {\n return;\n }\n\n if (week.days.length === 0) {\n return;\n }\n\n if (this._config.selectWeek && week.days[0]\n && !week.days[0].isDisabled\n && this._config.selectFromOtherMonth) {\n\n this.onSelect.emit(week.days[0]);\n\n return;\n }\n\n const selectedDay = week.days.find((day: DayViewModel) => {\n return this._config.selectFromOtherMonth\n ? !day.isDisabled\n : !day.isOtherMonth && !day.isDisabled;\n });\n\n this.onSelect.emit(selectedDay);\n\n if (this._config.selectWeekDateRange) {\n const days = week.days.slice(0);\n const lastDayOfRange = days.reverse().find((day: DayViewModel) => {\n return this._config.selectFromOtherMonth\n ? !day.isDisabled\n : !day.isOtherMonth && !day.isDisabled;\n });\n\n this.onSelect.emit(lastDayOfRange);\n }\n }\n\n weekHoverHandler(cell: WeekViewModel, isHovered: boolean): void {\n if (!this._config.selectWeek && !this._config.selectWeekDateRange) {\n return;\n }\n\n const hasActiveDays = cell.days.find((day: DayViewModel) => {\n return this._config.selectFromOtherMonth\n ? !day.isDisabled\n : !day.isOtherMonth && !day.isDisabled;\n });\n\n if (hasActiveDays) {\n cell.isHovered = isHovered;\n this.isWeekHovered = isHovered;\n this.onHoverWeek.emit(cell);\n }\n }\n\n hoverDay(cell: DayViewModel, isHovered: boolean): void {\n if (this._config.selectFromOtherMonth && cell.isOtherMonth) {\n cell.isOtherMonthHovered = isHovered;\n }\n\n if (this._config.dateTooltipTexts) {\n cell.tooltipText = '';\n this._config.dateTooltipTexts.forEach((dateData: DatepickerDateTooltipText) => {\n\n if (isSameDay(dateData.date, cell.date)) {\n cell.tooltipText = dateData.tooltipText;\n\n return;\n }\n });\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 [class.selected]=\"month.isSelected\">{{ 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","import { 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\" type=\"button\">-</button>\n <input type=\"text\" [value]=\"hours\" placeholder=\"00\">\n <button class=\"bs-increase\" type=\"button\">+</button>\n </div>\n <div class=\"bs-timepicker-controls\">\n <button class=\"bs-decrease\" type=\"button\">-</button>\n <input type=\"text\" [value]=\"minutes\" placeholder=\"00\">\n <button class=\"bs-increase\" type=\"button\">+</button>\n </div>\n <button class=\"switch-time-format\" type=\"button\">{{ 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 [class.selected]=\"year.isSelected\">{{ 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 { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { TimepickerActions } from 'ngx-bootstrap/timepicker';\n\nimport { BsDatepickerInputDirective } from './bs-datepicker-input.directive';\nimport { BsDatepickerDirective } from './bs-datepicker.component';\nimport { BsDaterangepickerInputDirective } from './bs-daterangepicker-input.directive';\nimport { BsDaterangepickerDirective } from './bs-daterangepicker.component';\n\nimport { BsDatepickerInlineDirective } from './bs-datepicker-inline.component';\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 { BsDatepickerContainerComponent } from './themes/bs/bs-datepicker-container.component';\nimport { BsDaterangepickerContainerComponent } from './themes/bs/bs-daterangepicker-container.component';\n\nimport { BsDatepickerInlineContainerComponent } from './themes/bs/bs-datepicker-inline-container.component';\nimport { BsDaterangepickerInlineContainerComponent } from './themes/bs/bs-daterangepicker-inline-container.component';\n\nimport { BsDaterangepickerInlineDirective } from './bs-daterangepicker-inline.component';\n\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 { BsDatepickerDayDecoratorComponent } from './themes/bs/bs-datepicker-day-decorator.directive';\nimport { BsDatepickerNavigationViewComponent } from './themes/bs/bs-datepicker-navigation-view.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\n@NgModule({\n imports: [CommonModule, TooltipModule, TimepickerModule],\n declarations: [\n BsCalendarLayoutComponent,\n BsCurrentDateViewComponent,\n BsCustomDatesViewComponent,\n BsDatepickerDayDecoratorComponent,\n BsDatepickerNavigationViewComponent,\n BsDaysCalendarViewComponent,\n BsMonthCalendarViewComponent,\n BsTimepickerViewComponent,\n BsYearsCalendarViewComponent,\n BsDatepickerContainerComponent,\n BsDatepickerDirective,\n BsDatepickerInlineContainerComponent,\n BsDatepickerInlineDirective,\n BsDatepickerInputDirective,\n BsDaterangepickerContainerComponent,\n BsDaterangepickerDirective,\n BsDaterangepickerInlineContainerComponent,\n BsDaterangepickerInlineDirective,\n BsDaterangepickerInputDirective\n ],\n entryComponents: [\n BsDatepickerContainerComponent,\n BsDaterangepickerContainerComponent,\n BsDatepickerInlineContainerComponent,\n BsDaterangepickerInlineContainerComponent\n ],\n exports: [\n BsDatepickerContainerComponent,\n BsDatepickerDirective,\n BsDatepickerInlineContainerComponent,\n BsDatepickerInlineDirective,\n BsDatepickerInputDirective,\n BsDaterangepickerContainerComponent,\n BsDaterangepickerDirective,\n BsDaterangepickerInlineContainerComponent,\n BsDaterangepickerInlineDirective,\n BsDaterangepickerInputDirective\n ]\n})\nexport class BsDatepickerModule {\n static forRoot(): ModuleWithProviders<BsDatepickerModule> {\n return {\n ngModule: BsDatepickerModule,\n providers: [\n ComponentLoaderFactory,\n PositioningService,\n BsDatepickerStore,\n BsDatepickerActions,\n BsDatepickerEffects,\n BsLocaleService,\n TimepickerActions\n ]\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<DatepickerModule> {\n return { ngModule: DatepickerModule, providers: [DatepickerConfig] };\n }\n}\n"]}