ngx-bootstrap 5.4.0 → 5.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/CHANGELOG.md +138 -99
  2. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -2
  3. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
  4. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
  5. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
  6. package/accordion/fesm2015/ngx-bootstrap-accordion.js +79 -0
  7. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
  8. package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
  9. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
  10. package/accordion/package.json +2 -2
  11. package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
  12. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
  13. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
  14. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
  15. package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
  16. package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
  17. package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
  18. package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
  19. package/alert/package.json +2 -2
  20. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
  21. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
  22. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
  23. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
  24. package/buttons/button-radio-group.directive.d.ts +4 -1
  25. package/buttons/esm2015/button-radio-group.directive.js +26 -2
  26. package/buttons/esm5/button-radio-group.directive.js +30 -2
  27. package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
  28. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
  29. package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
  30. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
  31. package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
  32. package/buttons/package.json +2 -2
  33. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +295 -4
  34. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
  35. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
  36. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
  37. package/carousel/carousel.component.d.ts +2 -0
  38. package/carousel/esm2015/carousel.component.js +15 -2
  39. package/carousel/esm2015/slide.component.js +21 -2
  40. package/carousel/esm5/carousel.component.js +15 -2
  41. package/carousel/esm5/slide.component.js +6 -2
  42. package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
  43. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
  44. package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -4
  45. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
  46. package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
  47. package/carousel/package.json +2 -2
  48. package/carousel/slide.component.d.ts +1 -0
  49. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
  50. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  51. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
  52. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  53. package/chronos/esm2015/format/format.js +1 -1
  54. package/chronos/esm2015/i18n/ka.js +108 -0
  55. package/chronos/esm2015/i18n/kk.js +89 -0
  56. package/chronos/esm2015/i18n/sq.js +62 -0
  57. package/chronos/esm2015/i18n/th-be.js +85 -0
  58. package/chronos/esm2015/index.js +2 -2
  59. package/chronos/esm2015/locale/locale.class.js +16 -2
  60. package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
  61. package/chronos/esm2015/public_api.js +5 -1
  62. package/chronos/esm2015/units/year.js +4 -1
  63. package/chronos/esm5/format/format.js +1 -1
  64. package/chronos/esm5/i18n/ka.js +108 -0
  65. package/chronos/esm5/i18n/kk.js +89 -0
  66. package/chronos/esm5/i18n/sq.js +62 -0
  67. package/chronos/esm5/i18n/th-be.js +86 -0
  68. package/chronos/esm5/index.js +2 -2
  69. package/chronos/esm5/locale/locale.class.js +22 -2
  70. package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
  71. package/chronos/esm5/public_api.js +5 -1
  72. package/chronos/esm5/units/year.js +4 -1
  73. package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
  74. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  75. package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
  76. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  77. package/chronos/i18n/ka.d.ts +2 -0
  78. package/chronos/i18n/kk.d.ts +2 -0
  79. package/chronos/i18n/sq.d.ts +2 -0
  80. package/chronos/i18n/th-be.d.ts +2 -0
  81. package/chronos/locale/locale.class.d.ts +2 -0
  82. package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
  83. package/chronos/package.json +2 -2
  84. package/chronos/public_api.d.ts +4 -0
  85. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
  86. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
  87. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
  88. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
  89. package/collapse/collapse.directive.d.ts +1 -0
  90. package/collapse/esm2015/collapse.directive.js +14 -1
  91. package/collapse/esm5/collapse.directive.js +14 -1
  92. package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
  93. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
  94. package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
  95. package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
  96. package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
  97. package/collapse/package.json +2 -2
  98. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
  99. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
  100. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
  101. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
  102. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +177 -0
  103. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
  104. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
  105. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
  106. package/component-loader/package.json +2 -2
  107. package/datepicker/base/bs-datepicker-container.d.ts +4 -1
  108. package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
  109. package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
  110. package/datepicker/bs-datepicker.component.d.ts +12 -3
  111. package/datepicker/bs-datepicker.config.d.ts +26 -0
  112. package/datepicker/bs-datepicker.css +19 -1
  113. package/datepicker/bs-datepicker.css.map +3 -3
  114. package/datepicker/bs-datepicker.scss +0 -1
  115. package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
  116. package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
  117. package/datepicker/bs-daterangepicker.component.d.ts +16 -3
  118. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2116 -106
  119. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  120. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
  121. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  122. package/datepicker/engine/flag-days-calendar.d.ts +1 -0
  123. package/datepicker/esm2015/base/bs-datepicker-container.js +18 -3
  124. package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
  125. package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
  126. package/datepicker/esm2015/bs-datepicker.component.js +55 -8
  127. package/datepicker/esm2015/bs-datepicker.config.js +36 -2
  128. package/datepicker/esm2015/bs-datepicker.module.js +23 -16
  129. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
  130. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
  131. package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
  132. package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
  133. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
  134. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
  135. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +25 -6
  136. package/datepicker/esm2015/reducer/bs-datepicker.state.js +5 -1
  137. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
  138. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
  139. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  140. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
  141. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
  142. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  143. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
  144. package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
  145. package/datepicker/esm5/base/bs-datepicker-container.js +26 -3
  146. package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
  147. package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
  148. package/datepicker/esm5/bs-datepicker.component.js +59 -8
  149. package/datepicker/esm5/bs-datepicker.config.js +36 -2
  150. package/datepicker/esm5/bs-datepicker.module.js +26 -19
  151. package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
  152. package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
  153. package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
  154. package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
  155. package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
  156. package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
  157. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +25 -6
  158. package/datepicker/esm5/reducer/bs-datepicker.state.js +5 -1
  159. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
  160. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
  161. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  162. package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
  163. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
  164. package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  165. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
  166. package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
  167. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1958 -91
  168. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  169. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1989 -93
  170. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  171. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  172. package/datepicker/package.json +2 -2
  173. package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
  174. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
  175. package/datepicker/reducer/bs-datepicker.state.d.ts +2 -0
  176. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
  177. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
  178. package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
  179. package/datepicker/utils/scss/mixins.css.map +1 -1
  180. package/datepicker/utils/scss/mixins.scss +9 -0
  181. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +395 -5
  182. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  183. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
  184. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  185. package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
  186. package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
  187. package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
  188. package/dropdown/esm5/bs-dropdown.directive.js +9 -3
  189. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +241 -3
  190. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  191. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +242 -3
  192. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  193. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
  194. package/dropdown/package.json +2 -2
  195. package/locale/bundles/ngx-bootstrap-locale.umd.js +36 -2
  196. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
  197. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
  198. package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
  199. package/locale/esm2015/public_api.js +5 -1
  200. package/locale/esm5/ngx-bootstrap-locale.js +2 -2
  201. package/locale/esm5/public_api.js +5 -1
  202. package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
  203. package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
  204. package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
  205. package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
  206. package/locale/ngx-bootstrap-locale.metadata.json +1 -1
  207. package/locale/package.json +2 -2
  208. package/locale/public_api.d.ts +4 -0
  209. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -2
  210. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
  211. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +15 -1
  212. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
  213. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
  214. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
  215. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
  216. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
  217. package/mini-ngrx/package.json +2 -2
  218. package/modal/bs-modal.service.d.ts +1 -2
  219. package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
  220. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  221. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
  222. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  223. package/modal/esm2015/bs-modal.service.js +13 -4
  224. package/modal/esm2015/modal-container.component.js +24 -5
  225. package/modal/esm2015/modal-options.class.js +16 -1
  226. package/modal/esm2015/modal.directive.js +21 -4
  227. package/modal/esm2015/modal.module.js +10 -1
  228. package/modal/esm5/bs-modal.service.js +28 -8
  229. package/modal/esm5/modal-container.component.js +28 -5
  230. package/modal/esm5/modal-options.class.js +16 -1
  231. package/modal/esm5/modal.directive.js +25 -4
  232. package/modal/esm5/modal.module.js +13 -1
  233. package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
  234. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  235. package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
  236. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  237. package/modal/modal-container.component.d.ts +3 -1
  238. package/modal/modal-options.class.d.ts +13 -0
  239. package/modal/modal.directive.d.ts +3 -1
  240. package/modal/modal.module.d.ts +1 -0
  241. package/modal/ngx-bootstrap-modal.metadata.json +1 -1
  242. package/modal/package.json +2 -2
  243. package/package.json +2 -2
  244. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
  245. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
  246. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
  247. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
  248. package/pagination/esm2015/models/index.js +49 -4
  249. package/pagination/esm2015/pager.component.js +2 -2
  250. package/pagination/esm2015/pagination.component.js +33 -3
  251. package/pagination/esm2015/public_api.js +1 -1
  252. package/pagination/esm5/models/index.js +49 -4
  253. package/pagination/esm5/pager.component.js +2 -2
  254. package/pagination/esm5/pagination.component.js +33 -3
  255. package/pagination/esm5/public_api.js +1 -1
  256. package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
  257. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
  258. package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
  259. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
  260. package/pagination/models/index.d.ts +28 -0
  261. package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
  262. package/pagination/package.json +2 -2
  263. package/pagination/pagination.component.d.ts +12 -2
  264. package/pagination/public_api.d.ts +1 -0
  265. package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
  266. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  267. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
  268. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  269. package/popover/esm2015/popover.config.js +10 -1
  270. package/popover/esm2015/popover.directive.js +97 -16
  271. package/popover/esm5/popover.config.js +10 -1
  272. package/popover/esm5/popover.directive.js +98 -16
  273. package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
  274. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  275. package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
  276. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  277. package/popover/ngx-bootstrap-popover.metadata.json +1 -1
  278. package/popover/package.json +2 -2
  279. package/popover/popover.config.d.ts +2 -0
  280. package/popover/popover.directive.d.ts +9 -1
  281. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
  282. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
  283. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
  284. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
  285. package/positioning/esm2015/modifiers/arrow.js +19 -5
  286. package/positioning/esm2015/modifiers/initData.js +12 -2
  287. package/positioning/esm2015/modifiers/shift.js +6 -4
  288. package/positioning/esm5/modifiers/arrow.js +19 -5
  289. package/positioning/esm5/modifiers/initData.js +12 -2
  290. package/positioning/esm5/modifiers/shift.js +8 -6
  291. package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
  292. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
  293. package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
  294. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
  295. package/positioning/package.json +2 -2
  296. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
  297. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
  298. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
  299. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
  300. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +85 -0
  301. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
  302. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
  303. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
  304. package/progressbar/package.json +2 -2
  305. package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
  306. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
  307. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
  308. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
  309. package/rating/esm2015/ngx-bootstrap-rating.js +2 -2
  310. package/rating/esm2015/public_api.js +2 -1
  311. package/rating/esm2015/rating.component.js +14 -5
  312. package/rating/esm2015/rating.config.js +27 -0
  313. package/rating/esm2015/rating.module.js +3 -2
  314. package/rating/esm5/ngx-bootstrap-rating.js +2 -2
  315. package/rating/esm5/public_api.js +2 -1
  316. package/rating/esm5/rating.component.js +13 -5
  317. package/rating/esm5/rating.config.js +29 -0
  318. package/rating/esm5/rating.module.js +3 -2
  319. package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
  320. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
  321. package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
  322. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
  323. package/rating/ngx-bootstrap-rating.metadata.json +1 -1
  324. package/rating/package.json +2 -2
  325. package/rating/public_api.d.ts +1 -0
  326. package/rating/rating.component.d.ts +4 -1
  327. package/rating/rating.config.d.ts +5 -0
  328. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
  329. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
  330. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
  331. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
  332. package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
  333. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
  334. package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
  335. package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
  336. package/sortable/package.json +2 -2
  337. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
  338. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
  339. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
  340. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
  341. package/tabs/esm2015/tab.directive.js +13 -2
  342. package/tabs/esm2015/tabset.component.js +7 -2
  343. package/tabs/esm2015/tabset.config.js +10 -1
  344. package/tabs/esm5/tab.directive.js +17 -2
  345. package/tabs/esm5/tabset.component.js +7 -2
  346. package/tabs/esm5/tabset.config.js +10 -1
  347. package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
  348. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
  349. package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
  350. package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
  351. package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
  352. package/tabs/package.json +2 -2
  353. package/tabs/tab.directive.d.ts +2 -0
  354. package/tabs/tabset.component.d.ts +2 -0
  355. package/tabs/tabset.config.d.ts +2 -0
  356. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
  357. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  358. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
  359. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  360. package/timepicker/esm2015/timepicker.component.js +8 -2
  361. package/timepicker/esm2015/timepicker.config.js +28 -1
  362. package/timepicker/esm2015/timepicker.utils.js +9 -6
  363. package/timepicker/esm5/timepicker.component.js +8 -2
  364. package/timepicker/esm5/timepicker.config.js +28 -1
  365. package/timepicker/esm5/timepicker.utils.js +9 -6
  366. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
  367. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  368. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -7
  369. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  370. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
  371. package/timepicker/package.json +2 -2
  372. package/timepicker/timepicker.component.d.ts +3 -0
  373. package/timepicker/timepicker.config.d.ts +6 -0
  374. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +355 -8
  375. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  376. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
  377. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  378. package/tooltip/esm2015/tooltip.directive.js +47 -10
  379. package/tooltip/esm5/tooltip.directive.js +50 -10
  380. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +200 -7
  381. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  382. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +203 -7
  383. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  384. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
  385. package/tooltip/package.json +2 -2
  386. package/tooltip/tooltip.directive.d.ts +3 -1
  387. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +719 -43
  388. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  389. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
  390. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  391. package/typeahead/esm2015/models/index.js +87 -0
  392. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
  393. package/typeahead/esm2015/public_api.js +2 -1
  394. package/typeahead/esm2015/typeahead-container.component.js +52 -11
  395. package/typeahead/esm2015/typeahead-order.class.js +19 -0
  396. package/typeahead/esm2015/typeahead.config.js +10 -1
  397. package/typeahead/esm2015/typeahead.directive.js +133 -30
  398. package/typeahead/esm5/models/index.js +87 -0
  399. package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
  400. package/typeahead/esm5/public_api.js +2 -1
  401. package/typeahead/esm5/typeahead-container.component.js +59 -11
  402. package/typeahead/esm5/typeahead-order.class.js +23 -0
  403. package/typeahead/esm5/typeahead.config.js +10 -1
  404. package/typeahead/esm5/typeahead.directive.js +140 -36
  405. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +550 -37
  406. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  407. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +567 -43
  408. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  409. package/typeahead/models/index.d.ts +41 -0
  410. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  411. package/typeahead/package.json +2 -2
  412. package/typeahead/public_api.d.ts +2 -0
  413. package/typeahead/typeahead-container.component.d.ts +10 -5
  414. package/typeahead/typeahead-order.class.d.ts +6 -0
  415. package/typeahead/typeahead.config.d.ts +2 -0
  416. package/typeahead/typeahead.directive.d.ts +28 -10
  417. package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
  418. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
  419. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
  420. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
  421. package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
  422. package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
  423. package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
  424. package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
  425. package/utils/package.json +2 -2
  426. package/bundles/ngx-bootstrap.umd.js +0 -1037
  427. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  428. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  429. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  430. package/esm2015/ngx-bootstrap.js +0 -9
  431. package/esm2015/public_api.js +0 -30
  432. package/esm5/ngx-bootstrap.js +0 -9
  433. package/esm5/public_api.js +0 -30
  434. package/fesm2015/ngx-bootstrap.js +0 -24
  435. package/fesm2015/ngx-bootstrap.js.map +0 -1
  436. package/fesm5/ngx-bootstrap.js +0 -24
  437. package/fesm5/ngx-bootstrap.js.map +0 -1
  438. package/ngx-bootstrap.d.ts +0 -4
  439. package/ngx-bootstrap.metadata.json +0 -1
  440. package/public_api.d.ts +0 -25
@@ -1,4 +1,4 @@
1
- import { Component, Renderer2, ElementRef, ChangeDetectorRef, ViewChild, ViewChildren, HostListener, Injectable, EventEmitter, Directive, ViewContainerRef, Input, Output, NgModule } from '@angular/core';
1
+ import { EventEmitter, Component, Renderer2, ElementRef, ChangeDetectorRef, Output, ViewChild, ViewChildren, HostListener, Injectable, Directive, ViewContainerRef, Input, NgModule } from '@angular/core';
2
2
  import { isBs3, Utils } from 'ngx-bootstrap/utils';
3
3
  import { PositioningService } from 'ngx-bootstrap/positioning';
4
4
  import { trigger, state, style, transition, animate } from '@angular/animations';
@@ -853,6 +853,14 @@ class TypeaheadOptions {
853
853
  Object.assign(this, options);
854
854
  }
855
855
  }
856
+ if (false) {
857
+ /** @type {?} */
858
+ TypeaheadOptions.prototype.placement;
859
+ /** @type {?} */
860
+ TypeaheadOptions.prototype.animation;
861
+ /** @type {?} */
862
+ TypeaheadOptions.prototype.typeaheadRef;
863
+ }
856
864
 
857
865
  /**
858
866
  * @fileoverview added by tsickle
@@ -883,6 +891,36 @@ class TypeaheadMatch {
883
891
  return this.value;
884
892
  }
885
893
  }
894
+ if (false) {
895
+ /** @type {?} */
896
+ TypeaheadMatch.prototype.value;
897
+ /** @type {?} */
898
+ TypeaheadMatch.prototype.item;
899
+ /**
900
+ * @type {?}
901
+ * @protected
902
+ */
903
+ TypeaheadMatch.prototype.header;
904
+ }
905
+
906
+ /**
907
+ * @fileoverview added by tsickle
908
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
909
+ */
910
+ class TypeaheadOrder {
911
+ }
912
+ if (false) {
913
+ /**
914
+ * field for sorting
915
+ * @type {?}
916
+ */
917
+ TypeaheadOrder.prototype.field;
918
+ /**
919
+ * ordering direction, could be 'asc' or 'desc'
920
+ * @type {?}
921
+ */
922
+ TypeaheadOrder.prototype.direction;
923
+ }
886
924
 
887
925
  /**
888
926
  * @fileoverview added by tsickle
@@ -1002,6 +1040,8 @@ const typeaheadAnimation = trigger('typeaheadAnimation', [
1002
1040
  * @fileoverview added by tsickle
1003
1041
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1004
1042
  */
1043
+ /** @type {?} */
1044
+ let nextWindowId = 0;
1005
1045
  class TypeaheadContainerComponent {
1006
1046
  /**
1007
1047
  * @param {?} positionService
@@ -1014,8 +1054,11 @@ class TypeaheadContainerComponent {
1014
1054
  this.renderer = renderer;
1015
1055
  this.element = element;
1016
1056
  this.changeDetectorRef = changeDetectorRef;
1057
+ // tslint:disable-next-line: no-output-rename
1058
+ this.activeChangeEvent = new EventEmitter();
1017
1059
  this.isFocused = false;
1018
1060
  this.height = 0;
1061
+ this.popupId = `ngb-typeahead-${nextWindowId++}`;
1019
1062
  this._matches = [];
1020
1063
  this.isScrolledIntoView = (/**
1021
1064
  * @param {?} elem
@@ -1032,6 +1075,7 @@ class TypeaheadContainerComponent {
1032
1075
  const elemBottom = elemTop + elem.offsetHeight;
1033
1076
  return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));
1034
1077
  });
1078
+ this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);
1035
1079
  this.positionServiceSubscription = this.positionService.event$.subscribe((/**
1036
1080
  * @return {?}
1037
1081
  */
@@ -1051,12 +1095,33 @@ class TypeaheadContainerComponent {
1051
1095
  get isBs4() {
1052
1096
  return !isBs3();
1053
1097
  }
1098
+ /**
1099
+ * @return {?}
1100
+ */
1101
+ get typeaheadTemplateMethods() {
1102
+ /* tslint:disable:no-this-assignment */
1103
+ /** @type {?} */
1104
+ const _that = this;
1105
+ return {
1106
+ selectMatch: this.selectMatch.bind(_that),
1107
+ selectActive: this.selectActive.bind(_that),
1108
+ isActive: this.isActive.bind(_that)
1109
+ };
1110
+ }
1054
1111
  /**
1055
1112
  * @return {?}
1056
1113
  */
1057
1114
  get active() {
1058
1115
  return this._active;
1059
1116
  }
1117
+ /**
1118
+ * @param {?} active
1119
+ * @return {?}
1120
+ */
1121
+ set active(active) {
1122
+ this._active = active;
1123
+ this.activeChanged();
1124
+ }
1060
1125
  /**
1061
1126
  * @return {?}
1062
1127
  */
@@ -1083,7 +1148,7 @@ class TypeaheadContainerComponent {
1083
1148
  }));
1084
1149
  }
1085
1150
  if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {
1086
- this._active = this._matches[0];
1151
+ this.active = this._matches[0];
1087
1152
  if (this._active.isHeader()) {
1088
1153
  this.nextActiveMatch();
1089
1154
  }
@@ -1099,7 +1164,7 @@ class TypeaheadContainerComponent {
1099
1164
  this.selectActive(concurrency);
1100
1165
  return;
1101
1166
  }
1102
- this._active = null;
1167
+ this.active = null;
1103
1168
  }
1104
1169
  }
1105
1170
  /**
@@ -1164,13 +1229,21 @@ class TypeaheadContainerComponent {
1164
1229
  this.selectMatch(this._active);
1165
1230
  }
1166
1231
  }
1232
+ /**
1233
+ * @return {?}
1234
+ */
1235
+ activeChanged() {
1236
+ /** @type {?} */
1237
+ const index = this.matches.indexOf(this._active);
1238
+ this.activeChangeEvent.emit(`${this.popupId}-${index}`);
1239
+ }
1167
1240
  /**
1168
1241
  * @return {?}
1169
1242
  */
1170
1243
  prevActiveMatch() {
1171
1244
  /** @type {?} */
1172
1245
  const index = this.matches.indexOf(this._active);
1173
- this._active = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];
1246
+ this.active = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];
1174
1247
  if (this._active.isHeader()) {
1175
1248
  this.prevActiveMatch();
1176
1249
  }
@@ -1184,7 +1257,7 @@ class TypeaheadContainerComponent {
1184
1257
  nextActiveMatch() {
1185
1258
  /** @type {?} */
1186
1259
  const index = this.matches.indexOf(this._active);
1187
- this._active = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];
1260
+ this.active = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];
1188
1261
  if (this._active.isHeader()) {
1189
1262
  this.nextActiveMatch();
1190
1263
  }
@@ -1198,7 +1271,7 @@ class TypeaheadContainerComponent {
1198
1271
  */
1199
1272
  selectActive(value) {
1200
1273
  this.isFocused = true;
1201
- this._active = value;
1274
+ this.active = value;
1202
1275
  }
1203
1276
  /**
1204
1277
  * @param {?} match
@@ -1257,7 +1330,7 @@ class TypeaheadContainerComponent {
1257
1330
  * @return {?}
1258
1331
  */
1259
1332
  isActive(value) {
1260
- return this._active === value;
1333
+ return this.active === value;
1261
1334
  }
1262
1335
  /**
1263
1336
  * @param {?} value
@@ -1364,14 +1437,15 @@ class TypeaheadContainerComponent {
1364
1437
  TypeaheadContainerComponent.decorators = [
1365
1438
  { type: Component, args: [{
1366
1439
  selector: 'typeahead-container',
1367
- template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || (isBs4 ? bs4Template : bs3Template)\"\n [ngTemplateOutletContext]=\"{matches:matches, itemTemplate:itemTemplate, query:query}\"></ng-template>\n\n<!-- default options item template -->\n<ng-template #bsItemTemplate let-match=\"match\" let-query=\"query\"><span [innerHtml]=\"highlight(match, query)\"></span>\n</ng-template>\n\n<!-- Bootstrap 3 options list template -->\n<ng-template #bs3Template>\n <ul class=\"dropdown-menu\"\n #ulElement\n [style.overflow-y]=\"needScrollbar ? 'scroll': 'auto'\"\n [style.height]=\"needScrollbar ? guiHeight: 'auto'\">\n <ng-template ngFor let-match let-i=\"index\" [ngForOf]=\"matches\">\n <li #liElements *ngIf=\"match.isHeader()\" class=\"dropdown-header\">{{ match }}</li>\n <li #liElements\n *ngIf=\"!match.isHeader()\"\n [@typeaheadAnimation]=\"animationState\"\n [class.active]=\"isActive(match)\"\n (mouseenter)=\"selectActive(match)\">\n\n <a href=\"#\" (click)=\"selectMatch(match, $event)\" tabindex=\"-1\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item:match.item, index:i, match:match, query:query}\"></ng-template>\n </a>\n </li>\n </ng-template>\n </ul>\n</ng-template>\n\n<!-- Bootstrap 4 options list template -->\n<ng-template #bs4Template>\n <ng-template ngFor let-match let-i=\"index\" [ngForOf]=\"matches\">\n <h6 *ngIf=\"match.isHeader()\" class=\"dropdown-header\">{{ match }}</h6>\n <ng-template [ngIf]=\"!match.isHeader()\">\n <button #liElements\n [@typeaheadAnimation]=\"animationState\"\n class=\"dropdown-item\"\n (click)=\"selectMatch(match, $event)\"\n (mouseenter)=\"selectActive(match)\"\n [class.active]=\"isActive(match)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item:match.item, index:i, match:match, query:query}\"></ng-template>\n </button>\n </ng-template>\n </ng-template>\n</ng-template>\n",
1440
+ template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || (isBs4 ? bs4Template : bs3Template)\"\n [ngTemplateOutletContext]=\"{\n matches: matches,\n itemTemplate: itemTemplate || bsItemTemplate,\n query: query,\n $implicit: typeaheadTemplateMethods\n }\">\n</ng-template>\n\n<!-- default options item template -->\n<ng-template #bsItemTemplate let-match=\"match\" let-query=\"query\">\n <span [innerHtml]=\"highlight(match, query)\"></span>\n</ng-template>\n\n<!-- Bootstrap 3 options list template -->\n<ng-template #bs3Template>\n <ul class=\"dropdown-menu\"\n #ulElement\n role=\"listbox\"\n [style.overflow-y]=\"needScrollbar ? 'scroll': 'auto'\"\n [style.height]=\"needScrollbar ? guiHeight: 'auto'\">\n <ng-template ngFor let-match let-i=\"index\" [ngForOf]=\"matches\">\n <li #liElements *ngIf=\"match.isHeader()\" class=\"dropdown-header\">{{ match }}</li>\n <li #liElements\n *ngIf=\"!match.isHeader()\"\n [id]=\"popupId + '-' + i\"\n role=\"option\"\n [@typeaheadAnimation]=\"animationState\"\n [class.active]=\"isActive(match)\"\n (mouseenter)=\"selectActive(match)\">\n\n <a href=\"#\" (click)=\"selectMatch(match, $event)\" tabindex=\"-1\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-template>\n </a>\n </li>\n </ng-template>\n </ul>\n</ng-template>\n\n<!-- Bootstrap 4 options list template -->\n<ng-template #bs4Template>\n <ng-template ngFor let-match let-i=\"index\" [ngForOf]=\"matches\">\n <h6 *ngIf=\"match.isHeader()\" class=\"dropdown-header\">{{ match }}</h6>\n <ng-template [ngIf]=\"!match.isHeader()\">\n <button #liElements\n [id]=\"popupId + '-' + i\"\n role=\"option\"\n [@typeaheadAnimation]=\"animationState\"\n class=\"dropdown-item\"\n (click)=\"selectMatch(match, $event)\"\n (mouseenter)=\"selectActive(match)\"\n [class.active]=\"isActive(match)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-template>\n </button>\n </ng-template>\n </ng-template>\n</ng-template>\n",
1368
1441
  host: {
1369
1442
  class: 'dropdown open bottom',
1370
1443
  '[class.dropdown-menu]': 'isBs4',
1371
1444
  '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,
1372
- '[style.visibility]': 'hidden',
1445
+ '[style.visibility]': `'inherit'`,
1373
1446
  '[class.dropup]': 'dropup',
1374
- style: 'position: absolute;display: block;'
1447
+ style: 'position: absolute;display: block;',
1448
+ '[attr.role]': `isBs4 ? 'listbox' : null `
1375
1449
  },
1376
1450
  animations: [typeaheadAnimation],
1377
1451
  styles: [`
@@ -1394,10 +1468,85 @@ TypeaheadContainerComponent.ctorParameters = () => [
1394
1468
  { type: ChangeDetectorRef }
1395
1469
  ];
1396
1470
  TypeaheadContainerComponent.propDecorators = {
1471
+ activeChangeEvent: [{ type: Output, args: ['activeChange',] }],
1397
1472
  ulElement: [{ type: ViewChild, args: ['ulElement', { static: false },] }],
1398
1473
  liElements: [{ type: ViewChildren, args: ['liElements',] }],
1399
1474
  focusLost: [{ type: HostListener, args: ['mouseleave',] }, { type: HostListener, args: ['blur',] }]
1400
1475
  };
1476
+ if (false) {
1477
+ /** @type {?} */
1478
+ TypeaheadContainerComponent.prototype.activeChangeEvent;
1479
+ /** @type {?} */
1480
+ TypeaheadContainerComponent.prototype.parent;
1481
+ /** @type {?} */
1482
+ TypeaheadContainerComponent.prototype.query;
1483
+ /** @type {?} */
1484
+ TypeaheadContainerComponent.prototype.isFocused;
1485
+ /** @type {?} */
1486
+ TypeaheadContainerComponent.prototype.top;
1487
+ /** @type {?} */
1488
+ TypeaheadContainerComponent.prototype.left;
1489
+ /** @type {?} */
1490
+ TypeaheadContainerComponent.prototype.display;
1491
+ /** @type {?} */
1492
+ TypeaheadContainerComponent.prototype.placement;
1493
+ /** @type {?} */
1494
+ TypeaheadContainerComponent.prototype.dropup;
1495
+ /** @type {?} */
1496
+ TypeaheadContainerComponent.prototype.guiHeight;
1497
+ /** @type {?} */
1498
+ TypeaheadContainerComponent.prototype.needScrollbar;
1499
+ /** @type {?} */
1500
+ TypeaheadContainerComponent.prototype.animationState;
1501
+ /** @type {?} */
1502
+ TypeaheadContainerComponent.prototype.positionServiceSubscription;
1503
+ /** @type {?} */
1504
+ TypeaheadContainerComponent.prototype.height;
1505
+ /** @type {?} */
1506
+ TypeaheadContainerComponent.prototype.popupId;
1507
+ /**
1508
+ * @type {?}
1509
+ * @protected
1510
+ */
1511
+ TypeaheadContainerComponent.prototype._active;
1512
+ /**
1513
+ * @type {?}
1514
+ * @protected
1515
+ */
1516
+ TypeaheadContainerComponent.prototype._matches;
1517
+ /**
1518
+ * @type {?}
1519
+ * @private
1520
+ */
1521
+ TypeaheadContainerComponent.prototype.ulElement;
1522
+ /**
1523
+ * @type {?}
1524
+ * @private
1525
+ */
1526
+ TypeaheadContainerComponent.prototype.liElements;
1527
+ /**
1528
+ * @type {?}
1529
+ * @private
1530
+ */
1531
+ TypeaheadContainerComponent.prototype.isScrolledIntoView;
1532
+ /**
1533
+ * @type {?}
1534
+ * @private
1535
+ */
1536
+ TypeaheadContainerComponent.prototype.positionService;
1537
+ /**
1538
+ * @type {?}
1539
+ * @private
1540
+ */
1541
+ TypeaheadContainerComponent.prototype.renderer;
1542
+ /** @type {?} */
1543
+ TypeaheadContainerComponent.prototype.element;
1544
+ /**
1545
+ * @type {?}
1546
+ * @private
1547
+ */
1548
+ TypeaheadContainerComponent.prototype.changeDetectorRef;
1549
+ }
1401
1550
 
1402
1551
  /**
1403
1552
  * @fileoverview added by tsickle
@@ -1420,6 +1569,10 @@ class TypeaheadConfig {
1420
1569
  * used to hide results on blur
1421
1570
  */
1422
1571
  this.hideResultsOnBlur = true;
1572
+ /**
1573
+ * if true, typeahead will cancel async request on blur
1574
+ */
1575
+ this.cancelRequestOnFocusLost = false;
1423
1576
  /**
1424
1577
  * used to choose the first item in typeahead container
1425
1578
  */
@@ -1438,6 +1591,44 @@ class TypeaheadConfig {
1438
1591
  TypeaheadConfig.decorators = [
1439
1592
  { type: Injectable }
1440
1593
  ];
1594
+ if (false) {
1595
+ /**
1596
+ * sets use adaptive position
1597
+ * @type {?}
1598
+ */
1599
+ TypeaheadConfig.prototype.adaptivePosition;
1600
+ /**
1601
+ * turn on/off animation
1602
+ * @type {?}
1603
+ */
1604
+ TypeaheadConfig.prototype.isAnimated;
1605
+ /**
1606
+ * used to hide results on blur
1607
+ * @type {?}
1608
+ */
1609
+ TypeaheadConfig.prototype.hideResultsOnBlur;
1610
+ /**
1611
+ * if true, typeahead will cancel async request on blur
1612
+ * @type {?}
1613
+ */
1614
+ TypeaheadConfig.prototype.cancelRequestOnFocusLost;
1615
+ /**
1616
+ * used to choose the first item in typeahead container
1617
+ * @type {?}
1618
+ */
1619
+ TypeaheadConfig.prototype.selectFirstItem;
1620
+ /**
1621
+ * used to active/inactive the first item in typeahead container
1622
+ * @type {?}
1623
+ */
1624
+ TypeaheadConfig.prototype.isFirstItemActive;
1625
+ /**
1626
+ * used to choose set minimal no of characters that needs to
1627
+ * be entered before typeahead kicks-in
1628
+ * @type {?}
1629
+ */
1630
+ TypeaheadConfig.prototype.minLength;
1631
+ }
1441
1632
 
1442
1633
  /**
1443
1634
  * @fileoverview added by tsickle
@@ -1469,7 +1660,7 @@ class TypeaheadDirective {
1469
1660
  */
1470
1661
  this.isAnimated = false;
1471
1662
  /**
1472
- * should be used only in case of typeahead attribute is array.
1663
+ * should be used only in case of typeahead attribute is Observable of array.
1473
1664
  * If true - loading of options will be async, otherwise - sync.
1474
1665
  * true make sense if options array is large.
1475
1666
  */
@@ -1530,22 +1721,25 @@ class TypeaheadDirective {
1530
1721
  /**
1531
1722
  * fired when blur event occurs. returns the active item
1532
1723
  */
1533
- // tslint:disable-next-line:no-any
1534
1724
  this.typeaheadOnBlur = new EventEmitter();
1535
1725
  /**
1536
1726
  * This attribute indicates that the dropdown should be opened upwards
1537
1727
  */
1538
1728
  this.dropup = false;
1729
+ this.isOpen = false;
1730
+ this.list = 'list';
1539
1731
  this.isActiveItemChanged = false;
1540
- this.isTypeaheadOptionsListActive = false;
1732
+ this.isFocused = false;
1733
+ this.cancelRequestOnFocusLost = false;
1541
1734
  // tslint:disable-next-line:no-any
1542
1735
  this.keyUpEventEmitter = new EventEmitter();
1543
- this.placement = 'bottom-left';
1736
+ this.placement = 'bottom left';
1544
1737
  this._subscriptions = [];
1545
1738
  this._typeahead = cis.createLoader(element, viewContainerRef, renderer)
1546
1739
  .provide({ provide: TypeaheadConfig, useValue: config });
1547
1740
  Object.assign(this, {
1548
1741
  typeaheadHideResultsOnBlur: config.hideResultsOnBlur,
1742
+ typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,
1549
1743
  typeaheadSelectFirstItem: config.selectFirstItem,
1550
1744
  typeaheadIsFirstItemActive: config.isFirstItemActive,
1551
1745
  typeaheadMinLength: config.minLength,
@@ -1562,8 +1756,7 @@ class TypeaheadDirective {
1562
1756
  this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;
1563
1757
  this.typeaheadWaitMs = this.typeaheadWaitMs || 0;
1564
1758
  // async should be false in case of array
1565
- if (this.typeaheadAsync === undefined &&
1566
- !(isObservable(this.typeahead))) {
1759
+ if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {
1567
1760
  this.typeaheadAsync = false;
1568
1761
  }
1569
1762
  if (isObservable(this.typeahead)) {
@@ -1640,18 +1833,30 @@ class TypeaheadDirective {
1640
1833
  * @return {?}
1641
1834
  */
1642
1835
  onFocus() {
1643
- if (this.typeaheadMinLength === 0) {
1644
- this.typeaheadLoading.emit(true);
1645
- this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
1646
- }
1836
+ this.isFocused = true;
1837
+ // add setTimeout to fix issue #5251
1838
+ // to get and emit updated value if it's changed on focus
1839
+ setTimeout((/**
1840
+ * @return {?}
1841
+ */
1842
+ () => {
1843
+ if (this.typeaheadMinLength === 0) {
1844
+ this.typeaheadLoading.emit(true);
1845
+ this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
1846
+ }
1847
+ }), 0);
1647
1848
  }
1648
1849
  /**
1649
1850
  * @return {?}
1650
1851
  */
1651
1852
  onBlur() {
1853
+ this.isFocused = false;
1652
1854
  if (this._container && !this._container.isFocused) {
1653
1855
  this.typeaheadOnBlur.emit(this._container.active);
1654
1856
  }
1857
+ if (!this.container && this._matches.length === 0) {
1858
+ this.typeaheadOnBlur.emit(new TypeaheadMatch(this.element.nativeElement.value, this.element.nativeElement.value, false));
1859
+ }
1655
1860
  }
1656
1861
  /**
1657
1862
  * @param {?} event
@@ -1663,6 +1868,10 @@ class TypeaheadDirective {
1663
1868
  return;
1664
1869
  }
1665
1870
  /* tslint:disable-next-line: deprecation */
1871
+ if (event.keyCode === 9 || event.key === 'Tab') {
1872
+ this.onBlur();
1873
+ }
1874
+ /* tslint:disable-next-line: deprecation */
1666
1875
  if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {
1667
1876
  event.preventDefault();
1668
1877
  if (this.typeaheadSelectFirstItem) {
@@ -1701,7 +1910,7 @@ class TypeaheadDirective {
1701
1910
  this._typeahead
1702
1911
  .attach(TypeaheadContainerComponent)
1703
1912
  .to(this.container)
1704
- .position({ attachment: `${this.dropup ? 'top' : 'bottom'} start` })
1913
+ .position({ attachment: `${this.dropup ? 'top' : 'bottom'} left` })
1705
1914
  .show({
1706
1915
  typeaheadRef: this,
1707
1916
  placement: this.placement,
@@ -1735,6 +1944,15 @@ class TypeaheadDirective {
1735
1944
  : normalizedQuery;
1736
1945
  this._container.matches = this._matches;
1737
1946
  this.element.nativeElement.focus();
1947
+ this._container.activeChangeEvent.subscribe((/**
1948
+ * @param {?} activeId
1949
+ * @return {?}
1950
+ */
1951
+ (activeId) => {
1952
+ this.activeDescendant = activeId;
1953
+ this.changeDetection.markForCheck();
1954
+ }));
1955
+ this.isOpen = true;
1738
1956
  }
1739
1957
  /**
1740
1958
  * @return {?}
@@ -1744,6 +1962,8 @@ class TypeaheadDirective {
1744
1962
  this._typeahead.hide();
1745
1963
  this._outsideClickListener();
1746
1964
  this._container = null;
1965
+ this.isOpen = false;
1966
+ this.changeDetection.markForCheck();
1747
1967
  }
1748
1968
  }
1749
1969
  /**
@@ -1801,8 +2021,7 @@ class TypeaheadDirective {
1801
2021
  * @return {?}
1802
2022
  */
1803
2023
  (option) => {
1804
- return (option &&
1805
- this.testMatch(this.normalizeOption(option), normalizedQuery));
2024
+ return option && this.testMatch(this.normalizeOption(option), normalizedQuery);
1806
2025
  })), toArray());
1807
2026
  })))
1808
2027
  .subscribe((/**
@@ -1813,7 +2032,6 @@ class TypeaheadDirective {
1813
2032
  this.finalizeAsyncCall(matches);
1814
2033
  })));
1815
2034
  }
1816
- // tslint:disable-next-line:no-any
1817
2035
  /**
1818
2036
  * @protected
1819
2037
  * @param {?} option
@@ -1834,8 +2052,7 @@ class TypeaheadDirective {
1834
2052
  * @return {?}
1835
2053
  */
1836
2054
  normalizeQuery(value) {
1837
- // If singleWords, break model here to not be doing extra work on each
1838
- // iteration
2055
+ // If singleWords, break model here to not be doing extra work on each iteration
1839
2056
  /** @type {?} */
1840
2057
  let normalizedQuery = (this.typeaheadLatinize
1841
2058
  ? latinize(value)
@@ -1880,6 +2097,9 @@ class TypeaheadDirective {
1880
2097
  this.hide();
1881
2098
  return;
1882
2099
  }
2100
+ if (!this.isFocused && this.cancelRequestOnFocusLost) {
2101
+ return;
2102
+ }
1883
2103
  if (this._container) {
1884
2104
  // fix: remove usage of ngControl internals
1885
2105
  /** @type {?} */
@@ -1906,12 +2126,14 @@ class TypeaheadDirective {
1906
2126
  prepareMatches(options) {
1907
2127
  /** @type {?} */
1908
2128
  const limited = options.slice(0, this.typeaheadOptionsLimit);
2129
+ /** @type {?} */
2130
+ const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);
1909
2131
  if (this.typeaheadGroupField) {
1910
2132
  /** @type {?} */
1911
2133
  let matches = [];
1912
2134
  // extract all group names
1913
2135
  /** @type {?} */
1914
- const groups = limited
2136
+ const groups = sorted
1915
2137
  .map((/**
1916
2138
  * @param {?} option
1917
2139
  * @return {?}
@@ -1932,17 +2154,13 @@ class TypeaheadDirective {
1932
2154
  // add group header to array of matches
1933
2155
  matches.push(new TypeaheadMatch(group, group, true));
1934
2156
  // add each item of group to array of matches
1935
- matches = matches.concat(limited
1936
- .filter((
1937
- // tslint:disable-next-line:no-any
1938
- /**
2157
+ matches = matches.concat(sorted
2158
+ .filter((/**
1939
2159
  * @param {?} option
1940
2160
  * @return {?}
1941
2161
  */
1942
2162
  (option) => getValueFromObject(option, this.typeaheadGroupField) === group))
1943
- .map((
1944
- // tslint:disable-next-line:no-any
1945
- /**
2163
+ .map((/**
1946
2164
  * @param {?} option
1947
2165
  * @return {?}
1948
2166
  */
@@ -1951,7 +2169,7 @@ class TypeaheadDirective {
1951
2169
  this._matches = matches;
1952
2170
  }
1953
2171
  else {
1954
- this._matches = limited.map((
2172
+ this._matches = sorted.map((
1955
2173
  // tslint:disable-next-line:no-any
1956
2174
  /**
1957
2175
  * @param {?} option
@@ -1960,6 +2178,56 @@ class TypeaheadDirective {
1960
2178
  (option) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField))));
1961
2179
  }
1962
2180
  }
2181
+ /**
2182
+ * @protected
2183
+ * @param {?} options
2184
+ * @return {?}
2185
+ */
2186
+ orderMatches(options) {
2187
+ if (!options.length) {
2188
+ return options;
2189
+ }
2190
+ if (this.typeaheadOrderBy !== null
2191
+ && this.typeaheadOrderBy !== undefined
2192
+ && typeof this.typeaheadOrderBy === 'object'
2193
+ && Object.keys(this.typeaheadOrderBy).length === 0) {
2194
+ // tslint:disable-next-line:no-console
2195
+ console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');
2196
+ return options;
2197
+ }
2198
+ const { field, direction } = this.typeaheadOrderBy;
2199
+ if (!direction || !(direction === 'asc' || direction === 'desc')) {
2200
+ // tslint:disable-next-line:no-console
2201
+ console.error('typeaheadOrderBy direction has to equal "asc" or "desc". Please follow the documentation.');
2202
+ return options;
2203
+ }
2204
+ if (typeof options[0] === 'string') {
2205
+ return direction === 'asc' ? options.sort() : options.sort().reverse();
2206
+ }
2207
+ if (!field || typeof field !== 'string') {
2208
+ // tslint:disable-next-line:no-console
2209
+ console.error('typeaheadOrderBy field has to set according to the documentation.');
2210
+ return options;
2211
+ }
2212
+ return options.sort((/**
2213
+ * @param {?} a
2214
+ * @param {?} b
2215
+ * @return {?}
2216
+ */
2217
+ (a, b) => {
2218
+ /** @type {?} */
2219
+ const stringA = getValueFromObject(a, field);
2220
+ /** @type {?} */
2221
+ const stringB = getValueFromObject(b, field);
2222
+ if (stringA < stringB) {
2223
+ return direction === 'asc' ? -1 : 1;
2224
+ }
2225
+ if (stringA > stringB) {
2226
+ return direction === 'asc' ? 1 : -1;
2227
+ }
2228
+ return 0;
2229
+ }));
2230
+ }
1963
2231
  /**
1964
2232
  * @protected
1965
2233
  * @return {?}
@@ -1969,7 +2237,16 @@ class TypeaheadDirective {
1969
2237
  }
1970
2238
  }
1971
2239
  TypeaheadDirective.decorators = [
1972
- { type: Directive, args: [{ selector: '[typeahead]', exportAs: 'bs-typeahead' },] }
2240
+ { type: Directive, args: [{
2241
+ selector: '[typeahead]',
2242
+ exportAs: 'bs-typeahead',
2243
+ host: {
2244
+ '[attr.aria-activedescendant]': 'activeDescendant',
2245
+ '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',
2246
+ '[attr.aria-aria-expanded]': 'isOpen',
2247
+ '[attr.aria-autocomplete]': 'list'
2248
+ }
2249
+ },] }
1973
2250
  ];
1974
2251
  /** @nocollapse */
1975
2252
  TypeaheadDirective.ctorParameters = () => [
@@ -1990,6 +2267,7 @@ TypeaheadDirective.propDecorators = {
1990
2267
  typeaheadOptionsLimit: [{ type: Input }],
1991
2268
  typeaheadOptionField: [{ type: Input }],
1992
2269
  typeaheadGroupField: [{ type: Input }],
2270
+ typeaheadOrderBy: [{ type: Input }],
1993
2271
  typeaheadAsync: [{ type: Input }],
1994
2272
  typeaheadLatinize: [{ type: Input }],
1995
2273
  typeaheadSingleWords: [{ type: Input }],
@@ -2014,6 +2292,231 @@ TypeaheadDirective.propDecorators = {
2014
2292
  onBlur: [{ type: HostListener, args: ['blur',] }],
2015
2293
  onKeydown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
2016
2294
  };
2295
+ if (false) {
2296
+ /**
2297
+ * options source, can be Array of strings, objects or
2298
+ * an Observable for external matching process
2299
+ * @type {?}
2300
+ */
2301
+ TypeaheadDirective.prototype.typeahead;
2302
+ /**
2303
+ * minimal no of characters that needs to be entered before
2304
+ * typeahead kicks-in. When set to 0, typeahead shows on focus with full
2305
+ * list of options (limited as normal by typeaheadOptionsLimit)
2306
+ * @type {?}
2307
+ */
2308
+ TypeaheadDirective.prototype.typeaheadMinLength;
2309
+ /**
2310
+ * sets use adaptive position
2311
+ * @type {?}
2312
+ */
2313
+ TypeaheadDirective.prototype.adaptivePosition;
2314
+ /**
2315
+ * turn on/off animation
2316
+ * @type {?}
2317
+ */
2318
+ TypeaheadDirective.prototype.isAnimated;
2319
+ /**
2320
+ * minimal wait time after last character typed before typeahead kicks-in
2321
+ * @type {?}
2322
+ */
2323
+ TypeaheadDirective.prototype.typeaheadWaitMs;
2324
+ /**
2325
+ * maximum length of options items list. The default value is 20
2326
+ * @type {?}
2327
+ */
2328
+ TypeaheadDirective.prototype.typeaheadOptionsLimit;
2329
+ /**
2330
+ * when options source is an array of objects, the name of field
2331
+ * that contains the options value, we use array item as option in case
2332
+ * of this field is missing. Supports nested properties and methods.
2333
+ * @type {?}
2334
+ */
2335
+ TypeaheadDirective.prototype.typeaheadOptionField;
2336
+ /**
2337
+ * when options source is an array of objects, the name of field that
2338
+ * contains the group value, matches are grouped by this field when set.
2339
+ * @type {?}
2340
+ */
2341
+ TypeaheadDirective.prototype.typeaheadGroupField;
2342
+ /**
2343
+ * Used to specify a custom order of matches. When options source is an array of objects
2344
+ * a field for sorting has to be set up. In case of options source is an array of string,
2345
+ * a field for sorting is absent. The ordering direction could be changed to ascending or descending.
2346
+ * @type {?}
2347
+ */
2348
+ TypeaheadDirective.prototype.typeaheadOrderBy;
2349
+ /**
2350
+ * should be used only in case of typeahead attribute is Observable of array.
2351
+ * If true - loading of options will be async, otherwise - sync.
2352
+ * true make sense if options array is large.
2353
+ * @type {?}
2354
+ */
2355
+ TypeaheadDirective.prototype.typeaheadAsync;
2356
+ /**
2357
+ * match latin symbols.
2358
+ * If true the word súper would match super and vice versa.
2359
+ * @type {?}
2360
+ */
2361
+ TypeaheadDirective.prototype.typeaheadLatinize;
2362
+ /**
2363
+ * Can be use to search words by inserting a single white space between each characters
2364
+ * for example 'C a l i f o r n i a' will match 'California'.
2365
+ * @type {?}
2366
+ */
2367
+ TypeaheadDirective.prototype.typeaheadSingleWords;
2368
+ /**
2369
+ * should be used only in case typeaheadSingleWords attribute is true.
2370
+ * Sets the word delimiter to break words. Defaults to space.
2371
+ * @type {?}
2372
+ */
2373
+ TypeaheadDirective.prototype.typeaheadWordDelimiters;
2374
+ /**
2375
+ * should be used only in case typeaheadSingleWords attribute is true.
2376
+ * Sets the word delimiter to match exact phrase.
2377
+ * Defaults to simple and double quotes.
2378
+ * @type {?}
2379
+ */
2380
+ TypeaheadDirective.prototype.typeaheadPhraseDelimiters;
2381
+ /**
2382
+ * used to specify a custom item template.
2383
+ * Template variables exposed are called item and index;
2384
+ * @type {?}
2385
+ */
2386
+ TypeaheadDirective.prototype.typeaheadItemTemplate;
2387
+ /**
2388
+ * used to specify a custom options list template.
2389
+ * Template variables: matches, itemTemplate, query
2390
+ * @type {?}
2391
+ */
2392
+ TypeaheadDirective.prototype.optionsListTemplate;
2393
+ /**
2394
+ * specifies if typeahead is scrollable
2395
+ * @type {?}
2396
+ */
2397
+ TypeaheadDirective.prototype.typeaheadScrollable;
2398
+ /**
2399
+ * specifies number of options to show in scroll view
2400
+ * @type {?}
2401
+ */
2402
+ TypeaheadDirective.prototype.typeaheadOptionsInScrollableView;
2403
+ /**
2404
+ * used to hide result on blur
2405
+ * @type {?}
2406
+ */
2407
+ TypeaheadDirective.prototype.typeaheadHideResultsOnBlur;
2408
+ /**
2409
+ * fired when an options list was opened and the user clicked Tab
2410
+ * If a value equal true, it will be chosen first or active item in the list
2411
+ * If value equal false, it will be chosen an active item in the list or nothing
2412
+ * @type {?}
2413
+ */
2414
+ TypeaheadDirective.prototype.typeaheadSelectFirstItem;
2415
+ /**
2416
+ * makes active first item in a list
2417
+ * @type {?}
2418
+ */
2419
+ TypeaheadDirective.prototype.typeaheadIsFirstItemActive;
2420
+ /**
2421
+ * fired when 'busy' state of this component was changed,
2422
+ * fired on async mode only, returns boolean
2423
+ * @type {?}
2424
+ */
2425
+ TypeaheadDirective.prototype.typeaheadLoading;
2426
+ /**
2427
+ * fired on every key event and returns true
2428
+ * in case of matches are not detected
2429
+ * @type {?}
2430
+ */
2431
+ TypeaheadDirective.prototype.typeaheadNoResults;
2432
+ /**
2433
+ * fired when option was selected, return object with data of this option
2434
+ * @type {?}
2435
+ */
2436
+ TypeaheadDirective.prototype.typeaheadOnSelect;
2437
+ /**
2438
+ * fired when blur event occurs. returns the active item
2439
+ * @type {?}
2440
+ */
2441
+ TypeaheadDirective.prototype.typeaheadOnBlur;
2442
+ /**
2443
+ * A selector specifying the element the typeahead should be appended to.
2444
+ * @type {?}
2445
+ */
2446
+ TypeaheadDirective.prototype.container;
2447
+ /**
2448
+ * This attribute indicates that the dropdown should be opened upwards
2449
+ * @type {?}
2450
+ */
2451
+ TypeaheadDirective.prototype.dropup;
2452
+ /**
2453
+ * if false don't focus the input element the typeahead directive is associated with on selection
2454
+ * @type {?}
2455
+ */
2456
+ TypeaheadDirective.prototype.activeDescendant;
2457
+ /** @type {?} */
2458
+ TypeaheadDirective.prototype.isOpen;
2459
+ /** @type {?} */
2460
+ TypeaheadDirective.prototype.list;
2461
+ /** @type {?} */
2462
+ TypeaheadDirective.prototype._container;
2463
+ /** @type {?} */
2464
+ TypeaheadDirective.prototype.isActiveItemChanged;
2465
+ /** @type {?} */
2466
+ TypeaheadDirective.prototype.isFocused;
2467
+ /** @type {?} */
2468
+ TypeaheadDirective.prototype.cancelRequestOnFocusLost;
2469
+ /**
2470
+ * @type {?}
2471
+ * @protected
2472
+ */
2473
+ TypeaheadDirective.prototype.keyUpEventEmitter;
2474
+ /**
2475
+ * @type {?}
2476
+ * @protected
2477
+ */
2478
+ TypeaheadDirective.prototype._matches;
2479
+ /**
2480
+ * @type {?}
2481
+ * @protected
2482
+ */
2483
+ TypeaheadDirective.prototype.placement;
2484
+ /**
2485
+ * @type {?}
2486
+ * @private
2487
+ */
2488
+ TypeaheadDirective.prototype._typeahead;
2489
+ /**
2490
+ * @type {?}
2491
+ * @private
2492
+ */
2493
+ TypeaheadDirective.prototype._subscriptions;
2494
+ /**
2495
+ * @type {?}
2496
+ * @private
2497
+ */
2498
+ TypeaheadDirective.prototype._outsideClickListener;
2499
+ /**
2500
+ * @type {?}
2501
+ * @private
2502
+ */
2503
+ TypeaheadDirective.prototype.changeDetection;
2504
+ /**
2505
+ * @type {?}
2506
+ * @private
2507
+ */
2508
+ TypeaheadDirective.prototype.element;
2509
+ /**
2510
+ * @type {?}
2511
+ * @private
2512
+ */
2513
+ TypeaheadDirective.prototype.ngControl;
2514
+ /**
2515
+ * @type {?}
2516
+ * @private
2517
+ */
2518
+ TypeaheadDirective.prototype.renderer;
2519
+ }
2017
2520
 
2018
2521
  /**
2019
2522
  * @fileoverview added by tsickle
@@ -2039,5 +2542,15 @@ TypeaheadModule.decorators = [
2039
2542
  },] }
2040
2543
  ];
2041
2544
 
2042
- export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize, typeaheadAnimation as ɵa };
2545
+ /**
2546
+ * @fileoverview added by tsickle
2547
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2548
+ */
2549
+
2550
+ /**
2551
+ * @fileoverview added by tsickle
2552
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2553
+ */
2554
+
2555
+ export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, TypeaheadOrder, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize, typeaheadAnimation as ɵa };
2043
2556
  //# sourceMappingURL=ngx-bootstrap-typeahead.js.map