ngx-bootstrap 10.2.1 → 11.0.0

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 (625) hide show
  1. package/README.md +3 -5
  2. package/accordion/accordion-group.component.d.ts +1 -1
  3. package/accordion/accordion.component.d.ts +1 -1
  4. package/accordion/esm2022/accordion-group.component.mjs +84 -0
  5. package/accordion/{esm2020 → esm2022}/accordion.component.mjs +4 -4
  6. package/accordion/{esm2020 → esm2022}/accordion.config.mjs +4 -4
  7. package/accordion/{esm2020 → esm2022}/accordion.module.mjs +5 -5
  8. package/accordion/{fesm2020 → fesm2022}/ngx-bootstrap-accordion.mjs +29 -29
  9. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -0
  10. package/accordion/package.json +8 -14
  11. package/alert/alert.component.d.ts +1 -1
  12. package/alert/esm2022/alert.component.mjs +77 -0
  13. package/alert/{esm2020 → esm2022}/alert.config.mjs +4 -4
  14. package/alert/{esm2020 → esm2022}/alert.module.mjs +5 -5
  15. package/alert/{fesm2015 → fesm2022}/ngx-bootstrap-alert.mjs +10 -10
  16. package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -0
  17. package/alert/package.json +8 -14
  18. package/buttons/button-checkbox.directive.d.ts +2 -2
  19. package/buttons/button-radio.directive.d.ts +1 -1
  20. package/buttons/{esm2020 → esm2022}/button-checkbox.directive.mjs +4 -4
  21. package/buttons/{esm2020 → esm2022}/button-radio-group.directive.mjs +4 -4
  22. package/buttons/esm2022/button-radio.directive.mjs +188 -0
  23. package/buttons/{esm2020 → esm2022}/buttons.module.mjs +5 -5
  24. package/buttons/{fesm2020 → fesm2022}/ngx-bootstrap-buttons.mjs +26 -26
  25. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -0
  26. package/buttons/package.json +7 -13
  27. package/carousel/carousel.component.d.ts +1 -1
  28. package/carousel/esm2022/carousel.component.mjs +713 -0
  29. package/carousel/{esm2020 → esm2022}/carousel.config.mjs +4 -4
  30. package/carousel/{esm2020 → esm2022}/carousel.module.mjs +5 -5
  31. package/carousel/{esm2020 → esm2022}/slide.component.mjs +6 -6
  32. package/carousel/{fesm2020 → fesm2022}/ngx-bootstrap-carousel.mjs +65 -56
  33. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -0
  34. package/carousel/package.json +8 -14
  35. package/carousel/slide.component.d.ts +1 -1
  36. package/chronos/duration/create.d.ts +1 -1
  37. package/chronos/{fesm2020 → fesm2022}/ngx-bootstrap-chronos.mjs +4 -0
  38. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -0
  39. package/chronos/locale/locale.class.d.ts +3 -3
  40. package/chronos/moment/calendar.d.ts +1 -1
  41. package/chronos/package.json +5 -11
  42. package/chronos/parse/regex.d.ts +1 -1
  43. package/chronos/testing/chain.d.ts +3 -3
  44. package/chronos/types.d.ts +4 -4
  45. package/chronos/units/aliases.d.ts +1 -1
  46. package/collapse/collapse.directive.d.ts +1 -1
  47. package/collapse/esm2022/collapse.directive.mjs +168 -0
  48. package/collapse/{esm2020 → esm2022}/collapse.module.mjs +5 -5
  49. package/collapse/{fesm2020 → fesm2022}/ngx-bootstrap-collapse.mjs +26 -26
  50. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -0
  51. package/collapse/package.json +8 -14
  52. package/component-loader/{esm2020 → esm2022}/component-loader.factory.mjs +4 -4
  53. package/component-loader/{fesm2020 → fesm2022}/ngx-bootstrap-component-loader.mjs +5 -3
  54. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -0
  55. package/component-loader/listen-options.model.d.ts +1 -1
  56. package/component-loader/package.json +7 -13
  57. package/datepicker/bs-datepicker-inline.component.d.ts +1 -1
  58. package/datepicker/bs-datepicker.component.d.ts +1 -1
  59. package/datepicker/bs-datepicker.config.d.ts +4 -0
  60. package/datepicker/bs-datepicker.css +6 -3
  61. package/datepicker/bs-datepicker.css.map +1 -1
  62. package/datepicker/bs-datepicker.scss +7 -2
  63. package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
  64. package/datepicker/bs-daterangepicker.component.d.ts +1 -1
  65. package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.component.mjs +4 -4
  66. package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.config.mjs +4 -4
  67. package/datepicker/{esm2020 → esm2022}/bs-datepicker-input.directive.mjs +4 -4
  68. package/datepicker/esm2022/bs-datepicker.component.mjs +303 -0
  69. package/datepicker/esm2022/bs-datepicker.config.mjs +101 -0
  70. package/datepicker/{esm2020 → esm2022}/bs-datepicker.module.mjs +32 -32
  71. package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +163 -0
  72. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-inline.config.mjs +4 -4
  73. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-input.directive.mjs +4 -4
  74. package/datepicker/esm2022/bs-daterangepicker.component.mjs +296 -0
  75. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker.config.mjs +4 -4
  76. package/datepicker/{esm2020 → esm2022}/bs-locale.service.mjs +4 -4
  77. package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +143 -0
  78. package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.effects.mjs +4 -4
  79. package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.store.mjs +4 -4
  80. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-calendar-layout.component.mjs +6 -6
  81. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-current-date-view.component.mjs +4 -4
  82. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-custom-dates-view.component.mjs +6 -6
  83. package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +192 -0
  84. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-day-decorator.directive.mjs +4 -4
  85. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-inline-container.component.mjs +9 -9
  86. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-navigation-view.component.mjs +6 -6
  87. package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +261 -0
  88. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-daterangepicker-inline-container.component.mjs +9 -9
  89. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-days-calendar-view.component.mjs +6 -6
  90. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-months-calendar-view.component.mjs +6 -6
  91. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-timepicker-view.component.mjs +6 -6
  92. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-years-calendar-view.component.mjs +6 -6
  93. package/datepicker/{fesm2020 → fesm2022}/ngx-bootstrap-datepicker.mjs +236 -230
  94. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -0
  95. package/datepicker/models/index.d.ts +1 -1
  96. package/datepicker/package.json +13 -19
  97. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +1 -1
  98. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -1
  99. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +1 -1
  100. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +1 -1
  101. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +1 -1
  102. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +1 -1
  103. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +1 -1
  104. package/datepicker/utils/matrix-utils.d.ts +1 -1
  105. package/dropdown/bs-dropdown.directive.d.ts +1 -1
  106. package/dropdown/esm2022/bs-dropdown-container.component.mjs +79 -0
  107. package/dropdown/{esm2020 → esm2022}/bs-dropdown-menu.directive.mjs +4 -4
  108. package/dropdown/{esm2020 → esm2022}/bs-dropdown-toggle.directive.mjs +4 -4
  109. package/dropdown/{esm2020 → esm2022}/bs-dropdown.config.mjs +4 -4
  110. package/dropdown/esm2022/bs-dropdown.directive.mjs +340 -0
  111. package/dropdown/{esm2020 → esm2022}/bs-dropdown.module.mjs +10 -10
  112. package/dropdown/{esm2020 → esm2022}/bs-dropdown.state.mjs +4 -4
  113. package/dropdown/{fesm2020 → fesm2022}/ngx-bootstrap-dropdown.mjs +62 -62
  114. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -0
  115. package/dropdown/package.json +10 -16
  116. package/fesm2022/ngx-bootstrap.mjs.map +1 -0
  117. package/focus-trap/boolean-property.d.ts +1 -1
  118. package/focus-trap/{esm2020 → esm2022}/focus-trap-manager.mjs +4 -4
  119. package/focus-trap/esm2022/focus-trap.mjs +399 -0
  120. package/focus-trap/{esm2020 → esm2022}/focus-trap.module.mjs +5 -5
  121. package/focus-trap/{esm2020 → esm2022}/interactivity-checker.mjs +4 -4
  122. package/focus-trap/{esm2020 → esm2022}/platform.mjs +4 -4
  123. package/focus-trap/{fesm2020 → fesm2022}/ngx-bootstrap-focus-trap.mjs +43 -39
  124. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -0
  125. package/focus-trap/focus-trap.d.ts +1 -1
  126. package/focus-trap/package.json +8 -14
  127. package/locale/fesm2022/ngx-bootstrap-locale.mjs.map +1 -0
  128. package/locale/package.json +6 -12
  129. package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  130. package/mini-ngrx/package.json +6 -12
  131. package/mini-ngrx/public_api.d.ts +1 -1
  132. package/modal/bs-modal.service.d.ts +1 -0
  133. package/modal/{esm2020 → esm2022}/bs-modal-ref.service.mjs +4 -4
  134. package/modal/esm2022/bs-modal.service.mjs +225 -0
  135. package/modal/esm2022/modal-backdrop.component.mjs +50 -0
  136. package/modal/esm2022/modal-container.component.mjs +151 -0
  137. package/modal/{esm2020 → esm2022}/modal-options.class.mjs +4 -4
  138. package/modal/esm2022/modal.directive.mjs +364 -0
  139. package/modal/{esm2020 → esm2022}/modal.module.mjs +7 -7
  140. package/modal/{fesm2020 → fesm2022}/ngx-bootstrap-modal.mjs +75 -59
  141. package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -0
  142. package/modal/modal-container.component.d.ts +1 -0
  143. package/modal/modal.directive.d.ts +2 -1
  144. package/modal/models/index.d.ts +1 -1
  145. package/modal/package.json +8 -14
  146. package/package.json +9 -15
  147. package/pagination/{esm2020 → esm2022}/pager.component.mjs +4 -4
  148. package/pagination/{esm2020 → esm2022}/pagination.component.mjs +4 -4
  149. package/pagination/{esm2020 → esm2022}/pagination.config.mjs +4 -4
  150. package/pagination/{esm2020 → esm2022}/pagination.module.mjs +5 -5
  151. package/pagination/{fesm2020 → fesm2022}/ngx-bootstrap-pagination.mjs +13 -13
  152. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -0
  153. package/pagination/package.json +8 -14
  154. package/pagination/pager.component.d.ts +1 -1
  155. package/pagination/pagination.component.d.ts +1 -1
  156. package/popover/esm2022/popover-container.component.mjs +46 -0
  157. package/popover/{esm2020 → esm2022}/popover.config.mjs +4 -4
  158. package/popover/esm2022/popover.directive.mjs +241 -0
  159. package/popover/{esm2020 → esm2022}/popover.module.mjs +5 -5
  160. package/popover/{fesm2020 → fesm2022}/ngx-bootstrap-popover.mjs +31 -31
  161. package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -0
  162. package/popover/package.json +9 -15
  163. package/popover/popover-container.component.d.ts +1 -1
  164. package/popover/popover.directive.d.ts +1 -1
  165. package/positioning/{esm2020 → esm2022}/positioning.service.mjs +4 -4
  166. package/positioning/{fesm2020 → fesm2022}/ngx-bootstrap-positioning.mjs +3 -3
  167. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -0
  168. package/positioning/models/index.d.ts +1 -1
  169. package/positioning/package.json +10 -16
  170. package/progressbar/bar.component.d.ts +1 -1
  171. package/progressbar/{esm2020 → esm2022}/bar.component.mjs +4 -4
  172. package/progressbar/esm2022/progressbar.component.mjs +53 -0
  173. package/progressbar/{esm2020 → esm2022}/progressbar.config.mjs +4 -4
  174. package/progressbar/{esm2020 → esm2022}/progressbar.module.mjs +5 -5
  175. package/progressbar/{fesm2020 → fesm2022}/ngx-bootstrap-progressbar.mjs +24 -24
  176. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -0
  177. package/progressbar/package.json +7 -13
  178. package/progressbar/progressbar-type.interface.d.ts +1 -1
  179. package/progressbar/progressbar.component.d.ts +1 -1
  180. package/rating/{esm2020 → esm2022}/rating.component.mjs +4 -4
  181. package/rating/{esm2020 → esm2022}/rating.config.mjs +4 -4
  182. package/rating/{esm2020 → esm2022}/rating.module.mjs +5 -5
  183. package/rating/{fesm2015 → fesm2022}/ngx-bootstrap-rating.mjs +10 -10
  184. package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -0
  185. package/rating/package.json +8 -14
  186. package/rating/rating.component.d.ts +1 -1
  187. package/schematics/collection.json +1 -1
  188. package/schematics/package.json +7 -7
  189. package/schematics/utils/current_dependency_versions.json +1 -1
  190. package/schematics/utils/index.d.ts +0 -2
  191. package/schematics/utils/index.js +1 -13
  192. package/schematics/utils/index.js.map +1 -1
  193. package/sortable/{esm2020 → esm2022}/draggable-item.service.mjs +4 -4
  194. package/sortable/esm2022/sortable.component.mjs +266 -0
  195. package/sortable/{esm2020 → esm2022}/sortable.module.mjs +5 -5
  196. package/sortable/{fesm2020 → fesm2022}/ngx-bootstrap-sortable.mjs +28 -28
  197. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -0
  198. package/sortable/package.json +10 -16
  199. package/sortable/sortable.component.d.ts +1 -1
  200. package/tabs/esm2022/ng-transclude.directive.mjs +28 -0
  201. package/tabs/{esm2020 → esm2022}/tab-heading.directive.mjs +4 -4
  202. package/tabs/esm2022/tab.directive.mjs +115 -0
  203. package/tabs/{esm2020 → esm2022}/tabs.module.mjs +11 -11
  204. package/tabs/esm2022/tabset.component.mjs +216 -0
  205. package/tabs/{esm2020 → esm2022}/tabset.config.mjs +4 -4
  206. package/tabs/{fesm2015 → fesm2022}/ngx-bootstrap-tabs.mjs +63 -63
  207. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -0
  208. package/tabs/ng-transclude.directive.d.ts +1 -1
  209. package/tabs/package.json +7 -13
  210. package/tabs/tab.directive.d.ts +1 -1
  211. package/tabs/tabset.component.d.ts +1 -1
  212. package/timepicker/esm2022/reducer/timepicker.actions.mjs +53 -0
  213. package/timepicker/{esm2020 → esm2022}/reducer/timepicker.store.mjs +4 -4
  214. package/timepicker/{esm2020 → esm2022}/timepicker.component.mjs +4 -4
  215. package/timepicker/{esm2020 → esm2022}/timepicker.config.mjs +4 -4
  216. package/timepicker/{esm2020 → esm2022}/timepicker.module.mjs +5 -5
  217. package/timepicker/{fesm2020 → fesm2022}/ngx-bootstrap-timepicker.mjs +22 -22
  218. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -0
  219. package/timepicker/package.json +10 -16
  220. package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
  221. package/timepicker/timepicker.component.d.ts +1 -1
  222. package/timepicker/timepicker.models.d.ts +1 -1
  223. package/tooltip/{esm2020 → esm2022}/tooltip-container.component.mjs +9 -9
  224. package/tooltip/{esm2020 → esm2022}/tooltip.config.mjs +4 -4
  225. package/tooltip/esm2022/tooltip.directive.mjs +342 -0
  226. package/tooltip/{esm2020 → esm2022}/tooltip.module.mjs +5 -5
  227. package/tooltip/{fesm2020 → fesm2022}/ngx-bootstrap-tooltip.mjs +61 -61
  228. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -0
  229. package/tooltip/package.json +10 -16
  230. package/tooltip/tooltip.directive.d.ts +1 -1
  231. package/typeahead/esm2022/typeahead-container.component.mjs +311 -0
  232. package/typeahead/{esm2020 → esm2022}/typeahead.config.mjs +4 -4
  233. package/typeahead/{esm2020 → esm2022}/typeahead.directive.mjs +4 -4
  234. package/typeahead/{esm2020 → esm2022}/typeahead.module.mjs +5 -5
  235. package/typeahead/{fesm2020 → fesm2022}/ngx-bootstrap-typeahead.mjs +20 -20
  236. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -0
  237. package/typeahead/package.json +12 -18
  238. package/typeahead/typeahead.directive.d.ts +3 -3
  239. package/utils/{esm2020 → esm2022}/triggers.mjs +5 -3
  240. package/utils/{fesm2020 → fesm2022}/ngx-bootstrap-utils.mjs +4 -2
  241. package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -0
  242. package/utils/package.json +6 -12
  243. package/utils/theme-provider.d.ts +1 -1
  244. package/utils/triggers.d.ts +1 -1
  245. package/accordion/esm2020/accordion-group.component.mjs +0 -84
  246. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +0 -182
  247. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +0 -1
  248. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +0 -1
  249. package/alert/esm2020/alert.component.mjs +0 -77
  250. package/alert/fesm2015/ngx-bootstrap-alert.mjs.map +0 -1
  251. package/alert/fesm2020/ngx-bootstrap-alert.mjs +0 -119
  252. package/alert/fesm2020/ngx-bootstrap-alert.mjs.map +0 -1
  253. package/buttons/esm2020/button-radio.directive.mjs +0 -188
  254. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs +0 -448
  255. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +0 -1
  256. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +0 -1
  257. package/carousel/esm2020/carousel.component.mjs +0 -713
  258. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +0 -851
  259. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +0 -1
  260. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +0 -1
  261. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +0 -7384
  262. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +0 -1
  263. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +0 -1
  264. package/collapse/esm2020/collapse.directive.mjs +0 -168
  265. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs +0 -200
  266. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs.map +0 -1
  267. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs.map +0 -1
  268. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +0 -345
  269. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +0 -1
  270. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +0 -1
  271. package/datepicker/esm2020/bs-datepicker.component.mjs +0 -302
  272. package/datepicker/esm2020/bs-datepicker.config.mjs +0 -97
  273. package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +0 -163
  274. package/datepicker/esm2020/bs-daterangepicker.component.mjs +0 -295
  275. package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +0 -143
  276. package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +0 -192
  277. package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +0 -261
  278. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +0 -3965
  279. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +0 -1
  280. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +0 -1
  281. package/dropdown/esm2020/bs-dropdown-container.component.mjs +0 -79
  282. package/dropdown/esm2020/bs-dropdown.directive.mjs +0 -340
  283. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +0 -603
  284. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +0 -1
  285. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +0 -1
  286. package/fesm2015/ngx-bootstrap.mjs.map +0 -1
  287. package/fesm2020/ngx-bootstrap.mjs +0 -6
  288. package/fesm2020/ngx-bootstrap.mjs.map +0 -1
  289. package/focus-trap/esm2020/focus-trap.mjs +0 -399
  290. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +0 -800
  291. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +0 -1
  292. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +0 -1
  293. package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +0 -1
  294. package/locale/fesm2020/ngx-bootstrap-locale.mjs +0 -6
  295. package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +0 -1
  296. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +0 -64
  297. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
  298. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
  299. package/modal/esm2020/bs-modal.service.mjs +0 -219
  300. package/modal/esm2020/modal-backdrop.component.mjs +0 -50
  301. package/modal/esm2020/modal-container.component.mjs +0 -145
  302. package/modal/esm2020/modal.directive.mjs +0 -360
  303. package/modal/fesm2015/ngx-bootstrap-modal.mjs +0 -874
  304. package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +0 -1
  305. package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +0 -1
  306. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +0 -565
  307. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +0 -1
  308. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +0 -1
  309. package/popover/esm2020/popover-container.component.mjs +0 -46
  310. package/popover/esm2020/popover.directive.mjs +0 -241
  311. package/popover/fesm2015/ngx-bootstrap-popover.mjs +0 -339
  312. package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +0 -1
  313. package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +0 -1
  314. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +0 -1018
  315. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +0 -1
  316. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +0 -1
  317. package/progressbar/esm2020/progressbar.component.mjs +0 -53
  318. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +0 -163
  319. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +0 -1
  320. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +0 -1
  321. package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +0 -1
  322. package/rating/fesm2020/ngx-bootstrap-rating.mjs +0 -163
  323. package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +0 -1
  324. package/sortable/esm2020/sortable.component.mjs +0 -266
  325. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +0 -324
  326. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +0 -1
  327. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +0 -1
  328. package/tabs/esm2020/ng-transclude.directive.mjs +0 -28
  329. package/tabs/esm2020/tab.directive.mjs +0 -115
  330. package/tabs/esm2020/tabset.component.mjs +0 -216
  331. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +0 -1
  332. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +0 -427
  333. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +0 -1
  334. package/timepicker/esm2020/reducer/timepicker.actions.mjs +0 -53
  335. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +0 -830
  336. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +0 -1
  337. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +0 -1
  338. package/tooltip/esm2020/tooltip.directive.mjs +0 -342
  339. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +0 -431
  340. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +0 -1
  341. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +0 -1
  342. package/typeahead/esm2020/typeahead-container.component.mjs +0 -311
  343. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +0 -1890
  344. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +0 -1
  345. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +0 -1
  346. package/utils/fesm2015/ngx-bootstrap-utils.mjs +0 -521
  347. package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +0 -1
  348. package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +0 -1
  349. /package/accordion/{esm2020 → esm2022}/index.mjs +0 -0
  350. /package/accordion/{esm2020 → esm2022}/ngx-bootstrap-accordion.mjs +0 -0
  351. /package/accordion/{esm2020 → esm2022}/public_api.mjs +0 -0
  352. /package/alert/{esm2020 → esm2022}/index.mjs +0 -0
  353. /package/alert/{esm2020 → esm2022}/ngx-bootstrap-alert.mjs +0 -0
  354. /package/alert/{esm2020 → esm2022}/public_api.mjs +0 -0
  355. /package/buttons/{esm2020 → esm2022}/index.mjs +0 -0
  356. /package/buttons/{esm2020 → esm2022}/ngx-bootstrap-buttons.mjs +0 -0
  357. /package/buttons/{esm2020 → esm2022}/public_api.mjs +0 -0
  358. /package/carousel/{esm2020 → esm2022}/index.mjs +0 -0
  359. /package/carousel/{esm2020 → esm2022}/models/index.mjs +0 -0
  360. /package/carousel/{esm2020 → esm2022}/ngx-bootstrap-carousel.mjs +0 -0
  361. /package/carousel/{esm2020 → esm2022}/public_api.mjs +0 -0
  362. /package/carousel/{esm2020 → esm2022}/utils.mjs +0 -0
  363. /package/chronos/{esm2020 → esm2022}/create/check-overflow.mjs +0 -0
  364. /package/chronos/{esm2020 → esm2022}/create/clone.mjs +0 -0
  365. /package/chronos/{esm2020 → esm2022}/create/date-from-array.mjs +0 -0
  366. /package/chronos/{esm2020 → esm2022}/create/from-anything.mjs +0 -0
  367. /package/chronos/{esm2020 → esm2022}/create/from-array.mjs +0 -0
  368. /package/chronos/{esm2020 → esm2022}/create/from-object.mjs +0 -0
  369. /package/chronos/{esm2020 → esm2022}/create/from-string-and-array.mjs +0 -0
  370. /package/chronos/{esm2020 → esm2022}/create/from-string-and-format.mjs +0 -0
  371. /package/chronos/{esm2020 → esm2022}/create/from-string.mjs +0 -0
  372. /package/chronos/{esm2020 → esm2022}/create/local.mjs +0 -0
  373. /package/chronos/{esm2020 → esm2022}/create/parsing-flags.mjs +0 -0
  374. /package/chronos/{esm2020 → esm2022}/create/parsing.types.mjs +0 -0
  375. /package/chronos/{esm2020 → esm2022}/create/valid.mjs +0 -0
  376. /package/chronos/{esm2020 → esm2022}/duration/bubble.mjs +0 -0
  377. /package/chronos/{esm2020 → esm2022}/duration/constructor.mjs +0 -0
  378. /package/chronos/{esm2020 → esm2022}/duration/create.mjs +0 -0
  379. /package/chronos/{esm2020 → esm2022}/duration/humanize.mjs +0 -0
  380. /package/chronos/{esm2020 → esm2022}/duration/valid.mjs +0 -0
  381. /package/chronos/{esm2020 → esm2022}/format/format.mjs +0 -0
  382. /package/chronos/{esm2020 → esm2022}/format.mjs +0 -0
  383. /package/chronos/{esm2020 → esm2022}/i18n/ar.mjs +0 -0
  384. /package/chronos/{esm2020 → esm2022}/i18n/bg.mjs +0 -0
  385. /package/chronos/{esm2020 → esm2022}/i18n/ca.mjs +0 -0
  386. /package/chronos/{esm2020 → esm2022}/i18n/cs.mjs +0 -0
  387. /package/chronos/{esm2020 → esm2022}/i18n/da.mjs +0 -0
  388. /package/chronos/{esm2020 → esm2022}/i18n/de.mjs +0 -0
  389. /package/chronos/{esm2020 → esm2022}/i18n/en-gb.mjs +0 -0
  390. /package/chronos/{esm2020 → esm2022}/i18n/es-do.mjs +0 -0
  391. /package/chronos/{esm2020 → esm2022}/i18n/es-pr.mjs +0 -0
  392. /package/chronos/{esm2020 → esm2022}/i18n/es-us.mjs +0 -0
  393. /package/chronos/{esm2020 → esm2022}/i18n/es.mjs +0 -0
  394. /package/chronos/{esm2020 → esm2022}/i18n/et.mjs +0 -0
  395. /package/chronos/{esm2020 → esm2022}/i18n/fi.mjs +0 -0
  396. /package/chronos/{esm2020 → esm2022}/i18n/fr.mjs +0 -0
  397. /package/chronos/{esm2020 → esm2022}/i18n/gl.mjs +0 -0
  398. /package/chronos/{esm2020 → esm2022}/i18n/he.mjs +0 -0
  399. /package/chronos/{esm2020 → esm2022}/i18n/hi.mjs +0 -0
  400. /package/chronos/{esm2020 → esm2022}/i18n/hr.mjs +0 -0
  401. /package/chronos/{esm2020 → esm2022}/i18n/hu.mjs +0 -0
  402. /package/chronos/{esm2020 → esm2022}/i18n/id.mjs +0 -0
  403. /package/chronos/{esm2020 → esm2022}/i18n/it.mjs +0 -0
  404. /package/chronos/{esm2020 → esm2022}/i18n/ja.mjs +0 -0
  405. /package/chronos/{esm2020 → esm2022}/i18n/ka.mjs +0 -0
  406. /package/chronos/{esm2020 → esm2022}/i18n/kk.mjs +0 -0
  407. /package/chronos/{esm2020 → esm2022}/i18n/ko.mjs +0 -0
  408. /package/chronos/{esm2020 → esm2022}/i18n/lt.mjs +0 -0
  409. /package/chronos/{esm2020 → esm2022}/i18n/lv.mjs +0 -0
  410. /package/chronos/{esm2020 → esm2022}/i18n/mn.mjs +0 -0
  411. /package/chronos/{esm2020 → esm2022}/i18n/nb.mjs +0 -0
  412. /package/chronos/{esm2020 → esm2022}/i18n/nl-be.mjs +0 -0
  413. /package/chronos/{esm2020 → esm2022}/i18n/nl.mjs +0 -0
  414. /package/chronos/{esm2020 → esm2022}/i18n/pl.mjs +0 -0
  415. /package/chronos/{esm2020 → esm2022}/i18n/pt-br.mjs +0 -0
  416. /package/chronos/{esm2020 → esm2022}/i18n/ro.mjs +0 -0
  417. /package/chronos/{esm2020 → esm2022}/i18n/ru.mjs +0 -0
  418. /package/chronos/{esm2020 → esm2022}/i18n/sk.mjs +0 -0
  419. /package/chronos/{esm2020 → esm2022}/i18n/sl.mjs +0 -0
  420. /package/chronos/{esm2020 → esm2022}/i18n/sq.mjs +0 -0
  421. /package/chronos/{esm2020 → esm2022}/i18n/sv.mjs +0 -0
  422. /package/chronos/{esm2020 → esm2022}/i18n/th-be.mjs +0 -0
  423. /package/chronos/{esm2020 → esm2022}/i18n/th.mjs +0 -0
  424. /package/chronos/{esm2020 → esm2022}/i18n/tr.mjs +0 -0
  425. /package/chronos/{esm2020 → esm2022}/i18n/uk.mjs +0 -0
  426. /package/chronos/{esm2020 → esm2022}/i18n/vi.mjs +0 -0
  427. /package/chronos/{esm2020 → esm2022}/i18n/zh-cn.mjs +0 -0
  428. /package/chronos/{esm2020 → esm2022}/index.mjs +0 -0
  429. /package/chronos/{esm2020 → esm2022}/locale/calendar.mjs +0 -0
  430. /package/chronos/{esm2020 → esm2022}/locale/locale.class.mjs +0 -0
  431. /package/chronos/{esm2020 → esm2022}/locale/locale.defaults.mjs +0 -0
  432. /package/chronos/{esm2020 → esm2022}/locale/locales.mjs +0 -0
  433. /package/chronos/{esm2020 → esm2022}/moment/add-subtract.mjs +0 -0
  434. /package/chronos/{esm2020 → esm2022}/moment/calendar.mjs +0 -0
  435. /package/chronos/{esm2020 → esm2022}/moment/diff.mjs +0 -0
  436. /package/chronos/{esm2020 → esm2022}/moment/min-max.mjs +0 -0
  437. /package/chronos/{esm2020 → esm2022}/ngx-bootstrap-chronos.mjs +0 -0
  438. /package/chronos/{esm2020 → esm2022}/parse/regex.mjs +0 -0
  439. /package/chronos/{esm2020 → esm2022}/parse/token.mjs +0 -0
  440. /package/chronos/{esm2020 → esm2022}/public_api.mjs +0 -0
  441. /package/chronos/{esm2020 → esm2022}/testing/chain.mjs +0 -0
  442. /package/chronos/{esm2020 → esm2022}/types.mjs +0 -0
  443. /package/chronos/{esm2020 → esm2022}/units/aliases.mjs +0 -0
  444. /package/chronos/{esm2020 → esm2022}/units/constants.mjs +0 -0
  445. /package/chronos/{esm2020 → esm2022}/units/day-of-month.mjs +0 -0
  446. /package/chronos/{esm2020 → esm2022}/units/day-of-week.mjs +0 -0
  447. /package/chronos/{esm2020 → esm2022}/units/day-of-year.mjs +0 -0
  448. /package/chronos/{esm2020 → esm2022}/units/hour.mjs +0 -0
  449. /package/chronos/{esm2020 → esm2022}/units/index.mjs +0 -0
  450. /package/chronos/{esm2020 → esm2022}/units/millisecond.mjs +0 -0
  451. /package/chronos/{esm2020 → esm2022}/units/minute.mjs +0 -0
  452. /package/chronos/{esm2020 → esm2022}/units/month.mjs +0 -0
  453. /package/chronos/{esm2020 → esm2022}/units/offset.mjs +0 -0
  454. /package/chronos/{esm2020 → esm2022}/units/priorities.mjs +0 -0
  455. /package/chronos/{esm2020 → esm2022}/units/quarter.mjs +0 -0
  456. /package/chronos/{esm2020 → esm2022}/units/second.mjs +0 -0
  457. /package/chronos/{esm2020 → esm2022}/units/timestamp.mjs +0 -0
  458. /package/chronos/{esm2020 → esm2022}/units/timezone.mjs +0 -0
  459. /package/chronos/{esm2020 → esm2022}/units/week-calendar-utils.mjs +0 -0
  460. /package/chronos/{esm2020 → esm2022}/units/week-year.mjs +0 -0
  461. /package/chronos/{esm2020 → esm2022}/units/week.mjs +0 -0
  462. /package/chronos/{esm2020 → esm2022}/units/year.mjs +0 -0
  463. /package/chronos/{esm2020 → esm2022}/utils/abs-ceil.mjs +0 -0
  464. /package/chronos/{esm2020 → esm2022}/utils/abs-round.mjs +0 -0
  465. /package/chronos/{esm2020 → esm2022}/utils/compare-arrays.mjs +0 -0
  466. /package/chronos/{esm2020 → esm2022}/utils/date-compare.mjs +0 -0
  467. /package/chronos/{esm2020 → esm2022}/utils/date-getters.mjs +0 -0
  468. /package/chronos/{esm2020 → esm2022}/utils/date-setters.mjs +0 -0
  469. /package/chronos/{esm2020 → esm2022}/utils/defaults.mjs +0 -0
  470. /package/chronos/{esm2020 → esm2022}/utils/start-end-of.mjs +0 -0
  471. /package/chronos/{esm2020 → esm2022}/utils/type-checks.mjs +0 -0
  472. /package/chronos/{esm2020 → esm2022}/utils/zero-fill.mjs +0 -0
  473. /package/chronos/{esm2020 → esm2022}/utils.mjs +0 -0
  474. /package/collapse/{esm2020 → esm2022}/collapse-animations.mjs +0 -0
  475. /package/collapse/{esm2020 → esm2022}/index.mjs +0 -0
  476. /package/collapse/{esm2020 → esm2022}/ngx-bootstrap-collapse.mjs +0 -0
  477. /package/collapse/{esm2020 → esm2022}/public_api.mjs +0 -0
  478. /package/component-loader/{esm2020 → esm2022}/bs-component-ref.class.mjs +0 -0
  479. /package/component-loader/{esm2020 → esm2022}/component-loader.class.mjs +0 -0
  480. /package/component-loader/{esm2020 → esm2022}/content-ref.class.mjs +0 -0
  481. /package/component-loader/{esm2020 → esm2022}/index.mjs +0 -0
  482. /package/component-loader/{esm2020 → esm2022}/listen-options.model.mjs +0 -0
  483. /package/component-loader/{esm2020 → esm2022}/ngx-bootstrap-component-loader.mjs +0 -0
  484. /package/component-loader/{esm2020 → esm2022}/public_api.mjs +0 -0
  485. /package/datepicker/{esm2020 → esm2022}/base/bs-datepicker-container.mjs +0 -0
  486. /package/datepicker/{esm2020 → esm2022}/datepicker-animations.mjs +0 -0
  487. /package/datepicker/{esm2020 → esm2022}/engine/calc-days-calendar.mjs +0 -0
  488. /package/datepicker/{esm2020 → esm2022}/engine/flag-days-calendar.mjs +0 -0
  489. /package/datepicker/{esm2020 → esm2022}/engine/flag-months-calendar.mjs +0 -0
  490. /package/datepicker/{esm2020 → esm2022}/engine/flag-years-calendar.mjs +0 -0
  491. /package/datepicker/{esm2020 → esm2022}/engine/format-days-calendar.mjs +0 -0
  492. /package/datepicker/{esm2020 → esm2022}/engine/format-months-calendar.mjs +0 -0
  493. /package/datepicker/{esm2020 → esm2022}/engine/format-years-calendar.mjs +0 -0
  494. /package/datepicker/{esm2020 → esm2022}/engine/view-mode.mjs +0 -0
  495. /package/datepicker/{esm2020 → esm2022}/index.mjs +0 -0
  496. /package/datepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
  497. /package/datepicker/{esm2020 → esm2022}/ngx-bootstrap-datepicker.mjs +0 -0
  498. /package/datepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
  499. /package/datepicker/{esm2020 → esm2022}/reducer/_defaults.mjs +0 -0
  500. /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.reducer.mjs +0 -0
  501. /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.state.mjs +0 -0
  502. /package/datepicker/{esm2020 → esm2022}/utils/bs-calendar-utils.mjs +0 -0
  503. /package/datepicker/{esm2020 → esm2022}/utils/copy-time-utils.mjs +0 -0
  504. /package/datepicker/{esm2020 → esm2022}/utils/matrix-utils.mjs +0 -0
  505. /package/dropdown/{esm2020 → esm2022}/dropdown-animations.mjs +0 -0
  506. /package/dropdown/{esm2020 → esm2022}/index.mjs +0 -0
  507. /package/dropdown/{esm2020 → esm2022}/ngx-bootstrap-dropdown.mjs +0 -0
  508. /package/dropdown/{esm2020 → esm2022}/public_api.mjs +0 -0
  509. /package/{esm2020 → esm2022}/index.mjs +0 -0
  510. /package/{esm2020 → esm2022}/ngx-bootstrap.mjs +0 -0
  511. /package/{fesm2015 → fesm2022}/ngx-bootstrap.mjs +0 -0
  512. /package/focus-trap/{esm2020 → esm2022}/boolean-property.mjs +0 -0
  513. /package/focus-trap/{esm2020 → esm2022}/index.mjs +0 -0
  514. /package/focus-trap/{esm2020 → esm2022}/ngx-bootstrap-focus-trap.mjs +0 -0
  515. /package/focus-trap/{esm2020 → esm2022}/public_api.mjs +0 -0
  516. /package/locale/{esm2020 → esm2022}/index.mjs +0 -0
  517. /package/locale/{esm2020 → esm2022}/ngx-bootstrap-locale.mjs +0 -0
  518. /package/locale/{esm2020 → esm2022}/public_api.mjs +0 -0
  519. /package/locale/{fesm2015 → fesm2022}/ngx-bootstrap-locale.mjs +0 -0
  520. /package/mini-ngrx/{esm2020 → esm2022}/index.mjs +0 -0
  521. /package/mini-ngrx/{esm2020 → esm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
  522. /package/mini-ngrx/{esm2020 → esm2022}/public_api.mjs +0 -0
  523. /package/mini-ngrx/{esm2020 → esm2022}/state.class.mjs +0 -0
  524. /package/mini-ngrx/{esm2020 → esm2022}/store.class.mjs +0 -0
  525. /package/mini-ngrx/{fesm2020 → fesm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
  526. /package/modal/{esm2020 → esm2022}/index.mjs +0 -0
  527. /package/modal/{esm2020 → esm2022}/modal-backdrop.options.mjs +0 -0
  528. /package/modal/{esm2020 → esm2022}/models/index.mjs +0 -0
  529. /package/modal/{esm2020 → esm2022}/ngx-bootstrap-modal.mjs +0 -0
  530. /package/modal/{esm2020 → esm2022}/public_api.mjs +0 -0
  531. /package/pagination/{esm2020 → esm2022}/index.mjs +0 -0
  532. /package/pagination/{esm2020 → esm2022}/models/index.mjs +0 -0
  533. /package/pagination/{esm2020 → esm2022}/ngx-bootstrap-pagination.mjs +0 -0
  534. /package/pagination/{esm2020 → esm2022}/public_api.mjs +0 -0
  535. /package/popover/{esm2020 → esm2022}/index.mjs +0 -0
  536. /package/popover/{esm2020 → esm2022}/ngx-bootstrap-popover.mjs +0 -0
  537. /package/popover/{esm2020 → esm2022}/public_api.mjs +0 -0
  538. /package/positioning/{esm2020 → esm2022}/index.mjs +0 -0
  539. /package/positioning/{esm2020 → esm2022}/models/index.mjs +0 -0
  540. /package/positioning/{esm2020 → esm2022}/modifiers/arrow.mjs +0 -0
  541. /package/positioning/{esm2020 → esm2022}/modifiers/flip.mjs +0 -0
  542. /package/positioning/{esm2020 → esm2022}/modifiers/index.mjs +0 -0
  543. /package/positioning/{esm2020 → esm2022}/modifiers/initData.mjs +0 -0
  544. /package/positioning/{esm2020 → esm2022}/modifiers/preventOverflow.mjs +0 -0
  545. /package/positioning/{esm2020 → esm2022}/modifiers/shift.mjs +0 -0
  546. /package/positioning/{esm2020 → esm2022}/ng-positioning.mjs +0 -0
  547. /package/positioning/{esm2020 → esm2022}/ngx-bootstrap-positioning.mjs +0 -0
  548. /package/positioning/{esm2020 → esm2022}/public_api.mjs +0 -0
  549. /package/positioning/{esm2020 → esm2022}/utils/checkMargin.mjs +0 -0
  550. /package/positioning/{esm2020 → esm2022}/utils/computeAutoPlacement.mjs +0 -0
  551. /package/positioning/{esm2020 → esm2022}/utils/findCommonOffsetParent.mjs +0 -0
  552. /package/positioning/{esm2020 → esm2022}/utils/getBordersSize.mjs +0 -0
  553. /package/positioning/{esm2020 → esm2022}/utils/getBoundaries.mjs +0 -0
  554. /package/positioning/{esm2020 → esm2022}/utils/getBoundingClientRect.mjs +0 -0
  555. /package/positioning/{esm2020 → esm2022}/utils/getClientRect.mjs +0 -0
  556. /package/positioning/{esm2020 → esm2022}/utils/getFixedPositionOffsetParent.mjs +0 -0
  557. /package/positioning/{esm2020 → esm2022}/utils/getOffsetParent.mjs +0 -0
  558. /package/positioning/{esm2020 → esm2022}/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -0
  559. /package/positioning/{esm2020 → esm2022}/utils/getOffsets.mjs +0 -0
  560. /package/positioning/{esm2020 → esm2022}/utils/getOppositePlacement.mjs +0 -0
  561. /package/positioning/{esm2020 → esm2022}/utils/getOppositeVariation.mjs +0 -0
  562. /package/positioning/{esm2020 → esm2022}/utils/getOuterSizes.mjs +0 -0
  563. /package/positioning/{esm2020 → esm2022}/utils/getParentNode.mjs +0 -0
  564. /package/positioning/{esm2020 → esm2022}/utils/getReferenceOffsets.mjs +0 -0
  565. /package/positioning/{esm2020 → esm2022}/utils/getRoot.mjs +0 -0
  566. /package/positioning/{esm2020 → esm2022}/utils/getScroll.mjs +0 -0
  567. /package/positioning/{esm2020 → esm2022}/utils/getScrollParent.mjs +0 -0
  568. /package/positioning/{esm2020 → esm2022}/utils/getStyleComputedProperty.mjs +0 -0
  569. /package/positioning/{esm2020 → esm2022}/utils/getTargetOffsets.mjs +0 -0
  570. /package/positioning/{esm2020 → esm2022}/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -0
  571. /package/positioning/{esm2020 → esm2022}/utils/getWindowSizes.mjs +0 -0
  572. /package/positioning/{esm2020 → esm2022}/utils/includeScroll.mjs +0 -0
  573. /package/positioning/{esm2020 → esm2022}/utils/index.mjs +0 -0
  574. /package/positioning/{esm2020 → esm2022}/utils/isFixed.mjs +0 -0
  575. /package/positioning/{esm2020 → esm2022}/utils/isModifierEnabled.mjs +0 -0
  576. /package/positioning/{esm2020 → esm2022}/utils/isNumeric.mjs +0 -0
  577. /package/positioning/{esm2020 → esm2022}/utils/isOffsetContainer.mjs +0 -0
  578. /package/positioning/{esm2020 → esm2022}/utils/setStyles.mjs +0 -0
  579. /package/positioning/{esm2020 → esm2022}/utils/updateContainerClass.mjs +0 -0
  580. /package/progressbar/{esm2020 → esm2022}/index.mjs +0 -0
  581. /package/progressbar/{esm2020 → esm2022}/ngx-bootstrap-progressbar.mjs +0 -0
  582. /package/progressbar/{esm2020 → esm2022}/progressbar-type.interface.mjs +0 -0
  583. /package/progressbar/{esm2020 → esm2022}/public_api.mjs +0 -0
  584. /package/rating/{esm2020 → esm2022}/index.mjs +0 -0
  585. /package/rating/{esm2020 → esm2022}/models/index.mjs +0 -0
  586. /package/rating/{esm2020 → esm2022}/ngx-bootstrap-rating.mjs +0 -0
  587. /package/rating/{esm2020 → esm2022}/public_api.mjs +0 -0
  588. /package/sortable/{esm2020 → esm2022}/draggable-item.mjs +0 -0
  589. /package/sortable/{esm2020 → esm2022}/index.mjs +0 -0
  590. /package/sortable/{esm2020 → esm2022}/ngx-bootstrap-sortable.mjs +0 -0
  591. /package/sortable/{esm2020 → esm2022}/public_api.mjs +0 -0
  592. /package/tabs/{esm2020 → esm2022}/index.mjs +0 -0
  593. /package/tabs/{esm2020 → esm2022}/ngx-bootstrap-tabs.mjs +0 -0
  594. /package/tabs/{esm2020 → esm2022}/public_api.mjs +0 -0
  595. /package/timepicker/{esm2020 → esm2022}/index.mjs +0 -0
  596. /package/timepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
  597. /package/timepicker/{esm2020 → esm2022}/ngx-bootstrap-timepicker.mjs +0 -0
  598. /package/timepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
  599. /package/timepicker/{esm2020 → esm2022}/reducer/timepicker.reducer.mjs +0 -0
  600. /package/timepicker/{esm2020 → esm2022}/timepicker-controls.util.mjs +0 -0
  601. /package/timepicker/{esm2020 → esm2022}/timepicker.models.mjs +0 -0
  602. /package/timepicker/{esm2020 → esm2022}/timepicker.utils.mjs +0 -0
  603. /package/tooltip/{esm2020 → esm2022}/index.mjs +0 -0
  604. /package/tooltip/{esm2020 → esm2022}/ngx-bootstrap-tooltip.mjs +0 -0
  605. /package/tooltip/{esm2020 → esm2022}/public_api.mjs +0 -0
  606. /package/typeahead/{esm2020 → esm2022}/index.mjs +0 -0
  607. /package/typeahead/{esm2020 → esm2022}/latin-map.mjs +0 -0
  608. /package/typeahead/{esm2020 → esm2022}/models/index.mjs +0 -0
  609. /package/typeahead/{esm2020 → esm2022}/ngx-bootstrap-typeahead.mjs +0 -0
  610. /package/typeahead/{esm2020 → esm2022}/public_api.mjs +0 -0
  611. /package/typeahead/{esm2020 → esm2022}/typeahead-animations.mjs +0 -0
  612. /package/typeahead/{esm2020 → esm2022}/typeahead-match.class.mjs +0 -0
  613. /package/typeahead/{esm2020 → esm2022}/typeahead-options.class.mjs +0 -0
  614. /package/typeahead/{esm2020 → esm2022}/typeahead-order.class.mjs +0 -0
  615. /package/typeahead/{esm2020 → esm2022}/typeahead-utils.mjs +0 -0
  616. /package/utils/{esm2020 → esm2022}/decorators.mjs +0 -0
  617. /package/utils/{esm2020 → esm2022}/facade/browser.mjs +0 -0
  618. /package/utils/{esm2020 → esm2022}/index.mjs +0 -0
  619. /package/utils/{esm2020 → esm2022}/linked-list.class.mjs +0 -0
  620. /package/utils/{esm2020 → esm2022}/ngx-bootstrap-utils.mjs +0 -0
  621. /package/utils/{esm2020 → esm2022}/public_api.mjs +0 -0
  622. /package/utils/{esm2020 → esm2022}/theme-provider.mjs +0 -0
  623. /package/utils/{esm2020 → esm2022}/trigger.class.mjs +0 -0
  624. /package/utils/{esm2020 → esm2022}/utils.class.mjs +0 -0
  625. /package/utils/{esm2020 → esm2022}/warn-once.mjs +0 -0
@@ -1,1890 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Output, ViewChild, ViewChildren, HostListener, Injectable, Directive, Input, NgModule } from '@angular/core';
3
- import { Utils } from 'ngx-bootstrap/utils';
4
- import { Subscription, isObservable, EMPTY, from } from 'rxjs';
5
- import { trigger, state, style, transition, animate } from '@angular/animations';
6
- import * as i1 from 'ngx-bootstrap/positioning';
7
- import { PositioningService } from 'ngx-bootstrap/positioning';
8
- import * as i2 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import { debounceTime, tap, switchMap, mergeMap, filter, toArray } from 'rxjs/operators';
11
- import * as i1$1 from 'ngx-bootstrap/component-loader';
12
- import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
13
- import * as i3 from '@angular/forms';
14
-
15
- const latinMap = {
16
- 'Á': 'A',
17
- 'Ă': 'A',
18
- 'Ắ': 'A',
19
- 'Ặ': 'A',
20
- 'Ằ': 'A',
21
- 'Ẳ': 'A',
22
- 'Ẵ': 'A',
23
- 'Ǎ': 'A',
24
- 'Â': 'A',
25
- 'Ấ': 'A',
26
- 'Ậ': 'A',
27
- 'Ầ': 'A',
28
- 'Ẩ': 'A',
29
- 'Ẫ': 'A',
30
- 'Ä': 'A',
31
- 'Ǟ': 'A',
32
- 'Ȧ': 'A',
33
- 'Ǡ': 'A',
34
- 'Ạ': 'A',
35
- 'Ȁ': 'A',
36
- 'À': 'A',
37
- 'Ả': 'A',
38
- 'Ȃ': 'A',
39
- 'Ā': 'A',
40
- 'Ą': 'A',
41
- 'Å': 'A',
42
- 'Ǻ': 'A',
43
- 'Ḁ': 'A',
44
- 'Ⱥ': 'A',
45
- 'Ã': 'A',
46
- 'Ꜳ': 'AA',
47
- 'Æ': 'AE',
48
- 'Ǽ': 'AE',
49
- 'Ǣ': 'AE',
50
- 'Ꜵ': 'AO',
51
- 'Ꜷ': 'AU',
52
- 'Ꜹ': 'AV',
53
- 'Ꜻ': 'AV',
54
- 'Ꜽ': 'AY',
55
- 'Ḃ': 'B',
56
- 'Ḅ': 'B',
57
- 'Ɓ': 'B',
58
- 'Ḇ': 'B',
59
- 'Ƀ': 'B',
60
- 'Ƃ': 'B',
61
- 'Ć': 'C',
62
- 'Č': 'C',
63
- 'Ç': 'C',
64
- 'Ḉ': 'C',
65
- 'Ĉ': 'C',
66
- 'Ċ': 'C',
67
- 'Ƈ': 'C',
68
- 'Ȼ': 'C',
69
- 'Ď': 'D',
70
- 'Ḑ': 'D',
71
- 'Ḓ': 'D',
72
- 'Ḋ': 'D',
73
- 'Ḍ': 'D',
74
- 'Ɗ': 'D',
75
- 'Ḏ': 'D',
76
- 'Dz': 'D',
77
- 'Dž': 'D',
78
- 'Đ': 'D',
79
- 'Ƌ': 'D',
80
- 'DZ': 'DZ',
81
- 'DŽ': 'DZ',
82
- 'É': 'E',
83
- 'Ĕ': 'E',
84
- 'Ě': 'E',
85
- 'Ȩ': 'E',
86
- 'Ḝ': 'E',
87
- 'Ê': 'E',
88
- 'Ế': 'E',
89
- 'Ệ': 'E',
90
- 'Ề': 'E',
91
- 'Ể': 'E',
92
- 'Ễ': 'E',
93
- 'Ḙ': 'E',
94
- 'Ë': 'E',
95
- 'Ė': 'E',
96
- 'Ẹ': 'E',
97
- 'Ȅ': 'E',
98
- 'È': 'E',
99
- 'Ẻ': 'E',
100
- 'Ȇ': 'E',
101
- 'Ē': 'E',
102
- 'Ḗ': 'E',
103
- 'Ḕ': 'E',
104
- 'Ę': 'E',
105
- 'Ɇ': 'E',
106
- 'Ẽ': 'E',
107
- 'Ḛ': 'E',
108
- 'Ꝫ': 'ET',
109
- 'Ḟ': 'F',
110
- 'Ƒ': 'F',
111
- 'Ǵ': 'G',
112
- 'Ğ': 'G',
113
- 'Ǧ': 'G',
114
- 'Ģ': 'G',
115
- 'Ĝ': 'G',
116
- 'Ġ': 'G',
117
- 'Ɠ': 'G',
118
- 'Ḡ': 'G',
119
- 'Ǥ': 'G',
120
- 'Ḫ': 'H',
121
- 'Ȟ': 'H',
122
- 'Ḩ': 'H',
123
- 'Ĥ': 'H',
124
- 'Ⱨ': 'H',
125
- 'Ḧ': 'H',
126
- 'Ḣ': 'H',
127
- 'Ḥ': 'H',
128
- 'Ħ': 'H',
129
- 'Í': 'I',
130
- 'Ĭ': 'I',
131
- 'Ǐ': 'I',
132
- 'Î': 'I',
133
- 'Ï': 'I',
134
- 'Ḯ': 'I',
135
- 'İ': 'I',
136
- 'Ị': 'I',
137
- 'Ȉ': 'I',
138
- 'Ì': 'I',
139
- 'Ỉ': 'I',
140
- 'Ȋ': 'I',
141
- 'Ī': 'I',
142
- 'Į': 'I',
143
- 'Ɨ': 'I',
144
- 'Ĩ': 'I',
145
- 'Ḭ': 'I',
146
- 'Ꝺ': 'D',
147
- 'Ꝼ': 'F',
148
- 'Ᵹ': 'G',
149
- 'Ꞃ': 'R',
150
- 'Ꞅ': 'S',
151
- 'Ꞇ': 'T',
152
- 'Ꝭ': 'IS',
153
- 'Ĵ': 'J',
154
- 'Ɉ': 'J',
155
- 'Ḱ': 'K',
156
- 'Ǩ': 'K',
157
- 'Ķ': 'K',
158
- 'Ⱪ': 'K',
159
- 'Ꝃ': 'K',
160
- 'Ḳ': 'K',
161
- 'Ƙ': 'K',
162
- 'Ḵ': 'K',
163
- 'Ꝁ': 'K',
164
- 'Ꝅ': 'K',
165
- 'Ĺ': 'L',
166
- 'Ƚ': 'L',
167
- 'Ľ': 'L',
168
- 'Ļ': 'L',
169
- 'Ḽ': 'L',
170
- 'Ḷ': 'L',
171
- 'Ḹ': 'L',
172
- 'Ⱡ': 'L',
173
- 'Ꝉ': 'L',
174
- 'Ḻ': 'L',
175
- 'Ŀ': 'L',
176
- 'Ɫ': 'L',
177
- 'Lj': 'L',
178
- 'Ł': 'L',
179
- 'LJ': 'LJ',
180
- 'Ḿ': 'M',
181
- 'Ṁ': 'M',
182
- 'Ṃ': 'M',
183
- 'Ɱ': 'M',
184
- 'Ń': 'N',
185
- 'Ň': 'N',
186
- 'Ņ': 'N',
187
- 'Ṋ': 'N',
188
- 'Ṅ': 'N',
189
- 'Ṇ': 'N',
190
- 'Ǹ': 'N',
191
- 'Ɲ': 'N',
192
- 'Ṉ': 'N',
193
- 'Ƞ': 'N',
194
- 'Nj': 'N',
195
- 'Ñ': 'N',
196
- 'NJ': 'NJ',
197
- 'Ó': 'O',
198
- 'Ŏ': 'O',
199
- 'Ǒ': 'O',
200
- 'Ô': 'O',
201
- 'Ố': 'O',
202
- 'Ộ': 'O',
203
- 'Ồ': 'O',
204
- 'Ổ': 'O',
205
- 'Ỗ': 'O',
206
- 'Ö': 'O',
207
- 'Ȫ': 'O',
208
- 'Ȯ': 'O',
209
- 'Ȱ': 'O',
210
- 'Ọ': 'O',
211
- 'Ő': 'O',
212
- 'Ȍ': 'O',
213
- 'Ò': 'O',
214
- 'Ỏ': 'O',
215
- 'Ơ': 'O',
216
- 'Ớ': 'O',
217
- 'Ợ': 'O',
218
- 'Ờ': 'O',
219
- 'Ở': 'O',
220
- 'Ỡ': 'O',
221
- 'Ȏ': 'O',
222
- 'Ꝋ': 'O',
223
- 'Ꝍ': 'O',
224
- 'Ō': 'O',
225
- 'Ṓ': 'O',
226
- 'Ṑ': 'O',
227
- 'Ɵ': 'O',
228
- 'Ǫ': 'O',
229
- 'Ǭ': 'O',
230
- 'Ø': 'O',
231
- 'Ǿ': 'O',
232
- 'Õ': 'O',
233
- 'Ṍ': 'O',
234
- 'Ṏ': 'O',
235
- 'Ȭ': 'O',
236
- 'Ƣ': 'OI',
237
- 'Ꝏ': 'OO',
238
- 'Ɛ': 'E',
239
- 'Ɔ': 'O',
240
- 'Ȣ': 'OU',
241
- 'Ṕ': 'P',
242
- 'Ṗ': 'P',
243
- 'Ꝓ': 'P',
244
- 'Ƥ': 'P',
245
- 'Ꝕ': 'P',
246
- 'Ᵽ': 'P',
247
- 'Ꝑ': 'P',
248
- 'Ꝙ': 'Q',
249
- 'Ꝗ': 'Q',
250
- 'Ŕ': 'R',
251
- 'Ř': 'R',
252
- 'Ŗ': 'R',
253
- 'Ṙ': 'R',
254
- 'Ṛ': 'R',
255
- 'Ṝ': 'R',
256
- 'Ȑ': 'R',
257
- 'Ȓ': 'R',
258
- 'Ṟ': 'R',
259
- 'Ɍ': 'R',
260
- 'Ɽ': 'R',
261
- 'Ꜿ': 'C',
262
- 'Ǝ': 'E',
263
- 'Ś': 'S',
264
- 'Ṥ': 'S',
265
- 'Š': 'S',
266
- 'Ṧ': 'S',
267
- 'Ş': 'S',
268
- 'Ŝ': 'S',
269
- 'Ș': 'S',
270
- 'Ṡ': 'S',
271
- 'Ṣ': 'S',
272
- 'Ṩ': 'S',
273
- 'Ť': 'T',
274
- 'Ţ': 'T',
275
- 'Ṱ': 'T',
276
- 'Ț': 'T',
277
- 'Ⱦ': 'T',
278
- 'Ṫ': 'T',
279
- 'Ṭ': 'T',
280
- 'Ƭ': 'T',
281
- 'Ṯ': 'T',
282
- 'Ʈ': 'T',
283
- 'Ŧ': 'T',
284
- 'Ɐ': 'A',
285
- 'Ꞁ': 'L',
286
- 'Ɯ': 'M',
287
- 'Ʌ': 'V',
288
- 'Ꜩ': 'TZ',
289
- 'Ú': 'U',
290
- 'Ŭ': 'U',
291
- 'Ǔ': 'U',
292
- 'Û': 'U',
293
- 'Ṷ': 'U',
294
- 'Ü': 'U',
295
- 'Ǘ': 'U',
296
- 'Ǚ': 'U',
297
- 'Ǜ': 'U',
298
- 'Ǖ': 'U',
299
- 'Ṳ': 'U',
300
- 'Ụ': 'U',
301
- 'Ű': 'U',
302
- 'Ȕ': 'U',
303
- 'Ù': 'U',
304
- 'Ủ': 'U',
305
- 'Ư': 'U',
306
- 'Ứ': 'U',
307
- 'Ự': 'U',
308
- 'Ừ': 'U',
309
- 'Ử': 'U',
310
- 'Ữ': 'U',
311
- 'Ȗ': 'U',
312
- 'Ū': 'U',
313
- 'Ṻ': 'U',
314
- 'Ų': 'U',
315
- 'Ů': 'U',
316
- 'Ũ': 'U',
317
- 'Ṹ': 'U',
318
- 'Ṵ': 'U',
319
- 'Ꝟ': 'V',
320
- 'Ṿ': 'V',
321
- 'Ʋ': 'V',
322
- 'Ṽ': 'V',
323
- 'Ꝡ': 'VY',
324
- 'Ẃ': 'W',
325
- 'Ŵ': 'W',
326
- 'Ẅ': 'W',
327
- 'Ẇ': 'W',
328
- 'Ẉ': 'W',
329
- 'Ẁ': 'W',
330
- 'Ⱳ': 'W',
331
- 'Ẍ': 'X',
332
- 'Ẋ': 'X',
333
- 'Ý': 'Y',
334
- 'Ŷ': 'Y',
335
- 'Ÿ': 'Y',
336
- 'Ẏ': 'Y',
337
- 'Ỵ': 'Y',
338
- 'Ỳ': 'Y',
339
- 'Ƴ': 'Y',
340
- 'Ỷ': 'Y',
341
- 'Ỿ': 'Y',
342
- 'Ȳ': 'Y',
343
- 'Ɏ': 'Y',
344
- 'Ỹ': 'Y',
345
- 'Ź': 'Z',
346
- 'Ž': 'Z',
347
- 'Ẑ': 'Z',
348
- 'Ⱬ': 'Z',
349
- 'Ż': 'Z',
350
- 'Ẓ': 'Z',
351
- 'Ȥ': 'Z',
352
- 'Ẕ': 'Z',
353
- 'Ƶ': 'Z',
354
- 'IJ': 'IJ',
355
- 'Œ': 'OE',
356
- 'ᴀ': 'A',
357
- 'ᴁ': 'AE',
358
- 'ʙ': 'B',
359
- 'ᴃ': 'B',
360
- 'ᴄ': 'C',
361
- 'ᴅ': 'D',
362
- 'ᴇ': 'E',
363
- 'ꜰ': 'F',
364
- 'ɢ': 'G',
365
- 'ʛ': 'G',
366
- 'ʜ': 'H',
367
- 'ɪ': 'I',
368
- 'ʁ': 'R',
369
- 'ᴊ': 'J',
370
- 'ᴋ': 'K',
371
- 'ʟ': 'L',
372
- 'ᴌ': 'L',
373
- 'ᴍ': 'M',
374
- 'ɴ': 'N',
375
- 'ᴏ': 'O',
376
- 'ɶ': 'OE',
377
- 'ᴐ': 'O',
378
- 'ᴕ': 'OU',
379
- 'ᴘ': 'P',
380
- 'ʀ': 'R',
381
- 'ᴎ': 'N',
382
- 'ᴙ': 'R',
383
- 'ꜱ': 'S',
384
- 'ᴛ': 'T',
385
- 'ⱻ': 'E',
386
- 'ᴚ': 'R',
387
- 'ᴜ': 'U',
388
- 'ᴠ': 'V',
389
- 'ᴡ': 'W',
390
- 'ʏ': 'Y',
391
- 'ᴢ': 'Z',
392
- 'á': 'a',
393
- 'ă': 'a',
394
- 'ắ': 'a',
395
- 'ặ': 'a',
396
- 'ằ': 'a',
397
- 'ẳ': 'a',
398
- 'ẵ': 'a',
399
- 'ǎ': 'a',
400
- 'â': 'a',
401
- 'ấ': 'a',
402
- 'ậ': 'a',
403
- 'ầ': 'a',
404
- 'ẩ': 'a',
405
- 'ẫ': 'a',
406
- 'ä': 'a',
407
- 'ǟ': 'a',
408
- 'ȧ': 'a',
409
- 'ǡ': 'a',
410
- 'ạ': 'a',
411
- 'ȁ': 'a',
412
- 'à': 'a',
413
- 'ả': 'a',
414
- 'ȃ': 'a',
415
- 'ā': 'a',
416
- 'ą': 'a',
417
- 'ᶏ': 'a',
418
- 'ẚ': 'a',
419
- 'å': 'a',
420
- 'ǻ': 'a',
421
- 'ḁ': 'a',
422
- 'ⱥ': 'a',
423
- 'ã': 'a',
424
- 'ꜳ': 'aa',
425
- 'æ': 'ae',
426
- 'ǽ': 'ae',
427
- 'ǣ': 'ae',
428
- 'ꜵ': 'ao',
429
- 'ꜷ': 'au',
430
- 'ꜹ': 'av',
431
- 'ꜻ': 'av',
432
- 'ꜽ': 'ay',
433
- 'ḃ': 'b',
434
- 'ḅ': 'b',
435
- 'ɓ': 'b',
436
- 'ḇ': 'b',
437
- 'ᵬ': 'b',
438
- 'ᶀ': 'b',
439
- 'ƀ': 'b',
440
- 'ƃ': 'b',
441
- 'ɵ': 'o',
442
- 'ć': 'c',
443
- 'č': 'c',
444
- 'ç': 'c',
445
- 'ḉ': 'c',
446
- 'ĉ': 'c',
447
- 'ɕ': 'c',
448
- 'ċ': 'c',
449
- 'ƈ': 'c',
450
- 'ȼ': 'c',
451
- 'ď': 'd',
452
- 'ḑ': 'd',
453
- 'ḓ': 'd',
454
- 'ȡ': 'd',
455
- 'ḋ': 'd',
456
- 'ḍ': 'd',
457
- 'ɗ': 'd',
458
- 'ᶑ': 'd',
459
- 'ḏ': 'd',
460
- 'ᵭ': 'd',
461
- 'ᶁ': 'd',
462
- 'đ': 'd',
463
- 'ɖ': 'd',
464
- 'ƌ': 'd',
465
- 'ı': 'i',
466
- 'ȷ': 'j',
467
- 'ɟ': 'j',
468
- 'ʄ': 'j',
469
- 'dz': 'dz',
470
- 'dž': 'dz',
471
- 'é': 'e',
472
- 'ĕ': 'e',
473
- 'ě': 'e',
474
- 'ȩ': 'e',
475
- 'ḝ': 'e',
476
- 'ê': 'e',
477
- 'ế': 'e',
478
- 'ệ': 'e',
479
- 'ề': 'e',
480
- 'ể': 'e',
481
- 'ễ': 'e',
482
- 'ḙ': 'e',
483
- 'ë': 'e',
484
- 'ė': 'e',
485
- 'ẹ': 'e',
486
- 'ȅ': 'e',
487
- 'è': 'e',
488
- 'ẻ': 'e',
489
- 'ȇ': 'e',
490
- 'ē': 'e',
491
- 'ḗ': 'e',
492
- 'ḕ': 'e',
493
- 'ⱸ': 'e',
494
- 'ę': 'e',
495
- 'ᶒ': 'e',
496
- 'ɇ': 'e',
497
- 'ẽ': 'e',
498
- 'ḛ': 'e',
499
- 'ꝫ': 'et',
500
- 'ḟ': 'f',
501
- 'ƒ': 'f',
502
- 'ᵮ': 'f',
503
- 'ᶂ': 'f',
504
- 'ǵ': 'g',
505
- 'ğ': 'g',
506
- 'ǧ': 'g',
507
- 'ģ': 'g',
508
- 'ĝ': 'g',
509
- 'ġ': 'g',
510
- 'ɠ': 'g',
511
- 'ḡ': 'g',
512
- 'ᶃ': 'g',
513
- 'ǥ': 'g',
514
- 'ḫ': 'h',
515
- 'ȟ': 'h',
516
- 'ḩ': 'h',
517
- 'ĥ': 'h',
518
- 'ⱨ': 'h',
519
- 'ḧ': 'h',
520
- 'ḣ': 'h',
521
- 'ḥ': 'h',
522
- 'ɦ': 'h',
523
- 'ẖ': 'h',
524
- 'ħ': 'h',
525
- 'ƕ': 'hv',
526
- 'í': 'i',
527
- 'ĭ': 'i',
528
- 'ǐ': 'i',
529
- 'î': 'i',
530
- 'ï': 'i',
531
- 'ḯ': 'i',
532
- 'ị': 'i',
533
- 'ȉ': 'i',
534
- 'ì': 'i',
535
- 'ỉ': 'i',
536
- 'ȋ': 'i',
537
- 'ī': 'i',
538
- 'į': 'i',
539
- 'ᶖ': 'i',
540
- 'ɨ': 'i',
541
- 'ĩ': 'i',
542
- 'ḭ': 'i',
543
- 'ꝺ': 'd',
544
- 'ꝼ': 'f',
545
- 'ᵹ': 'g',
546
- 'ꞃ': 'r',
547
- 'ꞅ': 's',
548
- 'ꞇ': 't',
549
- 'ꝭ': 'is',
550
- 'ǰ': 'j',
551
- 'ĵ': 'j',
552
- 'ʝ': 'j',
553
- 'ɉ': 'j',
554
- 'ḱ': 'k',
555
- 'ǩ': 'k',
556
- 'ķ': 'k',
557
- 'ⱪ': 'k',
558
- 'ꝃ': 'k',
559
- 'ḳ': 'k',
560
- 'ƙ': 'k',
561
- 'ḵ': 'k',
562
- 'ᶄ': 'k',
563
- 'ꝁ': 'k',
564
- 'ꝅ': 'k',
565
- 'ĺ': 'l',
566
- 'ƚ': 'l',
567
- 'ɬ': 'l',
568
- 'ľ': 'l',
569
- 'ļ': 'l',
570
- 'ḽ': 'l',
571
- 'ȴ': 'l',
572
- 'ḷ': 'l',
573
- 'ḹ': 'l',
574
- 'ⱡ': 'l',
575
- 'ꝉ': 'l',
576
- 'ḻ': 'l',
577
- 'ŀ': 'l',
578
- 'ɫ': 'l',
579
- 'ᶅ': 'l',
580
- 'ɭ': 'l',
581
- 'ł': 'l',
582
- 'lj': 'lj',
583
- 'ſ': 's',
584
- 'ẜ': 's',
585
- 'ẛ': 's',
586
- 'ẝ': 's',
587
- 'ḿ': 'm',
588
- 'ṁ': 'm',
589
- 'ṃ': 'm',
590
- 'ɱ': 'm',
591
- 'ᵯ': 'm',
592
- 'ᶆ': 'm',
593
- 'ń': 'n',
594
- 'ň': 'n',
595
- 'ņ': 'n',
596
- 'ṋ': 'n',
597
- 'ȵ': 'n',
598
- 'ṅ': 'n',
599
- 'ṇ': 'n',
600
- 'ǹ': 'n',
601
- 'ɲ': 'n',
602
- 'ṉ': 'n',
603
- 'ƞ': 'n',
604
- 'ᵰ': 'n',
605
- 'ᶇ': 'n',
606
- 'ɳ': 'n',
607
- 'ñ': 'n',
608
- 'nj': 'nj',
609
- 'ó': 'o',
610
- 'ŏ': 'o',
611
- 'ǒ': 'o',
612
- 'ô': 'o',
613
- 'ố': 'o',
614
- 'ộ': 'o',
615
- 'ồ': 'o',
616
- 'ổ': 'o',
617
- 'ỗ': 'o',
618
- 'ö': 'o',
619
- 'ȫ': 'o',
620
- 'ȯ': 'o',
621
- 'ȱ': 'o',
622
- 'ọ': 'o',
623
- 'ő': 'o',
624
- 'ȍ': 'o',
625
- 'ò': 'o',
626
- 'ỏ': 'o',
627
- 'ơ': 'o',
628
- 'ớ': 'o',
629
- 'ợ': 'o',
630
- 'ờ': 'o',
631
- 'ở': 'o',
632
- 'ỡ': 'o',
633
- 'ȏ': 'o',
634
- 'ꝋ': 'o',
635
- 'ꝍ': 'o',
636
- 'ⱺ': 'o',
637
- 'ō': 'o',
638
- 'ṓ': 'o',
639
- 'ṑ': 'o',
640
- 'ǫ': 'o',
641
- 'ǭ': 'o',
642
- 'ø': 'o',
643
- 'ǿ': 'o',
644
- 'õ': 'o',
645
- 'ṍ': 'o',
646
- 'ṏ': 'o',
647
- 'ȭ': 'o',
648
- 'ƣ': 'oi',
649
- 'ꝏ': 'oo',
650
- 'ɛ': 'e',
651
- 'ᶓ': 'e',
652
- 'ɔ': 'o',
653
- 'ᶗ': 'o',
654
- 'ȣ': 'ou',
655
- 'ṕ': 'p',
656
- 'ṗ': 'p',
657
- 'ꝓ': 'p',
658
- 'ƥ': 'p',
659
- 'ᵱ': 'p',
660
- 'ᶈ': 'p',
661
- 'ꝕ': 'p',
662
- 'ᵽ': 'p',
663
- 'ꝑ': 'p',
664
- 'ꝙ': 'q',
665
- 'ʠ': 'q',
666
- 'ɋ': 'q',
667
- 'ꝗ': 'q',
668
- 'ŕ': 'r',
669
- 'ř': 'r',
670
- 'ŗ': 'r',
671
- 'ṙ': 'r',
672
- 'ṛ': 'r',
673
- 'ṝ': 'r',
674
- 'ȑ': 'r',
675
- 'ɾ': 'r',
676
- 'ᵳ': 'r',
677
- 'ȓ': 'r',
678
- 'ṟ': 'r',
679
- 'ɼ': 'r',
680
- 'ᵲ': 'r',
681
- 'ᶉ': 'r',
682
- 'ɍ': 'r',
683
- 'ɽ': 'r',
684
- 'ↄ': 'c',
685
- 'ꜿ': 'c',
686
- 'ɘ': 'e',
687
- 'ɿ': 'r',
688
- 'ś': 's',
689
- 'ṥ': 's',
690
- 'š': 's',
691
- 'ṧ': 's',
692
- 'ş': 's',
693
- 'ŝ': 's',
694
- 'ș': 's',
695
- 'ṡ': 's',
696
- 'ṣ': 's',
697
- 'ṩ': 's',
698
- 'ʂ': 's',
699
- 'ᵴ': 's',
700
- 'ᶊ': 's',
701
- 'ȿ': 's',
702
- 'ɡ': 'g',
703
- 'ᴑ': 'o',
704
- 'ᴓ': 'o',
705
- 'ᴝ': 'u',
706
- 'ť': 't',
707
- 'ţ': 't',
708
- 'ṱ': 't',
709
- 'ț': 't',
710
- 'ȶ': 't',
711
- 'ẗ': 't',
712
- 'ⱦ': 't',
713
- 'ṫ': 't',
714
- 'ṭ': 't',
715
- 'ƭ': 't',
716
- 'ṯ': 't',
717
- 'ᵵ': 't',
718
- 'ƫ': 't',
719
- 'ʈ': 't',
720
- 'ŧ': 't',
721
- 'ᵺ': 'th',
722
- 'ɐ': 'a',
723
- 'ᴂ': 'ae',
724
- 'ǝ': 'e',
725
- 'ᵷ': 'g',
726
- 'ɥ': 'h',
727
- 'ʮ': 'h',
728
- 'ʯ': 'h',
729
- 'ᴉ': 'i',
730
- 'ʞ': 'k',
731
- 'ꞁ': 'l',
732
- 'ɯ': 'm',
733
- 'ɰ': 'm',
734
- 'ᴔ': 'oe',
735
- 'ɹ': 'r',
736
- 'ɻ': 'r',
737
- 'ɺ': 'r',
738
- 'ⱹ': 'r',
739
- 'ʇ': 't',
740
- 'ʌ': 'v',
741
- 'ʍ': 'w',
742
- 'ʎ': 'y',
743
- 'ꜩ': 'tz',
744
- 'ú': 'u',
745
- 'ŭ': 'u',
746
- 'ǔ': 'u',
747
- 'û': 'u',
748
- 'ṷ': 'u',
749
- 'ü': 'u',
750
- 'ǘ': 'u',
751
- 'ǚ': 'u',
752
- 'ǜ': 'u',
753
- 'ǖ': 'u',
754
- 'ṳ': 'u',
755
- 'ụ': 'u',
756
- 'ű': 'u',
757
- 'ȕ': 'u',
758
- 'ù': 'u',
759
- 'ủ': 'u',
760
- 'ư': 'u',
761
- 'ứ': 'u',
762
- 'ự': 'u',
763
- 'ừ': 'u',
764
- 'ử': 'u',
765
- 'ữ': 'u',
766
- 'ȗ': 'u',
767
- 'ū': 'u',
768
- 'ṻ': 'u',
769
- 'ų': 'u',
770
- 'ᶙ': 'u',
771
- 'ů': 'u',
772
- 'ũ': 'u',
773
- 'ṹ': 'u',
774
- 'ṵ': 'u',
775
- 'ᵫ': 'ue',
776
- 'ꝸ': 'um',
777
- 'ⱴ': 'v',
778
- 'ꝟ': 'v',
779
- 'ṿ': 'v',
780
- 'ʋ': 'v',
781
- 'ᶌ': 'v',
782
- 'ⱱ': 'v',
783
- 'ṽ': 'v',
784
- 'ꝡ': 'vy',
785
- 'ẃ': 'w',
786
- 'ŵ': 'w',
787
- 'ẅ': 'w',
788
- 'ẇ': 'w',
789
- 'ẉ': 'w',
790
- 'ẁ': 'w',
791
- 'ⱳ': 'w',
792
- 'ẘ': 'w',
793
- 'ẍ': 'x',
794
- 'ẋ': 'x',
795
- 'ᶍ': 'x',
796
- 'ý': 'y',
797
- 'ŷ': 'y',
798
- 'ÿ': 'y',
799
- 'ẏ': 'y',
800
- 'ỵ': 'y',
801
- 'ỳ': 'y',
802
- 'ƴ': 'y',
803
- 'ỷ': 'y',
804
- 'ỿ': 'y',
805
- 'ȳ': 'y',
806
- 'ẙ': 'y',
807
- 'ɏ': 'y',
808
- 'ỹ': 'y',
809
- 'ź': 'z',
810
- 'ž': 'z',
811
- 'ẑ': 'z',
812
- 'ʑ': 'z',
813
- 'ⱬ': 'z',
814
- 'ż': 'z',
815
- 'ẓ': 'z',
816
- 'ȥ': 'z',
817
- 'ẕ': 'z',
818
- 'ᵶ': 'z',
819
- 'ᶎ': 'z',
820
- 'ʐ': 'z',
821
- 'ƶ': 'z',
822
- 'ɀ': 'z',
823
- 'ff': 'ff',
824
- 'ffi': 'ffi',
825
- 'ffl': 'ffl',
826
- 'fi': 'fi',
827
- 'fl': 'fl',
828
- 'ij': 'ij',
829
- 'œ': 'oe',
830
- 'st': 'st',
831
- 'ₐ': 'a',
832
- 'ₑ': 'e',
833
- 'ᵢ': 'i',
834
- 'ⱼ': 'j',
835
- 'ₒ': 'o',
836
- 'ᵣ': 'r',
837
- 'ᵤ': 'u',
838
- 'ᵥ': 'v',
839
- 'ₓ': 'x'
840
- };
841
-
842
- class TypeaheadOptions {
843
- constructor(options) {
844
- this.placement = options.placement;
845
- this.animation = options.animation;
846
- this.typeaheadRef = options.typeaheadRef;
847
- }
848
- }
849
-
850
- class TypeaheadMatch {
851
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
852
- constructor(item, value = item, header = false) {
853
- this.item = item;
854
- this.value = value;
855
- this.header = header;
856
- }
857
- isHeader() {
858
- return this.header;
859
- }
860
- toString() {
861
- return this.value;
862
- }
863
- }
864
-
865
- function latinize(str) {
866
- if (!str) {
867
- return '';
868
- }
869
- return str.replace(/[^A-Za-z0-9[\] ]/g, function (a) {
870
- return latinMap[a] || a;
871
- });
872
- }
873
- function escapeRegexp(queryToEscape) {
874
- // Regex: capture the whole query string and replace it with the string
875
- // that will be used to match the results, for example if the capture is
876
- // 'a' the result will be \a
877
- return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
878
- }
879
- function tokenize(str, wordRegexDelimiters = ' ', phraseRegexDelimiters = '', delimitersForMultipleSearch) {
880
- let result = [];
881
- if (!delimitersForMultipleSearch) {
882
- result = tokenizeWordsAndPhrases(str, wordRegexDelimiters, phraseRegexDelimiters);
883
- }
884
- else {
885
- const multipleSearchRegexStr = `([${delimitersForMultipleSearch}]+)`;
886
- const delimitedTokens = str.split(new RegExp(multipleSearchRegexStr, 'g'));
887
- const lastToken = delimitedTokens[delimitedTokens.length - 1];
888
- if (lastToken > '') {
889
- if (wordRegexDelimiters && phraseRegexDelimiters) {
890
- result = tokenizeWordsAndPhrases(lastToken, wordRegexDelimiters, phraseRegexDelimiters);
891
- }
892
- else {
893
- result.push(lastToken);
894
- }
895
- }
896
- }
897
- return result;
898
- }
899
- function tokenizeWordsAndPhrases(str, wordRegexDelimiters, phraseRegexDelimiters) {
900
- const result = [];
901
- const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +
902
- `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;
903
- const preTokenized = str.split(new RegExp(regexStr, 'g'));
904
- const preTokenizedLength = preTokenized.length;
905
- let token;
906
- const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');
907
- for (let i = 0; i < preTokenizedLength; i += 1) {
908
- token = preTokenized[i];
909
- if (token && token.length && token !== wordRegexDelimiters) {
910
- result.push(token.replace(replacePhraseDelimiters, ''));
911
- }
912
- }
913
- return result;
914
- }
915
- // eslint-disable-next-line
916
- function getValueFromObject(object, option) {
917
- if (!option || typeof object !== 'object') {
918
- return object.toString();
919
- }
920
- if (option.endsWith('()')) {
921
- const functionName = option.slice(0, option.length - 2);
922
- return object[functionName]().toString();
923
- }
924
- const properties = option
925
- .replace(/\[(\w+)\]/g, '.$1')
926
- .replace(/^\./, '');
927
- const propertiesArray = properties.split('.');
928
- for (const property of propertiesArray) {
929
- if (property in object) {
930
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
931
- // @ts-ignore
932
- object = object[property];
933
- }
934
- }
935
- if (!object) {
936
- return '';
937
- }
938
- return object.toString();
939
- }
940
-
941
- const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';
942
- const typeaheadAnimation = trigger('typeaheadAnimation', [
943
- state('animated-down', style({ height: '*', overflow: 'hidden' })),
944
- transition('* => animated-down', [
945
- style({ height: 0, overflow: 'hidden' }),
946
- animate(TYPEAHEAD_ANIMATION_TIMING)
947
- ]),
948
- state('animated-up', style({ height: '*', overflow: 'hidden' })),
949
- transition('* => animated-up', [
950
- style({ height: '*', overflow: 'hidden' }),
951
- animate(TYPEAHEAD_ANIMATION_TIMING)
952
- ]),
953
- transition('* => unanimated', animate('0s'))
954
- ]);
955
-
956
- let nextWindowId = 0;
957
- class TypeaheadContainerComponent {
958
- constructor(positionService, renderer, element, changeDetectorRef) {
959
- var _a;
960
- this.positionService = positionService;
961
- this.renderer = renderer;
962
- this.element = element;
963
- this.changeDetectorRef = changeDetectorRef;
964
- // eslint-disable-next-line @angular-eslint/no-output-rename
965
- this.activeChangeEvent = new EventEmitter();
966
- this.isFocused = false;
967
- this.positionServiceSubscription = new Subscription();
968
- this.height = 0;
969
- this.popupId = `ngb-typeahead-${nextWindowId++}`;
970
- this._matches = [];
971
- this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);
972
- this.positionServiceSubscription.add((_a = this.positionService.event$) === null || _a === void 0 ? void 0 : _a.subscribe(() => {
973
- if (this.isAnimated) {
974
- this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';
975
- this.changeDetectorRef.detectChanges();
976
- return;
977
- }
978
- this.animationState = 'unanimated';
979
- this.changeDetectorRef.detectChanges();
980
- }));
981
- }
982
- get typeaheadTemplateMethods() {
983
- return {
984
- selectMatch: this.selectMatch.bind(this),
985
- selectActive: this.selectActive.bind(this),
986
- isActive: this.isActive.bind(this)
987
- };
988
- }
989
- get active() {
990
- return this._active;
991
- }
992
- set active(active) {
993
- this._active = active;
994
- this.activeChanged();
995
- }
996
- get matches() {
997
- return this._matches;
998
- }
999
- set matches(value) {
1000
- var _a;
1001
- this.positionService.setOptions({
1002
- modifiers: { flip: { enabled: this.adaptivePosition } },
1003
- allowedPositions: ['top', 'bottom']
1004
- });
1005
- this._matches = value;
1006
- this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;
1007
- if (this.typeaheadScrollable) {
1008
- setTimeout(() => {
1009
- this.setScrollableMode();
1010
- });
1011
- }
1012
- if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {
1013
- this.setActive(this._matches[0]);
1014
- if ((_a = this._active) === null || _a === void 0 ? void 0 : _a.isHeader()) {
1015
- this.nextActiveMatch();
1016
- }
1017
- }
1018
- if (this._active && !this.typeaheadIsFirstItemActive) {
1019
- const concurrency = this._matches.find(match => { var _a; return match.value === ((_a = this._active) === null || _a === void 0 ? void 0 : _a.value); });
1020
- if (concurrency) {
1021
- this.selectActive(concurrency);
1022
- return;
1023
- }
1024
- this.active = void 0;
1025
- }
1026
- }
1027
- get isTopPosition() {
1028
- return this.element.nativeElement.classList.contains('top');
1029
- }
1030
- get optionsListTemplate() {
1031
- return this.parent ? this.parent.optionsListTemplate : undefined;
1032
- }
1033
- get isAnimated() {
1034
- return this.parent ? this.parent.isAnimated : false;
1035
- }
1036
- get adaptivePosition() {
1037
- return this.parent ? this.parent.adaptivePosition : false;
1038
- }
1039
- get typeaheadScrollable() {
1040
- return this.parent ? this.parent.typeaheadScrollable : false;
1041
- }
1042
- get typeaheadOptionsInScrollableView() {
1043
- return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;
1044
- }
1045
- get typeaheadIsFirstItemActive() {
1046
- return this.parent ? this.parent.typeaheadIsFirstItemActive : true;
1047
- }
1048
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1049
- get itemTemplate() {
1050
- return this.parent ? this.parent.typeaheadItemTemplate : undefined;
1051
- }
1052
- get canSelectItemsOnBlur() {
1053
- var _a;
1054
- return !!((_a = this.parent) === null || _a === void 0 ? void 0 : _a.selectItemOnBlur);
1055
- }
1056
- selectActiveMatch(isActiveItemChanged) {
1057
- var _a, _b;
1058
- if (this._active && ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.typeaheadSelectFirstItem)) {
1059
- this.selectMatch(this._active);
1060
- }
1061
- if (!((_b = this.parent) === null || _b === void 0 ? void 0 : _b.typeaheadSelectFirstItem) && isActiveItemChanged) {
1062
- this.selectMatch(this._active);
1063
- }
1064
- }
1065
- activeChanged() {
1066
- if (!this._active) {
1067
- return;
1068
- }
1069
- const index = this.matches.indexOf(this._active);
1070
- this.activeChangeEvent.emit(`${this.popupId}-${index}`);
1071
- }
1072
- prevActiveMatch() {
1073
- if (!this._active) {
1074
- return;
1075
- }
1076
- const index = this.matches.indexOf(this._active);
1077
- this.setActive(this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1]);
1078
- if (this._active.isHeader()) {
1079
- this.prevActiveMatch();
1080
- }
1081
- if (this.typeaheadScrollable) {
1082
- this.scrollPrevious(index);
1083
- }
1084
- }
1085
- nextActiveMatch() {
1086
- var _a;
1087
- const index = this._active ? this.matches.indexOf(this._active) : -1;
1088
- this.setActive(this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1]);
1089
- if ((_a = this._active) === null || _a === void 0 ? void 0 : _a.isHeader()) {
1090
- this.nextActiveMatch();
1091
- }
1092
- if (this.typeaheadScrollable) {
1093
- this.scrollNext(index);
1094
- }
1095
- }
1096
- selectActive(value) {
1097
- this.isFocused = true;
1098
- this.setActive(value);
1099
- }
1100
- highlight(match, query) {
1101
- let itemStr = match.value;
1102
- let itemStrHelper = (this.parent && this.parent.typeaheadLatinize
1103
- ? latinize(itemStr)
1104
- : itemStr).toLowerCase();
1105
- let startIdx;
1106
- let tokenLen;
1107
- // Replaces the capture string with the same string inside of a "strong" tag
1108
- if (typeof query === 'object') {
1109
- const queryLen = query.length;
1110
- for (let i = 0; i < queryLen; i += 1) {
1111
- // query[i] is already latinized and lower case
1112
- startIdx = itemStrHelper.indexOf(query[i]);
1113
- tokenLen = query[i].length;
1114
- if (startIdx >= 0 && tokenLen > 0) {
1115
- itemStr =
1116
- `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +
1117
- `${itemStr.substring(startIdx + tokenLen)}`;
1118
- itemStrHelper =
1119
- `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +
1120
- `${itemStrHelper.substring(startIdx + tokenLen)}`;
1121
- }
1122
- }
1123
- }
1124
- else if (query) {
1125
- // query is already latinized and lower case
1126
- startIdx = itemStrHelper.indexOf(query);
1127
- tokenLen = query.length;
1128
- if (startIdx >= 0 && tokenLen > 0) {
1129
- itemStr =
1130
- `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +
1131
- `${itemStr.substring(startIdx + tokenLen)}`;
1132
- }
1133
- }
1134
- return itemStr;
1135
- }
1136
- focusLost() {
1137
- this.isFocused = false;
1138
- if (!this.canSelectItemsOnBlur) {
1139
- this.setActive(void 0);
1140
- }
1141
- }
1142
- isActive(value) {
1143
- return this.active === value;
1144
- }
1145
- selectMatch(value, event) {
1146
- var _a;
1147
- if (event) {
1148
- event.stopPropagation();
1149
- event.preventDefault();
1150
- }
1151
- (_a = this.parent) === null || _a === void 0 ? void 0 : _a.changeModel(value);
1152
- setTimeout(() => { var _a; return (_a = this.parent) === null || _a === void 0 ? void 0 : _a.typeaheadOnSelect.emit(value); }, 0);
1153
- return false;
1154
- }
1155
- setScrollableMode() {
1156
- var _a;
1157
- if (!this.ulElement) {
1158
- this.ulElement = this.element;
1159
- }
1160
- if ((_a = this.liElements) === null || _a === void 0 ? void 0 : _a.first) {
1161
- const ulStyles = Utils.getStyles(this.ulElement.nativeElement);
1162
- const liStyles = Utils.getStyles(this.liElements.first.nativeElement);
1163
- const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')
1164
- .replace('px', ''));
1165
- const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')
1166
- .replace('px', ''));
1167
- const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')
1168
- .replace('px', ''));
1169
- const height = this.typeaheadOptionsInScrollableView * optionHeight;
1170
- this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;
1171
- }
1172
- this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');
1173
- }
1174
- scrollPrevious(index) {
1175
- if (index === 0) {
1176
- this.scrollToBottom();
1177
- return;
1178
- }
1179
- if (this.liElements && this.ulElement) {
1180
- const liElement = this.liElements.toArray()[index - 1];
1181
- if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {
1182
- this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;
1183
- }
1184
- }
1185
- }
1186
- scrollNext(index) {
1187
- if (index + 1 > this.matches.length - 1) {
1188
- this.scrollToTop();
1189
- return;
1190
- }
1191
- if (this.liElements && this.ulElement) {
1192
- const liElement = this.liElements.toArray()[index + 1];
1193
- if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {
1194
- this.ulElement.nativeElement.scrollTop =
1195
- liElement.nativeElement.offsetTop -
1196
- Number(this.ulElement.nativeElement.offsetHeight) +
1197
- Number(liElement.nativeElement.offsetHeight);
1198
- }
1199
- }
1200
- }
1201
- ngOnDestroy() {
1202
- this.positionServiceSubscription.unsubscribe();
1203
- }
1204
- setActive(value) {
1205
- var _a;
1206
- this._active = value;
1207
- let preview;
1208
- if (!(this._active == null || this._active.isHeader())) {
1209
- preview = value;
1210
- }
1211
- (_a = this.parent) === null || _a === void 0 ? void 0 : _a.typeaheadOnPreview.emit(preview);
1212
- }
1213
- isScrolledIntoView(elem) {
1214
- if (!this.ulElement) {
1215
- return false;
1216
- }
1217
- const containerViewTop = this.ulElement.nativeElement.scrollTop;
1218
- const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);
1219
- const elemTop = elem.offsetTop;
1220
- const elemBottom = elemTop + elem.offsetHeight;
1221
- return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));
1222
- }
1223
- ;
1224
- scrollToBottom() {
1225
- var _a;
1226
- if (!((_a = this.ulElement) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1227
- return;
1228
- }
1229
- this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;
1230
- }
1231
- scrollToTop() {
1232
- var _a;
1233
- if (!((_a = this.ulElement) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1234
- return;
1235
- }
1236
- this.ulElement.nativeElement.scrollTop = 0;
1237
- }
1238
- }
1239
- TypeaheadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadContainerComponent, deps: [{ token: i1.PositioningService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1240
- TypeaheadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: TypeaheadContainerComponent, selector: "typeahead-container", outputs: { activeChangeEvent: "activeChange" }, host: { listeners: { "mouseleave": "focusLost()", "blur": "focusLost()" }, properties: { "style.height": "needScrollbar ? guiHeight: 'auto'", "style.visibility": "'inherit'", "class.dropup": "dropup", "attr.role": "'listbox'" }, styleAttribute: "position: absolute;display: block;", classAttribute: "dropdown open bottom dropdown-menu" }, viewQueries: [{ propertyName: "ulElement", first: true, predicate: ["ulElement"], descendants: true }, { propertyName: "liElements", predicate: ["liElements"], descendants: true }], ngImport: i0, template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || bs4Template\"\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 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", styles: [":host.dropdown{z-index:1000}:host.dropdown-menu,.dropdown-menu{overflow-y:auto;height:100px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [typeaheadAnimation] });
1241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadContainerComponent, decorators: [{
1242
- type: Component,
1243
- args: [{ selector: 'typeahead-container', host: {
1244
- class: 'dropdown open bottom dropdown-menu',
1245
- '[style.height]': `needScrollbar ? guiHeight: 'auto'`,
1246
- '[style.visibility]': `'inherit'`,
1247
- '[class.dropup]': 'dropup',
1248
- style: 'position: absolute;display: block;',
1249
- '[attr.role]': `'listbox'`
1250
- }, animations: [typeaheadAnimation], template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || bs4Template\"\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 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", styles: [":host.dropdown{z-index:1000}:host.dropdown-menu,.dropdown-menu{overflow-y:auto;height:100px}\n"] }]
1251
- }], ctorParameters: function () { return [{ type: i1.PositioningService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { activeChangeEvent: [{
1252
- type: Output,
1253
- args: ['activeChange']
1254
- }], ulElement: [{
1255
- type: ViewChild,
1256
- args: ['ulElement', { static: false }]
1257
- }], liElements: [{
1258
- type: ViewChildren,
1259
- args: ['liElements']
1260
- }], focusLost: [{
1261
- type: HostListener,
1262
- args: ['mouseleave']
1263
- }, {
1264
- type: HostListener,
1265
- args: ['blur']
1266
- }] } });
1267
-
1268
- /** Default values provider for typeahead */
1269
- class TypeaheadConfig {
1270
- constructor() {
1271
- /** sets use adaptive position */
1272
- this.adaptivePosition = false;
1273
- /** turn on/off animation */
1274
- this.isAnimated = false;
1275
- /** used to hide results on blur */
1276
- this.hideResultsOnBlur = true;
1277
- /** if true, typeahead will cancel async request on blur */
1278
- this.cancelRequestOnFocusLost = false;
1279
- /** used to choose the first item in typeahead container */
1280
- this.selectFirstItem = true;
1281
- /** used to active/inactive the first item in typeahead container */
1282
- this.isFirstItemActive = true;
1283
- /** used to choose set minimal no of characters that needs to
1284
- * be entered before typeahead kicks-in
1285
- */
1286
- this.minLength = 1;
1287
- /**
1288
- * used to choose item on blur event
1289
- */
1290
- this.selectItemOnBlur = false;
1291
- }
1292
- }
1293
- TypeaheadConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1294
- TypeaheadConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadConfig, providedIn: 'root' });
1295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadConfig, decorators: [{
1296
- type: Injectable,
1297
- args: [{ providedIn: 'root' }]
1298
- }] });
1299
-
1300
- class TypeaheadDirective {
1301
- constructor(cis, config, changeDetection, element, ngControl, renderer, viewContainerRef) {
1302
- this.changeDetection = changeDetection;
1303
- this.element = element;
1304
- this.ngControl = ngControl;
1305
- this.renderer = renderer;
1306
- /** minimal no of characters that needs to be entered before
1307
- * typeahead kicks-in. When set to 0, typeahead shows on focus with full
1308
- * list of options (limited as normal by typeaheadOptionsLimit)
1309
- */
1310
- this.typeaheadMinLength = 1;
1311
- /** sets use adaptive position */
1312
- this.adaptivePosition = false;
1313
- /** turn on/off animation */
1314
- this.isAnimated = false;
1315
- /** minimal wait time after last character typed before typeahead kicks-in */
1316
- this.typeaheadWaitMs = 0;
1317
- /** match latin symbols.
1318
- * If true the word súper would match super and vice versa.
1319
- */
1320
- this.typeaheadLatinize = true;
1321
- /** Can be use to search words by inserting a single white space between each characters
1322
- * for example 'C a l i f o r n i a' will match 'California'.
1323
- */
1324
- this.typeaheadSingleWords = true;
1325
- /** should be used only in case typeaheadSingleWords attribute is true.
1326
- * Sets the word delimiter to break words. Defaults to space.
1327
- */
1328
- this.typeaheadWordDelimiters = ' ';
1329
- /** should be used only in case typeaheadMultipleSearch attribute is true.
1330
- * Sets the multiple search delimiter to know when to start a new search. Defaults to comma.
1331
- * If space needs to be used, then explicitly set typeaheadWordDelimiters to something else than space
1332
- * because space is used by default OR set typeaheadSingleWords attribute to false if you don't need
1333
- * to use it together with multiple search.
1334
- */
1335
- this.typeaheadMultipleSearchDelimiters = ',';
1336
- /** should be used only in case typeaheadSingleWords attribute is true.
1337
- * Sets the word delimiter to match exact phrase.
1338
- * Defaults to simple and double quotes.
1339
- */
1340
- this.typeaheadPhraseDelimiters = '\'"';
1341
- /** specifies if typeahead is scrollable */
1342
- this.typeaheadScrollable = false;
1343
- /** specifies number of options to show in scroll view */
1344
- this.typeaheadOptionsInScrollableView = 5;
1345
- /** fired when an options list was opened and the user clicked Tab
1346
- * If a value equal true, it will be chosen first or active item in the list
1347
- * If value equal false, it will be chosen an active item in the list or nothing
1348
- */
1349
- this.typeaheadSelectFirstItem = true;
1350
- /** makes active first item in a list */
1351
- this.typeaheadIsFirstItemActive = true;
1352
- /** fired when 'busy' state of this component was changed,
1353
- * fired on async mode only, returns boolean
1354
- */
1355
- this.typeaheadLoading = new EventEmitter();
1356
- /** fired on every key event and returns true
1357
- * in case of matches are not detected
1358
- */
1359
- this.typeaheadNoResults = new EventEmitter();
1360
- /** fired when option was selected, return object with data of this option. */
1361
- this.typeaheadOnSelect = new EventEmitter();
1362
- /** fired when option was previewed, return object with data of this option. */
1363
- this.typeaheadOnPreview = new EventEmitter();
1364
- /** fired when blur event occurs. returns the active item */
1365
- this.typeaheadOnBlur = new EventEmitter();
1366
- /** This attribute indicates that the dropdown should be opened upwards */
1367
- this.dropup = false;
1368
- this.isOpen = false;
1369
- this.list = 'list';
1370
- this.isActiveItemChanged = false;
1371
- this.isFocused = false;
1372
- this.cancelRequestOnFocusLost = false;
1373
- this.selectItemOnBlur = false;
1374
- this.keyUpEventEmitter = new EventEmitter();
1375
- this.placement = 'bottom left';
1376
- this._matches = [];
1377
- this._subscriptions = [];
1378
- this._outsideClickListener = () => void 0;
1379
- this._typeahead = cis.createLoader(element, viewContainerRef, renderer)
1380
- .provide({ provide: TypeaheadConfig, useValue: config });
1381
- Object.assign(this, {
1382
- typeaheadHideResultsOnBlur: config.hideResultsOnBlur,
1383
- cancelRequestOnFocusLost: config.cancelRequestOnFocusLost,
1384
- typeaheadSelectFirstItem: config.selectFirstItem,
1385
- typeaheadIsFirstItemActive: config.isFirstItemActive,
1386
- typeaheadMinLength: config.minLength,
1387
- adaptivePosition: config.adaptivePosition,
1388
- isAnimated: config.isAnimated,
1389
- selectItemOnBlur: config.selectItemOnBlur
1390
- });
1391
- }
1392
- get matches() {
1393
- return this._matches;
1394
- }
1395
- ngOnInit() {
1396
- this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;
1397
- this.typeaheadMinLength =
1398
- this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;
1399
- // async should be false in case of array
1400
- if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {
1401
- this.typeaheadAsync = false;
1402
- }
1403
- if (isObservable(this.typeahead)) {
1404
- this.typeaheadAsync = true;
1405
- }
1406
- if (this.typeaheadAsync) {
1407
- this.asyncActions();
1408
- }
1409
- else {
1410
- this.syncActions();
1411
- }
1412
- this.checkDelimitersConflict();
1413
- }
1414
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1415
- onInput(e) {
1416
- // For `<input>`s, use the `value` property. For others that don't have a
1417
- // `value` (such as `<span contenteditable="true">`), use either
1418
- // `textContent` or `innerText` (depending on which one is supported, i.e.
1419
- // Firefox or IE).
1420
- const value = e.target.value !== undefined
1421
- ? e.target.value
1422
- : e.target.textContent !== undefined
1423
- ? e.target.textContent
1424
- : e.target.innerText;
1425
- if (value != null && value.trim().length >= this.typeaheadMinLength) {
1426
- this.typeaheadLoading.emit(true);
1427
- this.keyUpEventEmitter.emit(e.target.value);
1428
- }
1429
- else {
1430
- this.typeaheadLoading.emit(false);
1431
- this.typeaheadNoResults.emit(false);
1432
- this.hide();
1433
- }
1434
- }
1435
- onChange(event) {
1436
- if (this._container) {
1437
- // esc
1438
- if (event.keyCode === 27 || event.key === 'Escape') {
1439
- this.hide();
1440
- return;
1441
- }
1442
- // up
1443
- if (event.keyCode === 38 || event.key === 'ArrowUp') {
1444
- this.isActiveItemChanged = true;
1445
- this._container.prevActiveMatch();
1446
- return;
1447
- }
1448
- // down
1449
- if (event.keyCode === 40 || event.key === 'ArrowDown') {
1450
- this.isActiveItemChanged = true;
1451
- this._container.nextActiveMatch();
1452
- return;
1453
- }
1454
- // enter
1455
- if (event.keyCode === 13 || event.key === 'Enter') {
1456
- this._container.selectActiveMatch();
1457
- return;
1458
- }
1459
- }
1460
- }
1461
- onFocus() {
1462
- this.isFocused = true;
1463
- // add setTimeout to fix issue #5251
1464
- // to get and emit updated value if it's changed on focus
1465
- setTimeout(() => {
1466
- if (this.typeaheadMinLength === 0) {
1467
- this.typeaheadLoading.emit(true);
1468
- this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
1469
- }
1470
- }, 0);
1471
- }
1472
- onBlur() {
1473
- var _a;
1474
- this.isFocused = false;
1475
- if (this._container && !this._container.isFocused) {
1476
- this.typeaheadOnBlur.emit(this._container.active);
1477
- }
1478
- if (!this.container && ((_a = this._matches) === null || _a === void 0 ? void 0 : _a.length) === 0) {
1479
- this.typeaheadOnBlur.emit(new TypeaheadMatch(this.element.nativeElement.value, this.element.nativeElement.value, false));
1480
- }
1481
- }
1482
- onKeydown(event) {
1483
- // no container - no problems
1484
- if (!this._container) {
1485
- return;
1486
- }
1487
- if (event.keyCode === 9 || event.key === 'Tab') {
1488
- this.onBlur();
1489
- }
1490
- if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {
1491
- event.preventDefault();
1492
- if (this.typeaheadSelectFirstItem) {
1493
- this._container.selectActiveMatch();
1494
- return;
1495
- }
1496
- if (!this.typeaheadSelectFirstItem) {
1497
- this._container.selectActiveMatch(this.isActiveItemChanged);
1498
- this.isActiveItemChanged = false;
1499
- this.hide();
1500
- }
1501
- }
1502
- }
1503
- changeModel(match) {
1504
- var _a;
1505
- if (!match) {
1506
- return;
1507
- }
1508
- let valueStr;
1509
- if (this.typeaheadMultipleSearch && this._allEnteredValue) {
1510
- const tokens = this._allEnteredValue.split(new RegExp(`([${this.typeaheadMultipleSearchDelimiters}]+)`));
1511
- this._allEnteredValue = tokens.slice(0, tokens.length - 1).concat(match.value).join('');
1512
- valueStr = this._allEnteredValue;
1513
- }
1514
- else {
1515
- valueStr = match.value;
1516
- }
1517
- this.ngControl.viewToModelUpdate(valueStr);
1518
- (_a = this.ngControl.control) === null || _a === void 0 ? void 0 : _a.setValue(valueStr);
1519
- this.changeDetection.markForCheck();
1520
- this.hide();
1521
- }
1522
- show() {
1523
- this._typeahead
1524
- .attach(TypeaheadContainerComponent)
1525
- .to(this.container)
1526
- .position({ attachment: `${this.dropup ? 'top' : 'bottom'} left` })
1527
- .show({
1528
- typeaheadRef: this,
1529
- placement: this.placement,
1530
- animation: false,
1531
- dropup: this.dropup
1532
- });
1533
- this._outsideClickListener = this.renderer
1534
- .listen('document', 'click', (event) => {
1535
- if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(event.target)) {
1536
- return;
1537
- }
1538
- if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(event.target)) {
1539
- return;
1540
- }
1541
- this.onOutsideClick();
1542
- });
1543
- if (!this._typeahead.instance || !this.ngControl.control) {
1544
- return;
1545
- }
1546
- this._container = this._typeahead.instance;
1547
- this._container.parent = this;
1548
- // This improves the speed as it won't have to be done for each list item
1549
- const normalizedQuery = (this.typeaheadLatinize
1550
- ? latinize(this.ngControl.control.value)
1551
- : this.ngControl.control.value)
1552
- .toString()
1553
- .toLowerCase();
1554
- this._container.query = this.tokenizeQuery(normalizedQuery);
1555
- this._container.matches = this._matches;
1556
- this.element.nativeElement.focus();
1557
- this._container.activeChangeEvent.subscribe((activeId) => {
1558
- this.activeDescendant = activeId;
1559
- this.changeDetection.markForCheck();
1560
- });
1561
- this.isOpen = true;
1562
- }
1563
- hide() {
1564
- if (this._typeahead.isShown) {
1565
- this._typeahead.hide();
1566
- this._outsideClickListener();
1567
- this._container = void 0;
1568
- this.isOpen = false;
1569
- this.changeDetection.markForCheck();
1570
- }
1571
- this.typeaheadOnPreview.emit();
1572
- }
1573
- onOutsideClick() {
1574
- if (this._container && !this._container.isFocused) {
1575
- this.hide();
1576
- }
1577
- }
1578
- ngOnDestroy() {
1579
- // clean up subscriptions
1580
- for (const sub of this._subscriptions) {
1581
- sub.unsubscribe();
1582
- }
1583
- this._typeahead.dispose();
1584
- }
1585
- asyncActions() {
1586
- this._subscriptions.push(this.keyUpEventEmitter
1587
- .pipe(debounceTime(this.typeaheadWaitMs), tap(value => this._allEnteredValue = value), switchMap(() => {
1588
- if (!this.typeahead) {
1589
- return EMPTY;
1590
- }
1591
- return this.typeahead;
1592
- }))
1593
- .subscribe((matches) => {
1594
- this.finalizeAsyncCall(matches);
1595
- }));
1596
- }
1597
- syncActions() {
1598
- this._subscriptions.push(this.keyUpEventEmitter
1599
- .pipe(debounceTime(this.typeaheadWaitMs), mergeMap((value) => {
1600
- this._allEnteredValue = value;
1601
- const normalizedQuery = this.normalizeQuery(value);
1602
- if (!this.typeahead) {
1603
- return EMPTY;
1604
- }
1605
- const typeahead = isObservable(this.typeahead) ? this.typeahead : from(this.typeahead);
1606
- return typeahead
1607
- .pipe(filter((option) => {
1608
- return !!option && this.testMatch(this.normalizeOption(option), normalizedQuery);
1609
- }), toArray());
1610
- }))
1611
- .subscribe((matches) => {
1612
- this.finalizeAsyncCall(matches);
1613
- }));
1614
- }
1615
- normalizeOption(option) {
1616
- const optionValue = getValueFromObject(option, this.typeaheadOptionField);
1617
- const normalizedOption = this.typeaheadLatinize
1618
- ? latinize(optionValue)
1619
- : optionValue;
1620
- return normalizedOption.toLowerCase();
1621
- }
1622
- tokenizeQuery(currentQuery) {
1623
- let query = currentQuery;
1624
- if (this.typeaheadMultipleSearch && this.typeaheadSingleWords) {
1625
- if (!this.haveCommonCharacters(`${this.typeaheadPhraseDelimiters}${this.typeaheadWordDelimiters}`, this.typeaheadMultipleSearchDelimiters)) {
1626
- // single words and multiple search delimiters are different, can be used together
1627
- query = tokenize(query, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters, this.typeaheadMultipleSearchDelimiters);
1628
- }
1629
- }
1630
- else if (this.typeaheadSingleWords) {
1631
- query = tokenize(query, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters);
1632
- }
1633
- else {
1634
- // multiple searches
1635
- query = tokenize(query, void 0, void 0, this.typeaheadMultipleSearchDelimiters);
1636
- }
1637
- return query;
1638
- }
1639
- normalizeQuery(value) {
1640
- // If singleWords, break model here to not be doing extra work on each iteration
1641
- let normalizedQuery = (this.typeaheadLatinize
1642
- ? latinize(value)
1643
- : value)
1644
- .toString()
1645
- .toLowerCase();
1646
- normalizedQuery = this.tokenizeQuery(normalizedQuery);
1647
- return normalizedQuery;
1648
- }
1649
- testMatch(match, test) {
1650
- let spaceLength;
1651
- if (typeof test === 'object') {
1652
- spaceLength = test.length;
1653
- for (let i = 0; i < spaceLength; i += 1) {
1654
- if (test[i].length > 0 && match.indexOf(test[i]) < 0) {
1655
- return false;
1656
- }
1657
- }
1658
- return true;
1659
- }
1660
- return match.indexOf(test) >= 0;
1661
- }
1662
- finalizeAsyncCall(matches) {
1663
- this.prepareMatches(matches || []);
1664
- this.typeaheadLoading.emit(false);
1665
- this.typeaheadNoResults.emit(!this.hasMatches());
1666
- if (!this.hasMatches()) {
1667
- this.hide();
1668
- return;
1669
- }
1670
- if (!this.isFocused && this.cancelRequestOnFocusLost) {
1671
- return;
1672
- }
1673
- if (this._container && this.ngControl.control) {
1674
- // fix: remove usage of ngControl internals
1675
- const _controlValue = (this.typeaheadLatinize
1676
- ? latinize(this.ngControl.control.value)
1677
- : this.ngControl.control.value) || '';
1678
- // This improves the speed as it won't have to be done for each list item
1679
- const normalizedQuery = _controlValue.toString().toLowerCase();
1680
- this._container.query = this.tokenizeQuery(normalizedQuery);
1681
- this._container.matches = this._matches;
1682
- }
1683
- else {
1684
- this.show();
1685
- }
1686
- }
1687
- prepareMatches(options) {
1688
- const limited = options.slice(0, this.typeaheadOptionsLimit);
1689
- const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);
1690
- if (this.typeaheadGroupField) {
1691
- let matches = [];
1692
- // extract all group names
1693
- const groups = sorted
1694
- .map((option) => getValueFromObject(option, this.typeaheadGroupField))
1695
- .filter((v, i, a) => a.indexOf(v) === i);
1696
- groups.forEach((group) => {
1697
- // add group header to array of matches
1698
- matches.push(new TypeaheadMatch(group, group, true));
1699
- // add each item of group to array of matches
1700
- matches = matches.concat(sorted
1701
- .filter((option) => getValueFromObject(option, this.typeaheadGroupField) === group)
1702
- .map((option) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField))));
1703
- });
1704
- this._matches = matches;
1705
- }
1706
- else {
1707
- this._matches = sorted.map(
1708
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1709
- (option) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField)));
1710
- }
1711
- }
1712
- orderMatches(options) {
1713
- if (!options.length) {
1714
- return options;
1715
- }
1716
- if (this.typeaheadOrderBy !== null
1717
- && this.typeaheadOrderBy !== undefined
1718
- && typeof this.typeaheadOrderBy === 'object'
1719
- && Object.keys(this.typeaheadOrderBy).length === 0) {
1720
- console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');
1721
- return options;
1722
- }
1723
- const { field, direction } = (this.typeaheadOrderBy || {});
1724
- if (!direction || !(direction === 'asc' || direction === 'desc')) {
1725
- console.error('typeaheadOrderBy direction has to equal "asc" or "desc". Please follow the documentation.');
1726
- return options;
1727
- }
1728
- if (typeof options[0] === 'string') {
1729
- return direction === 'asc' ? options.sort() : options.sort().reverse();
1730
- }
1731
- if (!field || typeof field !== 'string') {
1732
- console.error('typeaheadOrderBy field has to set according to the documentation.');
1733
- return options;
1734
- }
1735
- return options.sort((a, b) => {
1736
- const stringA = getValueFromObject(a, field);
1737
- const stringB = getValueFromObject(b, field);
1738
- if (stringA < stringB) {
1739
- return direction === 'asc' ? -1 : 1;
1740
- }
1741
- if (stringA > stringB) {
1742
- return direction === 'asc' ? 1 : -1;
1743
- }
1744
- return 0;
1745
- });
1746
- }
1747
- hasMatches() {
1748
- return this._matches.length > 0;
1749
- }
1750
- checkDelimitersConflict() {
1751
- if (this.typeaheadMultipleSearch && this.typeaheadSingleWords
1752
- && (this.haveCommonCharacters(`${this.typeaheadPhraseDelimiters}${this.typeaheadWordDelimiters}`, this.typeaheadMultipleSearchDelimiters))) {
1753
- throw new Error(`Delimiters used in typeaheadMultipleSearchDelimiters must be different
1754
- from delimiters used in typeaheadWordDelimiters (current value: ${this.typeaheadWordDelimiters}) and
1755
- typeaheadPhraseDelimiters (current value: ${this.typeaheadPhraseDelimiters}).
1756
- Please refer to the documentation`);
1757
- }
1758
- }
1759
- haveCommonCharacters(str1, str2) {
1760
- for (let i = 0; i < str1.length; i++) {
1761
- if (str1.charAt(i).indexOf(str2) > -1) {
1762
- return true;
1763
- }
1764
- }
1765
- return false;
1766
- }
1767
- }
1768
- TypeaheadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadDirective, deps: [{ token: i1$1.ComponentLoaderFactory }, { token: TypeaheadConfig }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i3.NgControl }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
1769
- TypeaheadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.3", type: TypeaheadDirective, selector: "[typeahead]", inputs: { typeahead: "typeahead", typeaheadMinLength: "typeaheadMinLength", adaptivePosition: "adaptivePosition", isAnimated: "isAnimated", typeaheadWaitMs: "typeaheadWaitMs", typeaheadOptionsLimit: "typeaheadOptionsLimit", typeaheadOptionField: "typeaheadOptionField", typeaheadGroupField: "typeaheadGroupField", typeaheadOrderBy: "typeaheadOrderBy", typeaheadAsync: "typeaheadAsync", typeaheadLatinize: "typeaheadLatinize", typeaheadSingleWords: "typeaheadSingleWords", typeaheadWordDelimiters: "typeaheadWordDelimiters", typeaheadMultipleSearch: "typeaheadMultipleSearch", typeaheadMultipleSearchDelimiters: "typeaheadMultipleSearchDelimiters", typeaheadPhraseDelimiters: "typeaheadPhraseDelimiters", typeaheadItemTemplate: "typeaheadItemTemplate", optionsListTemplate: "optionsListTemplate", typeaheadScrollable: "typeaheadScrollable", typeaheadOptionsInScrollableView: "typeaheadOptionsInScrollableView", typeaheadHideResultsOnBlur: "typeaheadHideResultsOnBlur", typeaheadSelectFirstItem: "typeaheadSelectFirstItem", typeaheadIsFirstItemActive: "typeaheadIsFirstItemActive", container: "container", dropup: "dropup" }, outputs: { typeaheadLoading: "typeaheadLoading", typeaheadNoResults: "typeaheadNoResults", typeaheadOnSelect: "typeaheadOnSelect", typeaheadOnPreview: "typeaheadOnPreview", typeaheadOnBlur: "typeaheadOnBlur" }, host: { listeners: { "input": "onInput($event)", "keyup": "onChange($event)", "click": "onFocus()", "focus": "onFocus()", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "attr.aria-activedescendant": "activeDescendant", "attr.aria-owns": "isOpen ? this._container.popupId : null", "attr.aria-expanded": "isOpen", "attr.aria-autocomplete": "list" } }, exportAs: ["bs-typeahead"], ngImport: i0 });
1770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadDirective, decorators: [{
1771
- type: Directive,
1772
- args: [{
1773
- selector: '[typeahead]',
1774
- exportAs: 'bs-typeahead',
1775
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
1776
- host: {
1777
- '[attr.aria-activedescendant]': 'activeDescendant',
1778
- '[attr.aria-owns]': 'isOpen ? this._container.popupId : null',
1779
- '[attr.aria-expanded]': 'isOpen',
1780
- '[attr.aria-autocomplete]': 'list'
1781
- }
1782
- }]
1783
- }], ctorParameters: function () { return [{ type: i1$1.ComponentLoaderFactory }, { type: TypeaheadConfig }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i3.NgControl }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }]; }, propDecorators: { typeahead: [{
1784
- type: Input
1785
- }], typeaheadMinLength: [{
1786
- type: Input
1787
- }], adaptivePosition: [{
1788
- type: Input
1789
- }], isAnimated: [{
1790
- type: Input
1791
- }], typeaheadWaitMs: [{
1792
- type: Input
1793
- }], typeaheadOptionsLimit: [{
1794
- type: Input
1795
- }], typeaheadOptionField: [{
1796
- type: Input
1797
- }], typeaheadGroupField: [{
1798
- type: Input
1799
- }], typeaheadOrderBy: [{
1800
- type: Input
1801
- }], typeaheadAsync: [{
1802
- type: Input
1803
- }], typeaheadLatinize: [{
1804
- type: Input
1805
- }], typeaheadSingleWords: [{
1806
- type: Input
1807
- }], typeaheadWordDelimiters: [{
1808
- type: Input
1809
- }], typeaheadMultipleSearch: [{
1810
- type: Input
1811
- }], typeaheadMultipleSearchDelimiters: [{
1812
- type: Input
1813
- }], typeaheadPhraseDelimiters: [{
1814
- type: Input
1815
- }], typeaheadItemTemplate: [{
1816
- type: Input
1817
- }], optionsListTemplate: [{
1818
- type: Input
1819
- }], typeaheadScrollable: [{
1820
- type: Input
1821
- }], typeaheadOptionsInScrollableView: [{
1822
- type: Input
1823
- }], typeaheadHideResultsOnBlur: [{
1824
- type: Input
1825
- }], typeaheadSelectFirstItem: [{
1826
- type: Input
1827
- }], typeaheadIsFirstItemActive: [{
1828
- type: Input
1829
- }], typeaheadLoading: [{
1830
- type: Output
1831
- }], typeaheadNoResults: [{
1832
- type: Output
1833
- }], typeaheadOnSelect: [{
1834
- type: Output
1835
- }], typeaheadOnPreview: [{
1836
- type: Output
1837
- }], typeaheadOnBlur: [{
1838
- type: Output
1839
- }], container: [{
1840
- type: Input
1841
- }], dropup: [{
1842
- type: Input
1843
- }],
1844
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1845
- onInput: [{
1846
- type: HostListener,
1847
- args: ['input', ['$event']]
1848
- }], onChange: [{
1849
- type: HostListener,
1850
- args: ['keyup', ['$event']]
1851
- }], onFocus: [{
1852
- type: HostListener,
1853
- args: ['click']
1854
- }, {
1855
- type: HostListener,
1856
- args: ['focus']
1857
- }], onBlur: [{
1858
- type: HostListener,
1859
- args: ['blur']
1860
- }], onKeydown: [{
1861
- type: HostListener,
1862
- args: ['keydown', ['$event']]
1863
- }] } });
1864
-
1865
- class TypeaheadModule {
1866
- static forRoot() {
1867
- return {
1868
- ngModule: TypeaheadModule,
1869
- providers: [ComponentLoaderFactory, PositioningService]
1870
- };
1871
- }
1872
- }
1873
- TypeaheadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1874
- TypeaheadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadModule, declarations: [TypeaheadContainerComponent, TypeaheadDirective], imports: [CommonModule], exports: [TypeaheadContainerComponent, TypeaheadDirective] });
1875
- TypeaheadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadModule, imports: [CommonModule] });
1876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TypeaheadModule, decorators: [{
1877
- type: NgModule,
1878
- args: [{
1879
- imports: [CommonModule],
1880
- declarations: [TypeaheadContainerComponent, TypeaheadDirective],
1881
- exports: [TypeaheadContainerComponent, TypeaheadDirective]
1882
- }]
1883
- }] });
1884
-
1885
- /**
1886
- * Generated bundle index. Do not edit.
1887
- */
1888
-
1889
- export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize };
1890
- //# sourceMappingURL=ngx-bootstrap-typeahead.mjs.map