@koobiq/components 19.8.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (685) hide show
  1. package/accordion/index.d.ts +238 -1
  2. package/actions-panel/index.d.ts +303 -5
  3. package/alert/index.d.ts +54 -1
  4. package/app-switcher/index.d.ts +239 -1
  5. package/autocomplete/index.d.ts +265 -1
  6. package/badge/index.d.ts +57 -1
  7. package/breadcrumbs/breadcrumbs.scss +7 -0
  8. package/breadcrumbs/index.d.ts +243 -1
  9. package/button/_button-base.scss +20 -0
  10. package/button/_button-theme.scss +3 -11
  11. package/button/button.scss +0 -11
  12. package/button/index.d.ts +153 -1
  13. package/button-toggle/index.d.ts +155 -1
  14. package/checkbox/index.d.ts +159 -1
  15. package/clamped-text/index.d.ts +144 -4
  16. package/code-block/_code-block-theme.scss +0 -6
  17. package/code-block/code-block-tokens.scss +0 -2
  18. package/code-block/index.d.ts +383 -1
  19. package/content-panel/content-panel.scss +0 -8
  20. package/content-panel/index.d.ts +158 -2
  21. package/core/highlight/_highlight-theme.scss +9 -0
  22. package/core/index.d.ts +4405 -1
  23. package/core/option/_option-theme.scss +5 -14
  24. package/core/styles/_koobiq-theme.scss +1 -0
  25. package/core/styles/theming/_components-theming.scss +0 -62
  26. package/datepicker/index.d.ts +699 -1
  27. package/divider/index.d.ts +20 -1
  28. package/dl/index.d.ts +37 -1
  29. package/dropdown/_dropdown-theme.scss +4 -8
  30. package/dropdown/dropdown.scss +4 -0
  31. package/dropdown/index.d.ts +473 -1
  32. package/dynamic-translation/index.d.ts +81 -2
  33. package/ellipsis-center/index.d.ts +38 -1
  34. package/empty-state/index.d.ts +45 -1
  35. package/fesm2022/koobiq-components-accordion.mjs +103 -114
  36. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-actions-panel.mjs +16 -16
  38. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-alert.mjs +35 -49
  40. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-app-switcher.mjs +81 -86
  42. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-autocomplete.mjs +294 -304
  44. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-badge.mjs +35 -42
  46. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-breadcrumbs.mjs +154 -163
  48. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-button-toggle.mjs +87 -86
  50. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-button.mjs +209 -96
  52. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-checkbox.mjs +50 -52
  54. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-clamped-text.mjs +42 -49
  56. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-code-block.mjs +125 -125
  58. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-content-panel.mjs +90 -107
  60. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-core.mjs +1630 -618
  62. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-datepicker.mjs +285 -349
  64. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-divider.mjs +14 -25
  66. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-dl.mjs +27 -29
  68. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-dropdown.mjs +202 -167
  70. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-dynamic-translation.mjs +23 -23
  72. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-ellipsis-center.mjs +16 -21
  74. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-empty-state.mjs +35 -39
  76. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-file-upload.mjs +135 -234
  78. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-filter-bar.mjs +321 -561
  80. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-form-field.mjs +211 -430
  82. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-icon.mjs +42 -43
  84. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-inline-edit.mjs +65 -60
  86. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-input.mjs +116 -155
  88. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-link.mjs +38 -53
  90. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-list.mjs +105 -114
  92. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-loader-overlay.mjs +37 -44
  94. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-markdown.mjs +31 -35
  96. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-modal.mjs +169 -163
  98. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-navbar.mjs +159 -161
  100. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-notification-center.mjs +54 -55
  102. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-overflow-items.mjs +36 -36
  104. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-popover.mjs +95 -86
  106. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-progress-bar.mjs +24 -30
  108. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-progress-spinner.mjs +25 -32
  110. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-radio.mjs +94 -80
  112. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-resizer.mjs +17 -17
  114. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-scrollbar.mjs +69 -60
  116. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-search-expandable.mjs +44 -35
  118. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-select.mjs +249 -234
  120. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-sidebar.mjs +59 -55
  122. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-sidepanel.mjs +88 -128
  124. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-skeleton.mjs +12 -12
  126. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-split-button.mjs +27 -20
  128. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-splitter.mjs +110 -96
  130. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-table.mjs +21 -23
  132. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-tabs.mjs +269 -275
  134. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-tags.mjs +177 -267
  136. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-textarea.mjs +37 -56
  138. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-time-range.mjs +64 -65
  140. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-timepicker.mjs +46 -38
  142. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-timezone.mjs +52 -58
  144. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-title.mjs +23 -30
  146. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-toast.mjs +54 -69
  148. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-toggle.mjs +51 -63
  150. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-tooltip.mjs +91 -119
  152. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-top-bar.mjs +25 -23
  154. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tree-select.mjs +227 -227
  156. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-tree.mjs +217 -209
  158. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-username.mjs +48 -48
  160. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  161. package/file-upload/index.d.ts +574 -1
  162. package/filter-bar/_filter-bar-theme.scss +0 -4
  163. package/filter-bar/index.d.ts +796 -1
  164. package/form-field/index.d.ts +569 -1
  165. package/icon/index.d.ts +162 -1
  166. package/index.d.ts +2 -1
  167. package/inline-edit/index.d.ts +171 -2
  168. package/input/index.d.ts +339 -1
  169. package/link/index.d.ts +56 -1
  170. package/list/index.d.ts +220 -1
  171. package/loader-overlay/index.d.ts +57 -1
  172. package/markdown/index.d.ts +68 -1
  173. package/modal/_modal-theme.scss +0 -8
  174. package/modal/index.d.ts +311 -1
  175. package/navbar/index.d.ts +304 -1
  176. package/notification-center/index.d.ts +237 -1
  177. package/notification-center/notification-center.scss +0 -8
  178. package/overflow-items/index.d.ts +161 -2
  179. package/package.json +10 -18
  180. package/popover/index.d.ts +182 -1
  181. package/popover/popover.scss +8 -12
  182. package/prebuilt-themes/dark-theme.css +1 -1
  183. package/prebuilt-themes/light-theme.css +1 -1
  184. package/prebuilt-themes/theme.css +1 -1
  185. package/progress-bar/index.d.ts +31 -1
  186. package/progress-spinner/index.d.ts +37 -1
  187. package/radio/index.d.ts +207 -1
  188. package/resizer/index.d.ts +85 -2
  189. package/schematics/collection.json +5 -0
  190. package/schematics/migrations/css-selectors/index.js +1 -1
  191. package/schematics/migrations/deprecated-icons/index.js +1 -1
  192. package/schematics/migrations/new-icons-pack/index.js +1 -1
  193. package/schematics/migrations/v20-upgrade/README.md +72 -0
  194. package/schematics/migrations/v20-upgrade/data.js +274 -0
  195. package/schematics/migrations/v20-upgrade/index.js +222 -0
  196. package/schematics/migrations/v20-upgrade/schema.json +20 -0
  197. package/schematics/migrations.json +10 -0
  198. package/schematics/ng-add/index.js +3 -4
  199. package/scrollbar/index.d.ts +136 -1
  200. package/search-expandable/index.d.ts +98 -1
  201. package/select/index.d.ts +693 -1
  202. package/sidebar/index.d.ts +92 -1
  203. package/sidepanel/index.d.ts +263 -1
  204. package/sidepanel/sidepanel.scss +0 -8
  205. package/skeleton/index.d.ts +26 -2
  206. package/split-button/index.d.ts +46 -1
  207. package/splitter/index.d.ts +141 -1
  208. package/table/index.d.ts +23 -1
  209. package/tabs/_tabs-common.scss +31 -1
  210. package/tabs/_tabs-theme.scss +2 -2
  211. package/tabs/index.d.ts +645 -1
  212. package/tags/index.d.ts +706 -1
  213. package/textarea/index.d.ts +134 -1
  214. package/time-range/index.d.ts +310 -7
  215. package/timepicker/index.d.ts +193 -1
  216. package/timezone/index.d.ts +122 -1
  217. package/title/index.d.ts +41 -1
  218. package/toast/index.d.ts +164 -1
  219. package/toggle/index.d.ts +84 -1
  220. package/tooltip/index.d.ts +163 -1
  221. package/top-bar/index.d.ts +33 -1
  222. package/tree/_tree-theme.scss +4 -0
  223. package/tree/index.d.ts +718 -1
  224. package/tree/tree-option.scss +20 -7
  225. package/tree-select/_tree-select-theme.scss +39 -0
  226. package/tree-select/index.d.ts +377 -1
  227. package/username/index.d.ts +176 -5
  228. package/accordion/accordion-content.d.ts +0 -6
  229. package/accordion/accordion-content.directive.d.ts +0 -27
  230. package/accordion/accordion-header.d.ts +0 -6
  231. package/accordion/accordion-header.directive.d.ts +0 -7
  232. package/accordion/accordion-item.d.ts +0 -77
  233. package/accordion/accordion-trigger.component.d.ts +0 -24
  234. package/accordion/accordion-trigger.directive.d.ts +0 -21
  235. package/accordion/accordion.component.d.ts +0 -79
  236. package/accordion/accordion.module.d.ts +0 -12
  237. package/accordion/public-api.d.ts +0 -9
  238. package/actions-panel/actions-panel-config.d.ts +0 -82
  239. package/actions-panel/actions-panel-container.d.ts +0 -90
  240. package/actions-panel/actions-panel-ref.d.ts +0 -44
  241. package/actions-panel/actions-panel.d.ts +0 -84
  242. package/actions-panel/module.d.ts +0 -7
  243. package/alert/alert.component.d.ts +0 -43
  244. package/alert/alert.module.d.ts +0 -9
  245. package/alert/public-api.d.ts +0 -2
  246. package/app-switcher/app-switcher-animations.d.ts +0 -5
  247. package/app-switcher/app-switcher-dropdown-app.d.ts +0 -11
  248. package/app-switcher/app-switcher-dropdown-site.d.ts +0 -9
  249. package/app-switcher/app-switcher.d.ts +0 -198
  250. package/app-switcher/app-switcher.module.d.ts +0 -10
  251. package/app-switcher/kbq-app-switcher-list-item.d.ts +0 -16
  252. package/app-switcher/public-api.d.ts +0 -6
  253. package/autocomplete/autocomplete-origin.directive.d.ts +0 -12
  254. package/autocomplete/autocomplete-trigger.directive.d.ts +0 -169
  255. package/autocomplete/autocomplete.component.d.ts +0 -88
  256. package/autocomplete/autocomplete.module.d.ts +0 -12
  257. package/autocomplete/public-api.d.ts +0 -4
  258. package/badge/badge.component.d.ts +0 -46
  259. package/badge/badge.module.d.ts +0 -9
  260. package/badge/public-api.d.ts +0 -2
  261. package/breadcrumbs/breadcrumbs.d.ts +0 -127
  262. package/breadcrumbs/breadcrumbs.module.d.ts +0 -7
  263. package/breadcrumbs/breadcrumbs.types.d.ts +0 -22
  264. package/breadcrumbs/public-api.d.ts +0 -5
  265. package/breadcrumbs/roving-focus-group.directive.d.ts +0 -50
  266. package/breadcrumbs/roving-focus-item.directive.d.ts +0 -50
  267. package/breadcrumbs/utils.d.ts +0 -19
  268. package/button/button-group.d.ts +0 -45
  269. package/button/button.component.d.ts +0 -59
  270. package/button/button.dropdown-trigger.directive.d.ts +0 -14
  271. package/button/button.module.d.ts +0 -12
  272. package/button/public-api.d.ts +0 -4
  273. package/button-toggle/button-toggle.component.d.ts +0 -146
  274. package/button-toggle/button-toggle.module.d.ts +0 -9
  275. package/button-toggle/public-api.d.ts +0 -2
  276. package/checkbox/checkbox-config.d.ts +0 -13
  277. package/checkbox/checkbox-module.d.ts +0 -9
  278. package/checkbox/checkbox-required-validator.d.ts +0 -13
  279. package/checkbox/checkbox.d.ts +0 -128
  280. package/checkbox/public-api.d.ts +0 -4
  281. package/clamped-text/clamped-list.d.ts +0 -41
  282. package/clamped-text/clamped-text.d.ts +0 -65
  283. package/clamped-text/constants.d.ts +0 -34
  284. package/clamped-text/module.d.ts +0 -8
  285. package/code-block/code-block-highlight.d.ts +0 -98
  286. package/code-block/code-block.d.ts +0 -255
  287. package/code-block/code-block.module.d.ts +0 -7
  288. package/code-block/public-api.d.ts +0 -4
  289. package/code-block/types.d.ts +0 -36
  290. package/content-panel/content-panel.d.ts +0 -149
  291. package/content-panel/module.d.ts +0 -7
  292. package/core/animation/animation.d.ts +0 -37
  293. package/core/animation/fade-animations.d.ts +0 -2
  294. package/core/animation/index.d.ts +0 -3
  295. package/core/animation/select-animations.d.ts +0 -12
  296. package/core/common-behaviors/checkbox.d.ts +0 -5
  297. package/core/common-behaviors/clipboard.d.ts +0 -12
  298. package/core/common-behaviors/color.d.ts +0 -50
  299. package/core/common-behaviors/common-module.d.ts +0 -38
  300. package/core/common-behaviors/constructor.d.ts +0 -9
  301. package/core/common-behaviors/disabled.d.ts +0 -8
  302. package/core/common-behaviors/error-state.d.ts +0 -46
  303. package/core/common-behaviors/flex.d.ts +0 -4
  304. package/core/common-behaviors/hover.d.ts +0 -15
  305. package/core/common-behaviors/index.d.ts +0 -14
  306. package/core/common-behaviors/orientation.d.ts +0 -4
  307. package/core/common-behaviors/read-state.d.ts +0 -12
  308. package/core/common-behaviors/size.d.ts +0 -4
  309. package/core/common-behaviors/tabindex.d.ts +0 -8
  310. package/core/datetime/date-adapter.d.ts +0 -12
  311. package/core/datetime/date-formats.d.ts +0 -4
  312. package/core/datetime/index.d.ts +0 -2
  313. package/core/error/error-state-matcher.d.ts +0 -39
  314. package/core/form-field/field-sizing-content.d.ts +0 -21
  315. package/core/form-field/form-field-ref.d.ts +0 -28
  316. package/core/form-field/index.d.ts +0 -2
  317. package/core/formatters/date/formatter.d.ts +0 -11
  318. package/core/formatters/date/formatter.pipe.d.ts +0 -139
  319. package/core/formatters/filesize/config.d.ts +0 -66
  320. package/core/formatters/filesize/formatter.d.ts +0 -17
  321. package/core/formatters/filesize/index.d.ts +0 -3
  322. package/core/formatters/filesize/size.d.ts +0 -52
  323. package/core/formatters/index.d.ts +0 -13
  324. package/core/formatters/number/formatter.d.ts +0 -101
  325. package/core/forms/forms-module.d.ts +0 -7
  326. package/core/forms/forms.directive.d.ts +0 -22
  327. package/core/forms/index.d.ts +0 -3
  328. package/core/forms/validators.d.ts +0 -120
  329. package/core/highlight/highlight.pipe.d.ts +0 -10
  330. package/core/highlight/index.d.ts +0 -9
  331. package/core/line/line.d.ts +0 -23
  332. package/core/locales/en-US.d.ts +0 -175
  333. package/core/locales/es-LA.d.ts +0 -174
  334. package/core/locales/formatters.d.ts +0 -190
  335. package/core/locales/index.d.ts +0 -9
  336. package/core/locales/locale-service.d.ts +0 -1112
  337. package/core/locales/locale-service.module.d.ts +0 -6
  338. package/core/locales/pt-BR.d.ts +0 -174
  339. package/core/locales/ru-RU.d.ts +0 -175
  340. package/core/locales/tk-TM.d.ts +0 -175
  341. package/core/locales/types.d.ts +0 -77
  342. package/core/navbar/index.d.ts +0 -1
  343. package/core/navbar/rectangle-item.d.ts +0 -14
  344. package/core/option/action-container.d.ts +0 -5
  345. package/core/option/action.d.ts +0 -38
  346. package/core/option/index.d.ts +0 -5
  347. package/core/option/optgroup.d.ts +0 -16
  348. package/core/option/option-module.d.ts +0 -10
  349. package/core/option/option.d.ts +0 -170
  350. package/core/overlay/overlay-position-map.d.ts +0 -40
  351. package/core/pop-up/constants.d.ts +0 -56
  352. package/core/pop-up/focus-trap-strategy.d.ts +0 -5
  353. package/core/pop-up/index.d.ts +0 -5
  354. package/core/pop-up/pop-up-styles.d.ts +0 -2
  355. package/core/pop-up/pop-up-trigger.d.ts +0 -104
  356. package/core/pop-up/pop-up.d.ts +0 -57
  357. package/core/public-api.d.ts +0 -23
  358. package/core/select/common.d.ts +0 -59
  359. package/core/select/constants.d.ts +0 -22
  360. package/core/select/errors.d.ts +0 -19
  361. package/core/select/events.d.ts +0 -1
  362. package/core/select/index.d.ts +0 -4
  363. package/core/selection/constants.d.ts +0 -4
  364. package/core/selection/index.d.ts +0 -3
  365. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -23
  366. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +0 -8
  367. package/core/services/measure-scrollbar.service.d.ts +0 -11
  368. package/core/services/theme.service.d.ts +0 -41
  369. package/core/title/index.d.ts +0 -1
  370. package/core/title/title-text-ref.d.ts +0 -6
  371. package/core/tokens/index.d.ts +0 -1
  372. package/core/tokens/window.d.ts +0 -5
  373. package/core/utils/dom.d.ts +0 -4
  374. package/core/utils/index.d.ts +0 -2
  375. package/core/utils/public-api.d.ts +0 -1
  376. package/core/utils/utils.d.ts +0 -25
  377. package/core/validation/index.d.ts +0 -1
  378. package/core/validation/validation.d.ts +0 -29
  379. package/core/version.d.ts +0 -2
  380. package/datepicker/calendar-body.component.d.ts +0 -55
  381. package/datepicker/calendar-header.component.d.ts +0 -51
  382. package/datepicker/calendar.component.d.ts +0 -89
  383. package/datepicker/datepicker-animations.d.ts +0 -9
  384. package/datepicker/datepicker-errors.d.ts +0 -2
  385. package/datepicker/datepicker-input.directive.d.ts +0 -221
  386. package/datepicker/datepicker-intl.d.ts +0 -32
  387. package/datepicker/datepicker-module.d.ts +0 -21
  388. package/datepicker/datepicker-toggle.component.d.ts +0 -57
  389. package/datepicker/datepicker.component.d.ts +0 -148
  390. package/datepicker/month-view.component.d.ts +0 -73
  391. package/datepicker/public-api.d.ts +0 -10
  392. package/divider/divider.component.d.ts +0 -18
  393. package/divider/divider.module.d.ts +0 -8
  394. package/divider/public-api.d.ts +0 -2
  395. package/dl/dl.component.d.ts +0 -26
  396. package/dl/dl.module.d.ts +0 -9
  397. package/dl/public-api.d.ts +0 -2
  398. package/dropdown/dropdown-animations.d.ts +0 -11
  399. package/dropdown/dropdown-content.directive.d.ts +0 -32
  400. package/dropdown/dropdown-errors.d.ts +0 -17
  401. package/dropdown/dropdown-item.component.d.ts +0 -52
  402. package/dropdown/dropdown-trigger.directive.d.ts +0 -156
  403. package/dropdown/dropdown.component.d.ts +0 -126
  404. package/dropdown/dropdown.module.d.ts +0 -13
  405. package/dropdown/dropdown.types.d.ts +0 -67
  406. package/dropdown/public-api.d.ts +0 -8
  407. package/dynamic-translation/dynamic-translation.d.ts +0 -72
  408. package/dynamic-translation/module.d.ts +0 -7
  409. package/ellipsis-center/ellipsis-center.directive.d.ts +0 -36
  410. package/ellipsis-center/public-api.d.ts +0 -1
  411. package/empty-state/empty-state.component.d.ts +0 -36
  412. package/empty-state/empty-state.module.d.ts +0 -9
  413. package/empty-state/public-api.d.ts +0 -2
  414. package/fesm2022/koobiq-components-navbar-ic.mjs +0 -863
  415. package/fesm2022/koobiq-components-navbar-ic.mjs.map +0 -1
  416. package/fesm2022/koobiq-components-risk-level.mjs +0 -75
  417. package/fesm2022/koobiq-components-risk-level.mjs.map +0 -1
  418. package/file-upload/dropzone.d.ts +0 -147
  419. package/file-upload/file-upload.d.ts +0 -102
  420. package/file-upload/file-upload.module.d.ts +0 -20
  421. package/file-upload/multiple-file-upload.component.d.ts +0 -138
  422. package/file-upload/primitives/file-drop.d.ts +0 -35
  423. package/file-upload/primitives/file-picker.d.ts +0 -82
  424. package/file-upload/primitives/index.d.ts +0 -2
  425. package/file-upload/public-api.d.ts +0 -7
  426. package/file-upload/single-file-upload.component.d.ts +0 -118
  427. package/filter-bar/filter-bar-button.d.ts +0 -14
  428. package/filter-bar/filter-bar.d.ts +0 -81
  429. package/filter-bar/filter-bar.module.d.ts +0 -17
  430. package/filter-bar/filter-bar.types.d.ts +0 -143
  431. package/filter-bar/filter-refresher.d.ts +0 -5
  432. package/filter-bar/filter-reset.d.ts +0 -15
  433. package/filter-bar/filter-search.d.ts +0 -54
  434. package/filter-bar/filter-search.scss +0 -12
  435. package/filter-bar/filters.d.ts +0 -122
  436. package/filter-bar/pipe-add.d.ts +0 -28
  437. package/filter-bar/pipe.directive.d.ts +0 -13
  438. package/filter-bar/pipes/base-pipe.d.ts +0 -74
  439. package/filter-bar/pipes/pipe-button.d.ts +0 -21
  440. package/filter-bar/pipes/pipe-date.d.ts +0 -65
  441. package/filter-bar/pipes/pipe-datetime.d.ts +0 -66
  442. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -56
  443. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +0 -67
  444. package/filter-bar/pipes/pipe-readonly.d.ts +0 -7
  445. package/filter-bar/pipes/pipe-select.d.ts +0 -30
  446. package/filter-bar/pipes/pipe-state.d.ts +0 -21
  447. package/filter-bar/pipes/pipe-text.d.ts +0 -26
  448. package/filter-bar/pipes/pipe-title.d.ts +0 -27
  449. package/filter-bar/pipes/pipe-tree-select.d.ts +0 -42
  450. package/filter-bar/public-api.d.ts +0 -21
  451. package/form-field/cleaner.d.ts +0 -11
  452. package/form-field/error.d.ts +0 -8
  453. package/form-field/fieldset.d.ts +0 -27
  454. package/form-field/form-field-control.d.ts +0 -40
  455. package/form-field/form-field.d.ts +0 -298
  456. package/form-field/form-field.module.d.ts +0 -19
  457. package/form-field/hint.d.ts +0 -15
  458. package/form-field/label.d.ts +0 -6
  459. package/form-field/password-hint.d.ts +0 -53
  460. package/form-field/password-toggle.d.ts +0 -56
  461. package/form-field/prefix.d.ts +0 -6
  462. package/form-field/public-api.d.ts +0 -15
  463. package/form-field/reactive-password-hint.d.ts +0 -20
  464. package/form-field/stepper.d.ts +0 -59
  465. package/form-field/suffix.d.ts +0 -6
  466. package/form-field/validate.directive.d.ts +0 -53
  467. package/icon/icon-button.component.d.ts +0 -28
  468. package/icon/icon-item.component.d.ts +0 -11
  469. package/icon/icon-registry-providers.d.ts +0 -34
  470. package/icon/icon-registry.d.ts +0 -50
  471. package/icon/icon.component.d.ts +0 -33
  472. package/icon/icon.module.d.ts +0 -9
  473. package/icon/public-api.d.ts +0 -6
  474. package/inline-edit/inline-edit.d.ts +0 -161
  475. package/inline-edit/module.d.ts +0 -7
  476. package/input/input-errors.d.ts +0 -1
  477. package/input/input-number-validators.d.ts +0 -35
  478. package/input/input-number.d.ts +0 -96
  479. package/input/input-password.d.ts +0 -99
  480. package/input/input-value-accessor.d.ts +0 -4
  481. package/input/input.d.ts +0 -109
  482. package/input/input.module.d.ts +0 -14
  483. package/input/public-api.d.ts +0 -6
  484. package/link/link.component.d.ts +0 -53
  485. package/link/link.module.d.ts +0 -8
  486. package/link/public-api.d.ts +0 -2
  487. package/list/list-selection.component.d.ts +0 -196
  488. package/list/list.component.d.ts +0 -18
  489. package/list/list.module.d.ts +0 -11
  490. package/list/public-api.d.ts +0 -3
  491. package/loader-overlay/loader-overlay.component.d.ts +0 -47
  492. package/loader-overlay/loader-overlay.module.d.ts +0 -10
  493. package/loader-overlay/public-api.d.ts +0 -2
  494. package/markdown/markdown.component.d.ts +0 -31
  495. package/markdown/markdown.module.d.ts +0 -7
  496. package/markdown/markdown.service.d.ts +0 -19
  497. package/markdown/markdown.values.d.ts +0 -10
  498. package/markdown/public-api.d.ts +0 -4
  499. package/modal/css-unit.pipe.d.ts +0 -7
  500. package/modal/modal-control.service.d.ts +0 -20
  501. package/modal/modal-ref.class.d.ts +0 -37
  502. package/modal/modal-util.d.ts +0 -15
  503. package/modal/modal.component.d.ts +0 -141
  504. package/modal/modal.directive.d.ts +0 -20
  505. package/modal/modal.module.d.ts +0 -15
  506. package/modal/modal.service.d.ts +0 -42
  507. package/modal/modal.type.d.ts +0 -72
  508. package/modal/public-api.d.ts +0 -6
  509. package/navbar/navbar-brand.component.d.ts +0 -41
  510. package/navbar/navbar-item.component.d.ts +0 -131
  511. package/navbar/navbar-toggle.component.d.ts +0 -23
  512. package/navbar/navbar.component.d.ts +0 -68
  513. package/navbar/navbar.module.d.ts +0 -15
  514. package/navbar/public-api.d.ts +0 -6
  515. package/navbar/vertical-navbar.component.d.ts +0 -47
  516. package/navbar-ic/_navbar-ic-theme.scss +0 -81
  517. package/navbar-ic/index.d.ts +0 -1
  518. package/navbar-ic/navbar-ic-divider.scss +0 -7
  519. package/navbar-ic/navbar-ic-header.d.ts +0 -22
  520. package/navbar-ic/navbar-ic-header.scss +0 -49
  521. package/navbar-ic/navbar-ic-item.d.ts +0 -144
  522. package/navbar-ic/navbar-ic-item.scss +0 -92
  523. package/navbar-ic/navbar-ic-tokens.scss +0 -22
  524. package/navbar-ic/navbar-ic.animation.d.ts +0 -3
  525. package/navbar-ic/navbar-ic.d.ts +0 -118
  526. package/navbar-ic/navbar-ic.module.d.ts +0 -14
  527. package/navbar-ic/navbar-ic.scss +0 -32
  528. package/navbar-ic/public-api.d.ts +0 -4
  529. package/notification-center/notification-center-animations.d.ts +0 -5
  530. package/notification-center/notification-center.d.ts +0 -156
  531. package/notification-center/notification-center.module.d.ts +0 -7
  532. package/notification-center/notification-center.service.d.ts +0 -72
  533. package/notification-center/notification-item.d.ts +0 -27
  534. package/notification-center/public-api.d.ts +0 -4
  535. package/overflow-items/module.d.ts +0 -7
  536. package/overflow-items/overflow-items.d.ts +0 -152
  537. package/popover/popover-animations.d.ts +0 -4
  538. package/popover/popover-confirm.component.d.ts +0 -28
  539. package/popover/popover.component.d.ts +0 -139
  540. package/popover/popover.module.d.ts +0 -14
  541. package/popover/public-api.d.ts +0 -4
  542. package/progress-bar/progress-bar.component.d.ts +0 -20
  543. package/progress-bar/progress-bar.module.d.ts +0 -8
  544. package/progress-bar/public-api.d.ts +0 -2
  545. package/progress-spinner/progress-spinner.component.d.ts +0 -26
  546. package/progress-spinner/progress-spinner.module.d.ts +0 -9
  547. package/progress-spinner/public-api.d.ts +0 -2
  548. package/public-api.d.ts +0 -1
  549. package/radio/public-api.d.ts +0 -2
  550. package/radio/radio.component.d.ts +0 -200
  551. package/radio/radio.module.d.ts +0 -8
  552. package/resizer/module.d.ts +0 -7
  553. package/resizer/resizer.d.ts +0 -75
  554. package/risk-level/_risk-level-theme.scss +0 -74
  555. package/risk-level/index.d.ts +0 -1
  556. package/risk-level/public-api.d.ts +0 -2
  557. package/risk-level/risk-level-tokens.scss +0 -33
  558. package/risk-level/risk-level.component.d.ts +0 -21
  559. package/risk-level/risk-level.component.scss +0 -22
  560. package/risk-level/risk-level.module.d.ts +0 -12
  561. package/scrollbar/public-api.d.ts +0 -4
  562. package/scrollbar/scrollbar.component.d.ts +0 -37
  563. package/scrollbar/scrollbar.directive.d.ts +0 -29
  564. package/scrollbar/scrollbar.module.d.ts +0 -8
  565. package/scrollbar/scrollbar.types.d.ts +0 -33
  566. package/search-expandable/public-api.d.ts +0 -2
  567. package/search-expandable/search-expandable.d.ts +0 -89
  568. package/search-expandable/search-expandable.module.d.ts +0 -7
  569. package/select/public-api.d.ts +0 -4
  570. package/select/select-common.d.ts +0 -30
  571. package/select/select-option.directive.d.ts +0 -21
  572. package/select/select.component.d.ts +0 -627
  573. package/select/select.module.d.ts +0 -17
  574. package/sidebar/public-api.d.ts +0 -2
  575. package/sidebar/sidebar-animations.d.ts +0 -8
  576. package/sidebar/sidebar.component.d.ts +0 -80
  577. package/sidebar/sidebar.module.d.ts +0 -8
  578. package/sidepanel/public-api.d.ts +0 -6
  579. package/sidepanel/sidepanel-animations.d.ts +0 -20
  580. package/sidepanel/sidepanel-config.d.ts +0 -43
  581. package/sidepanel/sidepanel-container.component.d.ts +0 -67
  582. package/sidepanel/sidepanel-directives.d.ts +0 -61
  583. package/sidepanel/sidepanel-ref.d.ts +0 -36
  584. package/sidepanel/sidepanel.module.d.ts +0 -14
  585. package/sidepanel/sidepanel.service.d.ts +0 -58
  586. package/skeleton/module.d.ts +0 -7
  587. package/skeleton/skeleton.d.ts +0 -17
  588. package/split-button/public-api.d.ts +0 -2
  589. package/split-button/split-button.d.ts +0 -37
  590. package/split-button/split-button.module.d.ts +0 -7
  591. package/splitter/public-api.d.ts +0 -2
  592. package/splitter/splitter.component.d.ts +0 -136
  593. package/splitter/splitter.module.d.ts +0 -8
  594. package/table/public-api.d.ts +0 -2
  595. package/table/table.component.d.ts +0 -12
  596. package/table/table.module.d.ts +0 -9
  597. package/tabs/paginated-tab-header.d.ts +0 -182
  598. package/tabs/public-api.d.ts +0 -10
  599. package/tabs/tab-body.component.d.ts +0 -95
  600. package/tabs/tab-content.directive.d.ts +0 -9
  601. package/tabs/tab-group.component.d.ts +0 -137
  602. package/tabs/tab-header.component.d.ts +0 -32
  603. package/tabs/tab-label-wrapper.directive.d.ts +0 -29
  604. package/tabs/tab-label.directive.d.ts +0 -9
  605. package/tabs/tab-nav-bar.d.ts +0 -91
  606. package/tabs/tab.component.d.ts +0 -68
  607. package/tabs/tabs-animations.d.ts +0 -4
  608. package/tabs/tabs.module.d.ts +0 -20
  609. package/tags/public-api.d.ts +0 -5
  610. package/tags/tag-default-options.d.ts +0 -13
  611. package/tags/tag-input.d.ts +0 -110
  612. package/tags/tag-list.component.d.ts +0 -373
  613. package/tags/tag-text-control.d.ts +0 -10
  614. package/tags/tag.component.d.ts +0 -272
  615. package/tags/tag.module.d.ts +0 -10
  616. package/textarea/public-api.d.ts +0 -2
  617. package/textarea/textarea.component.d.ts +0 -123
  618. package/textarea/textarea.module.d.ts +0 -10
  619. package/time-range/constants.d.ts +0 -19
  620. package/time-range/module.d.ts +0 -10
  621. package/time-range/time-range-editor.d.ts +0 -65
  622. package/time-range/time-range-title-as-form-field.d.ts +0 -41
  623. package/time-range/time-range-title.d.ts +0 -18
  624. package/time-range/time-range.d.ts +0 -78
  625. package/time-range/time-range.service.d.ts +0 -25
  626. package/time-range/types.d.ts +0 -69
  627. package/timepicker/public-api.d.ts +0 -3
  628. package/timepicker/timepicker.constants.d.ts +0 -22
  629. package/timepicker/timepicker.directive.d.ts +0 -159
  630. package/timepicker/timepicker.module.d.ts +0 -11
  631. package/timezone/cities-by-filter.pipe.d.ts +0 -7
  632. package/timezone/public-api.d.ts +0 -6
  633. package/timezone/timezone-option.component.d.ts +0 -15
  634. package/timezone/timezone-option.directive.d.ts +0 -22
  635. package/timezone/timezone-select.component.d.ts +0 -16
  636. package/timezone/timezone.models.d.ts +0 -16
  637. package/timezone/timezone.module.d.ts +0 -20
  638. package/timezone/timezone.utils.d.ts +0 -22
  639. package/timezone/utc-offset.pipe.d.ts +0 -9
  640. package/title/public-api.d.ts +0 -2
  641. package/title/title.directive.d.ts +0 -33
  642. package/title/title.module.d.ts +0 -8
  643. package/toast/public-api.d.ts +0 -5
  644. package/toast/toast-animations.d.ts +0 -5
  645. package/toast/toast-container.component.d.ts +0 -19
  646. package/toast/toast.component.d.ts +0 -41
  647. package/toast/toast.module.d.ts +0 -8
  648. package/toast/toast.service.d.ts +0 -61
  649. package/toast/toast.type.d.ts +0 -44
  650. package/toggle/public-api.d.ts +0 -2
  651. package/toggle/toggle.component.d.ts +0 -77
  652. package/toggle/toggle.module.d.ts +0 -8
  653. package/tooltip/public-api.d.ts +0 -2
  654. package/tooltip/tooltip.animations.d.ts +0 -8
  655. package/tooltip/tooltip.component.d.ts +0 -156
  656. package/tooltip/tooltip.module.d.ts +0 -7
  657. package/top-bar/module.d.ts +0 -7
  658. package/top-bar/public-api.d.ts +0 -2
  659. package/top-bar/top-bar.d.ts +0 -25
  660. package/tree/control/base-tree-control.d.ts +0 -40
  661. package/tree/control/flat-tree-control.d.ts +0 -55
  662. package/tree/control/flat-tree-control.filters.d.ts +0 -27
  663. package/tree/control/nested-tree-control.d.ts +0 -19
  664. package/tree/control/tree-control.d.ts +0 -44
  665. package/tree/data-source/flat-data-source.d.ts +0 -80
  666. package/tree/data-source/nested-data-source.d.ts +0 -15
  667. package/tree/node.d.ts +0 -34
  668. package/tree/outlet.d.ts +0 -9
  669. package/tree/padding.directive.d.ts +0 -45
  670. package/tree/public-api.d.ts +0 -16
  671. package/tree/toggle.d.ts +0 -28
  672. package/tree/tree-base.d.ts +0 -96
  673. package/tree/tree-errors.d.ts +0 -25
  674. package/tree/tree-option.component.d.ts +0 -89
  675. package/tree/tree-selection.component.d.ts +0 -156
  676. package/tree/tree.d.ts +0 -6
  677. package/tree/tree.module.d.ts +0 -16
  678. package/tree-select/public-api.d.ts +0 -2
  679. package/tree-select/tree-select.component.d.ts +0 -360
  680. package/tree-select/tree-select.module.d.ts +0 -15
  681. package/username/constants.d.ts +0 -15
  682. package/username/module.d.ts +0 -8
  683. package/username/types.d.ts +0 -62
  684. package/username/username.d.ts +0 -68
  685. package/username/username.pipe.d.ts +0 -23
@@ -1,20 +1,17 @@
1
1
  import { CdkMonitorFocus, A11yModule } from '@angular/cdk/a11y';
2
- import * as i2 from '@angular/cdk/bidi';
2
+ import { Directionality } from '@angular/cdk/bidi';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { SelectionModel } from '@angular/cdk/collections';
5
5
  import { CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
6
6
  import { Platform, _getEventTarget } from '@angular/cdk/platform';
7
- import { NgClass, NgTemplateOutlet } from '@angular/common';
7
+ import { NgTemplateOutlet } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
- import { InjectionToken, inject, EventEmitter, DestroyRef, afterNextRender, TemplateRef, numberAttribute, booleanAttribute, Input, Output, ContentChild, ViewChildren, ViewChild, Inject, Optional, Host, Self, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
10
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
- import * as i3 from '@angular/forms';
12
- import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, isSelectAll, hasModifierKey } from '@koobiq/cdk/keycodes';
13
- import * as i1 from '@koobiq/components/core';
14
- import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, KbqComponentColors, KBQ_VALIDATION, defaultOffsetY, KBQ_WINDOW, MultipleMode, isUndefined, getKbqSelectNonArrayValueError, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, kbqSelectAnimations, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectSearchEmptyResult, KbqPseudoCheckboxModule, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
15
- import * as i4 from '@koobiq/components/form-field';
16
- import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
17
- import * as i5 from '@koobiq/components/icon';
9
+ import { InjectionToken, inject, ElementRef, ChangeDetectorRef, NgZone, Renderer2, viewChild, contentChild, TemplateRef, EventEmitter, output, input, booleanAttribute, numberAttribute, DestroyRef, afterNextRender, Input, Output, ViewChildren, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
10
+ import { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
+ import { NgForm, FormGroupDirective, NgControl } from '@angular/forms';
12
+ import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, KbqComponentColors, ErrorStateMatcher, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, defaultOffsetY, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KBQ_WINDOW, MultipleMode, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, isSelectAll, hasModifierKey, isUndefined, getKbqSelectNonArrayValueError, kbqSelectAnimations, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectSearchEmptyResult, KbqPseudoCheckboxModule, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
13
+ import { KbqFormField, KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
14
+ import * as i1 from '@koobiq/components/icon';
18
15
  import { KbqIconModule } from '@koobiq/components/icon';
19
16
  import { KbqTagRemove, KbqTag, KbqTagsModule } from '@koobiq/components/tags';
20
17
  import { KbqTreeSelection, KbqTree, KbqTreeModule } from '@koobiq/components/tree';
@@ -42,6 +39,8 @@ class KbqTreeSelectChange {
42
39
  }
43
40
  }
44
41
  class KbqTreeSelect extends KbqAbstractSelect {
42
+ // TODO: Skipped for migration because:
43
+ // Accessor inputs cannot be migrated as they are too complex.
45
44
  get placeholder() {
46
45
  return this._placeholder;
47
46
  }
@@ -49,6 +48,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
49
48
  this._placeholder = value;
50
49
  this.stateChanges.next();
51
50
  }
51
+ // TODO: Skipped for migration because:
52
+ // Accessor inputs cannot be migrated as they are too complex.
52
53
  get required() {
53
54
  return this._required;
54
55
  }
@@ -56,6 +57,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
56
57
  this._required = coerceBooleanProperty(value);
57
58
  this.stateChanges.next();
58
59
  }
60
+ // TODO: Skipped for migration because:
61
+ // Accessor inputs cannot be migrated as they are too complex.
59
62
  get multiple() {
60
63
  return this._multiple;
61
64
  }
@@ -65,6 +68,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
65
68
  }
66
69
  this._multiple = coerceBooleanProperty(value);
67
70
  }
71
+ // TODO: Skipped for migration because:
72
+ // Accessor inputs cannot be migrated as they are too complex.
68
73
  get autoSelect() {
69
74
  if (this.multiSelection) {
70
75
  return false;
@@ -75,8 +80,10 @@ class KbqTreeSelect extends KbqAbstractSelect {
75
80
  this._autoSelect = coerceBooleanProperty(value);
76
81
  }
77
82
  get value() {
78
- return this.tree.getSelectedValues();
83
+ return this.tree().getSelectedValues();
79
84
  }
85
+ // TODO: Skipped for migration because:
86
+ // Accessor inputs cannot be migrated as they are too complex.
80
87
  get id() {
81
88
  return this._id;
82
89
  }
@@ -84,12 +91,16 @@ class KbqTreeSelect extends KbqAbstractSelect {
84
91
  this._id = value || this.uid;
85
92
  this.stateChanges.next();
86
93
  }
94
+ // TODO: Skipped for migration because:
95
+ // Accessor inputs cannot be migrated as they are too complex.
87
96
  get hasBackdrop() {
88
97
  return this._hasBackdrop;
89
98
  }
90
99
  set hasBackdrop(value) {
91
100
  this._hasBackdrop = coerceBooleanProperty(value);
92
101
  }
102
+ // TODO: Skipped for migration because:
103
+ // Accessor inputs cannot be migrated as they are too complex.
93
104
  get tabIndex() {
94
105
  return this.disabled ? -1 : this._tabIndex;
95
106
  }
@@ -98,6 +109,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
98
109
  this._tabIndex = value;
99
110
  }
100
111
  }
112
+ // TODO: Skipped for migration because:
113
+ // Accessor inputs cannot be migrated as they are too complex.
101
114
  get disabled() {
102
115
  return this._disabled;
103
116
  }
@@ -106,7 +119,12 @@ class KbqTreeSelect extends KbqAbstractSelect {
106
119
  this._disabled = value;
107
120
  if (this.parentFormField) {
108
121
  Promise.resolve().then(() => {
109
- this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();
122
+ if (this._disabled) {
123
+ this.parentFormField.stopFocusMonitor();
124
+ }
125
+ else {
126
+ this.parentFormField.runFocusMonitor();
127
+ }
110
128
  });
111
129
  }
112
130
  // Let the parent form field know to run change detection when the disabled state changes.
@@ -116,6 +134,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
116
134
  /**
117
135
  * Function for handling the combination Ctrl + A (select all). By default, the internal handler is used.
118
136
  */
137
+ // TODO: Skipped for migration because:
138
+ // Accessor inputs cannot be migrated as they are too complex.
119
139
  get selectAllHandler() {
120
140
  return this._selectAllHandler;
121
141
  }
@@ -128,7 +148,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
128
148
  /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
129
149
  _selectAllHandler(event, select) {
130
150
  event.preventDefault();
131
- select.tree.selectAllOptions();
151
+ select.tree().selectAllOptions();
132
152
  }
133
153
  /** Whether the select is focused. */
134
154
  get focused() {
@@ -139,7 +159,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
139
159
  }
140
160
  /** Whether multiple choice is enabled or not. True if multiple or multiline */
141
161
  get multiSelection() {
142
- return this.multiple || this.multiline;
162
+ return this.multiple || this.multiline();
143
163
  }
144
164
  /**
145
165
  * Controls when the search functionality is displayed based on the number of available options.
@@ -147,6 +167,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
147
167
  * Automatically enables search hiding if value provided, even if `defaultOptions.searchMinOptionsThreshold` is provided.
148
168
  * @default undefined
149
169
  */
170
+ // TODO: Skipped for migration because:
171
+ // Accessor inputs cannot be migrated as they are too complex.
150
172
  set searchMinOptionsThreshold(value) {
151
173
  this._searchMinOptionsThreshold =
152
174
  this.resolveSearchMinOptionsThreshold(value) ??
@@ -159,7 +181,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
159
181
  return this._panelOpen;
160
182
  }
161
183
  get canShowCleaner() {
162
- return !this.disabled && this.cleaner && this.selectionModel.hasValue();
184
+ return !this.disabled && !!this.cleaner() && this.selectionModel.hasValue();
163
185
  }
164
186
  /** @docs-private */
165
187
  get colorForState() {
@@ -168,22 +190,21 @@ class KbqTreeSelect extends KbqAbstractSelect {
168
190
  ? KbqComponentColors.Error
169
191
  : KbqComponentColors.ContrastFade;
170
192
  }
171
- constructor(elementRef, changeDetectorRef, ngZone, renderer, defaultErrorStateMatcher, scrollStrategyFactory, dir, parentForm, parentFormGroup, parentFormField, ngControl, localeService) {
193
+ constructor() {
172
194
  super();
173
- this.elementRef = elementRef;
174
- this.changeDetectorRef = changeDetectorRef;
175
- this.ngZone = ngZone;
176
- this.renderer = renderer;
177
- this.defaultErrorStateMatcher = defaultErrorStateMatcher;
178
- this.scrollStrategyFactory = scrollStrategyFactory;
179
- this.dir = dir;
180
- this.parentForm = parentForm;
181
- this.parentFormGroup = parentFormGroup;
182
- this.parentFormField = parentFormField;
183
- this.ngControl = ngControl;
184
- this.localeService = localeService;
195
+ this.elementRef = inject(ElementRef);
196
+ this.changeDetectorRef = inject(ChangeDetectorRef);
197
+ this.ngZone = inject(NgZone);
198
+ this.renderer = inject(Renderer2);
199
+ this.defaultErrorStateMatcher = inject(ErrorStateMatcher);
200
+ this.scrollStrategyFactory = inject(KBQ_SELECT_SCROLL_STRATEGY);
201
+ this.dir = inject(Directionality, { optional: true });
202
+ this.parentForm = inject(NgForm, { optional: true });
203
+ this.parentFormGroup = inject(FormGroupDirective, { optional: true });
204
+ this.parentFormField = inject(KbqFormField, { host: true, optional: true });
205
+ this.ngControl = inject(NgControl, { optional: true, self: true });
206
+ this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
185
207
  this.isBrowser = inject(Platform).isBrowser;
186
- this.useLegacyValidation = inject(KBQ_VALIDATION, { optional: true })?.useValidation ?? false;
187
208
  this.defaultOptions = inject(KBQ_TREE_SELECT_OPTIONS, { optional: true });
188
209
  /** Whether the component is in an error state. */
189
210
  this.errorState = false;
@@ -232,6 +253,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
232
253
  offsetY: -this.offsetY
233
254
  }
234
255
  ];
256
+ /**
257
+ * Trigger - is a clickable field to open select dropdown panel
258
+ */
259
+ this.trigger = viewChild.required('trigger');
260
+ this.panel = viewChild.required('panel');
261
+ this.cleaner = contentChild('kbqSelectCleaner', ...(ngDevMode ? [{ debugName: "cleaner" }] : []));
262
+ /** User-supplied override of the trigger element. */
263
+ this.customTrigger = contentChild(KbqSelectTrigger, ...(ngDevMode ? [{ debugName: "customTrigger" }] : []));
264
+ this.customMatcher = contentChild(KbqSelectMatcher, ...(ngDevMode ? [{ debugName: "customMatcher" }] : []));
265
+ this.customTagTemplateRef = contentChild('kbqSelectTagContent', ...(ngDevMode ? [{ debugName: "customTagTemplateRef", read: TemplateRef }] : [{ read: TemplateRef }]));
266
+ this.tree = contentChild(KbqTreeSelection, ...(ngDevMode ? [{ debugName: "tree" }] : []));
267
+ this.search = contentChild(KbqSelectSearch, ...(ngDevMode ? [{ debugName: "search" }] : []));
268
+ // TODO: Skipped for migration because:
269
+ // Your application code writes to the input. This prevents migration.
235
270
  this.hiddenItemsText = '+{{ number }}';
236
271
  /** Event emitted when the select panel has been toggled. */
237
272
  this.openedChange = new EventEmitter();
@@ -240,22 +275,29 @@ class KbqTreeSelect extends KbqAbstractSelect {
240
275
  /** Event emitted when the select has been closed. */
241
276
  this.closedStream = this.openedChange.pipe(filter((o) => !o), map(() => { }));
242
277
  /** Event emitted when the selected value has been changed by the user. */
243
- this.selectionChange = new EventEmitter();
278
+ this.selectionChange = output();
244
279
  /**
245
280
  * Event that emits whenever the raw value of the select changes. This is here primarily
246
281
  * to facilitate the two-way binding for the `value` input.
247
282
  * @docs-private
248
283
  */
249
- this.valueChange = new EventEmitter();
250
- this.backdropClass = 'cdk-overlay-transparent-backdrop';
284
+ this.valueChange = output();
285
+ /** Classes to be passed to the select panel. Supports the same syntax as the `[class]` binding. */
286
+ this.panelClass = input(undefined, ...(ngDevMode ? [{ debugName: "panelClass" }] : []));
287
+ this.backdropClass = input('cdk-overlay-transparent-backdrop', ...(ngDevMode ? [{ debugName: "backdropClass" }] : []));
288
+ /**
289
+ * Function used to sort the values in a select in multiple mode.
290
+ * Follows the same logic as `Array.prototype.sort`.
291
+ */
292
+ this.sortComparator = input(undefined, ...(ngDevMode ? [{ debugName: "sortComparator" }] : []));
251
293
  /**
252
294
  * Whether to use a multiline matcher or not. Default is false
253
295
  */
254
- this.multiline = false;
296
+ this.multiline = input(false, ...(ngDevMode ? [{ debugName: "multiline", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
255
297
  /** Combined stream of all of the child options' change events. */
256
298
  this.optionSelectionChanges = defer(() => {
257
299
  if (this.options) {
258
- return this.options.changes.pipe(startWith(this.options), switchMap(() => merge(...this.options.map((option) => option.onSelectionChange))));
300
+ return this.options.changes.pipe(startWith(this.options), switchMap(() => merge(...this.options.map((option) => outputToObservable(option.onSelectionChange)))));
259
301
  }
260
302
  return this.ngZone.onStable.asObservable().pipe(take(1), switchMap(() => this.optionSelectionChanges));
261
303
  });
@@ -277,12 +319,12 @@ class KbqTreeSelect extends KbqAbstractSelect {
277
319
  * Minimum width of the panel.
278
320
  * If minWidth is larger than window width, it will be ignored.
279
321
  */
280
- this.panelMinWidth = this.defaultOptions?.panelMinWidth ?? 200;
322
+ this.panelMinWidth = input(this.defaultOptions?.panelMinWidth ?? 200, ...(ngDevMode ? [{ debugName: "panelMinWidth", transform: numberAttribute }] : [{ transform: numberAttribute }]));
281
323
  /**
282
324
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
283
325
  * If set to null or an empty string, the panel will grow to match the longest option's text.
284
326
  */
285
- this.panelWidth = this.defaultOptions?.panelWidth || null;
327
+ this.panelWidth = input(this.defaultOptions?.panelWidth || null, ...(ngDevMode ? [{ debugName: "panelWidth" }] : []));
286
328
  this._searchMinOptionsThreshold = this.resolveSearchMinOptionsThreshold();
287
329
  this.triggerValues = [];
288
330
  this.closeSubscription = Subscription.EMPTY;
@@ -299,19 +341,19 @@ class KbqTreeSelect extends KbqAbstractSelect {
299
341
  this.onTouched = () => { };
300
342
  this.calculateHiddenItems = () => {
301
343
  if (!this.isBrowser ||
302
- this.customTrigger ||
303
- this.customMatcher ||
344
+ this.customTrigger() ||
345
+ this.customMatcher() ||
304
346
  this.empty ||
305
347
  !this.multiple ||
306
- this.multiline)
348
+ this.multiline())
307
349
  return;
308
350
  const totalItemsWidth = this.getTotalItemsWidthInMatcher();
309
351
  const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
310
352
  this.hiddenItems = this.selectionModel.selected.length - visibleItems;
311
353
  this.changeDetectorRef.detectChanges();
312
354
  if (this.hiddenItems) {
313
- const itemsCounter = this.trigger.nativeElement.querySelector('.kbq-select__match-hidden-text');
314
- const matcherList = this.trigger.nativeElement.querySelector('.kbq-select__match-list');
355
+ const itemsCounter = this.trigger().nativeElement.querySelector('.kbq-select__match-hidden-text');
356
+ const matcherList = this.trigger().nativeElement.querySelector('.kbq-select__match-list');
315
357
  const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;
316
358
  const itemsCounterWidth = Math.floor(itemsCounter.getBoundingClientRect().width);
317
359
  const matcherListWidth = Math.floor(matcherList.getBoundingClientRect().width);
@@ -341,7 +383,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
341
383
  // Force setter to be called in case id was not specified.
342
384
  this.id = this.id;
343
385
  afterNextRender(() => {
344
- if (this.multiple && !this.multiline) {
386
+ if (this.multiple && !this.multiline()) {
345
387
  merge(fromEvent(this.window, 'resize'), this.tags.changes)
346
388
  .pipe(delay(0), debounceTime(50), takeUntilDestroyed(this.destroyRef))
347
389
  .subscribe(this.calculateHiddenItems);
@@ -360,8 +402,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
360
402
  this.scrollTop = 0;
361
403
  setTimeout(() => {
362
404
  this.highlightCorrectOption();
363
- if (this.search) {
364
- this.search.focus();
405
+ const search = this.search();
406
+ if (search) {
407
+ search.focus();
365
408
  }
366
409
  });
367
410
  this.openedChange.emit(true);
@@ -379,11 +422,12 @@ class KbqTreeSelect extends KbqAbstractSelect {
379
422
  }
380
423
  }
381
424
  ngAfterContentInit() {
382
- if (!this.tree)
425
+ const tree = this.tree();
426
+ if (!tree)
383
427
  return;
384
- this.tree.resetFocusedItemOnBlur = false;
385
- this.tree.optionShouldHoldFocusOnBlur = !!this.search;
386
- this.selectionModel = this.tree.selectionModel = new SelectionModel(this.multiSelection);
428
+ tree.resetFocusedItemOnBlur = false;
429
+ tree.optionShouldHoldFocusOnBlur = !!this.search();
430
+ this.selectionModel = tree.selectionModel = new SelectionModel(this.multiSelection);
387
431
  this.selectionModel.changed.subscribe(() => {
388
432
  this.onChange(this.selectedValues);
389
433
  if (this.multiSelection) {
@@ -392,16 +436,16 @@ class KbqTreeSelect extends KbqAbstractSelect {
392
436
  });
393
437
  this.selectionModel.changed.pipe(delay(0)).subscribe(() => this.setOverlayPosition());
394
438
  // eslint-disable-next-line @angular-eslint/no-lifecycle-call
395
- this.tree.ngAfterContentInit();
439
+ tree.ngAfterContentInit();
396
440
  this.initKeyManager();
397
- this.options = this.tree.renderedOptions;
398
- this.tree.autoSelect = this.autoSelect;
399
- if (this.tree.multipleMode === null) {
441
+ this.options = tree.renderedOptions;
442
+ tree.autoSelect = this.autoSelect;
443
+ if (tree.multipleMode === null) {
400
444
  // setTimeout need for prevent an error "NG0100: ExpressionChangedAfterItHasBeenCheckedError"
401
- setTimeout(() => (this.tree.multipleMode = this.multiSelection ? MultipleMode.CHECKBOX : null));
445
+ setTimeout(() => (this.tree().multipleMode = this.multiSelection ? MultipleMode.CHECKBOX : null));
402
446
  }
403
447
  if (this.multiSelection) {
404
- this.tree.noUnselectLast = false;
448
+ tree.noUnselectLast = false;
405
449
  }
406
450
  if (this.tempValues) {
407
451
  this.setSelectionByValue(this.tempValues);
@@ -413,26 +457,28 @@ class KbqTreeSelect extends KbqAbstractSelect {
413
457
  Promise.resolve().then(() => this.focus());
414
458
  }
415
459
  });
416
- this.tree.selectionChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
460
+ tree.selectionChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
417
461
  this.selectionChange.emit(new KbqTreeSelectChange(this, event.option, false, event.options));
418
- if (this.search) {
419
- this.search.focus();
462
+ const search = this.search();
463
+ if (search) {
464
+ search.focus();
420
465
  }
421
466
  });
422
467
  if (!this.multiSelection) {
423
468
  this.selectionModel.changed
424
469
  .pipe(filter(({ added }) => !!added.length), takeUntilDestroyed(this.destroyRef))
425
470
  .subscribe(({ added }) => {
426
- this.tree.keyManager.setFocusOrigin('program');
427
- this.tree.keyManager.setActiveItem(this.options.find(({ data }) => data === added[0]));
471
+ this.tree().keyManager.setFocusOrigin('program');
472
+ this.tree().keyManager.setActiveItem(this.options.find(({ data }) => data === added[0]));
428
473
  });
429
474
  }
430
475
  this.subscribeOnSearchChanges();
431
476
  }
432
477
  ngAfterViewInit() {
433
- if (!this.tree)
478
+ const tree = this.tree();
479
+ if (!tree)
434
480
  return;
435
- this.tree.treeControl.expansionModel.changed
481
+ tree.treeControl.expansionModel.changed
436
482
  .pipe(takeUntilDestroyed(this.destroyRef))
437
483
  .subscribe(() => this.setOverlayPosition());
438
484
  }
@@ -460,14 +506,15 @@ class KbqTreeSelect extends KbqAbstractSelect {
460
506
  // need to prevent scrolling
461
507
  $event.preventDefault();
462
508
  this.selectionModel.clear();
463
- this.tree.keyManager.setActiveItem(-1);
509
+ this.tree().keyManager.setActiveItem(-1);
464
510
  this.setSelectionByValue([]);
465
511
  this.onChange(this.selectedValues);
466
512
  this.selectionChange.emit(new KbqTreeSelectChange(this, this.selectedValues));
467
513
  this.focus();
468
514
  }
469
515
  handleClick() {
470
- if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
516
+ const customMatcher = this.customMatcher();
517
+ if (customMatcher && !customMatcher.useDefaultHandlers())
471
518
  return;
472
519
  this.toggle();
473
520
  }
@@ -483,10 +530,10 @@ class KbqTreeSelect extends KbqAbstractSelect {
483
530
  if (this.disabled || !this.options || !this.options.length || this._panelOpen)
484
531
  return;
485
532
  // add check for form-field bounding rectangles, since it adds extra padding around the trigger
486
- this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement || this.trigger.nativeElement).getBoundingClientRect();
533
+ this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement || this.trigger().nativeElement).getBoundingClientRect();
487
534
  // Note: The computed font-size will be a string pixel value (e.g. "16px").
488
535
  // `parseInt` ignores the trailing 'px' and converts this to a number.
489
- this.triggerFontSize = parseInt(this.window.getComputedStyle(this.trigger.nativeElement)['font-size']);
536
+ this.triggerFontSize = parseInt(this.window.getComputedStyle(this.trigger().nativeElement)['font-size']);
490
537
  // It's important that we read this as late as possible, because doing so earlier will
491
538
  // return a different element since it's based on queries in the form field which may
492
539
  // not have run yet. Also this needs to be assigned before we measure the overlay width.
@@ -497,10 +544,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
497
544
  // set overlayMinWidth to the largest of `panelMinWidth` and `triggerRect.width`
498
545
  // only if `overlayWidth` falsy and `panelMinWidth` not provided.
499
546
  // This ensures panel isn't narrow.
547
+ const panelMinWidth = this.panelMinWidth();
500
548
  this.overlayMinWidth =
501
- this.panelMinWidth !== null && !this.overlayWidth
502
- ? Math.max(this.panelMinWidth, this.triggerRect.width)
503
- : '';
549
+ panelMinWidth !== null && !this.overlayWidth ? Math.max(panelMinWidth, this.triggerRect.width) : '';
504
550
  this._panelOpen = true;
505
551
  this.changeDetectorRef.markForCheck();
506
552
  // Set the font size on the panel element once it exists.
@@ -521,8 +567,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
521
567
  this._panelOpen = false;
522
568
  this.changeDetectorRef.markForCheck();
523
569
  this.onTouched();
524
- if (this.search) {
525
- this.search.reset();
570
+ const search = this.search();
571
+ if (search) {
572
+ search.reset();
526
573
  }
527
574
  }
528
575
  /**
@@ -532,7 +579,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
532
579
  * @param value New value to be written to the model.
533
580
  */
534
581
  writeValue(value) {
535
- if (this.tree) {
582
+ if (this.tree()?.treeControl) {
536
583
  this.setSelectionByValue(value);
537
584
  }
538
585
  else {
@@ -556,7 +603,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
556
603
  *
557
604
  * @param fn Callback to be triggered when the component has been touched.
558
605
  */
559
- // eslint-disable-next-line @typescript-eslint/ban-types
606
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
560
607
  registerOnTouched(fn) {
561
608
  this.onTouched = fn;
562
609
  }
@@ -575,14 +622,14 @@ class KbqTreeSelect extends KbqAbstractSelect {
575
622
  return this.multiSelection ? this.selectionModel?.selected : this.selectionModel?.selected[0];
576
623
  }
577
624
  get selectedValues() {
578
- const selectedValues = this.selectionModel.selected.map((value) => this.tree.treeControl.getValue(value));
625
+ const selectedValues = this.selectionModel.selected.map((value) => this.tree().treeControl.getValue(value));
579
626
  return this.multiSelection ? selectedValues : selectedValues[0];
580
627
  }
581
628
  get triggerValue() {
582
629
  if (this.empty) {
583
630
  return '';
584
631
  }
585
- return this.tree.treeControl.getViewValue(this.selected);
632
+ return this.tree().treeControl.getViewValue(this.selected);
586
633
  }
587
634
  get empty() {
588
635
  return !this.selectionModel || this.selectionModel.isEmpty();
@@ -591,10 +638,11 @@ class KbqTreeSelect extends KbqAbstractSelect {
591
638
  return this.dir ? this.dir.value === 'rtl' : false;
592
639
  }
593
640
  get firstSelected() {
594
- return this.selectionModel.selected.filter((node) => !this.tree.treeControl.isDisabled(node))[0];
641
+ return this.selectionModel.selected.filter((node) => !this.tree().treeControl.isDisabled(node))[0];
595
642
  }
596
643
  handleKeydown(event) {
597
- if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
644
+ const customMatcher = this.customMatcher();
645
+ if (customMatcher && !customMatcher.useDefaultHandlers())
598
646
  return;
599
647
  if (!this.disabled) {
600
648
  if (this.panelOpen) {
@@ -606,7 +654,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
606
654
  }
607
655
  }
608
656
  onFocus() {
609
- if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
657
+ const customMatcher = this.customMatcher();
658
+ if (customMatcher && !customMatcher.useDefaultHandlers())
610
659
  return;
611
660
  if (!this.disabled) {
612
661
  this._focused = true;
@@ -618,18 +667,14 @@ class KbqTreeSelect extends KbqAbstractSelect {
618
667
  * "blur" to the panel when it opens, causing a false positive.
619
668
  */
620
669
  onBlur() {
621
- if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
670
+ const customMatcher = this.customMatcher();
671
+ if (customMatcher && !customMatcher.useDefaultHandlers())
622
672
  return;
623
673
  this._focused = false;
624
674
  if (!this.disabled && !this.panelOpen) {
625
675
  this.onTouched();
626
676
  this.changeDetectorRef.markForCheck();
627
677
  this.stateChanges.next();
628
- if (this.useLegacyValidation && this.ngControl?.control) {
629
- const control = this.ngControl.control;
630
- control.updateValueAndValidity({ emitEvent: false });
631
- control.statusChanges.emit(control.status);
632
- }
633
678
  }
634
679
  }
635
680
  /** Callback that is invoked when the overlay panel has been attached. */
@@ -637,8 +682,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
637
682
  this.overlayDir.positionChange.pipe(take(1)).subscribe(() => {
638
683
  this.changeDetectorRef.detectChanges();
639
684
  this.setOverlayPosition();
640
- this.panel.nativeElement.scrollTop = this.scrollTop;
641
- this.tree.updateScrollSize();
685
+ this.panel().nativeElement.scrollTop = this.scrollTop;
686
+ this.tree().updateScrollSize();
642
687
  });
643
688
  this.closeSubscription = this.closingActions().subscribe(() => this.close());
644
689
  }
@@ -646,6 +691,21 @@ class KbqTreeSelect extends KbqAbstractSelect {
646
691
  getPanelTheme() {
647
692
  return this.parentFormField ? `kbq-${this.parentFormField.color}` : '';
648
693
  }
694
+ /** Returns the full set of classes for the panel: base class, theme and custom `panelClass`. */
695
+ getPanelClasses() {
696
+ const panelClass = this.panelClass();
697
+ const classes = ['kbq-tree-select__panel', this.getPanelTheme()];
698
+ if (typeof panelClass === 'string') {
699
+ classes.push(panelClass);
700
+ }
701
+ else if (Array.isArray(panelClass) || panelClass instanceof Set) {
702
+ classes.push(...panelClass);
703
+ }
704
+ else if (panelClass) {
705
+ classes.push(...Object.keys(panelClass).filter((key) => panelClass[key]));
706
+ }
707
+ return classes.filter(Boolean).join(' ');
708
+ }
649
709
  focus() {
650
710
  this.elementRef.nativeElement.focus();
651
711
  }
@@ -659,7 +719,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
659
719
  /** Invoked when an option is clicked. */
660
720
  onRemoveSelectedOption(selectedOption, $event) {
661
721
  $event.stopPropagation();
662
- this.selectionModel.deselect(this.selected.find((value) => this.tree.treeControl.getValue(value) === selectedOption.value));
722
+ this.selectionModel.deselect(this.selected.find((value) => this.tree().treeControl.getValue(value) === selectedOption.value));
663
723
  this.selectionChange.emit(new KbqTreeSelectChange(this, this.options.find((option) => option.value === selectedOption.value) || selectedOption.value));
664
724
  this.onChange(this.selectedValues);
665
725
  }
@@ -668,18 +728,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
668
728
  const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW || keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;
669
729
  const isOpenKey = keyCode === ENTER || keyCode === SPACE;
670
730
  // Open the select on ALT + arrow key to match the native <select>
731
+ const tree = this.tree();
671
732
  if (isOpenKey || ((this.multiSelection || event.altKey) && isArrowKey)) {
672
733
  // prevents the page from scrolling down when pressing space
673
734
  event.preventDefault();
674
735
  this.open();
675
736
  }
676
- else if (!this.multiSelection && this.tree.keyManager && this.tree.keyManager.onKeydown) {
677
- this.tree.keyManager.onKeydown(event);
737
+ else if (!this.multiSelection && tree.keyManager && tree.keyManager.onKeydown) {
738
+ tree.keyManager.onKeydown(event);
678
739
  }
679
740
  }
680
741
  panelKeydownHandler(event) {
681
742
  const keyCode = event.keyCode;
682
743
  const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;
744
+ const tree = this.tree();
683
745
  if ((isArrowKey && event.altKey) || keyCode === ESCAPE || keyCode === TAB) {
684
746
  // Close the select on ALT + arrow key to match the native <select>
685
747
  event.preventDefault();
@@ -687,28 +749,28 @@ class KbqTreeSelect extends KbqAbstractSelect {
687
749
  this.focus();
688
750
  }
689
751
  else if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW) {
690
- return this.originalOnKeyDown.call(this.tree, event);
752
+ return this.originalOnKeyDown.call(this.tree(), event);
691
753
  }
692
754
  else if (keyCode === HOME) {
693
755
  event.preventDefault();
694
- this.tree.keyManager.setFirstItemActive();
756
+ this.tree().keyManager.setFirstItemActive();
695
757
  }
696
758
  else if (keyCode === END) {
697
759
  event.preventDefault();
698
- this.tree.keyManager.setLastItemActive();
760
+ this.tree().keyManager.setLastItemActive();
699
761
  }
700
762
  else if (keyCode === PAGE_UP) {
701
763
  event.preventDefault();
702
- this.tree.keyManager.setPreviousPageItemActive();
764
+ this.tree().keyManager.setPreviousPageItemActive();
703
765
  }
704
766
  else if (keyCode === PAGE_DOWN) {
705
767
  event.preventDefault();
706
- this.tree.keyManager.setNextPageItemActive();
768
+ this.tree().keyManager.setNextPageItemActive();
707
769
  }
708
- else if ((keyCode === ENTER || keyCode === SPACE) && this.tree.keyManager.activeItem) {
770
+ else if ((keyCode === ENTER || keyCode === SPACE) && tree.keyManager.activeItem) {
709
771
  event.preventDefault();
710
772
  if (!this.autoSelect) {
711
- this.originalOnKeyDown.call(this.tree, event);
773
+ this.originalOnKeyDown.call(tree, event);
712
774
  }
713
775
  else {
714
776
  this.close();
@@ -719,36 +781,37 @@ class KbqTreeSelect extends KbqAbstractSelect {
719
781
  this.selectAllHandler(event, this);
720
782
  }
721
783
  else {
722
- const previouslyFocusedIndex = this.tree.keyManager.activeItemIndex;
723
- this.tree.keyManager.setFocusOrigin('keyboard');
724
- this.tree.keyManager.onKeydown(event);
784
+ const previouslyFocusedIndex = tree.keyManager.activeItemIndex;
785
+ tree.keyManager.setFocusOrigin('keyboard');
786
+ tree.keyManager.onKeydown(event);
725
787
  if (this.multiSelection &&
726
788
  isArrowKey &&
727
789
  event.shiftKey &&
728
- this.tree.keyManager.activeItem &&
729
- this.tree.keyManager.activeItemIndex !== previouslyFocusedIndex) {
730
- this.tree.keyManager.activeItem.selectViaInteraction(event);
790
+ tree.keyManager.activeItem &&
791
+ tree.keyManager.activeItemIndex !== previouslyFocusedIndex) {
792
+ tree.keyManager.activeItem.selectViaInteraction(event);
731
793
  }
732
- if (this.autoSelect && this.tree.keyManager.activeItem) {
733
- this.tree.setSelectedOptionsByKey(this.tree.keyManager.activeItem, hasModifierKey(event, 'shiftKey'),
794
+ if (this.autoSelect && tree.keyManager.activeItem) {
795
+ tree.setSelectedOptionsByKey(tree.keyManager.activeItem, hasModifierKey(event, 'shiftKey'),
734
796
  // ctrlKey is for Windows, metaKey is for MacOS
735
797
  hasModifierKey(event, 'ctrlKey', 'metaKey'));
736
798
  }
737
799
  // Ensure the active option's keyboard-focus indicator is shown even when the
738
800
  // index didn't change (e.g. ArrowDown on a single-option list) — without this
739
801
  // setActiveItem isn't invoked and the focus stays on the trigger.
740
- if (isArrowKey && this.tree.keyManager.activeItemIndex === previouslyFocusedIndex) {
741
- this.tree.keyManager.activeItem?.focus('keyboard');
802
+ if (isArrowKey && tree.keyManager.activeItemIndex === previouslyFocusedIndex) {
803
+ tree.keyManager.activeItem?.focus('keyboard');
742
804
  }
743
- if (this.search && this.shouldShowSearch()) {
744
- this.search.focus();
805
+ const search = this.search();
806
+ if (search && this.shouldShowSearch()) {
807
+ search.focus();
745
808
  }
746
809
  }
747
810
  }
748
811
  /** @docs-private */
749
812
  shouldShowSearch() {
750
813
  return (isUndefined(this.searchMinOptionsThreshold) ||
751
- !!this.search.value() ||
814
+ !!this.search()?.value() ||
752
815
  this.options.length >= this.searchMinOptionsThreshold);
753
816
  }
754
817
  closingActions() {
@@ -762,7 +825,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
762
825
  getTotalItemsWidthInMatcher() {
763
826
  const triggerClone = this.buildTriggerClone();
764
827
  triggerClone.querySelector('.kbq-select__match-hidden-text')?.remove();
765
- this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
828
+ this.renderer.appendChild(this.trigger().nativeElement, triggerClone);
766
829
  let totalItemsWidth = 0;
767
830
  const selectedItemsViewValueContainers = triggerClone.querySelectorAll('kbq-tag');
768
831
  selectedItemsViewValueContainers.forEach((item) => (totalItemsWidth += this.getItemWidth(item)));
@@ -772,7 +835,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
772
835
  getTotalVisibleItems() {
773
836
  const triggerClone = this.buildTriggerClone();
774
837
  this.renderer.setStyle(triggerClone.querySelector('.kbq-select__match-hidden-text'), 'display', 'block');
775
- this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
838
+ this.renderer.appendChild(this.trigger().nativeElement, triggerClone);
776
839
  let visibleItemsCount = 0;
777
840
  let totalVisibleItemsWidth = 0;
778
841
  triggerClone.querySelectorAll('kbq-tag').forEach((item) => {
@@ -786,14 +849,15 @@ class KbqTreeSelect extends KbqAbstractSelect {
786
849
  }
787
850
  /** Gets how wide the overlay panel should be. */
788
851
  getOverlayWidth(origin) {
789
- if (this.panelWidth === 'auto') {
852
+ const panelWidth = this.panelWidth();
853
+ if (panelWidth === 'auto') {
790
854
  const elementRef = origin instanceof CdkOverlayOrigin ? origin.elementRef : origin || this.elementRef;
791
855
  return elementRef.nativeElement.getBoundingClientRect().width;
792
856
  }
793
- return this.panelWidth ?? '';
857
+ return panelWidth ?? '';
794
858
  }
795
859
  buildTriggerClone() {
796
- const triggerClone = this.trigger.nativeElement.cloneNode(true);
860
+ const triggerClone = this.trigger().nativeElement.cloneNode(true);
797
861
  this.renderer.setStyle(triggerClone, 'position', 'absolute');
798
862
  this.renderer.setStyle(triggerClone, 'visibility', 'hidden');
799
863
  this.renderer.setStyle(triggerClone, 'top', '-100%');
@@ -809,9 +873,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
809
873
  }
810
874
  refreshTriggerValues() {
811
875
  this.triggerValues = this.selectionModel.selected.map((node) => ({
812
- value: this.tree.treeControl.getValue(node),
813
- viewValue: this.tree.treeControl.getViewValue(node),
814
- disabled: this.tree.treeControl.isDisabled(node)
876
+ value: this.tree().treeControl.getValue(node),
877
+ viewValue: this.tree().treeControl.getViewValue(node),
878
+ disabled: this.tree().treeControl.isDisabled(node)
815
879
  }));
816
880
  this.changeDetectorRef.detectChanges();
817
881
  }
@@ -824,23 +888,25 @@ class KbqTreeSelect extends KbqAbstractSelect {
824
888
  if (!Array.isArray(value)) {
825
889
  throw getKbqSelectNonArrayValueError();
826
890
  }
827
- this.tree.setOptionsFromValues(value);
891
+ this.tree().setOptionsFromValues(value);
828
892
  this.sortValues();
829
893
  }
830
894
  else {
831
- this.tree.setOptionsFromValues([value]);
895
+ this.tree().setOptionsFromValues([value]);
832
896
  }
833
897
  this.changeDetectorRef.detectChanges();
834
898
  }
835
899
  initKeyManager() {
836
- this.originalOnKeyDown = this.tree.onKeyDown;
837
- this.tree.onKeyDown = () => { };
838
- this.tree.keyManager.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
839
- if (this._panelOpen && this.panel) {
900
+ const tree = this.tree();
901
+ this.originalOnKeyDown = tree.onKeyDown;
902
+ tree.onKeyDown = () => { };
903
+ tree.keyManager.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
904
+ const treeValue = this.tree();
905
+ if (this._panelOpen && this.panel()) {
840
906
  this.scrollActiveOptionIntoView();
841
907
  }
842
- else if (!this._panelOpen && !this.multiSelection && this.tree.keyManager.activeItem) {
843
- this.tree.keyManager.activeItem.selectViaInteraction();
908
+ else if (!this._panelOpen && !this.multiSelection && treeValue.keyManager.activeItem) {
909
+ treeValue.keyManager.activeItem.selectViaInteraction();
844
910
  }
845
911
  });
846
912
  }
@@ -849,9 +915,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
849
915
  if (this.multiSelection) {
850
916
  const options = this.options.toArray();
851
917
  this.selectionModel.sort((a, b) => {
852
- return this.sortComparator
853
- ? this.sortComparator(a, b, options)
854
- : options.indexOf(a) - options.indexOf(b);
918
+ const sortComparator = this.sortComparator();
919
+ return sortComparator ? sortComparator(a, b, options) : options.indexOf(a) - options.indexOf(b);
855
920
  });
856
921
  this.stateChanges.next();
857
922
  }
@@ -861,44 +926,46 @@ class KbqTreeSelect extends KbqAbstractSelect {
861
926
  * the first item instead.
862
927
  */
863
928
  highlightCorrectOption() {
864
- if (!this.tree.keyManager) {
929
+ const tree = this.tree();
930
+ if (!tree.keyManager) {
865
931
  return;
866
932
  }
867
933
  const selectedOption = this.options.find((option) => option.data === this.firstSelected);
868
- this.tree.keyManager.setFocusOrigin('keyboard');
934
+ tree.keyManager.setFocusOrigin('keyboard');
869
935
  if (selectedOption) {
870
- this.tree.keyManager.setActiveItem(selectedOption);
936
+ tree.keyManager.setActiveItem(selectedOption);
871
937
  }
872
938
  else {
873
- this.tree.keyManager.setFirstItemActive();
874
- if (this.tree.keyManager.activeItem?.disabled) {
875
- this.tree.keyManager.setActiveItem(-1);
939
+ tree.keyManager.setFirstItemActive();
940
+ if (tree.keyManager.activeItem?.disabled) {
941
+ tree.keyManager.setActiveItem(-1);
876
942
  }
877
943
  }
878
944
  }
879
945
  /** Scrolls the active option into view. */
880
946
  scrollActiveOptionIntoView() {
881
- this.tree.keyManager.activeItem?.focus();
947
+ this.tree().keyManager.activeItem?.focus();
882
948
  }
883
949
  subscribeOnSearchChanges() {
884
- if (!this.search?.ngControl.valueChanges)
950
+ const search = this.search();
951
+ if (!search?.ngControl.valueChanges)
885
952
  return;
886
- this.search.ngControl.valueChanges.pipe(audit(() => this.tree.unorderedOptions.changes)).subscribe((value) => {
887
- this.isEmptySearchResult = !!value && this.tree.isEmpty;
953
+ search.ngControl.valueChanges.pipe(audit(() => this.tree().unorderedOptions.changes)).subscribe((value) => {
954
+ this.isEmptySearchResult = !!value && this.tree().isEmpty;
888
955
  this.changeDetectorRef.markForCheck();
889
956
  });
890
957
  }
891
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelect, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ErrorStateMatcher }, { token: KBQ_SELECT_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: i3.NgForm, optional: true }, { token: i3.FormGroupDirective, optional: true }, { token: i4.KbqFormField, host: true, optional: true }, { token: i3.NgControl, optional: true, self: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
892
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: KbqTreeSelect, isStandalone: true, selector: "kbq-tree-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", multiline: ["multiline", "multiline", booleanAttribute], placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], autoSelect: "autoSelect", id: "id", hasBackdrop: "hasBackdrop", tabIndex: "tabIndex", disabled: ["disabled", "disabled", booleanAttribute], selectAllHandler: "selectAllHandler", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], panelWidth: "panelWidth", searchMinOptionsThreshold: "searchMinOptionsThreshold", hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "handleClick()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "kbq-tree-select" }, providers: [
958
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
959
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: KbqTreeSelect, isStandalone: true, selector: "kbq-tree-select", inputs: { hiddenItemsText: { classPropertyName: "hiddenItemsText", publicName: "hiddenItemsText", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: false, isRequired: false, transformFunction: null }, sortComparator: { classPropertyName: "sortComparator", publicName: "sortComparator", isSignal: true, isRequired: false, transformFunction: null }, multiline: { classPropertyName: "multiline", publicName: "multiline", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectAllHandler: { classPropertyName: "selectAllHandler", publicName: "selectAllHandler", isSignal: false, isRequired: false, transformFunction: null }, panelMinWidth: { classPropertyName: "panelMinWidth", publicName: "panelMinWidth", isSignal: true, isRequired: false, transformFunction: null }, panelWidth: { classPropertyName: "panelWidth", publicName: "panelWidth", isSignal: true, isRequired: false, transformFunction: null }, searchMinOptionsThreshold: { classPropertyName: "searchMinOptionsThreshold", publicName: "searchMinOptionsThreshold", isSignal: false, isRequired: false, transformFunction: null }, hiddenItemsTextFormatter: { classPropertyName: "hiddenItemsTextFormatter", publicName: "hiddenItemsTextFormatter", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "handleClick()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline()", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "kbq-tree-select" }, providers: [
893
960
  { provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
894
961
  { provide: KbqTree, useExisting: KbqTreeSelect },
895
962
  { provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
896
- ], queries: [{ propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: 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: "tree", first: true, predicate: KbqTreeSelection, descendants: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqTreeSelect"], 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)=\"onRemoveSelectedOption(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]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\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 </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>\n <div\n #panel\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 40px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: 0;--kbq-select-size-single-padding-right: 0;--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: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: 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: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
963
+ ], queries: [{ propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, isSignal: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true, isSignal: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true, isSignal: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "tree", first: true, predicate: KbqTreeSelection, descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqTreeSelect"], 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)=\"onRemoveSelectedOption(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n } @else {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"customTagTemplateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\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 </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>\n <div\n #panel\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 40px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-default-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: 0;--kbq-select-size-single-padding-right: 0;--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: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: 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: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
897
964
  kbqSelectAnimations.transformPanel,
898
965
  kbqSelectAnimations.fadeInContent
899
966
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
900
967
  }
901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelect, decorators: [{
968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelect, decorators: [{
902
969
  type: Component,
903
970
  args: [{ selector: 'kbq-tree-select', imports: [
904
971
  CdkOverlayOrigin,
@@ -906,13 +973,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
906
973
  KbqTagRemove,
907
974
  CdkConnectedOverlay,
908
975
  CdkMonitorFocus,
909
- NgClass,
910
976
  KbqTag,
911
977
  NgTemplateOutlet
912
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kbqTreeSelect', host: {
978
+ ], providers: [
979
+ { provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
980
+ { provide: KbqTree, useExisting: KbqTreeSelect },
981
+ { provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
982
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
913
983
  class: 'kbq-tree-select',
914
984
  '[class.kbq-select_multiple]': 'multiple',
915
- '[class.kbq-select_multiline]': 'multiline',
985
+ '[class.kbq-select_multiline]': 'multiline()',
916
986
  '[class.kbq-disabled]': 'disabled',
917
987
  '[class.kbq-invalid]': 'errorState',
918
988
  '[attr.tabindex]': 'tabIndex',
@@ -924,64 +994,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
924
994
  }, animations: [
925
995
  kbqSelectAnimations.transformPanel,
926
996
  kbqSelectAnimations.fadeInContent
927
- ], providers: [
928
- { provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
929
- { provide: KbqTree, useExisting: KbqTreeSelect },
930
- { provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
931
- ], 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)=\"onRemoveSelectedOption(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]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\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 </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>\n <div\n #panel\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 40px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: 0;--kbq-select-size-single-padding-right: 0;--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"] }]
932
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
933
- type: Inject,
934
- args: [KBQ_SELECT_SCROLL_STRATEGY]
935
- }] }, { type: i2.Directionality, decorators: [{
936
- type: Optional
937
- }] }, { type: i3.NgForm, decorators: [{
938
- type: Optional
939
- }] }, { type: i3.FormGroupDirective, decorators: [{
940
- type: Optional
941
- }] }, { type: i4.KbqFormField, decorators: [{
942
- type: Host
943
- }, {
944
- type: Optional
945
- }] }, { type: i3.NgControl, decorators: [{
946
- type: Optional
947
- }, {
948
- type: Self
949
- }] }, { type: i1.KbqLocaleService, decorators: [{
950
- type: Optional
951
- }, {
952
- type: Inject,
953
- args: [KBQ_LOCALE_SERVICE]
954
- }] }], propDecorators: { trigger: [{
955
- type: ViewChild,
956
- args: ['trigger', { static: false }]
957
- }], panel: [{
958
- type: ViewChild,
959
- args: ['panel', { static: false }]
960
- }], overlayDir: [{
997
+ ], exportAs: 'kbqTreeSelect', 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)=\"onRemoveSelectedOption(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n } @else {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"customTagTemplateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\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 </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>\n <div\n #panel\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 40px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-default-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: 0;--kbq-select-size-single-padding-right: 0;--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"] }]
998
+ }], ctorParameters: () => [], propDecorators: { trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], overlayDir: [{
961
999
  type: ViewChild,
962
1000
  args: [CdkConnectedOverlay, { static: false }]
963
1001
  }], tags: [{
964
1002
  type: ViewChildren,
965
1003
  args: [KbqTag]
966
- }], cleaner: [{
967
- type: ContentChild,
968
- args: ['kbqSelectCleaner', { static: true }]
969
- }], customTrigger: [{
970
- type: ContentChild,
971
- args: [KbqSelectTrigger, { static: false }]
972
- }], customMatcher: [{
973
- type: ContentChild,
974
- args: [KbqSelectMatcher, { static: false }]
975
- }], customTagTemplateRef: [{
976
- type: ContentChild,
977
- args: ['kbqSelectTagContent', { static: false, read: TemplateRef }]
978
- }], tree: [{
979
- type: ContentChild,
980
- args: [KbqTreeSelection, { static: false }]
981
- }], search: [{
982
- type: ContentChild,
983
- args: [KbqSelectSearch, { static: false }]
984
- }], hiddenItemsText: [{
1004
+ }], cleaner: [{ type: i0.ContentChild, args: ['kbqSelectCleaner', { isSignal: true }] }], customTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectTrigger), { isSignal: true }] }], customMatcher: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectMatcher), { isSignal: true }] }], customTagTemplateRef: [{ type: i0.ContentChild, args: ['kbqSelectTagContent', { ...{ read: TemplateRef }, isSignal: true }] }], tree: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqTreeSelection), { isSignal: true }] }], search: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectSearch), { isSignal: true }] }], hiddenItemsText: [{
985
1005
  type: Input
986
1006
  }], openedChange: [{
987
1007
  type: Output
@@ -991,22 +1011,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
991
1011
  }], closedStream: [{
992
1012
  type: Output,
993
1013
  args: ['closed']
994
- }], selectionChange: [{
995
- type: Output
996
- }], valueChange: [{
997
- type: Output
998
- }], panelClass: [{
999
- type: Input
1000
- }], backdropClass: [{
1014
+ }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], errorStateMatcher: [{
1001
1015
  type: Input
1002
- }], errorStateMatcher: [{
1003
- type: Input
1004
- }], sortComparator: [{
1005
- type: Input
1006
- }], multiline: [{
1007
- type: Input,
1008
- args: [{ transform: booleanAttribute }]
1009
- }], placeholder: [{
1016
+ }], sortComparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortComparator", required: false }] }], multiline: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiline", required: false }] }], placeholder: [{
1010
1017
  type: Input
1011
1018
  }], required: [{
1012
1019
  type: Input
@@ -1026,20 +1033,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1026
1033
  args: [{ transform: booleanAttribute }]
1027
1034
  }], selectAllHandler: [{
1028
1035
  type: Input
1029
- }], panelMinWidth: [{
1030
- type: Input,
1031
- args: [{ transform: numberAttribute }]
1032
- }], panelWidth: [{
1033
- type: Input
1034
- }], searchMinOptionsThreshold: [{
1036
+ }], panelMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelMinWidth", required: false }] }], panelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelWidth", required: false }] }], searchMinOptionsThreshold: [{
1035
1037
  type: Input
1036
1038
  }], hiddenItemsTextFormatter: [{
1037
1039
  type: Input
1038
1040
  }] } });
1039
1041
 
1040
1042
  class KbqTreeSelectModule {
1041
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1042
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelectModule, imports: [OverlayModule,
1043
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1044
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, imports: [OverlayModule,
1043
1045
  KbqTreeModule,
1044
1046
  KbqIconModule,
1045
1047
  KbqTagsModule,
@@ -1049,7 +1051,6 @@ class KbqTreeSelectModule {
1049
1051
  KbqSelectMatcher,
1050
1052
  KbqSelectTrigger,
1051
1053
  KbqSelectSearchEmptyResult,
1052
- NgClass,
1053
1054
  NgTemplateOutlet,
1054
1055
  A11yModule,
1055
1056
  KbqTreeSelect], exports: [KbqTreeSelect,
@@ -1059,7 +1060,7 @@ class KbqTreeSelectModule {
1059
1060
  KbqSelectTrigger,
1060
1061
  KbqSelectSearchEmptyResult,
1061
1062
  KbqFormFieldModule] }); }
1062
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
1063
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
1063
1064
  KbqTreeModule,
1064
1065
  KbqIconModule,
1065
1066
  KbqTagsModule,
@@ -1067,7 +1068,7 @@ class KbqTreeSelectModule {
1067
1068
  A11yModule,
1068
1069
  KbqTreeSelect, KbqFormFieldModule] }); }
1069
1070
  }
1070
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTreeSelectModule, decorators: [{
1071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, decorators: [{
1071
1072
  type: NgModule,
1072
1073
  args: [{
1073
1074
  imports: [
@@ -1081,11 +1082,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1081
1082
  KbqSelectMatcher,
1082
1083
  KbqSelectTrigger,
1083
1084
  KbqSelectSearchEmptyResult,
1084
- NgClass,
1085
1085
  NgTemplateOutlet,
1086
1086
  A11yModule,
1087
1087
  KbqTreeSelect
1088
1088
  ],
1089
+ providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER],
1089
1090
  exports: [
1090
1091
  KbqTreeSelect,
1091
1092
  KbqSelectSearch,
@@ -1094,8 +1095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1094
1095
  KbqSelectTrigger,
1095
1096
  KbqSelectSearchEmptyResult,
1096
1097
  KbqFormFieldModule
1097
- ],
1098
- providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER]
1098
+ ]
1099
1099
  }]
1100
1100
  }] });
1101
1101