@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -1,17 +1,17 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit, OnDestroy, InjectionToken, AfterContentInit, OnInit, DoCheck, ElementRef, DestroyRef, QueryList, TemplateRef, EventEmitter, Provider } from '@angular/core';
2
+ import { AfterViewInit, OnDestroy, InjectionToken, AfterViewChecked, AfterContentChecked, AfterContentInit, OnInit, DoCheck, ElementRef, DestroyRef, QueryList, TemplateRef, EventEmitter, Provider } from '@angular/core';
3
3
  import * as i5 from '@koobiq/components/tooltip';
4
4
  import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
5
- import * as _angular_cdk_overlay_module_d from '@angular/cdk/overlay-module.d';
6
5
  import { SelectionModel } from '@angular/cdk/collections';
7
6
  import * as i1 from '@angular/cdk/overlay';
8
- import { ConnectedPosition, CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
7
+ import { ScrollStrategy, ConnectedPosition, CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
9
8
  import { CdkVirtualForOf, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
10
9
  import { ControlValueAccessor, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
11
10
  import * as i2 from '@koobiq/components/core';
12
- import { KbqPanelWidth, KbqPanelMinWidth, KbqPanelMaxWidth, KbqPanelMaxHeight, KbqAbstractSelect, CanUpdateErrorState, KbqSiblingPopup, ErrorStateMatcher, KbqLocaleService, KbqOptionBase, ActiveDescendantKeyManager, KbqOption, KbqSelectTrigger, KbqSelectMatcher, KbqOptgroup, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqOptionSelectionChange, KbqSelectAllEvent, KbqVirtualOption, KbqPseudoCheckboxState, KbqComponentColors } from '@koobiq/components/core';
11
+ import { KbqPanelWidth, KbqPanelMinWidth, KbqPanelMaxWidth, KbqPanelMaxHeight, KbqOptionBase, KbqAbstractSelect, CanUpdateErrorState, KbqSiblingPopup, KbqOptionParentComponent, ErrorStateMatcher, ActiveDescendantKeyManager, KbqOption, KbqSelectTrigger, KbqSelectMatcher, KbqOptgroup, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqOptionSelectionChange, KbqSelectAllEvent, KbqVirtualOption, KbqPseudoCheckboxState, KbqComponentColors } from '@koobiq/components/core';
13
12
  import * as i11 from '@koobiq/components/form-field';
14
13
  import { KbqFormFieldControl, KbqCleaner } from '@koobiq/components/form-field';
14
+ import { KbqScrollbarMode } from '@koobiq/components/scrollbar';
15
15
  import * as i4 from '@koobiq/components/tags';
16
16
  import { KbqTag } from '@koobiq/components/tags';
17
17
  import { Subject, Observable } from 'rxjs';
@@ -19,6 +19,55 @@ import * as i3 from '@koobiq/components/icon';
19
19
  import * as i6 from '@angular/common';
20
20
  import * as i7 from '@angular/cdk/a11y';
21
21
 
22
+ /** Class that reveals the "+N" counter the matcher reserves room for. */
23
+ declare const KBQ_SELECT_HIDDEN_TEXT_VISIBLE_CLASS = "kbq-select__match-hidden-text_visible";
24
+ /** Widths the matcher needs in order to work out how many of the selected tags actually fit. */
25
+ type KbqSelectMatcherMeasurement = {
26
+ /** Total width of the selected tags, laid out without the "+N" counter. */
27
+ totalItemsWidth: number;
28
+ /** Total width of the tags that stay on the first line while the counter is shown. */
29
+ totalVisibleItemsWidth: number;
30
+ /** How many tags stay on the first line while the counter is shown. */
31
+ visibleItems: number;
32
+ };
33
+ /**
34
+ * Measures how much room the selected values take in a multiple select's trigger.
35
+ *
36
+ * Provided by the select rather than injected globally: it writes into (and reads back from) that
37
+ * select's own trigger element. Kept apart from the component because it is pure DOM geometry with no
38
+ * bearing on the select's state — and because the two measurements it makes have to share a single
39
+ * layout pass, which is easy to lose sight of when they live among the component's other concerns.
40
+ *
41
+ * @docs-private
42
+ */
43
+ declare class KbqSelectHiddenItemsMeasurer {
44
+ private readonly renderer;
45
+ private readonly window;
46
+ /**
47
+ * Measures the trigger against two layouts: one without the "+N" counter and one with it.
48
+ *
49
+ * Both clones are attached before either is read, so the browser resolves layout once for the pair
50
+ * instead of once per clone.
51
+ *
52
+ * @param trigger Trigger element of the select, used both as the source of the clones and as their host.
53
+ */
54
+ measure(trigger: HTMLElement): KbqSelectMatcherMeasurement;
55
+ /**
56
+ * Calculates the width of a single item including margins.
57
+ *
58
+ * The elements measured here are `kbq-tag`s, which are `border-box` and carry horizontal
59
+ * padding. `getComputedStyle().width` resolves to the used content-box width whatever
60
+ * `box-sizing` says, so it dropped that padding from every tag and the matcher believed more
61
+ * tags fit than actually do. `getBoundingClientRect()` is always the border box — the same fix
62
+ * `kbqGetPanelWidthOrigin()` carries.
63
+ */
64
+ private getItemWidth;
65
+ /** Creates a hidden clone of the trigger element, positioned so that it cannot affect the layout. */
66
+ private buildTriggerClone;
67
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqSelectHiddenItemsMeasurer, never>;
68
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<KbqSelectHiddenItemsMeasurer>;
69
+ }
70
+
22
71
  declare class KbqSelectLoading {
23
72
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqSelectLoading, never>;
24
73
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelectLoading, "kbq-select-loading, [kbq-select-loading]", ["kbqSelectLoading"], {}, {}, never, ["kbq-progress-spinner"], true, never>;
@@ -30,7 +79,7 @@ declare class KbqSelectLoading {
30
79
  */
31
80
  declare class KbqSelectError {
32
81
  /** Indicates whether styles for pagination controls should be used. */
33
- paging: _angular_core.InputSignalWithTransform<boolean, unknown>;
82
+ readonly paging: _angular_core.InputSignalWithTransform<boolean, unknown>;
34
83
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqSelectError, never>;
35
84
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelectError, "kbq-select-error, [kbq-select-error]", ["kbqSelectError"], { "paging": { "alias": "paging"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
36
85
  }
@@ -59,6 +108,18 @@ declare class KbqOptionTooltip extends KbqTooltipTrigger implements AfterViewIni
59
108
  private resizeSubscription;
60
109
  private contentObserverSubscription;
61
110
  private focusMonitorSubscription;
111
+ /**
112
+ * Overrides the tooltip's hoverable default. The overflow hint floats over the neighbouring options of a
113
+ * scrolling list, so a pointer-capturing pane would swallow the click that selects them.
114
+ */
115
+ readonly ignoreTooltipPointerEvents: _angular_core.InputSignal<boolean>;
116
+ /**
117
+ * The hint repeats text the option had to clip, so `kbqTooltipDisabled="false"` cannot conjure one for an
118
+ * option that fits.
119
+ *
120
+ * @docs-private
121
+ */
122
+ protected readonly derivedDisabledWins = true;
62
123
  get textElement(): HTMLElement;
63
124
  get isOverflown(): boolean;
64
125
  /**
@@ -72,7 +133,7 @@ declare class KbqOptionTooltip extends KbqTooltipTrigger implements AfterViewIni
72
133
  handleElementEnter(): void;
73
134
  handleElementLeave(): void;
74
135
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqOptionTooltip, never>;
75
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqOptionTooltip, "kbq-option", never, {}, {}, never, never, true, never>;
136
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqOptionTooltip, "kbq-option", never, { "ignoreTooltipPointerEvents": { "alias": "ignoreTooltipPointerEvents"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
76
137
  }
77
138
 
78
139
  /** Change event object that is emitted when the select value has changed. */
@@ -81,11 +142,6 @@ declare class KbqSelectChange {
81
142
  value: any;
82
143
  constructor(source: KbqSelect, value: any);
83
144
  }
84
- /**
85
- * Select panel width type.
86
- * @deprecated Use `KbqPanelWidth` from `@koobiq/components/core` instead.
87
- */
88
- type KbqSelectPanelWidth = KbqPanelWidth;
89
145
  /** Options for the `kbq-select` that can be configured using the `KBQ_SELECT_OPTIONS` injection token. */
90
146
  type KbqSelectOptions = Partial<{
91
147
  /**
@@ -110,11 +166,15 @@ type KbqSelectOptions = Partial<{
110
166
  /**
111
167
  * Whether to enable hiding search by default if options is less than minimum.
112
168
  *
113
- * - `'auto'` uses `KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD` as min value.
169
+ * - `'auto'` uses {@link KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD} as min value.
114
170
  * - number - will enables search hiding and uses value as min.
115
- * @see KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD
116
171
  */
117
172
  searchMinOptionsThreshold: 'auto' | number;
173
+ /**
174
+ * Decides which selected options the projected `KbqCleaner` removes. Disabled options are kept when
175
+ * this is not set. Overridden per instance by the `clearPredicate` attribute.
176
+ */
177
+ clearPredicate: (option: KbqOptionBase) => boolean;
118
178
  }>;
119
179
  /** Injection token that can be used to provide the default options for the `kbq-select`. */
120
180
  declare const KBQ_SELECT_OPTIONS: InjectionToken<Partial<{
@@ -140,11 +200,15 @@ declare const KBQ_SELECT_OPTIONS: InjectionToken<Partial<{
140
200
  /**
141
201
  * Whether to enable hiding search by default if options is less than minimum.
142
202
  *
143
- * - `'auto'` uses `KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD` as min value.
203
+ * - `'auto'` uses {@link KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD} as min value.
144
204
  * - number - will enables search hiding and uses value as min.
145
- * @see KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD
146
205
  */
147
206
  searchMinOptionsThreshold: "auto" | number;
207
+ /**
208
+ * Decides which selected options the projected `KbqCleaner` removes. Disabled options are kept when
209
+ * this is not set. Overridden per instance by the `clearPredicate` attribute.
210
+ */
211
+ clearPredicate: (option: KbqOptionBase) => boolean;
148
212
  }>>;
149
213
  /** Utility provider for `KBQ_SELECT_OPTIONS`. */
150
214
  declare const kbqSelectOptionsProvider: (options: KbqSelectOptions) => Provider;
@@ -152,21 +216,25 @@ declare const kbqSelectOptionsProvider: (options: KbqSelectOptions) => Provider;
152
216
  declare const delayBeforeDisplayingResultWithoutOptions = 101;
153
217
  /** Minimum time in milliseconds to display the loading state. */
154
218
  declare const minimumTimeToDisplayLoading = 300;
155
- declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, OnDestroy, OnInit, DoCheck, ControlValueAccessor, KbqFormFieldControl<any>, CanUpdateErrorState, KbqSiblingPopup {
219
+ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, AfterContentChecked, AfterContentInit, OnDestroy, OnInit, DoCheck, ControlValueAccessor, KbqFormFieldControl<any>, CanUpdateErrorState, KbqSiblingPopup, KbqOptionParentComponent {
156
220
  private readonly _changeDetectorRef;
157
221
  private readonly _ngZone;
158
- private readonly _renderer;
222
+ private readonly injector;
223
+ private readonly hiddenItemsMeasurer;
159
224
  private readonly interactivityChecker;
160
225
  defaultErrorStateMatcher: ErrorStateMatcher;
161
226
  elementRef: ElementRef<HTMLElement>;
162
227
  private overlayContainer;
228
+ private readonly overlayLayers;
163
229
  private readonly _dir;
164
230
  parentForm: NgForm | null;
165
231
  parentFormGroup: FormGroupDirective | null;
166
232
  private readonly parentFormField;
167
233
  ngControl: NgControl | null;
168
234
  private readonly scrollStrategyFactory;
169
- protected localeService?: KbqLocaleService | null | undefined;
235
+ private readonly carrier;
236
+ /** Localized strings of the select, following the active locale. */
237
+ private readonly localeConfiguration;
170
238
  /** @docs-private */
171
239
  protected readonly destroyRef: DestroyRef;
172
240
  protected readonly isBrowser: boolean;
@@ -193,31 +261,48 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
193
261
  /**
194
262
  * Whether to enable hiding search by default if options is less than minimum.
195
263
  *
196
- * - `'auto'` uses `KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD` as min value.
264
+ * - `'auto'` uses {@link KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD} as min value.
197
265
  * - number - will enables search hiding and uses value as min.
198
- * @see KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD
199
266
  */
200
267
  searchMinOptionsThreshold: "auto" | number;
268
+ /**
269
+ * Decides which selected options the projected `KbqCleaner` removes. Disabled options are kept when
270
+ * this is not set. Overridden per instance by the `clearPredicate` attribute.
271
+ */
272
+ clearPredicate: (option: KbqOptionBase) => boolean;
201
273
  }> | null;
274
+ private readonly scrollbarOptions;
275
+ private readonly errorStateTracker;
202
276
  /** Whether the component is in an error state. */
203
- errorState: boolean;
204
- /**
205
- * Emits whenever the component state changes and should cause the parent
206
- * form-field to update. Implemented as part of `KbqFormFieldControl`.
207
- * @docs-private
208
- */
209
- readonly stateChanges: Subject<void>;
277
+ readonly errorState: _angular_core.Signal<boolean>;
210
278
  /** A name for this control that can be used by `kbq-form-field`. */
211
279
  controlType: string;
212
- hiddenItems: number;
280
+ /**
281
+ * A `kbq-select` is not a native labelable element, so the form-field's `<label for>` cannot
282
+ * associate with it. The select is named through `aria-labelledby` instead.
283
+ */
284
+ readonly isNativeLabelSupported = false;
285
+ private readonly hiddenItemsCount;
286
+ /** Number of the selected items that do not fit into the trigger. */
287
+ readonly hiddenItems: _angular_core.Signal<number>;
288
+ /**
289
+ * How many of the rendered tags stay on the trigger's single line.
290
+ *
291
+ * `null` while the answer is unknown — the trigger has not been measured yet, or the measurement found
292
+ * no tag on the first line at all, which a laid-out trigger never does and so means there was no layout
293
+ * to measure. Both cases leave every tag treated as visible.
294
+ */
295
+ private readonly visibleTriggerItems;
213
296
  /** The last measured value for the trigger's client bounding rect. */
214
- triggerRect: DOMRect;
297
+ protected triggerRect: DOMRect;
215
298
  /** The cached font-size of the trigger element in pixels. */
216
299
  triggerFontSize: number;
217
300
  /** Deals with the selection logic. Manages selected options and their states. */
218
301
  selectionModel: SelectionModel<KbqOptionBase>;
219
302
  /** Previously selected options before the current selection was made. */
220
303
  previousSelectionModelSelected: KbqOptionBase[];
304
+ /** Whether the selection is being set to a written value, which is no selection of the user. */
305
+ private writingValue;
221
306
  /**
222
307
  * Detached copies of the selected options, captured while the option was still rendered.
223
308
  * `cdk-virtual-scroll` recycles option views, so a `KbqOption` kept in `selectionModel` can
@@ -226,20 +311,13 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
226
311
  private readonly selectedOptionCopies;
227
312
  /** Manages keyboard events for options in the panel. */
228
313
  keyManager: ActiveDescendantKeyManager<KbqOption>;
229
- /** The value of the select panel's transform-origin property for animations. */
314
+ /** The value of the select panel's transform-origin property. */
230
315
  transformOrigin: string;
231
- /** Emits when the panel element is finished transforming in. */
316
+ /** Emits once the panel has rendered (`'showing'`) or has been removed (`'void'`). */
232
317
  panelDoneAnimatingStream: Subject<string>;
318
+ private panelRender?;
233
319
  /** Strategy that will be used to handle scrolling while the select panel is open. */
234
- scrollStrategy: _angular_cdk_overlay_module_d.ScrollStrategy;
235
- /**
236
- * The y-offset of the overlay panel in relation to the trigger.
237
- *
238
- * @deprecated noop. The trigger↔panel gap is now controlled by the `--kbq-connected-overlay-gap` CSS
239
- * variable (transparent padding inside the pane via the `kbq-connected-overlay_below/_above` panel
240
- * classes), not by a physical overlay offset — so setting this has no effect. Will be removed in 21.0.0.
241
- */
242
- offsetY: number;
320
+ scrollStrategy: ScrollStrategy;
243
321
  /**
244
322
  * Minimum space to keep between the overlay and the viewport edge.
245
323
  * At least `defaultOffsetY` so CDK's fit check — which runs before the `kbq-connected-overlay_below/_above`
@@ -262,18 +340,23 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
262
340
  readonly panel: _angular_core.Signal<ElementRef<any> | undefined>;
263
341
  /** Reference to the container element that holds the options. */
264
342
  readonly optionsContainer: _angular_core.Signal<ElementRef<any>>;
343
+ private readonly scrollbarViewport;
344
+ private readonly projectedScrollbarViewport;
265
345
  /** Reference to the built-in "select all" row, rendered only while `selectAll` is on. */
266
346
  readonly selectAllOption: _angular_core.Signal<KbqOption | undefined>;
347
+ private readonly overlayDirQuery;
267
348
  /** Reference to the CDK connected overlay directive. */
268
- overlayDir: CdkConnectedOverlay;
349
+ protected get overlayDir(): CdkConnectedOverlay;
269
350
  /** Reference to the optional footer element in the panel. */
270
351
  readonly footer: _angular_core.Signal<ElementRef<any> | undefined>;
271
352
  /** Reference to the CDK virtual scroll directive for virtual scrolling support. */
272
353
  readonly cdkVirtualForOf: _angular_core.Signal<CdkVirtualForOf<any> | undefined>;
273
354
  /** Reference to the CDK virtual scroll viewport for tracking scroll position in virtual mode. */
274
355
  readonly virtualScrollViewport: _angular_core.Signal<CdkVirtualScrollViewport | undefined>;
356
+ private readonly tagsQuery;
357
+ private readonly tagsList;
275
358
  /** Query list of tags displayed in multiple selection mode. */
276
- tags: QueryList<KbqTag>;
359
+ get tags(): QueryList<KbqTag>;
277
360
  /** User-supplied override of the trigger element for custom rendering. */
278
361
  readonly customTrigger: _angular_core.Signal<KbqSelectTrigger | undefined>;
279
362
  /** User-supplied matcher component for custom value matching logic. */
@@ -282,11 +365,16 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
282
365
  readonly customTagTemplateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
283
366
  /**
284
367
  * Reference to the optional cleaner element for clearing selection.
368
+ *
285
369
  * @docs-private
286
370
  */
287
371
  readonly cleaner: _angular_core.Signal<KbqCleaner | undefined>;
372
+ private readonly optionsQuery;
373
+ private readonly optionsList;
288
374
  /** All of the defined select options. */
289
- options: QueryList<KbqOption>;
375
+ get options(): QueryList<KbqOption>;
376
+ /** Whether `ngAfterContentInit` has run. The options are not settled before that, so nothing reads them. */
377
+ private contentReady;
290
378
  /**
291
379
  * Everything the key manager navigates: the built-in "select all" row first, then `options`.
292
380
  *
@@ -294,6 +382,7 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
294
382
  * Kept as a separate list rather than folded into `options` because `options` is public API — the
295
383
  * filter-bar pipes, `firstFiltered` and the tallies below all mean "the options the consumer
296
384
  * projected", and a synthetic entry there would quietly corrupt every one of them.
385
+ *
297
386
  * @docs-private
298
387
  */
299
388
  readonly navigableOptions: QueryList<KbqOption>;
@@ -303,10 +392,30 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
303
392
  readonly search: _angular_core.Signal<KbqSelectSearch | undefined>;
304
393
  /** Reference to the optional empty search result component. */
305
394
  readonly searchEmpty: _angular_core.Signal<KbqSelectSearchEmptyResult | undefined>;
306
- /** Template string for hidden items text. Supports {{ number }} placeholder. */
307
- hiddenItemsText: string;
308
- /** Label of the "select all" row. Kept in step with the locale service. */
309
- protected selectAllText: string;
395
+ /**
396
+ * Template string for the hidden items counter. Supports the `{{ number }}` placeholder.
397
+ *
398
+ * Takes precedence over the value the locale service provides, and keeps it for the whole lifetime of
399
+ * the select — switching the locale no longer overwrites what the consumer asked for.
400
+ */
401
+ readonly hiddenItemsText: _angular_core.InputSignal<string | undefined>;
402
+ /**
403
+ * Formats the hidden items counter.
404
+ *
405
+ * @param hiddenItemsText Template string with the `{{ number }}` placeholder.
406
+ * @param hiddenItems Number of hidden items to display.
407
+ */
408
+ readonly hiddenItemsTextFormatter: _angular_core.InputSignal<(hiddenItemsText: string, hiddenItems: number) => string>;
409
+ /** Rendered hidden items counter. */
410
+ protected get hiddenItemsLabel(): string;
411
+ /** Label of the "select all" row. Follows the active locale. */
412
+ protected get selectAllText(): string;
413
+ /**
414
+ * Accessible name of the trigger and of the option list.
415
+ *
416
+ * Only needed for a select rendered without a `kbq-form-field` label — with one, the label names both.
417
+ */
418
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
310
419
  /** Determines whether preselected values are displayed. */
311
420
  readonly showPreselectedValues: _angular_core.InputSignal<boolean>;
312
421
  /**
@@ -317,16 +426,18 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
317
426
  */
318
427
  readonly triggerValuesLimit: _angular_core.InputSignal<number>;
319
428
  /** Classes to be passed to the select panel. Supports the same syntax as the `[class]` binding. */
320
- readonly panelClass: _angular_core.InputSignal<string | string[] | Set<string> | {
321
- [key: string]: any;
322
- }>;
429
+ readonly panelClass: _angular_core.InputSignal<string | string[] | Set<string> | Record<string, boolean>>;
323
430
  /** Classes to be passed to the overlay backdrop. */
324
431
  readonly backdropClass: _angular_core.InputSignal<string>;
325
432
  /** Object used to control when error messages are shown. */
326
- errorStateMatcher: ErrorStateMatcher;
433
+ readonly errorStateMatcher: _angular_core.InputSignal<ErrorStateMatcher | undefined>;
327
434
  /**
328
435
  * Function used to sort the values in a select in multiple mode.
329
436
  * Follows the same logic as `Array.prototype.sort`.
437
+ *
438
+ * Without one the values are emitted in panel order — the order the options are declared in, not the
439
+ * order they were picked in. A value whose option is not rendered (a `KbqVirtualOption` under virtual
440
+ * scroll or `showPreselectedValues`) has no place in that order and sorts after everything that has.
330
441
  */
331
442
  readonly sortComparator: _angular_core.InputSignal<(a: KbqOptionBase, b: KbqOptionBase, options: KbqOptionBase[]) => number>;
332
443
  /**
@@ -338,13 +449,17 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
338
449
  * Controls when the search functionality is displayed based on the number of available options.
339
450
  *
340
451
  * Automatically enables search hiding if value provided, even if `defaultOptions.searchMinOptionsThreshold` is provided.
341
- * @default undefined
452
+ *
453
+ * Accepts `'auto'`, which resolves to `KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD`; the getter therefore
454
+ * reports the resolved number, never `'auto'`. Defaults to `undefined`.
342
455
  */
343
- set searchMinOptionsThreshold(value: 'auto' | number | undefined);
344
- get searchMinOptionsThreshold(): number | undefined;
345
- private _searchMinOptionsThreshold;
456
+ readonly searchMinOptionsThreshold: _angular_core.Signal<number | undefined>;
457
+ /** @docs-private */
458
+ readonly searchMinOptionsThresholdInput: _angular_core.InputSignal<number | "auto" | undefined>;
346
459
  /** Combined stream of all of the child options' change events. */
347
460
  readonly optionSelectionChanges: Observable<KbqOptionSelectionChange>;
461
+ /** Emits once the content queries are resolved, for subscribers that arrive before `options` exist. */
462
+ private readonly contentInitialized;
348
463
  /**
349
464
  * Event emitted when the select panel has been toggled. Emits true when opened, false when closed.
350
465
  * Also serves as the `openedChange` member of the `KbqSiblingPopup` contract — a tooltip sharing
@@ -352,12 +467,18 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
352
467
  * `ngOnInit`) matters beyond this output's original consumers.
353
468
  */
354
469
  readonly openedChange: EventEmitter<boolean>;
470
+ /** @docs-private */
471
+ readonly openedChangeOutput: _angular_core.OutputRef<boolean>;
355
472
  /** Event emitted before the select panel starts opening. */
356
473
  readonly beforeOpened: _angular_core.OutputEmitterRef<void>;
357
474
  /** Event emitted when the select has been opened. */
358
475
  readonly openedStream: Observable<void>;
476
+ /** @docs-private */
477
+ readonly openedOutput: _angular_core.OutputRef<void>;
359
478
  /** Event emitted when the select has been closed. */
360
479
  readonly closedStream: Observable<void>;
480
+ /** @docs-private */
481
+ readonly closedOutput: _angular_core.OutputRef<void>;
361
482
  /** Event emitted when the selected value has been changed by the user. */
362
483
  readonly selectionChange: _angular_core.OutputEmitterRef<KbqSelectChange>;
363
484
  /**
@@ -368,6 +489,7 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
368
489
  /**
369
490
  * Event that emits whenever the raw value of the select changes. This is here primarily
370
491
  * to facilitate the two-way binding for the `value` input.
492
+ *
371
493
  * @docs-private
372
494
  */
373
495
  readonly valueChange: _angular_core.OutputEmitterRef<any>;
@@ -382,29 +504,25 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
382
504
  * Whether the overlay should have a backdrop.
383
505
  * When true, clicking the backdrop will close the select.
384
506
  */
385
- get hasBackdrop(): boolean;
386
- set hasBackdrop(value: boolean);
387
- private _hasBackdrop;
507
+ readonly hasBackdrop: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
388
508
  /**
389
509
  * Placeholder text to be shown when no value is selected.
390
510
  * Displayed in the trigger when the select is closed and no value is selected.
391
511
  */
392
- get placeholder(): string;
393
- set placeholder(value: string);
394
- private _placeholder;
512
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
395
513
  /**
396
514
  * Whether the select is required. Affects validation and display of placeholder.
397
515
  */
398
- get required(): boolean;
399
- set required(value: boolean);
400
- private _required;
516
+ readonly required: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
517
+ /** @docs-private */
518
+ readonly multipleInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
401
519
  /**
402
520
  * Whether multiple options can be selected.
403
521
  * Note: This cannot be changed dynamically after initialization.
404
522
  */
405
523
  get multiple(): boolean;
406
- set multiple(value: boolean);
407
- private _multiple;
524
+ /** The multiplicity the selection model was created with; a later binding change is refused. */
525
+ private multipleValue;
408
526
  /**
409
527
  * Function to compare the option values with the selected values.
410
528
  * The first argument is a value from an option.
@@ -412,8 +530,7 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
412
530
  * Should return true if the values match.
413
531
  * Defaults to strict equality comparison.
414
532
  */
415
- get compareWith(): (o1: any, o2: any) => boolean;
416
- set compareWith(fn: (o1: any, o2: any) => boolean);
533
+ readonly compareWith: _angular_core.InputSignalWithTransform<(o1: any, o2: any) => boolean, (o1: any, o2: any) => boolean>;
417
534
  /**
418
535
  * Factory used to construct a `KbqVirtualOption` for selected values whose
419
536
  * `KbqOption` is not currently rendered (e.g. virtual scroll out of viewport,
@@ -424,10 +541,18 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
424
541
  * customise per-value `disabled` state or any future `KbqVirtualOption`
425
542
  * fields without adding new `@Input`s.
426
543
  *
427
- * Defaults to `new KbqVirtualOption(value, this.disabled)`, which is correct
544
+ * Defaults to `new KbqVirtualOption(value, this.disabled())`, which is correct
428
545
  * for primitive values where `value` itself is the display label.
429
546
  */
430
547
  readonly virtualOptionFactory: _angular_core.InputSignal<((value: any) => KbqVirtualOption) | undefined>;
548
+ /**
549
+ * Decides which selected options the projected `KbqCleaner` removes: return `true` to clear the
550
+ * option, `false` to keep it. Disabled options are kept by default. Bind a stable reference — a new
551
+ * function on every change detection re-runs the predicate over the whole selection.
552
+ *
553
+ * Not consulted by `writeValue` / `reset()`, which always clear everything.
554
+ */
555
+ readonly clearPredicate: _angular_core.InputSignalWithTransform<(option: KbqOptionBase) => boolean, (option: KbqOptionBase) => boolean>;
431
556
  /** When `true`, a repeated Ctrl/Cmd+A deselects all options. Off by default (Ctrl+A only selects). */
432
557
  readonly selectAllToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
433
558
  /**
@@ -439,14 +564,14 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
439
564
  * never disagree (`selectAllToggle` is implied).
440
565
  */
441
566
  readonly selectAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
567
+ /** @docs-private */
568
+ readonly selectAllHandlerInput: _angular_core.InputSignalWithTransform<((event: KeyboardEvent, select: KbqSelect) => void) | undefined, ((event: KeyboardEvent, select: KbqSelect) => void) | undefined>;
442
569
  /**
443
570
  * Function for handling the Ctrl + A (select all) keyboard combination.
444
571
  * By default, the internal handler selects all options.
445
- * @param event The keyboard event that triggered the handler.
446
- * @param select Reference to this select component.
572
+ * It is called with the keyboard event that triggered it and a reference to this select component.
447
573
  */
448
574
  get selectAllHandler(): (event: KeyboardEvent, select: KbqSelect) => void;
449
- set selectAllHandler(fn: (event: KeyboardEvent, select: KbqSelect) => void);
450
575
  /**
451
576
  * Width of the panel. If set to `auto`, the panel will match the trigger width, but will never be
452
577
  * narrower than `panelMinWidth`. If set to null or an empty string, the panel will grow to match the
@@ -476,44 +601,56 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
476
601
  /**
477
602
  * `panelMaxHeight` rendered as a CSS length for the `--kbq-select-panel-size-max-height` token.
478
603
  * A non-finite value (e.g. `null`) leaves the stylesheet default in place.
604
+ *
479
605
  * @docs-private
480
606
  */
481
607
  protected readonly panelMaxHeightToken: _angular_core.Signal<string | null>;
482
- /** Value of the select control. Can be a single value or array of values for multiple selection. */
483
- get value(): any;
484
- set value(newValue: any);
485
- private _value;
608
+ /** @docs-private */
609
+ readonly valueInput: _angular_core.InputSignal<any>;
610
+ /**
611
+ * Value of the select control. Can be a single value or array of values for multiple selection. Follows
612
+ * `[value]`, the form control and the user's selection. A value set in code selects its options on the next
613
+ * change detection, without emitting `valueChange`.
614
+ */
615
+ readonly value: _angular_core.WritableSignal<any>;
616
+ /** The value the selection was last made from or reported as. */
617
+ private selectionValue;
618
+ /** @docs-private */
619
+ readonly idInput: _angular_core.InputSignal<string | undefined>;
486
620
  /**
487
621
  * Unique identifier for the select component.
488
622
  * Auto-generates an ID if not provided.
489
623
  */
490
- get id(): string;
491
- set id(value: string);
492
- private _id;
624
+ readonly id: _angular_core.Signal<string>;
493
625
  /**
494
626
  * Sets the tabIndex of the select element.
495
627
  * Automatically set to -1 when disabled.
496
628
  */
629
+ /** @docs-private */
630
+ readonly tabIndexInput: _angular_core.InputSignalWithTransform<number, string | number | null | undefined>;
497
631
  get tabIndex(): number;
498
- set tabIndex(value: number);
499
- private _tabIndex;
632
+ /** @docs-private */
633
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
500
634
  /**
501
635
  * Whether the select is disabled.
502
- * When disabled, the select cannot be opened and its value cannot be changed.
503
- */
504
- get disabled(): boolean;
505
- set disabled(value: boolean);
506
- private _disabled;
636
+ * When disabled, the select cannot be opened and its value cannot be changed. Also set by the bound form
637
+ * control.
638
+ */
639
+ readonly disabled: _angular_core.WritableSignal<boolean>;
640
+ private readonly resolvedTabIndex;
641
+ private readonly resolvedAriaLabelValue;
642
+ private readonly focusedValue;
643
+ private readonly panelOpenValue;
507
644
  /** Whether the select is focused. */
508
- get focused(): boolean;
509
- set focused(value: boolean);
645
+ readonly focused: _angular_core.Signal<boolean>;
510
646
  /** Whether the select panel is currently open. */
511
- panelOpen: boolean;
647
+ get panelOpen(): boolean;
648
+ set panelOpen(value: boolean);
512
649
  /** Whether the overlay panel is currently on screen. Part of the `KbqSiblingPopup` contract. */
513
650
  get isAttached(): boolean;
514
651
  /** Whether virtual scrolling is enabled for the options panel. */
515
652
  withVirtualScroll: boolean;
516
- private _focused;
653
+ protected get scrollbarMode(): KbqScrollbarMode;
517
654
  /** Whether the search returned no results. */
518
655
  get isEmptySearchResult(): boolean;
519
656
  /**
@@ -541,33 +678,55 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
541
678
  private get selectAllAdapter();
542
679
  /**
543
680
  * Whether the cleaner (clear button) should be shown.
681
+ *
544
682
  * @docs-private
545
683
  */
546
684
  get canShowCleaner(): boolean;
685
+ /**
686
+ * Whether the cleaner still has an option to remove.
687
+ *
688
+ * @docs-private
689
+ */
690
+ get canClear(): boolean;
691
+ /** Selected options the cleaner removes, in selection order. */
692
+ private get clearTargets();
693
+ /**
694
+ * Passes the resolved option, so a view recycled by `cdk-virtual-scroll` cannot answer for another
695
+ * item.
696
+ */
697
+ private shouldClear;
547
698
  /** Returns the currently selected option(s). Single value or array for multiple selection. */
548
699
  get selected(): KbqOptionBase | KbqOptionBase[];
549
700
  /** Returns the display value for the trigger element. */
550
701
  get triggerValue(): string;
551
702
  /** Returns all selected options in display order. */
552
703
  get triggerValues(): KbqOptionBase[];
704
+ /**
705
+ * Whether the tag at `index` is one the trigger actually shows.
706
+ *
707
+ * The trigger renders every selected value and clips the overflow with `overflow: hidden`, so a tag
708
+ * that wrapped past the single line is still in the DOM. Its remove control has to leave the tab order
709
+ * with it, or focus lands on something the user cannot see — and the browser scrolls the clipped list
710
+ * to reveal it, shifting the row that is on screen.
711
+ *
712
+ * @docs-private
713
+ */
714
+ protected isTriggerValueVisible(index: number): boolean;
715
+ private readonly emptyValue;
553
716
  /** Whether no option is currently selected. */
554
- get empty(): boolean;
717
+ readonly empty: _angular_core.Signal<boolean>;
555
718
  /** Whether there are no options available. */
556
719
  get noOptions(): boolean;
557
720
  /** Returns the first selected option that is not disabled. */
558
721
  get firstSelected(): KbqOptionBase | null;
559
722
  /** Whether the first selected option is filtered (not visible in the list). */
560
723
  get firstFiltered(): boolean;
561
- /**
562
- * Whether the legacy `KbqValidateDirective` marks this control. The class it writes never changes
563
- * after the host is created, so it is probed once instead of on every change detection pass.
564
- */
565
- private hasLegacyValidateDirective;
566
- private readonly invalidState;
567
724
  /** @docs-private */
568
725
  get colorForState(): KbqComponentColors;
569
726
  /** Whether multiple choice is enabled. True if multiple or multiline mode is active. */
570
727
  get multiSelection(): boolean;
728
+ /** `panelClass` flattened into a class string. */
729
+ private readonly customPanelClasses;
571
730
  /** Whether a "select all" batch is running, so the per-option changes propagate only once. */
572
731
  private selectAllInProgress;
573
732
  /** Subscription to the close event of the overlay. */
@@ -578,32 +737,65 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
578
737
  private scrollTop;
579
738
  /** Unique id for this input. Auto-incremented for each instance. */
580
739
  private readonly uid;
740
+ /**
741
+ * Id of the listbox the trigger owns, referenced by `aria-controls` while the panel is open.
742
+ *
743
+ * @docs-private
744
+ */
745
+ protected readonly panelId: string;
746
+ /**
747
+ * Id of the `kbq-form-field` label naming this select, when it has one.
748
+ *
749
+ * A `<label for>` does not associate with a custom element, so the relationship is expressed the
750
+ * other way around — from the control to the label.
751
+ *
752
+ * @docs-private
753
+ */
754
+ protected get ariaLabelledby(): string | null;
755
+ /**
756
+ * Accessible name put on the trigger and on the option list.
757
+ *
758
+ * Both a `combobox` and a `listbox` are required to have one, and neither takes its name from its
759
+ * contents — the placeholder is rendered as a plain `<span>`, so it names nothing. Falling back to it
760
+ * keeps the ordinary label-less select named. A form-field label still wins: it names the select
761
+ * through `aria-labelledby`, which takes precedence over `aria-label`.
762
+ *
763
+ * @docs-private
764
+ */
765
+ protected get resolvedAriaLabel(): string | null;
766
+ /**
767
+ * Whether the option list is currently showing something other than options — the loading, error or
768
+ * empty state, or an empty search result.
769
+ *
770
+ * The same container is both the `listbox` and the projection target for those states, and a `listbox`
771
+ * is required to own `option` children. `aria-busy` says the list is still being filled in rather than
772
+ * malformed, and keeps it from being announced as an option list with nothing in it.
773
+ *
774
+ * @docs-private
775
+ */
776
+ protected get isOptionsListBusy(): boolean;
581
777
  /** Subject that emits when the component visibility changes. */
582
778
  private visibleChanges;
583
779
  /** Origin element for the overlay panel positioning. */
584
780
  protected overlayOrigin?: CdkOverlayOrigin | ElementRef;
585
- /** Flag indicating if the dropdown class has been added to the overlay container. */
586
- private classAddedToOverlayContainer;
587
781
  private openPanelTimeout;
782
+ /** Pending re-highlight scheduled by a search keystroke. */
783
+ private highlightOptionTimeout;
784
+ /** Accessible names of the controls the select renders itself. */
785
+ private readonly a11yLocaleConfiguration;
588
786
  constructor();
589
787
  /** Lifecycle hook called after component initialization. Initializes selection model and subscriptions. */
590
788
  ngOnInit(): void;
591
- /** Lifecycle hook for change detection. Updates visibility and error state. */
789
+ /** Lifecycle hook for change detection. Updates the error state. */
592
790
  ngDoCheck(): void;
593
791
  /** Lifecycle hook after content initialization. Sets up key manager and option subscriptions. */
594
792
  ngAfterContentInit(): void;
793
+ ngAfterContentChecked(): void;
794
+ ngAfterViewChecked(): void;
595
795
  /** Lifecycle hook when component is destroyed. Cleans up subscriptions. */
596
796
  ngOnDestroy(): void;
597
797
  /** Updates the error state based on the error state matcher. */
598
798
  updateErrorState(): void;
599
- private syncInvalidState;
600
- /**
601
- * Formats the hidden items text with the number of hidden items.
602
- * @param hiddenItemsText Template string with {{ number }} placeholder.
603
- * @param hiddenItems Number of hidden items to display.
604
- * @returns Formatted string with the number of hidden items.
605
- */
606
- hiddenItemsTextFormatter(hiddenItemsText: string, hiddenItems: number): string;
607
799
  /**
608
800
  * Selects every option "select all" can act on, or deselects them all when they are already selected.
609
801
  *
@@ -612,19 +804,22 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
612
804
  */
613
805
  protected toggleSelectAll(): void;
614
806
  /**
615
- * Clears the current selection.
807
+ * Clears the options `clearPredicate` accepts, which by default leaves the disabled ones selected.
808
+ *
616
809
  * @docs-private
617
810
  */
618
811
  clear(): void;
619
812
  /**
620
- * Clears the current selection.
621
- * @deprecated Activate the projected `KbqCleaner` instead.
813
+ * Called when the value changes. Needed to properly implement `ControlValueAccessor`.
814
+ *
622
815
  * @docs-private
623
816
  */
624
- clearValue(event: Event): void;
625
- /** `View -> model callback called when value changes` */
626
817
  onChange: (value: any) => void;
627
- /** `View -> model callback called when select has been touched` */
818
+ /**
819
+ * Called when the control is blurred. Needed to properly implement `ControlValueAccessor`.
820
+ *
821
+ * @docs-private
822
+ */
628
823
  onTouched: () => void;
629
824
  /** Resets the search component if present. */
630
825
  resetSearch(): void;
@@ -643,8 +838,14 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
643
838
  * Sets up the overlay dimensions based on trigger size and configured options.
644
839
  */
645
840
  openPanel(): void;
841
+ private attachPanel;
646
842
  /** Closes the overlay panel. */
647
843
  close(): void;
844
+ /**
845
+ * Reports the panel rendered or removed once the next render has applied `panelOpen`; only the latest
846
+ * report of a frame is delivered.
847
+ */
848
+ private reportPanelRendered;
648
849
  /**
649
850
  * Sets the select's value. Part of the ControlValueAccessor interface
650
851
  * required to integrate with Angular's core forms API.
@@ -677,12 +878,14 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
677
878
  setDisabledState(isDisabled: boolean): void;
678
879
  /**
679
880
  * Checks if the current direction is RTL (right-to-left).
881
+ *
680
882
  * @returns True if RTL mode is active, false otherwise.
681
883
  */
682
884
  isRtl(): boolean;
683
885
  /**
684
886
  * Handles all keyboard events for the select.
685
887
  * Delegates to appropriate handler based on panel state.
888
+ *
686
889
  * @param event The keyboard event to handle.
687
890
  */
688
891
  handleKeydown(event: KeyboardEvent): void;
@@ -708,34 +911,43 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
708
911
  protected isListHeightPinnedToCap(): boolean;
709
912
  /** Returns the theme to be used on the panel based on parent form field color. */
710
913
  getPanelTheme(): string;
711
- /** Returns the full set of classes for the panel: base class, theme and custom `panelClass`. */
914
+ /**
915
+ * Returns the full set of classes for the panel: base class, theme and custom `panelClass`.
916
+ *
917
+ * Only the theme is read per change detection — it comes from the form field, which does not expose
918
+ * its color as a signal — while the `panelClass` expansion is memoised.
919
+ */
712
920
  protected getPanelClasses(): string;
713
921
  /** Focuses the select element. */
714
922
  focus(): void;
715
923
  /**
716
924
  * Implemented as part of KbqFormFieldControl.
925
+ *
717
926
  * @docs-private
718
927
  */
719
- onContainerClick(): void;
928
+ onContainerClick(event?: MouseEvent): void;
720
929
  /**
721
930
  * Handles removal of a matched item in the trigger.
931
+ *
722
932
  * @param option The option to remove from selection.
723
- * @param $event The mouse event that triggered the removal.
724
- */
725
- onRemoveMatcherItem(option: KbqOptionBase, $event: any): void;
726
- /**
727
- * Calculates the number of hidden items in multiple selection mode.
728
- * Updates the hiddenItems property and triggers change detection.
933
+ * @param $event The mouse or keyboard event that triggered the removal.
729
934
  */
935
+ onRemoveMatcherItem(option: KbqOptionBase, $event: Event): void;
936
+ /** Accessible name of the control that removes a selected value from the trigger. */
937
+ protected removeItemAriaLabel(option: KbqOptionBase): string;
938
+ /** Calculates the number of hidden items in multiple selection mode and updates `hiddenItems`. */
730
939
  calculateHiddenItems: () => void;
940
+ private measureHiddenItems;
731
941
  /**
732
942
  * Gets the height of a single option item.
943
+ *
733
944
  * @returns The height in pixels of the first option, or 0 if no options exist.
734
945
  */
735
946
  getItemHeight(): number;
736
947
  /**
737
948
  * Handles click events on the select.
738
949
  * Closes the panel if click is inside the footer.
950
+ *
739
951
  * @param $event The mouse event to handle.
740
952
  */
741
953
  handleClick($event: MouseEvent): void;
@@ -750,16 +962,25 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
750
962
  private focusNextInFooter;
751
963
  /** @docs-private */
752
964
  setSelectedOptionsByClick(option: KbqOption): void;
965
+ /**
966
+ * Flips the selected state of a single option through the option itself.
967
+ *
968
+ * Toggling the selection model directly would not do: only the option's own selection change reaches
969
+ * `onSelect`, which is what writes the value back to the form control — every branch above relies on
970
+ * the same path.
971
+ */
972
+ private toggleOption;
753
973
  /** @docs-private */
754
974
  protected shouldShowSearch(): boolean;
755
- /** Updates locale parameters from the locale service. */
756
- private updateLocaleParams;
757
- /** Checks if the component is currently visible in the viewport. */
758
- private isVisible;
759
- /** Gets the current overlay position index in the container. */
760
- private currentOverlayPosition;
761
- /** Gets the position index of modal overlay in the container. */
762
- private modalOverlayPosition;
975
+ /**
976
+ * Reports whether the trigger is on screen, so the hidden items are re-measured once it appears.
977
+ *
978
+ * An `IntersectionObserver` rather than a geometry probe in `ngDoCheck`: reading `offsetTop` forces a
979
+ * synchronous layout, and `ngDoCheck` runs on every change detection cycle of every ancestor.
980
+ */
981
+ private observeVisibility;
982
+ /** Whether a modal paints over the panel, so that clicks inside the modal leave the panel open. */
983
+ private isCoveredByModal;
763
984
  /**
764
985
  * Creates an observable of actions that should close the select panel.
765
986
  * Includes outside pointer events and overlay detachments.
@@ -776,20 +997,6 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
776
997
  * or the component is destroyed.
777
998
  */
778
999
  private subscribeToScrolledToBottom;
779
- /** Calculates the total width of all selected items in the matcher. */
780
- private getTotalItemsWidthInMatcher;
781
- /**
782
- * Calculates the width of a single item including margins.
783
- *
784
- * The elements measured here are `kbq-tag`s, which are `border-box` and carry horizontal
785
- * padding. `getComputedStyle().width` resolves to the used content-box width whatever
786
- * `box-sizing` says, so it dropped that padding from every tag and the matcher believed more
787
- * tags fit than actually do. `getBoundingClientRect()` is always the border box — the same fix
788
- * `kbqGetPanelWidthOrigin()` carries for the dropdown trigger.
789
- * @param element The DOM element to measure.
790
- * @returns Total width including margins and gap.
791
- */
792
- private getItemWidth;
793
1000
  /** Handles keyboard events while the select is closed. */
794
1001
  private handleClosedKeydown;
795
1002
  /** Handles keyboard events when the select is open. */
@@ -810,20 +1017,25 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
810
1017
  * it is already part of.
811
1018
  */
812
1019
  private syncNavigableOptions;
1020
+ /** Selects the options of `value` once the options are settled; until then `initializeSelection` does. */
1021
+ private applyValue;
813
1022
  /**
814
1023
  * Sets the selected option based on a value.
815
1024
  * If no option can be found with the designated value, the select trigger is cleared.
1025
+ *
816
1026
  * @param value The value to select. Can be a single value or array for multiple selection.
817
1027
  */
818
1028
  private setSelectionByValue;
819
1029
  /**
820
1030
  * Finds the option that corresponds to the given value.
1031
+ *
821
1032
  * @param value The value to find.
822
1033
  * @returns The matching option or undefined if not found.
823
1034
  */
824
1035
  private getCorrespondOption;
825
1036
  /**
826
1037
  * Finds and selects an option based on its value.
1038
+ *
827
1039
  * @returns Option that has the corresponding value, when it is currently rendered.
828
1040
  */
829
1041
  private selectValue;
@@ -861,29 +1073,10 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
861
1073
  */
862
1074
  private highlightCorrectOption;
863
1075
  private scrollActiveOptionIntoView;
864
- /** Comparison function to specify which option is displayed. Defaults to object equality. */
865
- private _compareWith;
866
1076
  /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
867
- private _selectAllHandler;
868
- /**
869
- * Calculates the total width and count of visible items.
870
- * @returns Tuple of [totalVisibleItemsWidth, visibleItemsCount].
871
- */
872
- private getTotalVisibleItems;
873
- /**
874
- * Creates a hidden clone of the trigger element for width calculations.
875
- * @returns Clone of the trigger element positioned off-screen.
876
- */
877
- private buildTriggerClone;
878
- /** Adds the dropdown class to the overlay container when first select opens. */
879
- private addClassToOverlayContainer;
880
- /** Removes the dropdown class from the overlay container when select closes. */
881
- private removeClassFromOverlayContainer;
1077
+ private defaultSelectAllHandler;
882
1078
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqSelect, never>;
883
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; "isSignal": true; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "searchMinOptionsThreshold": { "alias": "searchMinOptionsThreshold"; "required": false; }; "scrolledToBottomOffset": { "alias": "scrolledToBottomOffset"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "virtualOptionFactory": { "alias": "virtualOptionFactory"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "selectAllHandler": { "alias": "selectAllHandler"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "beforeOpened": "beforeOpened"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; "scrolledToBottom": "scrolledToBottom"; }, ["footer", "cdkVirtualForOf", "virtualScrollViewport", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "optionGroups", "search", "searchEmpty", "options"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], true, never>;
884
- static ngAcceptInputType_multiple: unknown;
885
- static ngAcceptInputType_tabIndex: unknown;
886
- static ngAcceptInputType_disabled: unknown;
1079
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; "isSignal": true; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; "isSignal": true; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "searchMinOptionsThresholdInput": { "alias": "searchMinOptionsThreshold"; "required": false; "isSignal": true; }; "scrolledToBottomOffset": { "alias": "scrolledToBottomOffset"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "virtualOptionFactory": { "alias": "virtualOptionFactory"; "required": false; "isSignal": true; }; "clearPredicate": { "alias": "clearPredicate"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "selectAllHandlerInput": { "alias": "selectAllHandler"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openedChangeOutput": "openedChange"; "beforeOpened": "beforeOpened"; "openedOutput": "opened"; "closedOutput": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; "scrolledToBottom": "scrolledToBottom"; }, ["projectedScrollbarViewport", "footer", "cdkVirtualForOf", "virtualScrollViewport", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "optionsQuery", "optionGroups", "search", "searchEmpty"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], true, [{ directive: typeof i2.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
887
1080
  }
888
1081
 
889
1082
  declare class KbqSelectModule {
@@ -892,5 +1085,5 @@ declare class KbqSelectModule {
892
1085
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqSelectModule>;
893
1086
  }
894
1087
 
895
- export { KBQ_SELECT_OPTIONS, KbqOptionTooltip, KbqSelect, KbqSelectChange, KbqSelectError, KbqSelectErrorText, KbqSelectLoading, KbqSelectModule, KbqSelectNoOptions, delayBeforeDisplayingResultWithoutOptions, kbqSelectOptionsProvider, minimumTimeToDisplayLoading };
896
- export type { KbqSelectOptions, KbqSelectPanelWidth };
1088
+ export { KBQ_SELECT_HIDDEN_TEXT_VISIBLE_CLASS, KBQ_SELECT_OPTIONS, KbqOptionTooltip, KbqSelect, KbqSelectChange, KbqSelectError, KbqSelectErrorText, KbqSelectHiddenItemsMeasurer, KbqSelectLoading, KbqSelectModule, KbqSelectNoOptions, delayBeforeDisplayingResultWithoutOptions, kbqSelectOptionsProvider, minimumTimeToDisplayLoading };
1089
+ export type { KbqSelectMatcherMeasurement, KbqSelectOptions };