@koobiq/components 18.35.0 → 18.37.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 (626) hide show
  1. package/accordion/accordion.component.d.ts +1 -1
  2. package/app-switcher/_app-switcher-theme.scss +34 -0
  3. package/app-switcher/app-switcher-animations.d.ts +5 -0
  4. package/app-switcher/app-switcher-dropdown-app.d.ts +11 -0
  5. package/app-switcher/app-switcher-dropdown-app.scss +85 -0
  6. package/app-switcher/app-switcher-dropdown-site.d.ts +9 -0
  7. package/app-switcher/app-switcher-dropdown-site.scss +53 -0
  8. package/app-switcher/app-switcher.d.ts +191 -0
  9. package/app-switcher/app-switcher.module.d.ts +10 -0
  10. package/app-switcher/app-switcher.scss +64 -0
  11. package/app-switcher/index.d.ts +1 -0
  12. package/app-switcher/kbq-app-switcher-list-item.d.ts +16 -0
  13. package/app-switcher/kbq-app-switcher-list-item.scss +180 -0
  14. package/app-switcher/public-api.d.ts +6 -0
  15. package/autocomplete/autocomplete.scss +2 -17
  16. package/badge/badge.component.d.ts +1 -1
  17. package/badge/badge.component.scss +2 -0
  18. package/breadcrumbs/breadcrumbs.d.ts +2 -1
  19. package/breadcrumbs/breadcrumbs.scss +8 -4
  20. package/button/button.component.d.ts +3 -2
  21. package/button-toggle/button-toggle.scss +0 -2
  22. package/content-panel/content-panel.d.ts +1 -1
  23. package/content-panel/index.d.ts +0 -1
  24. package/core/common-behaviors/clipboard.d.ts +1 -1
  25. package/core/common-behaviors/color.d.ts +5 -5
  26. package/core/common-behaviors/focus-monitor.d.ts +19 -0
  27. package/core/common-behaviors/hover.d.ts +15 -0
  28. package/core/common-behaviors/index.d.ts +4 -0
  29. package/core/common-behaviors/orientation.d.ts +4 -0
  30. package/core/common-behaviors/read-state.d.ts +12 -0
  31. package/core/locales/en-US.d.ts +62 -0
  32. package/core/locales/es-LA.d.ts +62 -0
  33. package/core/locales/formatters.d.ts +0 -72
  34. package/core/locales/index.d.ts +0 -2
  35. package/core/locales/locale-service.d.ts +292 -250
  36. package/core/locales/pt-BR.d.ts +62 -0
  37. package/core/locales/ru-RU.d.ts +62 -0
  38. package/core/locales/tk-TM.d.ts +62 -0
  39. package/core/locales/types.d.ts +22 -0
  40. package/core/navbar/rectangle-item.d.ts +1 -1
  41. package/core/option/action.d.ts +1 -1
  42. package/core/option/option.d.ts +3 -2
  43. package/core/pop-up/constants.d.ts +2 -1
  44. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  45. package/core/pop-up/pop-up.d.ts +2 -1
  46. package/core/select/common.d.ts +6 -1
  47. package/core/select/constants.d.ts +5 -0
  48. package/core/styles/common/_select.scss +25 -0
  49. package/core/styles/typography/_typography.scss +23 -82
  50. package/core/utils/dom.d.ts +1 -6
  51. package/datepicker/datepicker-module.d.ts +2 -1
  52. package/divider/divider.scss +1 -0
  53. package/dropdown/dropdown-item.scss +8 -7
  54. package/dropdown/dropdown.component.d.ts +5 -1
  55. package/dropdown/dropdown.module.d.ts +1 -1
  56. package/dropdown/dropdown.scss +5 -14
  57. package/esm2022/accordion/accordion-content.mjs +3 -3
  58. package/esm2022/accordion/accordion-header.mjs +3 -3
  59. package/esm2022/accordion/accordion-item.mjs +3 -3
  60. package/esm2022/accordion/accordion-trigger.component.mjs +3 -3
  61. package/esm2022/accordion/accordion.component.mjs +5 -5
  62. package/esm2022/accordion/accordion.module.mjs +4 -4
  63. package/esm2022/actions-panel/actions-panel-container.mjs +3 -3
  64. package/esm2022/actions-panel/actions-panel.mjs +3 -3
  65. package/esm2022/actions-panel/module.mjs +4 -4
  66. package/esm2022/alert/alert.component.mjs +12 -12
  67. package/esm2022/alert/alert.module.mjs +4 -4
  68. package/esm2022/app-switcher/app-switcher-animations.mjs +18 -0
  69. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +75 -0
  70. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +60 -0
  71. package/esm2022/app-switcher/app-switcher.mjs +446 -0
  72. package/esm2022/app-switcher/app-switcher.module.mjs +45 -0
  73. package/esm2022/app-switcher/index.mjs +2 -0
  74. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +84 -0
  75. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +5 -0
  76. package/esm2022/app-switcher/public-api.mjs +7 -0
  77. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  78. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +7 -7
  79. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  80. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  81. package/esm2022/badge/badge.component.mjs +11 -11
  82. package/esm2022/badge/badge.module.mjs +4 -4
  83. package/esm2022/breadcrumbs/breadcrumbs.mjs +58 -49
  84. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  85. package/esm2022/button/button.component.mjs +12 -10
  86. package/esm2022/button/button.dropdown-trigger.directive.mjs +3 -3
  87. package/esm2022/button/button.module.mjs +4 -4
  88. package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
  89. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  90. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  91. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  92. package/esm2022/checkbox/checkbox.mjs +3 -3
  93. package/esm2022/clamped-text/clamped-text.mjs +3 -3
  94. package/esm2022/clamped-text/module.mjs +4 -4
  95. package/esm2022/code-block/code-block-highlight.mjs +12 -7
  96. package/esm2022/code-block/code-block.mjs +4 -4
  97. package/esm2022/code-block/code-block.module.mjs +4 -4
  98. package/esm2022/content-panel/content-panel.mjs +26 -26
  99. package/esm2022/content-panel/index.mjs +1 -2
  100. package/esm2022/content-panel/module.mjs +4 -4
  101. package/esm2022/core/common-behaviors/clipboard.mjs +4 -4
  102. package/esm2022/core/common-behaviors/color.mjs +7 -7
  103. package/esm2022/core/common-behaviors/common-module.mjs +6 -5
  104. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  105. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  106. package/esm2022/core/common-behaviors/focus-monitor.mjs +37 -0
  107. package/esm2022/core/common-behaviors/hover.mjs +34 -0
  108. package/esm2022/core/common-behaviors/index.mjs +5 -1
  109. package/esm2022/core/common-behaviors/orientation.mjs +2 -0
  110. package/esm2022/core/common-behaviors/read-state.mjs +33 -0
  111. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  112. package/esm2022/core/error/error-state-matcher.mjs +9 -9
  113. package/esm2022/core/form-field/field-sizing-content.mjs +8 -5
  114. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  115. package/esm2022/core/formatters/date/formatter.pipe.mjs +78 -78
  116. package/esm2022/core/formatters/filesize/formatter.mjs +3 -3
  117. package/esm2022/core/formatters/index.mjs +4 -4
  118. package/esm2022/core/formatters/number/formatter.mjs +14 -14
  119. package/esm2022/core/forms/forms-module.mjs +4 -4
  120. package/esm2022/core/forms/forms.directive.mjs +6 -6
  121. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  122. package/esm2022/core/highlight/index.mjs +4 -4
  123. package/esm2022/core/line/line.mjs +7 -7
  124. package/esm2022/core/locales/en-US.mjs +105 -1
  125. package/esm2022/core/locales/es-LA.mjs +114 -10
  126. package/esm2022/core/locales/formatters.mjs +1 -73
  127. package/esm2022/core/locales/index.mjs +1 -3
  128. package/esm2022/core/locales/locale-service.mjs +5 -11
  129. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  130. package/esm2022/core/locales/pt-BR.mjs +123 -19
  131. package/esm2022/core/locales/ru-RU.mjs +119 -1
  132. package/esm2022/core/locales/tk-TM.mjs +128 -24
  133. package/esm2022/core/locales/types.mjs +1 -1
  134. package/esm2022/core/navbar/rectangle-item.mjs +7 -6
  135. package/esm2022/core/option/action-container.mjs +3 -3
  136. package/esm2022/core/option/action.mjs +4 -4
  137. package/esm2022/core/option/optgroup.mjs +3 -3
  138. package/esm2022/core/option/option-module.mjs +4 -4
  139. package/esm2022/core/option/option.mjs +13 -9
  140. package/esm2022/core/pop-up/constants.mjs +2 -1
  141. package/esm2022/core/pop-up/pop-up-trigger.mjs +7 -6
  142. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  143. package/esm2022/core/select/common.mjs +35 -19
  144. package/esm2022/core/select/constants.mjs +6 -1
  145. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  146. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  147. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  148. package/esm2022/core/services/theme.service.mjs +3 -3
  149. package/esm2022/core/utils/dom.mjs +2 -8
  150. package/esm2022/core/version.mjs +2 -2
  151. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  152. package/esm2022/datepicker/calendar-header.component.mjs +7 -6
  153. package/esm2022/datepicker/calendar.component.mjs +3 -3
  154. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  155. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  156. package/esm2022/datepicker/datepicker-module.mjs +11 -8
  157. package/esm2022/datepicker/datepicker-toggle.component.mjs +9 -9
  158. package/esm2022/datepicker/datepicker.component.mjs +6 -6
  159. package/esm2022/datepicker/month-view.component.mjs +3 -3
  160. package/esm2022/divider/divider.component.mjs +4 -4
  161. package/esm2022/divider/divider.module.mjs +4 -4
  162. package/esm2022/dl/dl.component.mjs +9 -9
  163. package/esm2022/dl/dl.module.mjs +4 -4
  164. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  165. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  166. package/esm2022/dropdown/dropdown-trigger.directive.mjs +5 -5
  167. package/esm2022/dropdown/dropdown.component.mjs +18 -8
  168. package/esm2022/dropdown/dropdown.module.mjs +14 -10
  169. package/esm2022/dynamic-translation/dynamic-translation.mjs +9 -9
  170. package/esm2022/dynamic-translation/module.mjs +4 -4
  171. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +12 -9
  172. package/esm2022/empty-state/empty-state.component.mjs +15 -15
  173. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  174. package/esm2022/file-upload/file-drop.mjs +7 -5
  175. package/esm2022/file-upload/file-upload.mjs +1 -1
  176. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  177. package/esm2022/file-upload/multiple-file-upload.component.mjs +20 -13
  178. package/esm2022/file-upload/single-file-upload.component.mjs +19 -6
  179. package/esm2022/filter-bar/filter-bar-button.mjs +3 -3
  180. package/esm2022/filter-bar/filter-bar.mjs +8 -4
  181. package/esm2022/filter-bar/filter-bar.module.mjs +4 -4
  182. package/esm2022/filter-bar/filter-refresher.mjs +3 -3
  183. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  184. package/esm2022/filter-bar/filter-search.mjs +6 -6
  185. package/esm2022/filter-bar/filters.mjs +12 -7
  186. package/esm2022/filter-bar/pipe-add.mjs +6 -5
  187. package/esm2022/filter-bar/pipe.directive.mjs +3 -3
  188. package/esm2022/filter-bar/pipes/base-pipe.mjs +17 -9
  189. package/esm2022/filter-bar/pipes/pipe-button.mjs +3 -3
  190. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  191. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  192. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +15 -9
  193. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +12 -7
  194. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  195. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  196. package/esm2022/filter-bar/pipes/pipe-state.mjs +3 -3
  197. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  198. package/esm2022/filter-bar/pipes/pipe-title.mjs +26 -21
  199. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +6 -6
  200. package/esm2022/form-field/cleaner.mjs +3 -3
  201. package/esm2022/form-field/error.mjs +3 -3
  202. package/esm2022/form-field/fieldset.mjs +11 -11
  203. package/esm2022/form-field/form-field.mjs +11 -11
  204. package/esm2022/form-field/form-field.module.mjs +4 -4
  205. package/esm2022/form-field/hint.mjs +3 -3
  206. package/esm2022/form-field/label.mjs +3 -3
  207. package/esm2022/form-field/password-hint.mjs +3 -3
  208. package/esm2022/form-field/password-toggle.mjs +7 -7
  209. package/esm2022/form-field/prefix.mjs +3 -3
  210. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  211. package/esm2022/form-field/stepper.mjs +44 -13
  212. package/esm2022/form-field/suffix.mjs +3 -3
  213. package/esm2022/form-field/validate.directive.mjs +3 -3
  214. package/esm2022/icon/icon-button.component.mjs +3 -3
  215. package/esm2022/icon/icon-item.component.mjs +3 -3
  216. package/esm2022/icon/icon.component.mjs +4 -4
  217. package/esm2022/icon/icon.module.mjs +4 -4
  218. package/esm2022/inline-edit/index.mjs +3 -0
  219. package/esm2022/inline-edit/inline-edit.mjs +382 -0
  220. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +5 -0
  221. package/esm2022/inline-edit/module.mjs +25 -0
  222. package/esm2022/input/input-number-validators.mjs +6 -6
  223. package/esm2022/input/input-number.mjs +10 -9
  224. package/esm2022/input/input-password.mjs +4 -4
  225. package/esm2022/input/input.mjs +7 -7
  226. package/esm2022/input/input.module.mjs +11 -8
  227. package/esm2022/link/link.component.mjs +6 -6
  228. package/esm2022/link/link.module.mjs +4 -4
  229. package/esm2022/list/list-selection.component.mjs +40 -24
  230. package/esm2022/list/list.component.mjs +6 -6
  231. package/esm2022/list/list.module.mjs +4 -4
  232. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  233. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  234. package/esm2022/markdown/markdown.component.mjs +10 -10
  235. package/esm2022/markdown/markdown.module.mjs +4 -4
  236. package/esm2022/markdown/markdown.service.mjs +3 -3
  237. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  238. package/esm2022/modal/modal-control.service.mjs +3 -3
  239. package/esm2022/modal/modal-util.mjs +7 -3
  240. package/esm2022/modal/modal.component.mjs +5 -5
  241. package/esm2022/modal/modal.directive.mjs +12 -12
  242. package/esm2022/modal/modal.module.mjs +4 -4
  243. package/esm2022/modal/modal.service.mjs +5 -4
  244. package/esm2022/navbar/navbar-item.component.mjs +53 -44
  245. package/esm2022/navbar/navbar.component.mjs +17 -13
  246. package/esm2022/navbar/navbar.module.mjs +4 -4
  247. package/esm2022/navbar/vertical-navbar.component.mjs +6 -6
  248. package/esm2022/navbar-ic/navbar-ic-header.mjs +25 -9
  249. package/esm2022/navbar-ic/navbar-ic-item.mjs +35 -44
  250. package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
  251. package/esm2022/navbar-ic/navbar-ic.mjs +50 -21
  252. package/esm2022/navbar-ic/navbar-ic.module.mjs +4 -4
  253. package/esm2022/notification-center/index.mjs +2 -0
  254. package/esm2022/notification-center/koobiq-components-notification-center.mjs +5 -0
  255. package/esm2022/notification-center/notification-center-animations.mjs +18 -0
  256. package/esm2022/notification-center/notification-center.mjs +353 -0
  257. package/esm2022/notification-center/notification-center.module.mjs +38 -0
  258. package/esm2022/notification-center/notification-center.service.mjs +127 -0
  259. package/esm2022/notification-center/notification-item.mjs +70 -0
  260. package/esm2022/notification-center/public-api.mjs +5 -0
  261. package/esm2022/overflow-items/module.mjs +4 -4
  262. package/esm2022/overflow-items/overflow-items.mjs +95 -41
  263. package/esm2022/popover/popover-confirm.component.mjs +10 -10
  264. package/esm2022/popover/popover.component.mjs +31 -13
  265. package/esm2022/popover/popover.module.mjs +4 -4
  266. package/esm2022/progress-bar/progress-bar.component.mjs +9 -9
  267. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  268. package/esm2022/progress-spinner/progress-spinner.component.mjs +9 -9
  269. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  270. package/esm2022/radio/radio.component.mjs +6 -6
  271. package/esm2022/radio/radio.module.mjs +4 -4
  272. package/esm2022/resizer/index.mjs +3 -0
  273. package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
  274. package/esm2022/resizer/module.mjs +17 -0
  275. package/esm2022/resizer/resizer.mjs +135 -0
  276. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  277. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  278. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  279. package/esm2022/scrollbar/scrollbar.directive.mjs +7 -6
  280. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  281. package/esm2022/search-expandable/index.mjs +2 -0
  282. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +5 -0
  283. package/esm2022/search-expandable/public-api.mjs +3 -0
  284. package/esm2022/search-expandable/search-expandable.mjs +177 -0
  285. package/esm2022/search-expandable/search-expandable.module.mjs +18 -0
  286. package/esm2022/select/select-option.directive.mjs +3 -3
  287. package/esm2022/select/select.component.mjs +38 -23
  288. package/esm2022/select/select.module.mjs +12 -8
  289. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  290. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  291. package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -5
  292. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  293. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  294. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  295. package/esm2022/split-button/index.mjs +2 -0
  296. package/esm2022/split-button/koobiq-components-split-button.mjs +5 -0
  297. package/esm2022/split-button/public-api.mjs +3 -0
  298. package/esm2022/split-button/split-button.mjs +133 -0
  299. package/esm2022/split-button/split-button.module.mjs +18 -0
  300. package/esm2022/splitter/splitter.component.mjs +13 -13
  301. package/esm2022/splitter/splitter.module.mjs +4 -4
  302. package/esm2022/table/table.component.mjs +6 -6
  303. package/esm2022/table/table.module.mjs +4 -4
  304. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  305. package/esm2022/tabs/tab-body.component.mjs +6 -6
  306. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  307. package/esm2022/tabs/tab-group.component.mjs +15 -15
  308. package/esm2022/tabs/tab-header.component.mjs +4 -4
  309. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  310. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  311. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  312. package/esm2022/tabs/tab.component.mjs +3 -3
  313. package/esm2022/tabs/tabs.module.mjs +4 -4
  314. package/esm2022/tags/tag-input.mjs +38 -36
  315. package/esm2022/tags/tag-list.component.mjs +281 -250
  316. package/esm2022/tags/tag.component.mjs +206 -140
  317. package/esm2022/tags/tag.module.mjs +4 -4
  318. package/esm2022/textarea/textarea.component.mjs +5 -5
  319. package/esm2022/textarea/textarea.module.mjs +7 -6
  320. package/esm2022/time-range/constants.mjs +42 -0
  321. package/esm2022/time-range/index.mjs +8 -0
  322. package/esm2022/time-range/koobiq-components-time-range.mjs +5 -0
  323. package/esm2022/time-range/module.mjs +36 -0
  324. package/esm2022/time-range/time-range-editor.mjs +224 -0
  325. package/esm2022/time-range/time-range-title-as-form-field.mjs +60 -0
  326. package/esm2022/time-range/time-range-title.mjs +112 -0
  327. package/esm2022/time-range/time-range.mjs +234 -0
  328. package/esm2022/time-range/time-range.service.mjs +126 -0
  329. package/esm2022/time-range/types.mjs +2 -0
  330. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  331. package/esm2022/timepicker/timepicker.module.mjs +9 -8
  332. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  333. package/esm2022/timezone/timezone-option.component.mjs +5 -5
  334. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  335. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  336. package/esm2022/timezone/timezone.module.mjs +10 -8
  337. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  338. package/esm2022/title/title.directive.mjs +9 -5
  339. package/esm2022/title/title.module.mjs +4 -4
  340. package/esm2022/toast/toast-container.component.mjs +3 -3
  341. package/esm2022/toast/toast.component.mjs +20 -14
  342. package/esm2022/toast/toast.module.mjs +4 -4
  343. package/esm2022/toast/toast.service.mjs +5 -4
  344. package/esm2022/toast/toast.type.mjs +1 -1
  345. package/esm2022/toggle/toggle.component.mjs +6 -6
  346. package/esm2022/toggle/toggle.module.mjs +4 -4
  347. package/esm2022/tooltip/tooltip.component.mjs +19 -19
  348. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  349. package/esm2022/top-bar/module.mjs +4 -4
  350. package/esm2022/top-bar/top-bar.mjs +11 -11
  351. package/esm2022/tree/node.mjs +3 -3
  352. package/esm2022/tree/outlet.mjs +3 -3
  353. package/esm2022/tree/padding.directive.mjs +3 -3
  354. package/esm2022/tree/toggle.mjs +16 -12
  355. package/esm2022/tree/tree-base.mjs +7 -7
  356. package/esm2022/tree/tree-option.component.mjs +11 -14
  357. package/esm2022/tree/tree-selection.component.mjs +26 -16
  358. package/esm2022/tree/tree.mjs +3 -3
  359. package/esm2022/tree/tree.module.mjs +4 -4
  360. package/esm2022/tree-select/tree-select.component.mjs +142 -84
  361. package/esm2022/tree-select/tree-select.module.mjs +11 -8
  362. package/esm2022/username/module.mjs +4 -4
  363. package/esm2022/username/username.mjs +15 -15
  364. package/esm2022/username/username.pipe.mjs +8 -8
  365. package/fesm2022/koobiq-components-accordion.mjs +20 -20
  366. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  367. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  368. package/fesm2022/koobiq-components-alert.mjs +16 -16
  369. package/fesm2022/koobiq-components-app-switcher.mjs +704 -0
  370. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -0
  371. package/fesm2022/koobiq-components-autocomplete.mjs +16 -16
  372. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  373. package/fesm2022/koobiq-components-badge.mjs +14 -14
  374. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  375. package/fesm2022/koobiq-components-breadcrumbs.mjs +61 -52
  376. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  377. package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
  378. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  379. package/fesm2022/koobiq-components-button.mjs +18 -16
  380. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  381. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  382. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  383. package/fesm2022/koobiq-components-code-block.mjs +18 -13
  384. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  385. package/fesm2022/koobiq-components-content-panel.mjs +31 -165
  386. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  387. package/fesm2022/koobiq-components-core.mjs +962 -581
  388. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  389. package/fesm2022/koobiq-components-datepicker.mjs +47 -44
  390. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  391. package/fesm2022/koobiq-components-divider.mjs +8 -8
  392. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  393. package/fesm2022/koobiq-components-dl.mjs +13 -13
  394. package/fesm2022/koobiq-components-dropdown.mjs +41 -27
  395. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  396. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  397. package/fesm2022/koobiq-components-ellipsis-center.mjs +11 -8
  398. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  399. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  400. package/fesm2022/koobiq-components-file-upload.mjs +45 -25
  401. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  402. package/fesm2022/koobiq-components-filter-bar.mjs +147 -114
  403. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  404. package/fesm2022/koobiq-components-form-field.mjs +100 -73
  405. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  406. package/fesm2022/koobiq-components-icon.mjs +13 -13
  407. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  408. package/fesm2022/koobiq-components-inline-edit.mjs +411 -0
  409. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -0
  410. package/fesm2022/koobiq-components-input.mjs +34 -31
  411. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  412. package/fesm2022/koobiq-components-link.mjs +10 -10
  413. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  414. package/fesm2022/koobiq-components-list.mjs +49 -33
  415. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  416. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  417. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  418. package/fesm2022/koobiq-components-markdown.mjs +16 -16
  419. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  420. package/fesm2022/koobiq-components-modal.mjs +36 -31
  421. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  422. package/fesm2022/koobiq-components-navbar-ic.mjs +122 -81
  423. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  424. package/fesm2022/koobiq-components-navbar.mjs +77 -64
  425. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  426. package/fesm2022/koobiq-components-notification-center.mjs +586 -0
  427. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -0
  428. package/fesm2022/koobiq-components-overflow-items.mjs +98 -44
  429. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  430. package/fesm2022/koobiq-components-popover.mjs +43 -25
  431. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  432. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  433. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  434. package/fesm2022/koobiq-components-radio.mjs +10 -10
  435. package/fesm2022/koobiq-components-resizer.mjs +156 -0
  436. package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
  437. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  438. package/fesm2022/koobiq-components-scrollbar.mjs +13 -12
  439. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  440. package/fesm2022/koobiq-components-search-expandable.mjs +199 -0
  441. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -0
  442. package/fesm2022/koobiq-components-select.mjs +51 -33
  443. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  445. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  446. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-split-button.mjs +155 -0
  448. package/fesm2022/koobiq-components-split-button.mjs.map +1 -0
  449. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  450. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  451. package/fesm2022/koobiq-components-table.mjs +10 -10
  452. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  453. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  454. package/fesm2022/koobiq-components-tags.mjs +522 -428
  455. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  456. package/fesm2022/koobiq-components-textarea.mjs +10 -10
  457. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  458. package/fesm2022/koobiq-components-time-range.mjs +809 -0
  459. package/fesm2022/koobiq-components-time-range.mjs.map +1 -0
  460. package/fesm2022/koobiq-components-timepicker.mjs +11 -11
  461. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  462. package/fesm2022/koobiq-components-timezone.mjs +31 -29
  463. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  464. package/fesm2022/koobiq-components-title.mjs +12 -8
  465. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  466. package/fesm2022/koobiq-components-toast.mjs +28 -21
  467. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  468. package/fesm2022/koobiq-components-toggle.mjs +9 -9
  469. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  470. package/fesm2022/koobiq-components-tooltip.mjs +22 -22
  471. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  472. package/fesm2022/koobiq-components-top-bar.mjs +15 -15
  473. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  474. package/fesm2022/koobiq-components-tree-select.mjs +151 -91
  475. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  476. package/fesm2022/koobiq-components-tree.mjs +72 -61
  477. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  478. package/fesm2022/koobiq-components-username.mjs +27 -27
  479. package/file-upload/_file-upload-theme.scss +33 -35
  480. package/file-upload/file-upload-tokens.scss +1 -2
  481. package/file-upload/file-upload.d.ts +1 -1
  482. package/file-upload/file-upload.scss +4 -7
  483. package/file-upload/multiple-file-upload.component.d.ts +2 -1
  484. package/file-upload/multiple-file-upload.component.scss +12 -14
  485. package/file-upload/single-file-upload.component.d.ts +2 -0
  486. package/file-upload/single-file-upload.component.scss +5 -7
  487. package/filter-bar/filter-bar.d.ts +3 -1
  488. package/filter-bar/filter-search.scss +1 -3
  489. package/filter-bar/filters.d.ts +1 -0
  490. package/filter-bar/pipes/base-pipe.d.ts +6 -2
  491. package/filter-bar/pipes/base-pipe.scss +3 -3
  492. package/filter-bar/pipes/pipe-date.scss +4 -1
  493. package/filter-bar/pipes/pipe-title.d.ts +2 -0
  494. package/form-field/fieldset-tokens.scss +1 -0
  495. package/form-field/form-field-tokens.scss +1 -1
  496. package/form-field/form-field.d.ts +1 -1
  497. package/form-field/form-field.scss +7 -7
  498. package/form-field/password-toggle.d.ts +1 -1
  499. package/form-field/stepper.d.ts +28 -6
  500. package/icon/icon.component.d.ts +2 -2
  501. package/inline-edit/index.d.ts +2 -0
  502. package/inline-edit/inline-edit-tokens.scss +8 -0
  503. package/inline-edit/inline-edit.d.ts +140 -0
  504. package/inline-edit/inline-edit.scss +208 -0
  505. package/inline-edit/module.d.ts +7 -0
  506. package/input/input-number.d.ts +1 -1
  507. package/input/input-password.d.ts +2 -2
  508. package/input/input.d.ts +2 -2
  509. package/input/input.module.d.ts +2 -1
  510. package/link/link.component.d.ts +3 -3
  511. package/list/list-selection.component.d.ts +13 -2
  512. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  513. package/markdown/_markdown-theme.scss +1 -2
  514. package/markdown/markdown-tokens.scss +1 -0
  515. package/markdown/markdown.scss +10 -4
  516. package/modal/modal-tokens.scss +2 -1
  517. package/modal/modal-util.d.ts +5 -2
  518. package/modal/modal.component.d.ts +1 -1
  519. package/modal/modal.scss +3 -4
  520. package/navbar/_navbar-item_vertical.scss +10 -0
  521. package/navbar/navbar-brand.scss +5 -2
  522. package/navbar/navbar-item.component.d.ts +3 -2
  523. package/navbar/navbar.component.d.ts +4 -4
  524. package/navbar/vertical-navbar.component.d.ts +2 -2
  525. package/navbar/vertical-navbar.scss +1 -0
  526. package/navbar-ic/navbar-ic-header.d.ts +4 -3
  527. package/navbar-ic/navbar-ic-header.scss +0 -4
  528. package/navbar-ic/navbar-ic-item.d.ts +3 -2
  529. package/navbar-ic/navbar-ic-item.scss +0 -4
  530. package/navbar-ic/navbar-ic.animation.d.ts +1 -0
  531. package/navbar-ic/navbar-ic.d.ts +11 -2
  532. package/notification-center/_notification-center-theme.scss +27 -0
  533. package/notification-center/index.d.ts +1 -0
  534. package/notification-center/notification-center-animations.d.ts +5 -0
  535. package/notification-center/notification-center.d.ts +153 -0
  536. package/notification-center/notification-center.module.d.ts +7 -0
  537. package/notification-center/notification-center.scss +126 -0
  538. package/notification-center/notification-center.service.d.ts +72 -0
  539. package/notification-center/notification-item.d.ts +27 -0
  540. package/notification-center/notification-item.scss +157 -0
  541. package/notification-center/public-api.d.ts +4 -0
  542. package/overflow-items/overflow-items.d.ts +23 -9
  543. package/package.json +46 -4
  544. package/popover/popover-tokens.scss +1 -0
  545. package/popover/popover.component.d.ts +9 -1
  546. package/popover/popover.scss +18 -11
  547. package/prebuilt-themes/dark-theme.css +1 -1
  548. package/prebuilt-themes/light-theme.css +1 -1
  549. package/prebuilt-themes/theme.css +1 -1
  550. package/resizer/index.d.ts +2 -0
  551. package/resizer/module.d.ts +7 -0
  552. package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
  553. package/schematics/collection.json +5 -0
  554. package/schematics/migrations/icons-replacement/README.md +93 -0
  555. package/schematics/migrations/icons-replacement/data.js +92 -0
  556. package/schematics/migrations/icons-replacement/index.js +84 -0
  557. package/schematics/migrations/icons-replacement/schema.json +32 -0
  558. package/schematics/ng-add/index.js +6 -6
  559. package/scrollbar/scrollbar.component.scss +2 -3
  560. package/search-expandable/index.d.ts +1 -0
  561. package/search-expandable/public-api.d.ts +2 -0
  562. package/search-expandable/search-expandable.d.ts +70 -0
  563. package/search-expandable/search-expandable.module.d.ts +7 -0
  564. package/search-expandable/search-expandable.scss +21 -0
  565. package/select/select.component.d.ts +38 -3
  566. package/select/select.module.d.ts +2 -1
  567. package/select/select.scss +1 -17
  568. package/sidepanel/sidepanel-tokens.scss +2 -0
  569. package/sidepanel/sidepanel.scss +2 -0
  570. package/split-button/_split-button-theme.scss +114 -0
  571. package/split-button/index.d.ts +1 -0
  572. package/split-button/public-api.d.ts +2 -0
  573. package/split-button/split-button.d.ts +37 -0
  574. package/split-button/split-button.module.d.ts +7 -0
  575. package/split-button/split-button.scss +72 -0
  576. package/splitter/splitter.component.d.ts +5 -5
  577. package/tabs/paginated-tab-header.d.ts +1 -1
  578. package/tabs/tab-header.component.d.ts +2 -2
  579. package/tabs/tab-label-wrapper.directive.d.ts +2 -2
  580. package/tabs/tab-nav-bar.d.ts +3 -3
  581. package/tags/_tag-theme.scss +21 -15
  582. package/tags/tag-input.d.ts +18 -7
  583. package/tags/tag-list.component.d.ts +175 -64
  584. package/tags/tag-list.scss +24 -14
  585. package/tags/tag-tokens.scss +17 -1
  586. package/tags/tag.component.d.ts +91 -27
  587. package/tags/tag.scss +9 -0
  588. package/textarea/textarea-tokens.scss +6 -1
  589. package/textarea/textarea.component.d.ts +2 -2
  590. package/textarea/textarea.module.d.ts +2 -1
  591. package/textarea/textarea.scss +4 -0
  592. package/time-range/constants.d.ts +19 -0
  593. package/time-range/index.d.ts +7 -0
  594. package/time-range/module.d.ts +10 -0
  595. package/time-range/time-range-editor.d.ts +65 -0
  596. package/time-range/time-range-title-as-form-field.d.ts +41 -0
  597. package/time-range/time-range-title.d.ts +18 -0
  598. package/time-range/time-range.d.ts +78 -0
  599. package/time-range/time-range.scss +66 -0
  600. package/time-range/time-range.service.d.ts +25 -0
  601. package/time-range/types.d.ts +69 -0
  602. package/timepicker/timepicker.directive.d.ts +2 -2
  603. package/timepicker/timepicker.module.d.ts +2 -1
  604. package/timezone/timezone-option.component.scss +6 -0
  605. package/timezone/timezone.module.d.ts +1 -1
  606. package/toast/toast.component.d.ts +6 -4
  607. package/toast/toast.component.scss +11 -1
  608. package/toast/toast.service.d.ts +1 -0
  609. package/toast/toast.type.d.ts +1 -0
  610. package/toggle/_toggle-theme.scss +8 -5
  611. package/toggle/toggle-tokens.scss +0 -1
  612. package/toggle/toggle.scss +11 -15
  613. package/top-bar/top-bar-tokens.scss +1 -1
  614. package/top-bar/top-bar.scss +3 -0
  615. package/tree/toggle.d.ts +1 -1
  616. package/tree/tree-base.d.ts +2 -2
  617. package/tree/tree-option.component.d.ts +2 -1
  618. package/tree/tree-selection.component.d.ts +12 -3
  619. package/tree-select/tree-select.component.d.ts +49 -8
  620. package/tree-select/tree-select.module.d.ts +2 -1
  621. package/tree-select/tree-select.scss +4 -0
  622. package/core/locales/fa-IR.d.ts +0 -100
  623. package/core/locales/zh-CN.d.ts +0 -100
  624. package/esm2022/content-panel/resizable.mjs +0 -138
  625. package/esm2022/core/locales/fa-IR.mjs +0 -99
  626. package/esm2022/core/locales/zh-CN.mjs +0 -99
@@ -3,7 +3,7 @@ import { SharedResizeObserver } from '@angular/cdk/observers/private';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, Directive, InjectionToken, DestroyRef, EventEmitter, isDevMode, booleanAttribute, numberAttribute, ElementRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Host, Self, Inject, ViewChild, ContentChild, ViewChildren, ContentChildren, Input, Output, NgModule } from '@angular/core';
5
5
  import * as i1 from '@koobiq/components/core';
6
- import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, KbqComponentColors, KBQ_WINDOW, defaultOffsetY, getKbqSelectNonArrayValueError, KbqVirtualOption, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqOption, KbqOptgroup, kbqSelectAnimations, KbqOptionModule, KbqSelectSearchEmptyResult, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
6
+ import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, KbqComponentColors, KBQ_WINDOW, defaultOffsetY, isUndefined, getKbqSelectNonArrayValueError, KbqVirtualOption, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqOption, KbqOptgroup, kbqSelectAnimations, KbqOptionModule, KbqSelectSearchEmptyResult, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
7
7
  import { KbqTooltipTrigger, KbqToolTipModule } from '@koobiq/components/tooltip';
8
8
  import * as i3 from '@angular/cdk/bidi';
9
9
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -17,7 +17,7 @@ import * as i4 from '@angular/forms';
17
17
  import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
18
18
  import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, A, BACKSPACE, DELETE } from '@koobiq/cdk/keycodes';
19
19
  import * as i5 from '@koobiq/components/form-field';
20
- import { KbqFormFieldControl } from '@koobiq/components/form-field';
20
+ import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
21
21
  import * as i7 from '@koobiq/components/tags';
22
22
  import { KbqTag, KbqTagsModule } from '@koobiq/components/tags';
23
23
  import { SizeXxs } from '@koobiq/design-tokens';
@@ -76,10 +76,10 @@ class KbqOptionTooltip extends KbqTooltipTrigger {
76
76
  this.disabled = true;
77
77
  this.hide();
78
78
  }
79
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqOptionTooltip, deps: [{ token: i1.KbqOption }], target: i0.ɵɵFactoryTarget.Directive }); }
80
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqOptionTooltip, selector: "kbq-option", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, usesInheritance: true, ngImport: i0 }); }
79
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqOptionTooltip, deps: [{ token: i1.KbqOption }], target: i0.ɵɵFactoryTarget.Directive }); }
80
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqOptionTooltip, selector: "kbq-option", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, usesInheritance: true, ngImport: i0 }); }
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqOptionTooltip, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqOptionTooltip, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  selector: 'kbq-option',
@@ -110,6 +110,20 @@ const kbqSelectOptionsProvider = (options) => {
110
110
  };
111
111
  };
112
112
  class KbqSelect extends KbqAbstractSelect {
113
+ /**
114
+ * Controls when the search functionality is displayed based on the number of available options.
115
+ *
116
+ * Automatically enables search hiding if value provided, even if `defaultOptions.minOptionsThreshold` is provided.
117
+ * @default undefined
118
+ */
119
+ set searchMinOptionsThreshold(value) {
120
+ this._searchMinOptionsThreshold =
121
+ this.resolveSearchMinOptionsThreshold(value) ??
122
+ this.resolveSearchMinOptionsThreshold(this.defaultOptions?.searchMinOptionsThreshold);
123
+ }
124
+ get searchMinOptionsThreshold() {
125
+ return this._searchMinOptionsThreshold;
126
+ }
113
127
  get hasBackdrop() {
114
128
  return this._hasBackdrop;
115
129
  }
@@ -333,6 +347,7 @@ class KbqSelect extends KbqAbstractSelect {
333
347
  * Whether to use a multiline matcher or not. Default is false
334
348
  */
335
349
  this.multiline = false;
350
+ this._searchMinOptionsThreshold = this.resolveSearchMinOptionsThreshold(this.defaultOptions?.searchMinOptionsThreshold);
336
351
  /** Combined stream of all of the child options' change events. */
337
352
  this.optionSelectionChanges = defer(() => {
338
353
  if (this.options) {
@@ -366,7 +381,7 @@ class KbqSelect extends KbqAbstractSelect {
366
381
  * Minimum width of the panel.
367
382
  * If minWidth is larger than window width, it will be ignored.
368
383
  */
369
- this.panelMinWidth = this.defaultOptions?.panelMinWidth !== undefined ? this.defaultOptions.panelMinWidth : 200;
384
+ this.panelMinWidth = this.defaultOptions?.panelMinWidth ?? 200;
370
385
  this._tabIndex = 0;
371
386
  this._disabled = false;
372
387
  this.panelOpen = false;
@@ -421,7 +436,7 @@ class KbqSelect extends KbqAbstractSelect {
421
436
  .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
422
437
  .subscribe(() => setTimeout(() => {
423
438
  this.calculateHiddenItems();
424
- if (this.multiline && this.overlayDir.overlayRef) {
439
+ if (this.multiline) {
425
440
  this.setOverlayPosition();
426
441
  }
427
442
  }, 0));
@@ -671,7 +686,12 @@ class KbqSelect extends KbqAbstractSelect {
671
686
  option.deselect();
672
687
  }
673
688
  calculateHiddenItems() {
674
- if (!this.isBrowser || this.customTrigger || this.empty || !this.multiple || this.customMatcher)
689
+ if (!this.isBrowser ||
690
+ this.customTrigger ||
691
+ this.empty ||
692
+ !this.multiple ||
693
+ this.customMatcher ||
694
+ this.multiline)
675
695
  return;
676
696
  const totalItemsWidth = this.getTotalItemsWidthInMatcher();
677
697
  const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
@@ -704,6 +724,10 @@ class KbqSelect extends KbqAbstractSelect {
704
724
  this.close();
705
725
  }
706
726
  }
727
+ /** @docs-private */
728
+ shouldShowSearch() {
729
+ return isUndefined(this.searchMinOptionsThreshold) || this.options.length >= this.searchMinOptionsThreshold;
730
+ }
707
731
  isVisible() {
708
732
  return this.elementRef.nativeElement.offsetTop < this.elementRef.nativeElement.offsetHeight;
709
733
  }
@@ -864,6 +888,7 @@ class KbqSelect extends KbqAbstractSelect {
864
888
  catch (error) {
865
889
  if (isDevMode()) {
866
890
  // Notify developers of errors in their comparator.
891
+ // eslint-disable-next-line no-console
867
892
  console.warn(error);
868
893
  }
869
894
  return false;
@@ -945,19 +970,6 @@ class KbqSelect extends KbqAbstractSelect {
945
970
  }
946
971
  if (this.multiSelection) {
947
972
  this.sortValues();
948
- if (isUserInput) {
949
- // In case the user selected the option with their mouse, we
950
- // want to restore focus back to the trigger, in order to
951
- // prevent the select keyboard controls from clashing with
952
- // the ones from `kbq-option`.
953
- // If search is available then we focus search again.
954
- if (this.search) {
955
- this.search.focus();
956
- }
957
- else {
958
- this.focus();
959
- }
960
- }
961
973
  }
962
974
  }
963
975
  if (wasSelected !== this.selectionModel.isSelected(option)) {
@@ -1050,17 +1062,17 @@ class KbqSelect extends KbqAbstractSelect {
1050
1062
  this._renderer.setStyle(triggerClone, 'left', '0');
1051
1063
  return triggerClone;
1052
1064
  }
1053
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i2.OverlayContainer }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i5.KbqFormField, host: true, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: KBQ_SELECT_SCROLL_STRATEGY }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1054
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqSelect, selector: "kbq-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", multiline: ["multiline", "multiline", booleanAttribute], hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", selectAllHandler: "selectAllHandler", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", tabIndex: ["tabIndex", "tabIndex", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
1065
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i2.OverlayContainer }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i5.KbqFormField, host: true, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: KBQ_SELECT_SCROLL_STRATEGY }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1066
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqSelect, selector: "kbq-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", multiline: ["multiline", "multiline", booleanAttribute], searchMinOptionsThreshold: "searchMinOptionsThreshold", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", selectAllHandler: "selectAllHandler", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", tabIndex: ["tabIndex", "tabIndex", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
1055
1067
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
1056
1068
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
1057
1069
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
1058
- ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s));min-width:var(--kbq-form-field-size-addon-width)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
1070
+ ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s));min-width:var(--kbq-form-field-size-addon-width)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select kbq-select-trigger,.kbq-select [kbq-select-trigger]{width:100%}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
1059
1071
  kbqSelectAnimations.transformPanel,
1060
1072
  kbqSelectAnimations.fadeInContent
1061
1073
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1062
1074
  }
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelect, decorators: [{
1075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelect, decorators: [{
1064
1076
  type: Component,
1065
1077
  args: [{ selector: 'kbq-select', exportAs: 'kbqSelect', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1066
1078
  '[attr.tabindex]': 'tabIndex',
@@ -1074,6 +1086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1074
1086
  '(keydown)': 'handleKeydown($event)',
1075
1087
  '(focus)': 'onFocus()',
1076
1088
  '(blur)': 'onBlur()',
1089
+ // @TODO: turn event listener only for specific conditions (#DS-4253)
1077
1090
  '(window:resize)': 'calculateHiddenItems()'
1078
1091
  }, animations: [
1079
1092
  kbqSelectAnimations.transformPanel,
@@ -1082,7 +1095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1082
1095
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
1083
1096
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
1084
1097
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
1085
- ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s));min-width:var(--kbq-form-field-size-addon-width)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1098
+ ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s));min-width:var(--kbq-form-field-size-addon-width)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select kbq-select-trigger,.kbq-select [kbq-select-trigger]{width:100%}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1086
1099
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i2.OverlayContainer }, { type: i3.Directionality, decorators: [{
1087
1100
  type: Optional
1088
1101
  }] }, { type: i4.NgForm, decorators: [{
@@ -1160,6 +1173,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1160
1173
  }], multiline: [{
1161
1174
  type: Input,
1162
1175
  args: [{ transform: booleanAttribute }]
1176
+ }], searchMinOptionsThreshold: [{
1177
+ type: Input
1163
1178
  }], openedChange: [{
1164
1179
  type: Output
1165
1180
  }], openedStream: [{
@@ -1205,8 +1220,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1205
1220
  }] } });
1206
1221
 
1207
1222
  class KbqSelectModule {
1208
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1209
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqSelectModule, declarations: [KbqSelect,
1223
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1224
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectModule, declarations: [KbqSelect,
1210
1225
  KbqOptionTooltip], imports: [OverlayModule,
1211
1226
  KbqOptionModule,
1212
1227
  KbqIconModule,
@@ -1226,15 +1241,17 @@ class KbqSelectModule {
1226
1241
  KbqSelectFooter,
1227
1242
  KbqSelectMatcher,
1228
1243
  KbqSelectTrigger,
1229
- KbqSelectSearchEmptyResult] }); }
1230
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
1244
+ KbqSelectSearchEmptyResult,
1245
+ KbqFormFieldModule] }); }
1246
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
1231
1247
  KbqOptionModule,
1232
1248
  KbqIconModule,
1233
1249
  KbqTagsModule,
1234
1250
  KbqToolTipModule,
1235
- A11yModule, KbqOptionModule] }); }
1251
+ A11yModule, KbqOptionModule,
1252
+ KbqFormFieldModule] }); }
1236
1253
  }
1237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelectModule, decorators: [{
1254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectModule, decorators: [{
1238
1255
  type: NgModule,
1239
1256
  args: [{
1240
1257
  imports: [
@@ -1260,7 +1277,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1260
1277
  KbqSelectFooter,
1261
1278
  KbqSelectMatcher,
1262
1279
  KbqSelectTrigger,
1263
- KbqSelectSearchEmptyResult
1280
+ KbqSelectSearchEmptyResult,
1281
+ KbqFormFieldModule
1264
1282
  ],
1265
1283
  declarations: [
1266
1284
  KbqSelect,