ngx-bootstrap 5.4.0 → 5.6.2

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 (440) hide show
  1. package/CHANGELOG.md +138 -99
  2. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -2
  3. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
  4. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
  5. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
  6. package/accordion/fesm2015/ngx-bootstrap-accordion.js +79 -0
  7. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
  8. package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
  9. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
  10. package/accordion/package.json +2 -2
  11. package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
  12. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
  13. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
  14. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
  15. package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
  16. package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
  17. package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
  18. package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
  19. package/alert/package.json +2 -2
  20. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
  21. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
  22. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
  23. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
  24. package/buttons/button-radio-group.directive.d.ts +4 -1
  25. package/buttons/esm2015/button-radio-group.directive.js +26 -2
  26. package/buttons/esm5/button-radio-group.directive.js +30 -2
  27. package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
  28. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
  29. package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
  30. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
  31. package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
  32. package/buttons/package.json +2 -2
  33. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +295 -4
  34. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
  35. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
  36. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
  37. package/carousel/carousel.component.d.ts +2 -0
  38. package/carousel/esm2015/carousel.component.js +15 -2
  39. package/carousel/esm2015/slide.component.js +21 -2
  40. package/carousel/esm5/carousel.component.js +15 -2
  41. package/carousel/esm5/slide.component.js +6 -2
  42. package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
  43. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
  44. package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -4
  45. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
  46. package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
  47. package/carousel/package.json +2 -2
  48. package/carousel/slide.component.d.ts +1 -0
  49. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
  50. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  51. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
  52. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  53. package/chronos/esm2015/format/format.js +1 -1
  54. package/chronos/esm2015/i18n/ka.js +108 -0
  55. package/chronos/esm2015/i18n/kk.js +89 -0
  56. package/chronos/esm2015/i18n/sq.js +62 -0
  57. package/chronos/esm2015/i18n/th-be.js +85 -0
  58. package/chronos/esm2015/index.js +2 -2
  59. package/chronos/esm2015/locale/locale.class.js +16 -2
  60. package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
  61. package/chronos/esm2015/public_api.js +5 -1
  62. package/chronos/esm2015/units/year.js +4 -1
  63. package/chronos/esm5/format/format.js +1 -1
  64. package/chronos/esm5/i18n/ka.js +108 -0
  65. package/chronos/esm5/i18n/kk.js +89 -0
  66. package/chronos/esm5/i18n/sq.js +62 -0
  67. package/chronos/esm5/i18n/th-be.js +86 -0
  68. package/chronos/esm5/index.js +2 -2
  69. package/chronos/esm5/locale/locale.class.js +22 -2
  70. package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
  71. package/chronos/esm5/public_api.js +5 -1
  72. package/chronos/esm5/units/year.js +4 -1
  73. package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
  74. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  75. package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
  76. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  77. package/chronos/i18n/ka.d.ts +2 -0
  78. package/chronos/i18n/kk.d.ts +2 -0
  79. package/chronos/i18n/sq.d.ts +2 -0
  80. package/chronos/i18n/th-be.d.ts +2 -0
  81. package/chronos/locale/locale.class.d.ts +2 -0
  82. package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
  83. package/chronos/package.json +2 -2
  84. package/chronos/public_api.d.ts +4 -0
  85. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
  86. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
  87. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
  88. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
  89. package/collapse/collapse.directive.d.ts +1 -0
  90. package/collapse/esm2015/collapse.directive.js +14 -1
  91. package/collapse/esm5/collapse.directive.js +14 -1
  92. package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
  93. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
  94. package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
  95. package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
  96. package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
  97. package/collapse/package.json +2 -2
  98. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
  99. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
  100. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
  101. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
  102. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +177 -0
  103. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
  104. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
  105. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
  106. package/component-loader/package.json +2 -2
  107. package/datepicker/base/bs-datepicker-container.d.ts +4 -1
  108. package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
  109. package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
  110. package/datepicker/bs-datepicker.component.d.ts +12 -3
  111. package/datepicker/bs-datepicker.config.d.ts +26 -0
  112. package/datepicker/bs-datepicker.css +19 -1
  113. package/datepicker/bs-datepicker.css.map +3 -3
  114. package/datepicker/bs-datepicker.scss +0 -1
  115. package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
  116. package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
  117. package/datepicker/bs-daterangepicker.component.d.ts +16 -3
  118. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2116 -106
  119. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  120. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
  121. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  122. package/datepicker/engine/flag-days-calendar.d.ts +1 -0
  123. package/datepicker/esm2015/base/bs-datepicker-container.js +18 -3
  124. package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
  125. package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
  126. package/datepicker/esm2015/bs-datepicker.component.js +55 -8
  127. package/datepicker/esm2015/bs-datepicker.config.js +36 -2
  128. package/datepicker/esm2015/bs-datepicker.module.js +23 -16
  129. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
  130. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
  131. package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
  132. package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
  133. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
  134. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
  135. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +25 -6
  136. package/datepicker/esm2015/reducer/bs-datepicker.state.js +5 -1
  137. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
  138. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
  139. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  140. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
  141. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
  142. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  143. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
  144. package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
  145. package/datepicker/esm5/base/bs-datepicker-container.js +26 -3
  146. package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
  147. package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
  148. package/datepicker/esm5/bs-datepicker.component.js +59 -8
  149. package/datepicker/esm5/bs-datepicker.config.js +36 -2
  150. package/datepicker/esm5/bs-datepicker.module.js +26 -19
  151. package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
  152. package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
  153. package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
  154. package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
  155. package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
  156. package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
  157. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +25 -6
  158. package/datepicker/esm5/reducer/bs-datepicker.state.js +5 -1
  159. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
  160. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
  161. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  162. package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
  163. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
  164. package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  165. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
  166. package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
  167. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1958 -91
  168. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  169. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1989 -93
  170. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  171. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  172. package/datepicker/package.json +2 -2
  173. package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
  174. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
  175. package/datepicker/reducer/bs-datepicker.state.d.ts +2 -0
  176. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
  177. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
  178. package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
  179. package/datepicker/utils/scss/mixins.css.map +1 -1
  180. package/datepicker/utils/scss/mixins.scss +9 -0
  181. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +395 -5
  182. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  183. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
  184. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  185. package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
  186. package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
  187. package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
  188. package/dropdown/esm5/bs-dropdown.directive.js +9 -3
  189. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +241 -3
  190. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  191. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +242 -3
  192. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  193. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
  194. package/dropdown/package.json +2 -2
  195. package/locale/bundles/ngx-bootstrap-locale.umd.js +36 -2
  196. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
  197. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
  198. package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
  199. package/locale/esm2015/public_api.js +5 -1
  200. package/locale/esm5/ngx-bootstrap-locale.js +2 -2
  201. package/locale/esm5/public_api.js +5 -1
  202. package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
  203. package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
  204. package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
  205. package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
  206. package/locale/ngx-bootstrap-locale.metadata.json +1 -1
  207. package/locale/package.json +2 -2
  208. package/locale/public_api.d.ts +4 -0
  209. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -2
  210. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
  211. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +15 -1
  212. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
  213. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
  214. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
  215. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
  216. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
  217. package/mini-ngrx/package.json +2 -2
  218. package/modal/bs-modal.service.d.ts +1 -2
  219. package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
  220. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  221. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
  222. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  223. package/modal/esm2015/bs-modal.service.js +13 -4
  224. package/modal/esm2015/modal-container.component.js +24 -5
  225. package/modal/esm2015/modal-options.class.js +16 -1
  226. package/modal/esm2015/modal.directive.js +21 -4
  227. package/modal/esm2015/modal.module.js +10 -1
  228. package/modal/esm5/bs-modal.service.js +28 -8
  229. package/modal/esm5/modal-container.component.js +28 -5
  230. package/modal/esm5/modal-options.class.js +16 -1
  231. package/modal/esm5/modal.directive.js +25 -4
  232. package/modal/esm5/modal.module.js +13 -1
  233. package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
  234. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  235. package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
  236. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  237. package/modal/modal-container.component.d.ts +3 -1
  238. package/modal/modal-options.class.d.ts +13 -0
  239. package/modal/modal.directive.d.ts +3 -1
  240. package/modal/modal.module.d.ts +1 -0
  241. package/modal/ngx-bootstrap-modal.metadata.json +1 -1
  242. package/modal/package.json +2 -2
  243. package/package.json +2 -2
  244. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
  245. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
  246. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
  247. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
  248. package/pagination/esm2015/models/index.js +49 -4
  249. package/pagination/esm2015/pager.component.js +2 -2
  250. package/pagination/esm2015/pagination.component.js +33 -3
  251. package/pagination/esm2015/public_api.js +1 -1
  252. package/pagination/esm5/models/index.js +49 -4
  253. package/pagination/esm5/pager.component.js +2 -2
  254. package/pagination/esm5/pagination.component.js +33 -3
  255. package/pagination/esm5/public_api.js +1 -1
  256. package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
  257. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
  258. package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
  259. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
  260. package/pagination/models/index.d.ts +28 -0
  261. package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
  262. package/pagination/package.json +2 -2
  263. package/pagination/pagination.component.d.ts +12 -2
  264. package/pagination/public_api.d.ts +1 -0
  265. package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
  266. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  267. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
  268. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  269. package/popover/esm2015/popover.config.js +10 -1
  270. package/popover/esm2015/popover.directive.js +97 -16
  271. package/popover/esm5/popover.config.js +10 -1
  272. package/popover/esm5/popover.directive.js +98 -16
  273. package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
  274. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  275. package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
  276. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  277. package/popover/ngx-bootstrap-popover.metadata.json +1 -1
  278. package/popover/package.json +2 -2
  279. package/popover/popover.config.d.ts +2 -0
  280. package/popover/popover.directive.d.ts +9 -1
  281. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
  282. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
  283. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
  284. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
  285. package/positioning/esm2015/modifiers/arrow.js +19 -5
  286. package/positioning/esm2015/modifiers/initData.js +12 -2
  287. package/positioning/esm2015/modifiers/shift.js +6 -4
  288. package/positioning/esm5/modifiers/arrow.js +19 -5
  289. package/positioning/esm5/modifiers/initData.js +12 -2
  290. package/positioning/esm5/modifiers/shift.js +8 -6
  291. package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
  292. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
  293. package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
  294. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
  295. package/positioning/package.json +2 -2
  296. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
  297. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
  298. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
  299. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
  300. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +85 -0
  301. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
  302. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
  303. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
  304. package/progressbar/package.json +2 -2
  305. package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
  306. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
  307. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
  308. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
  309. package/rating/esm2015/ngx-bootstrap-rating.js +2 -2
  310. package/rating/esm2015/public_api.js +2 -1
  311. package/rating/esm2015/rating.component.js +14 -5
  312. package/rating/esm2015/rating.config.js +27 -0
  313. package/rating/esm2015/rating.module.js +3 -2
  314. package/rating/esm5/ngx-bootstrap-rating.js +2 -2
  315. package/rating/esm5/public_api.js +2 -1
  316. package/rating/esm5/rating.component.js +13 -5
  317. package/rating/esm5/rating.config.js +29 -0
  318. package/rating/esm5/rating.module.js +3 -2
  319. package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
  320. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
  321. package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
  322. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
  323. package/rating/ngx-bootstrap-rating.metadata.json +1 -1
  324. package/rating/package.json +2 -2
  325. package/rating/public_api.d.ts +1 -0
  326. package/rating/rating.component.d.ts +4 -1
  327. package/rating/rating.config.d.ts +5 -0
  328. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
  329. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
  330. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
  331. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
  332. package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
  333. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
  334. package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
  335. package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
  336. package/sortable/package.json +2 -2
  337. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
  338. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
  339. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
  340. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
  341. package/tabs/esm2015/tab.directive.js +13 -2
  342. package/tabs/esm2015/tabset.component.js +7 -2
  343. package/tabs/esm2015/tabset.config.js +10 -1
  344. package/tabs/esm5/tab.directive.js +17 -2
  345. package/tabs/esm5/tabset.component.js +7 -2
  346. package/tabs/esm5/tabset.config.js +10 -1
  347. package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
  348. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
  349. package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
  350. package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
  351. package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
  352. package/tabs/package.json +2 -2
  353. package/tabs/tab.directive.d.ts +2 -0
  354. package/tabs/tabset.component.d.ts +2 -0
  355. package/tabs/tabset.config.d.ts +2 -0
  356. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
  357. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  358. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
  359. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  360. package/timepicker/esm2015/timepicker.component.js +8 -2
  361. package/timepicker/esm2015/timepicker.config.js +28 -1
  362. package/timepicker/esm2015/timepicker.utils.js +9 -6
  363. package/timepicker/esm5/timepicker.component.js +8 -2
  364. package/timepicker/esm5/timepicker.config.js +28 -1
  365. package/timepicker/esm5/timepicker.utils.js +9 -6
  366. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
  367. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  368. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -7
  369. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  370. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
  371. package/timepicker/package.json +2 -2
  372. package/timepicker/timepicker.component.d.ts +3 -0
  373. package/timepicker/timepicker.config.d.ts +6 -0
  374. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +355 -8
  375. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  376. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
  377. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  378. package/tooltip/esm2015/tooltip.directive.js +47 -10
  379. package/tooltip/esm5/tooltip.directive.js +50 -10
  380. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +200 -7
  381. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  382. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +203 -7
  383. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  384. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
  385. package/tooltip/package.json +2 -2
  386. package/tooltip/tooltip.directive.d.ts +3 -1
  387. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +719 -43
  388. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  389. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
  390. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  391. package/typeahead/esm2015/models/index.js +87 -0
  392. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
  393. package/typeahead/esm2015/public_api.js +2 -1
  394. package/typeahead/esm2015/typeahead-container.component.js +52 -11
  395. package/typeahead/esm2015/typeahead-order.class.js +19 -0
  396. package/typeahead/esm2015/typeahead.config.js +10 -1
  397. package/typeahead/esm2015/typeahead.directive.js +133 -30
  398. package/typeahead/esm5/models/index.js +87 -0
  399. package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
  400. package/typeahead/esm5/public_api.js +2 -1
  401. package/typeahead/esm5/typeahead-container.component.js +59 -11
  402. package/typeahead/esm5/typeahead-order.class.js +23 -0
  403. package/typeahead/esm5/typeahead.config.js +10 -1
  404. package/typeahead/esm5/typeahead.directive.js +140 -36
  405. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +550 -37
  406. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  407. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +567 -43
  408. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  409. package/typeahead/models/index.d.ts +41 -0
  410. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  411. package/typeahead/package.json +2 -2
  412. package/typeahead/public_api.d.ts +2 -0
  413. package/typeahead/typeahead-container.component.d.ts +10 -5
  414. package/typeahead/typeahead-order.class.d.ts +6 -0
  415. package/typeahead/typeahead.config.d.ts +2 -0
  416. package/typeahead/typeahead.directive.d.ts +28 -10
  417. package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
  418. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
  419. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
  420. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
  421. package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
  422. package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
  423. package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
  424. package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
  425. package/utils/package.json +2 -2
  426. package/bundles/ngx-bootstrap.umd.js +0 -1037
  427. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  428. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  429. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  430. package/esm2015/ngx-bootstrap.js +0 -9
  431. package/esm2015/public_api.js +0 -30
  432. package/esm5/ngx-bootstrap.js +0 -9
  433. package/esm5/public_api.js +0 -30
  434. package/fesm2015/ngx-bootstrap.js +0 -24
  435. package/fesm2015/ngx-bootstrap.js.map +0 -1
  436. package/fesm5/ngx-bootstrap.js +0 -24
  437. package/fesm5/ngx-bootstrap.js.map +0 -1
  438. package/ngx-bootstrap.d.ts +0 -4
  439. package/ngx-bootstrap.metadata.json +0 -1
  440. package/public_api.d.ts +0 -25
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-bootstrap/utils'), require('ngx-bootstrap/positioning')) :
3
3
  typeof define === 'function' && define.amd ? define('ngx-bootstrap/component-loader', ['exports', '@angular/core', 'ngx-bootstrap/utils', 'ngx-bootstrap/positioning'], factory) :
4
4
  (global = global || self, factory((global['ngx-bootstrap'] = global['ngx-bootstrap'] || {}, global['ngx-bootstrap']['component-loader'] = {}), global.ng.core, global.utils, global.positioning));
5
- }(this, function (exports, core, utils, positioning) { 'use strict';
5
+ }(this, (function (exports, core, utils, positioning) { 'use strict';
6
6
 
7
7
  /**
8
8
  * @fileoverview added by tsickle
@@ -19,6 +19,12 @@
19
19
  }
20
20
  return BsComponentRef;
21
21
  }());
22
+ if (false) {
23
+ /** @type {?} */
24
+ BsComponentRef.prototype.templateRef;
25
+ /** @type {?} */
26
+ BsComponentRef.prototype.viewContainer;
27
+ }
22
28
 
23
29
  /**
24
30
  * @fileoverview added by tsickle
@@ -40,6 +46,14 @@
40
46
  }
41
47
  return ContentRef;
42
48
  }());
49
+ if (false) {
50
+ /** @type {?} */
51
+ ContentRef.prototype.nodes;
52
+ /** @type {?} */
53
+ ContentRef.prototype.viewRef;
54
+ /** @type {?} */
55
+ ContentRef.prototype.componentRef;
56
+ }
43
57
 
44
58
  /**
45
59
  * @fileoverview added by tsickle
@@ -499,6 +513,132 @@
499
513
  };
500
514
  return ComponentLoader;
501
515
  }());
516
+ if (false) {
517
+ /** @type {?} */
518
+ ComponentLoader.prototype.onBeforeShow;
519
+ /** @type {?} */
520
+ ComponentLoader.prototype.onShown;
521
+ /** @type {?} */
522
+ ComponentLoader.prototype.onBeforeHide;
523
+ /** @type {?} */
524
+ ComponentLoader.prototype.onHidden;
525
+ /** @type {?} */
526
+ ComponentLoader.prototype.instance;
527
+ /** @type {?} */
528
+ ComponentLoader.prototype._componentRef;
529
+ /** @type {?} */
530
+ ComponentLoader.prototype._inlineViewRef;
531
+ /**
532
+ * @type {?}
533
+ * @private
534
+ */
535
+ ComponentLoader.prototype._providers;
536
+ /**
537
+ * @type {?}
538
+ * @private
539
+ */
540
+ ComponentLoader.prototype._componentFactory;
541
+ /**
542
+ * @type {?}
543
+ * @private
544
+ */
545
+ ComponentLoader.prototype._zoneSubscription;
546
+ /**
547
+ * @type {?}
548
+ * @private
549
+ */
550
+ ComponentLoader.prototype._contentRef;
551
+ /**
552
+ * @type {?}
553
+ * @private
554
+ */
555
+ ComponentLoader.prototype._innerComponent;
556
+ /**
557
+ * @type {?}
558
+ * @private
559
+ */
560
+ ComponentLoader.prototype._unregisterListenersFn;
561
+ /**
562
+ * @type {?}
563
+ * @private
564
+ */
565
+ ComponentLoader.prototype._isHiding;
566
+ /**
567
+ * Placement of a component. Accepts: "top", "bottom", "left", "right"
568
+ * @type {?}
569
+ * @private
570
+ */
571
+ ComponentLoader.prototype.attachment;
572
+ /**
573
+ * A selector specifying the element the popover should be appended to.
574
+ * @type {?}
575
+ * @private
576
+ */
577
+ ComponentLoader.prototype.container;
578
+ /**
579
+ * A selector used if container element was not found
580
+ * @type {?}
581
+ * @private
582
+ */
583
+ ComponentLoader.prototype.containerDefaultSelector;
584
+ /**
585
+ * Specifies events that should trigger. Supports a space separated list of
586
+ * event names.
587
+ * @type {?}
588
+ * @private
589
+ */
590
+ ComponentLoader.prototype.triggers;
591
+ /**
592
+ * @type {?}
593
+ * @private
594
+ */
595
+ ComponentLoader.prototype._listenOpts;
596
+ /**
597
+ * @type {?}
598
+ * @private
599
+ */
600
+ ComponentLoader.prototype._globalListener;
601
+ /**
602
+ * @type {?}
603
+ * @private
604
+ */
605
+ ComponentLoader.prototype._viewContainerRef;
606
+ /**
607
+ * @type {?}
608
+ * @private
609
+ */
610
+ ComponentLoader.prototype._renderer;
611
+ /**
612
+ * @type {?}
613
+ * @private
614
+ */
615
+ ComponentLoader.prototype._elementRef;
616
+ /**
617
+ * @type {?}
618
+ * @private
619
+ */
620
+ ComponentLoader.prototype._injector;
621
+ /**
622
+ * @type {?}
623
+ * @private
624
+ */
625
+ ComponentLoader.prototype._componentFactoryResolver;
626
+ /**
627
+ * @type {?}
628
+ * @private
629
+ */
630
+ ComponentLoader.prototype._ngZone;
631
+ /**
632
+ * @type {?}
633
+ * @private
634
+ */
635
+ ComponentLoader.prototype._applicationRef;
636
+ /**
637
+ * @type {?}
638
+ * @private
639
+ */
640
+ ComponentLoader.prototype._posService;
641
+ }
502
642
 
503
643
  /**
504
644
  * @fileoverview added by tsickle
@@ -550,6 +690,33 @@
550
690
  ]; };
551
691
  return ComponentLoaderFactory;
552
692
  }());
693
+ if (false) {
694
+ /**
695
+ * @type {?}
696
+ * @private
697
+ */
698
+ ComponentLoaderFactory.prototype._componentFactoryResolver;
699
+ /**
700
+ * @type {?}
701
+ * @private
702
+ */
703
+ ComponentLoaderFactory.prototype._ngZone;
704
+ /**
705
+ * @type {?}
706
+ * @private
707
+ */
708
+ ComponentLoaderFactory.prototype._injector;
709
+ /**
710
+ * @type {?}
711
+ * @private
712
+ */
713
+ ComponentLoaderFactory.prototype._posService;
714
+ /**
715
+ * @type {?}
716
+ * @private
717
+ */
718
+ ComponentLoaderFactory.prototype._applicationRef;
719
+ }
553
720
 
554
721
  exports.BsComponentRef = BsComponentRef;
555
722
  exports.ComponentLoader = ComponentLoader;
@@ -558,5 +725,5 @@
558
725
 
559
726
  Object.defineProperty(exports, '__esModule', { value: true });
560
727
 
561
- }));
728
+ })));
562
729
  //# sourceMappingURL=ngx-bootstrap-component-loader.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-component-loader.umd.js","sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"],"names":["EventEmitter","Injector","ElementRef","listenToTriggersV2","registerOutsideClick","registerEscClick","TemplateRef","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-bootstrap-component-loader.umd.js","sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"],"names":["EventEmitter","Injector","ElementRef","listenToTriggersV2","registerOutsideClick","registerEscClick","TemplateRef","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("ngx-bootstrap/utils"),require("ngx-bootstrap/positioning")):"function"==typeof define&&define.amd?define("ngx-bootstrap/component-loader",["exports","@angular/core","ngx-bootstrap/utils","ngx-bootstrap/positioning"],t):t(((e=e||self)["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"]["component-loader"]={}),e.ng.core,e.utils,e.positioning)}(this,function(e,t,n,i){"use strict";var o=function(){},s=function(e,t,n){this.nodes=e,this.viewRef=t,this.componentRef=n},r=function(){function e(e,n,i,o,s,r,c,h){this._viewContainerRef=e,this._renderer=n,this._elementRef=i,this._injector=o,this._componentFactoryResolver=s,this._ngZone=r,this._applicationRef=c,this._posService=h,this.onBeforeShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.onBeforeHide=new t.EventEmitter,this.onHidden=new t.EventEmitter,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}return Object.defineProperty(e.prototype,"isShown",{get:function(){return!this._isHiding&&!!this._componentRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(e),this},e.prototype.to=function(e){return this.container=e||this.container,this},e.prototype.position=function(e){return this.attachment=e.attachment||this.attachment,this._elementRef=e.target||this._elementRef,this},e.prototype.provide=function(e){return this._providers.push(e),this},e.prototype.show=function(e){if(void 0===e&&(e={}),this._subscribePositioning(),this._innerComponent=null,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(e.content,e.context,e.initialState);var n=t.Injector.create({providers:this._providers,parent:this._injector});if(this._componentRef=this._componentFactory.create(n,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,e),this.container instanceof t.ElementRef&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),"string"==typeof this.container&&"undefined"!=typeof document)(document.querySelector(this.container)||document.querySelector(this.containerDefaultSelector)).appendChild(this._componentRef.location.nativeElement);!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef},e.prototype.hide=function(){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);var e=this._componentRef.location.nativeElement;return e.parentNode.removeChild(e),this._contentRef.componentRef&&this._contentRef.componentRef.destroy(),this._componentRef.destroy(),this._viewContainerRef&&this._contentRef.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._contentRef=null,this._componentRef=null,this._removeGlobalListener(),this.onHidden.emit(),this},e.prototype.toggle=function(){this.isShown?this.hide():this.show()},e.prototype.dispose=function(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()},e.prototype.listen=function(e){var t=this;this.triggers=e.triggers||this.triggers,this._listenOpts.outsideClick=e.outsideClick,this._listenOpts.outsideEsc=e.outsideEsc,e.target=e.target||this._elementRef.nativeElement;var i=this._listenOpts.hide=function(){return e.hide?e.hide():void t.hide()},o=this._listenOpts.show=function(n){e.show?e.show(n):t.show(n),n()};return this._unregisterListenersFn=n.listenToTriggersV2(this._renderer,{target:e.target,triggers:e.triggers,show:o,hide:i,toggle:function(e){t.isShown?i():o(e)}}),this},e.prototype._removeGlobalListener=function(){this._globalListener&&(this._globalListener(),this._globalListener=null)},e.prototype.attachInline=function(e,t){return this._inlineViewRef=e.createEmbeddedView(t),this},e.prototype._registerOutsideClick=function(){var e=this;if(this._componentRef&&this._componentRef.location){if(this._listenOpts.outsideClick){var t=this._componentRef.location.nativeElement;setTimeout(function(){e._globalListener=n.registerOutsideClick(e._renderer,{targets:[t,e._elementRef.nativeElement],outsideClick:e._listenOpts.outsideClick,hide:function(){return e._listenOpts.hide()}})})}if(this._listenOpts.outsideEsc){var i=this._componentRef.location.nativeElement;this._globalListener=n.registerEscClick(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:function(){return e._listenOpts.hide()}})}}},e.prototype.getInnerComponent=function(){return this._innerComponent},e.prototype._subscribePositioning=function(){var e=this;!this._zoneSubscription&&this.attachment&&(this.onShown.subscribe(function(){e._posService.position({element:e._componentRef.location,target:e._elementRef,attachment:e.attachment,appendToBody:"body"===e.container})}),this._zoneSubscription=this._ngZone.onStable.subscribe(function(){e._componentRef&&e._posService.calcPosition()}))},e.prototype._unsubscribePositioning=function(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=null)},e.prototype._getContentRef=function(e,n,i){if(!e)return new s([]);if(e instanceof t.TemplateRef){if(this._viewContainerRef){var o=this._viewContainerRef.createEmbeddedView(e,n);return o.markForCheck(),new s([o.rootNodes],o)}var r=e.createEmbeddedView({});return this._applicationRef.attachView(r),new s([r.rootNodes],r)}if("function"==typeof e){var c=this._componentFactoryResolver.resolveComponentFactory(e),h=t.Injector.create({providers:this._providers,parent:this._injector}),a=c.create(h);return Object.assign(a.instance,i),this._applicationRef.attachView(a.hostView),new s([[a.location.nativeElement]],a.hostView,a)}return new s([[this._renderer.createText(""+e)]])},e}(),c=function(){function e(e,t,n,i,o){this._componentFactoryResolver=e,this._ngZone=t,this._injector=n,this._posService=i,this._applicationRef=o}return e.prototype.createLoader=function(e,t,n){return new r(t,n,e,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.NgZone},{type:t.Injector},{type:i.PositioningService},{type:t.ApplicationRef}]},e}();e.BsComponentRef=o,e.ComponentLoader=r,e.ComponentLoaderFactory=c,e.ContentRef=s,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("ngx-bootstrap/utils"),require("ngx-bootstrap/positioning")):"function"==typeof define&&define.amd?define("ngx-bootstrap/component-loader",["exports","@angular/core","ngx-bootstrap/utils","ngx-bootstrap/positioning"],t):t(((e=e||self)["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"]["component-loader"]={}),e.ng.core,e.utils,e.positioning)}(this,(function(e,t,n,i){"use strict";var o=function(){};var s=function(e,t,n){this.nodes=e,this.viewRef=t,this.componentRef=n};var r=function(){function e(e,n,i,o,s,r,c,h){this._viewContainerRef=e,this._renderer=n,this._elementRef=i,this._injector=o,this._componentFactoryResolver=s,this._ngZone=r,this._applicationRef=c,this._posService=h,this.onBeforeShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.onBeforeHide=new t.EventEmitter,this.onHidden=new t.EventEmitter,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}return Object.defineProperty(e.prototype,"isShown",{get:function(){return!this._isHiding&&!!this._componentRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(e),this},e.prototype.to=function(e){return this.container=e||this.container,this},e.prototype.position=function(e){return this.attachment=e.attachment||this.attachment,this._elementRef=e.target||this._elementRef,this},e.prototype.provide=function(e){return this._providers.push(e),this},e.prototype.show=function(e){if(void 0===e&&(e={}),this._subscribePositioning(),this._innerComponent=null,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(e.content,e.context,e.initialState);var n=t.Injector.create({providers:this._providers,parent:this._injector});if(this._componentRef=this._componentFactory.create(n,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,e),this.container instanceof t.ElementRef&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),"string"==typeof this.container&&"undefined"!=typeof document)(document.querySelector(this.container)||document.querySelector(this.containerDefaultSelector)).appendChild(this._componentRef.location.nativeElement);!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef},e.prototype.hide=function(){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);var e=this._componentRef.location.nativeElement;return e.parentNode.removeChild(e),this._contentRef.componentRef&&this._contentRef.componentRef.destroy(),this._componentRef.destroy(),this._viewContainerRef&&this._contentRef.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._contentRef=null,this._componentRef=null,this._removeGlobalListener(),this.onHidden.emit(),this},e.prototype.toggle=function(){this.isShown?this.hide():this.show()},e.prototype.dispose=function(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()},e.prototype.listen=function(e){var t=this;this.triggers=e.triggers||this.triggers,this._listenOpts.outsideClick=e.outsideClick,this._listenOpts.outsideEsc=e.outsideEsc,e.target=e.target||this._elementRef.nativeElement;var i=this._listenOpts.hide=function(){return e.hide?e.hide():void t.hide()},o=this._listenOpts.show=function(n){e.show?e.show(n):t.show(n),n()};return this._unregisterListenersFn=n.listenToTriggersV2(this._renderer,{target:e.target,triggers:e.triggers,show:o,hide:i,toggle:function(e){t.isShown?i():o(e)}}),this},e.prototype._removeGlobalListener=function(){this._globalListener&&(this._globalListener(),this._globalListener=null)},e.prototype.attachInline=function(e,t){return this._inlineViewRef=e.createEmbeddedView(t),this},e.prototype._registerOutsideClick=function(){var e=this;if(this._componentRef&&this._componentRef.location){if(this._listenOpts.outsideClick){var t=this._componentRef.location.nativeElement;setTimeout((function(){e._globalListener=n.registerOutsideClick(e._renderer,{targets:[t,e._elementRef.nativeElement],outsideClick:e._listenOpts.outsideClick,hide:function(){return e._listenOpts.hide()}})}))}if(this._listenOpts.outsideEsc){var i=this._componentRef.location.nativeElement;this._globalListener=n.registerEscClick(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:function(){return e._listenOpts.hide()}})}}},e.prototype.getInnerComponent=function(){return this._innerComponent},e.prototype._subscribePositioning=function(){var e=this;!this._zoneSubscription&&this.attachment&&(this.onShown.subscribe((function(){e._posService.position({element:e._componentRef.location,target:e._elementRef,attachment:e.attachment,appendToBody:"body"===e.container})})),this._zoneSubscription=this._ngZone.onStable.subscribe((function(){e._componentRef&&e._posService.calcPosition()})))},e.prototype._unsubscribePositioning=function(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=null)},e.prototype._getContentRef=function(e,n,i){if(!e)return new s([]);if(e instanceof t.TemplateRef){if(this._viewContainerRef){var o=this._viewContainerRef.createEmbeddedView(e,n);return o.markForCheck(),new s([o.rootNodes],o)}var r=e.createEmbeddedView({});return this._applicationRef.attachView(r),new s([r.rootNodes],r)}if("function"==typeof e){var c=this._componentFactoryResolver.resolveComponentFactory(e),h=t.Injector.create({providers:this._providers,parent:this._injector}),a=c.create(h);return Object.assign(a.instance,i),this._applicationRef.attachView(a.hostView),new s([[a.location.nativeElement]],a.hostView,a)}return new s([[this._renderer.createText(""+e)]])},e}();var c=function(){function e(e,t,n,i,o){this._componentFactoryResolver=e,this._ngZone=t,this._injector=n,this._posService=i,this._applicationRef=o}return e.prototype.createLoader=function(e,t,n){return new r(t,n,e,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.NgZone},{type:t.Injector},{type:i.PositioningService},{type:t.ApplicationRef}]},e}();e.BsComponentRef=o,e.ComponentLoader=r,e.ComponentLoaderFactory=c,e.ContentRef=s,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=ngx-bootstrap-component-loader.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"names":["ContentRef","nodes","viewRef","componentRef","this","ComponentLoader","_viewContainerRef","_renderer","_elementRef","_injector","_componentFactoryResolver","_ngZone","_applicationRef","_posService","onBeforeShow","EventEmitter","onShown","onBeforeHide","onHidden","_providers","_isHiding","containerDefaultSelector","_listenOpts","_globalListener","Function","prototype","Object","defineProperty","_componentRef","attach","compType","_componentFactory","resolveComponentFactory","to","container","position","opts","attachment","provide","provider","push","show","_subscribePositioning","_innerComponent","emit","_contentRef","_getContentRef","content","context","initialState","injector","Injector","create","providers","parent","attachView","hostView","instance","assign","ElementRef","nativeElement","appendChild","location","document","querySelector","parentElement","changeDetectorRef","markForCheck","detectChanges","_registerOutsideClick","hide","deletePositionElement","componentEl","parentNode","removeChild","destroy","remove","indexOf","_removeGlobalListener","toggle","isShown","dispose","_unsubscribePositioning","_unregisterListenersFn","listen","listenOpts","_this","triggers","outsideClick","outsideEsc","target","registerHide","listenToTriggersV2","attachInline","vRef","template","_inlineViewRef","createEmbeddedView","target_1","setTimeout","registerOutsideClick","targets","registerEscClick","getInnerComponent","_zoneSubscription","subscribe","element","appendToBody","onStable","calcPosition","unsubscribe","TemplateRef","_viewRef","rootNodes","contentCmptFactory","modalContentInjector","createText","ComponentLoaderFactory","createLoader","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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","sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"names":["nodes","viewRef","componentRef","this","ComponentLoader","_viewContainerRef","_renderer","_elementRef","_injector","_componentFactoryResolver","_ngZone","_applicationRef","_posService","onBeforeShow","EventEmitter","onShown","onBeforeHide","onHidden","_providers","_isHiding","containerDefaultSelector","_listenOpts","_globalListener","Function","prototype","Object","defineProperty","_componentRef","attach","compType","_componentFactory","resolveComponentFactory","to","container","position","opts","attachment","provide","provider","push","show","_subscribePositioning","_innerComponent","emit","_contentRef","_getContentRef","content","context","initialState","injector","Injector","create","providers","parent","attachView","hostView","instance","assign","ElementRef","nativeElement","appendChild","location","document","querySelector","parentElement","changeDetectorRef","markForCheck","detectChanges","_registerOutsideClick","hide","deletePositionElement","componentEl","parentNode","removeChild","destroy","remove","indexOf","_removeGlobalListener","toggle","isShown","dispose","_unsubscribePositioning","_unregisterListenersFn","listen","listenOpts","_this","triggers","outsideClick","outsideEsc","target","registerHide","listenToTriggersV2","attachInline","vRef","template","_inlineViewRef","createEmbeddedView","target_1","setTimeout","registerOutsideClick","targets","registerEscClick","getInnerComponent","_zoneSubscription","subscribe","element","appendToBody","onStable","calcPosition","unsubscribe","ContentRef","TemplateRef","_viewRef","rootNodes","contentCmptFactory","modalContentInjector","createText","ComponentLoaderFactory","createLoader","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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","sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"]}