ngx-bootstrap 1.8.1 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +25 -10
  3. package/accordion/accordion-group.component.js +3 -2
  4. package/accordion/accordion-group.component.js.map +1 -1
  5. package/accordion/accordion-group.component.metadata.json +1 -1
  6. package/accordion/accordion.component.js +2 -1
  7. package/accordion/accordion.component.js.map +1 -1
  8. package/accordion/accordion.config.js +2 -1
  9. package/accordion/accordion.config.js.map +1 -1
  10. package/accordion/accordion.module.js +2 -1
  11. package/accordion/accordion.module.js.map +1 -1
  12. package/accordion/index.js.map +1 -1
  13. package/alert/alert.component.js +4 -3
  14. package/alert/alert.component.js.map +1 -1
  15. package/alert/alert.config.js +2 -1
  16. package/alert/alert.config.js.map +1 -1
  17. package/alert/alert.module.js +2 -1
  18. package/alert/alert.module.js.map +1 -1
  19. package/alert/index.js.map +1 -1
  20. package/bs-moment/LICENSE +26 -0
  21. package/bs-moment/format-functions.d.ts +13 -0
  22. package/bs-moment/format-functions.js +53 -0
  23. package/bs-moment/format-functions.js.map +1 -0
  24. package/bs-moment/format-functions.metadata.json +1 -0
  25. package/bs-moment/format.d.ts +6 -0
  26. package/bs-moment/format.js +43 -0
  27. package/bs-moment/format.js.map +1 -0
  28. package/bs-moment/format.metadata.json +1 -0
  29. package/bs-moment/i18n/ar.d.ts +2 -0
  30. package/bs-moment/i18n/ar.js +131 -0
  31. package/bs-moment/i18n/ar.js.map +1 -0
  32. package/bs-moment/i18n/ar.metadata.json +1 -0
  33. package/bs-moment/i18n/de.d.ts +2 -0
  34. package/bs-moment/i18n/de.js +67 -0
  35. package/bs-moment/i18n/de.js.map +1 -0
  36. package/bs-moment/i18n/de.metadata.json +1 -0
  37. package/bs-moment/i18n/en-gb.d.ts +2 -0
  38. package/bs-moment/i18n/en-gb.js +60 -0
  39. package/bs-moment/i18n/en-gb.js.map +1 -0
  40. package/bs-moment/i18n/en-gb.metadata.json +1 -0
  41. package/bs-moment/i18n/es-do.d.ts +2 -0
  42. package/bs-moment/i18n/es-do.js +61 -0
  43. package/bs-moment/i18n/es-do.js.map +1 -0
  44. package/bs-moment/i18n/es-do.metadata.json +1 -0
  45. package/bs-moment/i18n/es-us.d.ts +2 -0
  46. package/bs-moment/i18n/es-us.js +54 -0
  47. package/bs-moment/i18n/es-us.js.map +1 -0
  48. package/bs-moment/i18n/es-us.metadata.json +1 -0
  49. package/bs-moment/i18n/es.d.ts +2 -0
  50. package/bs-moment/i18n/es.js +62 -0
  51. package/bs-moment/i18n/es.js.map +1 -0
  52. package/bs-moment/i18n/es.metadata.json +1 -0
  53. package/bs-moment/i18n/fr.d.ts +2 -0
  54. package/bs-moment/i18n/fr.js +70 -0
  55. package/bs-moment/i18n/fr.js.map +1 -0
  56. package/bs-moment/i18n/fr.metadata.json +1 -0
  57. package/bs-moment/i18n/hi.d.ts +2 -0
  58. package/bs-moment/i18n/hi.js +119 -0
  59. package/bs-moment/i18n/hi.js.map +1 -0
  60. package/bs-moment/i18n/hi.metadata.json +1 -0
  61. package/bs-moment/i18n/it.d.ts +2 -0
  62. package/bs-moment/i18n/it.js +27 -0
  63. package/bs-moment/i18n/it.js.map +1 -0
  64. package/bs-moment/i18n/it.metadata.json +1 -0
  65. package/bs-moment/i18n/ja.d.ts +2 -0
  66. package/bs-moment/i18n/ja.js +65 -0
  67. package/bs-moment/i18n/ja.js.map +1 -0
  68. package/bs-moment/i18n/ja.metadata.json +1 -0
  69. package/bs-moment/i18n/ko.d.ts +2 -0
  70. package/bs-moment/i18n/ko.js +72 -0
  71. package/bs-moment/i18n/ko.js.map +1 -0
  72. package/bs-moment/i18n/ko.metadata.json +1 -0
  73. package/bs-moment/i18n/nl-be.d.ts +2 -0
  74. package/bs-moment/i18n/nl-be.js +73 -0
  75. package/bs-moment/i18n/nl-be.js.map +1 -0
  76. package/bs-moment/i18n/nl-be.metadata.json +1 -0
  77. package/bs-moment/i18n/nl.d.ts +2 -0
  78. package/bs-moment/i18n/nl.js +73 -0
  79. package/bs-moment/i18n/nl.js.map +1 -0
  80. package/bs-moment/i18n/nl.metadata.json +1 -0
  81. package/bs-moment/i18n/pl.d.ts +2 -0
  82. package/bs-moment/i18n/pl.js +77 -0
  83. package/bs-moment/i18n/pl.js.map +1 -0
  84. package/bs-moment/i18n/pl.metadata.json +1 -0
  85. package/bs-moment/i18n/pt-br.d.ts +2 -0
  86. package/bs-moment/i18n/pt-br.js +39 -0
  87. package/bs-moment/i18n/pt-br.js.map +1 -0
  88. package/bs-moment/i18n/pt-br.metadata.json +1 -0
  89. package/bs-moment/i18n/ru.d.ts +2 -0
  90. package/bs-moment/i18n/ru.js +120 -0
  91. package/bs-moment/i18n/ru.js.map +1 -0
  92. package/bs-moment/i18n/ru.metadata.json +1 -0
  93. package/bs-moment/i18n/zh-cn.d.ts +2 -0
  94. package/bs-moment/i18n/zh-cn.js +107 -0
  95. package/bs-moment/i18n/zh-cn.js.map +1 -0
  96. package/bs-moment/i18n/zh-cn.metadata.json +1 -0
  97. package/bs-moment/index.d.ts +1 -0
  98. package/bs-moment/index.js +2 -0
  99. package/bs-moment/index.js.map +1 -0
  100. package/bs-moment/index.metadata.json +1 -0
  101. package/bs-moment/locale/en.d.ts +0 -0
  102. package/bs-moment/locale/en.js +14 -0
  103. package/bs-moment/locale/en.js.map +1 -0
  104. package/bs-moment/locale/index.d.ts +1 -0
  105. package/bs-moment/locale/index.js +2 -0
  106. package/bs-moment/locale/index.js.map +1 -0
  107. package/bs-moment/locale/locale.class.d.ts +60 -0
  108. package/bs-moment/locale/locale.class.js +117 -0
  109. package/bs-moment/locale/locale.class.js.map +1 -0
  110. package/bs-moment/locale/locale.class.metadata.json +1 -0
  111. package/bs-moment/locale/locale.defaults.d.ts +8 -0
  112. package/bs-moment/locale/locale.defaults.js +23 -0
  113. package/bs-moment/locale/locale.defaults.js.map +1 -0
  114. package/bs-moment/locale/locale.defaults.metadata.json +1 -0
  115. package/bs-moment/locale/locales.service.d.ts +8 -0
  116. package/bs-moment/locale/locales.service.js +81 -0
  117. package/bs-moment/locale/locales.service.js.map +1 -0
  118. package/bs-moment/locale/locales.service.metadata.json +1 -0
  119. package/bs-moment/types.d.ts +11 -0
  120. package/bs-moment/types.js +1 -0
  121. package/bs-moment/types.js.map +1 -0
  122. package/bs-moment/types.metadata.json +1 -0
  123. package/bs-moment/units/day-of-month.d.ts +0 -0
  124. package/bs-moment/units/day-of-month.js +6 -0
  125. package/bs-moment/units/day-of-month.js.map +1 -0
  126. package/bs-moment/units/day-of-week.d.ts +3 -0
  127. package/bs-moment/units/day-of-week.js +28 -0
  128. package/bs-moment/units/day-of-week.js.map +1 -0
  129. package/bs-moment/units/day-of-week.metadata.json +1 -0
  130. package/bs-moment/units/day-of-year.d.ts +2 -0
  131. package/bs-moment/units/day-of-year.js +20 -0
  132. package/bs-moment/units/day-of-year.js.map +1 -0
  133. package/bs-moment/units/day-of-year.metadata.json +1 -0
  134. package/bs-moment/units/hour.d.ts +0 -0
  135. package/bs-moment/units/hour.js +49 -0
  136. package/bs-moment/units/hour.js.map +1 -0
  137. package/bs-moment/units/index.d.ts +10 -0
  138. package/bs-moment/units/index.js +11 -0
  139. package/bs-moment/units/index.js.map +1 -0
  140. package/bs-moment/units/minute.d.ts +0 -0
  141. package/bs-moment/units/minute.js +6 -0
  142. package/bs-moment/units/minute.js.map +1 -0
  143. package/bs-moment/units/month.d.ts +1 -0
  144. package/bs-moment/units/month.js +23 -0
  145. package/bs-moment/units/month.js.map +1 -0
  146. package/bs-moment/units/month.metadata.json +1 -0
  147. package/bs-moment/units/second.d.ts +0 -0
  148. package/bs-moment/units/second.js +6 -0
  149. package/bs-moment/units/second.js.map +1 -0
  150. package/bs-moment/units/week-calendar-utils.d.ts +9 -0
  151. package/bs-moment/units/week-calendar-utils.js +70 -0
  152. package/bs-moment/units/week-calendar-utils.js.map +1 -0
  153. package/bs-moment/units/week-calendar-utils.metadata.json +1 -0
  154. package/bs-moment/units/week.d.ts +3 -0
  155. package/bs-moment/units/week.js +15 -0
  156. package/bs-moment/units/week.js.map +1 -0
  157. package/bs-moment/units/week.metadata.json +1 -0
  158. package/bs-moment/units/year.d.ts +2 -0
  159. package/bs-moment/units/year.js +23 -0
  160. package/bs-moment/units/year.js.map +1 -0
  161. package/bs-moment/units/year.metadata.json +1 -0
  162. package/bs-moment/utils/date-compare.d.ts +7 -0
  163. package/bs-moment/utils/date-compare.js +50 -0
  164. package/bs-moment/utils/date-compare.js.map +1 -0
  165. package/bs-moment/utils/date-compare.metadata.json +1 -0
  166. package/bs-moment/utils/date-getters.d.ts +14 -0
  167. package/bs-moment/utils/date-getters.js +61 -0
  168. package/bs-moment/utils/date-getters.js.map +1 -0
  169. package/bs-moment/utils/date-getters.metadata.json +1 -0
  170. package/bs-moment/utils/date-setters.d.ts +4 -0
  171. package/bs-moment/utils/date-setters.js +23 -0
  172. package/bs-moment/utils/date-setters.js.map +1 -0
  173. package/bs-moment/utils/date-setters.metadata.json +1 -0
  174. package/bs-moment/utils/start-end-of.d.ts +3 -0
  175. package/bs-moment/utils/start-end-of.js +35 -0
  176. package/bs-moment/utils/start-end-of.js.map +1 -0
  177. package/bs-moment/utils/start-end-of.metadata.json +1 -0
  178. package/bs-moment/utils/type-checks.d.ts +7 -0
  179. package/bs-moment/utils/type-checks.js +30 -0
  180. package/bs-moment/utils/type-checks.js.map +1 -0
  181. package/bs-moment/utils/type-checks.metadata.json +1 -0
  182. package/bs-moment/utils.d.ts +4 -0
  183. package/bs-moment/utils.js +24 -0
  184. package/bs-moment/utils.js.map +1 -0
  185. package/bs-moment/utils.metadata.json +1 -0
  186. package/bundles/ngx-bootstrap.umd.js +8786 -20532
  187. package/bundles/ngx-bootstrap.umd.js.map +1 -1
  188. package/bundles/ngx-bootstrap.umd.min.js +2 -2
  189. package/buttons/button-checkbox.directive.js +2 -1
  190. package/buttons/button-checkbox.directive.js.map +1 -1
  191. package/buttons/button-radio.directive.js +2 -1
  192. package/buttons/button-radio.directive.js.map +1 -1
  193. package/buttons/buttons.module.js +2 -1
  194. package/buttons/buttons.module.js.map +1 -1
  195. package/buttons/index.js.map +1 -1
  196. package/carousel/carousel.component.d.ts +3 -2
  197. package/carousel/carousel.component.js +31 -12
  198. package/carousel/carousel.component.js.map +1 -1
  199. package/carousel/carousel.component.metadata.json +1 -1
  200. package/carousel/carousel.config.js +2 -1
  201. package/carousel/carousel.config.js.map +1 -1
  202. package/carousel/carousel.module.js +2 -1
  203. package/carousel/carousel.module.js.map +1 -1
  204. package/carousel/index.js.map +1 -1
  205. package/carousel/slide.component.js +2 -1
  206. package/carousel/slide.component.js.map +1 -1
  207. package/collapse/collapse.directive.js +3 -1
  208. package/collapse/collapse.directive.js.map +1 -1
  209. package/collapse/collapse.module.js +2 -1
  210. package/collapse/collapse.module.js.map +1 -1
  211. package/collapse/index.js.map +1 -1
  212. package/component-loader/bs-component-ref.class.js +2 -1
  213. package/component-loader/bs-component-ref.class.js.map +1 -1
  214. package/component-loader/bs-component-ref.class.metadata.json +1 -1
  215. package/component-loader/component-loader.class.d.ts +10 -9
  216. package/component-loader/component-loader.class.js +56 -12
  217. package/component-loader/component-loader.class.js.map +1 -1
  218. package/component-loader/component-loader.class.metadata.json +1 -1
  219. package/component-loader/component-loader.factory.js +2 -1
  220. package/component-loader/component-loader.factory.js.map +1 -1
  221. package/component-loader/content-ref.class.js +2 -1
  222. package/component-loader/content-ref.class.js.map +1 -1
  223. package/component-loader/index.js.map +1 -1
  224. package/component-loader/listen-options.model.d.ts +9 -0
  225. package/component-loader/listen-options.model.js +1 -0
  226. package/component-loader/listen-options.model.js.map +1 -0
  227. package/component-loader/listen-options.model.metadata.json +1 -0
  228. package/datepicker/base/bs-datepicker-container.d.ts +26 -0
  229. package/datepicker/base/bs-datepicker-container.js +41 -0
  230. package/datepicker/base/bs-datepicker-container.js.map +1 -0
  231. package/datepicker/base/bs-datepicker-container.metadata.json +1 -0
  232. package/datepicker/bs-datepicker-input.directive.d.ts +21 -0
  233. package/datepicker/bs-datepicker-input.directive.js +79 -0
  234. package/datepicker/bs-datepicker-input.directive.js.map +1 -0
  235. package/datepicker/bs-datepicker-input.directive.metadata.json +1 -0
  236. package/datepicker/bs-datepicker.component.d.ts +85 -0
  237. package/datepicker/bs-datepicker.component.js +184 -0
  238. package/datepicker/bs-datepicker.component.js.map +1 -0
  239. package/datepicker/bs-datepicker.component.metadata.json +1 -0
  240. package/datepicker/bs-datepicker.config.d.ts +36 -0
  241. package/datepicker/bs-datepicker.config.js +39 -0
  242. package/datepicker/bs-datepicker.config.js.map +1 -0
  243. package/datepicker/bs-datepicker.config.metadata.json +1 -0
  244. package/datepicker/bs-datepicker.css +424 -0
  245. package/datepicker/bs-datepicker.css.map +16 -0
  246. package/datepicker/bs-datepicker.module.d.ts +5 -0
  247. package/datepicker/bs-datepicker.module.js +69 -0
  248. package/datepicker/bs-datepicker.module.js.map +1 -0
  249. package/datepicker/bs-datepicker.module.metadata.json +1 -0
  250. package/datepicker/bs-datepicker.scss +532 -0
  251. package/datepicker/bs-daterangepicker-input.directive.d.ts +21 -0
  252. package/datepicker/bs-daterangepicker-input.directive.js +87 -0
  253. package/datepicker/bs-daterangepicker-input.directive.js.map +1 -0
  254. package/datepicker/bs-daterangepicker-input.directive.metadata.json +1 -0
  255. package/datepicker/bs-daterangepicker.component.d.ts +84 -0
  256. package/datepicker/bs-daterangepicker.component.js +184 -0
  257. package/datepicker/bs-daterangepicker.component.js.map +1 -0
  258. package/datepicker/bs-daterangepicker.component.metadata.json +1 -0
  259. package/datepicker/date-formatter.d.ts +1 -1
  260. package/datepicker/date-formatter.js +5 -4
  261. package/datepicker/date-formatter.js.map +1 -1
  262. package/datepicker/datepicker-inner.component.d.ts +1 -0
  263. package/datepicker/datepicker-inner.component.js +5 -2
  264. package/datepicker/datepicker-inner.component.js.map +1 -1
  265. package/datepicker/datepicker-inner.component.metadata.json +1 -1
  266. package/datepicker/datepicker.component.d.ts +1 -1
  267. package/datepicker/datepicker.component.js +3 -2
  268. package/datepicker/datepicker.component.js.map +1 -1
  269. package/datepicker/datepicker.component.metadata.json +1 -1
  270. package/datepicker/datepicker.config.d.ts +1 -0
  271. package/datepicker/datepicker.config.js +3 -1
  272. package/datepicker/datepicker.config.js.map +1 -1
  273. package/datepicker/datepicker.module.js +2 -1
  274. package/datepicker/datepicker.module.js.map +1 -1
  275. package/datepicker/daypicker.component.js +4 -2
  276. package/datepicker/daypicker.component.js.map +1 -1
  277. package/datepicker/daypicker.component.metadata.json +1 -1
  278. package/datepicker/engine/calc-days-calendar.d.ts +2 -0
  279. package/datepicker/engine/calc-days-calendar.js +18 -0
  280. package/datepicker/engine/calc-days-calendar.js.map +1 -0
  281. package/datepicker/engine/calc-days-calendar.metadata.json +1 -0
  282. package/datepicker/engine/flag-days-calendar.d.ts +12 -0
  283. package/datepicker/engine/flag-days-calendar.js +71 -0
  284. package/datepicker/engine/flag-days-calendar.js.map +1 -0
  285. package/datepicker/engine/flag-days-calendar.metadata.json +1 -0
  286. package/datepicker/engine/flag-months-calendar.d.ts +10 -0
  287. package/datepicker/engine/flag-months-calendar.js +27 -0
  288. package/datepicker/engine/flag-months-calendar.js.map +1 -0
  289. package/datepicker/engine/flag-months-calendar.metadata.json +1 -0
  290. package/datepicker/engine/flag-years-calendar.d.ts +10 -0
  291. package/datepicker/engine/flag-years-calendar.js +29 -0
  292. package/datepicker/engine/flag-years-calendar.js.map +1 -0
  293. package/datepicker/engine/flag-years-calendar.metadata.json +1 -0
  294. package/datepicker/engine/format-days-calendar.d.ts +3 -0
  295. package/datepicker/engine/format-days-calendar.js +25 -0
  296. package/datepicker/engine/format-days-calendar.js.map +1 -0
  297. package/datepicker/engine/format-days-calendar.metadata.json +1 -0
  298. package/datepicker/engine/format-months-calendar.d.ts +2 -0
  299. package/datepicker/engine/format-months-calendar.js +20 -0
  300. package/datepicker/engine/format-months-calendar.js.map +1 -0
  301. package/datepicker/engine/format-months-calendar.metadata.json +1 -0
  302. package/datepicker/engine/format-years-calendar.d.ts +3 -0
  303. package/datepicker/engine/format-years-calendar.js +28 -0
  304. package/datepicker/engine/format-years-calendar.js.map +1 -0
  305. package/datepicker/engine/format-years-calendar.metadata.json +1 -0
  306. package/datepicker/engine/view-mode.d.ts +2 -0
  307. package/datepicker/engine/view-mode.js +4 -0
  308. package/datepicker/engine/view-mode.js.map +1 -0
  309. package/datepicker/engine/view-mode.metadata.json +1 -0
  310. package/datepicker/index.d.ts +4 -0
  311. package/datepicker/index.js +4 -8
  312. package/datepicker/index.js.map +1 -1
  313. package/datepicker/index.metadata.json +1 -1
  314. package/datepicker/models/index.d.ts +89 -0
  315. package/datepicker/models/index.js +9 -0
  316. package/datepicker/models/index.js.map +1 -0
  317. package/datepicker/models/index.metadata.json +1 -0
  318. package/datepicker/monthpicker.component.js +4 -2
  319. package/datepicker/monthpicker.component.js.map +1 -1
  320. package/datepicker/monthpicker.component.metadata.json +1 -1
  321. package/datepicker/reducer/_defaults.d.ts +2 -0
  322. package/datepicker/reducer/_defaults.js +5 -0
  323. package/datepicker/reducer/_defaults.js.map +1 -0
  324. package/datepicker/reducer/_defaults.metadata.json +1 -0
  325. package/datepicker/reducer/bs-datepicker.actions.d.ts +31 -0
  326. package/datepicker/reducer/bs-datepicker.actions.js +90 -0
  327. package/datepicker/reducer/bs-datepicker.actions.js.map +1 -0
  328. package/datepicker/reducer/bs-datepicker.actions.metadata.json +1 -0
  329. package/datepicker/reducer/bs-datepicker.effects.d.ts +33 -0
  330. package/datepicker/reducer/bs-datepicker.effects.js +173 -0
  331. package/datepicker/reducer/bs-datepicker.effects.js.map +1 -0
  332. package/datepicker/reducer/bs-datepicker.effects.metadata.json +1 -0
  333. package/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
  334. package/datepicker/reducer/bs-datepicker.reducer.js +230 -0
  335. package/datepicker/reducer/bs-datepicker.reducer.js.map +1 -0
  336. package/datepicker/reducer/bs-datepicker.reducer.metadata.json +1 -0
  337. package/datepicker/reducer/bs-datepicker.state.d.ts +34 -0
  338. package/datepicker/reducer/bs-datepicker.state.js +14 -0
  339. package/datepicker/reducer/bs-datepicker.state.js.map +1 -0
  340. package/datepicker/reducer/bs-datepicker.state.metadata.json +1 -0
  341. package/datepicker/reducer/bs-datepicker.store.d.ts +5 -0
  342. package/datepicker/reducer/bs-datepicker.store.js +34 -0
  343. package/datepicker/reducer/bs-datepicker.store.js.map +1 -0
  344. package/datepicker/reducer/bs-datepicker.store.metadata.json +1 -0
  345. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +2 -0
  346. package/datepicker/themes/bs/bs-calendar-layout.component.js +16 -0
  347. package/datepicker/themes/bs/bs-calendar-layout.component.js.map +1 -0
  348. package/datepicker/themes/bs/bs-calendar-layout.component.metadata.json +1 -0
  349. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -0
  350. package/datepicker/themes/bs/bs-current-date-view.component.js +19 -0
  351. package/datepicker/themes/bs/bs-current-date-view.component.js.map +1 -0
  352. package/datepicker/themes/bs/bs-current-date-view.component.metadata.json +1 -0
  353. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +8 -0
  354. package/datepicker/themes/bs/bs-custom-dates-view.component.js +21 -0
  355. package/datepicker/themes/bs/bs-custom-dates-view.component.js.map +1 -0
  356. package/datepicker/themes/bs/bs-custom-dates-view.component.metadata.json +1 -0
  357. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +20 -0
  358. package/datepicker/themes/bs/bs-datepicker-container.component.js +85 -0
  359. package/datepicker/themes/bs/bs-datepicker-container.component.js.map +1 -0
  360. package/datepicker/themes/bs/bs-datepicker-container.component.metadata.json +1 -0
  361. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +4 -0
  362. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +29 -0
  363. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js.map +1 -0
  364. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +1 -0
  365. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +9 -0
  366. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +33 -0
  367. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js.map +1 -0
  368. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.metadata.json +1 -0
  369. package/datepicker/themes/bs/bs-datepicker-view.html +61 -0
  370. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +21 -0
  371. package/datepicker/themes/bs/bs-daterangepicker-container.component.js +102 -0
  372. package/datepicker/themes/bs/bs-daterangepicker-container.component.js.map +1 -0
  373. package/datepicker/themes/bs/bs-daterangepicker-container.component.metadata.json +1 -0
  374. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +14 -0
  375. package/datepicker/themes/bs/bs-days-calendar-view.component.js +43 -0
  376. package/datepicker/themes/bs/bs-days-calendar-view.component.js.map +1 -0
  377. package/datepicker/themes/bs/bs-days-calendar-view.component.metadata.json +1 -0
  378. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +13 -0
  379. package/datepicker/themes/bs/bs-months-calendar-view.component.js +41 -0
  380. package/datepicker/themes/bs/bs-months-calendar-view.component.js.map +1 -0
  381. package/datepicker/themes/bs/bs-months-calendar-view.component.metadata.json +1 -0
  382. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +5 -0
  383. package/datepicker/themes/bs/bs-timepicker-view.component.js +19 -0
  384. package/datepicker/themes/bs/bs-timepicker-view.component.js.map +1 -0
  385. package/datepicker/themes/bs/bs-timepicker-view.component.metadata.json +1 -0
  386. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +13 -0
  387. package/datepicker/themes/bs/bs-years-calendar-view.component.js +42 -0
  388. package/datepicker/themes/bs/bs-years-calendar-view.component.js.map +1 -0
  389. package/datepicker/themes/bs/bs-years-calendar-view.component.metadata.json +1 -0
  390. package/datepicker/utils/bs-calendar-utils.d.ts +5 -0
  391. package/datepicker/utils/bs-calendar-utils.js +22 -0
  392. package/datepicker/utils/bs-calendar-utils.js.map +1 -0
  393. package/datepicker/utils/bs-calendar-utils.metadata.json +1 -0
  394. package/datepicker/utils/matrix-utils.d.ts +9 -0
  395. package/datepicker/utils/matrix-utils.js +14 -0
  396. package/datepicker/utils/matrix-utils.js.map +1 -0
  397. package/datepicker/utils/matrix-utils.metadata.json +1 -0
  398. package/datepicker/utils/scss/mixins.css +2 -0
  399. package/datepicker/utils/scss/mixins.css.map +12 -0
  400. package/datepicker/utils/scss/mixins.scss +24 -0
  401. package/datepicker/utils/scss/variables.css +2 -0
  402. package/datepicker/utils/scss/variables.css.map +12 -0
  403. package/datepicker/utils/scss/variables.scss +36 -0
  404. package/datepicker/yearpicker.component.js +4 -2
  405. package/datepicker/yearpicker.component.js.map +1 -1
  406. package/datepicker/yearpicker.component.metadata.json +1 -1
  407. package/dropdown/bs-dropdown-container.component.d.ts +3 -2
  408. package/dropdown/bs-dropdown-container.component.js +19 -3
  409. package/dropdown/bs-dropdown-container.component.js.map +1 -1
  410. package/dropdown/bs-dropdown-container.component.metadata.json +1 -1
  411. package/dropdown/bs-dropdown-menu.directive.js +2 -1
  412. package/dropdown/bs-dropdown-menu.directive.js.map +1 -1
  413. package/dropdown/bs-dropdown-toggle.directive.js +2 -1
  414. package/dropdown/bs-dropdown-toggle.directive.js.map +1 -1
  415. package/dropdown/bs-dropdown.config.js +2 -1
  416. package/dropdown/bs-dropdown.config.js.map +1 -1
  417. package/dropdown/bs-dropdown.directive.d.ts +5 -0
  418. package/dropdown/bs-dropdown.directive.js +40 -2
  419. package/dropdown/bs-dropdown.directive.js.map +1 -1
  420. package/dropdown/bs-dropdown.directive.metadata.json +1 -1
  421. package/dropdown/bs-dropdown.module.js +2 -1
  422. package/dropdown/bs-dropdown.module.js.map +1 -1
  423. package/dropdown/bs-dropdown.state.js +2 -1
  424. package/dropdown/bs-dropdown.state.js.map +1 -1
  425. package/dropdown/index.js.map +1 -1
  426. package/index.d.ts +2 -1
  427. package/index.js +7 -3
  428. package/index.js.map +1 -1
  429. package/index.metadata.json +1 -1
  430. package/locale.d.ts +17 -0
  431. package/locale.js +18 -0
  432. package/locale.js.map +1 -0
  433. package/locale.metadata.json +1 -0
  434. package/mini-ngrx/LICENCE +21 -0
  435. package/mini-ngrx/index.js.map +1 -1
  436. package/mini-ngrx/index.metadata.json +1 -1
  437. package/mini-ngrx/state.class.js +17 -8
  438. package/mini-ngrx/state.class.js.map +1 -1
  439. package/mini-ngrx/state.class.metadata.json +1 -1
  440. package/mini-ngrx/store.class.js +20 -10
  441. package/mini-ngrx/store.class.js.map +1 -1
  442. package/mini-ngrx/store.class.metadata.json +1 -1
  443. package/modal/bs-modal.service.js +3 -2
  444. package/modal/bs-modal.service.js.map +1 -1
  445. package/modal/index.js.map +1 -1
  446. package/modal/modal-backdrop.component.js +4 -2
  447. package/modal/modal-backdrop.component.js.map +1 -1
  448. package/modal/modal-container.component.js +2 -1
  449. package/modal/modal-container.component.js.map +1 -1
  450. package/modal/modal-options.class.js +4 -2
  451. package/modal/modal-options.class.js.map +1 -1
  452. package/modal/modal.component.d.ts +2 -2
  453. package/modal/modal.component.js +3 -2
  454. package/modal/modal.component.js.map +1 -1
  455. package/modal/modal.module.js +2 -1
  456. package/modal/modal.module.js.map +1 -1
  457. package/ng2-bootstrap.js +2 -1
  458. package/ng2-bootstrap.js.map +1 -1
  459. package/package.json +30 -34
  460. package/pagination/index.js.map +1 -1
  461. package/pagination/pager.component.js +3 -2
  462. package/pagination/pager.component.js.map +1 -1
  463. package/pagination/pager.component.metadata.json +1 -1
  464. package/pagination/pagination.component.js +2 -1
  465. package/pagination/pagination.component.js.map +1 -1
  466. package/pagination/pagination.component.metadata.json +1 -1
  467. package/pagination/pagination.config.js +3 -1
  468. package/pagination/pagination.config.js.map +1 -1
  469. package/pagination/pagination.module.js +2 -1
  470. package/pagination/pagination.module.js.map +1 -1
  471. package/popover/index.js.map +1 -1
  472. package/popover/popover-container.component.js +5 -3
  473. package/popover/popover-container.component.js.map +1 -1
  474. package/popover/popover-container.component.metadata.json +1 -1
  475. package/popover/popover.config.d.ts +2 -1
  476. package/popover/popover.config.js +4 -2
  477. package/popover/popover.config.js.map +1 -1
  478. package/popover/popover.directive.d.ts +9 -1
  479. package/popover/popover.directive.js +10 -1
  480. package/popover/popover.directive.js.map +1 -1
  481. package/popover/popover.directive.metadata.json +1 -1
  482. package/popover/popover.module.js +2 -1
  483. package/popover/popover.module.js.map +1 -1
  484. package/positioning/index.js.map +1 -1
  485. package/positioning/ng-positioning.d.ts +2 -0
  486. package/positioning/ng-positioning.js +30 -4
  487. package/positioning/ng-positioning.js.map +1 -1
  488. package/positioning/ng-positioning.metadata.json +1 -1
  489. package/positioning/positioning.service.js +2 -1
  490. package/positioning/positioning.service.js.map +1 -1
  491. package/positioning/positioning.service.metadata.json +1 -1
  492. package/progressbar/bar.component.js +2 -1
  493. package/progressbar/bar.component.js.map +1 -1
  494. package/progressbar/index.js.map +1 -1
  495. package/progressbar/progress.directive.js +2 -1
  496. package/progressbar/progress.directive.js.map +1 -1
  497. package/progressbar/progressbar.component.js +2 -1
  498. package/progressbar/progressbar.component.js.map +1 -1
  499. package/progressbar/progressbar.config.js +2 -1
  500. package/progressbar/progressbar.config.js.map +1 -1
  501. package/progressbar/progressbar.module.js +2 -1
  502. package/progressbar/progressbar.module.js.map +1 -1
  503. package/rating/index.js.map +1 -1
  504. package/rating/rating.component.js +2 -1
  505. package/rating/rating.component.js.map +1 -1
  506. package/rating/rating.module.js +2 -1
  507. package/rating/rating.module.js.map +1 -1
  508. package/sortable/draggable-item.js.map +1 -1
  509. package/sortable/draggable-item.metadata.json +1 -0
  510. package/sortable/draggable-item.service.js +2 -1
  511. package/sortable/draggable-item.service.js.map +1 -1
  512. package/sortable/index.js.map +1 -1
  513. package/sortable/sortable.component.js +2 -1
  514. package/sortable/sortable.component.js.map +1 -1
  515. package/sortable/sortable.component.metadata.json +1 -1
  516. package/sortable/sortable.module.js +2 -1
  517. package/sortable/sortable.module.js.map +1 -1
  518. package/spec/ng-bootstrap/license +23 -0
  519. package/tabs/index.js.map +1 -1
  520. package/tabs/ng-transclude.directive.js +2 -1
  521. package/tabs/ng-transclude.directive.js.map +1 -1
  522. package/tabs/tab-heading.directive.js +2 -1
  523. package/tabs/tab-heading.directive.js.map +1 -1
  524. package/tabs/tab.directive.js +7 -3
  525. package/tabs/tab.directive.js.map +1 -1
  526. package/tabs/tabs.module.js +2 -1
  527. package/tabs/tabs.module.js.map +1 -1
  528. package/tabs/tabset.component.js +4 -3
  529. package/tabs/tabset.component.js.map +1 -1
  530. package/tabs/tabset.config.js +2 -1
  531. package/tabs/tabset.config.js.map +1 -1
  532. package/timepicker/index.js.map +1 -1
  533. package/timepicker/reducer/timepicker.actions.js +2 -1
  534. package/timepicker/reducer/timepicker.actions.js.map +1 -1
  535. package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
  536. package/timepicker/reducer/timepicker.reducer.js +10 -3
  537. package/timepicker/reducer/timepicker.reducer.js.map +1 -1
  538. package/timepicker/reducer/timepicker.reducer.metadata.json +1 -1
  539. package/timepicker/reducer/timepicker.store.js +15 -7
  540. package/timepicker/reducer/timepicker.store.js.map +1 -1
  541. package/timepicker/timepicker-controls.util.js.map +1 -1
  542. package/timepicker/timepicker.component.js +4 -2
  543. package/timepicker/timepicker.component.js.map +1 -1
  544. package/timepicker/timepicker.component.metadata.json +1 -1
  545. package/timepicker/timepicker.config.js +2 -1
  546. package/timepicker/timepicker.config.js.map +1 -1
  547. package/timepicker/timepicker.models.js.map +1 -1
  548. package/timepicker/timepicker.models.metadata.json +1 -0
  549. package/timepicker/timepicker.module.js +2 -1
  550. package/timepicker/timepicker.module.js.map +1 -1
  551. package/timepicker/timepicker.utils.js.map +1 -1
  552. package/tooltip/index.js.map +1 -1
  553. package/tooltip/tooltip-container.component.js +24 -3
  554. package/tooltip/tooltip-container.component.js.map +1 -1
  555. package/tooltip/tooltip-container.component.metadata.json +1 -1
  556. package/tooltip/tooltip.config.js +2 -1
  557. package/tooltip/tooltip.config.js.map +1 -1
  558. package/tooltip/tooltip.directive.js +17 -15
  559. package/tooltip/tooltip.directive.js.map +1 -1
  560. package/tooltip/tooltip.module.js +2 -1
  561. package/tooltip/tooltip.module.js.map +1 -1
  562. package/tsconfig.spec.json +39 -0
  563. package/typeahead/index.js.map +1 -1
  564. package/typeahead/latin-map.js.map +1 -1
  565. package/typeahead/typeahead-container.component.d.ts +1 -0
  566. package/typeahead/typeahead-container.component.js +3 -1
  567. package/typeahead/typeahead-container.component.js.map +1 -1
  568. package/typeahead/typeahead-container.component.metadata.json +1 -1
  569. package/typeahead/typeahead-match.class.js +2 -1
  570. package/typeahead/typeahead-match.class.js.map +1 -1
  571. package/typeahead/typeahead-options.class.js +2 -1
  572. package/typeahead/typeahead-options.class.js.map +1 -1
  573. package/typeahead/typeahead-utils.js.map +1 -1
  574. package/typeahead/typeahead.directive.d.ts +3 -0
  575. package/typeahead/typeahead.directive.js +19 -8
  576. package/typeahead/typeahead.directive.js.map +1 -1
  577. package/typeahead/typeahead.directive.metadata.json +1 -1
  578. package/typeahead/typeahead.module.js +2 -1
  579. package/typeahead/typeahead.module.js.map +1 -1
  580. package/utils/decorators.js +1 -0
  581. package/utils/decorators.js.map +1 -1
  582. package/utils/facade/browser.js.map +1 -1
  583. package/utils/index.js.map +1 -1
  584. package/utils/linked-list.class.js +5 -3
  585. package/utils/linked-list.class.js.map +1 -1
  586. package/utils/linked-list.class.metadata.json +1 -1
  587. package/utils/ng2-bootstrap-config.js +27 -0
  588. package/utils/ng2-bootstrap-config.js.map +1 -1
  589. package/utils/ng2-bootstrap-config.metadata.json +1 -1
  590. package/utils/trigger.class.js +2 -1
  591. package/utils/trigger.class.js.map +1 -1
  592. package/utils/triggers.d.ts +3 -0
  593. package/utils/triggers.js +44 -0
  594. package/utils/triggers.js.map +1 -1
  595. package/utils/triggers.metadata.json +1 -1
  596. package/utils/utils.class.js +2 -1
  597. package/utils/utils.class.js.map +1 -1
  598. package/utils/warn-once.d.ts +1 -0
  599. package/utils/warn-once.js +12 -0
  600. package/utils/warn-once.js.map +1 -0
  601. package/utils/warn-once.metadata.json +1 -0
@@ -1,7 +1,10 @@
1
+ // todo: add delay support
2
+ // todo: merge events onShow, onShown, etc...
3
+ // todo: add global positioning configuration?
1
4
  import { ElementRef, EventEmitter, ReflectiveInjector, TemplateRef } from '@angular/core';
2
- import { listenToTriggers } from '../utils/triggers';
5
+ import { listenToTriggersV2, registerOutsideClick } from '../utils/triggers';
3
6
  import { ContentRef } from './content-ref.class';
4
- export var ComponentLoader = (function () {
7
+ var ComponentLoader = (function () {
5
8
  /**
6
9
  * Do not use this directly, it should be instanced via
7
10
  * `ComponentLoadFactory.attach`
@@ -22,6 +25,8 @@ export var ComponentLoader = (function () {
22
25
  this.onBeforeHide = new EventEmitter();
23
26
  this.onHidden = new EventEmitter();
24
27
  this._providers = [];
28
+ this._listenOpts = {};
29
+ this._globalListener = Function.prototype;
25
30
  }
26
31
  Object.defineProperty(ComponentLoader.prototype, "isShown", {
27
32
  get: function () {
@@ -57,7 +62,7 @@ export var ComponentLoader = (function () {
57
62
  this._innerComponent = null;
58
63
  if (!this._componentRef) {
59
64
  this.onBeforeShow.emit();
60
- this._contentRef = this._getContentRef(opts.content);
65
+ this._contentRef = this._getContentRef(opts.content, opts.context);
61
66
  var injector = ReflectiveInjector.resolveAndCreate(this._providers, this._injector);
62
67
  this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);
63
68
  this._applicationRef.attachView(this._componentRef.hostView);
@@ -90,6 +95,7 @@ export var ComponentLoader = (function () {
90
95
  this._componentRef.changeDetectorRef.detectChanges();
91
96
  this.onShown.emit(this._componentRef.instance);
92
97
  }
98
+ this._registerOutsideClick();
93
99
  return this._componentRef;
94
100
  };
95
101
  ComponentLoader.prototype.hide = function () {
@@ -113,6 +119,7 @@ export var ComponentLoader = (function () {
113
119
  // }
114
120
  this._contentRef = null;
115
121
  this._componentRef = null;
122
+ this._removeGlobalListener();
116
123
  this.onHidden.emit();
117
124
  return this;
118
125
  };
@@ -135,15 +142,50 @@ export var ComponentLoader = (function () {
135
142
  ComponentLoader.prototype.listen = function (listenOpts) {
136
143
  var _this = this;
137
144
  this.triggers = listenOpts.triggers || this.triggers;
138
- listenOpts.target = listenOpts.target || this._elementRef;
139
- listenOpts.show = listenOpts.show || (function () { return _this.show(); });
140
- listenOpts.hide = listenOpts.hide || (function () { return _this.hide(); });
141
- listenOpts.toggle = listenOpts.toggle || (function () { return _this.isShown
142
- ? listenOpts.hide()
143
- : listenOpts.show(); });
144
- this._unregisterListenersFn = listenToTriggers(this._renderer, listenOpts.target.nativeElement, this.triggers, listenOpts.show, listenOpts.hide, listenOpts.toggle);
145
+ this._listenOpts.outsideClick = listenOpts.outsideClick;
146
+ listenOpts.target = listenOpts.target || this._elementRef.nativeElement;
147
+ var hide = this._listenOpts.hide = function () { return listenOpts.hide ? listenOpts.hide() : _this.hide(); };
148
+ var show = this._listenOpts.show = function (registerHide) {
149
+ listenOpts.show ? listenOpts.show(registerHide) : _this.show(registerHide);
150
+ registerHide();
151
+ };
152
+ var toggle = function (registerHide) {
153
+ _this.isShown ? hide() : show(registerHide);
154
+ };
155
+ this._unregisterListenersFn = listenToTriggersV2(this._renderer, {
156
+ target: listenOpts.target,
157
+ triggers: listenOpts.triggers,
158
+ show: show, hide: hide, toggle: toggle
159
+ });
160
+ return this;
161
+ };
162
+ ComponentLoader.prototype._removeGlobalListener = function () {
163
+ if (this._globalListener) {
164
+ this._globalListener();
165
+ this._globalListener = null;
166
+ }
167
+ };
168
+ ComponentLoader.prototype.attachInline = function (vRef, template) {
169
+ this._inlineViewRef = vRef.createEmbeddedView(template);
145
170
  return this;
146
171
  };
172
+ ComponentLoader.prototype._registerOutsideClick = function () {
173
+ var _this = this;
174
+ if (!this._componentRef || !this._componentRef.location) {
175
+ return;
176
+ }
177
+ // why: should run after first event bubble
178
+ if (this._listenOpts.outsideClick) {
179
+ var target_1 = this._componentRef.location.nativeElement;
180
+ setTimeout(function () {
181
+ _this._globalListener = registerOutsideClick(_this._renderer, {
182
+ targets: [target_1, _this._elementRef.nativeElement],
183
+ outsideClick: _this._listenOpts.outsideClick,
184
+ hide: function () { return _this._listenOpts.hide(); }
185
+ });
186
+ });
187
+ }
188
+ };
147
189
  ComponentLoader.prototype.getInnerComponent = function () {
148
190
  return this._innerComponent;
149
191
  };
@@ -172,13 +214,14 @@ export var ComponentLoader = (function () {
172
214
  this._zoneSubscription.unsubscribe();
173
215
  this._zoneSubscription = null;
174
216
  };
175
- ComponentLoader.prototype._getContentRef = function (content) {
217
+ ComponentLoader.prototype._getContentRef = function (content, context) {
176
218
  if (!content) {
177
219
  return new ContentRef([]);
178
220
  }
179
221
  if (content instanceof TemplateRef) {
180
222
  if (this._viewContainerRef) {
181
- var viewRef_1 = this._viewContainerRef.createEmbeddedView(content);
223
+ var viewRef_1 = this._viewContainerRef.createEmbeddedView(content, context);
224
+ viewRef_1.markForCheck();
182
225
  return new ContentRef([viewRef_1.rootNodes], viewRef_1);
183
226
  }
184
227
  var viewRef = content.createEmbeddedView({});
@@ -196,4 +239,5 @@ export var ComponentLoader = (function () {
196
239
  };
197
240
  return ComponentLoader;
198
241
  }());
242
+ export { ComponentLoader };
199
243
  //# sourceMappingURL=component-loader.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-loader.class.js","sourceRoot":"","sources":["../../src/component-loader/component-loader.class.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 EventEmitter,\n Injector,\n NgZone,\n Provider,\n ReflectiveInjector,\n Renderer,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { PositioningOptions, PositioningService } from '../positioning';\nimport { listenToTriggers } from '../utils/triggers';\nimport { ContentRef } from './content-ref.class';\n\nexport interface ListenOptions {\n target?: ElementRef;\n triggers?: string;\n show?: Function;\n hide?: Function;\n toggle?: Function;\n}\n\nexport class ComponentLoader<T> {\n public onBeforeShow: EventEmitter<any> = new EventEmitter();\n public onShown: EventEmitter<any> = new EventEmitter();\n public onBeforeHide: EventEmitter<any> = new EventEmitter();\n public onHidden: EventEmitter<any> = new EventEmitter();\n\n public instance: T;\n public _componentRef: ComponentRef<T>;\n\n private _providers: Provider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: any;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n public get isShown(): boolean {\n return !!this._componentRef;\n };\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 * Currently only supports \"body\".\n */\n private container: string | ElementRef | any;\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\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(private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer,\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 public attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n public to(container?: string): ComponentLoader<T> {\n this.container = container || this.container;\n return this;\n }\n\n public position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n this._elementRef = opts.target as ElementRef || this._elementRef;\n return this;\n }\n\n public provide(provider: Provider): ComponentLoader<T> {\n this._providers.push(provider);\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n public show(opts: { content?: string | TemplateRef<any>, [key: string]: any } = {}): ComponentRef<T> {\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content);\n const injector = ReflectiveInjector.resolveAndCreate(this._providers, this._injector);\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\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\n .appendChild(this._componentRef.location.nativeElement);\n }\n\n if (this.container === 'body' && typeof document !== 'undefined') {\n document.querySelector(this.container as string)\n .appendChild(this._componentRef.location.nativeElement);\n }\n\n if (!this.container && this._elementRef && this._elementRef.nativeElement.parentElement) {\n this._elementRef.nativeElement.parentElement\n .appendChild(this._componentRef.location.nativeElement);\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 return this._componentRef;\n }\n\n public hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\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(this._viewContainerRef.indexOf(this._contentRef.viewRef));\n }\n // this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._componentRef.hostView));\n //\n // if (this._contentRef.viewRef && this._viewContainerRef.indexOf(this._contentRef.viewRef) !== -1) {\n // this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef));\n // }\n\n this._contentRef = null;\n this._componentRef = null;\n\n this.onHidden.emit();\n return this;\n }\n\n public toggle(): void {\n if (this.isShown) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public 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 public listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n\n listenOpts.target = listenOpts.target || this._elementRef;\n listenOpts.show = listenOpts.show || (() => this.show());\n listenOpts.hide = listenOpts.hide || (() => this.hide());\n listenOpts.toggle = listenOpts.toggle || (() => this.isShown\n ? listenOpts.hide()\n : listenOpts.show());\n\n this._unregisterListenersFn = listenToTriggers(\n this._renderer,\n listenOpts.target.nativeElement,\n this.triggers,\n listenOpts.show,\n listenOpts.hide,\n listenOpts.toggle);\n\n return this;\n }\n\n public 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._zoneSubscription = this._ngZone\n .onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\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\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(content: string | TemplateRef<any> | any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const viewRef = this._viewContainerRef.createEmbeddedView<TemplateRef<T>>(content);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(content);\n const modalContentInjector = ReflectiveInjector.resolveAndCreate([...this._providers, content], this._injector);\n const componentRef = contentCmptFactory.create(modalContentInjector);\n this._applicationRef.attachView(componentRef.hostView);\n return new ContentRef([[componentRef.location.nativeElement]], componentRef.hostView, componentRef);\n }\n return new ContentRef([[this._renderer.createText(null, `${content}`)]]);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/component-loader/component-loader.class.ts"],"names":[],"mappings":"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","file":"component-loader.class.js","sourceRoot":"","sourcesContent":["// 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, EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Provider,\n ReflectiveInjector,\n Renderer,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { PositioningOptions, PositioningService } from '../positioning';\nimport { listenToTriggersV2, registerOutsideClick } from '../utils/triggers';\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\n\nexport class ComponentLoader<T> {\n public onBeforeShow: EventEmitter<any> = new EventEmitter();\n public onShown: EventEmitter<any> = new EventEmitter();\n public onBeforeHide: EventEmitter<any> = new EventEmitter();\n public onHidden: EventEmitter<any> = new EventEmitter();\n\n public instance: T;\n public _componentRef: ComponentRef<T>;\n public _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: Provider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: any;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n public get isShown(): boolean {\n return !!this._componentRef;\n };\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 * Currently only supports \"body\".\n */\n private container: string | ElementRef | any;\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n _listenOpts: ListenOptions = {};\n _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(private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer,\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 public attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n public to(container?: string): ComponentLoader<T> {\n this.container = container || this.container;\n return this;\n }\n\n public position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n this._elementRef = opts.target as ElementRef || this._elementRef;\n return this;\n }\n\n public provide(provider: Provider): ComponentLoader<T> {\n this._providers.push(provider);\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n public show(opts: { content?: string | TemplateRef<any>, context?: any, [key: string]: any } = {}): ComponentRef<T> {\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);\n const injector = ReflectiveInjector.resolveAndCreate(this._providers, this._injector);\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\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\n .appendChild(this._componentRef.location.nativeElement);\n }\n\n if (this.container === 'body' && typeof document !== 'undefined') {\n document.querySelector(this.container as string)\n .appendChild(this._componentRef.location.nativeElement);\n }\n\n if (!this.container && this._elementRef && this._elementRef.nativeElement.parentElement) {\n this._elementRef.nativeElement.parentElement\n .appendChild(this._componentRef.location.nativeElement);\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 public hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\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(this._viewContainerRef.indexOf(this._contentRef.viewRef));\n }\n // this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._componentRef.hostView));\n //\n // if (this._contentRef.viewRef && this._viewContainerRef.indexOf(this._contentRef.viewRef) !== -1) {\n // this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef));\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 public toggle(): void {\n if (this.isShown) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public 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 public listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = this._listenOpts.hide = () => listenOpts.hide ? listenOpts.hide() : 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, hide, 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(vRef: ViewContainerRef, template: TemplateRef<any>): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\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 }\n\n public 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._zoneSubscription = this._ngZone\n .onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\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\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(content: string | TemplateRef<any> | any, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const viewRef = this._viewContainerRef.createEmbeddedView<TemplateRef<T>>(content, context);\n viewRef.markForCheck();\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(content);\n const modalContentInjector = ReflectiveInjector.resolveAndCreate([...this._providers, content], this._injector);\n const componentRef = contentCmptFactory.create(modalContentInjector);\n this._applicationRef.attachView(componentRef.hostView);\n return new ContentRef([[componentRef.location.nativeElement]], componentRef.hostView, componentRef);\n }\n return new ContentRef([[this._renderer.createText(null, `${content}`)]]);\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"ComponentLoader":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"../positioning","name":"PositioningService"}]}],"attach":[{"__symbolic":"method"}],"to":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"provide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"getInnerComponent":[{"__symbolic":"method"}],"_subscribePositioning":[{"__symbolic":"method"}],"_unsubscribePositioning":[{"__symbolic":"method"}],"_getContentRef":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"ComponentLoader":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"../positioning","name":"PositioningService"}]}],"attach":[{"__symbolic":"method"}],"to":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"provide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"getInnerComponent":[{"__symbolic":"method"}],"_subscribePositioning":[{"__symbolic":"method"}],"_unsubscribePositioning":[{"__symbolic":"method"}],"_getContentRef":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"ComponentLoader":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"../positioning","name":"PositioningService"}]}],"attach":[{"__symbolic":"method"}],"to":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"provide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"_removeGlobalListener":[{"__symbolic":"method"}],"attachInline":[{"__symbolic":"method"}],"_registerOutsideClick":[{"__symbolic":"method"}],"getInnerComponent":[{"__symbolic":"method"}],"_subscribePositioning":[{"__symbolic":"method"}],"_unsubscribePositioning":[{"__symbolic":"method"}],"_getContentRef":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"ComponentLoader":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"../positioning","name":"PositioningService"}]}],"attach":[{"__symbolic":"method"}],"to":[{"__symbolic":"method"}],"position":[{"__symbolic":"method"}],"provide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"_removeGlobalListener":[{"__symbolic":"method"}],"attachInline":[{"__symbolic":"method"}],"_registerOutsideClick":[{"__symbolic":"method"}],"getInnerComponent":[{"__symbolic":"method"}],"_subscribePositioning":[{"__symbolic":"method"}],"_unsubscribePositioning":[{"__symbolic":"method"}],"_getContentRef":[{"__symbolic":"method"}]}}}}]
@@ -1,7 +1,7 @@
1
1
  import { Injectable, NgZone, ComponentFactoryResolver, Injector, ApplicationRef } from '@angular/core';
2
2
  import { ComponentLoader } from './component-loader.class';
3
3
  import { PositioningService } from '../positioning';
4
- export var ComponentLoaderFactory = (function () {
4
+ var ComponentLoaderFactory = (function () {
5
5
  function ComponentLoaderFactory(_componentFactoryResolver, _ngZone, _injector, _posService, _applicationRef) {
6
6
  this._componentFactoryResolver = _componentFactoryResolver;
7
7
  this._ngZone = _ngZone;
@@ -32,4 +32,5 @@ export var ComponentLoaderFactory = (function () {
32
32
  ]; };
33
33
  return ComponentLoaderFactory;
34
34
  }());
35
+ export { ComponentLoaderFactory };
35
36
  //# sourceMappingURL=component-loader.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-loader.factory.js","sourceRoot":"","sources":["../../src/component-loader/component-loader.factory.ts"],"names":[],"mappings":"OAAO,EACL,UAAU,EAAE,MAAM,EAAoB,wBAAwB,EAAE,QAAQ,EAClD,cAAc,EACrC,MAAM,eAAe;OACf,EAAE,eAAe,EAAE,MAAM,0BAA0B;OACnD,EAAE,kBAAkB,EAAE,MAAM,gBAAgB;AAGnD;IAEE,gCAA2B,yBAAmD,EACnD,OAAe,EACf,SAAmB,EACnB,WAA+B,EAC/B,eAA+B;QAJ/B,8BAAyB,GAAzB,yBAAyB,CAA0B;QACnD,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAU;QACnB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAgB;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,6CAAY,GAAnB,UAAuB,WAAuB,EAAE,iBAAmC,EAAE,SAAmB;QACtG,MAAM,CAAC,IAAI,eAAe,CAAI,iBAAiB,EAAE,SAAS,EAAE,WAAW,EACrE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAClF,IAAI,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IACI,iCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,qCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,wBAAwB,GAAG;QAClC,EAAC,IAAI,EAAE,MAAM,GAAG;QAChB,EAAC,IAAI,EAAE,QAAQ,GAAG;QAClB,EAAC,IAAI,EAAE,kBAAkB,GAAG;QAC5B,EAAC,IAAI,EAAE,cAAc,GAAG;KACvB,EAN6F,CAM7F,CAAC;IACF,6BAAC;AAAD,CAAC,AAhCD,IAgCC","sourcesContent":["import {\n Injectable, NgZone, ViewContainerRef, ComponentFactoryResolver, Injector,\n Renderer, ElementRef, ApplicationRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from '../positioning';\n\n\nexport class ComponentLoaderFactory {\n\n public constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {\n }\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n * @returns {ComponentLoader}\n */\n public createLoader<T>(_elementRef: ElementRef, _viewContainerRef: ViewContainerRef, _renderer: Renderer): ComponentLoader<T> {\n return new ComponentLoader<T>(_viewContainerRef, _renderer, _elementRef,\n this._injector, this._componentFactoryResolver, this._ngZone, this._applicationRef,\n this._posService);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ComponentFactoryResolver, },\n{type: NgZone, },\n{type: Injector, },\n{type: PositioningService, },\n{type: ApplicationRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/component-loader/component-loader.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAAE,MAAA,EAA0B,wBAAA,EAA0B,QAAA,EAC1C,cAAA,EACvB,MAAM,eAAA,CAAgB;AACvB,OAAO,EAAE,eAAA,EAAgB,MAAO,0BAAA,CAA2B;AAC3D,OAAO,EAAE,kBAAA,EAAmB,MAAO,gBAAA,CAAiB;AAGpD;IAEE,gCAA2B,yBAAmD,EACnD,OAAe,EACf,SAAmB,EACnB,WAA+B,EAC/B,eAA+B;QAJ/B,8BAAyB,GAAzB,yBAAyB,CAA0B;QACnD,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAU;QACnB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAgB;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,6CAAY,GAAnB,UAAuB,WAAuB,EAAE,iBAAmC,EAAE,SAAmB;QACtG,MAAM,CAAC,IAAI,eAAe,CAAI,iBAAiB,EAAE,SAAS,EAAE,WAAW,EACrE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAClF,IAAI,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IACI,iCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,qCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,wBAAwB,GAAG;QAClC,EAAC,IAAI,EAAE,MAAM,GAAG;QAChB,EAAC,IAAI,EAAE,QAAQ,GAAG;QAClB,EAAC,IAAI,EAAE,kBAAkB,GAAG;QAC5B,EAAC,IAAI,EAAE,cAAc,GAAG;KACvB,EAN6F,CAM7F,CAAC;IACF,6BAAC;CAhCD,AAgCC,IAAA;SAhCY,sBAAsB","file":"component-loader.factory.js","sourceRoot":"","sourcesContent":["import {\n Injectable, NgZone, ViewContainerRef, ComponentFactoryResolver, Injector,\n Renderer, ElementRef, ApplicationRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from '../positioning';\n\n\nexport class ComponentLoaderFactory {\n\n public constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {\n }\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n * @returns {ComponentLoader}\n */\n public createLoader<T>(_elementRef: ElementRef, _viewContainerRef: ViewContainerRef, _renderer: Renderer): ComponentLoader<T> {\n return new ComponentLoader<T>(_viewContainerRef, _renderer, _elementRef,\n this._injector, this._componentFactoryResolver, this._ngZone, this._applicationRef,\n this._posService);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ComponentFactoryResolver, },\n{type: NgZone, },\n{type: Injector, },\n{type: PositioningService, },\n{type: ApplicationRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * @copyright Valor Software
3
3
  * @copyright Angular ng-bootstrap team
4
4
  */
5
- export var ContentRef = (function () {
5
+ var ContentRef = (function () {
6
6
  function ContentRef(nodes, viewRef, componentRef) {
7
7
  this.nodes = nodes;
8
8
  this.viewRef = viewRef;
@@ -10,4 +10,5 @@ export var ContentRef = (function () {
10
10
  }
11
11
  return ContentRef;
12
12
  }());
13
+ export { ContentRef };
13
14
  //# sourceMappingURL=content-ref.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-ref.class.js","sourceRoot":"","sources":["../../src/component-loader/content-ref.class.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;IAKE,oBAAoB,KAAY,EAAG,OAAiB,EAAG,YAAgC;QACrF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACH,iBAAC;AAAD,CAAC,AAVD,IAUC","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n public nodes: any[];\n public viewRef?: ViewRef;\n public componentRef?: ComponentRef<any>;\n\n public constructor( nodes: any[], viewRef?: ViewRef, componentRef?: ComponentRef<any>) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/component-loader/content-ref.class.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;IAKE,oBAAoB,KAAY,EAAG,OAAiB,EAAG,YAAgC;QACrF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACH,iBAAC;AAAD,CAVA,AAUC,IAAA","file":"content-ref.class.js","sourceRoot":"","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n public nodes: any[];\n public viewRef?: ViewRef;\n public componentRef?: ComponentRef<any>;\n\n public constructor( nodes: any[], viewRef?: ViewRef, componentRef?: ComponentRef<any>) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/component-loader/index.ts"],"names":[],"mappings":"AAAA,SAAS,eAAe,QAAQ,0BAA0B,CAAC;AAC3D,SAAS,sBAAsB,QAAQ,4BAA4B,CAAC;AACpE,SAAS,UAAU,QAAQ,qBAAqB,CAAC","sourcesContent":["export { ComponentLoader } from './component-loader.class';\nexport { ComponentLoaderFactory } from './component-loader.factory';\nexport { ContentRef } from './content-ref.class';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/component-loader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC","file":"index.js","sourceRoot":"","sourcesContent":["export { ComponentLoader } from './component-loader.class';\nexport { ComponentLoaderFactory } from './component-loader.factory';\nexport { ContentRef } from './content-ref.class';\n"]}
@@ -0,0 +1,9 @@
1
+ export interface ListenOptions {
2
+ target?: HTMLElement;
3
+ targets?: HTMLElement[];
4
+ triggers?: string;
5
+ outsideClick?: boolean;
6
+ show?: Function;
7
+ hide?: Function;
8
+ toggle?: Function;
9
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=listen-options.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"listen-options.model.js","sourceRoot":"","sourcesContent":[]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"ListenOptions":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"ListenOptions":{"__symbolic":"interface"}}}]
@@ -0,0 +1,26 @@
1
+ import { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component';
2
+ import { BsDatepickerEffects } from '../reducer/bs-datepicker.effects';
3
+ import { Observable } from 'rxjs/Observable';
4
+ import { BsDatepickerViewMode, BsNavigationEvent, CalendarCellViewModel, CellHoverEvent, DatepickerRenderOptions, DaysCalendarViewModel, DayViewModel, MonthsCalendarViewModel, YearsCalendarViewModel } from '../models/index';
5
+ export declare abstract class BsDatepickerAbstractComponent {
6
+ containerClass: string;
7
+ _effects: BsDatepickerEffects;
8
+ _customRangesFish: BsCustomDates[];
9
+ minDate: Date;
10
+ maxDate: Date;
11
+ isDisabled: boolean;
12
+ viewMode: Observable<BsDatepickerViewMode>;
13
+ daysCalendar: Observable<DaysCalendarViewModel[]>;
14
+ monthsCalendar: Observable<MonthsCalendarViewModel[]>;
15
+ yearsCalendar: Observable<YearsCalendarViewModel[]>;
16
+ options: Observable<DatepickerRenderOptions>;
17
+ setViewMode(event: BsDatepickerViewMode): void;
18
+ navigateTo(event: BsNavigationEvent): void;
19
+ dayHoverHandler(event: CellHoverEvent): void;
20
+ monthHoverHandler(event: CellHoverEvent): void;
21
+ yearHoverHandler(event: CellHoverEvent): void;
22
+ daySelectHandler(day: DayViewModel): void;
23
+ monthSelectHandler(event: CalendarCellViewModel): void;
24
+ yearSelectHandler(event: CalendarCellViewModel): void;
25
+ _stopPropagation(event: any): void;
26
+ }
@@ -0,0 +1,41 @@
1
+ var BsDatepickerAbstractComponent = (function () {
2
+ function BsDatepickerAbstractComponent() {
3
+ this._customRangesFish = [];
4
+ }
5
+ Object.defineProperty(BsDatepickerAbstractComponent.prototype, "minDate", {
6
+ set: function (value) {
7
+ this._effects.setMinDate(value);
8
+ },
9
+ enumerable: true,
10
+ configurable: true
11
+ });
12
+ Object.defineProperty(BsDatepickerAbstractComponent.prototype, "maxDate", {
13
+ set: function (value) {
14
+ this._effects.setMaxDate(value);
15
+ },
16
+ enumerable: true,
17
+ configurable: true
18
+ });
19
+ Object.defineProperty(BsDatepickerAbstractComponent.prototype, "isDisabled", {
20
+ set: function (value) {
21
+ this._effects.setDisabled(value);
22
+ },
23
+ enumerable: true,
24
+ configurable: true
25
+ });
26
+ BsDatepickerAbstractComponent.prototype.setViewMode = function (event) { };
27
+ BsDatepickerAbstractComponent.prototype.navigateTo = function (event) { };
28
+ BsDatepickerAbstractComponent.prototype.dayHoverHandler = function (event) { };
29
+ BsDatepickerAbstractComponent.prototype.monthHoverHandler = function (event) { };
30
+ BsDatepickerAbstractComponent.prototype.yearHoverHandler = function (event) { };
31
+ BsDatepickerAbstractComponent.prototype.daySelectHandler = function (day) { };
32
+ ;
33
+ BsDatepickerAbstractComponent.prototype.monthSelectHandler = function (event) { };
34
+ BsDatepickerAbstractComponent.prototype.yearSelectHandler = function (event) { };
35
+ BsDatepickerAbstractComponent.prototype._stopPropagation = function (event) {
36
+ event.stopPropagation();
37
+ };
38
+ return BsDatepickerAbstractComponent;
39
+ }());
40
+ export { BsDatepickerAbstractComponent };
41
+ //# sourceMappingURL=bs-datepicker-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../.tmp/datepicker/base/bs-datepicker-container.ts"],"names":[],"mappings":"AAYA;IAAA;QAIE,sBAAiB,GAAoB,EAAE,CAAC;IAuC1C,CAAC;IArCC,sBAAI,kDAAO;aAAX,UAAY,KAAW;YACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,kDAAO;aAAX,UAAY,KAAW;YACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,qDAAU;aAAd,UAAe,KAAc;YAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;;;OAAA;IAQD,mDAAW,GAAX,UAAY,KAA2B,IAAS,CAAC;IAEjD,kDAAU,GAAV,UAAW,KAAwB,IAAS,CAAC;IAE7C,uDAAe,GAAf,UAAgB,KAAqB,IAAS,CAAC;IAE/C,yDAAiB,GAAjB,UAAkB,KAAqB,IAAS,CAAC;IAEjD,wDAAgB,GAAhB,UAAiB,KAAqB,IAAS,CAAC;IAEhD,wDAAgB,GAAhB,UAAiB,GAAiB,IAAS,CAAC;IAAA,CAAC;IAE7C,0DAAkB,GAAlB,UAAmB,KAA4B,IAAS,CAAC;IAEzD,yDAAiB,GAAjB,UAAkB,KAA4B,IAAS,CAAC;IAExD,wDAAgB,GAAhB,UAAiB,KAAU;QACzB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IACH,oCAAC;AAAD,CA3CA,AA2CC,IAAA","file":"bs-datepicker-container.js","sourceRoot":"","sourcesContent":["// datepicker container component\n/* tslint:disable no-empty */\nimport { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component';\nimport { BsDatepickerEffects } from '../reducer/bs-datepicker.effects';\nimport { Observable } from 'rxjs/Observable';\nimport {\n BsDatepickerViewMode, BsNavigationEvent, CalendarCellViewModel, CellHoverEvent, DatepickerRenderOptions,\n DaysCalendarViewModel, DayViewModel,\n MonthsCalendarViewModel,\n YearsCalendarViewModel\n} from '../models/index';\n\nexport abstract class BsDatepickerAbstractComponent {\n containerClass: string;\n\n _effects: BsDatepickerEffects;\n _customRangesFish: BsCustomDates[] = [];\n\n set minDate(value: Date) {\n this._effects.setMinDate(value);\n }\n\n set maxDate(value: Date) {\n this._effects.setMaxDate(value);\n }\n\n set isDisabled(value: boolean) {\n this._effects.setDisabled(value);\n }\n\n viewMode: Observable<BsDatepickerViewMode>;\n daysCalendar: Observable<DaysCalendarViewModel[]>;\n monthsCalendar: Observable<MonthsCalendarViewModel[]>;\n yearsCalendar: Observable<YearsCalendarViewModel[]>;\n options: Observable<DatepickerRenderOptions>;\n\n setViewMode(event: BsDatepickerViewMode): void {}\n\n navigateTo(event: BsNavigationEvent): void {}\n\n dayHoverHandler(event: CellHoverEvent): void {}\n\n monthHoverHandler(event: CellHoverEvent): void {}\n\n yearHoverHandler(event: CellHoverEvent): void {}\n\n daySelectHandler(day: DayViewModel): void {};\n\n monthSelectHandler(event: CalendarCellViewModel): void {}\n\n yearSelectHandler(event: CalendarCellViewModel): void {}\n\n _stopPropagation(event: any): void {\n event.stopPropagation();\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDatepickerAbstractComponent":{"__symbolic":"class","members":{"setViewMode":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"dayHoverHandler":[{"__symbolic":"method"}],"monthHoverHandler":[{"__symbolic":"method"}],"yearHoverHandler":[{"__symbolic":"method"}],"daySelectHandler":[{"__symbolic":"method"}],"monthSelectHandler":[{"__symbolic":"method"}],"yearSelectHandler":[{"__symbolic":"method"}],"_stopPropagation":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDatepickerAbstractComponent":{"__symbolic":"class","members":{"setViewMode":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"dayHoverHandler":[{"__symbolic":"method"}],"monthHoverHandler":[{"__symbolic":"method"}],"yearHoverHandler":[{"__symbolic":"method"}],"daySelectHandler":[{"__symbolic":"method"}],"monthSelectHandler":[{"__symbolic":"method"}],"yearSelectHandler":[{"__symbolic":"method"}],"_stopPropagation":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,21 @@
1
+ import { ElementRef, OnInit, Renderer } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { BsDatepickerComponent } from './bs-datepicker.component';
4
+ import { BsDatepickerConfig } from './bs-datepicker.config';
5
+ export declare class BsDatepickerInputDirective implements OnInit, ControlValueAccessor {
6
+ private _picker;
7
+ private _config;
8
+ private _renderer;
9
+ private _elRef;
10
+ private _onChange;
11
+ private _onTouched;
12
+ constructor(_picker: BsDatepickerComponent, _config: BsDatepickerConfig, _renderer: Renderer, _elRef: ElementRef);
13
+ ngOnInit(): void;
14
+ onChange(event: any): void;
15
+ writeValue(value: Date | string): void;
16
+ setDisabledState(isDisabled: boolean): void;
17
+ registerOnChange(fn: (value: any) => any): void;
18
+ registerOnTouched(fn: () => any): void;
19
+ onBlur(): void;
20
+ hide(): void;
21
+ }
@@ -0,0 +1,79 @@
1
+ import { Directive, ElementRef, forwardRef, Host, Renderer } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BsDatepickerComponent } from './bs-datepicker.component';
4
+ import { formatDate } from '../bs-moment/format';
5
+ import { BsDatepickerConfig } from './bs-datepicker.config';
6
+ import { getLocale } from '../bs-moment/locale/locales.service';
7
+ var BS_DATEPICKER_VALUE_ACCESSOR = {
8
+ provide: NG_VALUE_ACCESSOR,
9
+ useExisting: forwardRef(function () { return BsDatepickerInputDirective; }),
10
+ multi: true
11
+ };
12
+ var BsDatepickerInputDirective = (function () {
13
+ function BsDatepickerInputDirective(_picker, _config, _renderer, _elRef) {
14
+ this._picker = _picker;
15
+ this._config = _config;
16
+ this._renderer = _renderer;
17
+ this._elRef = _elRef;
18
+ this._onChange = Function.prototype;
19
+ this._onTouched = Function.prototype;
20
+ }
21
+ BsDatepickerInputDirective.prototype.ngOnInit = function () {
22
+ var _this = this;
23
+ this._picker.bsValueChange.subscribe(function (v) {
24
+ _this._renderer.setElementProperty(_this._elRef.nativeElement, 'value', formatDate(v, _this._picker._config.dateInputFormat, _this._picker._config.locale) || '');
25
+ _this._onChange(v);
26
+ });
27
+ };
28
+ BsDatepickerInputDirective.prototype.onChange = function (event) {
29
+ this.writeValue(event.target.value);
30
+ this._onTouched();
31
+ };
32
+ BsDatepickerInputDirective.prototype.writeValue = function (value) {
33
+ if (!value) {
34
+ this._picker.bsValue = null;
35
+ }
36
+ var _locale = getLocale(this._picker._config.locale);
37
+ if (!_locale) {
38
+ throw new Error("Locale \"" + this._picker._config.locale + "\" is not defined, please add it with \"defineLocale(...)\"");
39
+ }
40
+ if (typeof value === 'string') {
41
+ var date = new Date(_locale.preparse(value));
42
+ this._picker.bsValue = isNaN(date.valueOf()) ? null : date;
43
+ }
44
+ if (value instanceof Date) {
45
+ this._picker.bsValue = value;
46
+ }
47
+ };
48
+ BsDatepickerInputDirective.prototype.setDisabledState = function (isDisabled) {
49
+ this._picker.isDisabled = isDisabled;
50
+ this._renderer.setElementAttribute(this._elRef.nativeElement, 'disabled', 'disabled');
51
+ };
52
+ BsDatepickerInputDirective.prototype.registerOnChange = function (fn) { this._onChange = fn; };
53
+ BsDatepickerInputDirective.prototype.registerOnTouched = function (fn) { this._onTouched = fn; };
54
+ BsDatepickerInputDirective.prototype.onBlur = function () { this._onTouched(); };
55
+ BsDatepickerInputDirective.prototype.hide = function () {
56
+ this._picker.hide();
57
+ };
58
+ BsDatepickerInputDirective.decorators = [
59
+ { type: Directive, args: [{
60
+ selector: "input[bsDatepicker]",
61
+ host: {
62
+ '(change)': 'onChange($event)',
63
+ '(keyup.esc)': 'hide()',
64
+ '(blur)': 'onBlur()'
65
+ },
66
+ providers: [BS_DATEPICKER_VALUE_ACCESSOR]
67
+ },] },
68
+ ];
69
+ /** @nocollapse */
70
+ BsDatepickerInputDirective.ctorParameters = function () { return [
71
+ { type: BsDatepickerComponent, decorators: [{ type: Host },] },
72
+ { type: BsDatepickerConfig, },
73
+ { type: Renderer, },
74
+ { type: ElementRef, },
75
+ ]; };
76
+ return BsDatepickerInputDirective;
77
+ }());
78
+ export { BsDatepickerInputDirective };
79
+ //# sourceMappingURL=bs-datepicker-input.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../.tmp/datepicker/bs-datepicker-input.directive.ts"],"names":[],"mappings":"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","file":"bs-datepicker-input.directive.js","sourceRoot":"","sourcesContent":["import { Directive, ElementRef, forwardRef, Host, OnInit, Renderer } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsDatepickerComponent } from './bs-datepicker.component';\nimport { formatDate } from '../bs-moment/format';\nimport { BsDatepickerConfig } from './bs-datepicker.config';\nimport { getLocale } from '../bs-moment/locale/locales.service';\n\nconst BS_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsDatepickerInputDirective),\n multi: true\n};\n\n\nexport class BsDatepickerInputDirective\n implements OnInit, ControlValueAccessor {\n\n private _onChange = Function.prototype;\n private _onTouched = Function.prototype;\n\n constructor( private _picker: BsDatepickerComponent,\n private _config: BsDatepickerConfig,\n private _renderer: Renderer,\n private _elRef: ElementRef) {\n }\n\n ngOnInit(): void {\n this._picker.bsValueChange.subscribe((v: Date) => {\n this._renderer.setElementProperty(\n this._elRef.nativeElement,\n 'value',\n formatDate(v, this._picker._config.dateInputFormat, this._picker._config.locale) || ''\n );\n this._onChange(v);\n });\n }\n\n onChange(event: any) {\n this.writeValue(event.target.value);\n this._onTouched();\n }\n\n writeValue(value: Date | string) {\n if (!value) {\n this._picker.bsValue = null;\n }\n const _locale = getLocale(this._picker._config.locale);\n if (!_locale) {\n throw new Error(`Locale \"${this._picker._config.locale}\" is not defined, please add it with \"defineLocale(...)\"`);\n }\n if (typeof value === 'string') {\n const date = new Date(_locale.preparse(value));\n this._picker.bsValue = isNaN(date.valueOf()) ? null : date;\n }\n\n if (value instanceof Date) {\n this._picker.bsValue = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._picker.isDisabled = isDisabled;\n this._renderer.setElementAttribute(this._elRef.nativeElement, 'disabled', 'disabled');\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n onBlur() { this._onTouched(); }\n\n hide() {\n this._picker.hide();\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: `input[bsDatepicker]`,\n host: {\n '(change)': 'onChange($event)',\n '(keyup.esc)': 'hide()',\n '(blur)': 'onBlur()'\n },\n providers: [BS_DATEPICKER_VALUE_ACCESSOR]\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDatepickerComponent, decorators: [{ type: Host }, ]},\n{type: BsDatepickerConfig, },\n{type: Renderer, },\n{type: ElementRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDatepickerInputDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"input[bsDatepicker]","host":{"(change)":"onChange($event)","(keyup.esc)":"hide()","(blur)":"onBlur()","$quoted$":["(change)","(keyup.esc)","(blur)"]},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"BsDatepickerInputDirective"},"multi":true}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host"}}],null,null,null],"parameters":[{"__symbolic":"reference","module":"./bs-datepicker.component","name":"BsDatepickerComponent"},{"__symbolic":"reference","module":"./bs-datepicker.config","name":"BsDatepickerConfig"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDatepickerInputDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"input[bsDatepicker]","host":{"(change)":"onChange($event)","(keyup.esc)":"hide()","(blur)":"onBlur()"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"BsDatepickerInputDirective"},"multi":true}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Host"}}],null,null,null],"parameters":[{"__symbolic":"reference","module":"./bs-datepicker.component","name":"BsDatepickerComponent"},{"__symbolic":"reference","module":"./bs-datepicker.config","name":"BsDatepickerConfig"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,85 @@
1
+ import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer, SimpleChanges, ViewContainerRef } from '@angular/core';
2
+ import { ComponentLoaderFactory } from '../component-loader/component-loader.factory';
3
+ import { Subscription } from 'rxjs/Subscription';
4
+ import 'rxjs/add/operator/filter';
5
+ import { BsDatepickerConfig } from './bs-datepicker.config';
6
+ export declare class BsDatepickerComponent implements OnInit, OnDestroy, OnChanges {
7
+ _config: BsDatepickerConfig;
8
+ /**
9
+ * Placement of a datepicker. Accepts: "top", "bottom", "left", "right"
10
+ */
11
+ placement: 'top' | 'bottom' | 'left' | 'right';
12
+ /**
13
+ * Specifies events that should trigger. Supports a space separated list of
14
+ * event names.
15
+ */
16
+ triggers: string;
17
+ /**
18
+ * Close datepicker on outside click
19
+ */
20
+ outsideClick: boolean;
21
+ /**
22
+ * A selector specifying the element the datepicker should be appended to.
23
+ * Currently only supports "body".
24
+ */
25
+ container: string;
26
+ /**
27
+ * Returns whether or not the datepicker is currently being shown
28
+ */
29
+ isOpen: boolean;
30
+ /**
31
+ * Emits an event when the datepicker is shown
32
+ */
33
+ onShown: EventEmitter<any>;
34
+ /**
35
+ * Emits an event when the datepicker is hidden
36
+ */
37
+ onHidden: EventEmitter<any>;
38
+ _bsValue: Date;
39
+ /**
40
+ * Initial value of datepicker
41
+ */
42
+ bsValue: Date;
43
+ /**
44
+ * Config object for datepicker
45
+ */
46
+ bsConfig: Partial<BsDatepickerConfig>;
47
+ /**
48
+ * Indicates whether datepicker is enabled or not
49
+ */
50
+ isDisabled: boolean;
51
+ /**
52
+ * Minimum date which is available for selection
53
+ */
54
+ minDate: Date;
55
+ /**
56
+ * Maximum date which is available for selection
57
+ */
58
+ maxDate: Date;
59
+ /**
60
+ * Emits when datepicker value has been changed
61
+ */
62
+ bsValueChange: EventEmitter<Date>;
63
+ protected _subs: Subscription[];
64
+ private _datepicker;
65
+ private _datepickerRef;
66
+ constructor(_config: BsDatepickerConfig, _elementRef: ElementRef, _renderer: Renderer, _viewContainerRef: ViewContainerRef, cis: ComponentLoaderFactory);
67
+ ngOnInit(): any;
68
+ ngOnChanges(changes: SimpleChanges): void;
69
+ /**
70
+ * Opens an element’s datepicker. This is considered a “manual” triggering of
71
+ * the datepicker.
72
+ */
73
+ show(): void;
74
+ /**
75
+ * Closes an element’s datepicker. This is considered a “manual” triggering of
76
+ * the datepicker.
77
+ */
78
+ hide(): void;
79
+ /**
80
+ * Toggles an element’s datepicker. This is considered a “manual” triggering of
81
+ * the datepicker.
82
+ */
83
+ toggle(): void;
84
+ ngOnDestroy(): any;
85
+ }