@koobiq/components 18.36.0 → 18.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/autocomplete/autocomplete.scss +2 -17
  2. package/breadcrumbs/breadcrumbs.d.ts +2 -1
  3. package/breadcrumbs/breadcrumbs.scss +4 -4
  4. package/button/button.component.d.ts +1 -0
  5. package/button-toggle/button-toggle.scss +0 -2
  6. package/content-panel/content-panel.d.ts +1 -1
  7. package/content-panel/index.d.ts +0 -1
  8. package/core/common-behaviors/hover.d.ts +15 -0
  9. package/core/common-behaviors/index.d.ts +1 -1
  10. package/core/locales/formatters.d.ts +0 -72
  11. package/core/locales/index.d.ts +0 -2
  12. package/core/locales/locale-service.d.ts +0 -392
  13. package/core/option/option.d.ts +3 -2
  14. package/core/select/common.d.ts +3 -1
  15. package/core/styles/common/_select.scss +20 -0
  16. package/core/styles/typography/_typography.scss +23 -82
  17. package/datepicker/datepicker-module.d.ts +2 -1
  18. package/dropdown/dropdown-item.scss +8 -7
  19. package/dropdown/dropdown.scss +5 -14
  20. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
  21. package/esm2022/breadcrumbs/breadcrumbs.mjs +46 -37
  22. package/esm2022/button/button.component.mjs +6 -4
  23. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  24. package/esm2022/code-block/code-block-highlight.mjs +6 -1
  25. package/esm2022/content-panel/content-panel.mjs +2 -2
  26. package/esm2022/content-panel/index.mjs +1 -2
  27. package/esm2022/core/common-behaviors/color.mjs +2 -1
  28. package/esm2022/core/common-behaviors/common-module.mjs +2 -1
  29. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  30. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  31. package/esm2022/core/common-behaviors/hover.mjs +34 -0
  32. package/esm2022/core/common-behaviors/index.mjs +2 -2
  33. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  34. package/esm2022/core/form-field/field-sizing-content.mjs +5 -2
  35. package/esm2022/core/formatters/number/formatter.mjs +2 -2
  36. package/esm2022/core/locales/es-LA.mjs +10 -10
  37. package/esm2022/core/locales/formatters.mjs +1 -73
  38. package/esm2022/core/locales/index.mjs +1 -3
  39. package/esm2022/core/locales/locale-service.mjs +2 -8
  40. package/esm2022/core/locales/pt-BR.mjs +19 -19
  41. package/esm2022/core/locales/tk-TM.mjs +24 -24
  42. package/esm2022/core/option/option.mjs +10 -6
  43. package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -1
  44. package/esm2022/core/select/common.mjs +10 -4
  45. package/esm2022/core/version.mjs +2 -2
  46. package/esm2022/datepicker/calendar-header.component.mjs +5 -4
  47. package/esm2022/datepicker/datepicker-module.mjs +7 -4
  48. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  49. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  50. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +5 -2
  51. package/esm2022/file-upload/file-drop.mjs +5 -3
  52. package/esm2022/file-upload/multiple-file-upload.component.mjs +9 -13
  53. package/esm2022/file-upload/single-file-upload.component.mjs +9 -4
  54. package/esm2022/filter-bar/filter-bar.mjs +6 -2
  55. package/esm2022/filter-bar/filter-search.mjs +3 -3
  56. package/esm2022/filter-bar/filters.mjs +10 -5
  57. package/esm2022/filter-bar/pipe-add.mjs +3 -2
  58. package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -3
  59. package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
  60. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
  61. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +5 -4
  62. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
  63. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  64. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  65. package/esm2022/filter-bar/pipes/pipe-title.mjs +24 -19
  66. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  67. package/esm2022/form-field/fieldset.mjs +2 -2
  68. package/esm2022/form-field/form-field.mjs +2 -2
  69. package/esm2022/form-field/stepper.mjs +41 -10
  70. package/esm2022/inline-edit/inline-edit.mjs +9 -5
  71. package/esm2022/input/input-number.mjs +7 -6
  72. package/esm2022/input/input.module.mjs +7 -4
  73. package/esm2022/list/list-selection.component.mjs +31 -15
  74. package/esm2022/markdown/markdown.component.mjs +7 -7
  75. package/esm2022/modal/modal-util.mjs +7 -3
  76. package/esm2022/modal/modal.component.mjs +2 -2
  77. package/esm2022/modal/modal.service.mjs +2 -1
  78. package/esm2022/navbar/navbar-item.component.mjs +5 -7
  79. package/esm2022/navbar/navbar.component.mjs +8 -4
  80. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  81. package/esm2022/navbar-ic/navbar-ic-header.mjs +20 -4
  82. package/esm2022/navbar-ic/navbar-ic-item.mjs +7 -8
  83. package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
  84. package/esm2022/navbar-ic/navbar-ic.mjs +33 -9
  85. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  86. package/esm2022/popover/popover.component.mjs +17 -4
  87. package/esm2022/resizer/index.mjs +3 -0
  88. package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
  89. package/esm2022/resizer/module.mjs +17 -0
  90. package/esm2022/resizer/resizer.mjs +135 -0
  91. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -3
  92. package/esm2022/search-expandable/search-expandable.mjs +5 -5
  93. package/esm2022/select/select.component.mjs +2 -14
  94. package/esm2022/select/select.module.mjs +8 -4
  95. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  96. package/esm2022/split-button/split-button.mjs +47 -6
  97. package/esm2022/tags/tag-input.mjs +24 -28
  98. package/esm2022/tags/tag-list.component.mjs +76 -87
  99. package/esm2022/tags/tag.component.mjs +29 -34
  100. package/esm2022/textarea/textarea.module.mjs +5 -4
  101. package/esm2022/time-range/constants.mjs +22 -1
  102. package/esm2022/time-range/time-range-editor.mjs +11 -6
  103. package/esm2022/time-range/time-range-title-as-form-field.mjs +2 -1
  104. package/esm2022/time-range/time-range.mjs +8 -3
  105. package/esm2022/time-range/time-range.service.mjs +43 -106
  106. package/esm2022/time-range/types.mjs +1 -1
  107. package/esm2022/timepicker/timepicker.module.mjs +5 -4
  108. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  109. package/esm2022/timezone/timezone.module.mjs +6 -4
  110. package/esm2022/title/title.directive.mjs +6 -2
  111. package/esm2022/toggle/toggle.component.mjs +3 -3
  112. package/esm2022/top-bar/top-bar.mjs +2 -2
  113. package/esm2022/tree/tree-option.component.mjs +7 -6
  114. package/esm2022/tree/tree-selection.component.mjs +23 -13
  115. package/esm2022/tree-select/tree-select.component.mjs +97 -79
  116. package/esm2022/tree-select/tree-select.module.mjs +7 -4
  117. package/fesm2022/koobiq-components-autocomplete.mjs +3 -3
  118. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-breadcrumbs.mjs +45 -36
  120. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  122. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-button.mjs +5 -3
  124. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-code-block.mjs +5 -0
  126. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-content-panel.mjs +3 -137
  128. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-core.mjs +90 -478
  130. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-datepicker.mjs +8 -5
  132. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  134. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-ellipsis-center.mjs +4 -1
  136. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-file-upload.mjs +19 -17
  138. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-filter-bar.mjs +64 -41
  140. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-form-field.mjs +44 -17
  142. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-inline-edit.mjs +8 -4
  144. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-input.mjs +12 -9
  146. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-list.mjs +30 -14
  148. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-markdown.mjs +6 -6
  150. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-modal.mjs +9 -4
  152. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-navbar-ic.mjs +70 -26
  154. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-navbar.mjs +13 -11
  156. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-popover.mjs +18 -5
  158. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-resizer.mjs +156 -0
  160. package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
  161. package/fesm2022/koobiq-components-scrollbar.mjs +3 -2
  162. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-search-expandable.mjs +4 -4
  164. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-select.mjs +8 -17
  166. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  168. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-split-button.mjs +46 -5
  170. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-tags.mjs +125 -146
  172. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-textarea.mjs +4 -4
  174. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-time-range.mjs +81 -112
  176. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-timepicker.mjs +4 -4
  178. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-timezone.mjs +7 -5
  180. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  181. package/fesm2022/koobiq-components-title.mjs +5 -1
  182. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  184. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  185. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  186. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  187. package/fesm2022/koobiq-components-tree-select.mjs +102 -82
  188. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  189. package/fesm2022/koobiq-components-tree.mjs +28 -17
  190. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  191. package/file-upload/_file-upload-theme.scss +32 -34
  192. package/file-upload/file-upload-tokens.scss +1 -2
  193. package/file-upload/file-upload.scss +4 -7
  194. package/file-upload/multiple-file-upload.component.d.ts +1 -1
  195. package/file-upload/multiple-file-upload.component.scss +12 -14
  196. package/file-upload/single-file-upload.component.d.ts +1 -0
  197. package/file-upload/single-file-upload.component.scss +5 -7
  198. package/filter-bar/filter-bar.d.ts +3 -1
  199. package/filter-bar/filter-search.scss +1 -3
  200. package/filter-bar/filters.d.ts +1 -0
  201. package/filter-bar/pipes/base-pipe.d.ts +5 -1
  202. package/filter-bar/pipes/pipe-date.scss +4 -2
  203. package/filter-bar/pipes/pipe-title.d.ts +2 -0
  204. package/form-field/fieldset-tokens.scss +2 -1
  205. package/form-field/form-field-tokens.scss +2 -2
  206. package/form-field/form-field.scss +9 -1
  207. package/form-field/stepper.d.ts +28 -6
  208. package/inline-edit/inline-edit.d.ts +5 -1
  209. package/input/input.module.d.ts +2 -1
  210. package/list/list-selection.component.d.ts +12 -1
  211. package/markdown/_markdown-theme.scss +0 -1
  212. package/markdown/markdown.scss +2 -4
  213. package/modal/modal-tokens.scss +2 -1
  214. package/modal/modal-util.d.ts +5 -2
  215. package/modal/modal.scss +3 -4
  216. package/navbar/_navbar-item_vertical.scss +10 -0
  217. package/navbar/navbar-brand.scss +5 -2
  218. package/navbar/vertical-navbar.scss +1 -0
  219. package/navbar-ic/navbar-ic-header.d.ts +3 -2
  220. package/navbar-ic/navbar-ic-header.scss +0 -4
  221. package/navbar-ic/navbar-ic-item.d.ts +1 -0
  222. package/navbar-ic/navbar-ic-item.scss +0 -4
  223. package/navbar-ic/navbar-ic.animation.d.ts +1 -0
  224. package/navbar-ic/navbar-ic.d.ts +7 -0
  225. package/package.json +16 -10
  226. package/popover/popover-tokens.scss +1 -0
  227. package/popover/popover.component.d.ts +5 -1
  228. package/popover/popover.scss +3 -4
  229. package/prebuilt-themes/dark-theme.css +1 -1
  230. package/prebuilt-themes/light-theme.css +1 -1
  231. package/prebuilt-themes/theme.css +1 -1
  232. package/resizer/index.d.ts +2 -0
  233. package/resizer/module.d.ts +7 -0
  234. package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
  235. package/schematics/collection.json +5 -0
  236. package/schematics/migrations/icons-replacement/README.md +93 -0
  237. package/schematics/migrations/icons-replacement/data.js +92 -0
  238. package/schematics/migrations/icons-replacement/index.js +84 -0
  239. package/schematics/migrations/icons-replacement/schema.json +32 -0
  240. package/schematics/ng-add/index.js +6 -6
  241. package/scrollbar/scrollbar.component.scss +2 -3
  242. package/select/select.module.d.ts +2 -1
  243. package/select/select.scss +1 -17
  244. package/sidepanel/sidepanel-tokens.scss +2 -0
  245. package/sidepanel/sidepanel.scss +2 -0
  246. package/split-button/_split-button-theme.scss +89 -34
  247. package/split-button/split-button.d.ts +11 -5
  248. package/split-button/split-button.scss +40 -51
  249. package/tags/tag-input.d.ts +16 -7
  250. package/tags/tag-list.component.d.ts +44 -21
  251. package/tags/tag-list.scss +13 -14
  252. package/tags/tag.component.d.ts +20 -15
  253. package/textarea/textarea-tokens.scss +6 -1
  254. package/textarea/textarea.module.d.ts +2 -1
  255. package/textarea/textarea.scss +4 -0
  256. package/time-range/constants.d.ts +12 -1
  257. package/time-range/time-range-editor.d.ts +7 -9
  258. package/time-range/time-range-title-as-form-field.d.ts +1 -0
  259. package/time-range/time-range.d.ts +5 -2
  260. package/time-range/time-range.service.d.ts +7 -11
  261. package/time-range/types.d.ts +37 -11
  262. package/timepicker/timepicker.module.d.ts +2 -1
  263. package/timezone/timezone-option.component.scss +6 -0
  264. package/timezone/timezone.module.d.ts +1 -1
  265. package/toggle/_toggle-theme.scss +8 -5
  266. package/toggle/toggle-tokens.scss +0 -1
  267. package/toggle/toggle.scss +11 -15
  268. package/top-bar/top-bar-tokens.scss +1 -1
  269. package/top-bar/top-bar.scss +3 -0
  270. package/tree/tree-option.component.d.ts +1 -0
  271. package/tree/tree-selection.component.d.ts +11 -2
  272. package/tree-select/tree-select.component.d.ts +5 -5
  273. package/tree-select/tree-select.module.d.ts +2 -1
  274. package/tree-select/tree-select.scss +4 -0
  275. package/core/common-behaviors/hovered.d.ts +0 -13
  276. package/core/locales/fa-IR.d.ts +0 -162
  277. package/core/locales/zh-CN.d.ts +0 -162
  278. package/esm2022/content-panel/resizable.mjs +0 -138
  279. package/esm2022/core/common-behaviors/hovered.mjs +0 -31
  280. package/esm2022/core/locales/fa-IR.mjs +0 -173
  281. package/esm2022/core/locales/zh-CN.mjs +0 -161
@@ -12,13 +12,13 @@ import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TA
12
12
  import * as i1 from '@koobiq/components/core';
13
13
  import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, KbqComponentColors, defaultOffsetY, KBQ_WINDOW, MultipleMode, isUndefined, getKbqSelectNonArrayValueError, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_PARENT_POPUP, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, kbqSelectAnimations, KbqPseudoCheckboxModule, KbqSelectFooter, KbqSelectSearchEmptyResult, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
14
14
  import * as i4 from '@koobiq/components/form-field';
15
- import { KbqFormFieldControl } from '@koobiq/components/form-field';
15
+ import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
16
16
  import * as i7 from '@koobiq/components/tags';
17
17
  import { KbqTag, KbqTagsModule } from '@koobiq/components/tags';
18
18
  import { KbqTree, KbqTreeSelection, KbqTreeModule } from '@koobiq/components/tree';
19
19
  import { SizeXxs } from '@koobiq/design-tokens';
20
20
  import { Subject, defer, merge, Subscription, audit } from 'rxjs';
21
- import { filter, map, startWith, switchMap, take, distinctUntilChanged } from 'rxjs/operators';
21
+ import { filter, map, startWith, switchMap, take, distinctUntilChanged, delay } from 'rxjs/operators';
22
22
  import * as i6 from '@koobiq/components/icon';
23
23
  import { KbqIconModule } from '@koobiq/components/icon';
24
24
  import * as i8 from '@angular/common';
@@ -97,7 +97,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
97
97
  return this.disabled ? -1 : this._tabIndex;
98
98
  }
99
99
  set tabIndex(value) {
100
- this._tabIndex = value;
100
+ if (Number.isInteger(value) || value === null) {
101
+ this._tabIndex = value;
102
+ }
101
103
  }
102
104
  get disabled() {
103
105
  return this._disabled;
@@ -129,15 +131,22 @@ class KbqTreeSelect extends KbqAbstractSelect {
129
131
  /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
130
132
  _selectAllHandler(event, select) {
131
133
  event.preventDefault();
132
- const hasDeselectedOptions = select.options.some((option) => !option.selected);
133
- select.options.forEach((option) => {
134
- if (hasDeselectedOptions && !option.disabled) {
134
+ const options = select.options.filter(({ disabled }) => !disabled);
135
+ const hasUnselectedOptions = options.some((option) => !option.selected);
136
+ const toUnselect = [];
137
+ const toSelect = [];
138
+ options.forEach((option) => {
139
+ if (hasUnselectedOptions) {
135
140
  option.select(false);
141
+ toSelect.push(option.data);
136
142
  }
137
143
  else {
138
144
  option.deselect();
145
+ toUnselect.push(option.data);
139
146
  }
140
147
  });
148
+ this.selectionModel.deselect(...toUnselect);
149
+ this.selectionModel.select(...toSelect);
141
150
  }
142
151
  /** Whether the select is focused. */
143
152
  get focused() {
@@ -349,6 +358,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
349
358
  if (!this.tree)
350
359
  return;
351
360
  this.tree.resetFocusedItemOnBlur = false;
361
+ this.tree.optionShouldHoldFocusOnBlur = !!this.search;
352
362
  this.selectionModel = this.tree.selectionModel = new SelectionModel(this.multiSelection);
353
363
  this.selectionModel.changed.subscribe(() => {
354
364
  this.onChange(this.selectedValues);
@@ -356,6 +366,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
356
366
  this.refreshTriggerValues();
357
367
  }
358
368
  });
369
+ this.selectionModel.changed.pipe(delay(0)).subscribe(() => this.setOverlayPosition());
359
370
  // eslint-disable-next-line @angular-eslint/no-lifecycle-call
360
371
  this.tree.ngAfterContentInit();
361
372
  this.initKeyManager();
@@ -400,9 +411,6 @@ class KbqTreeSelect extends KbqAbstractSelect {
400
411
  return;
401
412
  this.tags.changes.pipe(startWith(null)).subscribe(() => {
402
413
  this.calculateHiddenItems();
403
- if (this.multiline) {
404
- this.setOverlayPosition();
405
- }
406
414
  });
407
415
  this.tree.treeControl.expansionModel.changed
408
416
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -438,6 +446,11 @@ class KbqTreeSelect extends KbqAbstractSelect {
438
446
  this.selectionChange.emit(new KbqTreeSelectChange(this, this.selectedValues));
439
447
  this.focus();
440
448
  }
449
+ handleClick() {
450
+ if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
451
+ return;
452
+ this.toggle();
453
+ }
441
454
  toggle() {
442
455
  if (this.panelOpen) {
443
456
  this.close();
@@ -562,16 +575,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
562
575
  return this.selectionModel.selected.filter((node) => !this.tree.treeControl.isDisabled(node))[0];
563
576
  }
564
577
  handleKeydown(event) {
578
+ if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
579
+ return;
565
580
  if (!this.disabled) {
566
581
  if (this.panelOpen) {
567
- this.handleOpenKeydown(event);
582
+ this.panelKeydownHandler(event);
568
583
  }
569
584
  else {
570
- this.handleClosedKeydown(event);
585
+ this.triggerKeydownHandler(event);
571
586
  }
572
587
  }
573
588
  }
574
589
  onFocus() {
590
+ if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
591
+ return;
575
592
  if (!this.disabled) {
576
593
  this._focused = true;
577
594
  this.stateChanges.next();
@@ -582,6 +599,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
582
599
  * "blur" to the panel when it opens, causing a false positive.
583
600
  */
584
601
  onBlur() {
602
+ if (this.customMatcher && !this.customMatcher.useDefaultHandlers)
603
+ return;
585
604
  this._focused = false;
586
605
  if (!this.disabled && !this.panelOpen) {
587
606
  this.onTouched();
@@ -656,67 +675,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
656
675
  }
657
676
  this.changeDetectorRef.markForCheck();
658
677
  }
659
- /** @docs-private */
660
- shouldShowSearch() {
661
- return isUndefined(this.searchMinOptionsThreshold) || this.options.length >= this.searchMinOptionsThreshold;
662
- }
663
- closingActions() {
664
- const backdrop = this.overlayDir.overlayRef.backdropClick();
665
- const outsidePointerEvents = this.overlayDir
666
- .overlayRef.outsidePointerEvents()
667
- .pipe(filter((event) => !this.elementRef.nativeElement.contains(_getEventTarget(event))));
668
- const detachments = this.overlayDir.overlayRef.detachments();
669
- return merge(backdrop, outsidePointerEvents, detachments);
670
- }
671
- getTotalItemsWidthInMatcher() {
672
- const triggerClone = this.buildTriggerClone();
673
- triggerClone.querySelector('.kbq-select__match-hidden-text')?.remove();
674
- this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
675
- let totalItemsWidth = 0;
676
- const selectedItemsViewValueContainers = triggerClone.querySelectorAll('kbq-tag');
677
- selectedItemsViewValueContainers.forEach((item) => (totalItemsWidth += this.getItemWidth(item)));
678
- triggerClone.remove();
679
- return totalItemsWidth;
680
- }
681
- getTotalVisibleItems() {
682
- const triggerClone = this.buildTriggerClone();
683
- this.renderer.setStyle(triggerClone.querySelector('.kbq-select__match-hidden-text'), 'display', 'block');
684
- this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
685
- let visibleItemsCount = 0;
686
- let totalVisibleItemsWidth = 0;
687
- triggerClone.querySelectorAll('kbq-tag').forEach((item) => {
688
- if (item.offsetTop < item.offsetHeight) {
689
- totalVisibleItemsWidth += this.getItemWidth(item);
690
- visibleItemsCount++;
691
- }
692
- });
693
- triggerClone.remove();
694
- return [totalVisibleItemsWidth, visibleItemsCount];
695
- }
696
- /** Gets how wide the overlay panel should be. */
697
- getOverlayWidth(origin) {
698
- if (this.panelWidth === 'auto') {
699
- const elementRef = origin instanceof CdkOverlayOrigin ? origin.elementRef : origin || this.elementRef;
700
- return elementRef.nativeElement.getBoundingClientRect().width;
701
- }
702
- return this.panelWidth ?? '';
703
- }
704
- buildTriggerClone() {
705
- const triggerClone = this.trigger.nativeElement.cloneNode(true);
706
- this.renderer.setStyle(triggerClone, 'position', 'absolute');
707
- this.renderer.setStyle(triggerClone, 'visibility', 'hidden');
708
- this.renderer.setStyle(triggerClone, 'top', '-100%');
709
- this.renderer.setStyle(triggerClone, 'left', '0');
710
- return triggerClone;
711
- }
712
- getItemWidth(element) {
713
- const computedStyle = this.window.getComputedStyle(element);
714
- const width = parseInt(computedStyle.width);
715
- const marginLeft = parseInt(computedStyle.marginLeft);
716
- const marginRight = parseInt(computedStyle.marginRight);
717
- return width + marginLeft + marginRight + parseInt(SizeXxs);
718
- }
719
- handleClosedKeydown(event) {
678
+ triggerKeydownHandler(event) {
720
679
  const keyCode = event.keyCode;
721
680
  const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW || keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;
722
681
  const isOpenKey = keyCode === ENTER || keyCode === SPACE;
@@ -730,7 +689,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
730
689
  this.tree.keyManager.onKeydown(event);
731
690
  }
732
691
  }
733
- handleOpenKeydown(event) {
692
+ panelKeydownHandler(event) {
734
693
  const keyCode = event.keyCode;
735
694
  const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;
736
695
  if ((isArrowKey && event.altKey) || keyCode === ESCAPE || keyCode === TAB) {
@@ -792,6 +751,66 @@ class KbqTreeSelect extends KbqAbstractSelect {
792
751
  }
793
752
  }
794
753
  }
754
+ /** @docs-private */
755
+ shouldShowSearch() {
756
+ return isUndefined(this.searchMinOptionsThreshold) || this.options.length >= this.searchMinOptionsThreshold;
757
+ }
758
+ closingActions() {
759
+ const backdrop = this.overlayDir.overlayRef.backdropClick();
760
+ const outsidePointerEvents = this.overlayDir
761
+ .overlayRef.outsidePointerEvents()
762
+ .pipe(filter((event) => !this.elementRef.nativeElement.contains(_getEventTarget(event))));
763
+ const detachments = this.overlayDir.overlayRef.detachments();
764
+ return merge(backdrop, outsidePointerEvents, detachments);
765
+ }
766
+ getTotalItemsWidthInMatcher() {
767
+ const triggerClone = this.buildTriggerClone();
768
+ triggerClone.querySelector('.kbq-select__match-hidden-text')?.remove();
769
+ this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
770
+ let totalItemsWidth = 0;
771
+ const selectedItemsViewValueContainers = triggerClone.querySelectorAll('kbq-tag');
772
+ selectedItemsViewValueContainers.forEach((item) => (totalItemsWidth += this.getItemWidth(item)));
773
+ triggerClone.remove();
774
+ return totalItemsWidth;
775
+ }
776
+ getTotalVisibleItems() {
777
+ const triggerClone = this.buildTriggerClone();
778
+ this.renderer.setStyle(triggerClone.querySelector('.kbq-select__match-hidden-text'), 'display', 'block');
779
+ this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
780
+ let visibleItemsCount = 0;
781
+ let totalVisibleItemsWidth = 0;
782
+ triggerClone.querySelectorAll('kbq-tag').forEach((item) => {
783
+ if (item.offsetTop < item.offsetHeight) {
784
+ totalVisibleItemsWidth += this.getItemWidth(item);
785
+ visibleItemsCount++;
786
+ }
787
+ });
788
+ triggerClone.remove();
789
+ return [totalVisibleItemsWidth, visibleItemsCount];
790
+ }
791
+ /** Gets how wide the overlay panel should be. */
792
+ getOverlayWidth(origin) {
793
+ if (this.panelWidth === 'auto') {
794
+ const elementRef = origin instanceof CdkOverlayOrigin ? origin.elementRef : origin || this.elementRef;
795
+ return elementRef.nativeElement.getBoundingClientRect().width;
796
+ }
797
+ return this.panelWidth ?? '';
798
+ }
799
+ buildTriggerClone() {
800
+ const triggerClone = this.trigger.nativeElement.cloneNode(true);
801
+ this.renderer.setStyle(triggerClone, 'position', 'absolute');
802
+ this.renderer.setStyle(triggerClone, 'visibility', 'hidden');
803
+ this.renderer.setStyle(triggerClone, 'top', '-100%');
804
+ this.renderer.setStyle(triggerClone, 'left', '0');
805
+ return triggerClone;
806
+ }
807
+ getItemWidth(element) {
808
+ const computedStyle = this.window.getComputedStyle(element);
809
+ const width = parseInt(computedStyle.width);
810
+ const marginLeft = parseInt(computedStyle.marginLeft);
811
+ const marginRight = parseInt(computedStyle.marginRight);
812
+ return width + marginLeft + marginRight + parseInt(SizeXxs);
813
+ }
795
814
  refreshTriggerValues() {
796
815
  this.triggerValues = this.selectionModel.selected.map((node) => ({
797
816
  value: this.tree.treeControl.getValue(node),
@@ -874,11 +893,11 @@ class KbqTreeSelect extends KbqAbstractSelect {
874
893
  });
875
894
  }
876
895
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", 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 }); }
877
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqTreeSelect, 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", "tabIndex", numberAttribute], 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": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, 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: [
896
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqTreeSelect, 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()", "window:resize": "calculateHiddenItems()" }, 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: [
878
897
  { provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
879
898
  { provide: KbqTree, useExisting: KbqTreeSelect },
880
899
  { provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
881
- ], 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 cdkMonitorSubtreeFocus\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n\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 70px;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;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-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-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: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i5.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: i5.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
900
+ ], 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 cdkMonitorSubtreeFocus\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\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 <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\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 70px;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;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-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: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i5.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: i5.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
882
901
  kbqSelectAnimations.transformPanel,
883
902
  kbqSelectAnimations.fadeInContent
884
903
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -893,7 +912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
893
912
  '[class.kbq-invalid]': 'errorState',
894
913
  '[attr.tabindex]': 'tabIndex',
895
914
  '[attr.disabled]': 'disabled || null',
896
- '(click)': 'toggle()',
915
+ '(click)': 'handleClick()',
897
916
  '(keydown)': 'handleKeydown($event)',
898
917
  '(focus)': 'onFocus()',
899
918
  '(blur)': 'onBlur()',
@@ -906,7 +925,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
906
925
  { provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
907
926
  { provide: KbqTree, useExisting: KbqTreeSelect },
908
927
  { provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
909
- ], 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 cdkMonitorSubtreeFocus\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-tree-select__content kbq-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n\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 70px;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;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-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-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: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
928
+ ], 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 cdkMonitorSubtreeFocus\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\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 <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\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 70px;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;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-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: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
910
929
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
911
930
  type: Inject,
912
931
  args: [KBQ_SELECT_SCROLL_STRATEGY]
@@ -998,8 +1017,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
998
1017
  }], hasBackdrop: [{
999
1018
  type: Input
1000
1019
  }], tabIndex: [{
1001
- type: Input,
1002
- args: [{ transform: numberAttribute }]
1020
+ type: Input
1003
1021
  }], disabled: [{
1004
1022
  type: Input,
1005
1023
  args: [{ transform: booleanAttribute }]
@@ -1035,13 +1053,14 @@ class KbqTreeSelectModule {
1035
1053
  KbqSelectFooter,
1036
1054
  KbqSelectMatcher,
1037
1055
  KbqSelectTrigger,
1038
- KbqSelectSearchEmptyResult] }); }
1056
+ KbqSelectSearchEmptyResult,
1057
+ KbqFormFieldModule] }); }
1039
1058
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTreeSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
1040
1059
  KbqTreeModule,
1041
1060
  KbqIconModule,
1042
1061
  KbqTagsModule,
1043
1062
  KbqPseudoCheckboxModule,
1044
- A11yModule] }); }
1063
+ A11yModule, KbqFormFieldModule] }); }
1045
1064
  }
1046
1065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTreeSelectModule, decorators: [{
1047
1066
  type: NgModule,
@@ -1067,7 +1086,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1067
1086
  KbqSelectFooter,
1068
1087
  KbqSelectMatcher,
1069
1088
  KbqSelectTrigger,
1070
- KbqSelectSearchEmptyResult
1089
+ KbqSelectSearchEmptyResult,
1090
+ KbqFormFieldModule
1071
1091
  ],
1072
1092
  declarations: [KbqTreeSelect],
1073
1093
  providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER]