ngx-bootstrap 1.8.1 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +25 -10
  3. package/accordion/accordion-group.component.js +3 -2
  4. package/accordion/accordion-group.component.js.map +1 -1
  5. package/accordion/accordion-group.component.metadata.json +1 -1
  6. package/accordion/accordion.component.js +2 -1
  7. package/accordion/accordion.component.js.map +1 -1
  8. package/accordion/accordion.config.js +2 -1
  9. package/accordion/accordion.config.js.map +1 -1
  10. package/accordion/accordion.module.js +2 -1
  11. package/accordion/accordion.module.js.map +1 -1
  12. package/accordion/index.js.map +1 -1
  13. package/alert/alert.component.js +4 -3
  14. package/alert/alert.component.js.map +1 -1
  15. package/alert/alert.config.js +2 -1
  16. package/alert/alert.config.js.map +1 -1
  17. package/alert/alert.module.js +2 -1
  18. package/alert/alert.module.js.map +1 -1
  19. package/alert/index.js.map +1 -1
  20. package/bs-moment/LICENSE +26 -0
  21. package/bs-moment/format-functions.d.ts +13 -0
  22. package/bs-moment/format-functions.js +53 -0
  23. package/bs-moment/format-functions.js.map +1 -0
  24. package/bs-moment/format-functions.metadata.json +1 -0
  25. package/bs-moment/format.d.ts +6 -0
  26. package/bs-moment/format.js +43 -0
  27. package/bs-moment/format.js.map +1 -0
  28. package/bs-moment/format.metadata.json +1 -0
  29. package/bs-moment/i18n/ar.d.ts +2 -0
  30. package/bs-moment/i18n/ar.js +131 -0
  31. package/bs-moment/i18n/ar.js.map +1 -0
  32. package/bs-moment/i18n/ar.metadata.json +1 -0
  33. package/bs-moment/i18n/de.d.ts +2 -0
  34. package/bs-moment/i18n/de.js +67 -0
  35. package/bs-moment/i18n/de.js.map +1 -0
  36. package/bs-moment/i18n/de.metadata.json +1 -0
  37. package/bs-moment/i18n/en-gb.d.ts +2 -0
  38. package/bs-moment/i18n/en-gb.js +60 -0
  39. package/bs-moment/i18n/en-gb.js.map +1 -0
  40. package/bs-moment/i18n/en-gb.metadata.json +1 -0
  41. package/bs-moment/i18n/es-do.d.ts +2 -0
  42. package/bs-moment/i18n/es-do.js +61 -0
  43. package/bs-moment/i18n/es-do.js.map +1 -0
  44. package/bs-moment/i18n/es-do.metadata.json +1 -0
  45. package/bs-moment/i18n/es-us.d.ts +2 -0
  46. package/bs-moment/i18n/es-us.js +54 -0
  47. package/bs-moment/i18n/es-us.js.map +1 -0
  48. package/bs-moment/i18n/es-us.metadata.json +1 -0
  49. package/bs-moment/i18n/es.d.ts +2 -0
  50. package/bs-moment/i18n/es.js +62 -0
  51. package/bs-moment/i18n/es.js.map +1 -0
  52. package/bs-moment/i18n/es.metadata.json +1 -0
  53. package/bs-moment/i18n/fr.d.ts +2 -0
  54. package/bs-moment/i18n/fr.js +70 -0
  55. package/bs-moment/i18n/fr.js.map +1 -0
  56. package/bs-moment/i18n/fr.metadata.json +1 -0
  57. package/bs-moment/i18n/hi.d.ts +2 -0
  58. package/bs-moment/i18n/hi.js +119 -0
  59. package/bs-moment/i18n/hi.js.map +1 -0
  60. package/bs-moment/i18n/hi.metadata.json +1 -0
  61. package/bs-moment/i18n/it.d.ts +2 -0
  62. package/bs-moment/i18n/it.js +27 -0
  63. package/bs-moment/i18n/it.js.map +1 -0
  64. package/bs-moment/i18n/it.metadata.json +1 -0
  65. package/bs-moment/i18n/ja.d.ts +2 -0
  66. package/bs-moment/i18n/ja.js +65 -0
  67. package/bs-moment/i18n/ja.js.map +1 -0
  68. package/bs-moment/i18n/ja.metadata.json +1 -0
  69. package/bs-moment/i18n/ko.d.ts +2 -0
  70. package/bs-moment/i18n/ko.js +72 -0
  71. package/bs-moment/i18n/ko.js.map +1 -0
  72. package/bs-moment/i18n/ko.metadata.json +1 -0
  73. package/bs-moment/i18n/nl-be.d.ts +2 -0
  74. package/bs-moment/i18n/nl-be.js +73 -0
  75. package/bs-moment/i18n/nl-be.js.map +1 -0
  76. package/bs-moment/i18n/nl-be.metadata.json +1 -0
  77. package/bs-moment/i18n/nl.d.ts +2 -0
  78. package/bs-moment/i18n/nl.js +73 -0
  79. package/bs-moment/i18n/nl.js.map +1 -0
  80. package/bs-moment/i18n/nl.metadata.json +1 -0
  81. package/bs-moment/i18n/pl.d.ts +2 -0
  82. package/bs-moment/i18n/pl.js +77 -0
  83. package/bs-moment/i18n/pl.js.map +1 -0
  84. package/bs-moment/i18n/pl.metadata.json +1 -0
  85. package/bs-moment/i18n/pt-br.d.ts +2 -0
  86. package/bs-moment/i18n/pt-br.js +39 -0
  87. package/bs-moment/i18n/pt-br.js.map +1 -0
  88. package/bs-moment/i18n/pt-br.metadata.json +1 -0
  89. package/bs-moment/i18n/ru.d.ts +2 -0
  90. package/bs-moment/i18n/ru.js +120 -0
  91. package/bs-moment/i18n/ru.js.map +1 -0
  92. package/bs-moment/i18n/ru.metadata.json +1 -0
  93. package/bs-moment/i18n/zh-cn.d.ts +2 -0
  94. package/bs-moment/i18n/zh-cn.js +107 -0
  95. package/bs-moment/i18n/zh-cn.js.map +1 -0
  96. package/bs-moment/i18n/zh-cn.metadata.json +1 -0
  97. package/bs-moment/index.d.ts +1 -0
  98. package/bs-moment/index.js +2 -0
  99. package/bs-moment/index.js.map +1 -0
  100. package/bs-moment/index.metadata.json +1 -0
  101. package/bs-moment/locale/en.d.ts +0 -0
  102. package/bs-moment/locale/en.js +14 -0
  103. package/bs-moment/locale/en.js.map +1 -0
  104. package/bs-moment/locale/index.d.ts +1 -0
  105. package/bs-moment/locale/index.js +2 -0
  106. package/bs-moment/locale/index.js.map +1 -0
  107. package/bs-moment/locale/locale.class.d.ts +60 -0
  108. package/bs-moment/locale/locale.class.js +117 -0
  109. package/bs-moment/locale/locale.class.js.map +1 -0
  110. package/bs-moment/locale/locale.class.metadata.json +1 -0
  111. package/bs-moment/locale/locale.defaults.d.ts +8 -0
  112. package/bs-moment/locale/locale.defaults.js +23 -0
  113. package/bs-moment/locale/locale.defaults.js.map +1 -0
  114. package/bs-moment/locale/locale.defaults.metadata.json +1 -0
  115. package/bs-moment/locale/locales.service.d.ts +8 -0
  116. package/bs-moment/locale/locales.service.js +81 -0
  117. package/bs-moment/locale/locales.service.js.map +1 -0
  118. package/bs-moment/locale/locales.service.metadata.json +1 -0
  119. package/bs-moment/types.d.ts +11 -0
  120. package/bs-moment/types.js +1 -0
  121. package/bs-moment/types.js.map +1 -0
  122. package/bs-moment/types.metadata.json +1 -0
  123. package/bs-moment/units/day-of-month.d.ts +0 -0
  124. package/bs-moment/units/day-of-month.js +6 -0
  125. package/bs-moment/units/day-of-month.js.map +1 -0
  126. package/bs-moment/units/day-of-week.d.ts +3 -0
  127. package/bs-moment/units/day-of-week.js +28 -0
  128. package/bs-moment/units/day-of-week.js.map +1 -0
  129. package/bs-moment/units/day-of-week.metadata.json +1 -0
  130. package/bs-moment/units/day-of-year.d.ts +2 -0
  131. package/bs-moment/units/day-of-year.js +20 -0
  132. package/bs-moment/units/day-of-year.js.map +1 -0
  133. package/bs-moment/units/day-of-year.metadata.json +1 -0
  134. package/bs-moment/units/hour.d.ts +0 -0
  135. package/bs-moment/units/hour.js +49 -0
  136. package/bs-moment/units/hour.js.map +1 -0
  137. package/bs-moment/units/index.d.ts +10 -0
  138. package/bs-moment/units/index.js +11 -0
  139. package/bs-moment/units/index.js.map +1 -0
  140. package/bs-moment/units/minute.d.ts +0 -0
  141. package/bs-moment/units/minute.js +6 -0
  142. package/bs-moment/units/minute.js.map +1 -0
  143. package/bs-moment/units/month.d.ts +1 -0
  144. package/bs-moment/units/month.js +23 -0
  145. package/bs-moment/units/month.js.map +1 -0
  146. package/bs-moment/units/month.metadata.json +1 -0
  147. package/bs-moment/units/second.d.ts +0 -0
  148. package/bs-moment/units/second.js +6 -0
  149. package/bs-moment/units/second.js.map +1 -0
  150. package/bs-moment/units/week-calendar-utils.d.ts +9 -0
  151. package/bs-moment/units/week-calendar-utils.js +70 -0
  152. package/bs-moment/units/week-calendar-utils.js.map +1 -0
  153. package/bs-moment/units/week-calendar-utils.metadata.json +1 -0
  154. package/bs-moment/units/week.d.ts +3 -0
  155. package/bs-moment/units/week.js +15 -0
  156. package/bs-moment/units/week.js.map +1 -0
  157. package/bs-moment/units/week.metadata.json +1 -0
  158. package/bs-moment/units/year.d.ts +2 -0
  159. package/bs-moment/units/year.js +23 -0
  160. package/bs-moment/units/year.js.map +1 -0
  161. package/bs-moment/units/year.metadata.json +1 -0
  162. package/bs-moment/utils/date-compare.d.ts +7 -0
  163. package/bs-moment/utils/date-compare.js +50 -0
  164. package/bs-moment/utils/date-compare.js.map +1 -0
  165. package/bs-moment/utils/date-compare.metadata.json +1 -0
  166. package/bs-moment/utils/date-getters.d.ts +14 -0
  167. package/bs-moment/utils/date-getters.js +61 -0
  168. package/bs-moment/utils/date-getters.js.map +1 -0
  169. package/bs-moment/utils/date-getters.metadata.json +1 -0
  170. package/bs-moment/utils/date-setters.d.ts +4 -0
  171. package/bs-moment/utils/date-setters.js +23 -0
  172. package/bs-moment/utils/date-setters.js.map +1 -0
  173. package/bs-moment/utils/date-setters.metadata.json +1 -0
  174. package/bs-moment/utils/start-end-of.d.ts +3 -0
  175. package/bs-moment/utils/start-end-of.js +35 -0
  176. package/bs-moment/utils/start-end-of.js.map +1 -0
  177. package/bs-moment/utils/start-end-of.metadata.json +1 -0
  178. package/bs-moment/utils/type-checks.d.ts +7 -0
  179. package/bs-moment/utils/type-checks.js +30 -0
  180. package/bs-moment/utils/type-checks.js.map +1 -0
  181. package/bs-moment/utils/type-checks.metadata.json +1 -0
  182. package/bs-moment/utils.d.ts +4 -0
  183. package/bs-moment/utils.js +24 -0
  184. package/bs-moment/utils.js.map +1 -0
  185. package/bs-moment/utils.metadata.json +1 -0
  186. package/bundles/ngx-bootstrap.umd.js +8786 -20532
  187. package/bundles/ngx-bootstrap.umd.js.map +1 -1
  188. package/bundles/ngx-bootstrap.umd.min.js +2 -2
  189. package/buttons/button-checkbox.directive.js +2 -1
  190. package/buttons/button-checkbox.directive.js.map +1 -1
  191. package/buttons/button-radio.directive.js +2 -1
  192. package/buttons/button-radio.directive.js.map +1 -1
  193. package/buttons/buttons.module.js +2 -1
  194. package/buttons/buttons.module.js.map +1 -1
  195. package/buttons/index.js.map +1 -1
  196. package/carousel/carousel.component.d.ts +3 -2
  197. package/carousel/carousel.component.js +31 -12
  198. package/carousel/carousel.component.js.map +1 -1
  199. package/carousel/carousel.component.metadata.json +1 -1
  200. package/carousel/carousel.config.js +2 -1
  201. package/carousel/carousel.config.js.map +1 -1
  202. package/carousel/carousel.module.js +2 -1
  203. package/carousel/carousel.module.js.map +1 -1
  204. package/carousel/index.js.map +1 -1
  205. package/carousel/slide.component.js +2 -1
  206. package/carousel/slide.component.js.map +1 -1
  207. package/collapse/collapse.directive.js +3 -1
  208. package/collapse/collapse.directive.js.map +1 -1
  209. package/collapse/collapse.module.js +2 -1
  210. package/collapse/collapse.module.js.map +1 -1
  211. package/collapse/index.js.map +1 -1
  212. package/component-loader/bs-component-ref.class.js +2 -1
  213. package/component-loader/bs-component-ref.class.js.map +1 -1
  214. package/component-loader/bs-component-ref.class.metadata.json +1 -1
  215. package/component-loader/component-loader.class.d.ts +10 -9
  216. package/component-loader/component-loader.class.js +56 -12
  217. package/component-loader/component-loader.class.js.map +1 -1
  218. package/component-loader/component-loader.class.metadata.json +1 -1
  219. package/component-loader/component-loader.factory.js +2 -1
  220. package/component-loader/component-loader.factory.js.map +1 -1
  221. package/component-loader/content-ref.class.js +2 -1
  222. package/component-loader/content-ref.class.js.map +1 -1
  223. package/component-loader/index.js.map +1 -1
  224. package/component-loader/listen-options.model.d.ts +9 -0
  225. package/component-loader/listen-options.model.js +1 -0
  226. package/component-loader/listen-options.model.js.map +1 -0
  227. package/component-loader/listen-options.model.metadata.json +1 -0
  228. package/datepicker/base/bs-datepicker-container.d.ts +26 -0
  229. package/datepicker/base/bs-datepicker-container.js +41 -0
  230. package/datepicker/base/bs-datepicker-container.js.map +1 -0
  231. package/datepicker/base/bs-datepicker-container.metadata.json +1 -0
  232. package/datepicker/bs-datepicker-input.directive.d.ts +21 -0
  233. package/datepicker/bs-datepicker-input.directive.js +79 -0
  234. package/datepicker/bs-datepicker-input.directive.js.map +1 -0
  235. package/datepicker/bs-datepicker-input.directive.metadata.json +1 -0
  236. package/datepicker/bs-datepicker.component.d.ts +85 -0
  237. package/datepicker/bs-datepicker.component.js +184 -0
  238. package/datepicker/bs-datepicker.component.js.map +1 -0
  239. package/datepicker/bs-datepicker.component.metadata.json +1 -0
  240. package/datepicker/bs-datepicker.config.d.ts +36 -0
  241. package/datepicker/bs-datepicker.config.js +39 -0
  242. package/datepicker/bs-datepicker.config.js.map +1 -0
  243. package/datepicker/bs-datepicker.config.metadata.json +1 -0
  244. package/datepicker/bs-datepicker.css +424 -0
  245. package/datepicker/bs-datepicker.css.map +16 -0
  246. package/datepicker/bs-datepicker.module.d.ts +5 -0
  247. package/datepicker/bs-datepicker.module.js +69 -0
  248. package/datepicker/bs-datepicker.module.js.map +1 -0
  249. package/datepicker/bs-datepicker.module.metadata.json +1 -0
  250. package/datepicker/bs-datepicker.scss +532 -0
  251. package/datepicker/bs-daterangepicker-input.directive.d.ts +21 -0
  252. package/datepicker/bs-daterangepicker-input.directive.js +87 -0
  253. package/datepicker/bs-daterangepicker-input.directive.js.map +1 -0
  254. package/datepicker/bs-daterangepicker-input.directive.metadata.json +1 -0
  255. package/datepicker/bs-daterangepicker.component.d.ts +84 -0
  256. package/datepicker/bs-daterangepicker.component.js +184 -0
  257. package/datepicker/bs-daterangepicker.component.js.map +1 -0
  258. package/datepicker/bs-daterangepicker.component.metadata.json +1 -0
  259. package/datepicker/date-formatter.d.ts +1 -1
  260. package/datepicker/date-formatter.js +5 -4
  261. package/datepicker/date-formatter.js.map +1 -1
  262. package/datepicker/datepicker-inner.component.d.ts +1 -0
  263. package/datepicker/datepicker-inner.component.js +5 -2
  264. package/datepicker/datepicker-inner.component.js.map +1 -1
  265. package/datepicker/datepicker-inner.component.metadata.json +1 -1
  266. package/datepicker/datepicker.component.d.ts +1 -1
  267. package/datepicker/datepicker.component.js +3 -2
  268. package/datepicker/datepicker.component.js.map +1 -1
  269. package/datepicker/datepicker.component.metadata.json +1 -1
  270. package/datepicker/datepicker.config.d.ts +1 -0
  271. package/datepicker/datepicker.config.js +3 -1
  272. package/datepicker/datepicker.config.js.map +1 -1
  273. package/datepicker/datepicker.module.js +2 -1
  274. package/datepicker/datepicker.module.js.map +1 -1
  275. package/datepicker/daypicker.component.js +4 -2
  276. package/datepicker/daypicker.component.js.map +1 -1
  277. package/datepicker/daypicker.component.metadata.json +1 -1
  278. package/datepicker/engine/calc-days-calendar.d.ts +2 -0
  279. package/datepicker/engine/calc-days-calendar.js +18 -0
  280. package/datepicker/engine/calc-days-calendar.js.map +1 -0
  281. package/datepicker/engine/calc-days-calendar.metadata.json +1 -0
  282. package/datepicker/engine/flag-days-calendar.d.ts +12 -0
  283. package/datepicker/engine/flag-days-calendar.js +71 -0
  284. package/datepicker/engine/flag-days-calendar.js.map +1 -0
  285. package/datepicker/engine/flag-days-calendar.metadata.json +1 -0
  286. package/datepicker/engine/flag-months-calendar.d.ts +10 -0
  287. package/datepicker/engine/flag-months-calendar.js +27 -0
  288. package/datepicker/engine/flag-months-calendar.js.map +1 -0
  289. package/datepicker/engine/flag-months-calendar.metadata.json +1 -0
  290. package/datepicker/engine/flag-years-calendar.d.ts +10 -0
  291. package/datepicker/engine/flag-years-calendar.js +29 -0
  292. package/datepicker/engine/flag-years-calendar.js.map +1 -0
  293. package/datepicker/engine/flag-years-calendar.metadata.json +1 -0
  294. package/datepicker/engine/format-days-calendar.d.ts +3 -0
  295. package/datepicker/engine/format-days-calendar.js +25 -0
  296. package/datepicker/engine/format-days-calendar.js.map +1 -0
  297. package/datepicker/engine/format-days-calendar.metadata.json +1 -0
  298. package/datepicker/engine/format-months-calendar.d.ts +2 -0
  299. package/datepicker/engine/format-months-calendar.js +20 -0
  300. package/datepicker/engine/format-months-calendar.js.map +1 -0
  301. package/datepicker/engine/format-months-calendar.metadata.json +1 -0
  302. package/datepicker/engine/format-years-calendar.d.ts +3 -0
  303. package/datepicker/engine/format-years-calendar.js +28 -0
  304. package/datepicker/engine/format-years-calendar.js.map +1 -0
  305. package/datepicker/engine/format-years-calendar.metadata.json +1 -0
  306. package/datepicker/engine/view-mode.d.ts +2 -0
  307. package/datepicker/engine/view-mode.js +4 -0
  308. package/datepicker/engine/view-mode.js.map +1 -0
  309. package/datepicker/engine/view-mode.metadata.json +1 -0
  310. package/datepicker/index.d.ts +4 -0
  311. package/datepicker/index.js +4 -8
  312. package/datepicker/index.js.map +1 -1
  313. package/datepicker/index.metadata.json +1 -1
  314. package/datepicker/models/index.d.ts +89 -0
  315. package/datepicker/models/index.js +9 -0
  316. package/datepicker/models/index.js.map +1 -0
  317. package/datepicker/models/index.metadata.json +1 -0
  318. package/datepicker/monthpicker.component.js +4 -2
  319. package/datepicker/monthpicker.component.js.map +1 -1
  320. package/datepicker/monthpicker.component.metadata.json +1 -1
  321. package/datepicker/reducer/_defaults.d.ts +2 -0
  322. package/datepicker/reducer/_defaults.js +5 -0
  323. package/datepicker/reducer/_defaults.js.map +1 -0
  324. package/datepicker/reducer/_defaults.metadata.json +1 -0
  325. package/datepicker/reducer/bs-datepicker.actions.d.ts +31 -0
  326. package/datepicker/reducer/bs-datepicker.actions.js +90 -0
  327. package/datepicker/reducer/bs-datepicker.actions.js.map +1 -0
  328. package/datepicker/reducer/bs-datepicker.actions.metadata.json +1 -0
  329. package/datepicker/reducer/bs-datepicker.effects.d.ts +33 -0
  330. package/datepicker/reducer/bs-datepicker.effects.js +173 -0
  331. package/datepicker/reducer/bs-datepicker.effects.js.map +1 -0
  332. package/datepicker/reducer/bs-datepicker.effects.metadata.json +1 -0
  333. package/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
  334. package/datepicker/reducer/bs-datepicker.reducer.js +230 -0
  335. package/datepicker/reducer/bs-datepicker.reducer.js.map +1 -0
  336. package/datepicker/reducer/bs-datepicker.reducer.metadata.json +1 -0
  337. package/datepicker/reducer/bs-datepicker.state.d.ts +34 -0
  338. package/datepicker/reducer/bs-datepicker.state.js +14 -0
  339. package/datepicker/reducer/bs-datepicker.state.js.map +1 -0
  340. package/datepicker/reducer/bs-datepicker.state.metadata.json +1 -0
  341. package/datepicker/reducer/bs-datepicker.store.d.ts +5 -0
  342. package/datepicker/reducer/bs-datepicker.store.js +34 -0
  343. package/datepicker/reducer/bs-datepicker.store.js.map +1 -0
  344. package/datepicker/reducer/bs-datepicker.store.metadata.json +1 -0
  345. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +2 -0
  346. package/datepicker/themes/bs/bs-calendar-layout.component.js +16 -0
  347. package/datepicker/themes/bs/bs-calendar-layout.component.js.map +1 -0
  348. package/datepicker/themes/bs/bs-calendar-layout.component.metadata.json +1 -0
  349. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -0
  350. package/datepicker/themes/bs/bs-current-date-view.component.js +19 -0
  351. package/datepicker/themes/bs/bs-current-date-view.component.js.map +1 -0
  352. package/datepicker/themes/bs/bs-current-date-view.component.metadata.json +1 -0
  353. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +8 -0
  354. package/datepicker/themes/bs/bs-custom-dates-view.component.js +21 -0
  355. package/datepicker/themes/bs/bs-custom-dates-view.component.js.map +1 -0
  356. package/datepicker/themes/bs/bs-custom-dates-view.component.metadata.json +1 -0
  357. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +20 -0
  358. package/datepicker/themes/bs/bs-datepicker-container.component.js +85 -0
  359. package/datepicker/themes/bs/bs-datepicker-container.component.js.map +1 -0
  360. package/datepicker/themes/bs/bs-datepicker-container.component.metadata.json +1 -0
  361. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +4 -0
  362. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +29 -0
  363. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js.map +1 -0
  364. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +1 -0
  365. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +9 -0
  366. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +33 -0
  367. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.js.map +1 -0
  368. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.metadata.json +1 -0
  369. package/datepicker/themes/bs/bs-datepicker-view.html +61 -0
  370. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +21 -0
  371. package/datepicker/themes/bs/bs-daterangepicker-container.component.js +102 -0
  372. package/datepicker/themes/bs/bs-daterangepicker-container.component.js.map +1 -0
  373. package/datepicker/themes/bs/bs-daterangepicker-container.component.metadata.json +1 -0
  374. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +14 -0
  375. package/datepicker/themes/bs/bs-days-calendar-view.component.js +43 -0
  376. package/datepicker/themes/bs/bs-days-calendar-view.component.js.map +1 -0
  377. package/datepicker/themes/bs/bs-days-calendar-view.component.metadata.json +1 -0
  378. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +13 -0
  379. package/datepicker/themes/bs/bs-months-calendar-view.component.js +41 -0
  380. package/datepicker/themes/bs/bs-months-calendar-view.component.js.map +1 -0
  381. package/datepicker/themes/bs/bs-months-calendar-view.component.metadata.json +1 -0
  382. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +5 -0
  383. package/datepicker/themes/bs/bs-timepicker-view.component.js +19 -0
  384. package/datepicker/themes/bs/bs-timepicker-view.component.js.map +1 -0
  385. package/datepicker/themes/bs/bs-timepicker-view.component.metadata.json +1 -0
  386. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +13 -0
  387. package/datepicker/themes/bs/bs-years-calendar-view.component.js +42 -0
  388. package/datepicker/themes/bs/bs-years-calendar-view.component.js.map +1 -0
  389. package/datepicker/themes/bs/bs-years-calendar-view.component.metadata.json +1 -0
  390. package/datepicker/utils/bs-calendar-utils.d.ts +5 -0
  391. package/datepicker/utils/bs-calendar-utils.js +22 -0
  392. package/datepicker/utils/bs-calendar-utils.js.map +1 -0
  393. package/datepicker/utils/bs-calendar-utils.metadata.json +1 -0
  394. package/datepicker/utils/matrix-utils.d.ts +9 -0
  395. package/datepicker/utils/matrix-utils.js +14 -0
  396. package/datepicker/utils/matrix-utils.js.map +1 -0
  397. package/datepicker/utils/matrix-utils.metadata.json +1 -0
  398. package/datepicker/utils/scss/mixins.css +2 -0
  399. package/datepicker/utils/scss/mixins.css.map +12 -0
  400. package/datepicker/utils/scss/mixins.scss +24 -0
  401. package/datepicker/utils/scss/variables.css +2 -0
  402. package/datepicker/utils/scss/variables.css.map +12 -0
  403. package/datepicker/utils/scss/variables.scss +36 -0
  404. package/datepicker/yearpicker.component.js +4 -2
  405. package/datepicker/yearpicker.component.js.map +1 -1
  406. package/datepicker/yearpicker.component.metadata.json +1 -1
  407. package/dropdown/bs-dropdown-container.component.d.ts +3 -2
  408. package/dropdown/bs-dropdown-container.component.js +19 -3
  409. package/dropdown/bs-dropdown-container.component.js.map +1 -1
  410. package/dropdown/bs-dropdown-container.component.metadata.json +1 -1
  411. package/dropdown/bs-dropdown-menu.directive.js +2 -1
  412. package/dropdown/bs-dropdown-menu.directive.js.map +1 -1
  413. package/dropdown/bs-dropdown-toggle.directive.js +2 -1
  414. package/dropdown/bs-dropdown-toggle.directive.js.map +1 -1
  415. package/dropdown/bs-dropdown.config.js +2 -1
  416. package/dropdown/bs-dropdown.config.js.map +1 -1
  417. package/dropdown/bs-dropdown.directive.d.ts +5 -0
  418. package/dropdown/bs-dropdown.directive.js +40 -2
  419. package/dropdown/bs-dropdown.directive.js.map +1 -1
  420. package/dropdown/bs-dropdown.directive.metadata.json +1 -1
  421. package/dropdown/bs-dropdown.module.js +2 -1
  422. package/dropdown/bs-dropdown.module.js.map +1 -1
  423. package/dropdown/bs-dropdown.state.js +2 -1
  424. package/dropdown/bs-dropdown.state.js.map +1 -1
  425. package/dropdown/index.js.map +1 -1
  426. package/index.d.ts +2 -1
  427. package/index.js +7 -3
  428. package/index.js.map +1 -1
  429. package/index.metadata.json +1 -1
  430. package/locale.d.ts +17 -0
  431. package/locale.js +18 -0
  432. package/locale.js.map +1 -0
  433. package/locale.metadata.json +1 -0
  434. package/mini-ngrx/LICENCE +21 -0
  435. package/mini-ngrx/index.js.map +1 -1
  436. package/mini-ngrx/index.metadata.json +1 -1
  437. package/mini-ngrx/state.class.js +17 -8
  438. package/mini-ngrx/state.class.js.map +1 -1
  439. package/mini-ngrx/state.class.metadata.json +1 -1
  440. package/mini-ngrx/store.class.js +20 -10
  441. package/mini-ngrx/store.class.js.map +1 -1
  442. package/mini-ngrx/store.class.metadata.json +1 -1
  443. package/modal/bs-modal.service.js +3 -2
  444. package/modal/bs-modal.service.js.map +1 -1
  445. package/modal/index.js.map +1 -1
  446. package/modal/modal-backdrop.component.js +4 -2
  447. package/modal/modal-backdrop.component.js.map +1 -1
  448. package/modal/modal-container.component.js +2 -1
  449. package/modal/modal-container.component.js.map +1 -1
  450. package/modal/modal-options.class.js +4 -2
  451. package/modal/modal-options.class.js.map +1 -1
  452. package/modal/modal.component.d.ts +2 -2
  453. package/modal/modal.component.js +3 -2
  454. package/modal/modal.component.js.map +1 -1
  455. package/modal/modal.module.js +2 -1
  456. package/modal/modal.module.js.map +1 -1
  457. package/ng2-bootstrap.js +2 -1
  458. package/ng2-bootstrap.js.map +1 -1
  459. package/package.json +30 -34
  460. package/pagination/index.js.map +1 -1
  461. package/pagination/pager.component.js +3 -2
  462. package/pagination/pager.component.js.map +1 -1
  463. package/pagination/pager.component.metadata.json +1 -1
  464. package/pagination/pagination.component.js +2 -1
  465. package/pagination/pagination.component.js.map +1 -1
  466. package/pagination/pagination.component.metadata.json +1 -1
  467. package/pagination/pagination.config.js +3 -1
  468. package/pagination/pagination.config.js.map +1 -1
  469. package/pagination/pagination.module.js +2 -1
  470. package/pagination/pagination.module.js.map +1 -1
  471. package/popover/index.js.map +1 -1
  472. package/popover/popover-container.component.js +5 -3
  473. package/popover/popover-container.component.js.map +1 -1
  474. package/popover/popover-container.component.metadata.json +1 -1
  475. package/popover/popover.config.d.ts +2 -1
  476. package/popover/popover.config.js +4 -2
  477. package/popover/popover.config.js.map +1 -1
  478. package/popover/popover.directive.d.ts +9 -1
  479. package/popover/popover.directive.js +10 -1
  480. package/popover/popover.directive.js.map +1 -1
  481. package/popover/popover.directive.metadata.json +1 -1
  482. package/popover/popover.module.js +2 -1
  483. package/popover/popover.module.js.map +1 -1
  484. package/positioning/index.js.map +1 -1
  485. package/positioning/ng-positioning.d.ts +2 -0
  486. package/positioning/ng-positioning.js +30 -4
  487. package/positioning/ng-positioning.js.map +1 -1
  488. package/positioning/ng-positioning.metadata.json +1 -1
  489. package/positioning/positioning.service.js +2 -1
  490. package/positioning/positioning.service.js.map +1 -1
  491. package/positioning/positioning.service.metadata.json +1 -1
  492. package/progressbar/bar.component.js +2 -1
  493. package/progressbar/bar.component.js.map +1 -1
  494. package/progressbar/index.js.map +1 -1
  495. package/progressbar/progress.directive.js +2 -1
  496. package/progressbar/progress.directive.js.map +1 -1
  497. package/progressbar/progressbar.component.js +2 -1
  498. package/progressbar/progressbar.component.js.map +1 -1
  499. package/progressbar/progressbar.config.js +2 -1
  500. package/progressbar/progressbar.config.js.map +1 -1
  501. package/progressbar/progressbar.module.js +2 -1
  502. package/progressbar/progressbar.module.js.map +1 -1
  503. package/rating/index.js.map +1 -1
  504. package/rating/rating.component.js +2 -1
  505. package/rating/rating.component.js.map +1 -1
  506. package/rating/rating.module.js +2 -1
  507. package/rating/rating.module.js.map +1 -1
  508. package/sortable/draggable-item.js.map +1 -1
  509. package/sortable/draggable-item.metadata.json +1 -0
  510. package/sortable/draggable-item.service.js +2 -1
  511. package/sortable/draggable-item.service.js.map +1 -1
  512. package/sortable/index.js.map +1 -1
  513. package/sortable/sortable.component.js +2 -1
  514. package/sortable/sortable.component.js.map +1 -1
  515. package/sortable/sortable.component.metadata.json +1 -1
  516. package/sortable/sortable.module.js +2 -1
  517. package/sortable/sortable.module.js.map +1 -1
  518. package/spec/ng-bootstrap/license +23 -0
  519. package/tabs/index.js.map +1 -1
  520. package/tabs/ng-transclude.directive.js +2 -1
  521. package/tabs/ng-transclude.directive.js.map +1 -1
  522. package/tabs/tab-heading.directive.js +2 -1
  523. package/tabs/tab-heading.directive.js.map +1 -1
  524. package/tabs/tab.directive.js +7 -3
  525. package/tabs/tab.directive.js.map +1 -1
  526. package/tabs/tabs.module.js +2 -1
  527. package/tabs/tabs.module.js.map +1 -1
  528. package/tabs/tabset.component.js +4 -3
  529. package/tabs/tabset.component.js.map +1 -1
  530. package/tabs/tabset.config.js +2 -1
  531. package/tabs/tabset.config.js.map +1 -1
  532. package/timepicker/index.js.map +1 -1
  533. package/timepicker/reducer/timepicker.actions.js +2 -1
  534. package/timepicker/reducer/timepicker.actions.js.map +1 -1
  535. package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
  536. package/timepicker/reducer/timepicker.reducer.js +10 -3
  537. package/timepicker/reducer/timepicker.reducer.js.map +1 -1
  538. package/timepicker/reducer/timepicker.reducer.metadata.json +1 -1
  539. package/timepicker/reducer/timepicker.store.js +15 -7
  540. package/timepicker/reducer/timepicker.store.js.map +1 -1
  541. package/timepicker/timepicker-controls.util.js.map +1 -1
  542. package/timepicker/timepicker.component.js +4 -2
  543. package/timepicker/timepicker.component.js.map +1 -1
  544. package/timepicker/timepicker.component.metadata.json +1 -1
  545. package/timepicker/timepicker.config.js +2 -1
  546. package/timepicker/timepicker.config.js.map +1 -1
  547. package/timepicker/timepicker.models.js.map +1 -1
  548. package/timepicker/timepicker.models.metadata.json +1 -0
  549. package/timepicker/timepicker.module.js +2 -1
  550. package/timepicker/timepicker.module.js.map +1 -1
  551. package/timepicker/timepicker.utils.js.map +1 -1
  552. package/tooltip/index.js.map +1 -1
  553. package/tooltip/tooltip-container.component.js +24 -3
  554. package/tooltip/tooltip-container.component.js.map +1 -1
  555. package/tooltip/tooltip-container.component.metadata.json +1 -1
  556. package/tooltip/tooltip.config.js +2 -1
  557. package/tooltip/tooltip.config.js.map +1 -1
  558. package/tooltip/tooltip.directive.js +17 -15
  559. package/tooltip/tooltip.directive.js.map +1 -1
  560. package/tooltip/tooltip.module.js +2 -1
  561. package/tooltip/tooltip.module.js.map +1 -1
  562. package/tsconfig.spec.json +39 -0
  563. package/typeahead/index.js.map +1 -1
  564. package/typeahead/latin-map.js.map +1 -1
  565. package/typeahead/typeahead-container.component.d.ts +1 -0
  566. package/typeahead/typeahead-container.component.js +3 -1
  567. package/typeahead/typeahead-container.component.js.map +1 -1
  568. package/typeahead/typeahead-container.component.metadata.json +1 -1
  569. package/typeahead/typeahead-match.class.js +2 -1
  570. package/typeahead/typeahead-match.class.js.map +1 -1
  571. package/typeahead/typeahead-options.class.js +2 -1
  572. package/typeahead/typeahead-options.class.js.map +1 -1
  573. package/typeahead/typeahead-utils.js.map +1 -1
  574. package/typeahead/typeahead.directive.d.ts +3 -0
  575. package/typeahead/typeahead.directive.js +19 -8
  576. package/typeahead/typeahead.directive.js.map +1 -1
  577. package/typeahead/typeahead.directive.metadata.json +1 -1
  578. package/typeahead/typeahead.module.js +2 -1
  579. package/typeahead/typeahead.module.js.map +1 -1
  580. package/utils/decorators.js +1 -0
  581. package/utils/decorators.js.map +1 -1
  582. package/utils/facade/browser.js.map +1 -1
  583. package/utils/index.js.map +1 -1
  584. package/utils/linked-list.class.js +5 -3
  585. package/utils/linked-list.class.js.map +1 -1
  586. package/utils/linked-list.class.metadata.json +1 -1
  587. package/utils/ng2-bootstrap-config.js +27 -0
  588. package/utils/ng2-bootstrap-config.js.map +1 -1
  589. package/utils/ng2-bootstrap-config.metadata.json +1 -1
  590. package/utils/trigger.class.js +2 -1
  591. package/utils/trigger.class.js.map +1 -1
  592. package/utils/triggers.d.ts +3 -0
  593. package/utils/triggers.js +44 -0
  594. package/utils/triggers.js.map +1 -1
  595. package/utils/triggers.metadata.json +1 -1
  596. package/utils/utils.class.js +2 -1
  597. package/utils/utils.class.js.map +1 -1
  598. package/utils/warn-once.d.ts +1 -0
  599. package/utils/warn-once.js +12 -0
  600. package/utils/warn-once.js.map +1 -0
  601. package/utils/warn-once.metadata.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"typeahead.directive.js","sourceRoot":"","sources":["../../src/typeahead/typeahead.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive, ElementRef, EventEmitter, HostListener, Input, OnDestroy, OnInit,\n Output, Renderer, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/observable/from';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/mergeMap';\nimport 'rxjs/add/operator/toArray';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { ComponentLoader, ComponentLoaderFactory } from '../component-loader';\n\n\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or an Observable for external matching process */\n public typeahead: any;\n /** minimal no of characters that needs to be entered before typeahead kicks-in. When set to 0, typeahead shows on focus with full list of options (limited as normal by typeaheadOptionsLimit) */\n public typeaheadMinLength: number = void 0;\n /** minimal wait time after last character typed before typeahead kicks-in */\n public typeaheadWaitMs: number;\n /** maximum length of options items list */\n public typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field that contains the options value, we use array item as option in case of this field is missing. Supports nested properties and methods. */\n public typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that contains the group value, matches are grouped by this field when set. */\n public typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array. If true - loading of options will be async, otherwise - sync. true make sense if options array is large. */\n public typeaheadAsync: boolean = void 0;\n /** match latin symbols. If true the word súper would match super and vice versa. */\n public typeaheadLatinize: boolean = true;\n /** break words with spaces. If true the text \"exact phrase\" here match would match with match exact phrase here but not with phrase here exact match (kind of \"google style\"). */\n public typeaheadSingleWords: boolean = true;\n /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to break words. Defaults to space. */\n public typeaheadWordDelimiters: string = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to match exact phrase. Defaults to simple and double quotes. */\n public typeaheadPhraseDelimiters: string = '\\'\"';\n /** used to specify a custom item template. Template variables exposed are called item and index; */\n public typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template. Template variables: matches, itemTemplate, query */\n public optionsListTemplate: TemplateRef<any>;\n\n /** fired when 'busy' state of this component was changed, fired on async mode only, returns boolean */\n public typeaheadLoading: EventEmitter<boolean> = new EventEmitter();\n /** fired on every key event and returns true in case of matches are not detected */\n public typeaheadNoResults: EventEmitter<boolean> = new EventEmitter();\n /** fired when option was selected, return object with data of this option */\n public typeaheadOnSelect: EventEmitter<TypeaheadMatch> = new EventEmitter();\n /** fired when blur event occurres. returns the active item */\n public typeaheadOnBlur: EventEmitter<any> = new EventEmitter();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n * Currently only supports \"body\".\n */\n public container: string;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n public _container: TypeaheadContainerComponent;\n public isTypeaheadOptionsListActive: boolean = false;\n\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement: string = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n protected ngControl: NgControl;\n protected viewContainerRef: ViewContainerRef;\n protected element: ElementRef;\n protected renderer: Renderer;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n\n \n public onChange(e: any): void {\n if (this._container) {\n // esc\n if (e.keyCode === 27) {\n this.hide();\n return;\n }\n\n // up\n if (e.keyCode === 38) {\n this._container.prevActiveMatch();\n return;\n }\n\n // down\n if (e.keyCode === 40) {\n this._container.nextActiveMatch();\n return;\n }\n\n // enter\n if (e.keyCode === 13) {\n this._container.selectActiveMatch();\n return;\n }\n }\n\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value = e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n \n public onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit('');\n }\n }\n\n \n public onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n this.hide();\n }\n }\n\n \n public onKeydown(e: any): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n // if items is visible - prevent form submition\n if (e.keyCode === 13) {\n e.preventDefault();\n return;\n }\n }\n\n public constructor(control: NgControl, viewContainerRef: ViewContainerRef, element: ElementRef, renderer: Renderer, cis: ComponentLoaderFactory) {\n this.element = element;\n this.ngControl = control;\n this.viewContainerRef = viewContainerRef;\n this.renderer = renderer;\n this._typeahead = cis\n .createLoader<TypeaheadContainerComponent>(element, viewContainerRef, renderer);\n }\n\n public ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n this.typeaheadMinLength = this.typeaheadMinLength === void 0\n ? 1\n : this.typeaheadMinLength;\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (this.typeaheadAsync === undefined && !(this.typeahead instanceof Observable)) {\n this.typeaheadAsync = false;\n }\n\n if (this.typeahead instanceof Observable) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n public changeModel(match: TypeaheadMatch): void {\n let valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control as FormControl).setValue(valueStr);\n this.hide();\n }\n\n public get matches(): any[] {\n return this._matches;\n }\n\n public show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n // todo: add append to body, after updating positioning service\n .to(this.container)\n .position({attachment: 'bottom left'})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n let normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value).toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n public hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._container = null;\n }\n }\n\n public ngOnDestroy(): any {\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this.keyUpEventEmitter\n .debounceTime(this.typeaheadWaitMs)\n .mergeMap(() => this.typeahead)\n .subscribe(\n (matches: any[]) => {\n this.finalizeAsyncCall(matches);\n },\n (err: any) => {\n console.error(err);\n }\n );\n }\n\n protected syncActions(): void {\n this.keyUpEventEmitter\n .debounceTime(this.typeaheadWaitMs)\n .mergeMap((value: string) => {\n let normalizedQuery = this.normalizeQuery(value);\n\n return Observable.from(this.typeahead)\n .filter((option: any) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n })\n .toArray();\n })\n .subscribe(\n (matches: any[]) => {\n this.finalizeAsyncCall(matches);\n },\n (err: any) => {\n console.error(err);\n }\n );\n }\n\n protected normalizeOption(option: any): any {\n let optionValue: string = getValueFromObject(option, this.typeaheadOptionField);\n let normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): any {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: any =\n (this.typeaheadLatinize ? latinize(value) : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: any): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n return true;\n } else {\n return match.indexOf(test) >= 0;\n }\n }\n\n protected finalizeAsyncCall(matches: any[]): void {\n this.prepareMatches(matches);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n return;\n }\n\n if (this._container) {\n // This improves the speed as it won't have to be done for each list item\n let normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value).toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: any[]): void {\n let limited: any[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n let groups = limited\n .map((option: any) => getValueFromObject(option, this.typeaheadGroupField))\n .filter((v: string, i: number, a: any[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(limited\n .filter((option: any) => getValueFromObject(option, this.typeaheadGroupField) === group)\n .map((option: any) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField))));\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map((option: any) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField)));\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[typeahead]', exportAs: 'bs-typeahead'}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: NgControl, },\n{type: ViewContainerRef, },\n{type: ElementRef, },\n{type: Renderer, },\n{type: ComponentLoaderFactory, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'typeahead': [{ type: Input },],\n'typeaheadMinLength': [{ type: Input },],\n'typeaheadWaitMs': [{ type: Input },],\n'typeaheadOptionsLimit': [{ type: Input },],\n'typeaheadOptionField': [{ type: Input },],\n'typeaheadGroupField': [{ type: Input },],\n'typeaheadAsync': [{ type: Input },],\n'typeaheadLatinize': [{ type: Input },],\n'typeaheadSingleWords': [{ type: Input },],\n'typeaheadWordDelimiters': [{ type: Input },],\n'typeaheadPhraseDelimiters': [{ type: Input },],\n'typeaheadItemTemplate': [{ type: Input },],\n'optionsListTemplate': [{ type: Input },],\n'typeaheadLoading': [{ type: Output },],\n'typeaheadNoResults': [{ type: Output },],\n'typeaheadOnSelect': [{ type: Output },],\n'typeaheadOnBlur': [{ type: Output },],\n'container': [{ type: Input },],\n'onChange': [{ type: HostListener, args: ['keyup', ['$event'], ] },],\n'onFocus': [{ type: HostListener, args: ['focus', ] },],\n'onBlur': [{ type: HostListener, args: ['blur', ] },],\n'onKeydown': [{ type: HostListener, args: ['keydown', ['$event'], ] },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/typeahead/typeahead.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAAE,UAAA,EAAY,YAAA,EAAc,YAAA,EAAc,KAAA,EACnD,MAAM,EAAE,QAAA,EAAuB,gBAAA,EAChC,MAAM,eAAA,CAAgB;AACvB,OAAO,EAAe,SAAA,EAAU,MAAO,gBAAA,CAAiB;AACxD,OAAO,EAAE,2BAAA,EAA4B,MAAO,iCAAA,CAAkC;AAC9E,OAAO,EAAE,kBAAA,EAAoB,QAAA,EAAU,QAAA,EAAS,MAAO,mBAAA,CAAoB;AAE3E,OAAO,EAAE,UAAA,EAAW,MAAO,iBAAA,CAAkB;AAE7C,OAAO,0BAAA,CAA2B;AAClC,OAAO,gCAAA,CAAiC;AACxC,OAAO,0BAAA,CAA2B;AAClC,OAAO,uBAAA,CAAwB;AAC/B,OAAO,4BAAA,CAA6B;AACpC,OAAO,2BAAA,CAA4B;AACnC,OAAO,EAAE,cAAA,EAAe,MAAO,yBAAA,CAA0B;AACzD,OAAO,EAAmB,sBAAA,EAAuB,MAAO,qBAAA,CAAsB;AAG9E;IAyJE,4BAAmB,OAAkB,EAAE,gBAAkC,EAAE,OAAmB,EAAE,QAAkB,EAAE,GAA2B;QAtJ/I,kMAAkM;QAC1L,uBAAkB,GAAW,KAAK,CAAC,CAAC;QAS5C,4KAA4K;QACpK,mBAAc,GAAY,KAAK,CAAC,CAAC;QACzC,oFAAoF;QAC5E,sBAAiB,GAAY,IAAI,CAAC;QAC1C,kLAAkL;QAC1K,yBAAoB,GAAY,IAAI,CAAC;QAC7C,qIAAqI;QAC7H,4BAAuB,GAAW,GAAG,CAAC;QAC9C,+JAA+J;QACvJ,8BAAyB,GAAW,KAAK,CAAC;QAMlD,uGAAuG;QAC/F,qBAAgB,GAA0B,IAAI,YAAY,EAAE,CAAC;QACrE,oFAAoF;QAC5E,uBAAkB,GAA0B,IAAI,YAAY,EAAE,CAAC;QACvE,6EAA6E;QACrE,sBAAiB,GAAiC,IAAI,YAAY,EAAE,CAAC;QAC7E,8DAA8D;QACtD,oBAAe,GAAsB,IAAI,YAAY,EAAE,CAAC;QAQhE,0EAA0E;QAClE,WAAM,GAAY,KAAK,CAAC;QAiBzB,iCAA4B,GAAY,KAAK,CAAC;QAE3C,sBAAiB,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE1D,cAAS,GAAW,aAAa,CAAC;QASpC,mBAAc,GAAmB,EAAE,CAAC;QAgF1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,GAAG;aAClB,YAAY,CAA8B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACpF,CAAC;IAnFM,qCAAQ,GAAf,UAAgB,CAAM;QACpB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,MAAM;YACN,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC;YACT,CAAC;YAED,KAAK;YACL,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,CAAC;YACT,CAAC;YAED,OAAO;YACP,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,CAAC;YACT,CAAC;YAED,QAAQ;YACR,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACpC,MAAM,CAAC;YACT,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,gEAAgE;QAChE,0EAA0E;QAC1E,kBAAkB;QAClB,IAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;cACtC,CAAC,CAAC,MAAM,CAAC,KAAK;cACd,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;kBAChC,CAAC,CAAC,MAAM,CAAC,WAAW;kBACpB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACzB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAGM,oCAAO,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAGM,mCAAM,GAAb;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAGM,sCAAS,GAAhB,UAAiB,CAAM;QACrB,6BAA6B;QAC7B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC;QACT,CAAC;QAED,+CAA+C;QAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAWM,qCAAQ,GAAf;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;cACxD,CAAC;cACD,IAAI,CAAC,kBAAkB,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAEjD,yCAAyC;QACzC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,UAAU,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,wCAAW,GAAlB,UAAmB,KAAqB;QACtC,IAAI,QAAQ,GAAW,KAAK,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,sBAAW,uCAAO;aAAlB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAEM,iCAAI,GAAX;QACE,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC,2BAA2B,CAAC;aAEnC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,EAAC,UAAU,EAAE,CAAG,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,WAAO,EAAC,CAAC;aAChE,IAAI,CAAC;YACJ,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,yEAAyE;QACzE,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,iBAAiB;cACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;cACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;aACzC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;cAC7C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;cACvF,eAAe,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEM,iCAAI,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,wCAAW,GAAlB;QACE,yBAAyB;QACzB,GAAG,CAAC,CAAc,UAAmB,EAAnB,KAAA,IAAI,CAAC,cAAc,EAAnB,cAAmB,EAAnB,IAAmB;YAAhC,IAAM,GAAG,SAAA;YACZ,GAAG,CAAC,WAAW,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAES,yCAAY,GAAtB;QAAA,iBAYC;QAXC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;aAC5C,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;aAClC,QAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,SAAS,EAAd,CAAc,CAAC;aAC9B,SAAS,CACR,UAAC,OAAc;YACb,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,EACD,UAAC,GAAQ;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CACF,CAAC,CAAC;IACP,CAAC;IAES,wCAAW,GAArB;QAAA,iBAoBC;QAnBC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;aAC5C,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;aAClC,QAAQ,CAAC,UAAC,KAAa;YACtB,IAAI,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAEjD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC;iBACnC,MAAM,CAAC,UAAC,MAAW;gBAClB,MAAM,CAAC,MAAM,IAAI,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;YACjF,CAAC,CAAC;iBACD,OAAO,EAAE,CAAC;QACf,CAAC,CAAC;aACD,SAAS,CACR,UAAC,OAAc;YACb,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,EACD,UAAC,GAAQ;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CACF,CAAC,CAAC;IACP,CAAC;IAES,4CAAe,GAAzB,UAA0B,MAAW;QACnC,IAAI,WAAW,GAAW,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChF,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB;cACzC,QAAQ,CAAC,WAAW,CAAC;cACrB,WAAW,CAAC;QAEhB,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAES,2CAAc,GAAxB,UAAyB,KAAa;QACpC,sEAAsE;QACtE,YAAY;QACZ,IAAI,eAAe,GACjB,CAAC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC/C,QAAQ,EAAE;aACV,WAAW,EAAE,CAAC;QACnB,eAAe,GAAG,IAAI,CAAC,oBAAoB;cACvC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;cACvF,eAAe,CAAC;QAEpB,MAAM,CAAC,eAAe,CAAC;IACzB,CAAC;IAES,sCAAS,GAAnB,UAAoB,KAAa,EAAE,IAAS;QAC1C,IAAI,WAAmB,CAAC;QAExB,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC7B,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrD,MAAM,CAAC,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAES,8CAAiB,GAA3B,UAA4B,OAAc;QACxC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEjD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,yEAAyE;YACzE,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,iBAAiB;kBACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;kBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;iBACzC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;kBAC7C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;kBACvF,eAAe,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAES,2CAAc,GAAxB,UAAyB,OAAc;QAAvC,iBAyBC;QAxBC,IAAI,OAAO,GAAU,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAElE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7B,IAAI,SAAO,GAAqB,EAAE,CAAC;YAEnC,0BAA0B;YAC1B,IAAI,MAAM,GAAG,OAAO;iBACjB,GAAG,CAAC,UAAC,MAAW,IAAK,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC,EAApD,CAAoD,CAAC;iBAC1E,MAAM,CAAC,UAAC,CAAS,EAAE,CAAS,EAAE,CAAQ,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAElE,MAAM,CAAC,OAAO,CAAC,UAAC,KAAa;gBAC3B,uCAAuC;gBACvC,SAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAErD,6CAA6C;gBAC7C,SAAO,GAAG,SAAO,CAAC,MAAM,CAAC,OAAO;qBAC7B,MAAM,CAAC,UAAC,MAAW,IAAK,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,EAA9D,CAA8D,CAAC;qBACvF,GAAG,CAAC,UAAC,MAAW,IAAK,OAAA,IAAI,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAjF,CAAiF,CAAC,CAAC,CAAC;YAC9G,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG,SAAO,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,IAAK,OAAA,IAAI,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAjF,CAAiF,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;IAES,uCAAU,GAApB;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IACI,6BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAC,EAAG,EAAE;KACjF,CAAC;IACF,kBAAkB;IACX,iCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,SAAS,GAAG;QACnB,EAAC,IAAI,EAAE,gBAAgB,GAAG;QAC1B,EAAC,IAAI,EAAE,UAAU,GAAG;QACpB,EAAC,IAAI,EAAE,QAAQ,GAAG;QAClB,EAAC,IAAI,EAAE,sBAAsB,GAAG;KAC/B,EAN6F,CAM7F,CAAC;IACK,iCAAc,GAA2C;QAChE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,oBAAoB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACxC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,uBAAuB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1C,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpC,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1C,yBAAyB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7C,2BAA2B,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/C,uBAAuB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACvC,oBAAoB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACzC,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACxC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACtC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAG,EAAE,EAAE;QACpE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAO,EAAG,EAAE,EAAE;QACvD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,EAAG,EAAE,EAAE;QACrD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAG,EAAE,EAAE;KACtE,CAAC;IACF,yBAAC;CArZD,AAqZC,IAAA;SArZY,kBAAkB","file":"typeahead.directive.js","sourceRoot":"","sourcesContent":["import {\n Directive, ElementRef, EventEmitter, HostListener, Input, OnDestroy, OnInit,\n Output, Renderer, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\n\nimport { Observable } from 'rxjs/Observable';\nimport { Subscription } from 'rxjs/Subscription';\nimport 'rxjs/add/observable/from';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/mergeMap';\nimport 'rxjs/add/operator/toArray';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { ComponentLoader, ComponentLoaderFactory } from '../component-loader';\n\n\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or an Observable for external matching process */\n public typeahead: any;\n /** minimal no of characters that needs to be entered before typeahead kicks-in. When set to 0, typeahead shows on focus with full list of options (limited as normal by typeaheadOptionsLimit) */\n public typeaheadMinLength: number = void 0;\n /** minimal wait time after last character typed before typeahead kicks-in */\n public typeaheadWaitMs: number;\n /** maximum length of options items list */\n public typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field that contains the options value, we use array item as option in case of this field is missing. Supports nested properties and methods. */\n public typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that contains the group value, matches are grouped by this field when set. */\n public typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array. If true - loading of options will be async, otherwise - sync. true make sense if options array is large. */\n public typeaheadAsync: boolean = void 0;\n /** match latin symbols. If true the word súper would match super and vice versa. */\n public typeaheadLatinize: boolean = true;\n /** break words with spaces. If true the text \"exact phrase\" here match would match with match exact phrase here but not with phrase here exact match (kind of \"google style\"). */\n public typeaheadSingleWords: boolean = true;\n /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to break words. Defaults to space. */\n public typeaheadWordDelimiters: string = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to match exact phrase. Defaults to simple and double quotes. */\n public typeaheadPhraseDelimiters: string = '\\'\"';\n /** used to specify a custom item template. Template variables exposed are called item and index; */\n public typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template. Template variables: matches, itemTemplate, query */\n public optionsListTemplate: TemplateRef<any>;\n\n /** fired when 'busy' state of this component was changed, fired on async mode only, returns boolean */\n public typeaheadLoading: EventEmitter<boolean> = new EventEmitter();\n /** fired on every key event and returns true in case of matches are not detected */\n public typeaheadNoResults: EventEmitter<boolean> = new EventEmitter();\n /** fired when option was selected, return object with data of this option */\n public typeaheadOnSelect: EventEmitter<TypeaheadMatch> = new EventEmitter();\n /** fired when blur event occurres. returns the active item */\n public typeaheadOnBlur: EventEmitter<any> = new EventEmitter();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n * Currently only supports \"body\".\n */\n public container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n public dropup: boolean = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n public _container: TypeaheadContainerComponent;\n public isTypeaheadOptionsListActive: boolean = false;\n\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement: string = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n protected ngControl: NgControl;\n protected viewContainerRef: ViewContainerRef;\n protected element: ElementRef;\n protected renderer: Renderer;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n\n \n public onChange(e: any): void {\n if (this._container) {\n // esc\n if (e.keyCode === 27) {\n this.hide();\n return;\n }\n\n // up\n if (e.keyCode === 38) {\n this._container.prevActiveMatch();\n return;\n }\n\n // down\n if (e.keyCode === 40) {\n this._container.nextActiveMatch();\n return;\n }\n\n // enter\n if (e.keyCode === 13) {\n this._container.selectActiveMatch();\n return;\n }\n }\n\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value = e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n \n public onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit('');\n }\n }\n\n \n public onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n this.hide();\n }\n }\n\n \n public onKeydown(e: any): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n // if items is visible - prevent form submition\n if (e.keyCode === 13) {\n e.preventDefault();\n return;\n }\n }\n\n public constructor(control: NgControl, viewContainerRef: ViewContainerRef, element: ElementRef, renderer: Renderer, cis: ComponentLoaderFactory) {\n this.element = element;\n this.ngControl = control;\n this.viewContainerRef = viewContainerRef;\n this.renderer = renderer;\n this._typeahead = cis\n .createLoader<TypeaheadContainerComponent>(element, viewContainerRef, renderer);\n }\n\n public ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n this.typeaheadMinLength = this.typeaheadMinLength === void 0\n ? 1\n : this.typeaheadMinLength;\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (this.typeaheadAsync === undefined && !(this.typeahead instanceof Observable)) {\n this.typeaheadAsync = false;\n }\n\n if (this.typeahead instanceof Observable) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n public changeModel(match: TypeaheadMatch): void {\n let valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control as FormControl).setValue(valueStr);\n this.hide();\n }\n\n public get matches(): any[] {\n return this._matches;\n }\n\n public show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n // todo: add append to body, after updating positioning service\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} left`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n let normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value).toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n public hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._container = null;\n }\n }\n\n public ngOnDestroy(): any {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(this.keyUpEventEmitter\n .debounceTime(this.typeaheadWaitMs)\n .mergeMap(() => this.typeahead)\n .subscribe(\n (matches: any[]) => {\n this.finalizeAsyncCall(matches);\n },\n (err: any) => {\n console.error(err);\n }\n ));\n }\n\n protected syncActions(): void {\n this._subscriptions.push(this.keyUpEventEmitter\n .debounceTime(this.typeaheadWaitMs)\n .mergeMap((value: string) => {\n let normalizedQuery = this.normalizeQuery(value);\n\n return Observable.from(this.typeahead)\n .filter((option: any) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n })\n .toArray();\n })\n .subscribe(\n (matches: any[]) => {\n this.finalizeAsyncCall(matches);\n },\n (err: any) => {\n console.error(err);\n }\n ));\n }\n\n protected normalizeOption(option: any): any {\n let optionValue: string = getValueFromObject(option, this.typeaheadOptionField);\n let normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): any {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: any =\n (this.typeaheadLatinize ? latinize(value) : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: any): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n return true;\n } else {\n return match.indexOf(test) >= 0;\n }\n }\n\n protected finalizeAsyncCall(matches: any[]): void {\n this.prepareMatches(matches);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n return;\n }\n\n if (this._container) {\n // This improves the speed as it won't have to be done for each list item\n let normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value).toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: any[]): void {\n let limited: any[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n let groups = limited\n .map((option: any) => getValueFromObject(option, this.typeaheadGroupField))\n .filter((v: string, i: number, a: any[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(limited\n .filter((option: any) => getValueFromObject(option, this.typeaheadGroupField) === group)\n .map((option: any) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField))));\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map((option: any) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField)));\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[typeahead]', exportAs: 'bs-typeahead'}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: NgControl, },\n{type: ViewContainerRef, },\n{type: ElementRef, },\n{type: Renderer, },\n{type: ComponentLoaderFactory, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'typeahead': [{ type: Input },],\n'typeaheadMinLength': [{ type: Input },],\n'typeaheadWaitMs': [{ type: Input },],\n'typeaheadOptionsLimit': [{ type: Input },],\n'typeaheadOptionField': [{ type: Input },],\n'typeaheadGroupField': [{ type: Input },],\n'typeaheadAsync': [{ type: Input },],\n'typeaheadLatinize': [{ type: Input },],\n'typeaheadSingleWords': [{ type: Input },],\n'typeaheadWordDelimiters': [{ type: Input },],\n'typeaheadPhraseDelimiters': [{ type: Input },],\n'typeaheadItemTemplate': [{ type: Input },],\n'optionsListTemplate': [{ type: Input },],\n'typeaheadLoading': [{ type: Output },],\n'typeaheadNoResults': [{ type: Output },],\n'typeaheadOnSelect': [{ type: Output },],\n'typeaheadOnBlur': [{ type: Output },],\n'container': [{ type: Input },],\n'dropup': [{ type: Input },],\n'onChange': [{ type: HostListener, args: ['keyup', ['$event'], ] },],\n'onFocus': [{ type: HostListener, args: ['focus', ] },],\n'onBlur': [{ type: HostListener, args: ['blur', ] },],\n'onKeydown': [{ type: HostListener, args: ['keydown', ['$event'], ] },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"TypeaheadDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[typeahead]","exportAs":"bs-typeahead"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadMinLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWaitMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadAsync":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLatinize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadSingleWords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWordDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadPhraseDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"optionsListTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadNoResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"onChange":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"}]}],"ngOnInit":[{"__symbolic":"method"}],"changeModel":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"asyncActions":[{"__symbolic":"method"}],"syncActions":[{"__symbolic":"method"}],"normalizeOption":[{"__symbolic":"method"}],"normalizeQuery":[{"__symbolic":"method"}],"testMatch":[{"__symbolic":"method"}],"finalizeAsyncCall":[{"__symbolic":"method"}],"prepareMatches":[{"__symbolic":"method"}],"hasMatches":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"TypeaheadDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[typeahead]","exportAs":"bs-typeahead"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadMinLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWaitMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadAsync":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLatinize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadSingleWords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWordDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadPhraseDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"optionsListTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadNoResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"onChange":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"}]}],"ngOnInit":[{"__symbolic":"method"}],"changeModel":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"asyncActions":[{"__symbolic":"method"}],"syncActions":[{"__symbolic":"method"}],"normalizeOption":[{"__symbolic":"method"}],"normalizeQuery":[{"__symbolic":"method"}],"testMatch":[{"__symbolic":"method"}],"finalizeAsyncCall":[{"__symbolic":"method"}],"prepareMatches":[{"__symbolic":"method"}],"hasMatches":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"TypeaheadDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[typeahead]","exportAs":"bs-typeahead"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadMinLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWaitMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadAsync":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLatinize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadSingleWords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWordDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadPhraseDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"optionsListTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadNoResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"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"}}]}],"onChange":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"}]}],"ngOnInit":[{"__symbolic":"method"}],"changeModel":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"asyncActions":[{"__symbolic":"method"}],"syncActions":[{"__symbolic":"method"}],"normalizeOption":[{"__symbolic":"method"}],"normalizeQuery":[{"__symbolic":"method"}],"testMatch":[{"__symbolic":"method"}],"finalizeAsyncCall":[{"__symbolic":"method"}],"prepareMatches":[{"__symbolic":"method"}],"hasMatches":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"TypeaheadDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[typeahead]","exportAs":"bs-typeahead"}]}],"members":{"typeahead":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadMinLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWaitMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadOptionField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadAsync":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLatinize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadSingleWords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadWordDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadPhraseDelimiters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"optionsListTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"typeaheadLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadNoResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"typeaheadOnBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"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"}}]}],"onChange":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["focus"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur"]}]}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keydown",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"../component-loader","name":"ComponentLoaderFactory"}]}],"ngOnInit":[{"__symbolic":"method"}],"changeModel":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"asyncActions":[{"__symbolic":"method"}],"syncActions":[{"__symbolic":"method"}],"normalizeOption":[{"__symbolic":"method"}],"normalizeQuery":[{"__symbolic":"method"}],"testMatch":[{"__symbolic":"method"}],"finalizeAsyncCall":[{"__symbolic":"method"}],"prepareMatches":[{"__symbolic":"method"}],"hasMatches":[{"__symbolic":"method"}]}}}}]
@@ -4,7 +4,7 @@ import { TypeaheadContainerComponent } from './typeahead-container.component';
4
4
  import { TypeaheadDirective } from './typeahead.directive';
5
5
  import { ComponentLoaderFactory } from '../component-loader';
6
6
  import { PositioningService } from '../positioning';
7
- export var TypeaheadModule = (function () {
7
+ var TypeaheadModule = (function () {
8
8
  function TypeaheadModule() {
9
9
  }
10
10
  TypeaheadModule.forRoot = function () {
@@ -26,4 +26,5 @@ export var TypeaheadModule = (function () {
26
26
  TypeaheadModule.ctorParameters = function () { return []; };
27
27
  return TypeaheadModule;
28
28
  }());
29
+ export { TypeaheadModule };
29
30
  //# sourceMappingURL=typeahead.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeahead.module.js","sourceRoot":"","sources":["../../src/typeahead/typeahead.module.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB;OACvC,EAAE,QAAQ,EAAuB,MAAM,eAAe;OAEtD,EAAE,2BAA2B,EAAE,MAAM,iCAAiC;OACtE,EAAE,kBAAkB,EAAE,MAAM,uBAAuB;OACnD,EAAE,sBAAsB,EAAE,MAAM,qBAAqB;OACrD,EAAE,kBAAkB,EAAE,MAAM,gBAAgB;AAGnD;IAAA;IAkBA,CAAC;IAjBe,uBAAO,GAArB;QACE,MAAM,CAAC;YACL,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACxD,CAAC;IACJ,CAAC;;IACI,0BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;oBAC/D,OAAO,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;oBAC1D,eAAe,EAAE,CAAC,2BAA2B,CAAC;iBAC/C,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,8BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,sBAAC;AAAD,CAAC,AAlBD,IAkBC","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from '../component-loader';\nimport { PositioningService } from '../positioning';\n\n\nexport class TypeaheadModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n };\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\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/typeahead/typeahead.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAA,EAAa,MAAO,iBAAA,CAAkB;AAC/C,OAAO,EAAE,QAAA,EAA8B,MAAO,eAAA,CAAgB;AAE9D,OAAO,EAAE,2BAAA,EAA4B,MAAO,iCAAA,CAAkC;AAC9E,OAAO,EAAE,kBAAA,EAAmB,MAAO,uBAAA,CAAwB;AAC3D,OAAO,EAAE,sBAAA,EAAuB,MAAO,qBAAA,CAAsB;AAC7D,OAAO,EAAE,kBAAA,EAAmB,MAAO,gBAAA,CAAiB;AAGpD;IAAA;IAkBA,CAAC;IAjBe,uBAAO,GAArB;QACE,MAAM,CAAC;YACL,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACxD,CAAC;IACJ,CAAC;IAAA,CAAC;IACG,0BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;oBAC/D,OAAO,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;oBAC1D,eAAe,EAAE,CAAC,2BAA2B,CAAC;iBAC/C,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,8BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,sBAAC;CAlBD,AAkBC,IAAA;SAlBY,eAAe","file":"typeahead.module.js","sourceRoot":"","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from '../component-loader';\nimport { PositioningService } from '../positioning';\n\n\nexport class TypeaheadModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n };\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -15,4 +15,5 @@ export function OnChange(defaultValue) {
15
15
  });
16
16
  };
17
17
  }
18
+ /* tslint:enable */
18
19
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/utils/decorators.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,yBAAyB,YAAiB;IACxC,IAAM,KAAK,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,yBAAyB,MAAU,EAAE,WAAkB;QAC5D,IAAI,IAAI,GAAG,QAAM,WAAW,UAAO,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG,gBAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,GAAG,YAAC,KAAS;gBACX,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACnB,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/*tslint:disable:no-invalid-this */\nexport function OnChange(defaultValue?:any):any {\n const sufix = 'Change';\n return function OnChangeHandler(target:any, propertyKey:string):void {\n let _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n get():any { return this[_key]; },\n set(value:any):void {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n/* tslint:enable */\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/decorators.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,mBAAmB,YAAiB;IACxC,IAAM,KAAK,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,yBAAyB,MAAU,EAAE,WAAkB;QAC5D,IAAI,IAAI,GAAG,QAAM,WAAW,UAAO,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG,EAAH,cAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,GAAG,EAAH,UAAI,KAAS;gBACX,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACnB,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AACD,mBAAmB","file":"decorators.js","sourceRoot":"","sourcesContent":["/*tslint:disable:no-invalid-this */\nexport function OnChange(defaultValue?:any):any {\n const sufix = 'Change';\n return function OnChangeHandler(target:any, propertyKey:string):void {\n let _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n get():any { return this[_key]; },\n set(value:any):void {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n/* tslint:enable */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/utils/facade/browser.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB;;;;;;GAMG;AAEH;;GAEG;AACH,IAAI,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,IAAS,EAAE,CAAC;AAE7D,SAAQ,GAAG,IAAI,MAAM,GAAE;AACvB,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AACnC,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AACnC,OAAO,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,cAAM,OAAA,GAAG,CAAC,IAAI,CAAC,EAAE,EAAX,CAAW,GAAG,cAAW,OAAA,IAAI,EAAJ,CAAI,CAAC;AAChE,OAAO,IAAI,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACxE,OAAO,IAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAClC,OAAO,IAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5C,OAAO,IAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;AAClD,OAAO,IAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9C,OAAO,IAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;AACtC,OAAO,IAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AACxC,OAAO,IAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC","sourcesContent":["/*tslint:disable */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\nvar win = typeof window !== 'undefined' && window || <any>{};\n\nexport {win as window};\nexport var document = win.document;\nexport var location = win.location;\nexport var gc = win['gc'] ? () => win['gc']() : (): any => null;\nexport var performance = win['performance'] ? win['performance'] : null;\nexport const Event = win['Event'];\nexport const MouseEvent = win['MouseEvent'];\nexport const KeyboardEvent = win['KeyboardEvent'];\nexport const EventTarget = win['EventTarget'];\nexport const History = win['History'];\nexport const Location = win['Location'];\nexport const EventListener = win['EventListener'];\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../../.tmp/utils/facade/browser.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB;;;;;;GAMG;AAEH;;GAEG;AACH,IAAI,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,IAAS,EAAE,CAAC;AAE7D,OAAO,EAAC,GAAG,IAAI,MAAM,EAAC,CAAC;AACvB,MAAM,CAAC,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AACnC,MAAM,CAAC,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AACnC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,cAAM,OAAA,GAAG,CAAC,IAAI,CAAC,EAAE,EAAX,CAAW,GAAG,cAAW,OAAA,IAAI,EAAJ,CAAI,CAAC;AAChE,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACxE,MAAM,CAAC,IAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAClC,MAAM,CAAC,IAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,CAAC,IAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;AAClD,MAAM,CAAC,IAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9C,MAAM,CAAC,IAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;AACtC,MAAM,CAAC,IAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,CAAC,IAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC","file":"browser.js","sourceRoot":"","sourcesContent":["/*tslint:disable */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\nvar win = typeof window !== 'undefined' && window || <any>{};\n\nexport {win as window};\nexport var document = win.document;\nexport var location = win.location;\nexport var gc = win['gc'] ? () => win['gc']() : (): any => null;\nexport var performance = win['performance'] ? win['performance'] : null;\nexport const Event = win['Event'];\nexport const MouseEvent = win['MouseEvent'];\nexport const KeyboardEvent = win['KeyboardEvent'];\nexport const EventTarget = win['EventTarget'];\nexport const History = win['History'];\nexport const Location = win['Location'];\nexport const EventListener = win['EventListener'];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,QAAQ,cAAc,CAAC;AACxC,SAAS,UAAU,QAAQ,qBAAqB,CAAC;AACjD,SAAS,KAAK,QAAQ,wBAAwB,CAAC;AAC/C,SAAS,OAAO,QAAQ,iBAAiB,CAAC;AAC1C,SAAS,KAAK,QAAQ,eAAe,CAAC","sourcesContent":["export { OnChange } from './decorators';\nexport { LinkedList } from './linked-list.class';\nexport { isBs3 } from './ng2-bootstrap-config';\nexport { Trigger } from './trigger.class';\nexport { Utils } from './utils.class';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC","file":"index.js","sourceRoot":"","sourcesContent":["export { OnChange } from './decorators';\nexport { LinkedList } from './linked-list.class';\nexport { isBs3 } from './ng2-bootstrap-config';\nexport { Trigger } from './trigger.class';\nexport { Utils } from './utils.class';\n"]}
@@ -1,7 +1,8 @@
1
- export var LinkedList = (function () {
1
+ var LinkedList = (function () {
2
2
  function LinkedList() {
3
3
  this.length = 0;
4
4
  this.asArray = [];
5
+ // Array methods overriding END
5
6
  }
6
7
  LinkedList.prototype.getNode = function (position) {
7
8
  if (this.length === 0 || position < 0 || position >= this.length) {
@@ -131,7 +132,7 @@ export var LinkedList = (function () {
131
132
  var _this = this;
132
133
  var args = [];
133
134
  for (var _i = 0; _i < arguments.length; _i++) {
134
- args[_i - 0] = arguments[_i];
135
+ args[_i] = arguments[_i];
135
136
  }
136
137
  args.forEach(function (arg) {
137
138
  _this.add(arg);
@@ -150,7 +151,7 @@ export var LinkedList = (function () {
150
151
  var _this = this;
151
152
  var args = [];
152
153
  for (var _i = 0; _i < arguments.length; _i++) {
153
- args[_i - 0] = arguments[_i];
154
+ args[_i] = arguments[_i];
154
155
  }
155
156
  args.reverse();
156
157
  args.forEach(function (arg) {
@@ -237,4 +238,5 @@ export var LinkedList = (function () {
237
238
  };
238
239
  return LinkedList;
239
240
  }());
241
+ export { LinkedList };
240
242
  //# sourceMappingURL=linked-list.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linked-list.class.js","sourceRoot":"","sources":["../../src/utils/linked-list.class.ts"],"names":[],"mappings":"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","sourcesContent":["export class LinkedList <T> {\n\n public length: number = 0;\n protected head: any;\n protected tail: any;\n protected current: any;\n protected asArray: T[] = [];\n\n protected getNode(position: number): any {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current.next;\n }\n return current;\n }\n\n protected createInternalArrayRepresentation(): void {\n let outArray: any[] = [];\n let current = this.head;\n\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n\n public get(position: number): T {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current.next;\n }\n return current.value;\n }\n\n public add(value: T, position: number = this.length): void {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n\n let node = {\n value: value as any,\n next: undefined as any,\n previous: undefined as any\n };\n\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n } else {\n if (position === 0) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n } else if (position === this.length) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n } else {\n // node in middle\n let currentPreviousNode = this.getNode(position - 1);\n let currentNextNode = currentPreviousNode.next;\n\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n\n public remove(position: number = 0): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n if (position === 0) {\n // first node\n this.head = this.head.next;\n\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n } else {\n // there is no second node\n this.tail = undefined;\n }\n } else if (position === this.length - 1) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n } else {\n // middle node\n let removedNode = this.getNode(position);\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n\n this.length--;\n this.createInternalArrayRepresentation();\n }\n\n public set(position: number, value: T): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let node = this.getNode(position);\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n\n public toArray(): T[] {\n return this.asArray;\n }\n\n public findAll(fn: any): any[] {\n let current = this.head;\n let result: any[] = [];\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result.push({index, value: current.value});\n }\n current = current.next;\n }\n return result;\n }\n // Array methods overriding start\n public push(...args: T[]): number {\n args.forEach((arg: any) => {\n this.add(arg);\n });\n return this.length;\n }\n\n public pop(): T {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n return last.value;\n }\n\n public unshift(...args: T[]): number {\n args.reverse();\n args.forEach((arg: any) => {\n this.add(arg, 0);\n });\n return this.length;\n }\n\n public shift(): T {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head.value;\n this.remove();\n return lastItem;\n }\n\n public forEach(fn: any): void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n fn(current.value, index);\n current = current.next;\n }\n }\n\n public indexOf(value: T): number {\n let current = this.head;\n let position = 0;\n\n for (let index = 0; index < this.length; index++) {\n if (current.value === value) {\n\n position = index;\n break;\n }\n current = current.next;\n }\n return position;\n }\n\n public some(fn: any): boolean {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n public every(fn: any): boolean {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n return result;\n }\n\n public toString(): string {\n return '[Linked List]';\n }\n\n public find(fn: any): T {\n let current = this.head;\n let result: T;\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result = current.value;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n public findIndex(fn: any): number {\n let current = this.head;\n let result: number;\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result = index;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n // Array methods overriding END\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/linked-list.class.ts"],"names":[],"mappings":"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","file":"linked-list.class.js","sourceRoot":"","sourcesContent":["export class LinkedList <T> {\n\n public length: number = 0;\n protected head: any;\n protected tail: any;\n protected current: any;\n protected asArray: T[] = [];\n\n protected getNode(position: number): any {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current.next;\n }\n return current;\n }\n\n protected createInternalArrayRepresentation(): void {\n let outArray: any[] = [];\n let current = this.head;\n\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n\n public get(position: number): T {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current.next;\n }\n return current.value;\n }\n\n public add(value: T, position: number = this.length): void {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n\n let node = {\n value: value as any,\n next: undefined as any,\n previous: undefined as any\n };\n\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n } else {\n if (position === 0) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n } else if (position === this.length) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n } else {\n // node in middle\n let currentPreviousNode = this.getNode(position - 1);\n let currentNextNode = currentPreviousNode.next;\n\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n\n public remove(position: number = 0): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n if (position === 0) {\n // first node\n this.head = this.head.next;\n\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n } else {\n // there is no second node\n this.tail = undefined;\n }\n } else if (position === this.length - 1) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n } else {\n // middle node\n let removedNode = this.getNode(position);\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n\n this.length--;\n this.createInternalArrayRepresentation();\n }\n\n public set(position: number, value: T): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let node = this.getNode(position);\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n\n public toArray(): T[] {\n return this.asArray;\n }\n\n public findAll(fn: any): any[] {\n let current = this.head;\n let result: any[] = [];\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result.push({index, value: current.value});\n }\n current = current.next;\n }\n return result;\n }\n // Array methods overriding start\n public push(...args: T[]): number {\n args.forEach((arg: any) => {\n this.add(arg);\n });\n return this.length;\n }\n\n public pop(): T {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n return last.value;\n }\n\n public unshift(...args: T[]): number {\n args.reverse();\n args.forEach((arg: any) => {\n this.add(arg, 0);\n });\n return this.length;\n }\n\n public shift(): T {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head.value;\n this.remove();\n return lastItem;\n }\n\n public forEach(fn: any): void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n fn(current.value, index);\n current = current.next;\n }\n }\n\n public indexOf(value: T): number {\n let current = this.head;\n let position = 0;\n\n for (let index = 0; index < this.length; index++) {\n if (current.value === value) {\n\n position = index;\n break;\n }\n current = current.next;\n }\n return position;\n }\n\n public some(fn: any): boolean {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n public every(fn: any): boolean {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n return result;\n }\n\n public toString(): string {\n return '[Linked List]';\n }\n\n public find(fn: any): T {\n let current = this.head;\n let result: T;\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result = current.value;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n public findIndex(fn: any): number {\n let current = this.head;\n let result: number;\n for (let index = 0; index < this.length; index++) {\n if (fn(current.value, index)) {\n result = index;\n break;\n }\n current = current.next;\n }\n return result;\n }\n\n // Array methods overriding END\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"LinkedList":{"__symbolic":"class","members":{"getNode":[{"__symbolic":"method"}],"createInternalArrayRepresentation":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"toArray":[{"__symbolic":"method"}],"findAll":[{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"pop":[{"__symbolic":"method"}],"unshift":[{"__symbolic":"method"}],"shift":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"indexOf":[{"__symbolic":"method"}],"some":[{"__symbolic":"method"}],"every":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"findIndex":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"LinkedList":{"__symbolic":"class","members":{"getNode":[{"__symbolic":"method"}],"createInternalArrayRepresentation":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"toArray":[{"__symbolic":"method"}],"findAll":[{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"pop":[{"__symbolic":"method"}],"unshift":[{"__symbolic":"method"}],"shift":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"indexOf":[{"__symbolic":"method"}],"some":[{"__symbolic":"method"}],"every":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"findIndex":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"LinkedList":{"__symbolic":"class","arity":1,"members":{"getNode":[{"__symbolic":"method"}],"createInternalArrayRepresentation":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"toArray":[{"__symbolic":"method"}],"findAll":[{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"pop":[{"__symbolic":"method"}],"unshift":[{"__symbolic":"method"}],"shift":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"indexOf":[{"__symbolic":"method"}],"some":[{"__symbolic":"method"}],"every":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"findIndex":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"LinkedList":{"__symbolic":"class","arity":1,"members":{"getNode":[{"__symbolic":"method"}],"createInternalArrayRepresentation":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"toArray":[{"__symbolic":"method"}],"findAll":[{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"pop":[{"__symbolic":"method"}],"unshift":[{"__symbolic":"method"}],"shift":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"indexOf":[{"__symbolic":"method"}],"some":[{"__symbolic":"method"}],"every":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"findIndex":[{"__symbolic":"method"}]}}}}]
@@ -1,5 +1,32 @@
1
1
  import { window } from './facade/browser';
2
+ var guessedVersion;
3
+ function _guessBsVersion() {
4
+ if (typeof document === 'undefined') {
5
+ return null;
6
+ }
7
+ var spanEl = document.createElement('span');
8
+ spanEl.innerText = 'test bs version';
9
+ document.body.appendChild(spanEl);
10
+ spanEl.classList.add('d-none');
11
+ var rect = spanEl.getBoundingClientRect();
12
+ document.body.removeChild(spanEl);
13
+ if (!rect) {
14
+ return 'bs3';
15
+ }
16
+ return rect.top === 0 ? 'bs4' : 'bs3';
17
+ }
18
+ // todo: in ngx-bootstrap, bs4 will became a default one
2
19
  export function isBs3() {
20
+ if (typeof window === 'undefined') {
21
+ return true;
22
+ }
23
+ if (typeof window.__theme === 'undefined') {
24
+ if (guessedVersion) {
25
+ return guessedVersion === 'bs3';
26
+ }
27
+ guessedVersion = _guessBsVersion();
28
+ return guessedVersion === 'bs3';
29
+ }
3
30
  return window.__theme !== 'bs4';
4
31
  }
5
32
  //# sourceMappingURL=ng2-bootstrap-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng2-bootstrap-config.js","sourceRoot":"","sources":["../../src/utils/ng2-bootstrap-config.ts"],"names":[],"mappings":"OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB;AAEzC;IACE,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;AAClC,CAAC","sourcesContent":["import { window } from './facade/browser';\n\nexport function isBs3(): boolean {\n return window.__theme !== 'bs4';\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/ng2-bootstrap-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,cAA6B,CAAC;AAElC;IACE,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IACD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACV,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AACxC,CAAC;AAED,wDAAwD;AACxD,MAAM;IACJ,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC;QAC1C,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC;QAClC,CAAC;QACD,cAAc,GAAG,eAAe,EAAE,CAAC;QAEnC,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;AAClC,CAAC","file":"ng2-bootstrap-config.js","sourceRoot":"","sourcesContent":["import { window } from './facade/browser';\n\nlet guessedVersion: 'bs3' | 'bs4';\n\nfunction _guessBsVersion(): 'bs3' | 'bs4' {\n if (typeof document === 'undefined') {\n return null;\n }\n const spanEl = document.createElement('span');\n spanEl.innerText = 'test bs version';\n document.body.appendChild(spanEl);\n spanEl.classList.add('d-none');\n const rect = spanEl.getBoundingClientRect();\n document.body.removeChild(spanEl);\n if (!rect) {\n return 'bs3';\n }\n\n return rect.top === 0 ? 'bs4' : 'bs3';\n}\n\n// todo: in ngx-bootstrap, bs4 will became a default one\nexport function isBs3(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n if (typeof window.__theme === 'undefined') {\n if (guessedVersion) {\n return guessedVersion === 'bs3';\n }\n guessedVersion = _guessBsVersion();\n\n return guessedVersion === 'bs3';\n }\n\n return window.__theme !== 'bs4';\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"isBs3":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./facade/browser","name":"window"},"member":"___theme"},"right":"bs4"}}}},{"__symbolic":"module","version":1,"metadata":{"isBs3":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./facade/browser","name":"window"},"member":"___theme"},"right":"bs4"}}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"isBs3":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"isBs3":{"__symbolic":"function"}}}]
@@ -2,7 +2,7 @@
2
2
  * @copyright Valor Software
3
3
  * @copyright Angular ng-bootstrap team
4
4
  */
5
- export var Trigger = (function () {
5
+ var Trigger = (function () {
6
6
  function Trigger(open, close) {
7
7
  this.open = open;
8
8
  this.close = close || open;
@@ -10,4 +10,5 @@ export var Trigger = (function () {
10
10
  Trigger.prototype.isManual = function () { return this.open === 'manual' || this.close === 'manual'; };
11
11
  return Trigger;
12
12
  }());
13
+ export { Trigger };
13
14
  //# sourceMappingURL=trigger.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.class.js","sourceRoot":"","sources":["../../src/utils/trigger.class.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;IAIE,iBAAmB,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAEM,0BAAQ,GAAf,cAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC1F,cAAC;AAAD,CAAC,AAVD,IAUC","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nexport class Trigger {\n public open: string;\n public close?: string;\n\n public constructor(open: string, close?: string) {\n this.open = open;\n this.close = close || open;\n }\n\n public isManual(): boolean { return this.open === 'manual' || this.close === 'manual'; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/trigger.class.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;IAIE,iBAAmB,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAEM,0BAAQ,GAAf,cAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC1F,cAAC;AAAD,CAVA,AAUC,IAAA","file":"trigger.class.js","sourceRoot":"","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nexport class Trigger {\n public open: string;\n public close?: string;\n\n public constructor(open: string, close?: string) {\n this.open = open;\n this.close = close || open;\n }\n\n public isManual(): boolean { return this.open === 'manual' || this.close === 'manual'; }\n}\n"]}
@@ -4,5 +4,8 @@
4
4
  */
5
5
  import { Renderer } from '@angular/core';
6
6
  import { Trigger } from './trigger.class';
7
+ import { ListenOptions } from '../component-loader/listen-options.model';
7
8
  export declare function parseTriggers(triggers: string, aliases?: any): Trigger[];
8
9
  export declare function listenToTriggers(renderer: Renderer, target: any, triggers: string, showFn: Function, hideFn: Function, toggleFn: Function): Function;
10
+ export declare function listenToTriggersV2(renderer: Renderer, options: ListenOptions): Function;
11
+ export declare function registerOutsideClick(renderer: Renderer, options: ListenOptions): Function;
package/utils/triggers.js CHANGED
@@ -40,4 +40,48 @@ export function listenToTriggers(renderer, target, triggers, showFn, hideFn, tog
40
40
  });
41
41
  return function () { listeners.forEach(function (unsubscribeFn) { return unsubscribeFn(); }); };
42
42
  }
43
+ export function listenToTriggersV2(renderer, options) {
44
+ var parsedTriggers = parseTriggers(options.triggers);
45
+ var target = options.target;
46
+ // do nothing
47
+ if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
48
+ return Function.prototype;
49
+ }
50
+ // all listeners
51
+ var listeners = [];
52
+ // lazy listeners registration
53
+ var _registerHide = [];
54
+ var registerHide = function () {
55
+ // add hide listeners to unregister array
56
+ _registerHide.forEach(function (fn) { return listeners.push(fn()); });
57
+ // register hide events only once
58
+ _registerHide.length = 0;
59
+ };
60
+ // register open\close\toggle listeners
61
+ parsedTriggers.forEach(function (trigger) {
62
+ var useToggle = trigger.open === trigger.close;
63
+ var showFn = useToggle ? options.toggle : options.show;
64
+ if (!useToggle) {
65
+ _registerHide.push(function () { return renderer.listen(target, trigger.close, options.hide); });
66
+ }
67
+ listeners.push(renderer.listen(target, trigger.open, function () { return showFn(registerHide); }));
68
+ });
69
+ return function () {
70
+ listeners.forEach(function (unsubscribeFn) { return unsubscribeFn(); });
71
+ };
72
+ }
73
+ export function registerOutsideClick(renderer, options) {
74
+ if (!options.outsideClick) {
75
+ return Function.prototype;
76
+ }
77
+ return renderer.listenGlobal('document', 'click', function (event) {
78
+ if (options.target && options.target.contains(event.target)) {
79
+ return;
80
+ }
81
+ if (options.targets && options.targets.some(function (target) { return target.contains(event.target); })) {
82
+ return;
83
+ }
84
+ options.hide();
85
+ });
86
+ }
43
87
  //# sourceMappingURL=triggers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/utils/triggers.ts"],"names":[],"mappings":"OAKO,EAAE,OAAO,EAAE,MAAM,iBAAiB;AAEzC,IAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;IAChC,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;CAC/B,CAAC;AAEF,8BAA8B,QAAgB,EAAE,OAA8B;IAA9B,uBAA8B,GAA9B,yBAA8B;IAC5E,IAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC;IACZ,CAAC;IAED,IAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;SAChD,GAAG,CAAC,UAAC,OAAe,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC;SAC5C,GAAG,CAAC,UAAC,WAAqB;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;QACnD,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,IAAM,cAAc,GAAG,cAAc;SAClC,MAAM,CAAC,UAAC,WAAoB,IAAK,OAAA,WAAW,CAAC,QAAQ,EAAE,EAAtB,CAAsB,CAAC,CAAC;IAE5D,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,0DAA0D,CAAC;IACnE,CAAC;IAED,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,0EAA0E,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,cAAc,CAAC;AACxB,CAAC;AAED,iCAAiC,QAAkB,EAAE,MAAW,EAAE,QAAgB,EACjD,MAAgB,EAAE,MAAgB,EAAE,QAAkB;IACrF,IAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAU,EAAE,CAAC;IAE5B,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,OAAO,CAAC,UAAC,OAAgB;QACtC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC;QACT,CAAC;QAED,SAAS,CAAC,IAAI,CACZ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAC7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,cAAQ,SAAS,CAAC,OAAO,CAAC,UAAC,aAAuB,IAAK,OAAA,aAAa,EAAE,EAAf,CAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nimport { Renderer } from '@angular/core';\nimport { Trigger } from './trigger.class';\n\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n\nexport function parseTriggers(triggers: string, aliases: any = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/)\n .map((trigger: string) => trigger.split(':'))\n .map((triggerPair: string[]) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers\n .filter((triggerPair: Trigger) => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function listenToTriggers(renderer: Renderer, target: any, triggers: string,\n showFn: Function, hideFn: Function, toggleFn: Function): Function {\n const parsedTriggers = parseTriggers(triggers);\n const listeners: any[] = [];\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype;\n }\n\n parsedTriggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n return;\n }\n\n listeners.push(\n renderer.listen(target, trigger.open, showFn),\n renderer.listen(target, trigger.close, hideFn));\n });\n\n return () => { listeners.forEach((unsubscribeFn: Function) => unsubscribeFn()); };\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"sources":["../../.tmp/utils/triggers.ts"],"names":[],"mappings":"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","file":"triggers.js","sourceRoot":"","sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nimport { ElementRef, Renderer } from '@angular/core';\nimport { Trigger } from './trigger.class';\nimport { ListenOptions } from '../component-loader/listen-options.model';\n\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n\nexport function parseTriggers(triggers: string, aliases: any = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/)\n .map((trigger: string) => trigger.split(':'))\n .map((triggerPair: string[]) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers\n .filter((triggerPair: Trigger) => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function listenToTriggers(renderer: Renderer, target: any, triggers: string,\n showFn: Function, hideFn: Function, toggleFn: Function): Function {\n const parsedTriggers = parseTriggers(triggers);\n const listeners: any[] = [];\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype;\n }\n\n parsedTriggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n return;\n }\n\n listeners.push(\n renderer.listen(target, trigger.open, showFn),\n renderer.listen(target, trigger.close, hideFn));\n });\n\n return () => { listeners.forEach((unsubscribeFn: Function) => unsubscribeFn()); };\n}\n\nexport function listenToTriggersV2(renderer: Renderer, options: ListenOptions): Function {\n const parsedTriggers = parseTriggers(options.triggers);\n const target = options.target;\n // do nothing\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype;\n }\n\n // all listeners\n const listeners: any[] = [];\n\n // lazy listeners registration\n const _registerHide: Function[] = [];\n const registerHide = () => {\n // add hide listeners to unregister array\n _registerHide.forEach((fn: Function) => listeners.push(fn()));\n // register hide events only once\n _registerHide.length = 0;\n };\n\n // register open\\close\\toggle listeners\n parsedTriggers.forEach((trigger: Trigger) => {\n const useToggle = trigger.open === trigger.close;\n const showFn = useToggle ? options.toggle : options.show;\n\n if (!useToggle) {\n _registerHide.push(() => renderer.listen(target, trigger.close, options.hide));\n }\n\n listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));\n });\n\n return () => {\n listeners.forEach((unsubscribeFn: Function) => unsubscribeFn());\n };\n}\n\nexport function registerOutsideClick(renderer: Renderer, options: ListenOptions) {\n if (!options.outsideClick) {\n return Function.prototype;\n }\n\n return renderer.listenGlobal('document', 'click', (event: any) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (options.targets && options.targets.some(target => target.contains(event.target))) {\n return;\n }\n options.hide();\n });\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":3,"metadata":{"parseTriggers":{"__symbolic":"function"},"listenToTriggers":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"parseTriggers":{"__symbolic":"function"},"listenToTriggers":{"__symbolic":"function"}}}]
1
+ [{"__symbolic":"module","version":3,"metadata":{"parseTriggers":{"__symbolic":"function"},"listenToTriggers":{"__symbolic":"function"},"listenToTriggersV2":{"__symbolic":"function"},"registerOutsideClick":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"parseTriggers":{"__symbolic":"function"},"listenToTriggers":{"__symbolic":"function"},"listenToTriggersV2":{"__symbolic":"function"},"registerOutsideClick":{"__symbolic":"function"}}}]
@@ -1,5 +1,5 @@
1
1
  import { window } from './facade/browser';
2
- export var Utils = (function () {
2
+ var Utils = (function () {
3
3
  function Utils() {
4
4
  }
5
5
  Utils.reflow = function (element) {
@@ -18,4 +18,5 @@ export var Utils = (function () {
18
18
  };
19
19
  return Utils;
20
20
  }());
21
+ export { Utils };
21
22
  //# sourceMappingURL=utils.class.js.map