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,5 +1,5 @@
1
1
  import { __values } from 'tslib';
2
- import { Component, Renderer2, ElementRef, ChangeDetectorRef, ViewChild, ViewChildren, HostListener, Injectable, Directive, ViewContainerRef, Input, Output, EventEmitter, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Renderer2, ElementRef, ChangeDetectorRef, Output, ViewChild, ViewChildren, HostListener, Injectable, Directive, ViewContainerRef, Input, NgModule } from '@angular/core';
3
3
  import { isBs3, Utils } from 'ngx-bootstrap/utils';
4
4
  import { PositioningService } from 'ngx-bootstrap/positioning';
5
5
  import { trigger, state, style, transition, animate } from '@angular/animations';
@@ -852,6 +852,14 @@ var TypeaheadOptions = /** @class */ (function () {
852
852
  }
853
853
  return TypeaheadOptions;
854
854
  }());
855
+ if (false) {
856
+ /** @type {?} */
857
+ TypeaheadOptions.prototype.placement;
858
+ /** @type {?} */
859
+ TypeaheadOptions.prototype.animation;
860
+ /** @type {?} */
861
+ TypeaheadOptions.prototype.typeaheadRef;
862
+ }
855
863
 
856
864
  /**
857
865
  * @fileoverview added by tsickle
@@ -886,6 +894,39 @@ var TypeaheadMatch = /** @class */ (function () {
886
894
  };
887
895
  return TypeaheadMatch;
888
896
  }());
897
+ if (false) {
898
+ /** @type {?} */
899
+ TypeaheadMatch.prototype.value;
900
+ /** @type {?} */
901
+ TypeaheadMatch.prototype.item;
902
+ /**
903
+ * @type {?}
904
+ * @protected
905
+ */
906
+ TypeaheadMatch.prototype.header;
907
+ }
908
+
909
+ /**
910
+ * @fileoverview added by tsickle
911
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
912
+ */
913
+ var TypeaheadOrder = /** @class */ (function () {
914
+ function TypeaheadOrder() {
915
+ }
916
+ return TypeaheadOrder;
917
+ }());
918
+ if (false) {
919
+ /**
920
+ * field for sorting
921
+ * @type {?}
922
+ */
923
+ TypeaheadOrder.prototype.field;
924
+ /**
925
+ * ordering direction, could be 'asc' or 'desc'
926
+ * @type {?}
927
+ */
928
+ TypeaheadOrder.prototype.direction;
929
+ }
889
930
 
890
931
  /**
891
932
  * @fileoverview added by tsickle
@@ -1018,6 +1059,8 @@ var typeaheadAnimation = trigger('typeaheadAnimation', [
1018
1059
  * @fileoverview added by tsickle
1019
1060
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1020
1061
  */
1062
+ /** @type {?} */
1063
+ var nextWindowId = 0;
1021
1064
  var TypeaheadContainerComponent = /** @class */ (function () {
1022
1065
  function TypeaheadContainerComponent(positionService, renderer, element, changeDetectorRef) {
1023
1066
  var _this = this;
@@ -1025,8 +1068,11 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1025
1068
  this.renderer = renderer;
1026
1069
  this.element = element;
1027
1070
  this.changeDetectorRef = changeDetectorRef;
1071
+ // tslint:disable-next-line: no-output-rename
1072
+ this.activeChangeEvent = new EventEmitter();
1028
1073
  this.isFocused = false;
1029
1074
  this.height = 0;
1075
+ this.popupId = "ngb-typeahead-" + nextWindowId++;
1030
1076
  this._matches = [];
1031
1077
  this.isScrolledIntoView = (/**
1032
1078
  * @param {?} elem
@@ -1043,6 +1089,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1043
1089
  var elemBottom = elemTop + elem.offsetHeight;
1044
1090
  return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));
1045
1091
  });
1092
+ this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);
1046
1093
  this.positionServiceSubscription = this.positionService.event$.subscribe((/**
1047
1094
  * @return {?}
1048
1095
  */
@@ -1066,6 +1113,23 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1066
1113
  enumerable: true,
1067
1114
  configurable: true
1068
1115
  });
1116
+ Object.defineProperty(TypeaheadContainerComponent.prototype, "typeaheadTemplateMethods", {
1117
+ get: /**
1118
+ * @return {?}
1119
+ */
1120
+ function () {
1121
+ /* tslint:disable:no-this-assignment */
1122
+ /** @type {?} */
1123
+ var _that = this;
1124
+ return {
1125
+ selectMatch: this.selectMatch.bind(_that),
1126
+ selectActive: this.selectActive.bind(_that),
1127
+ isActive: this.isActive.bind(_that)
1128
+ };
1129
+ },
1130
+ enumerable: true,
1131
+ configurable: true
1132
+ });
1069
1133
  Object.defineProperty(TypeaheadContainerComponent.prototype, "active", {
1070
1134
  get: /**
1071
1135
  * @return {?}
@@ -1073,6 +1137,14 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1073
1137
  function () {
1074
1138
  return this._active;
1075
1139
  },
1140
+ set: /**
1141
+ * @param {?} active
1142
+ * @return {?}
1143
+ */
1144
+ function (active) {
1145
+ this._active = active;
1146
+ this.activeChanged();
1147
+ },
1076
1148
  enumerable: true,
1077
1149
  configurable: true
1078
1150
  });
@@ -1104,7 +1176,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1104
1176
  }));
1105
1177
  }
1106
1178
  if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {
1107
- this._active = this._matches[0];
1179
+ this.active = this._matches[0];
1108
1180
  if (this._active.isHeader()) {
1109
1181
  this.nextActiveMatch();
1110
1182
  }
@@ -1120,7 +1192,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1120
1192
  this.selectActive(concurrency);
1121
1193
  return;
1122
1194
  }
1123
- this._active = null;
1195
+ this.active = null;
1124
1196
  }
1125
1197
  },
1126
1198
  enumerable: true,
@@ -1228,6 +1300,17 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1228
1300
  this.selectMatch(this._active);
1229
1301
  }
1230
1302
  };
1303
+ /**
1304
+ * @return {?}
1305
+ */
1306
+ TypeaheadContainerComponent.prototype.activeChanged = /**
1307
+ * @return {?}
1308
+ */
1309
+ function () {
1310
+ /** @type {?} */
1311
+ var index = this.matches.indexOf(this._active);
1312
+ this.activeChangeEvent.emit(this.popupId + "-" + index);
1313
+ };
1231
1314
  /**
1232
1315
  * @return {?}
1233
1316
  */
@@ -1237,7 +1320,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1237
1320
  function () {
1238
1321
  /** @type {?} */
1239
1322
  var index = this.matches.indexOf(this._active);
1240
- this._active = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];
1323
+ this.active = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];
1241
1324
  if (this._active.isHeader()) {
1242
1325
  this.prevActiveMatch();
1243
1326
  }
@@ -1254,7 +1337,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1254
1337
  function () {
1255
1338
  /** @type {?} */
1256
1339
  var index = this.matches.indexOf(this._active);
1257
- this._active = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];
1340
+ this.active = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];
1258
1341
  if (this._active.isHeader()) {
1259
1342
  this.nextActiveMatch();
1260
1343
  }
@@ -1272,7 +1355,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1272
1355
  */
1273
1356
  function (value) {
1274
1357
  this.isFocused = true;
1275
- this._active = value;
1358
+ this.active = value;
1276
1359
  };
1277
1360
  /**
1278
1361
  * @param {?} match
@@ -1343,7 +1426,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1343
1426
  * @return {?}
1344
1427
  */
1345
1428
  function (value) {
1346
- return this._active === value;
1429
+ return this.active === value;
1347
1430
  };
1348
1431
  /**
1349
1432
  * @param {?} value
@@ -1478,14 +1561,15 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1478
1561
  TypeaheadContainerComponent.decorators = [
1479
1562
  { type: Component, args: [{
1480
1563
  selector: 'typeahead-container',
1481
- 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",
1564
+ 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",
1482
1565
  host: {
1483
1566
  class: 'dropdown open bottom',
1484
1567
  '[class.dropdown-menu]': 'isBs4',
1485
1568
  '[style.height]': "isBs4 && needScrollbar ? guiHeight: 'auto'",
1486
- '[style.visibility]': 'hidden',
1569
+ '[style.visibility]': "'inherit'",
1487
1570
  '[class.dropup]': 'dropup',
1488
- style: 'position: absolute;display: block;'
1571
+ style: 'position: absolute;display: block;',
1572
+ '[attr.role]': "isBs4 ? 'listbox' : null "
1489
1573
  },
1490
1574
  animations: [typeaheadAnimation],
1491
1575
  styles: ["\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n "]
@@ -1499,12 +1583,87 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1499
1583
  { type: ChangeDetectorRef }
1500
1584
  ]; };
1501
1585
  TypeaheadContainerComponent.propDecorators = {
1586
+ activeChangeEvent: [{ type: Output, args: ['activeChange',] }],
1502
1587
  ulElement: [{ type: ViewChild, args: ['ulElement', { static: false },] }],
1503
1588
  liElements: [{ type: ViewChildren, args: ['liElements',] }],
1504
1589
  focusLost: [{ type: HostListener, args: ['mouseleave',] }, { type: HostListener, args: ['blur',] }]
1505
1590
  };
1506
1591
  return TypeaheadContainerComponent;
1507
1592
  }());
1593
+ if (false) {
1594
+ /** @type {?} */
1595
+ TypeaheadContainerComponent.prototype.activeChangeEvent;
1596
+ /** @type {?} */
1597
+ TypeaheadContainerComponent.prototype.parent;
1598
+ /** @type {?} */
1599
+ TypeaheadContainerComponent.prototype.query;
1600
+ /** @type {?} */
1601
+ TypeaheadContainerComponent.prototype.isFocused;
1602
+ /** @type {?} */
1603
+ TypeaheadContainerComponent.prototype.top;
1604
+ /** @type {?} */
1605
+ TypeaheadContainerComponent.prototype.left;
1606
+ /** @type {?} */
1607
+ TypeaheadContainerComponent.prototype.display;
1608
+ /** @type {?} */
1609
+ TypeaheadContainerComponent.prototype.placement;
1610
+ /** @type {?} */
1611
+ TypeaheadContainerComponent.prototype.dropup;
1612
+ /** @type {?} */
1613
+ TypeaheadContainerComponent.prototype.guiHeight;
1614
+ /** @type {?} */
1615
+ TypeaheadContainerComponent.prototype.needScrollbar;
1616
+ /** @type {?} */
1617
+ TypeaheadContainerComponent.prototype.animationState;
1618
+ /** @type {?} */
1619
+ TypeaheadContainerComponent.prototype.positionServiceSubscription;
1620
+ /** @type {?} */
1621
+ TypeaheadContainerComponent.prototype.height;
1622
+ /** @type {?} */
1623
+ TypeaheadContainerComponent.prototype.popupId;
1624
+ /**
1625
+ * @type {?}
1626
+ * @protected
1627
+ */
1628
+ TypeaheadContainerComponent.prototype._active;
1629
+ /**
1630
+ * @type {?}
1631
+ * @protected
1632
+ */
1633
+ TypeaheadContainerComponent.prototype._matches;
1634
+ /**
1635
+ * @type {?}
1636
+ * @private
1637
+ */
1638
+ TypeaheadContainerComponent.prototype.ulElement;
1639
+ /**
1640
+ * @type {?}
1641
+ * @private
1642
+ */
1643
+ TypeaheadContainerComponent.prototype.liElements;
1644
+ /**
1645
+ * @type {?}
1646
+ * @private
1647
+ */
1648
+ TypeaheadContainerComponent.prototype.isScrolledIntoView;
1649
+ /**
1650
+ * @type {?}
1651
+ * @private
1652
+ */
1653
+ TypeaheadContainerComponent.prototype.positionService;
1654
+ /**
1655
+ * @type {?}
1656
+ * @private
1657
+ */
1658
+ TypeaheadContainerComponent.prototype.renderer;
1659
+ /** @type {?} */
1660
+ TypeaheadContainerComponent.prototype.element;
1661
+ /**
1662
+ * @type {?}
1663
+ * @private
1664
+ */
1665
+ TypeaheadContainerComponent.prototype.changeDetectorRef;
1666
+ }
1508
1667
 
1509
1668
  /**
1510
1669
  * @fileoverview added by tsickle
@@ -1527,6 +1686,10 @@ var TypeaheadConfig = /** @class */ (function () {
1527
1686
  * used to hide results on blur
1528
1687
  */
1529
1688
  this.hideResultsOnBlur = true;
1689
+ /**
1690
+ * if true, typeahead will cancel async request on blur
1691
+ */
1692
+ this.cancelRequestOnFocusLost = false;
1530
1693
  /**
1531
1694
  * used to choose the first item in typeahead container
1532
1695
  */
@@ -1546,6 +1709,44 @@ var TypeaheadConfig = /** @class */ (function () {
1546
1709
  ];
1547
1710
  return TypeaheadConfig;
1548
1711
  }());
1712
+ if (false) {
1713
+ /**
1714
+ * sets use adaptive position
1715
+ * @type {?}
1716
+ */
1717
+ TypeaheadConfig.prototype.adaptivePosition;
1718
+ /**
1719
+ * turn on/off animation
1720
+ * @type {?}
1721
+ */
1722
+ TypeaheadConfig.prototype.isAnimated;
1723
+ /**
1724
+ * used to hide results on blur
1725
+ * @type {?}
1726
+ */
1727
+ TypeaheadConfig.prototype.hideResultsOnBlur;
1728
+ /**
1729
+ * if true, typeahead will cancel async request on blur
1730
+ * @type {?}
1731
+ */
1732
+ TypeaheadConfig.prototype.cancelRequestOnFocusLost;
1733
+ /**
1734
+ * used to choose the first item in typeahead container
1735
+ * @type {?}
1736
+ */
1737
+ TypeaheadConfig.prototype.selectFirstItem;
1738
+ /**
1739
+ * used to active/inactive the first item in typeahead container
1740
+ * @type {?}
1741
+ */
1742
+ TypeaheadConfig.prototype.isFirstItemActive;
1743
+ /**
1744
+ * used to choose set minimal no of characters that needs to
1745
+ * be entered before typeahead kicks-in
1746
+ * @type {?}
1747
+ */
1748
+ TypeaheadConfig.prototype.minLength;
1749
+ }
1549
1750
 
1550
1751
  /**
1551
1752
  * @fileoverview added by tsickle
@@ -1568,7 +1769,7 @@ var TypeaheadDirective = /** @class */ (function () {
1568
1769
  */
1569
1770
  this.isAnimated = false;
1570
1771
  /**
1571
- * should be used only in case of typeahead attribute is array.
1772
+ * should be used only in case of typeahead attribute is Observable of array.
1572
1773
  * If true - loading of options will be async, otherwise - sync.
1573
1774
  * true make sense if options array is large.
1574
1775
  */
@@ -1629,22 +1830,25 @@ var TypeaheadDirective = /** @class */ (function () {
1629
1830
  /**
1630
1831
  * fired when blur event occurs. returns the active item
1631
1832
  */
1632
- // tslint:disable-next-line:no-any
1633
1833
  this.typeaheadOnBlur = new EventEmitter();
1634
1834
  /**
1635
1835
  * This attribute indicates that the dropdown should be opened upwards
1636
1836
  */
1637
1837
  this.dropup = false;
1838
+ this.isOpen = false;
1839
+ this.list = 'list';
1638
1840
  this.isActiveItemChanged = false;
1639
- this.isTypeaheadOptionsListActive = false;
1841
+ this.isFocused = false;
1842
+ this.cancelRequestOnFocusLost = false;
1640
1843
  // tslint:disable-next-line:no-any
1641
1844
  this.keyUpEventEmitter = new EventEmitter();
1642
- this.placement = 'bottom-left';
1845
+ this.placement = 'bottom left';
1643
1846
  this._subscriptions = [];
1644
1847
  this._typeahead = cis.createLoader(element, viewContainerRef, renderer)
1645
1848
  .provide({ provide: TypeaheadConfig, useValue: config });
1646
1849
  Object.assign(this, {
1647
1850
  typeaheadHideResultsOnBlur: config.hideResultsOnBlur,
1851
+ typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,
1648
1852
  typeaheadSelectFirstItem: config.selectFirstItem,
1649
1853
  typeaheadIsFirstItemActive: config.isFirstItemActive,
1650
1854
  typeaheadMinLength: config.minLength,
@@ -1664,8 +1868,7 @@ var TypeaheadDirective = /** @class */ (function () {
1664
1868
  this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;
1665
1869
  this.typeaheadWaitMs = this.typeaheadWaitMs || 0;
1666
1870
  // async should be false in case of array
1667
- if (this.typeaheadAsync === undefined &&
1668
- !(isObservable(this.typeahead))) {
1871
+ if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {
1669
1872
  this.typeaheadAsync = false;
1670
1873
  }
1671
1874
  if (isObservable(this.typeahead)) {
@@ -1753,10 +1956,19 @@ var TypeaheadDirective = /** @class */ (function () {
1753
1956
  * @return {?}
1754
1957
  */
1755
1958
  function () {
1756
- if (this.typeaheadMinLength === 0) {
1757
- this.typeaheadLoading.emit(true);
1758
- this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
1759
- }
1959
+ var _this = this;
1960
+ this.isFocused = true;
1961
+ // add setTimeout to fix issue #5251
1962
+ // to get and emit updated value if it's changed on focus
1963
+ setTimeout((/**
1964
+ * @return {?}
1965
+ */
1966
+ function () {
1967
+ if (_this.typeaheadMinLength === 0) {
1968
+ _this.typeaheadLoading.emit(true);
1969
+ _this.keyUpEventEmitter.emit(_this.element.nativeElement.value || '');
1970
+ }
1971
+ }), 0);
1760
1972
  };
1761
1973
  /**
1762
1974
  * @return {?}
@@ -1765,9 +1977,13 @@ var TypeaheadDirective = /** @class */ (function () {
1765
1977
  * @return {?}
1766
1978
  */
1767
1979
  function () {
1980
+ this.isFocused = false;
1768
1981
  if (this._container && !this._container.isFocused) {
1769
1982
  this.typeaheadOnBlur.emit(this._container.active);
1770
1983
  }
1984
+ if (!this.container && this._matches.length === 0) {
1985
+ this.typeaheadOnBlur.emit(new TypeaheadMatch(this.element.nativeElement.value, this.element.nativeElement.value, false));
1986
+ }
1771
1987
  };
1772
1988
  /**
1773
1989
  * @param {?} event
@@ -1783,6 +1999,10 @@ var TypeaheadDirective = /** @class */ (function () {
1783
1999
  return;
1784
2000
  }
1785
2001
  /* tslint:disable-next-line: deprecation */
2002
+ if (event.keyCode === 9 || event.key === 'Tab') {
2003
+ this.onBlur();
2004
+ }
2005
+ /* tslint:disable-next-line: deprecation */
1786
2006
  if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {
1787
2007
  event.preventDefault();
1788
2008
  if (this.typeaheadSelectFirstItem) {
@@ -1833,7 +2053,7 @@ var TypeaheadDirective = /** @class */ (function () {
1833
2053
  this._typeahead
1834
2054
  .attach(TypeaheadContainerComponent)
1835
2055
  .to(this.container)
1836
- .position({ attachment: (this.dropup ? 'top' : 'bottom') + " start" })
2056
+ .position({ attachment: (this.dropup ? 'top' : 'bottom') + " left" })
1837
2057
  .show({
1838
2058
  typeaheadRef: this,
1839
2059
  placement: this.placement,
@@ -1867,6 +2087,15 @@ var TypeaheadDirective = /** @class */ (function () {
1867
2087
  : normalizedQuery;
1868
2088
  this._container.matches = this._matches;
1869
2089
  this.element.nativeElement.focus();
2090
+ this._container.activeChangeEvent.subscribe((/**
2091
+ * @param {?} activeId
2092
+ * @return {?}
2093
+ */
2094
+ function (activeId) {
2095
+ _this.activeDescendant = activeId;
2096
+ _this.changeDetection.markForCheck();
2097
+ }));
2098
+ this.isOpen = true;
1870
2099
  };
1871
2100
  /**
1872
2101
  * @return {?}
@@ -1879,6 +2108,8 @@ var TypeaheadDirective = /** @class */ (function () {
1879
2108
  this._typeahead.hide();
1880
2109
  this._outsideClickListener();
1881
2110
  this._container = null;
2111
+ this.isOpen = false;
2112
+ this.changeDetection.markForCheck();
1882
2113
  }
1883
2114
  };
1884
2115
  /**
@@ -1963,8 +2194,7 @@ var TypeaheadDirective = /** @class */ (function () {
1963
2194
  * @return {?}
1964
2195
  */
1965
2196
  function (option) {
1966
- return (option &&
1967
- _this.testMatch(_this.normalizeOption(option), normalizedQuery));
2197
+ return option && _this.testMatch(_this.normalizeOption(option), normalizedQuery);
1968
2198
  })), toArray());
1969
2199
  })))
1970
2200
  .subscribe((/**
@@ -1975,16 +2205,12 @@ var TypeaheadDirective = /** @class */ (function () {
1975
2205
  _this.finalizeAsyncCall(matches);
1976
2206
  })));
1977
2207
  };
1978
- // tslint:disable-next-line:no-any
1979
- // tslint:disable-next-line:no-any
1980
2208
  /**
1981
2209
  * @protected
1982
2210
  * @param {?} option
1983
2211
  * @return {?}
1984
2212
  */
1985
- TypeaheadDirective.prototype.normalizeOption =
1986
- // tslint:disable-next-line:no-any
1987
- /**
2213
+ TypeaheadDirective.prototype.normalizeOption = /**
1988
2214
  * @protected
1989
2215
  * @param {?} option
1990
2216
  * @return {?}
@@ -2009,8 +2235,7 @@ var TypeaheadDirective = /** @class */ (function () {
2009
2235
  * @return {?}
2010
2236
  */
2011
2237
  function (value) {
2012
- // If singleWords, break model here to not be doing extra work on each
2013
- // iteration
2238
+ // If singleWords, break model here to not be doing extra work on each iteration
2014
2239
  /** @type {?} */
2015
2240
  var normalizedQuery = (this.typeaheadLatinize
2016
2241
  ? latinize(value)
@@ -2066,6 +2291,9 @@ var TypeaheadDirective = /** @class */ (function () {
2066
2291
  this.hide();
2067
2292
  return;
2068
2293
  }
2294
+ if (!this.isFocused && this.cancelRequestOnFocusLost) {
2295
+ return;
2296
+ }
2069
2297
  if (this._container) {
2070
2298
  // fix: remove usage of ngControl internals
2071
2299
  /** @type {?} */
@@ -2098,12 +2326,14 @@ var TypeaheadDirective = /** @class */ (function () {
2098
2326
  var _this = this;
2099
2327
  /** @type {?} */
2100
2328
  var limited = options.slice(0, this.typeaheadOptionsLimit);
2329
+ /** @type {?} */
2330
+ var sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);
2101
2331
  if (this.typeaheadGroupField) {
2102
2332
  /** @type {?} */
2103
2333
  var matches_1 = [];
2104
2334
  // extract all group names
2105
2335
  /** @type {?} */
2106
- var groups = limited
2336
+ var groups = sorted
2107
2337
  .map((/**
2108
2338
  * @param {?} option
2109
2339
  * @return {?}
@@ -2126,21 +2356,15 @@ var TypeaheadDirective = /** @class */ (function () {
2126
2356
  // add group header to array of matches
2127
2357
  matches_1.push(new TypeaheadMatch(group, group, true));
2128
2358
  // add each item of group to array of matches
2129
- matches_1 = matches_1.concat(limited
2130
- .filter((
2131
- // tslint:disable-next-line:no-any
2132
- // tslint:disable-next-line:no-any
2133
- /**
2359
+ matches_1 = matches_1.concat(sorted
2360
+ .filter((/**
2134
2361
  * @param {?} option
2135
2362
  * @return {?}
2136
2363
  */
2137
2364
  function (option) {
2138
2365
  return getValueFromObject(option, _this.typeaheadGroupField) === group;
2139
2366
  }))
2140
- .map((
2141
- // tslint:disable-next-line:no-any
2142
- // tslint:disable-next-line:no-any
2143
- /**
2367
+ .map((/**
2144
2368
  * @param {?} option
2145
2369
  * @return {?}
2146
2370
  */
@@ -2151,7 +2375,7 @@ var TypeaheadDirective = /** @class */ (function () {
2151
2375
  this._matches = matches_1;
2152
2376
  }
2153
2377
  else {
2154
- this._matches = limited.map((
2378
+ this._matches = sorted.map((
2155
2379
  // tslint:disable-next-line:no-any
2156
2380
  // tslint:disable-next-line:no-any
2157
2381
  /**
@@ -2163,6 +2387,61 @@ var TypeaheadDirective = /** @class */ (function () {
2163
2387
  }));
2164
2388
  }
2165
2389
  };
2390
+ /**
2391
+ * @protected
2392
+ * @param {?} options
2393
+ * @return {?}
2394
+ */
2395
+ TypeaheadDirective.prototype.orderMatches = /**
2396
+ * @protected
2397
+ * @param {?} options
2398
+ * @return {?}
2399
+ */
2400
+ function (options) {
2401
+ if (!options.length) {
2402
+ return options;
2403
+ }
2404
+ if (this.typeaheadOrderBy !== null
2405
+ && this.typeaheadOrderBy !== undefined
2406
+ && typeof this.typeaheadOrderBy === 'object'
2407
+ && Object.keys(this.typeaheadOrderBy).length === 0) {
2408
+ // tslint:disable-next-line:no-console
2409
+ console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');
2410
+ return options;
2411
+ }
2412
+ var _a = this.typeaheadOrderBy, field = _a.field, direction = _a.direction;
2413
+ if (!direction || !(direction === 'asc' || direction === 'desc')) {
2414
+ // tslint:disable-next-line:no-console
2415
+ console.error('typeaheadOrderBy direction has to equal "asc" or "desc". Please follow the documentation.');
2416
+ return options;
2417
+ }
2418
+ if (typeof options[0] === 'string') {
2419
+ return direction === 'asc' ? options.sort() : options.sort().reverse();
2420
+ }
2421
+ if (!field || typeof field !== 'string') {
2422
+ // tslint:disable-next-line:no-console
2423
+ console.error('typeaheadOrderBy field has to set according to the documentation.');
2424
+ return options;
2425
+ }
2426
+ return options.sort((/**
2427
+ * @param {?} a
2428
+ * @param {?} b
2429
+ * @return {?}
2430
+ */
2431
+ function (a, b) {
2432
+ /** @type {?} */
2433
+ var stringA = getValueFromObject(a, field);
2434
+ /** @type {?} */
2435
+ var stringB = getValueFromObject(b, field);
2436
+ if (stringA < stringB) {
2437
+ return direction === 'asc' ? -1 : 1;
2438
+ }
2439
+ if (stringA > stringB) {
2440
+ return direction === 'asc' ? 1 : -1;
2441
+ }
2442
+ return 0;
2443
+ }));
2444
+ };
2166
2445
  /**
2167
2446
  * @protected
2168
2447
  * @return {?}
@@ -2175,7 +2454,16 @@ var TypeaheadDirective = /** @class */ (function () {
2175
2454
  return this._matches.length > 0;
2176
2455
  };
2177
2456
  TypeaheadDirective.decorators = [
2178
- { type: Directive, args: [{ selector: '[typeahead]', exportAs: 'bs-typeahead' },] }
2457
+ { type: Directive, args: [{
2458
+ selector: '[typeahead]',
2459
+ exportAs: 'bs-typeahead',
2460
+ host: {
2461
+ '[attr.aria-activedescendant]': 'activeDescendant',
2462
+ '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',
2463
+ '[attr.aria-aria-expanded]': 'isOpen',
2464
+ '[attr.aria-autocomplete]': 'list'
2465
+ }
2466
+ },] }
2179
2467
  ];
2180
2468
  /** @nocollapse */
2181
2469
  TypeaheadDirective.ctorParameters = function () { return [
@@ -2196,6 +2484,7 @@ var TypeaheadDirective = /** @class */ (function () {
2196
2484
  typeaheadOptionsLimit: [{ type: Input }],
2197
2485
  typeaheadOptionField: [{ type: Input }],
2198
2486
  typeaheadGroupField: [{ type: Input }],
2487
+ typeaheadOrderBy: [{ type: Input }],
2199
2488
  typeaheadAsync: [{ type: Input }],
2200
2489
  typeaheadLatinize: [{ type: Input }],
2201
2490
  typeaheadSingleWords: [{ type: Input }],
@@ -2222,6 +2511,231 @@ var TypeaheadDirective = /** @class */ (function () {
2222
2511
  };
2223
2512
  return TypeaheadDirective;
2224
2513
  }());
2514
+ if (false) {
2515
+ /**
2516
+ * options source, can be Array of strings, objects or
2517
+ * an Observable for external matching process
2518
+ * @type {?}
2519
+ */
2520
+ TypeaheadDirective.prototype.typeahead;
2521
+ /**
2522
+ * minimal no of characters that needs to be entered before
2523
+ * typeahead kicks-in. When set to 0, typeahead shows on focus with full
2524
+ * list of options (limited as normal by typeaheadOptionsLimit)
2525
+ * @type {?}
2526
+ */
2527
+ TypeaheadDirective.prototype.typeaheadMinLength;
2528
+ /**
2529
+ * sets use adaptive position
2530
+ * @type {?}
2531
+ */
2532
+ TypeaheadDirective.prototype.adaptivePosition;
2533
+ /**
2534
+ * turn on/off animation
2535
+ * @type {?}
2536
+ */
2537
+ TypeaheadDirective.prototype.isAnimated;
2538
+ /**
2539
+ * minimal wait time after last character typed before typeahead kicks-in
2540
+ * @type {?}
2541
+ */
2542
+ TypeaheadDirective.prototype.typeaheadWaitMs;
2543
+ /**
2544
+ * maximum length of options items list. The default value is 20
2545
+ * @type {?}
2546
+ */
2547
+ TypeaheadDirective.prototype.typeaheadOptionsLimit;
2548
+ /**
2549
+ * when options source is an array of objects, the name of field
2550
+ * that contains the options value, we use array item as option in case
2551
+ * of this field is missing. Supports nested properties and methods.
2552
+ * @type {?}
2553
+ */
2554
+ TypeaheadDirective.prototype.typeaheadOptionField;
2555
+ /**
2556
+ * when options source is an array of objects, the name of field that
2557
+ * contains the group value, matches are grouped by this field when set.
2558
+ * @type {?}
2559
+ */
2560
+ TypeaheadDirective.prototype.typeaheadGroupField;
2561
+ /**
2562
+ * Used to specify a custom order of matches. When options source is an array of objects
2563
+ * a field for sorting has to be set up. In case of options source is an array of string,
2564
+ * a field for sorting is absent. The ordering direction could be changed to ascending or descending.
2565
+ * @type {?}
2566
+ */
2567
+ TypeaheadDirective.prototype.typeaheadOrderBy;
2568
+ /**
2569
+ * should be used only in case of typeahead attribute is Observable of array.
2570
+ * If true - loading of options will be async, otherwise - sync.
2571
+ * true make sense if options array is large.
2572
+ * @type {?}
2573
+ */
2574
+ TypeaheadDirective.prototype.typeaheadAsync;
2575
+ /**
2576
+ * match latin symbols.
2577
+ * If true the word súper would match super and vice versa.
2578
+ * @type {?}
2579
+ */
2580
+ TypeaheadDirective.prototype.typeaheadLatinize;
2581
+ /**
2582
+ * Can be use to search words by inserting a single white space between each characters
2583
+ * for example 'C a l i f o r n i a' will match 'California'.
2584
+ * @type {?}
2585
+ */
2586
+ TypeaheadDirective.prototype.typeaheadSingleWords;
2587
+ /**
2588
+ * should be used only in case typeaheadSingleWords attribute is true.
2589
+ * Sets the word delimiter to break words. Defaults to space.
2590
+ * @type {?}
2591
+ */
2592
+ TypeaheadDirective.prototype.typeaheadWordDelimiters;
2593
+ /**
2594
+ * should be used only in case typeaheadSingleWords attribute is true.
2595
+ * Sets the word delimiter to match exact phrase.
2596
+ * Defaults to simple and double quotes.
2597
+ * @type {?}
2598
+ */
2599
+ TypeaheadDirective.prototype.typeaheadPhraseDelimiters;
2600
+ /**
2601
+ * used to specify a custom item template.
2602
+ * Template variables exposed are called item and index;
2603
+ * @type {?}
2604
+ */
2605
+ TypeaheadDirective.prototype.typeaheadItemTemplate;
2606
+ /**
2607
+ * used to specify a custom options list template.
2608
+ * Template variables: matches, itemTemplate, query
2609
+ * @type {?}
2610
+ */
2611
+ TypeaheadDirective.prototype.optionsListTemplate;
2612
+ /**
2613
+ * specifies if typeahead is scrollable
2614
+ * @type {?}
2615
+ */
2616
+ TypeaheadDirective.prototype.typeaheadScrollable;
2617
+ /**
2618
+ * specifies number of options to show in scroll view
2619
+ * @type {?}
2620
+ */
2621
+ TypeaheadDirective.prototype.typeaheadOptionsInScrollableView;
2622
+ /**
2623
+ * used to hide result on blur
2624
+ * @type {?}
2625
+ */
2626
+ TypeaheadDirective.prototype.typeaheadHideResultsOnBlur;
2627
+ /**
2628
+ * fired when an options list was opened and the user clicked Tab
2629
+ * If a value equal true, it will be chosen first or active item in the list
2630
+ * If value equal false, it will be chosen an active item in the list or nothing
2631
+ * @type {?}
2632
+ */
2633
+ TypeaheadDirective.prototype.typeaheadSelectFirstItem;
2634
+ /**
2635
+ * makes active first item in a list
2636
+ * @type {?}
2637
+ */
2638
+ TypeaheadDirective.prototype.typeaheadIsFirstItemActive;
2639
+ /**
2640
+ * fired when 'busy' state of this component was changed,
2641
+ * fired on async mode only, returns boolean
2642
+ * @type {?}
2643
+ */
2644
+ TypeaheadDirective.prototype.typeaheadLoading;
2645
+ /**
2646
+ * fired on every key event and returns true
2647
+ * in case of matches are not detected
2648
+ * @type {?}
2649
+ */
2650
+ TypeaheadDirective.prototype.typeaheadNoResults;
2651
+ /**
2652
+ * fired when option was selected, return object with data of this option
2653
+ * @type {?}
2654
+ */
2655
+ TypeaheadDirective.prototype.typeaheadOnSelect;
2656
+ /**
2657
+ * fired when blur event occurs. returns the active item
2658
+ * @type {?}
2659
+ */
2660
+ TypeaheadDirective.prototype.typeaheadOnBlur;
2661
+ /**
2662
+ * A selector specifying the element the typeahead should be appended to.
2663
+ * @type {?}
2664
+ */
2665
+ TypeaheadDirective.prototype.container;
2666
+ /**
2667
+ * This attribute indicates that the dropdown should be opened upwards
2668
+ * @type {?}
2669
+ */
2670
+ TypeaheadDirective.prototype.dropup;
2671
+ /**
2672
+ * if false don't focus the input element the typeahead directive is associated with on selection
2673
+ * @type {?}
2674
+ */
2675
+ TypeaheadDirective.prototype.activeDescendant;
2676
+ /** @type {?} */
2677
+ TypeaheadDirective.prototype.isOpen;
2678
+ /** @type {?} */
2679
+ TypeaheadDirective.prototype.list;
2680
+ /** @type {?} */
2681
+ TypeaheadDirective.prototype._container;
2682
+ /** @type {?} */
2683
+ TypeaheadDirective.prototype.isActiveItemChanged;
2684
+ /** @type {?} */
2685
+ TypeaheadDirective.prototype.isFocused;
2686
+ /** @type {?} */
2687
+ TypeaheadDirective.prototype.cancelRequestOnFocusLost;
2688
+ /**
2689
+ * @type {?}
2690
+ * @protected
2691
+ */
2692
+ TypeaheadDirective.prototype.keyUpEventEmitter;
2693
+ /**
2694
+ * @type {?}
2695
+ * @protected
2696
+ */
2697
+ TypeaheadDirective.prototype._matches;
2698
+ /**
2699
+ * @type {?}
2700
+ * @protected
2701
+ */
2702
+ TypeaheadDirective.prototype.placement;
2703
+ /**
2704
+ * @type {?}
2705
+ * @private
2706
+ */
2707
+ TypeaheadDirective.prototype._typeahead;
2708
+ /**
2709
+ * @type {?}
2710
+ * @private
2711
+ */
2712
+ TypeaheadDirective.prototype._subscriptions;
2713
+ /**
2714
+ * @type {?}
2715
+ * @private
2716
+ */
2717
+ TypeaheadDirective.prototype._outsideClickListener;
2718
+ /**
2719
+ * @type {?}
2720
+ * @private
2721
+ */
2722
+ TypeaheadDirective.prototype.changeDetection;
2723
+ /**
2724
+ * @type {?}
2725
+ * @private
2726
+ */
2727
+ TypeaheadDirective.prototype.element;
2728
+ /**
2729
+ * @type {?}
2730
+ * @private
2731
+ */
2732
+ TypeaheadDirective.prototype.ngControl;
2733
+ /**
2734
+ * @type {?}
2735
+ * @private
2736
+ */
2737
+ TypeaheadDirective.prototype.renderer;
2738
+ }
2225
2739
 
2226
2740
  /**
2227
2741
  * @fileoverview added by tsickle
@@ -2253,5 +2767,15 @@ var TypeaheadModule = /** @class */ (function () {
2253
2767
  return TypeaheadModule;
2254
2768
  }());
2255
2769
 
2256
- export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize, typeaheadAnimation as ɵa };
2770
+ /**
2771
+ * @fileoverview added by tsickle
2772
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2773
+ */
2774
+
2775
+ /**
2776
+ * @fileoverview added by tsickle
2777
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2778
+ */
2779
+
2780
+ export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, TypeaheadOrder, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize, typeaheadAnimation as ɵa };
2257
2781
  //# sourceMappingURL=ngx-bootstrap-typeahead.js.map