ngx-bootstrap 5.3.2 → 5.6.1

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 (439) hide show
  1. package/CHANGELOG.md +148 -99
  2. package/README.md +14 -10
  3. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -2
  4. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
  5. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
  6. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
  7. package/accordion/fesm2015/ngx-bootstrap-accordion.js +79 -0
  8. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
  9. package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
  10. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
  11. package/accordion/package.json +2 -2
  12. package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
  13. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
  14. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
  15. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
  16. package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
  17. package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
  18. package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
  19. package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
  20. package/alert/package.json +2 -2
  21. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
  22. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
  23. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
  24. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
  25. package/buttons/button-radio-group.directive.d.ts +4 -1
  26. package/buttons/esm2015/button-radio-group.directive.js +26 -2
  27. package/buttons/esm5/button-radio-group.directive.js +30 -2
  28. package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
  29. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
  30. package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
  31. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
  32. package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
  33. package/buttons/package.json +2 -2
  34. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +295 -4
  35. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
  36. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
  37. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
  38. package/carousel/carousel.component.d.ts +2 -0
  39. package/carousel/esm2015/carousel.component.js +15 -2
  40. package/carousel/esm2015/slide.component.js +21 -2
  41. package/carousel/esm5/carousel.component.js +15 -2
  42. package/carousel/esm5/slide.component.js +6 -2
  43. package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
  44. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
  45. package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -4
  46. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
  47. package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
  48. package/carousel/package.json +2 -2
  49. package/carousel/slide.component.d.ts +1 -0
  50. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
  51. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  52. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
  53. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  54. package/chronos/esm2015/format/format.js +1 -1
  55. package/chronos/esm2015/i18n/ka.js +108 -0
  56. package/chronos/esm2015/i18n/kk.js +89 -0
  57. package/chronos/esm2015/i18n/sq.js +62 -0
  58. package/chronos/esm2015/i18n/th-be.js +85 -0
  59. package/chronos/esm2015/index.js +2 -2
  60. package/chronos/esm2015/locale/locale.class.js +16 -2
  61. package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
  62. package/chronos/esm2015/public_api.js +5 -1
  63. package/chronos/esm2015/units/year.js +4 -1
  64. package/chronos/esm5/format/format.js +1 -1
  65. package/chronos/esm5/i18n/ka.js +108 -0
  66. package/chronos/esm5/i18n/kk.js +89 -0
  67. package/chronos/esm5/i18n/sq.js +62 -0
  68. package/chronos/esm5/i18n/th-be.js +86 -0
  69. package/chronos/esm5/index.js +2 -2
  70. package/chronos/esm5/locale/locale.class.js +22 -2
  71. package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
  72. package/chronos/esm5/public_api.js +5 -1
  73. package/chronos/esm5/units/year.js +4 -1
  74. package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
  75. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  76. package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
  77. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  78. package/chronos/i18n/ka.d.ts +2 -0
  79. package/chronos/i18n/kk.d.ts +2 -0
  80. package/chronos/i18n/sq.d.ts +2 -0
  81. package/chronos/i18n/th-be.d.ts +2 -0
  82. package/chronos/locale/locale.class.d.ts +2 -0
  83. package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
  84. package/chronos/package.json +2 -2
  85. package/chronos/public_api.d.ts +4 -0
  86. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
  87. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
  88. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
  89. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
  90. package/collapse/collapse.directive.d.ts +1 -0
  91. package/collapse/esm2015/collapse.directive.js +14 -1
  92. package/collapse/esm5/collapse.directive.js +14 -1
  93. package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
  94. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
  95. package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
  96. package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
  97. package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
  98. package/collapse/package.json +2 -2
  99. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
  100. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
  101. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
  102. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
  103. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +177 -0
  104. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
  105. package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
  106. package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
  107. package/component-loader/package.json +2 -2
  108. package/datepicker/base/bs-datepicker-container.d.ts +2 -1
  109. package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
  110. package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
  111. package/datepicker/bs-datepicker.component.d.ts +12 -3
  112. package/datepicker/bs-datepicker.config.d.ts +31 -1
  113. package/datepicker/bs-datepicker.css +19 -1
  114. package/datepicker/bs-datepicker.css.map +3 -3
  115. package/datepicker/bs-datepicker.scss +0 -1
  116. package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
  117. package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
  118. package/datepicker/bs-daterangepicker.component.d.ts +16 -3
  119. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2100 -99
  120. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  121. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
  122. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  123. package/datepicker/engine/flag-days-calendar.d.ts +1 -0
  124. package/datepicker/esm2015/base/bs-datepicker-container.js +10 -3
  125. package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
  126. package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
  127. package/datepicker/esm2015/bs-datepicker.component.js +55 -8
  128. package/datepicker/esm2015/bs-datepicker.config.js +42 -3
  129. package/datepicker/esm2015/bs-datepicker.module.js +23 -16
  130. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
  131. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
  132. package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
  133. package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
  134. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
  135. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
  136. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +28 -6
  137. package/datepicker/esm2015/reducer/bs-datepicker.state.js +7 -1
  138. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
  139. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
  140. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  141. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
  142. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
  143. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  144. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
  145. package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
  146. package/datepicker/esm5/base/bs-datepicker-container.js +14 -3
  147. package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
  148. package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
  149. package/datepicker/esm5/bs-datepicker.component.js +59 -8
  150. package/datepicker/esm5/bs-datepicker.config.js +42 -3
  151. package/datepicker/esm5/bs-datepicker.module.js +26 -19
  152. package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
  153. package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
  154. package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
  155. package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
  156. package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
  157. package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
  158. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +28 -6
  159. package/datepicker/esm5/reducer/bs-datepicker.state.js +7 -1
  160. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
  161. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
  162. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  163. package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
  164. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
  165. package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  166. package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
  167. package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
  168. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1953 -91
  169. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  170. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1985 -98
  171. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  172. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  173. package/datepicker/package.json +2 -2
  174. package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
  175. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
  176. package/datepicker/reducer/bs-datepicker.state.d.ts +3 -0
  177. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
  178. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
  179. package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
  180. package/datepicker/utils/scss/mixins.css.map +1 -1
  181. package/datepicker/utils/scss/mixins.scss +9 -0
  182. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +387 -3
  183. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  184. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
  185. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  186. package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
  187. package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
  188. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +234 -1
  189. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  190. package/dropdown/fesm5/ngx-bootstrap-dropdown.js +234 -1
  191. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  192. package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
  193. package/dropdown/package.json +2 -2
  194. package/locale/bundles/ngx-bootstrap-locale.umd.js +36 -2
  195. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
  196. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
  197. package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
  198. package/locale/esm2015/public_api.js +5 -1
  199. package/locale/esm5/ngx-bootstrap-locale.js +2 -2
  200. package/locale/esm5/public_api.js +5 -1
  201. package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
  202. package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
  203. package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
  204. package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
  205. package/locale/ngx-bootstrap-locale.metadata.json +1 -1
  206. package/locale/package.json +2 -2
  207. package/locale/public_api.d.ts +4 -0
  208. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -2
  209. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
  210. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +15 -1
  211. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
  212. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
  213. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
  214. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
  215. package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
  216. package/mini-ngrx/package.json +2 -2
  217. package/modal/bs-modal.service.d.ts +1 -2
  218. package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
  219. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  220. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
  221. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  222. package/modal/esm2015/bs-modal.service.js +13 -4
  223. package/modal/esm2015/modal-container.component.js +24 -5
  224. package/modal/esm2015/modal-options.class.js +16 -1
  225. package/modal/esm2015/modal.directive.js +21 -4
  226. package/modal/esm2015/modal.module.js +10 -1
  227. package/modal/esm5/bs-modal.service.js +28 -8
  228. package/modal/esm5/modal-container.component.js +28 -5
  229. package/modal/esm5/modal-options.class.js +16 -1
  230. package/modal/esm5/modal.directive.js +25 -4
  231. package/modal/esm5/modal.module.js +13 -1
  232. package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
  233. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  234. package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
  235. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  236. package/modal/modal-container.component.d.ts +3 -1
  237. package/modal/modal-options.class.d.ts +13 -0
  238. package/modal/modal.directive.d.ts +3 -1
  239. package/modal/modal.module.d.ts +1 -0
  240. package/modal/ngx-bootstrap-modal.metadata.json +1 -1
  241. package/modal/package.json +2 -2
  242. package/package.json +2 -2
  243. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
  244. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
  245. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
  246. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
  247. package/pagination/esm2015/models/index.js +49 -4
  248. package/pagination/esm2015/pager.component.js +2 -2
  249. package/pagination/esm2015/pagination.component.js +33 -3
  250. package/pagination/esm2015/public_api.js +1 -1
  251. package/pagination/esm5/models/index.js +49 -4
  252. package/pagination/esm5/pager.component.js +2 -2
  253. package/pagination/esm5/pagination.component.js +33 -3
  254. package/pagination/esm5/public_api.js +1 -1
  255. package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
  256. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
  257. package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
  258. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
  259. package/pagination/models/index.d.ts +28 -0
  260. package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
  261. package/pagination/package.json +2 -2
  262. package/pagination/pagination.component.d.ts +12 -2
  263. package/pagination/public_api.d.ts +1 -0
  264. package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
  265. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  266. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
  267. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  268. package/popover/esm2015/popover.config.js +10 -1
  269. package/popover/esm2015/popover.directive.js +97 -16
  270. package/popover/esm5/popover.config.js +10 -1
  271. package/popover/esm5/popover.directive.js +98 -16
  272. package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
  273. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  274. package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
  275. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  276. package/popover/ngx-bootstrap-popover.metadata.json +1 -1
  277. package/popover/package.json +2 -2
  278. package/popover/popover.config.d.ts +2 -0
  279. package/popover/popover.directive.d.ts +9 -1
  280. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
  281. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
  282. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
  283. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
  284. package/positioning/esm2015/modifiers/arrow.js +19 -5
  285. package/positioning/esm2015/modifiers/initData.js +12 -2
  286. package/positioning/esm2015/modifiers/shift.js +6 -4
  287. package/positioning/esm5/modifiers/arrow.js +19 -5
  288. package/positioning/esm5/modifiers/initData.js +12 -2
  289. package/positioning/esm5/modifiers/shift.js +8 -6
  290. package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
  291. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
  292. package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
  293. package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
  294. package/positioning/package.json +2 -2
  295. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
  296. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
  297. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
  298. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
  299. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +85 -0
  300. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
  301. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
  302. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
  303. package/progressbar/package.json +2 -2
  304. package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
  305. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
  306. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
  307. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
  308. package/rating/esm2015/ngx-bootstrap-rating.js +2 -2
  309. package/rating/esm2015/public_api.js +2 -1
  310. package/rating/esm2015/rating.component.js +14 -5
  311. package/rating/esm2015/rating.config.js +27 -0
  312. package/rating/esm2015/rating.module.js +3 -2
  313. package/rating/esm5/ngx-bootstrap-rating.js +2 -2
  314. package/rating/esm5/public_api.js +2 -1
  315. package/rating/esm5/rating.component.js +13 -5
  316. package/rating/esm5/rating.config.js +29 -0
  317. package/rating/esm5/rating.module.js +3 -2
  318. package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
  319. package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
  320. package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
  321. package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
  322. package/rating/ngx-bootstrap-rating.metadata.json +1 -1
  323. package/rating/package.json +2 -2
  324. package/rating/public_api.d.ts +1 -0
  325. package/rating/rating.component.d.ts +4 -1
  326. package/rating/rating.config.d.ts +5 -0
  327. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
  328. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
  329. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
  330. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
  331. package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
  332. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
  333. package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
  334. package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
  335. package/sortable/package.json +2 -2
  336. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
  337. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
  338. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
  339. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
  340. package/tabs/esm2015/tab.directive.js +13 -2
  341. package/tabs/esm2015/tabset.component.js +7 -2
  342. package/tabs/esm2015/tabset.config.js +10 -1
  343. package/tabs/esm5/tab.directive.js +17 -2
  344. package/tabs/esm5/tabset.component.js +7 -2
  345. package/tabs/esm5/tabset.config.js +10 -1
  346. package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
  347. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
  348. package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
  349. package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
  350. package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
  351. package/tabs/package.json +2 -2
  352. package/tabs/tab.directive.d.ts +2 -0
  353. package/tabs/tabset.component.d.ts +2 -0
  354. package/tabs/tabset.config.d.ts +2 -0
  355. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
  356. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  357. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
  358. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  359. package/timepicker/esm2015/timepicker.component.js +8 -2
  360. package/timepicker/esm2015/timepicker.config.js +28 -1
  361. package/timepicker/esm2015/timepicker.utils.js +9 -6
  362. package/timepicker/esm5/timepicker.component.js +8 -2
  363. package/timepicker/esm5/timepicker.config.js +28 -1
  364. package/timepicker/esm5/timepicker.utils.js +9 -6
  365. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
  366. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  367. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -7
  368. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  369. package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
  370. package/timepicker/package.json +2 -2
  371. package/timepicker/timepicker.component.d.ts +3 -0
  372. package/timepicker/timepicker.config.d.ts +6 -0
  373. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +356 -8
  374. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  375. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
  376. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  377. package/tooltip/esm2015/tooltip.directive.js +48 -10
  378. package/tooltip/esm5/tooltip.directive.js +51 -10
  379. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +201 -7
  380. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  381. package/tooltip/fesm5/ngx-bootstrap-tooltip.js +204 -7
  382. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  383. package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
  384. package/tooltip/package.json +2 -2
  385. package/tooltip/tooltip.directive.d.ts +3 -1
  386. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +748 -69
  387. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  388. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
  389. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  390. package/typeahead/esm2015/models/index.js +87 -0
  391. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
  392. package/typeahead/esm2015/public_api.js +2 -1
  393. package/typeahead/esm2015/typeahead-container.component.js +82 -37
  394. package/typeahead/esm2015/typeahead-order.class.js +19 -0
  395. package/typeahead/esm2015/typeahead.config.js +10 -1
  396. package/typeahead/esm2015/typeahead.directive.js +133 -30
  397. package/typeahead/esm5/models/index.js +87 -0
  398. package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
  399. package/typeahead/esm5/public_api.js +2 -1
  400. package/typeahead/esm5/typeahead-container.component.js +92 -37
  401. package/typeahead/esm5/typeahead-order.class.js +23 -0
  402. package/typeahead/esm5/typeahead.config.js +10 -1
  403. package/typeahead/esm5/typeahead.directive.js +140 -36
  404. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +574 -61
  405. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  406. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +594 -67
  407. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  408. package/typeahead/models/index.d.ts +41 -0
  409. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  410. package/typeahead/package.json +2 -2
  411. package/typeahead/public_api.d.ts +2 -0
  412. package/typeahead/typeahead-container.component.d.ts +15 -7
  413. package/typeahead/typeahead-order.class.d.ts +6 -0
  414. package/typeahead/typeahead.config.d.ts +2 -0
  415. package/typeahead/typeahead.directive.d.ts +28 -10
  416. package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
  417. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
  418. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
  419. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
  420. package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
  421. package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
  422. package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
  423. package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
  424. package/utils/package.json +2 -2
  425. package/bundles/ngx-bootstrap.umd.js +0 -1037
  426. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  427. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  428. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  429. package/esm2015/ngx-bootstrap.js +0 -9
  430. package/esm2015/public_api.js +0 -30
  431. package/esm5/ngx-bootstrap.js +0 -9
  432. package/esm5/public_api.js +0 -30
  433. package/fesm2015/ngx-bootstrap.js +0 -24
  434. package/fesm2015/ngx-bootstrap.js.map +0 -1
  435. package/fesm5/ngx-bootstrap.js +0 -24
  436. package/fesm5/ngx-bootstrap.js.map +0 -1
  437. package/ngx-bootstrap.d.ts +0 -4
  438. package/ngx-bootstrap.metadata.json +0 -1
  439. package/public_api.d.ts +0 -25
@@ -1,12 +1,12 @@
1
1
  import { __values } from 'tslib';
2
- import { Component, Renderer2, ElementRef, ViewChild, ViewChildren, HostListener, Injectable, Directive, ChangeDetectorRef, 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';
6
- import { take, tap, delay, debounceTime, switchMap, mergeMap, filter, toArray } from 'rxjs/operators';
7
6
  import { NgControl } from '@angular/forms';
8
7
  import { isObservable, from } from 'rxjs';
9
8
  import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
9
+ import { debounceTime, switchMap, mergeMap, filter, toArray } from 'rxjs/operators';
10
10
  import { CommonModule } from '@angular/common';
11
11
 
12
12
  /**
@@ -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,14 +1059,20 @@ 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
- function TypeaheadContainerComponent(positionService, renderer, element) {
1065
+ function TypeaheadContainerComponent(positionService, renderer, element, changeDetectorRef) {
1066
+ var _this = this;
1023
1067
  this.positionService = positionService;
1024
1068
  this.renderer = renderer;
1025
1069
  this.element = element;
1070
+ this.changeDetectorRef = changeDetectorRef;
1071
+ // tslint:disable-next-line: no-output-rename
1072
+ this.activeChangeEvent = new EventEmitter();
1026
1073
  this.isFocused = false;
1027
- this.visibility = 'hidden';
1028
1074
  this.height = 0;
1075
+ this.popupId = "ngb-typeahead-" + nextWindowId++;
1029
1076
  this._matches = [];
1030
1077
  this.isScrolledIntoView = (/**
1031
1078
  * @param {?} elem
@@ -1042,6 +1089,19 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1042
1089
  var elemBottom = elemTop + elem.offsetHeight;
1043
1090
  return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));
1044
1091
  });
1092
+ this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);
1093
+ this.positionServiceSubscription = this.positionService.event$.subscribe((/**
1094
+ * @return {?}
1095
+ */
1096
+ function () {
1097
+ if (_this.isAnimated) {
1098
+ _this.animationState = _this.isTopPosition ? 'animated-up' : 'animated-down';
1099
+ _this.changeDetectorRef.detectChanges();
1100
+ return;
1101
+ }
1102
+ _this.animationState = 'unanimated';
1103
+ _this.changeDetectorRef.detectChanges();
1104
+ }));
1045
1105
  }
1046
1106
  Object.defineProperty(TypeaheadContainerComponent.prototype, "isBs4", {
1047
1107
  get: /**
@@ -1053,6 +1113,23 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1053
1113
  enumerable: true,
1054
1114
  configurable: true
1055
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
+ });
1056
1133
  Object.defineProperty(TypeaheadContainerComponent.prototype, "active", {
1057
1134
  get: /**
1058
1135
  * @return {?}
@@ -1060,6 +1137,14 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1060
1137
  function () {
1061
1138
  return this._active;
1062
1139
  },
1140
+ set: /**
1141
+ * @param {?} active
1142
+ * @return {?}
1143
+ */
1144
+ function (active) {
1145
+ this._active = active;
1146
+ this.activeChanged();
1147
+ },
1063
1148
  enumerable: true,
1064
1149
  configurable: true
1065
1150
  });
@@ -1080,26 +1165,6 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1080
1165
  modifiers: { flip: { enabled: this.adaptivePosition } },
1081
1166
  allowedPositions: ['top', 'bottom']
1082
1167
  });
1083
- this.positionService.event$
1084
- .pipe(take(1), tap((/**
1085
- * @return {?}
1086
- */
1087
- function () {
1088
- _this.positionService.disable();
1089
- _this.visibility = _this.typeaheadScrollable ? 'hidden' : 'visible';
1090
- if (_this.isAnimated) {
1091
- _this.animationState = _this.isTopPosition ? 'animated-up' : 'animated-down';
1092
- return;
1093
- }
1094
- _this.positionService.enable();
1095
- _this.animationState = 'unanimated';
1096
- })), delay(parseInt(TYPEAHEAD_ANIMATION_TIMING, 10)))
1097
- .subscribe((/**
1098
- * @return {?}
1099
- */
1100
- function () {
1101
- _this.positionService.enable();
1102
- }));
1103
1168
  this._matches = value;
1104
1169
  this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;
1105
1170
  if (this.typeaheadScrollable) {
@@ -1111,7 +1176,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1111
1176
  }));
1112
1177
  }
1113
1178
  if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {
1114
- this._active = this._matches[0];
1179
+ this.active = this._matches[0];
1115
1180
  if (this._active.isHeader()) {
1116
1181
  this.nextActiveMatch();
1117
1182
  }
@@ -1127,7 +1192,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1127
1192
  this.selectActive(concurrency);
1128
1193
  return;
1129
1194
  }
1130
- this._active = null;
1195
+ this.active = null;
1131
1196
  }
1132
1197
  },
1133
1198
  enumerable: true,
@@ -1235,6 +1300,17 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1235
1300
  this.selectMatch(this._active);
1236
1301
  }
1237
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
+ };
1238
1314
  /**
1239
1315
  * @return {?}
1240
1316
  */
@@ -1244,7 +1320,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1244
1320
  function () {
1245
1321
  /** @type {?} */
1246
1322
  var index = this.matches.indexOf(this._active);
1247
- 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];
1248
1324
  if (this._active.isHeader()) {
1249
1325
  this.prevActiveMatch();
1250
1326
  }
@@ -1261,7 +1337,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1261
1337
  function () {
1262
1338
  /** @type {?} */
1263
1339
  var index = this.matches.indexOf(this._active);
1264
- 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];
1265
1341
  if (this._active.isHeader()) {
1266
1342
  this.nextActiveMatch();
1267
1343
  }
@@ -1279,7 +1355,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1279
1355
  */
1280
1356
  function (value) {
1281
1357
  this.isFocused = true;
1282
- this._active = value;
1358
+ this.active = value;
1283
1359
  };
1284
1360
  /**
1285
1361
  * @param {?} match
@@ -1350,7 +1426,7 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1350
1426
  * @return {?}
1351
1427
  */
1352
1428
  function (value) {
1353
- return this._active === value;
1429
+ return this.active === value;
1354
1430
  };
1355
1431
  /**
1356
1432
  * @param {?} value
@@ -1451,6 +1527,15 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1451
1527
  }
1452
1528
  }
1453
1529
  };
1530
+ /**
1531
+ * @return {?}
1532
+ */
1533
+ TypeaheadContainerComponent.prototype.ngOnDestroy = /**
1534
+ * @return {?}
1535
+ */
1536
+ function () {
1537
+ this.positionServiceSubscription.unsubscribe();
1538
+ };
1454
1539
  /**
1455
1540
  * @private
1456
1541
  * @return {?}
@@ -1476,14 +1561,15 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1476
1561
  TypeaheadContainerComponent.decorators = [
1477
1562
  { type: Component, args: [{
1478
1563
  selector: 'typeahead-container',
1479
- 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",
1480
1565
  host: {
1481
1566
  class: 'dropdown open bottom',
1482
1567
  '[class.dropdown-menu]': 'isBs4',
1483
1568
  '[style.height]': "isBs4 && needScrollbar ? guiHeight: 'auto'",
1484
- '[style.visibility]': "visibility",
1569
+ '[style.visibility]': "'inherit'",
1485
1570
  '[class.dropup]': 'dropup',
1486
- style: 'position: absolute;display: block;'
1571
+ style: 'position: absolute;display: block;',
1572
+ '[attr.role]': "isBs4 ? 'listbox' : null "
1487
1573
  },
1488
1574
  animations: [typeaheadAnimation],
1489
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 "]
@@ -1493,15 +1579,91 @@ var TypeaheadContainerComponent = /** @class */ (function () {
1493
1579
  TypeaheadContainerComponent.ctorParameters = function () { return [
1494
1580
  { type: PositioningService },
1495
1581
  { type: Renderer2 },
1496
- { type: ElementRef }
1582
+ { type: ElementRef },
1583
+ { type: ChangeDetectorRef }
1497
1584
  ]; };
1498
1585
  TypeaheadContainerComponent.propDecorators = {
1586
+ activeChangeEvent: [{ type: Output, args: ['activeChange',] }],
1499
1587
  ulElement: [{ type: ViewChild, args: ['ulElement', { static: false },] }],
1500
1588
  liElements: [{ type: ViewChildren, args: ['liElements',] }],
1501
1589
  focusLost: [{ type: HostListener, args: ['mouseleave',] }, { type: HostListener, args: ['blur',] }]
1502
1590
  };
1503
1591
  return TypeaheadContainerComponent;
1504
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
+ }
1505
1667
 
1506
1668
  /**
1507
1669
  * @fileoverview added by tsickle
@@ -1524,6 +1686,10 @@ var TypeaheadConfig = /** @class */ (function () {
1524
1686
  * used to hide results on blur
1525
1687
  */
1526
1688
  this.hideResultsOnBlur = true;
1689
+ /**
1690
+ * if true, typeahead will cancel async request on blur
1691
+ */
1692
+ this.cancelRequestOnFocusLost = false;
1527
1693
  /**
1528
1694
  * used to choose the first item in typeahead container
1529
1695
  */
@@ -1543,6 +1709,44 @@ var TypeaheadConfig = /** @class */ (function () {
1543
1709
  ];
1544
1710
  return TypeaheadConfig;
1545
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
+ }
1546
1750
 
1547
1751
  /**
1548
1752
  * @fileoverview added by tsickle
@@ -1565,7 +1769,7 @@ var TypeaheadDirective = /** @class */ (function () {
1565
1769
  */
1566
1770
  this.isAnimated = false;
1567
1771
  /**
1568
- * 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.
1569
1773
  * If true - loading of options will be async, otherwise - sync.
1570
1774
  * true make sense if options array is large.
1571
1775
  */
@@ -1626,22 +1830,25 @@ var TypeaheadDirective = /** @class */ (function () {
1626
1830
  /**
1627
1831
  * fired when blur event occurs. returns the active item
1628
1832
  */
1629
- // tslint:disable-next-line:no-any
1630
1833
  this.typeaheadOnBlur = new EventEmitter();
1631
1834
  /**
1632
1835
  * This attribute indicates that the dropdown should be opened upwards
1633
1836
  */
1634
1837
  this.dropup = false;
1838
+ this.isOpen = false;
1839
+ this.list = 'list';
1635
1840
  this.isActiveItemChanged = false;
1636
- this.isTypeaheadOptionsListActive = false;
1841
+ this.isFocused = false;
1842
+ this.cancelRequestOnFocusLost = false;
1637
1843
  // tslint:disable-next-line:no-any
1638
1844
  this.keyUpEventEmitter = new EventEmitter();
1639
- this.placement = 'bottom-left';
1845
+ this.placement = 'bottom left';
1640
1846
  this._subscriptions = [];
1641
1847
  this._typeahead = cis.createLoader(element, viewContainerRef, renderer)
1642
1848
  .provide({ provide: TypeaheadConfig, useValue: config });
1643
1849
  Object.assign(this, {
1644
1850
  typeaheadHideResultsOnBlur: config.hideResultsOnBlur,
1851
+ typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,
1645
1852
  typeaheadSelectFirstItem: config.selectFirstItem,
1646
1853
  typeaheadIsFirstItemActive: config.isFirstItemActive,
1647
1854
  typeaheadMinLength: config.minLength,
@@ -1661,8 +1868,7 @@ var TypeaheadDirective = /** @class */ (function () {
1661
1868
  this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;
1662
1869
  this.typeaheadWaitMs = this.typeaheadWaitMs || 0;
1663
1870
  // async should be false in case of array
1664
- if (this.typeaheadAsync === undefined &&
1665
- !(isObservable(this.typeahead))) {
1871
+ if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {
1666
1872
  this.typeaheadAsync = false;
1667
1873
  }
1668
1874
  if (isObservable(this.typeahead)) {
@@ -1750,10 +1956,19 @@ var TypeaheadDirective = /** @class */ (function () {
1750
1956
  * @return {?}
1751
1957
  */
1752
1958
  function () {
1753
- if (this.typeaheadMinLength === 0) {
1754
- this.typeaheadLoading.emit(true);
1755
- this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
1756
- }
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);
1757
1972
  };
1758
1973
  /**
1759
1974
  * @return {?}
@@ -1762,9 +1977,13 @@ var TypeaheadDirective = /** @class */ (function () {
1762
1977
  * @return {?}
1763
1978
  */
1764
1979
  function () {
1980
+ this.isFocused = false;
1765
1981
  if (this._container && !this._container.isFocused) {
1766
1982
  this.typeaheadOnBlur.emit(this._container.active);
1767
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
+ }
1768
1987
  };
1769
1988
  /**
1770
1989
  * @param {?} event
@@ -1780,6 +1999,10 @@ var TypeaheadDirective = /** @class */ (function () {
1780
1999
  return;
1781
2000
  }
1782
2001
  /* tslint:disable-next-line: deprecation */
2002
+ if (event.keyCode === 9 || event.key === 'Tab') {
2003
+ this.onBlur();
2004
+ }
2005
+ /* tslint:disable-next-line: deprecation */
1783
2006
  if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {
1784
2007
  event.preventDefault();
1785
2008
  if (this.typeaheadSelectFirstItem) {
@@ -1830,7 +2053,7 @@ var TypeaheadDirective = /** @class */ (function () {
1830
2053
  this._typeahead
1831
2054
  .attach(TypeaheadContainerComponent)
1832
2055
  .to(this.container)
1833
- .position({ attachment: (this.dropup ? 'top' : 'bottom') + " start" })
2056
+ .position({ attachment: (this.dropup ? 'top' : 'bottom') + " left" })
1834
2057
  .show({
1835
2058
  typeaheadRef: this,
1836
2059
  placement: this.placement,
@@ -1864,6 +2087,15 @@ var TypeaheadDirective = /** @class */ (function () {
1864
2087
  : normalizedQuery;
1865
2088
  this._container.matches = this._matches;
1866
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;
1867
2099
  };
1868
2100
  /**
1869
2101
  * @return {?}
@@ -1876,6 +2108,8 @@ var TypeaheadDirective = /** @class */ (function () {
1876
2108
  this._typeahead.hide();
1877
2109
  this._outsideClickListener();
1878
2110
  this._container = null;
2111
+ this.isOpen = false;
2112
+ this.changeDetection.markForCheck();
1879
2113
  }
1880
2114
  };
1881
2115
  /**
@@ -1960,8 +2194,7 @@ var TypeaheadDirective = /** @class */ (function () {
1960
2194
  * @return {?}
1961
2195
  */
1962
2196
  function (option) {
1963
- return (option &&
1964
- _this.testMatch(_this.normalizeOption(option), normalizedQuery));
2197
+ return option && _this.testMatch(_this.normalizeOption(option), normalizedQuery);
1965
2198
  })), toArray());
1966
2199
  })))
1967
2200
  .subscribe((/**
@@ -1972,16 +2205,12 @@ var TypeaheadDirective = /** @class */ (function () {
1972
2205
  _this.finalizeAsyncCall(matches);
1973
2206
  })));
1974
2207
  };
1975
- // tslint:disable-next-line:no-any
1976
- // tslint:disable-next-line:no-any
1977
2208
  /**
1978
2209
  * @protected
1979
2210
  * @param {?} option
1980
2211
  * @return {?}
1981
2212
  */
1982
- TypeaheadDirective.prototype.normalizeOption =
1983
- // tslint:disable-next-line:no-any
1984
- /**
2213
+ TypeaheadDirective.prototype.normalizeOption = /**
1985
2214
  * @protected
1986
2215
  * @param {?} option
1987
2216
  * @return {?}
@@ -2006,8 +2235,7 @@ var TypeaheadDirective = /** @class */ (function () {
2006
2235
  * @return {?}
2007
2236
  */
2008
2237
  function (value) {
2009
- // If singleWords, break model here to not be doing extra work on each
2010
- // iteration
2238
+ // If singleWords, break model here to not be doing extra work on each iteration
2011
2239
  /** @type {?} */
2012
2240
  var normalizedQuery = (this.typeaheadLatinize
2013
2241
  ? latinize(value)
@@ -2063,6 +2291,9 @@ var TypeaheadDirective = /** @class */ (function () {
2063
2291
  this.hide();
2064
2292
  return;
2065
2293
  }
2294
+ if (!this.isFocused && this.cancelRequestOnFocusLost) {
2295
+ return;
2296
+ }
2066
2297
  if (this._container) {
2067
2298
  // fix: remove usage of ngControl internals
2068
2299
  /** @type {?} */
@@ -2095,12 +2326,14 @@ var TypeaheadDirective = /** @class */ (function () {
2095
2326
  var _this = this;
2096
2327
  /** @type {?} */
2097
2328
  var limited = options.slice(0, this.typeaheadOptionsLimit);
2329
+ /** @type {?} */
2330
+ var sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);
2098
2331
  if (this.typeaheadGroupField) {
2099
2332
  /** @type {?} */
2100
2333
  var matches_1 = [];
2101
2334
  // extract all group names
2102
2335
  /** @type {?} */
2103
- var groups = limited
2336
+ var groups = sorted
2104
2337
  .map((/**
2105
2338
  * @param {?} option
2106
2339
  * @return {?}
@@ -2123,21 +2356,15 @@ var TypeaheadDirective = /** @class */ (function () {
2123
2356
  // add group header to array of matches
2124
2357
  matches_1.push(new TypeaheadMatch(group, group, true));
2125
2358
  // add each item of group to array of matches
2126
- matches_1 = matches_1.concat(limited
2127
- .filter((
2128
- // tslint:disable-next-line:no-any
2129
- // tslint:disable-next-line:no-any
2130
- /**
2359
+ matches_1 = matches_1.concat(sorted
2360
+ .filter((/**
2131
2361
  * @param {?} option
2132
2362
  * @return {?}
2133
2363
  */
2134
2364
  function (option) {
2135
2365
  return getValueFromObject(option, _this.typeaheadGroupField) === group;
2136
2366
  }))
2137
- .map((
2138
- // tslint:disable-next-line:no-any
2139
- // tslint:disable-next-line:no-any
2140
- /**
2367
+ .map((/**
2141
2368
  * @param {?} option
2142
2369
  * @return {?}
2143
2370
  */
@@ -2148,7 +2375,7 @@ var TypeaheadDirective = /** @class */ (function () {
2148
2375
  this._matches = matches_1;
2149
2376
  }
2150
2377
  else {
2151
- this._matches = limited.map((
2378
+ this._matches = sorted.map((
2152
2379
  // tslint:disable-next-line:no-any
2153
2380
  // tslint:disable-next-line:no-any
2154
2381
  /**
@@ -2160,6 +2387,61 @@ var TypeaheadDirective = /** @class */ (function () {
2160
2387
  }));
2161
2388
  }
2162
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
+ };
2163
2445
  /**
2164
2446
  * @protected
2165
2447
  * @return {?}
@@ -2172,7 +2454,16 @@ var TypeaheadDirective = /** @class */ (function () {
2172
2454
  return this._matches.length > 0;
2173
2455
  };
2174
2456
  TypeaheadDirective.decorators = [
2175
- { 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
+ },] }
2176
2467
  ];
2177
2468
  /** @nocollapse */
2178
2469
  TypeaheadDirective.ctorParameters = function () { return [
@@ -2193,6 +2484,7 @@ var TypeaheadDirective = /** @class */ (function () {
2193
2484
  typeaheadOptionsLimit: [{ type: Input }],
2194
2485
  typeaheadOptionField: [{ type: Input }],
2195
2486
  typeaheadGroupField: [{ type: Input }],
2487
+ typeaheadOrderBy: [{ type: Input }],
2196
2488
  typeaheadAsync: [{ type: Input }],
2197
2489
  typeaheadLatinize: [{ type: Input }],
2198
2490
  typeaheadSingleWords: [{ type: Input }],
@@ -2219,6 +2511,231 @@ var TypeaheadDirective = /** @class */ (function () {
2219
2511
  };
2220
2512
  return TypeaheadDirective;
2221
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
+ }
2222
2739
 
2223
2740
  /**
2224
2741
  * @fileoverview added by tsickle
@@ -2250,5 +2767,15 @@ var TypeaheadModule = /** @class */ (function () {
2250
2767
  return TypeaheadModule;
2251
2768
  }());
2252
2769
 
2253
- 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 };
2254
2781
  //# sourceMappingURL=ngx-bootstrap-typeahead.js.map