ngx-bootstrap 5.6.1 → 6.2.0

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 (483) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/README.md +8 -1
  3. package/accordion/accordion-group.component.d.ts +3 -2
  4. package/accordion/accordion.module.d.ts +1 -1
  5. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +5 -2
  6. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
  7. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
  8. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
  9. package/accordion/esm2015/accordion.config.js +6 -2
  10. package/accordion/esm2015/accordion.module.js +2 -3
  11. package/accordion/esm5/accordion.config.js +6 -2
  12. package/accordion/esm5/accordion.module.js +2 -3
  13. package/accordion/fesm2015/ngx-bootstrap-accordion.js +6 -3
  14. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
  15. package/accordion/fesm5/ngx-bootstrap-accordion.js +6 -3
  16. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
  17. package/accordion/ngx-bootstrap-accordion.metadata.json +1 -1
  18. package/accordion/package.json +2 -2
  19. package/alert/alert.module.d.ts +1 -1
  20. package/alert/bundles/ngx-bootstrap-alert.umd.js +5 -2
  21. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
  22. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +2 -2
  23. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
  24. package/alert/esm2015/alert.component.js +3 -3
  25. package/alert/esm2015/alert.config.js +6 -2
  26. package/alert/esm2015/alert.module.js +2 -3
  27. package/alert/esm5/alert.component.js +3 -3
  28. package/alert/esm5/alert.config.js +6 -2
  29. package/alert/esm5/alert.module.js +2 -3
  30. package/alert/fesm2015/ngx-bootstrap-alert.js +6 -3
  31. package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
  32. package/alert/fesm5/ngx-bootstrap-alert.js +6 -3
  33. package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
  34. package/alert/ngx-bootstrap-alert.metadata.json +1 -1
  35. package/alert/package.json +2 -2
  36. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +293 -16
  37. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
  38. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
  39. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
  40. package/buttons/button-checkbox.directive.d.ts +2 -2
  41. package/buttons/button-radio-group.directive.d.ts +12 -1
  42. package/buttons/button-radio.directive.d.ts +19 -7
  43. package/buttons/buttons.module.d.ts +1 -1
  44. package/buttons/esm2015/button-radio-group.directive.js +140 -3
  45. package/buttons/esm2015/button-radio.directive.js +98 -18
  46. package/buttons/esm2015/buttons.module.js +1 -1
  47. package/buttons/esm5/button-radio-group.directive.js +171 -3
  48. package/buttons/esm5/button-radio.directive.js +126 -17
  49. package/buttons/esm5/buttons.module.js +1 -1
  50. package/buttons/fesm2015/ngx-bootstrap-buttons.js +235 -18
  51. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
  52. package/buttons/fesm5/ngx-bootstrap-buttons.js +294 -17
  53. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
  54. package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
  55. package/buttons/package.json +2 -2
  56. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +5 -3
  57. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
  58. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +1 -1
  59. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
  60. package/carousel/carousel.component.d.ts +7 -5
  61. package/carousel/carousel.module.d.ts +1 -1
  62. package/carousel/esm2015/carousel.config.js +6 -2
  63. package/carousel/esm2015/carousel.module.js +2 -4
  64. package/carousel/esm5/carousel.component.js +4 -4
  65. package/carousel/esm5/carousel.config.js +6 -2
  66. package/carousel/esm5/carousel.module.js +2 -4
  67. package/carousel/fesm2015/ngx-bootstrap-carousel.js +6 -4
  68. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
  69. package/carousel/fesm5/ngx-bootstrap-carousel.js +6 -4
  70. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
  71. package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
  72. package/carousel/package.json +2 -2
  73. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +90 -73
  74. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  75. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +69 -1
  76. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  77. package/chronos/esm2015/create/from-anything.js +2 -2
  78. package/chronos/esm2015/duration/valid.js +4 -6
  79. package/chronos/esm2015/i18n/ar.js +1 -4
  80. package/chronos/esm2015/i18n/bg.js +18 -20
  81. package/chronos/esm2015/i18n/cs.js +45 -47
  82. package/chronos/esm2015/i18n/et.js +1 -3
  83. package/chronos/esm2015/i18n/th-be.js +21 -1
  84. package/chronos/esm2015/locale/locale.class.js +5 -3
  85. package/chronos/esm5/create/from-anything.js +2 -2
  86. package/chronos/esm5/duration/valid.js +4 -6
  87. package/chronos/esm5/i18n/ar.js +1 -4
  88. package/chronos/esm5/i18n/bg.js +18 -20
  89. package/chronos/esm5/i18n/cs.js +45 -47
  90. package/chronos/esm5/i18n/et.js +1 -3
  91. package/chronos/esm5/i18n/th-be.js +21 -1
  92. package/chronos/esm5/locale/locale.class.js +6 -3
  93. package/chronos/esm5/test/chain.js +4 -4
  94. package/chronos/fesm2015/ngx-bootstrap-chronos.js +89 -73
  95. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  96. package/chronos/fesm5/ngx-bootstrap-chronos.js +90 -73
  97. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  98. package/chronos/locale/locale.class.d.ts +4 -3
  99. package/chronos/package.json +2 -2
  100. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
  101. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
  102. package/collapse/collapse.directive.d.ts +3 -2
  103. package/collapse/collapse.module.d.ts +1 -1
  104. package/collapse/esm2015/collapse.module.js +1 -1
  105. package/collapse/esm5/collapse.module.js +1 -1
  106. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
  107. package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
  108. package/collapse/package.json +2 -2
  109. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +5 -4
  110. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
  111. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
  112. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
  113. package/component-loader/component-loader.class.d.ts +4 -3
  114. package/component-loader/esm2015/component-loader.class.js +5 -5
  115. package/component-loader/esm5/component-loader.class.js +6 -5
  116. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +4 -4
  117. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
  118. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +5 -4
  119. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
  120. package/component-loader/package.json +2 -2
  121. package/datepicker/base/bs-datepicker-container.d.ts +20 -8
  122. package/datepicker/bs-datepicker-inline.component.d.ts +6 -2
  123. package/datepicker/bs-datepicker.component.d.ts +14 -5
  124. package/datepicker/bs-datepicker.config.d.ts +41 -1
  125. package/datepicker/bs-datepicker.css +126 -5
  126. package/datepicker/bs-datepicker.css.map +4 -4
  127. package/datepicker/bs-datepicker.module.d.ts +1 -1
  128. package/datepicker/bs-datepicker.scss +25 -5
  129. package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
  130. package/datepicker/bs-daterangepicker.component.d.ts +9 -4
  131. package/datepicker/bs-locale.service.d.ts +3 -3
  132. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +604 -93
  133. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  134. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +2 -2
  135. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  136. package/datepicker/datepicker-inner.component.d.ts +2 -1
  137. package/datepicker/datepicker.component.d.ts +2 -1
  138. package/datepicker/datepicker.module.d.ts +1 -1
  139. package/datepicker/daypicker.component.d.ts +1 -1
  140. package/datepicker/engine/flag-days-calendar.d.ts +2 -1
  141. package/datepicker/engine/flag-months-calendar.d.ts +1 -0
  142. package/datepicker/engine/flag-years-calendar.d.ts +1 -0
  143. package/datepicker/esm2015/base/bs-datepicker-container.js +38 -1
  144. package/datepicker/esm2015/bs-datepicker-inline.component.js +12 -1
  145. package/datepicker/esm2015/bs-datepicker-inline.config.js +6 -2
  146. package/datepicker/esm2015/bs-datepicker-input.directive.js +9 -1
  147. package/datepicker/esm2015/bs-datepicker.component.js +45 -6
  148. package/datepicker/esm2015/bs-datepicker.config.js +88 -2
  149. package/datepicker/esm2015/bs-datepicker.module.js +3 -10
  150. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +3 -2
  151. package/datepicker/esm2015/bs-daterangepicker-inline.config.js +6 -2
  152. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +11 -3
  153. package/datepicker/esm2015/bs-daterangepicker.component.js +36 -7
  154. package/datepicker/esm2015/bs-daterangepicker.config.js +6 -2
  155. package/datepicker/esm2015/datepicker.config.js +6 -2
  156. package/datepicker/esm2015/datepicker.module.js +1 -1
  157. package/datepicker/esm2015/engine/flag-days-calendar.js +22 -3
  158. package/datepicker/esm2015/engine/flag-months-calendar.js +14 -3
  159. package/datepicker/esm2015/engine/flag-years-calendar.js +14 -3
  160. package/datepicker/esm2015/models/index.js +13 -1
  161. package/datepicker/esm2015/public_api.js +1 -1
  162. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
  163. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +27 -33
  164. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +10 -2
  165. package/datepicker/esm2015/reducer/bs-datepicker.state.js +3 -1
  166. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +5 -2
  167. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +57 -5
  168. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  169. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +73 -4
  170. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  171. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +42 -4
  172. package/datepicker/esm5/base/bs-datepicker-container.js +52 -1
  173. package/datepicker/esm5/bs-datepicker-inline.component.js +12 -1
  174. package/datepicker/esm5/bs-datepicker-inline.config.js +8 -4
  175. package/datepicker/esm5/bs-datepicker-input.directive.js +9 -1
  176. package/datepicker/esm5/bs-datepicker.component.js +58 -8
  177. package/datepicker/esm5/bs-datepicker.config.js +88 -2
  178. package/datepicker/esm5/bs-datepicker.module.js +3 -10
  179. package/datepicker/esm5/bs-daterangepicker-inline.component.js +3 -2
  180. package/datepicker/esm5/bs-daterangepicker-inline.config.js +8 -4
  181. package/datepicker/esm5/bs-daterangepicker-input.directive.js +11 -3
  182. package/datepicker/esm5/bs-daterangepicker.component.js +49 -9
  183. package/datepicker/esm5/bs-daterangepicker.config.js +8 -4
  184. package/datepicker/esm5/datepicker.config.js +6 -2
  185. package/datepicker/esm5/datepicker.module.js +1 -1
  186. package/datepicker/esm5/engine/flag-days-calendar.js +22 -3
  187. package/datepicker/esm5/engine/flag-months-calendar.js +14 -3
  188. package/datepicker/esm5/engine/flag-years-calendar.js +14 -3
  189. package/datepicker/esm5/engine/format-days-calendar.js +3 -3
  190. package/datepicker/esm5/models/index.js +13 -1
  191. package/datepicker/esm5/public_api.js +1 -1
  192. package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
  193. package/datepicker/esm5/reducer/bs-datepicker.effects.js +33 -35
  194. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +10 -2
  195. package/datepicker/esm5/reducer/bs-datepicker.state.js +3 -1
  196. package/datepicker/esm5/reducer/bs-datepicker.store.js +3 -3
  197. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +5 -2
  198. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +74 -8
  199. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +4 -4
  200. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +92 -7
  201. package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +4 -4
  202. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +25 -2
  203. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +549 -96
  204. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  205. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +606 -94
  206. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  207. package/datepicker/models/index.d.ts +5 -0
  208. package/datepicker/monthpicker.component.d.ts +1 -1
  209. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  210. package/datepicker/package.json +2 -2
  211. package/datepicker/public_api.d.ts +1 -1
  212. package/datepicker/reducer/bs-datepicker.actions.d.ts +3 -1
  213. package/datepicker/reducer/bs-datepicker.effects.d.ts +2 -1
  214. package/datepicker/reducer/bs-datepicker.state.d.ts +2 -1
  215. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -0
  216. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +9 -5
  217. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +9 -5
  218. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +2 -0
  219. package/datepicker/utils/scss/mixins.css.map +2 -2
  220. package/datepicker/utils/scss/mixins.scss +98 -0
  221. package/datepicker/utils/scss/variables.css.map +1 -1
  222. package/datepicker/utils/scss/variables.scss +14 -0
  223. package/datepicker/yearpicker.component.d.ts +1 -1
  224. package/dropdown/bs-dropdown-container.component.d.ts +1 -1
  225. package/dropdown/bs-dropdown.directive.d.ts +12 -7
  226. package/dropdown/bs-dropdown.module.d.ts +1 -1
  227. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +13 -8
  228. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  229. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +1 -1
  230. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  231. package/dropdown/esm2015/bs-dropdown.config.js +6 -2
  232. package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
  233. package/dropdown/esm2015/bs-dropdown.module.js +2 -7
  234. package/dropdown/esm5/bs-dropdown-toggle.directive.js +3 -3
  235. package/dropdown/esm5/bs-dropdown.config.js +6 -2
  236. package/dropdown/esm5/bs-dropdown.directive.js +11 -5
  237. package/dropdown/esm5/bs-dropdown.module.js +2 -7
  238. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +13 -9
  239. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  240. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +14 -9
  241. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  242. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
  243. package/dropdown/package.json +2 -2
  244. package/locale/package.json +2 -2
  245. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
  246. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
  247. package/mini-ngrx/esm5/state.class.js +3 -3
  248. package/mini-ngrx/esm5/store.class.js +3 -3
  249. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
  250. package/mini-ngrx/package.json +2 -2
  251. package/modal/bs-modal-ref.service.d.ts +15 -2
  252. package/modal/bs-modal.service.d.ts +7 -4
  253. package/modal/bundles/ngx-bootstrap-modal.umd.js +154 -59
  254. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  255. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +1 -1
  256. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  257. package/modal/esm2015/bs-modal-ref.service.js +20 -1
  258. package/modal/esm2015/bs-modal.service.js +102 -47
  259. package/modal/esm2015/modal-container.component.js +10 -2
  260. package/modal/esm2015/modal-options.class.js +14 -3
  261. package/modal/esm2015/modal.directive.js +10 -7
  262. package/modal/esm2015/modal.module.js +1 -1
  263. package/modal/esm2015/models/index.js +3 -1
  264. package/modal/esm2015/ngx-bootstrap-modal.js +2 -2
  265. package/modal/esm2015/public_api.js +2 -2
  266. package/modal/esm5/bs-modal-ref.service.js +19 -1
  267. package/modal/esm5/bs-modal.service.js +109 -57
  268. package/modal/esm5/modal-container.component.js +13 -2
  269. package/modal/esm5/modal-options.class.js +14 -3
  270. package/modal/esm5/modal.directive.js +9 -7
  271. package/modal/esm5/modal.module.js +1 -1
  272. package/modal/esm5/models/index.js +3 -1
  273. package/modal/esm5/ngx-bootstrap-modal.js +2 -2
  274. package/modal/esm5/public_api.js +2 -2
  275. package/modal/fesm2015/ngx-bootstrap-modal.js +148 -52
  276. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  277. package/modal/fesm5/ngx-bootstrap-modal.js +155 -61
  278. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  279. package/modal/modal-backdrop.component.d.ts +4 -2
  280. package/modal/modal-container.component.d.ts +1 -0
  281. package/modal/modal-options.class.d.ts +8 -3
  282. package/modal/modal.directive.d.ts +5 -4
  283. package/modal/modal.module.d.ts +2 -2
  284. package/modal/models/index.d.ts +1 -0
  285. package/modal/ngx-bootstrap-modal.metadata.json +1 -1
  286. package/modal/package.json +2 -2
  287. package/modal/public_api.d.ts +1 -1
  288. package/package.json +2 -2
  289. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +5 -2
  290. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
  291. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
  292. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
  293. package/pagination/esm2015/pagination.config.js +6 -2
  294. package/pagination/esm2015/pagination.module.js +2 -3
  295. package/pagination/esm5/pagination.config.js +6 -2
  296. package/pagination/esm5/pagination.module.js +2 -3
  297. package/pagination/fesm2015/ngx-bootstrap-pagination.js +6 -3
  298. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
  299. package/pagination/fesm5/ngx-bootstrap-pagination.js +6 -3
  300. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
  301. package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
  302. package/pagination/package.json +2 -2
  303. package/pagination/pager.component.d.ts +8 -4
  304. package/pagination/pagination.component.d.ts +8 -4
  305. package/pagination/pagination.module.d.ts +1 -1
  306. package/popover/bundles/ngx-bootstrap-popover.umd.js +55 -3
  307. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  308. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
  309. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  310. package/popover/esm2015/popover-container.component.js +4 -1
  311. package/popover/esm2015/popover.config.js +6 -2
  312. package/popover/esm2015/popover.directive.js +39 -2
  313. package/popover/esm2015/popover.module.js +2 -3
  314. package/popover/esm5/popover-container.component.js +4 -1
  315. package/popover/esm5/popover.config.js +6 -2
  316. package/popover/esm5/popover.directive.js +48 -2
  317. package/popover/esm5/popover.module.js +2 -3
  318. package/popover/fesm2015/ngx-bootstrap-popover.js +47 -4
  319. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  320. package/popover/fesm5/ngx-bootstrap-popover.js +56 -4
  321. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  322. package/popover/ngx-bootstrap-popover.metadata.json +1 -1
  323. package/popover/package.json +2 -2
  324. package/popover/popover-container.component.d.ts +2 -1
  325. package/popover/popover.directive.d.ts +10 -1
  326. package/popover/popover.module.d.ts +1 -1
  327. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +7 -7
  328. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
  329. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
  330. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
  331. package/positioning/esm2015/modifiers/flip.js +3 -3
  332. package/positioning/esm2015/modifiers/preventOverflow.js +2 -2
  333. package/positioning/esm2015/modifiers/shift.js +2 -2
  334. package/positioning/esm2015/utils/computeAutoPlacement.js +2 -2
  335. package/positioning/esm2015/utils/getClientRect.js +2 -2
  336. package/positioning/esm5/modifiers/flip.js +4 -4
  337. package/positioning/esm5/modifiers/preventOverflow.js +4 -4
  338. package/positioning/esm5/modifiers/shift.js +3 -3
  339. package/positioning/esm5/utils/computeAutoPlacement.js +3 -3
  340. package/positioning/esm5/utils/getClientRect.js +3 -3
  341. package/positioning/fesm2015/ngx-bootstrap-positioning.js +6 -6
  342. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
  343. package/positioning/fesm5/ngx-bootstrap-positioning.js +7 -7
  344. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
  345. package/positioning/package.json +2 -2
  346. package/positioning/positioning.service.d.ts +1 -1
  347. package/progressbar/bar.component.d.ts +4 -5
  348. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +45 -66
  349. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
  350. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
  351. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
  352. package/progressbar/esm2015/bar.component.js +33 -48
  353. package/progressbar/esm2015/progressbar.component.js +5 -8
  354. package/progressbar/esm2015/progressbar.config.js +6 -2
  355. package/progressbar/esm2015/progressbar.module.js +2 -3
  356. package/progressbar/esm5/bar.component.js +37 -58
  357. package/progressbar/esm5/progressbar.component.js +5 -8
  358. package/progressbar/esm5/progressbar.config.js +6 -2
  359. package/progressbar/esm5/progressbar.module.js +2 -3
  360. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +42 -57
  361. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
  362. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +46 -67
  363. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
  364. package/progressbar/ngx-bootstrap-progressbar.metadata.json +1 -1
  365. package/progressbar/package.json +2 -2
  366. package/progressbar/progressbar.component.d.ts +7 -6
  367. package/progressbar/progressbar.module.d.ts +1 -1
  368. package/rating/bundles/ngx-bootstrap-rating.umd.js +5 -2
  369. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
  370. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
  371. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
  372. package/rating/esm2015/rating.config.js +6 -2
  373. package/rating/esm2015/rating.module.js +2 -3
  374. package/rating/esm5/rating.config.js +6 -2
  375. package/rating/esm5/rating.module.js +2 -3
  376. package/rating/fesm2015/ngx-bootstrap-rating.js +6 -3
  377. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
  378. package/rating/fesm5/ngx-bootstrap-rating.js +6 -3
  379. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
  380. package/rating/ngx-bootstrap-rating.metadata.json +1 -1
  381. package/rating/package.json +2 -2
  382. package/rating/rating.module.d.ts +1 -1
  383. package/schematics/ng-add/index.spec.js +30 -27
  384. package/schematics/ng-add/index.spec.js.map +1 -1
  385. package/schematics/utils/index.js +18 -5
  386. package/schematics/utils/index.js.map +1 -1
  387. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
  388. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
  389. package/sortable/esm2015/sortable.module.js +1 -1
  390. package/sortable/esm5/sortable.component.js +4 -4
  391. package/sortable/esm5/sortable.module.js +1 -1
  392. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
  393. package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
  394. package/sortable/package.json +2 -2
  395. package/sortable/sortable.component.d.ts +2 -1
  396. package/sortable/sortable.module.d.ts +1 -1
  397. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +40 -3
  398. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
  399. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
  400. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
  401. package/tabs/esm2015/tab.directive.js +2 -2
  402. package/tabs/esm2015/tabs.module.js +2 -3
  403. package/tabs/esm2015/tabset.component.js +22 -1
  404. package/tabs/esm2015/tabset.config.js +15 -2
  405. package/tabs/esm5/tab.directive.js +2 -2
  406. package/tabs/esm5/tabs.module.js +2 -3
  407. package/tabs/esm5/tabset.component.js +26 -1
  408. package/tabs/esm5/tabset.config.js +15 -2
  409. package/tabs/fesm2015/ngx-bootstrap-tabs.js +37 -4
  410. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
  411. package/tabs/fesm5/ngx-bootstrap-tabs.js +41 -4
  412. package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
  413. package/tabs/ng-transclude.directive.d.ts +2 -2
  414. package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
  415. package/tabs/package.json +2 -2
  416. package/tabs/tab.directive.d.ts +5 -3
  417. package/tabs/tabs.module.d.ts +1 -1
  418. package/tabs/tabset.component.d.ts +9 -3
  419. package/tabs/tabset.config.d.ts +2 -0
  420. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +11 -6
  421. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  422. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +1 -1
  423. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  424. package/timepicker/esm2015/timepicker-controls.util.js +4 -2
  425. package/timepicker/esm2015/timepicker.component.js +2 -2
  426. package/timepicker/esm2015/timepicker.config.js +8 -4
  427. package/timepicker/esm2015/timepicker.module.js +2 -3
  428. package/timepicker/esm5/reducer/timepicker.store.js +3 -3
  429. package/timepicker/esm5/timepicker-controls.util.js +4 -2
  430. package/timepicker/esm5/timepicker.component.js +2 -2
  431. package/timepicker/esm5/timepicker.config.js +8 -4
  432. package/timepicker/esm5/timepicker.module.js +2 -3
  433. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +12 -7
  434. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  435. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +12 -7
  436. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  437. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
  438. package/timepicker/package.json +2 -2
  439. package/timepicker/timepicker.component.d.ts +3 -3
  440. package/timepicker/timepicker.config.d.ts +1 -1
  441. package/timepicker/timepicker.module.d.ts +1 -1
  442. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +5 -2
  443. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  444. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
  445. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  446. package/tooltip/esm2015/tooltip.config.js +6 -2
  447. package/tooltip/esm2015/tooltip.directive.js +3 -3
  448. package/tooltip/esm2015/tooltip.module.js +2 -3
  449. package/tooltip/esm5/tooltip.config.js +6 -2
  450. package/tooltip/esm5/tooltip.directive.js +3 -3
  451. package/tooltip/esm5/tooltip.module.js +2 -3
  452. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +6 -3
  453. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  454. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +6 -3
  455. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  456. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
  457. package/tooltip/package.json +2 -2
  458. package/tooltip/tooltip-container.component.d.ts +1 -1
  459. package/tooltip/tooltip.directive.d.ts +15 -10
  460. package/tooltip/tooltip.module.d.ts +1 -1
  461. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +170 -19
  462. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  463. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
  464. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  465. package/typeahead/esm2015/typeahead-utils.js +35 -4
  466. package/typeahead/esm2015/typeahead.config.js +6 -2
  467. package/typeahead/esm2015/typeahead.directive.js +121 -16
  468. package/typeahead/esm2015/typeahead.module.js +2 -3
  469. package/typeahead/esm5/typeahead-utils.js +37 -6
  470. package/typeahead/esm5/typeahead.config.js +6 -2
  471. package/typeahead/esm5/typeahead.directive.js +135 -18
  472. package/typeahead/esm5/typeahead.module.js +2 -3
  473. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +160 -21
  474. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  475. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +172 -21
  476. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  477. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  478. package/typeahead/package.json +2 -2
  479. package/typeahead/typeahead-container.component.d.ts +14 -12
  480. package/typeahead/typeahead-utils.d.ts +1 -1
  481. package/typeahead/typeahead.directive.d.ts +20 -1
  482. package/typeahead/typeahead.module.d.ts +1 -1
  483. package/utils/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { Injectable, Component, ElementRef, Renderer2, HostListener, EventEmitter, Directive, ViewContainerRef, Input, Output, RendererFactory2, NgModule } from '@angular/core';
1
+ import { Injectable, InjectionToken, Component, ElementRef, Renderer2, HostListener, EventEmitter, Directive, ViewContainerRef, Optional, Inject, Input, Output, RendererFactory2, NgModule } from '@angular/core';
2
2
  import { isBs3, Utils, document as document$1, window as window$1 } from 'ngx-bootstrap/utils';
3
3
  import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
4
4
  import { PositioningService } from 'ngx-bootstrap/positioning';
@@ -8,6 +8,9 @@ import { __values } from 'tslib';
8
8
  * @fileoverview added by tsickle
9
9
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
10
  */
11
+ /**
12
+ * @template T
13
+ */
11
14
  var BsModalRef = /** @class */ (function () {
12
15
  function BsModalRef() {
13
16
  /**
@@ -25,6 +28,11 @@ var BsModalRef = /** @class */ (function () {
25
28
  return BsModalRef;
26
29
  }());
27
30
  if (false) {
31
+ /**
32
+ * Allow user to ID for the modal. Otherwise, a unique number will be given
33
+ * @type {?}
34
+ */
35
+ BsModalRef.prototype.id;
28
36
  /**
29
37
  * Reference to a component inside the modal. Null if modal's been created with TemplateRef
30
38
  * @type {?}
@@ -40,6 +48,16 @@ if (false) {
40
48
  * @type {?}
41
49
  */
42
50
  BsModalRef.prototype.setClass;
51
+ /**
52
+ * Event that is fired when the modal behind the ref starts hiding
53
+ * @type {?}
54
+ */
55
+ BsModalRef.prototype.onHide;
56
+ /**
57
+ * Event that is fired when the modal behind the ref finishes hiding
58
+ * @type {?}
59
+ */
60
+ BsModalRef.prototype.onHidden;
43
61
  }
44
62
 
45
63
  /**
@@ -62,6 +80,9 @@ if (false) {
62
80
  * @fileoverview added by tsickle
63
81
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
64
82
  */
83
+ /**
84
+ * @template T
85
+ */
65
86
  var ModalOptions = /** @class */ (function () {
66
87
  function ModalOptions() {
67
88
  }
@@ -71,6 +92,11 @@ var ModalOptions = /** @class */ (function () {
71
92
  return ModalOptions;
72
93
  }());
73
94
  if (false) {
95
+ /**
96
+ * Allow user to ID for the modal. Otherwise, a unique number will be given
97
+ * @type {?}
98
+ */
99
+ ModalOptions.prototype.id;
74
100
  /**
75
101
  * Includes a modal-backdrop element. Alternatively,
76
102
  * specify static for a backdrop which doesn't close the modal on click.
@@ -137,6 +163,8 @@ var modalConfigDefaults = {
137
163
  initialState: {}
138
164
  };
139
165
  /** @type {?} */
166
+ var MODAL_CONFIG_DEFAULT_OVERRIDE = new InjectionToken('override-default-config');
167
+ /** @type {?} */
140
168
  var CLASS_NAME = {
141
169
  SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
142
170
  BACKDROP: 'modal-backdrop',
@@ -161,7 +189,8 @@ var TRANSITION_DURATIONS = {
161
189
  /** @type {?} */
162
190
  var DISMISS_REASONS = {
163
191
  BACKRDOP: 'backdrop-click',
164
- ESC: 'esc'
192
+ ESC: 'esc',
193
+ BACK: 'browser-back-navigation-clicked'
165
194
  };
166
195
 
167
196
  /**
@@ -238,6 +267,16 @@ var ModalContainerComponent = /** @class */ (function () {
238
267
  this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);
239
268
  this.hide();
240
269
  };
270
+ /**
271
+ * @return {?}
272
+ */
273
+ ModalContainerComponent.prototype.onPopState = /**
274
+ * @return {?}
275
+ */
276
+ function () {
277
+ this.bsModalService.setDismissReason(DISMISS_REASONS.BACK);
278
+ this.hide();
279
+ };
241
280
  /**
242
281
  * @param {?} event
243
282
  * @return {?}
@@ -294,7 +333,7 @@ var ModalContainerComponent = /** @class */ (function () {
294
333
  _this.bsModalService.getModalsCount() === 1) {
295
334
  _this._renderer.removeClass(document.body, CLASS_NAME.OPEN);
296
335
  }
297
- _this.bsModalService.hide(_this.level);
336
+ _this.bsModalService.hide(_this.config.id);
298
337
  _this.isModalHiding = false;
299
338
  }), this.isAnimated ? TRANSITION_DURATIONS.MODAL : 0);
300
339
  };
@@ -321,6 +360,7 @@ var ModalContainerComponent = /** @class */ (function () {
321
360
  ModalContainerComponent.propDecorators = {
322
361
  onClickStarted: [{ type: HostListener, args: ['mousedown', ['$event'],] }],
323
362
  onClickStop: [{ type: HostListener, args: ['mouseup', ['$event'],] }],
363
+ onPopState: [{ type: HostListener, args: ['window:popstate',] }],
324
364
  onEsc: [{ type: HostListener, args: ['window:keydown.esc', ['$event'],] }]
325
365
  };
326
366
  return ModalContainerComponent;
@@ -476,7 +516,7 @@ var BACKDROP_TRANSITION_DURATION = 150;
476
516
  * Mark any code with directive to show it's content in modal
477
517
  */
478
518
  var ModalDirective = /** @class */ (function () {
479
- function ModalDirective(_element, _viewContainerRef, _renderer, clf) {
519
+ function ModalDirective(_element, _viewContainerRef, _renderer, clf, modalDefaultOption) {
480
520
  this._element = _element;
481
521
  this._renderer = _renderer;
482
522
  /**
@@ -507,6 +547,7 @@ var ModalDirective = /** @class */ (function () {
507
547
  this.isNested = false;
508
548
  this.clickStartedInContent = false;
509
549
  this._backdrop = clf.createLoader(_element, _viewContainerRef, _renderer);
550
+ this._config = modalDefaultOption || modalConfigDefaults;
510
551
  }
511
552
  Object.defineProperty(ModalDirective.prototype, "config", {
512
553
  get: /**
@@ -729,7 +770,7 @@ var ModalDirective = /** @class */ (function () {
729
770
  * @return {?}
730
771
  */
731
772
  function (config) {
732
- return Object.assign({}, modalConfigDefaults, config);
773
+ return Object.assign({}, this._config, config);
733
774
  };
734
775
  /**
735
776
  * Show dialog
@@ -1075,7 +1116,8 @@ var ModalDirective = /** @class */ (function () {
1075
1116
  { type: ElementRef },
1076
1117
  { type: ViewContainerRef },
1077
1118
  { type: Renderer2 },
1078
- { type: ComponentLoaderFactory }
1119
+ { type: ComponentLoaderFactory },
1120
+ { type: ModalOptions, decorators: [{ type: Optional }, { type: Inject, args: [MODAL_CONFIG_DEFAULT_OVERRIDE,] }] }
1079
1121
  ]; };
1080
1122
  ModalDirective.propDecorators = {
1081
1123
  config: [{ type: Input }],
@@ -1115,7 +1157,7 @@ if (false) {
1115
1157
  ModalDirective.prototype.onHidden;
1116
1158
  /**
1117
1159
  * This field contains last dismiss reason.
1118
- * Possible values: `backdrop-click`, `esc` and `null`
1160
+ * Possible values: `backdrop-click`, `esc` and `id: number`
1119
1161
  * (if modal was closed by direct call of `.hide()`).
1120
1162
  * @type {?}
1121
1163
  */
@@ -1192,10 +1234,9 @@ if (false) {
1192
1234
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1193
1235
  */
1194
1236
  var BsModalService = /** @class */ (function () {
1195
- function BsModalService(rendererFactory, clf) {
1237
+ function BsModalService(rendererFactory, clf, modalDefaultOption) {
1196
1238
  this.clf = clf;
1197
- // constructor props
1198
- this.config = modalConfigDefaults;
1239
+ this.modalDefaultOption = modalDefaultOption;
1199
1240
  // tslint:disable-next-line:no-any
1200
1241
  this.onShow = new EventEmitter();
1201
1242
  // tslint:disable-next-line:no-any
@@ -1208,56 +1249,65 @@ var BsModalService = /** @class */ (function () {
1208
1249
  this.originalBodyPadding = 0;
1209
1250
  this.scrollbarWidth = 0;
1210
1251
  this.modalsCount = 0;
1211
- this.lastDismissReason = '';
1252
+ this.lastDismissReason = null;
1212
1253
  this.loaders = [];
1213
1254
  this._backdropLoader = this.clf.createLoader(null, null, null);
1214
1255
  this._renderer = rendererFactory.createRenderer(null, null);
1256
+ this.config = modalDefaultOption ?
1257
+ (Object.assign({}, modalConfigDefaults, modalDefaultOption)) :
1258
+ modalConfigDefaults;
1215
1259
  }
1216
1260
  /** Shows a modal */
1217
- // tslint:disable-next-line:no-any
1218
1261
  /**
1219
1262
  * Shows a modal
1263
+ * @template T
1220
1264
  * @param {?} content
1221
1265
  * @param {?=} config
1222
1266
  * @return {?}
1223
1267
  */
1224
- // tslint:disable-next-line:no-any
1225
1268
  BsModalService.prototype.show = /**
1226
1269
  * Shows a modal
1270
+ * @template T
1227
1271
  * @param {?} content
1228
1272
  * @param {?=} config
1229
1273
  * @return {?}
1230
1274
  */
1275
+ function (
1231
1276
  // tslint:disable-next-line:no-any
1232
- function (content, config) {
1277
+ content, config) {
1233
1278
  this.modalsCount++;
1234
1279
  this._createLoaders();
1235
- this.config = Object.assign({}, modalConfigDefaults, config);
1280
+ /** @type {?} */
1281
+ var id = (config === null || config === void 0 ? void 0 : config.id) || (new Date()).getUTCMilliseconds();
1282
+ this.config = this.modalDefaultOption ?
1283
+ Object.assign({}, modalConfigDefaults, this.modalDefaultOption, config) :
1284
+ Object.assign({}, modalConfigDefaults, config);
1285
+ this.config.id = id;
1236
1286
  this._showBackdrop();
1237
1287
  this.lastDismissReason = null;
1238
1288
  return this._showModal(content);
1239
1289
  };
1240
1290
  /**
1241
- * @param {?} level
1291
+ * @param {?=} id
1242
1292
  * @return {?}
1243
1293
  */
1244
1294
  BsModalService.prototype.hide = /**
1245
- * @param {?} level
1295
+ * @param {?=} id
1246
1296
  * @return {?}
1247
1297
  */
1248
- function (level) {
1298
+ function (id) {
1249
1299
  var _this = this;
1250
- if (this.modalsCount === 1) {
1300
+ if (this.modalsCount === 1 || id == null) {
1251
1301
  this._hideBackdrop();
1252
1302
  this.resetScrollbar();
1253
1303
  }
1254
- this.modalsCount = this.modalsCount >= 1 ? this.modalsCount - 1 : 0;
1304
+ this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;
1255
1305
  setTimeout((/**
1256
1306
  * @return {?}
1257
1307
  */
1258
1308
  function () {
1259
- _this._hideModal(level);
1260
- _this.removeLoaders(level);
1309
+ _this._hideModal(id);
1310
+ _this.removeLoaders(id);
1261
1311
  }), this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0);
1262
1312
  };
1263
1313
  /**
@@ -1315,20 +1365,20 @@ var BsModalService = /** @class */ (function () {
1315
1365
  */
1316
1366
  function (content) {
1317
1367
  var e_1, _a;
1318
- var _this = this;
1368
+ var _b;
1319
1369
  /** @type {?} */
1320
1370
  var modalLoader = this.loaders[this.loaders.length - 1];
1321
1371
  if (this.config && this.config.providers) {
1322
1372
  try {
1323
- for (var _b = __values(this.config.providers), _c = _b.next(); !_c.done; _c = _b.next()) {
1324
- var provider = _c.value;
1373
+ for (var _c = __values(this.config.providers), _d = _c.next(); !_d.done; _d = _c.next()) {
1374
+ var provider = _d.value;
1325
1375
  modalLoader.provide(provider);
1326
1376
  }
1327
1377
  }
1328
1378
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
1329
1379
  finally {
1330
1380
  try {
1331
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1381
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1332
1382
  }
1333
1383
  finally { if (e_1) throw e_1.error; }
1334
1384
  }
@@ -1340,21 +1390,11 @@ var BsModalService = /** @class */ (function () {
1340
1390
  .provide({ provide: ModalOptions, useValue: this.config })
1341
1391
  .provide({ provide: BsModalRef, useValue: bsModalRef })
1342
1392
  .attach(ModalContainerComponent)
1343
- .to('body')
1344
- .show({ content: content, isAnimated: this.config.animated, initialState: this.config.initialState, bsModalService: this });
1345
- modalContainerRef.instance.level = this.getModalsCount();
1393
+ .to('body');
1346
1394
  bsModalRef.hide = (/**
1347
1395
  * @return {?}
1348
1396
  */
1349
- function () {
1350
- /** @type {?} */
1351
- var duration = _this.config.animated ? TRANSITION_DURATIONS.MODAL : 0;
1352
- setTimeout((/**
1353
- * @return {?}
1354
- */
1355
- function () { return modalContainerRef.instance.hide(); }), duration);
1356
- });
1357
- bsModalRef.content = modalLoader.getInnerComponent() || null;
1397
+ function () { return modalContainerRef.instance.hide(); });
1358
1398
  bsModalRef.setClass = (/**
1359
1399
  * @param {?} newClass
1360
1400
  * @return {?}
@@ -1362,21 +1402,54 @@ var BsModalService = /** @class */ (function () {
1362
1402
  function (newClass) {
1363
1403
  modalContainerRef.instance.config.class = newClass;
1364
1404
  });
1405
+ bsModalRef.onHidden = new EventEmitter();
1406
+ bsModalRef.onHide = new EventEmitter();
1407
+ this.copyEvent(modalLoader.onBeforeHide, bsModalRef.onHide);
1408
+ this.copyEvent(modalLoader.onHidden, bsModalRef.onHidden);
1409
+ // call 'show' method after assign setClass in bsModalRef.
1410
+ // it makes modal component's bsModalRef available to call setClass method
1411
+ modalContainerRef.show({
1412
+ content: content,
1413
+ isAnimated: this.config.animated,
1414
+ initialState: this.config.initialState,
1415
+ bsModalService: this,
1416
+ id: this.config.id
1417
+ });
1418
+ modalContainerRef.instance.level = this.getModalsCount();
1419
+ bsModalRef.content = modalLoader.getInnerComponent() || null;
1420
+ bsModalRef.id = (_b = modalContainerRef.instance.config) === null || _b === void 0 ? void 0 : _b.id;
1365
1421
  return bsModalRef;
1366
1422
  };
1367
1423
  /**
1368
- * @param {?} level
1424
+ * @param {?=} id
1369
1425
  * @return {?}
1370
1426
  */
1371
1427
  BsModalService.prototype._hideModal = /**
1372
- * @param {?} level
1428
+ * @param {?=} id
1373
1429
  * @return {?}
1374
1430
  */
1375
- function (level) {
1376
- /** @type {?} */
1377
- var modalLoader = this.loaders[level - 1];
1378
- if (modalLoader) {
1379
- modalLoader.hide();
1431
+ function (id) {
1432
+ if (id != null) {
1433
+ /** @type {?} */
1434
+ var indexToRemove = this.loaders.findIndex((/**
1435
+ * @param {?} loader
1436
+ * @return {?}
1437
+ */
1438
+ function (loader) { return loader.instance.config.id === id; }));
1439
+ /** @type {?} */
1440
+ var modalLoader = this.loaders[indexToRemove];
1441
+ if (modalLoader) {
1442
+ modalLoader.hide(id);
1443
+ }
1444
+ }
1445
+ else {
1446
+ this.loaders.forEach((/**
1447
+ * @param {?} loader
1448
+ * @return {?}
1449
+ */
1450
+ function (loader) {
1451
+ loader.hide(loader.instance.config.id);
1452
+ }));
1380
1453
  }
1381
1454
  };
1382
1455
  /**
@@ -1406,6 +1479,7 @@ var BsModalService = /** @class */ (function () {
1406
1479
  * @return {?}
1407
1480
  */
1408
1481
  function () {
1482
+ this._renderer.removeClass(document.body, CLASS_NAME.OPEN);
1409
1483
  this._backdropLoader.hide();
1410
1484
  this.backdropRef = null;
1411
1485
  };
@@ -1495,24 +1569,37 @@ var BsModalService = /** @class */ (function () {
1495
1569
  };
1496
1570
  /**
1497
1571
  * @private
1498
- * @param {?} level
1572
+ * @param {?=} id
1499
1573
  * @return {?}
1500
1574
  */
1501
1575
  BsModalService.prototype.removeLoaders = /**
1502
1576
  * @private
1503
- * @param {?} level
1577
+ * @param {?=} id
1504
1578
  * @return {?}
1505
1579
  */
1506
- function (level) {
1507
- this.loaders.splice(level - 1, 1);
1508
- this.loaders.forEach((/**
1509
- * @param {?} loader
1510
- * @param {?} i
1511
- * @return {?}
1512
- */
1513
- function (loader, i) {
1514
- loader.instance.level = i + 1;
1515
- }));
1580
+ function (id) {
1581
+ if (id != null) {
1582
+ /** @type {?} */
1583
+ var indexToRemove = this.loaders.findIndex((/**
1584
+ * @param {?} loader
1585
+ * @return {?}
1586
+ */
1587
+ function (loader) { return loader.instance.config.id === id; }));
1588
+ if (indexToRemove >= 0) {
1589
+ this.loaders.splice(indexToRemove, 1);
1590
+ this.loaders.forEach((/**
1591
+ * @param {?} loader
1592
+ * @param {?} i
1593
+ * @return {?}
1594
+ */
1595
+ function (loader, i) {
1596
+ loader.instance.level = i + 1;
1597
+ }));
1598
+ }
1599
+ }
1600
+ else {
1601
+ this.loaders.splice(0, this.loaders.length);
1602
+ }
1516
1603
  };
1517
1604
  // tslint:disable-next-line:no-any
1518
1605
  // tslint:disable-next-line:no-any
@@ -1533,10 +1620,11 @@ var BsModalService = /** @class */ (function () {
1533
1620
  function (from, to) {
1534
1621
  var _this = this;
1535
1622
  from.subscribe((/**
1623
+ * @param {?} data
1536
1624
  * @return {?}
1537
1625
  */
1538
- function () {
1539
- to.emit(_this.lastDismissReason);
1626
+ function (data) {
1627
+ to.emit(_this.lastDismissReason || data);
1540
1628
  }));
1541
1629
  };
1542
1630
  BsModalService.decorators = [
@@ -1545,7 +1633,8 @@ var BsModalService = /** @class */ (function () {
1545
1633
  /** @nocollapse */
1546
1634
  BsModalService.ctorParameters = function () { return [
1547
1635
  { type: RendererFactory2 },
1548
- { type: ComponentLoaderFactory }
1636
+ { type: ComponentLoaderFactory },
1637
+ { type: ModalOptions, decorators: [{ type: Optional }, { type: Inject, args: [MODAL_CONFIG_DEFAULT_OVERRIDE,] }] }
1549
1638
  ]; };
1550
1639
  return BsModalService;
1551
1640
  }());
@@ -1610,6 +1699,11 @@ if (false) {
1610
1699
  * @private
1611
1700
  */
1612
1701
  BsModalService.prototype.clf;
1702
+ /**
1703
+ * @type {?}
1704
+ * @private
1705
+ */
1706
+ BsModalService.prototype.modalDefaultOption;
1613
1707
  }
1614
1708
 
1615
1709
  /**
@@ -1667,5 +1761,5 @@ var ModalModule = /** @class */ (function () {
1667
1761
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1668
1762
  */
1669
1763
 
1670
- export { BsModalRef, BsModalService, ModalBackdropComponent, ModalBackdropOptions, ModalContainerComponent, ModalDirective, ModalModule, ModalOptions, CLASS_NAME as ɵa };
1764
+ export { BsModalRef, BsModalService, MODAL_CONFIG_DEFAULT_OVERRIDE, ModalBackdropComponent, ModalBackdropOptions, ModalContainerComponent, ModalDirective, ModalModule, ModalOptions, CLASS_NAME as ɵa };
1671
1765
  //# sourceMappingURL=ngx-bootstrap-modal.js.map