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
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "file": "variables.css",
4
+ "sources": [
5
+ "../../../../src/datepicker/utils/scss/variables.scss"
6
+ ],
7
+ "sourcesContent": [
8
+ "$main-bg: #fff;\n$custom-range-bg: #eee;\n\n$main-box-shadow: #aaa;\n\n$font-color-01: #fff;\n$font-color-02: #9aaec1;\n$font-color-03: #54708b;\n\n$border-color: #e9edf0;\n$highlighted: #e9edf0;\n\n$btn-bg: #e9edf0;\n$btn-bg-hover: #d5dadd;\n\n$btn-bg2: #9aaec1;\n$btn-bg2-hover: #54708b;\n\n$theme-gray: #777;\n$theme-green: #5cb85c;\n$theme-blue: #5bc0de;\n$theme-dark-blue: #337ab7;\n$theme-red: #d9534f;\n$theme-orange: #f0ad4e;\n\n$disabled-background: rgba(221, 221, 221, 0.3);\n$disabled-color: #f5f5f5;\n\n$theme-list: (\n 'default': $theme-gray,\n 'green': $theme-green,\n 'blue': $theme-blue,\n 'dark-blue': $theme-dark-blue,\n 'red': $theme-red,\n 'orange': $theme-orange,\n);\n"
9
+ ],
10
+ "names": [],
11
+ "mappings": ""
12
+ }
@@ -0,0 +1,36 @@
1
+ $main-bg: #fff;
2
+ $custom-range-bg: #eee;
3
+
4
+ $main-box-shadow: #aaa;
5
+
6
+ $font-color-01: #fff;
7
+ $font-color-02: #9aaec1;
8
+ $font-color-03: #54708b;
9
+
10
+ $border-color: #e9edf0;
11
+ $highlighted: #e9edf0;
12
+
13
+ $btn-bg: #e9edf0;
14
+ $btn-bg-hover: #d5dadd;
15
+
16
+ $btn-bg2: #9aaec1;
17
+ $btn-bg2-hover: #54708b;
18
+
19
+ $theme-gray: #777;
20
+ $theme-green: #5cb85c;
21
+ $theme-blue: #5bc0de;
22
+ $theme-dark-blue: #337ab7;
23
+ $theme-red: #d9534f;
24
+ $theme-orange: #f0ad4e;
25
+
26
+ $disabled-background: rgba(221, 221, 221, 0.3);
27
+ $disabled-color: #f5f5f5;
28
+
29
+ $theme-list: (
30
+ 'default': $theme-gray,
31
+ 'green': $theme-green,
32
+ 'blue': $theme-blue,
33
+ 'dark-blue': $theme-dark-blue,
34
+ 'red': $theme-red,
35
+ 'orange': $theme-orange,
36
+ );
@@ -1,7 +1,7 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { isBs3 } from '../utils/ng2-bootstrap-config';
3
3
  import { DatePickerInnerComponent } from './datepicker-inner.component';
4
- export var YearPickerComponent = (function () {
4
+ var YearPickerComponent = (function () {
5
5
  function YearPickerComponent(datePicker) {
6
6
  this.rows = [];
7
7
  this.datePicker = datePicker;
@@ -42,7 +42,8 @@ export var YearPickerComponent = (function () {
42
42
  YearPickerComponent.decorators = [
43
43
  { type: Component, args: [{
44
44
  selector: 'yearpicker',
45
- template: "\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n "
45
+ template: "\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ",
46
+ styles: ["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]
46
47
  },] },
47
48
  ];
48
49
  /** @nocollapse */
@@ -51,4 +52,5 @@ export var YearPickerComponent = (function () {
51
52
  ]; };
52
53
  return YearPickerComponent;
53
54
  }());
55
+ export { YearPickerComponent };
54
56
  //# sourceMappingURL=yearpicker.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yearpicker.component.js","sourceRoot":"","sources":["../../src/datepicker/yearpicker.component.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAU,MAAM,eAAe;OAE1C,EAAE,KAAK,EAAE,MAAM,+BAA+B;OAC9C,EAAE,wBAAwB,EAAE,MAAM,8BAA8B;AAGvE;IAKE,6BAAmB,UAAmC;QAF/C,SAAI,GAAS,EAAE,CAAC;QAGrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,sBAAW,sCAAK;aAAhB;YACE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;;;OAAA;IAEM,sCAAQ,GAAf;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACpC,IAAI,KAAK,GAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,IAAS,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;YAEhE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,KAAU,EAAE,KAAU;YAChE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAES,6CAAe,GAAzB,UAA0B,IAAW;QACnC,iBAAiB;QACjB,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;IAClF,CAAC;IACI,8BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,26DAwCT;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,kCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,wBAAwB,GAAG;KACjC,EAF6F,CAE7F,CAAC;IACF,0BAAC;AAAD,CAAC,AAhGD,IAgGC","sourcesContent":["import { Component, OnInit } from '@angular/core';\n\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\n\n\nexport class YearPickerComponent implements OnInit {\n public datePicker:DatePickerInnerComponent;\n public title:string;\n public rows:any[] = [];\n\n public constructor(datePicker:DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n public get isBs4():boolean {\n return !isBs3();\n }\n\n public ngOnInit():void {\n let self = this;\n\n this.datePicker.stepYear = {years: this.datePicker.yearRange};\n\n this.datePicker.setRefreshViewHandler(function ():void {\n let years:any[] = new Array(this.yearRange);\n let date:Date;\n let start = self.getStartingYear(this.activeDate.getFullYear());\n\n for (let i = 0; i < this.yearRange; i++) {\n date = new Date(start + i, 0, 1);\n date = this.fixTimeZone(date);\n years[i] = this.createDateObject(date, this.formatYear);\n years[i].uid = this.uniqueId + '-' + i;\n }\n\n self.title = [years[0].label,\n years[this.yearRange - 1].label].join(' - ');\n self.rows = this.split(years, self.datePicker.yearColLimit);\n }, 'year');\n\n this.datePicker.setCompareHandler(function (date1:Date, date2:Date):number {\n return date1.getFullYear() - date2.getFullYear();\n }, 'year');\n\n this.datePicker.refreshView();\n }\n\n protected getStartingYear(year:number):number {\n // todo: parseInt\n return ((year - 1) / this.datePicker.yearRange) * this.datePicker.yearRange + 1;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'yearpicker',\n template: `\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n `\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: DatePickerInnerComponent, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/datepicker/yearpicker.component.ts"],"names":[],"mappings":"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","file":"yearpicker.component.js","sourceRoot":"","sourcesContent":["import { Component, OnInit } from '@angular/core';\n\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\n\n\nexport class YearPickerComponent implements OnInit {\n public datePicker:DatePickerInnerComponent;\n public title:string;\n public rows:any[] = [];\n\n public constructor(datePicker:DatePickerInnerComponent) {\n this.datePicker = datePicker;\n }\n\n public get isBs4():boolean {\n return !isBs3();\n }\n\n public ngOnInit():void {\n let self = this;\n\n this.datePicker.stepYear = {years: this.datePicker.yearRange};\n\n this.datePicker.setRefreshViewHandler(function ():void {\n let years:any[] = new Array(this.yearRange);\n let date:Date;\n let start = self.getStartingYear(this.activeDate.getFullYear());\n\n for (let i = 0; i < this.yearRange; i++) {\n date = new Date(start + i, 0, 1);\n date = this.fixTimeZone(date);\n years[i] = this.createDateObject(date, this.formatYear);\n years[i].uid = this.uniqueId + '-' + i;\n }\n\n self.title = [years[0].label,\n years[this.yearRange - 1].label].join(' - ');\n self.rows = this.split(years, self.datePicker.yearColLimit);\n }, 'year');\n\n this.datePicker.setCompareHandler(function (date1:Date, date2:Date):number {\n return date1.getFullYear() - date2.getFullYear();\n }, 'year');\n\n this.datePicker.refreshView();\n }\n\n protected getStartingYear(year:number):number {\n // todo: parseInt\n return ((year - 1) / this.datePicker.yearRange) * this.datePicker.yearRange + 1;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'yearpicker',\n template: `\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n `,\n styles: [`\n :host .btn-info .text-success {\n color: #fff !important;\n }\n `]\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: DatePickerInnerComponent, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"YearPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"yearpicker","template":"\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./datepicker-inner.component","name":"DatePickerInnerComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getStartingYear":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"YearPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"yearpicker","template":"\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./datepicker-inner.component","name":"DatePickerInnerComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getStartingYear":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"YearPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"yearpicker","template":"\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ","styles":["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./datepicker-inner.component","name":"DatePickerInnerComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getStartingYear":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"YearPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"yearpicker","template":"\n<table *ngIf=\"datePicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-left float-left\"\n (click)=\"datePicker.move(-1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-left\"></i>\n </button>\n </th>\n <th [attr.colspan]=\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\">\n <button [id]=\"datePicker.uniqueId + '-title'\" role=\"heading\"\n type=\"button\" class=\"btn btn-default btn-sm\"\n (click)=\"datePicker.toggleMode()\"\n [disabled]=\"datePicker.datepickerMode === datePicker.maxMode\"\n [ngClass]=\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\" tabindex=\"-1\" style=\"width:100%;\">\n <strong>{{title}}</strong>\n </button>\n </th>\n <th>\n <button type=\"button\" class=\"btn btn-default btn-sm pull-right float-right\"\n (click)=\"datePicker.move(1)\" tabindex=\"-1\">\n <i class=\"glyphicon glyphicon-chevron-right\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let rowz of rows\">\n <td *ngFor=\"let dtz of rowz\" class=\"text-center\" role=\"gridcell\">\n <button type=\"button\" style=\"min-width:100%;\" class=\"btn btn-default\"\n [ngClass]=\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\"\n [disabled]=\"dtz.disabled\"\n (click)=\"datePicker.select(dtz.date)\" tabindex=\"-1\">\n <span [ngClass]=\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\">{{dtz.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ","styles":["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./datepicker-inner.component","name":"DatePickerInnerComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getStartingYear":[{"__symbolic":"method"}]}}}}]
@@ -1,11 +1,12 @@
1
- import { ChangeDetectorRef, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, OnDestroy, Renderer } from '@angular/core';
2
2
  import { BsDropdownState } from './bs-dropdown.state';
3
3
  export declare class BsDropdownContainerComponent implements OnDestroy {
4
4
  private _state;
5
5
  private cd;
6
+ private _renderer;
6
7
  isOpen: boolean;
7
8
  readonly direction: 'down' | 'up';
8
9
  private _subscription;
9
- constructor(_state: BsDropdownState, cd: ChangeDetectorRef);
10
+ constructor(_state: BsDropdownState, cd: ChangeDetectorRef, _renderer: Renderer, _element: ElementRef);
10
11
  ngOnDestroy(): void;
11
12
  }
@@ -1,13 +1,26 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer } from '@angular/core';
2
2
  import { BsDropdownState } from './bs-dropdown.state';
3
- export var BsDropdownContainerComponent = (function () {
4
- function BsDropdownContainerComponent(_state, cd) {
3
+ var BsDropdownContainerComponent = (function () {
4
+ function BsDropdownContainerComponent(_state, cd, _renderer, _element) {
5
5
  var _this = this;
6
6
  this._state = _state;
7
7
  this.cd = cd;
8
+ this._renderer = _renderer;
8
9
  this.isOpen = false;
9
10
  this._subscription = _state.isOpenChange.subscribe(function (value) {
10
11
  _this.isOpen = value;
12
+ var dropdown = _element.nativeElement.querySelector('.dropdown-menu');
13
+ if (dropdown) {
14
+ _this._renderer.setElementClass(dropdown, 'show', true);
15
+ if (dropdown.classList.contains('dropdown-menu-right')) {
16
+ _this._renderer.setElementStyle(dropdown, 'left', 'auto');
17
+ _this._renderer.setElementStyle(dropdown, 'right', '0');
18
+ }
19
+ if (_this.direction === 'up') {
20
+ _this._renderer.setElementStyle(dropdown, 'top', 'auto');
21
+ _this._renderer.setElementStyle(dropdown, 'transform', 'translateY(-101%)');
22
+ }
23
+ }
11
24
  _this.cd.markForCheck();
12
25
  _this.cd.detectChanges();
13
26
  });
@@ -36,7 +49,10 @@ export var BsDropdownContainerComponent = (function () {
36
49
  BsDropdownContainerComponent.ctorParameters = function () { return [
37
50
  { type: BsDropdownState, },
38
51
  { type: ChangeDetectorRef, },
52
+ { type: Renderer, },
53
+ { type: ElementRef, },
39
54
  ]; };
40
55
  return BsDropdownContainerComponent;
41
56
  }());
57
+ export { BsDropdownContainerComponent };
42
58
  //# sourceMappingURL=bs-dropdown-container.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown-container.component.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown-container.component.ts"],"names":[],"mappings":"OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAY,MAAM,eAAe;OACvF,EAAE,eAAe,EAAE,MAAM,qBAAqB;AAGrD;IASE,sCAAoB,MAAuB,EAAU,EAAqB;QAT5E,iBAwCC;QA/BqB,WAAM,GAAN,MAAM,CAAiB;QAAU,OAAE,GAAF,EAAE,CAAmB;QAR1E,WAAM,GAAG,KAAK,CAAC;QASb,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAc;YAChE,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACvB,KAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAZD,sBAAI,mDAAS;aAAb;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IAYD,kDAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IACI,uCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,uBAAuB;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,KAAK,EAAE,mCAAmC;qBAC3C;oBACD,QAAQ,EAAE,8MAKT;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,2CAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;QACzB,EAAC,IAAI,EAAE,iBAAiB,GAAG;KAC1B,EAH6F,CAG7F,CAAC;IACF,mCAAC;AAAD,CAAC,AAxCD,IAwCC","sourcesContent":["import {ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy} from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownContainerComponent implements OnDestroy {\n isOpen = false;\n\n get direction(): 'down' | 'up' {\n return this._state.direction;\n }\n\n private _subscription: any;\n\n constructor(private _state: BsDropdownState, private cd: ChangeDetectorRef) {\n this._subscription = _state.isOpenChange.subscribe((value: boolean) => {\n this.isOpen = value;\n this.cd.markForCheck();\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'bs-dropdown-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display:block;position: absolute;'\n },\n template: `\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n `\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ChangeDetectorRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAA,EAAyB,iBAAA,EAAmB,SAAA,EAAW,UAAA,EAAuB,QAAA,EAAS,MAAO,eAAA,CAAgB;AACvH,OAAO,EAAE,eAAA,EAAgB,MAAO,qBAAA,CAAsB;AAGtD;IASE,sCAAoB,MAAuB,EAAU,EAAqB,EAAU,SAAmB,EAAE,QAAoB;QAA7H,iBAkBC;QAlBmB,WAAM,GAAN,MAAM,CAAiB;QAAU,OAAE,GAAF,EAAE,CAAmB;QAAU,cAAS,GAAT,SAAS,CAAU;QARvG,WAAM,GAAG,KAAK,CAAC;QASb,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAc;YAChE,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACxE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACb,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBACvD,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACzD,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;gBACD,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC5B,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBACxD,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACvB,KAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAxBD,sBAAI,mDAAS;aAAb;YACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IAwBD,kDAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IACI,uCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,uBAAuB;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,KAAK,EAAE,mCAAmC;qBAC3C;oBACD,QAAQ,EAAE,8MAKT;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,2CAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;QACzB,EAAC,IAAI,EAAE,iBAAiB,GAAG;QAC3B,EAAC,IAAI,EAAE,QAAQ,GAAG;QAClB,EAAC,IAAI,EAAE,UAAU,GAAG;KACnB,EAL6F,CAK7F,CAAC;IACF,mCAAC;CAtDD,AAsDC,IAAA;SAtDY,4BAA4B","file":"bs-dropdown-container.component.js","sourceRoot":"","sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnDestroy, Renderer } from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownContainerComponent implements OnDestroy {\n isOpen = false;\n\n get direction(): 'down' | 'up' {\n return this._state.direction;\n }\n\n private _subscription: any;\n\n constructor(private _state: BsDropdownState, private cd: ChangeDetectorRef, private _renderer: Renderer, _element: ElementRef) {\n this._subscription = _state.isOpenChange.subscribe((value: boolean) => {\n this.isOpen = value;\n const dropdown = _element.nativeElement.querySelector('.dropdown-menu');\n if (dropdown) {\n this._renderer.setElementClass(dropdown, 'show', true);\n if (dropdown.classList.contains('dropdown-menu-right')) {\n this._renderer.setElementStyle(dropdown, 'left', 'auto');\n this._renderer.setElementStyle(dropdown, 'right', '0');\n }\n if (this.direction === 'up') {\n this._renderer.setElementStyle(dropdown, 'top', 'auto');\n this._renderer.setElementStyle(dropdown, 'transform', 'translateY(-101%)');\n }\n }\n this.cd.markForCheck();\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'bs-dropdown-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display:block;position: absolute;'\n },\n template: `\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n `\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ChangeDetectorRef, },\n{type: Renderer, },\n{type: ElementRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"BsDropdownContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"bs-dropdown-container","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"host":{"style":"display:block;position: absolute;"},"template":"\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDropdownContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"bs-dropdown-container","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"host":{"style":"display:block;position: absolute;"},"template":"\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDropdownContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"bs-dropdown-container","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"host":{"style":"display:block;position: absolute;"},"template":"\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDropdownContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"bs-dropdown-container","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"host":{"style":"display:block;position: absolute;"},"template":"\n <div [class.dropup]=\"direction === 'up'\"\n [class.dropdown]=\"direction === 'down'\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content></div>\n "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
@@ -1,6 +1,6 @@
1
1
  import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { BsDropdownState } from './bs-dropdown.state';
3
- export var BsDropdownMenuDirective = (function () {
3
+ var BsDropdownMenuDirective = (function () {
4
4
  function BsDropdownMenuDirective(_state, _viewContainer, _templateRef) {
5
5
  _state.resolveDropdownMenu({
6
6
  templateRef: _templateRef,
@@ -21,4 +21,5 @@ export var BsDropdownMenuDirective = (function () {
21
21
  ]; };
22
22
  return BsDropdownMenuDirective;
23
23
  }());
24
+ export { BsDropdownMenuDirective };
24
25
  //# sourceMappingURL=bs-dropdown-menu.directive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown-menu.directive.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown-menu.directive.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe;OACjE,EAAE,eAAe,EAAE,MAAM,qBAAqB;AAGrD;IACE,iCAAY,MAAuB,EACvB,cAAgC,EAChC,YAA8B;QACxC,MAAM,CAAC,mBAAmB,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,cAAc;SAC9B,CAAC,CAAC;IACL,CAAC;IACI,kCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,iCAAiC;oBAC3C,QAAQ,EAAE,kBAAkB;iBAC7B,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,sCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;QACzB,EAAC,IAAI,EAAE,gBAAgB,GAAG;QAC1B,EAAC,IAAI,EAAE,WAAW,GAAG;KACpB,EAJ6F,CAI7F,CAAC;IACF,8BAAC;AAAD,CAAC,AArBD,IAqBC","sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownMenuDirective {\n constructor(_state: BsDropdownState,\n _viewContainer: ViewContainerRef,\n _templateRef: TemplateRef<any>) {\n _state.resolveDropdownMenu({\n templateRef: _templateRef,\n viewContainer: _viewContainer\n });\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdownMenu],[dropdownMenu]',\n exportAs: 'bs-dropdown-menu'\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ViewContainerRef, },\n{type: TemplateRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown-menu.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAA,EAAW,WAAA,EAAa,gBAAA,EAAiB,MAAO,eAAA,CAAgB;AACzE,OAAO,EAAE,eAAA,EAAgB,MAAO,qBAAA,CAAsB;AAGtD;IACE,iCAAY,MAAuB,EACvB,cAAgC,EAChC,YAA8B;QACxC,MAAM,CAAC,mBAAmB,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,cAAc;SAC9B,CAAC,CAAC;IACL,CAAC;IACI,kCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,iCAAiC;oBAC3C,QAAQ,EAAE,kBAAkB;iBAC7B,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,sCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;QACzB,EAAC,IAAI,EAAE,gBAAgB,GAAG;QAC1B,EAAC,IAAI,EAAE,WAAW,GAAG;KACpB,EAJ6F,CAI7F,CAAC;IACF,8BAAC;CArBD,AAqBC,IAAA;SArBY,uBAAuB","file":"bs-dropdown-menu.directive.js","sourceRoot":"","sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownMenuDirective {\n constructor(_state: BsDropdownState,\n _viewContainer: ViewContainerRef,\n _templateRef: TemplateRef<any>) {\n _state.resolveDropdownMenu({\n templateRef: _templateRef,\n viewContainer: _viewContainer\n });\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdownMenu],[dropdownMenu]',\n exportAs: 'bs-dropdown-menu'\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ViewContainerRef, },\n{type: TemplateRef, },\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Directive, ElementRef, HostBinding, HostListener } from '@angular/core';
2
2
  import { BsDropdownState } from './bs-dropdown.state';
3
- export var BsDropdownToggleDirective = (function () {
3
+ var BsDropdownToggleDirective = (function () {
4
4
  function BsDropdownToggleDirective(_state, _element) {
5
5
  var _this = this;
6
6
  this._state = _state;
@@ -61,4 +61,5 @@ export var BsDropdownToggleDirective = (function () {
61
61
  };
62
62
  return BsDropdownToggleDirective;
63
63
  }());
64
+ export { BsDropdownToggleDirective };
64
65
  //# sourceMappingURL=bs-dropdown-toggle.directive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown-toggle.directive.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown-toggle.directive.ts"],"names":[],"mappings":"OAAO,EACL,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EACjD,MAAM,eAAe;OAGf,EAAE,eAAe,EAAE,MAAM,qBAAqB;AAGrD;IAgCE,mCAAoB,MAAuB,EACvB,QAAoB;QAjC1C,iBAqEC;QArCqB,WAAM,GAAN,MAAM,CAAiB;QACvB,aAAQ,GAAR,QAAQ,CAAY;QA/BxC,eAAU,GAAY,IAAI,CAAC;QA4BnB,mBAAc,GAAmB,EAAE,CAAC;QAI1C,gCAAgC;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;aACjC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAc,IAAK,OAAA,KAAI,CAAC,MAAM,GAAG,KAAK,EAAnB,CAAmB,CAAC,CAAC,CAAC;QACpE,0BAA0B;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;aACjC,gBAAgB;aAChB,SAAS,CAAC,UAAC,KAAc,IAAK,OAAA,KAAI,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,EAA/B,CAA+B,CAAC,CAAC,CAAC;IACrE,CAAC;IAjCD,2CAAO,GAAP;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAGD,mDAAe,GAAf,UAAgB,KAAU;QACxB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAC7C,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAGD,yCAAK,GAAL;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAeD,+CAAW,GAAX;QACE,GAAG,CAAC,CAAc,UAAmB,EAAnB,KAAA,IAAI,CAAC,cAAc,EAAnB,cAAmB,EAAnB,IAAmB,CAAC;YAAjC,IAAM,GAAG,SAAA;YACZ,GAAG,CAAC,WAAW,EAAE,CAAC;SACnB;IACH,CAAC;IACI,oCAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,qCAAqC;oBAC/C,QAAQ,EAAE,oBAAoB;oBAC9B,IAAI,EAAE;wBACJ,sBAAsB,EAAE,MAAM;qBAC/B;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,wCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;QACzB,EAAC,IAAI,EAAE,UAAU,GAAG;KACnB,EAH6F,CAG7F,CAAC;IACK,wCAAc,GAA2C;QAChE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,eAAe,EAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,oBAAoB,EAAG,EAAE,EAAE;QAClE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAO,EAAG,EAAE,EAAE;QACvD,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAAG,EAAE,EAAE;QACpF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAG,EAAE,EAAE;KACxD,CAAC;IACF,gCAAC;AAAD,CAAC,AArED,IAqEC","sourcesContent":["import {\n Directive, ElementRef, HostBinding, HostListener, OnDestroy\n} from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownToggleDirective implements OnDestroy {\n \n isDisabled: boolean = null;\n\n // @HostBinding('class.active')\n isOpen: boolean;\n\n \n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n this._state.toggleClick.emit();\n }\n\n \n onDocumentClick(event: any): void {\n if (this._state.autoClose && event.button !== 2 &&\n !this._element.nativeElement.contains(event.target)) {\n this._state.toggleClick.emit(false);\n }\n }\n\n \n onEsc(): void {\n if (this._state.autoClose) {\n this._state.toggleClick.emit(false);\n }\n }\n\n private _subscriptions: Subscription[] = [];\n\n constructor(private _state: BsDropdownState,\n private _element: ElementRef) {\n // sync is open value with state\n this._subscriptions.push(this._state\n .isOpenChange.subscribe((value: boolean) => this.isOpen = value));\n // populate disabled state\n this._subscriptions.push(this._state\n .isDisabledChange\n .subscribe((value: boolean) => this.isDisabled = value || null));\n }\n\n ngOnDestroy(): void {\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdownToggle],[dropdownToggle]',\n exportAs: 'bs-dropdown-toggle',\n host: {\n '[attr.aria-haspopup]': 'true'\n }\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ElementRef, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'isDisabled': [{ type: HostBinding, args: ['attr.disabled', ] },],\n'isOpen': [{ type: HostBinding, args: ['attr.aria-expanded', ] },],\n'onClick': [{ type: HostListener, args: ['click', ] },],\n'onDocumentClick': [{ type: HostListener, args: ['document:click', ['$event'], ] },],\n'onEsc': [{ type: HostListener, args: ['keyup.esc', ] },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown-toggle.directive.ts"],"names":[],"mappings":"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","file":"bs-dropdown-toggle.directive.js","sourceRoot":"","sourcesContent":["import {\n Directive, ElementRef, HostBinding, HostListener, OnDestroy\n} from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownToggleDirective implements OnDestroy {\n \n isDisabled: boolean = null;\n\n // @HostBinding('class.active')\n isOpen: boolean;\n\n \n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n this._state.toggleClick.emit();\n }\n\n \n onDocumentClick(event: any): void {\n if (this._state.autoClose && event.button !== 2 &&\n !this._element.nativeElement.contains(event.target)) {\n this._state.toggleClick.emit(false);\n }\n }\n\n \n onEsc(): void {\n if (this._state.autoClose) {\n this._state.toggleClick.emit(false);\n }\n }\n\n private _subscriptions: Subscription[] = [];\n\n constructor(private _state: BsDropdownState,\n private _element: ElementRef) {\n // sync is open value with state\n this._subscriptions.push(this._state\n .isOpenChange.subscribe((value: boolean) => this.isOpen = value));\n // populate disabled state\n this._subscriptions.push(this._state\n .isDisabledChange\n .subscribe((value: boolean) => this.isDisabled = value || null));\n }\n\n ngOnDestroy(): void {\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdownToggle],[dropdownToggle]',\n exportAs: 'bs-dropdown-toggle',\n host: {\n '[attr.aria-haspopup]': 'true'\n }\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: BsDropdownState, },\n{type: ElementRef, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'isDisabled': [{ type: HostBinding, args: ['attr.disabled', ] },],\n'isOpen': [{ type: HostBinding, args: ['attr.aria-expanded', ] },],\n'onClick': [{ type: HostListener, args: ['click', ] },],\n'onDocumentClick': [{ type: HostListener, args: ['document:click', ['$event'], ] },],\n'onEsc': [{ type: HostListener, args: ['keyup.esc', ] },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  /** Default dropdown configuration */
3
- export var BsDropdownConfig = (function () {
3
+ var BsDropdownConfig = (function () {
4
4
  function BsDropdownConfig() {
5
5
  /** default dropdown auto closing behavior */
6
6
  this.autoClose = true;
@@ -12,4 +12,5 @@ export var BsDropdownConfig = (function () {
12
12
  BsDropdownConfig.ctorParameters = function () { return []; };
13
13
  return BsDropdownConfig;
14
14
  }());
15
+ export { BsDropdownConfig };
15
16
  //# sourceMappingURL=bs-dropdown.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown.config.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown.config.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,eAAe;AAE1C,qCAAqC;AAErC;IAAA;QACE,6CAA6C;QAC7C,cAAS,GAAG,IAAI,CAAC;IAOnB,CAAC;IANM,2BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,+BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,uBAAC;AAAD,CAAC,AATD,IASC","sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default dropdown configuration */\n\nexport class BsDropdownConfig {\n /** default dropdown auto closing behavior */\n autoClose = true;\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAA,EAAW,MAAO,eAAA,CAAgB;AAE3C,qCAAqC;AAErC;IAAA;QACE,6CAA6C;QAC7C,cAAS,GAAG,IAAI,CAAC;IAOnB,CAAC;IANM,2BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,+BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,uBAAC;CATD,AASC,IAAA;SATY,gBAAgB","file":"bs-dropdown.config.js","sourceRoot":"","sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default dropdown configuration */\n\nexport class BsDropdownConfig {\n /** default dropdown auto closing behavior */\n autoClose = true;\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -79,4 +79,9 @@ export declare class BsDropdownDirective implements OnInit, OnDestroy {
79
79
  */
80
80
  toggle(value?: boolean): void;
81
81
  ngOnDestroy(): void;
82
+ private addBs4Polyfills();
83
+ private addShowClass();
84
+ private removeShowClass();
85
+ private checkRightAlignment();
86
+ private checkDropup();
82
87
  }
@@ -5,7 +5,7 @@ import { BsDropdownConfig } from './bs-dropdown.config';
5
5
  import { BsDropdownContainerComponent } from './bs-dropdown-container.component';
6
6
  import { BsDropdownState } from './bs-dropdown.state';
7
7
  import { isBs3 } from '../utils/ng2-bootstrap-config';
8
- export var BsDropdownDirective = (function () {
8
+ var BsDropdownDirective = (function () {
9
9
  function BsDropdownDirective(_elementRef, _renderer, _viewContainerRef, _cis, _config, _state) {
10
10
  this._elementRef = _elementRef;
11
11
  this._renderer = _renderer;
@@ -131,9 +131,12 @@ export var BsDropdownDirective = (function () {
131
131
  if (!this._inlinedMenu) {
132
132
  this._state.dropdownMenu
133
133
  .then(function (dropdownMenu) {
134
- _this._inlinedMenu = dropdownMenu.viewContainer.createEmbeddedView(dropdownMenu.templateRef);
134
+ _this._dropdown.attachInline(dropdownMenu.viewContainer, dropdownMenu.templateRef);
135
+ _this._inlinedMenu = _this._dropdown._inlineViewRef;
136
+ _this.addBs4Polyfills();
135
137
  });
136
138
  }
139
+ this.addBs4Polyfills();
137
140
  this._isInlineOpen = true;
138
141
  this.onShown.emit(true);
139
142
  this._state.isOpenChange.emit(true);
@@ -168,6 +171,7 @@ export var BsDropdownDirective = (function () {
168
171
  return;
169
172
  }
170
173
  if (this._showInline) {
174
+ this.removeShowClass();
171
175
  this._isInlineOpen = false;
172
176
  this.onHidden.emit(true);
173
177
  }
@@ -194,6 +198,39 @@ export var BsDropdownDirective = (function () {
194
198
  }
195
199
  this._dropdown.dispose();
196
200
  };
201
+ BsDropdownDirective.prototype.addBs4Polyfills = function () {
202
+ if (!isBs3()) {
203
+ this.addShowClass();
204
+ this.checkRightAlignment();
205
+ this.checkDropup();
206
+ }
207
+ };
208
+ BsDropdownDirective.prototype.addShowClass = function () {
209
+ if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {
210
+ this._renderer.setElementClass(this._inlinedMenu.rootNodes[0], 'show', true);
211
+ }
212
+ };
213
+ BsDropdownDirective.prototype.removeShowClass = function () {
214
+ if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {
215
+ this._renderer.setElementClass(this._inlinedMenu.rootNodes[0], 'show', false);
216
+ }
217
+ };
218
+ BsDropdownDirective.prototype.checkRightAlignment = function () {
219
+ if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {
220
+ var isRightAligned = this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-right');
221
+ this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'left', isRightAligned ? 'auto' : '0');
222
+ this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'right', isRightAligned ? '0' : 'auto');
223
+ }
224
+ };
225
+ BsDropdownDirective.prototype.checkDropup = function () {
226
+ if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {
227
+ // a little hack to not break support of bootstrap 4 beta
228
+ var top_1 = getComputedStyle(this._inlinedMenu.rootNodes[0])['top'];
229
+ var topAuto = top_1 === 'auto' || top_1 === '100%';
230
+ this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'top', this.dropup ? 'auto' : '100%');
231
+ this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'transform', this.dropup && !topAuto ? 'translateY(-101%)' : 'translateY(0)');
232
+ }
233
+ };
197
234
  BsDropdownDirective.decorators = [
198
235
  { type: Directive, args: [{
199
236
  selector: '[bsDropdown],[dropdown]',
@@ -229,4 +266,5 @@ export var BsDropdownDirective = (function () {
229
266
  };
230
267
  return BsDropdownDirective;
231
268
  }());
269
+ export { BsDropdownDirective };
232
270
  //# sourceMappingURL=bs-dropdown.directive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown.directive.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive, ElementRef, EmbeddedViewRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output,\n Renderer, ViewContainerRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\nimport 'rxjs/add/operator/filter';\nimport { ComponentLoader, ComponentLoaderFactory } from '../component-loader';\n\nimport { BsDropdownConfig } from './bs-dropdown.config';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsComponentRef } from '../component-loader/bs-component-ref.class';\nimport { BsDropdownMenuDirective } from './';\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\n\n\nexport class BsDropdownDirective implements OnInit, OnDestroy {\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n placement: string;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers: string;\n /**\n * A selector specifying the element the popover should be appended to.\n * Currently only supports \"body\".\n */\n container: string;\n\n /**\n * This attribute indicates that the dropdown should be opened upwards\n */\n dropup: boolean;\n\n /**\n * Indicates that dropdown will be closed on item or document click,\n * and after pressing ESC\n */\n set autoClose(value: boolean) {\n if (typeof value === 'boolean') {\n this._state.autoClose = value;\n }\n };\n\n get autoClose(): boolean {\n return this._state.autoClose;\n }\n\n /**\n * Disables dropdown toggle and hides dropdown menu if opened\n */\n set isDisabled(value: boolean) {\n this._isDisabled = value;\n this._state.isDisabledChange.emit(value);\n if (value) {\n this.hide();\n }\n }\n\n get isDisabled(): boolean { return this._isDisabled; }\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n get isOpen(): boolean {\n if (this._showInline) {\n return this._isInlineOpen;\n }\n return this._dropdown.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Emits an event when isOpen change\n */\n isOpenChange: EventEmitter<any>;\n\n /**\n * Emits an event when the popover is shown\n */\n onShown: EventEmitter<any>;\n\n /**\n * Emits an event when the popover is hidden\n */\n onHidden: EventEmitter<any>;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n // todo: move to component loader\n private _isInlineOpen = false;\n private get _showInline(): boolean {\n return !this.container;\n };\n private _inlinedMenu: EmbeddedViewRef<BsDropdownMenuDirective>;\n\n private _isDisabled: boolean;\n private _dropdown: ComponentLoader<BsDropdownContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _isInited = false;\n\n constructor(private _elementRef: ElementRef,\n private _renderer: Renderer,\n private _viewContainerRef: ViewContainerRef,\n private _cis: ComponentLoaderFactory,\n private _config: BsDropdownConfig,\n private _state: BsDropdownState) {\n // create dropdown component loader\n this._dropdown = this._cis\n .createLoader<BsDropdownContainerComponent>(this._elementRef, this._viewContainerRef, this._renderer)\n .provide({ provide: BsDropdownState, useValue: this._state });\n\n this.onShown = this._dropdown.onShown;\n this.onHidden = this._dropdown.onHidden;\n this.isOpenChange = this._state.isOpenChange;\n\n // set initial dropdown state from config\n this._state.autoClose = this._config.autoClose;\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) { return; }\n this._isInited = true;\n\n // attach DOM listeners\n this._dropdown.listen({\n triggers: this.triggers,\n show: () => this.show()\n });\n\n // toggle visibility on toggle element click\n this._subscriptions.push(this._state\n .toggleClick.subscribe((value: boolean) => this.toggle(value)));\n\n // hide dropdown if set disabled while opened\n this._subscriptions.push(this._state\n .isDisabledChange\n .filter((value: boolean) => value === true)\n .subscribe((value: boolean) => this.hide()));\n\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this.isOpen || this.isDisabled) {\n return;\n }\n\n if (this._showInline) {\n if (!this._inlinedMenu) {\n this._state.dropdownMenu\n .then((dropdownMenu: BsComponentRef<BsDropdownMenuDirective>) => {\n this._inlinedMenu = dropdownMenu.viewContainer.createEmbeddedView(dropdownMenu.templateRef);\n });\n }\n\n this._isInlineOpen = true;\n this.onShown.emit(true);\n this._state.isOpenChange.emit(true);\n return;\n }\n this._state.dropdownMenu\n .then((dropdownMenu) => {\n // check direction in which dropdown should be opened\n const _dropup = this.dropup === true ||\n (typeof this.dropup !== 'undefined' && this.dropup !== false);\n this._state.direction = _dropup ? 'up' : 'down';\n const _placement = this.placement ||\n (_dropup ? 'top left' : 'bottom left');\n\n // show dropdown\n this._dropdown\n .attach(BsDropdownContainerComponent)\n .to(this.container)\n .position({ attachment: _placement })\n .show({\n content: dropdownMenu.templateRef,\n placement: _placement\n });\n\n this._state.isOpenChange.emit(true);\n });\n\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (!this.isOpen) {\n return;\n }\n\n if (this._showInline) {\n this._isInlineOpen = false;\n this.onHidden.emit(true);\n } else {\n this._dropdown.hide();\n }\n\n this._state.isOpenChange.emit(false);\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(value?: boolean): void {\n if (this.isOpen || value === false) {\n return this.hide();\n }\n\n return this.show();\n }\n\n ngOnDestroy(): void {\n // clean up subscriptions and destroy dropdown\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._dropdown.dispose();\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdown],[dropdown]',\n exportAs: 'bs-dropdown',\n providers: [BsDropdownState],\n host: {\n '[class.dropup]': 'dropup',\n '[class.open]': 'isOpen',\n '[class.show]': 'isOpen && isBs4'\n }\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ElementRef, },\n{type: Renderer, },\n{type: ViewContainerRef, },\n{type: ComponentLoaderFactory, },\n{type: BsDropdownConfig, },\n{type: BsDropdownState, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'placement': [{ type: Input },],\n'triggers': [{ type: Input },],\n'container': [{ type: Input },],\n'dropup': [{ type: Input },],\n'autoClose': [{ type: Input },],\n'isDisabled': [{ type: Input },],\n'isOpen': [{ type: Input },],\n'isOpenChange': [{ type: Output },],\n'onShown': [{ type: Output },],\n'onHidden': [{ type: Output },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown.directive.ts"],"names":[],"mappings":"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","file":"bs-dropdown.directive.js","sourceRoot":"","sourcesContent":["import {\n Directive, ElementRef, EmbeddedViewRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output,\n Renderer, ViewContainerRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\nimport 'rxjs/add/operator/filter';\nimport { ComponentLoader, ComponentLoaderFactory } from '../component-loader';\n\nimport { BsDropdownConfig } from './bs-dropdown.config';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsComponentRef } from '../component-loader/bs-component-ref.class';\nimport { BsDropdownMenuDirective } from './';\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\n\n\nexport class BsDropdownDirective implements OnInit, OnDestroy {\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n placement: string;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers: string;\n /**\n * A selector specifying the element the popover should be appended to.\n * Currently only supports \"body\".\n */\n container: string;\n\n /**\n * This attribute indicates that the dropdown should be opened upwards\n */\n dropup: boolean;\n\n /**\n * Indicates that dropdown will be closed on item or document click,\n * and after pressing ESC\n */\n set autoClose(value: boolean) {\n if (typeof value === 'boolean') {\n this._state.autoClose = value;\n }\n };\n\n get autoClose(): boolean {\n return this._state.autoClose;\n }\n\n /**\n * Disables dropdown toggle and hides dropdown menu if opened\n */\n set isDisabled(value: boolean) {\n this._isDisabled = value;\n this._state.isDisabledChange.emit(value);\n if (value) {\n this.hide();\n }\n }\n\n get isDisabled(): boolean { return this._isDisabled; }\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n get isOpen(): boolean {\n if (this._showInline) {\n return this._isInlineOpen;\n }\n return this._dropdown.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Emits an event when isOpen change\n */\n isOpenChange: EventEmitter<any>;\n\n /**\n * Emits an event when the popover is shown\n */\n onShown: EventEmitter<any>;\n\n /**\n * Emits an event when the popover is hidden\n */\n onHidden: EventEmitter<any>;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n // todo: move to component loader\n private _isInlineOpen = false;\n private get _showInline(): boolean {\n return !this.container;\n };\n private _inlinedMenu: EmbeddedViewRef<BsDropdownMenuDirective>;\n\n private _isDisabled: boolean;\n private _dropdown: ComponentLoader<BsDropdownContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _isInited = false;\n\n constructor(private _elementRef: ElementRef,\n private _renderer: Renderer,\n private _viewContainerRef: ViewContainerRef,\n private _cis: ComponentLoaderFactory,\n private _config: BsDropdownConfig,\n private _state: BsDropdownState) {\n // create dropdown component loader\n this._dropdown = this._cis\n .createLoader<BsDropdownContainerComponent>(this._elementRef, this._viewContainerRef, this._renderer)\n .provide({ provide: BsDropdownState, useValue: this._state });\n\n this.onShown = this._dropdown.onShown;\n this.onHidden = this._dropdown.onHidden;\n this.isOpenChange = this._state.isOpenChange;\n\n // set initial dropdown state from config\n this._state.autoClose = this._config.autoClose;\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) { return; }\n this._isInited = true;\n\n // attach DOM listeners\n this._dropdown.listen({\n triggers: this.triggers,\n show: () => this.show()\n });\n\n // toggle visibility on toggle element click\n this._subscriptions.push(this._state\n .toggleClick.subscribe((value: boolean) => this.toggle(value)));\n\n // hide dropdown if set disabled while opened\n this._subscriptions.push(this._state\n .isDisabledChange\n .filter((value: boolean) => value === true)\n .subscribe((value: boolean) => this.hide()));\n\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this.isOpen || this.isDisabled) {\n return;\n }\n\n if (this._showInline) {\n if (!this._inlinedMenu) {\n this._state.dropdownMenu\n .then((dropdownMenu: BsComponentRef<BsDropdownMenuDirective>) => {\n this._dropdown.attachInline(dropdownMenu.viewContainer, dropdownMenu.templateRef);\n this._inlinedMenu = this._dropdown._inlineViewRef;\n this.addBs4Polyfills();\n });\n }\n this.addBs4Polyfills();\n this._isInlineOpen = true;\n this.onShown.emit(true);\n this._state.isOpenChange.emit(true);\n return;\n }\n this._state.dropdownMenu\n .then((dropdownMenu) => {\n // check direction in which dropdown should be opened\n const _dropup = this.dropup === true ||\n (typeof this.dropup !== 'undefined' && this.dropup !== false);\n this._state.direction = _dropup ? 'up' : 'down';\n const _placement = this.placement ||\n (_dropup ? 'top left' : 'bottom left');\n\n // show dropdown\n this._dropdown\n .attach(BsDropdownContainerComponent)\n .to(this.container)\n .position({ attachment: _placement })\n .show({\n content: dropdownMenu.templateRef,\n placement: _placement\n });\n\n this._state.isOpenChange.emit(true);\n });\n\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (!this.isOpen) {\n return;\n }\n\n if (this._showInline) {\n this.removeShowClass();\n this._isInlineOpen = false;\n this.onHidden.emit(true);\n } else {\n this._dropdown.hide();\n }\n\n this._state.isOpenChange.emit(false);\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(value?: boolean): void {\n if (this.isOpen || value === false) {\n return this.hide();\n }\n\n return this.show();\n }\n\n ngOnDestroy(): void {\n // clean up subscriptions and destroy dropdown\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._dropdown.dispose();\n }\n\n private addBs4Polyfills(): void {\n if (!isBs3()) {\n this.addShowClass();\n this.checkRightAlignment();\n this.checkDropup();\n }\n }\n\n private addShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.setElementClass(this._inlinedMenu.rootNodes[0], 'show', true);\n }\n }\n\n private removeShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.setElementClass(this._inlinedMenu.rootNodes[0], 'show', false);\n }\n }\n\n private checkRightAlignment(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n const isRightAligned = this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-right');\n this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'left', isRightAligned ? 'auto' : '0');\n this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'right', isRightAligned ? '0' : 'auto');\n }\n }\n\n private checkDropup(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n // a little hack to not break support of bootstrap 4 beta\n const top = getComputedStyle(this._inlinedMenu.rootNodes[0])['top'];\n const topAuto = top === 'auto' || top === '100%';\n this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'top', this.dropup ? 'auto' : '100%');\n this._renderer.setElementStyle(this._inlinedMenu.rootNodes[0], 'transform', this.dropup && !topAuto ? 'translateY(-101%)' : 'translateY(0)');\n }\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[bsDropdown],[dropdown]',\n exportAs: 'bs-dropdown',\n providers: [BsDropdownState],\n host: {\n '[class.dropup]': 'dropup',\n '[class.open]': 'isOpen',\n '[class.show]': 'isOpen && isBs4'\n }\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ElementRef, },\n{type: Renderer, },\n{type: ViewContainerRef, },\n{type: ComponentLoaderFactory, },\n{type: BsDropdownConfig, },\n{type: BsDropdownState, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'placement': [{ type: Input },],\n'triggers': [{ type: Input },],\n'container': [{ type: Input },],\n'dropup': [{ type: Input },],\n'autoClose': [{ type: Input },],\n'isDisabled': [{ type: Input },],\n'isOpen': [{ type: Input },],\n'isOpenChange': [{ type: Output },],\n'onShown': [{ type: Output },],\n'onHidden': [{ type: Output },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"BsDropdownDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[bsDropdown],[dropdown]","exportAs":"bs-dropdown","providers":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}],"host":{"[class.dropup]":"dropup","[class.open]":"isOpen","[class.show]":"isOpen && isBs4","$quoted$":["[class.dropup]","[class.open]","[class.show]"]}}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"triggers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dropup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"autoClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpenChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"},{"__symbolic":"reference","module":"./bs-dropdown.config","name":"BsDropdownConfig"},{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}]}],"ngOnInit":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDropdownDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[bsDropdown],[dropdown]","exportAs":"bs-dropdown","providers":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}],"host":{"[class.dropup]":"dropup","[class.open]":"isOpen","[class.show]":"isOpen && isBs4"}}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"triggers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dropup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"autoClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpenChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"},{"__symbolic":"reference","module":"./bs-dropdown.config","name":"BsDropdownConfig"},{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}]}],"ngOnInit":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"BsDropdownDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[bsDropdown],[dropdown]","exportAs":"bs-dropdown","providers":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}],"host":{"[class.dropup]":"dropup","[class.open]":"isOpen","[class.show]":"isOpen && isBs4","$quoted$":["[class.dropup]","[class.open]","[class.show]"]}}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"triggers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dropup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"autoClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpenChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"},{"__symbolic":"reference","module":"./bs-dropdown.config","name":"BsDropdownConfig"},{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}]}],"ngOnInit":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"addBs4Polyfills":[{"__symbolic":"method"}],"addShowClass":[{"__symbolic":"method"}],"removeShowClass":[{"__symbolic":"method"}],"checkRightAlignment":[{"__symbolic":"method"}],"checkDropup":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"BsDropdownDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[bsDropdown],[dropdown]","exportAs":"bs-dropdown","providers":[{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}],"host":{"[class.dropup]":"dropup","[class.open]":"isOpen","[class.show]":"isOpen && isBs4"}}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"triggers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dropup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"autoClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isOpenChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"},{"__symbolic":"reference","module":"./bs-dropdown.config","name":"BsDropdownConfig"},{"__symbolic":"reference","module":"./bs-dropdown.state","name":"BsDropdownState"}]}],"ngOnInit":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"addBs4Polyfills":[{"__symbolic":"method"}],"addShowClass":[{"__symbolic":"method"}],"removeShowClass":[{"__symbolic":"method"}],"checkRightAlignment":[{"__symbolic":"method"}],"checkDropup":[{"__symbolic":"method"}]}}}}]
@@ -7,7 +7,7 @@ import { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';
7
7
  import { BsDropdownConfig } from './bs-dropdown.config';
8
8
  import { BsDropdownDirective } from './bs-dropdown.directive';
9
9
  import { BsDropdownState } from './bs-dropdown.state';
10
- export var BsDropdownModule = (function () {
10
+ var BsDropdownModule = (function () {
11
11
  function BsDropdownModule() {
12
12
  }
13
13
  BsDropdownModule.forRoot = function (config) {
@@ -41,4 +41,5 @@ export var BsDropdownModule = (function () {
41
41
  BsDropdownModule.ctorParameters = function () { return []; };
42
42
  return BsDropdownModule;
43
43
  }());
44
+ export { BsDropdownModule };
44
45
  //# sourceMappingURL=bs-dropdown.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bs-dropdown.module.js","sourceRoot":"","sources":["../../src/dropdown/bs-dropdown.module.ts"],"names":[],"mappings":"OAAO,EAAuB,QAAQ,EAAE,MAAM,eAAe;OACtD,EAAE,sBAAsB,EAAE,MAAM,qBAAqB;OAErD,EAAE,kBAAkB,EAAE,MAAM,gBAAgB;OAC5C,EAAE,4BAA4B,EAAE,MAAM,mCAAmC;OACzE,EAAE,uBAAuB,EAAE,MAAM,8BAA8B;OAC/D,EAAE,yBAAyB,EAAE,MAAM,gCAAgC;OACnE,EAAE,gBAAgB,EAAE,MAAM,sBAAsB;OAEhD,EAAE,mBAAmB,EAAE,MAAM,yBAAyB;OACtD,EAAE,eAAe,EAAE,MAAM,qBAAqB;AAGrD;IAAA;IA+BA,CAAC;IA9Be,wBAAO,GAArB,UAAsB,MAAY;QAChC,MAAM,CAAC;YACL,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE;gBACrC,sBAAsB;gBACtB,kBAAkB;gBAClB,eAAe;gBACf,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,EAAC,SAAS,EAAE,IAAI,EAAC,EAAC;aAC3E;SACF,CAAC;IACJ,CAAC;;IAEI,2BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,yBAAyB;wBACzB,4BAA4B;wBAC5B,mBAAmB;qBACpB;oBACD,OAAO,EAAE;wBACP,uBAAuB;wBACvB,yBAAyB;wBACzB,mBAAmB;qBACpB;oBACD,eAAe,EAAE,CAAC,4BAA4B,CAAC;iBAChD,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,+BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,uBAAC;AAAD,CAAC,AA/BD,IA+BC","sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ComponentLoaderFactory } from '../component-loader';\n\nimport { PositioningService } from '../positioning';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';\nimport { BsDropdownConfig } from './bs-dropdown.config';\n\nimport { BsDropdownDirective } from './bs-dropdown.directive';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownModule {\n public static forRoot(config?: any): ModuleWithProviders {\n return {\n ngModule: BsDropdownModule, providers: [\n ComponentLoaderFactory,\n PositioningService,\n BsDropdownState,\n {provide: BsDropdownConfig, useValue: config ? config : {autoClose: true}}\n ]\n };\n };\n\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n declarations: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownContainerComponent,\n BsDropdownDirective\n ],\n exports: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownDirective\n ],\n entryComponents: [BsDropdownContainerComponent]\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/dropdown/bs-dropdown.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAA,EAAS,MAAO,eAAA,CAAgB;AAC9D,OAAO,EAAE,sBAAA,EAAuB,MAAO,qBAAA,CAAsB;AAE7D,OAAO,EAAE,kBAAA,EAAmB,MAAO,gBAAA,CAAiB;AACpD,OAAO,EAAE,4BAAA,EAA6B,MAAO,mCAAA,CAAoC;AACjF,OAAO,EAAE,uBAAA,EAAwB,MAAO,8BAAA,CAA+B;AACvE,OAAO,EAAE,yBAAA,EAA0B,MAAO,gCAAA,CAAiC;AAC3E,OAAO,EAAE,gBAAA,EAAiB,MAAO,sBAAA,CAAuB;AAExD,OAAO,EAAE,mBAAA,EAAoB,MAAO,yBAAA,CAA0B;AAC9D,OAAO,EAAE,eAAA,EAAgB,MAAO,qBAAA,CAAsB;AAGtD;IAAA;IA+BA,CAAC;IA9Be,wBAAO,GAArB,UAAsB,MAAY;QAChC,MAAM,CAAC;YACL,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE;gBACrC,sBAAsB;gBACtB,kBAAkB;gBAClB,eAAe;gBACf,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,EAAC,SAAS,EAAE,IAAI,EAAC,EAAC;aAC3E;SACF,CAAC;IACJ,CAAC;IAAA,CAAC;IAEG,2BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,yBAAyB;wBACzB,4BAA4B;wBAC5B,mBAAmB;qBACpB;oBACD,OAAO,EAAE;wBACP,uBAAuB;wBACvB,yBAAyB;wBACzB,mBAAmB;qBACpB;oBACD,eAAe,EAAE,CAAC,4BAA4B,CAAC;iBAChD,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,+BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,uBAAC;CA/BD,AA+BC,IAAA;SA/BY,gBAAgB","file":"bs-dropdown.module.js","sourceRoot":"","sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ComponentLoaderFactory } from '../component-loader';\n\nimport { PositioningService } from '../positioning';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';\nimport { BsDropdownConfig } from './bs-dropdown.config';\n\nimport { BsDropdownDirective } from './bs-dropdown.directive';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n\nexport class BsDropdownModule {\n public static forRoot(config?: any): ModuleWithProviders {\n return {\n ngModule: BsDropdownModule, providers: [\n ComponentLoaderFactory,\n PositioningService,\n BsDropdownState,\n {provide: BsDropdownConfig, useValue: config ? config : {autoClose: true}}\n ]\n };\n };\n\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n declarations: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownContainerComponent,\n BsDropdownDirective\n ],\n exports: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownDirective\n ],\n entryComponents: [BsDropdownContainerComponent]\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}