@koobiq/components 20.4.2 → 21.0.1

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 (798) 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 +791 -609
  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 +2871 -2595
  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 +400 -149
  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 +734 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1700 -617
  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 +415 -18
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.cjs +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.cjs +61 -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.cjs +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.cjs +55 -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 → data.cjs} +3 -0
  274. package/schematics/migrations/alert-signals/index.cjs +221 -0
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.cjs +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.cjs +21 -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.cjs +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.cjs +366 -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 → index.cjs} +6 -5
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.cjs +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.cjs +707 -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.cjs +109 -0
  291. package/schematics/migrations/badge-signals/index.cjs +694 -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.cjs +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.cjs +221 -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.cjs +106 -0
  299. package/schematics/migrations/button-supported-colors/index.cjs +261 -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.cjs +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.cjs +497 -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.cjs +88 -0
  307. package/schematics/migrations/button-truncation/index.cjs +270 -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.cjs +114 -0
  311. package/schematics/migrations/checkbox-signals/index.cjs +635 -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.cjs +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.cjs +60 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-highlight-js-core/README.md +53 -0
  318. package/schematics/migrations/code-block-highlight-js-core/data.cjs +64 -0
  319. package/schematics/migrations/code-block-highlight-js-core/index.cjs +319 -0
  320. package/schematics/migrations/code-block-highlight-js-core/schema.json +20 -0
  321. package/schematics/migrations/code-block-signals/README.md +84 -0
  322. package/schematics/migrations/code-block-signals/data.cjs +121 -0
  323. package/schematics/migrations/code-block-signals/index.cjs +701 -0
  324. package/schematics/migrations/code-block-signals/schema.json +20 -0
  325. package/schematics/migrations/color-signals/README.md +46 -0
  326. package/schematics/migrations/color-signals/data.cjs +131 -0
  327. package/schematics/migrations/color-signals/index.cjs +20 -0
  328. package/schematics/migrations/color-signals/schema.json +20 -0
  329. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  330. package/schematics/migrations/core-mixins-removal/data.cjs +27 -0
  331. package/schematics/migrations/core-mixins-removal/index.cjs +18 -0
  332. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  333. package/schematics/migrations/css-selectors/README.md +2 -2
  334. package/schematics/migrations/css-selectors/{index.js → index.cjs} +4 -3
  335. package/schematics/migrations/datepicker-signals/README.md +24 -0
  336. package/schematics/migrations/datepicker-signals/data.cjs +49 -0
  337. package/schematics/migrations/datepicker-signals/index.cjs +18 -0
  338. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  339. package/schematics/migrations/deprecated-icons/README.md +2 -2
  340. package/schematics/migrations/deprecated-icons/{index.js → index.cjs} +8 -7
  341. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  342. package/schematics/migrations/design-tokens-v4/index.cjs +60 -0
  343. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  344. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  345. package/schematics/migrations/divider-signals-and-aria/data.cjs +62 -0
  346. package/schematics/migrations/divider-signals-and-aria/index.cjs +212 -0
  347. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  348. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  349. package/schematics/migrations/dl-attribute-coercion/data.cjs +85 -0
  350. package/schematics/migrations/dl-attribute-coercion/index.cjs +162 -0
  351. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  352. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  353. package/schematics/migrations/dl-standalone-names/data.cjs +44 -0
  354. package/schematics/migrations/dl-standalone-names/index.cjs +322 -0
  355. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  356. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  357. package/schematics/migrations/dropdown-demote-overlay/data.cjs +84 -0
  358. package/schematics/migrations/dropdown-demote-overlay/index.cjs +289 -0
  359. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  360. package/schematics/migrations/dropdown-signals/README.md +83 -0
  361. package/schematics/migrations/dropdown-signals/data.cjs +152 -0
  362. package/schematics/migrations/dropdown-signals/index.cjs +20 -0
  363. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  364. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  365. package/schematics/migrations/empty-state-error-color/data.cjs +85 -0
  366. package/schematics/migrations/empty-state-error-color/index.cjs +72 -0
  367. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  368. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  369. package/schematics/migrations/empty-state-size-attr/{index.js → index.cjs} +6 -5
  370. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  371. package/schematics/migrations/file-upload-cva-and-primitives/data.cjs +97 -0
  372. package/schematics/migrations/file-upload-cva-and-primitives/index.cjs +61 -0
  373. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  374. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  375. package/schematics/migrations/file-upload-deprecated-outputs/data.cjs +20 -0
  376. package/schematics/migrations/file-upload-deprecated-outputs/index.cjs +71 -0
  377. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  379. package/schematics/migrations/filter-bar-rename-action/data.cjs +151 -0
  380. package/schematics/migrations/filter-bar-rename-action/index.cjs +178 -0
  381. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  382. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  383. package/schematics/migrations/filter-bar-signals/{data.js → data.cjs} +1 -2
  384. package/schematics/migrations/filter-bar-signals/index.cjs +225 -0
  385. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  386. package/schematics/migrations/filter-bar-state-saving-default/data.cjs +87 -0
  387. package/schematics/migrations/filter-bar-state-saving-default/index.cjs +62 -0
  388. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  389. package/schematics/migrations/flag-inner-html/README.md +67 -0
  390. package/schematics/migrations/flag-inner-html/data.cjs +58 -0
  391. package/schematics/migrations/flag-inner-html/index.cjs +62 -0
  392. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  393. package/schematics/migrations/form-field-signals/README.md +125 -0
  394. package/schematics/migrations/form-field-signals/data.cjs +288 -0
  395. package/schematics/migrations/form-field-signals/index.cjs +383 -0
  396. package/schematics/migrations/form-field-signals/schema.json +20 -0
  397. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  398. package/schematics/migrations/icon-semantics-and-api/data.cjs +97 -0
  399. package/schematics/migrations/icon-semantics-and-api/index.cjs +65 -0
  400. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  401. package/schematics/migrations/icons-replacement/README.md +5 -5
  402. package/schematics/migrations/icons-replacement/{index.js → index.cjs} +4 -3
  403. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  404. package/schematics/migrations/inline-edit-a11y-and-types/data.cjs +117 -0
  405. package/schematics/migrations/inline-edit-a11y-and-types/index.cjs +98 -0
  406. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  407. package/schematics/migrations/input-number-surface/README.md +140 -0
  408. package/schematics/migrations/input-number-surface/data.cjs +135 -0
  409. package/schematics/migrations/input-number-surface/index.cjs +293 -0
  410. package/schematics/migrations/input-number-surface/schema.json +20 -0
  411. package/schematics/migrations/input-signals/README.md +20 -0
  412. package/schematics/migrations/input-signals/data.cjs +30 -0
  413. package/schematics/migrations/input-signals/index.cjs +18 -0
  414. package/schematics/migrations/input-signals/schema.json +15 -0
  415. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  416. package/schematics/migrations/link-deprecated-path/index.cjs +20 -0
  417. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  418. package/schematics/migrations/link-signals/README.md +71 -0
  419. package/schematics/migrations/link-signals/data.cjs +116 -0
  420. package/schematics/migrations/link-signals/index.cjs +416 -0
  421. package/schematics/migrations/link-signals/schema.json +20 -0
  422. package/schematics/migrations/list-signals/README.md +22 -0
  423. package/schematics/migrations/list-signals/data.cjs +35 -0
  424. package/schematics/migrations/list-signals/index.cjs +18 -0
  425. package/schematics/migrations/list-signals/schema.json +15 -0
  426. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  427. package/schematics/migrations/list-tree-multiple-input/data.cjs +74 -0
  428. package/schematics/migrations/list-tree-multiple-input/index.cjs +222 -0
  429. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  431. package/schematics/migrations/loader-overlay-signals/data.cjs +101 -0
  432. package/schematics/migrations/loader-overlay-signals/index.cjs +698 -0
  433. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  434. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  435. package/schematics/migrations/loader-overlay-size-attr/{index.js → index.cjs} +6 -5
  436. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  437. package/schematics/migrations/locale-configuration-providers/data.cjs +257 -0
  438. package/schematics/migrations/locale-configuration-providers/index.cjs +295 -0
  439. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  440. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  441. package/schematics/migrations/mandatory-peer-dependencies/index.cjs +43 -0
  442. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  443. package/schematics/migrations/markdown-signals/README.md +58 -0
  444. package/schematics/migrations/markdown-signals/data.cjs +79 -0
  445. package/schematics/migrations/markdown-signals/index.cjs +640 -0
  446. package/schematics/migrations/markdown-signals/schema.json +20 -0
  447. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  448. package/schematics/migrations/modal-dialog-semantics/data.cjs +110 -0
  449. package/schematics/migrations/modal-dialog-semantics/index.cjs +59 -0
  450. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  451. package/schematics/migrations/modal-signals/README.md +88 -0
  452. package/schematics/migrations/modal-signals/data.cjs +132 -0
  453. package/schematics/migrations/modal-signals/index.cjs +20 -0
  454. package/schematics/migrations/modal-signals/schema.json +20 -0
  455. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  456. package/schematics/migrations/navbar-signals-and-aria/data.cjs +198 -0
  457. package/schematics/migrations/navbar-signals-and-aria/index.cjs +569 -0
  458. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  459. package/schematics/migrations/new-icons-pack/README.md +10 -10
  460. package/schematics/migrations/new-icons-pack/{index.js → index.cjs} +8 -7
  461. package/schematics/migrations/notification-center-signals/README.md +67 -0
  462. package/schematics/migrations/notification-center-signals/data.cjs +66 -0
  463. package/schematics/migrations/notification-center-signals/index.cjs +62 -0
  464. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  465. package/schematics/migrations/option-signals/README.md +37 -0
  466. package/schematics/migrations/option-signals/data.cjs +86 -0
  467. package/schematics/migrations/option-signals/index.cjs +20 -0
  468. package/schematics/migrations/option-signals/schema.json +20 -0
  469. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  470. package/schematics/migrations/popover-leave-delay/data.cjs +61 -0
  471. package/schematics/migrations/popover-leave-delay/index.cjs +55 -0
  472. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  473. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  474. package/schematics/migrations/progress-bar-percentage-and-aria/data.cjs +76 -0
  475. package/schematics/migrations/progress-bar-percentage-and-aria/index.cjs +59 -0
  476. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  477. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  478. package/schematics/migrations/progress-spinner-signals/data.cjs +83 -0
  479. package/schematics/migrations/progress-spinner-signals/index.cjs +695 -0
  480. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  481. package/schematics/migrations/query-list-signals/README.md +32 -0
  482. package/schematics/migrations/query-list-signals/data.cjs +70 -0
  483. package/schematics/migrations/query-list-signals/index.cjs +18 -0
  484. package/schematics/migrations/query-list-signals/schema.json +15 -0
  485. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  486. package/schematics/migrations/radio-signals-and-aria/data.cjs +163 -0
  487. package/schematics/migrations/radio-signals-and-aria/index.cjs +40 -0
  488. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  489. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  490. package/schematics/migrations/read-state-dwell-handlers/data.cjs +45 -0
  491. package/schematics/migrations/read-state-dwell-handlers/index.cjs +216 -0
  492. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  493. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  494. package/schematics/migrations/scrollbar-deprecated-path/index.cjs +21 -0
  495. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  496. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  497. package/schematics/migrations/select-signal-inputs/data.cjs +99 -0
  498. package/schematics/migrations/select-signal-inputs/index.cjs +58 -0
  499. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  500. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  501. package/schematics/migrations/sidepanel-non-modal-behavior/data.cjs +111 -0
  502. package/schematics/migrations/sidepanel-non-modal-behavior/index.cjs +58 -0
  503. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  504. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  505. package/schematics/migrations/signal-inputs-subclasses/data.cjs +69 -0
  506. package/schematics/migrations/signal-inputs-subclasses/index.cjs +18 -0
  507. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  508. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  509. package/schematics/migrations/split-button-optional-disabled/data.cjs +53 -0
  510. package/schematics/migrations/split-button-optional-disabled/index.cjs +58 -0
  511. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  512. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  513. package/schematics/migrations/splitter-deprecated-path/index.cjs +21 -0
  514. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  515. package/schematics/migrations/state-saving-default/README.md +67 -0
  516. package/schematics/migrations/state-saving-default/data.cjs +88 -0
  517. package/schematics/migrations/state-saving-default/index.cjs +63 -0
  518. package/schematics/migrations/state-saving-default/schema.json +15 -0
  519. package/schematics/migrations/table-cell-content/README.md +55 -0
  520. package/schematics/migrations/table-cell-content/data.cjs +66 -0
  521. package/schematics/migrations/table-cell-content/index.cjs +67 -0
  522. package/schematics/migrations/table-cell-content/schema.json +15 -0
  523. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  524. package/schematics/migrations/tabs-signals-and-aria/data.cjs +139 -0
  525. package/schematics/migrations/tabs-signals-and-aria/index.cjs +66 -0
  526. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  527. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  528. package/schematics/migrations/tag-list-cleaner/data.cjs +42 -0
  529. package/schematics/migrations/tag-list-cleaner/index.cjs +197 -0
  530. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  531. package/schematics/migrations/tag-slots/README.md +41 -0
  532. package/schematics/migrations/tag-slots/index.cjs +191 -0
  533. package/schematics/migrations/tag-slots/schema.json +20 -0
  534. package/schematics/migrations/tags-signals/README.md +85 -0
  535. package/schematics/migrations/tags-signals/data.cjs +103 -0
  536. package/schematics/migrations/tags-signals/index.cjs +674 -0
  537. package/schematics/migrations/tags-signals/schema.json +20 -0
  538. package/schematics/migrations/textarea-signals/README.md +72 -0
  539. package/schematics/migrations/textarea-signals/data.cjs +121 -0
  540. package/schematics/migrations/textarea-signals/index.cjs +380 -0
  541. package/schematics/migrations/textarea-signals/schema.json +20 -0
  542. package/schematics/migrations/time-range-title-for/README.md +164 -0
  543. package/schematics/migrations/time-range-title-for/data.cjs +139 -0
  544. package/schematics/migrations/time-range-title-for/index.cjs +164 -0
  545. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  546. package/schematics/migrations/timepicker-signals/README.md +78 -0
  547. package/schematics/migrations/timepicker-signals/data.cjs +82 -0
  548. package/schematics/migrations/timepicker-signals/index.cjs +710 -0
  549. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  550. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  551. package/schematics/migrations/timezone-grouping-utils/data.cjs +101 -0
  552. package/schematics/migrations/timezone-grouping-utils/index.cjs +65 -0
  553. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  554. package/schematics/migrations/title-encapsulation/README.md +49 -0
  555. package/schematics/migrations/title-encapsulation/data.cjs +69 -0
  556. package/schematics/migrations/title-encapsulation/index.cjs +58 -0
  557. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  558. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  559. package/schematics/migrations/toast-stack-and-defaults/data.cjs +79 -0
  560. package/schematics/migrations/toast-stack-and-defaults/index.cjs +54 -0
  561. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  562. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  563. package/schematics/migrations/tooltip-pointer-events-and-types/data.cjs +89 -0
  564. package/schematics/migrations/tooltip-pointer-events-and-types/index.cjs +61 -0
  565. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  566. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  567. package/schematics/migrations/top-bar-container-selectors/data.cjs +56 -0
  568. package/schematics/migrations/top-bar-container-selectors/index.cjs +85 -0
  569. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  570. package/schematics/migrations/tree-select-signals/README.md +61 -0
  571. package/schematics/migrations/tree-select-signals/data.cjs +106 -0
  572. package/schematics/migrations/tree-select-signals/index.cjs +59 -0
  573. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-signals/README.md +82 -0
  575. package/schematics/migrations/tree-signals/data.cjs +123 -0
  576. package/schematics/migrations/tree-signals/index.cjs +55 -0
  577. package/schematics/migrations/tree-signals/schema.json +15 -0
  578. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  579. package/schematics/migrations/tree-state-saving-default/data.cjs +78 -0
  580. package/schematics/migrations/tree-state-saving-default/index.cjs +61 -0
  581. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  582. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  583. package/schematics/migrations/username-pipe-injection/data.cjs +78 -0
  584. package/schematics/migrations/username-pipe-injection/index.cjs +59 -0
  585. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  586. package/schematics/migrations/v20-upgrade/README.md +36 -16
  587. package/schematics/migrations/v20-upgrade/{data.js → data.cjs} +124 -77
  588. package/schematics/migrations/v20-upgrade/index.cjs +19 -0
  589. package/schematics/migrations/v21-upgrade/README.md +271 -0
  590. package/schematics/migrations/v21-upgrade/data.cjs +1371 -0
  591. package/schematics/migrations/v21-upgrade/index.cjs +95 -0
  592. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  593. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  594. package/schematics/migrations/zoneless-change-detection/data.cjs +29 -0
  595. package/schematics/migrations/zoneless-change-detection/index.cjs +21 -0
  596. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  597. package/schematics/migrations.json +401 -6
  598. package/schematics/ng-add/index.cjs +266 -0
  599. package/schematics/ng-add/schema.json +15 -0
  600. package/schematics/utils/{angular-parsing.js → angular-parsing.cjs} +2 -2
  601. package/schematics/utils/deprecated-path-migration.cjs +62 -0
  602. package/schematics/utils/html-config.cjs +148 -0
  603. package/schematics/utils/{icon-migration.js → icon-migration.cjs} +2 -2
  604. package/schematics/utils/list-item-pattern.cjs +16 -0
  605. package/schematics/utils/{package-config.js → package-config.cjs} +3 -32
  606. package/schematics/utils/project-files.cjs +25 -0
  607. package/schematics/utils/replacement-driver.cjs +337 -0
  608. package/schematics/utils/safe-rule.cjs +23 -0
  609. package/schematics/utils/signal-members-migration.cjs +779 -0
  610. package/schematics/utils/tag-patterns.cjs +21 -0
  611. package/schematics/utils/template-ref-access.cjs +155 -0
  612. package/schematics/utils/{typescript.js → typescript.cjs} +1 -1
  613. package/schematics/utils/warn-only-migration.cjs +52 -0
  614. package/schematics/utils/workspace-styles.cjs +123 -0
  615. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  616. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  617. package/scrollbar/native-scrollbar.scss +68 -0
  618. package/scrollbar/scrollbar-tokens.scss +13 -22
  619. package/scrollbar/scrollbar-track.scss +94 -0
  620. package/scrollbar/scrollbar-viewport.scss +33 -0
  621. package/scrollbar/scrollbar.scss +24 -0
  622. package/search-expandable/search-expandable-tokens.scss +4 -0
  623. package/search-expandable/search-expandable.scss +4 -2
  624. package/select/_select-theme.scss +3 -16
  625. package/select/select.scss +0 -6
  626. package/sidebar/sidebar.scss +20 -0
  627. package/sidepanel/_sidepanel-theme.scss +1 -1
  628. package/sidepanel/sidepanel-tokens.scss +7 -1
  629. package/sidepanel/sidepanel.scss +41 -5
  630. package/skeleton/skeleton-presets.scss +350 -0
  631. package/skeleton/skeleton-tokens.scss +127 -0
  632. package/skeleton/skeleton.scss +53 -45
  633. package/split-button/_split-button-theme.scss +4 -4
  634. package/split-button/split-button.scss +2 -6
  635. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  636. package/splitter/deprecated/splitter.scss +51 -0
  637. package/splitter/splitter-tokens.scss +19 -0
  638. package/splitter/splitter.scss +148 -28
  639. package/table/_table-theme.scss +13 -12
  640. package/table/table-tokens.scss +8 -0
  641. package/table/table.scss +47 -22
  642. package/tabs/_tabs-common.scss +14 -14
  643. package/tabs/_tabs-theme.scss +4 -5
  644. package/tabs/tab-body.scss +49 -1
  645. package/tabs/tab-header.scss +2 -1
  646. package/tags/tag-list.scss +4 -0
  647. package/tags/tag.scss +19 -1
  648. package/time-range/time-range.scss +9 -0
  649. package/timezone/timezone-option.component.scss +4 -7
  650. package/timezone/timezone-select.component.scss +3 -0
  651. package/toast/_toast-theme.scss +1 -4
  652. package/toast/toast-container.component.scss +19 -13
  653. package/toast/toast-tokens.scss +12 -6
  654. package/toast/toast.component.scss +42 -19
  655. package/toggle/_toggle-theme.scss +4 -10
  656. package/toggle/toggle.scss +67 -26
  657. package/tooltip/_tooltip-theme.scss +7 -1
  658. package/tooltip/tooltip-tokens.scss +1 -2
  659. package/tooltip/tooltip.scss +55 -9
  660. package/top-bar/top-bar-tokens.scss +13 -2
  661. package/top-bar/top-bar.scss +24 -19
  662. package/tree/_tree-theme.scss +0 -1
  663. package/tree/toggle.scss +5 -9
  664. package/tree/tree-option.scss +2 -4
  665. package/tree/tree-tokens.scss +2 -1
  666. package/tree/tree.scss +3 -5
  667. package/tree-select/_tree-select-theme.scss +4 -15
  668. package/tree-select/tree-select-tokens.scss +16 -0
  669. package/tree-select/tree-select.scss +0 -6
  670. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  671. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  672. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  673. package/types/koobiq-components-app-switcher.d.ts +406 -0
  674. package/types/koobiq-components-autocomplete.d.ts +443 -0
  675. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  676. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  677. package/types/koobiq-components-button-toggle.d.ts +340 -0
  678. package/types/koobiq-components-button.d.ts +296 -0
  679. package/types/koobiq-components-checkbox.d.ts +172 -0
  680. package/types/koobiq-components-clamped-text.d.ts +184 -0
  681. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +150 -88
  682. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  683. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  684. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  685. package/types/koobiq-components-divider.d.ts +43 -0
  686. package/types/koobiq-components-dl.d.ts +235 -0
  687. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  688. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  689. package/types/koobiq-components-empty-state.d.ts +106 -0
  690. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  691. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  692. package/types/koobiq-components-flag.d.ts +68 -0
  693. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  694. package/types/koobiq-components-icon.d.ts +333 -0
  695. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  696. package/types/koobiq-components-input.d.ts +477 -0
  697. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  698. package/types/koobiq-components-link.d.ts +176 -0
  699. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  700. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  701. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  702. package/types/koobiq-components-modal.d.ts +666 -0
  703. package/types/koobiq-components-navbar.d.ts +569 -0
  704. package/types/koobiq-components-notification-center.d.ts +500 -0
  705. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  706. package/types/koobiq-components-popover.d.ts +468 -0
  707. package/types/koobiq-components-progress-bar.d.ts +67 -0
  708. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  709. package/types/koobiq-components-radio.d.ts +294 -0
  710. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  711. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  712. package/types/koobiq-components-scrollbar.d.ts +154 -0
  713. package/types/koobiq-components-search-expandable.d.ts +164 -0
  714. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  715. package/types/koobiq-components-sidebar.d.ts +152 -0
  716. package/types/koobiq-components-sidepanel.d.ts +436 -0
  717. package/types/koobiq-components-skeleton.d.ts +234 -0
  718. package/types/koobiq-components-split-button.d.ts +65 -0
  719. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  720. package/types/koobiq-components-splitter.d.ts +406 -0
  721. package/types/koobiq-components-table.d.ts +44 -0
  722. package/types/koobiq-components-tabs.d.ts +888 -0
  723. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  724. package/types/koobiq-components-textarea.d.ts +178 -0
  725. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  726. package/types/koobiq-components-timepicker.d.ts +223 -0
  727. package/types/koobiq-components-timezone.d.ts +266 -0
  728. package/types/koobiq-components-title.d.ts +184 -0
  729. package/types/koobiq-components-toast.d.ts +289 -0
  730. package/types/koobiq-components-toggle.d.ts +121 -0
  731. package/types/koobiq-components-tooltip.d.ts +610 -0
  732. package/types/koobiq-components-top-bar.d.ts +61 -0
  733. package/types/koobiq-components-tree-select.d.ts +670 -0
  734. package/types/koobiq-components-tree.d.ts +1339 -0
  735. package/types/koobiq-components-username.d.ts +340 -0
  736. package/username/_username-theme.scss +35 -0
  737. package/username/username.scss +10 -34
  738. package/app-switcher/index.d.ts +0 -276
  739. package/autocomplete/index.d.ts +0 -286
  740. package/button/index.d.ts +0 -153
  741. package/button-toggle/index.d.ts +0 -162
  742. package/checkbox/index.d.ts +0 -163
  743. package/clamped-text/index.d.ts +0 -146
  744. package/core/styles/_tokens.scss +0 -7
  745. package/core/styles/common/_clearfix.scss +0 -13
  746. package/core/styles/common/_popup.scss +0 -6
  747. package/core/styles/functions/_index.scss +0 -3
  748. package/core/styles/functions/_number.scss +0 -60
  749. package/core/styles/functions/_string.scss +0 -18
  750. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  751. package/core/styles/typography/_typography-utils.scss +0 -84
  752. package/divider/index.d.ts +0 -20
  753. package/dl/index.d.ts +0 -45
  754. package/ellipsis-center/index.d.ts +0 -71
  755. package/empty-state/index.d.ts +0 -45
  756. package/flag/index.d.ts +0 -44
  757. package/icon/index.d.ts +0 -200
  758. package/input/index.d.ts +0 -354
  759. package/link/index.d.ts +0 -56
  760. package/loader-overlay/index.d.ts +0 -57
  761. package/modal/index.d.ts +0 -339
  762. package/navbar/index.d.ts +0 -372
  763. package/notification-center/index.d.ts +0 -323
  764. package/popover/index.d.ts +0 -182
  765. package/prebuilt-themes/dark-theme.css +0 -1
  766. package/prebuilt-themes/light-theme.css +0 -1
  767. package/progress-bar/index.d.ts +0 -31
  768. package/radio/index.d.ts +0 -203
  769. package/schematics/migrations/alert-signals/index.js +0 -353
  770. package/schematics/migrations/filter-bar-signals/index.js +0 -319
  771. package/schematics/migrations/v20-upgrade/index.js +0 -225
  772. package/schematics/ng-add/index.js +0 -39
  773. package/search-expandable/index.d.ts +0 -101
  774. package/sidebar/index.d.ts +0 -94
  775. package/sidepanel/index.d.ts +0 -272
  776. package/skeleton/index.d.ts +0 -26
  777. package/split-button/index.d.ts +0 -46
  778. package/table/index.d.ts +0 -25
  779. package/tabs/index.d.ts +0 -677
  780. package/textarea/index.d.ts +0 -138
  781. package/timepicker/index.d.ts +0 -197
  782. package/timezone/index.d.ts +0 -125
  783. package/title/index.d.ts +0 -139
  784. package/toast/index.d.ts +0 -178
  785. package/toggle/index.d.ts +0 -104
  786. package/tooltip/index.d.ts +0 -335
  787. package/top-bar/index.d.ts +0 -33
  788. package/tree/index.d.ts +0 -802
  789. package/tree-select/index.d.ts +0 -475
  790. package/username/index.d.ts +0 -194
  791. /package/schematics/migrations/css-selectors/{data.js → data.cjs} +0 -0
  792. /package/schematics/migrations/deprecated-icons/{data.js → data.cjs} +0 -0
  793. /package/schematics/migrations/icons-replacement/{data.js → data.cjs} +0 -0
  794. /package/schematics/migrations/new-icons-pack/{data.js → data.cjs} +0 -0
  795. /package/schematics/utils/{ast.js → ast.cjs} +0 -0
  796. /package/schematics/utils/{messages.js → messages.cjs} +0 -0
  797. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  798. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,1339 @@
1
+ import { SelectionModel, DataSource, CollectionViewer, SelectionChange } from '@angular/cdk/collections';
2
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
3
+ import * as _angular_core from '@angular/core';
4
+ import { TemplateRef, ViewContainerRef, OnDestroy, ElementRef, AfterContentChecked, AfterContentInit, OnInit, IterableDiffers, ChangeDetectorRef, TrackByFunction, Signal, IterableDiffer, DestroyRef, AfterViewInit, InjectionToken, QueryList, DoCheck, EventEmitter, Provider } from '@angular/core';
5
+ import * as _koobiq_components_tree from '@koobiq/components/tree';
6
+ import * as i1 from '@koobiq/components/core';
7
+ import { IFocusableOption, KbqPseudoCheckboxState, KbqTitleTextRef, KbqPseudoCheckbox, KbqOptionActionComponent, FocusKeyManager, KbqMultipleInput, MultipleMode } from '@koobiq/components/core';
8
+ import { FocusOrigin, FocusMonitor } from '@angular/cdk/a11y';
9
+ import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
10
+ import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
11
+ import { ControlValueAccessor } from '@angular/forms';
12
+ import * as i2 from '@koobiq/components/icon';
13
+
14
+ /** Options of `FlatTreeControl` and `NestedTreeControl`. */
15
+ interface KbqTreeControlOptions<T, K> {
16
+ /** Initial value of the control's `trackBy`. */
17
+ trackBy?: (dataNode: T) => K;
18
+ }
19
+ /**
20
+ * Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree.
21
+ * The Tree will use this TreeControl to expand/collapse a node.
22
+ * User can also use it outside the `<kbq-tree>` to control the expansion status of the tree.
23
+ */
24
+ interface TreeControl<T, K = T> {
25
+ /** The saved tree nodes data for `expandAll` action. */
26
+ dataNodes: T[];
27
+ /** The expansion model: the keys of the expanded data nodes, which are the nodes themselves by default. */
28
+ expansionModel: SelectionModel<K>;
29
+ filterModel: SelectionModel<T>;
30
+ /** Gives the key a data node is expanded by. Without it the node object is its own key. */
31
+ trackBy?: (dataNode: T) => K;
32
+ filterValue: BehaviorSubject<T[] | string | null>;
33
+ /** Get depth of a given data node, return the level number. This is for flat tree node. */
34
+ getLevel(dataNode: T): number;
35
+ /**
36
+ * Whether the data node is expandable. Returns true if expandable.
37
+ * This is for flat tree node.
38
+ */
39
+ isExpandable(dataNode: T): boolean;
40
+ /** Gets a stream that emits whenever the given data node's children change. */
41
+ getChildren(dataNode: T): Observable<T[]>;
42
+ /** Whether the data node is expanded or collapsed. Return true if it's expanded. */
43
+ isExpanded(dataNode: T): boolean;
44
+ /** Get all descendants of a data node */
45
+ getDescendants(dataNode: T): any[];
46
+ /** Expand or collapse data node */
47
+ toggle(dataNode: T): void;
48
+ /** Expand one data node */
49
+ expand(dataNode: T): void;
50
+ /** Collapse one data node */
51
+ collapse(dataNode: T): void;
52
+ /** Expand all the dataNodes in the tree */
53
+ expandAll(): void;
54
+ /** Collapse all the dataNodes in the tree */
55
+ collapseAll(): void;
56
+ /** Toggle a data node by expand/collapse it and all its descendants */
57
+ toggleDescendants(dataNode: T): void;
58
+ /** Expand a data node and all its descendants */
59
+ expandDescendants(dataNode: T): void;
60
+ /** Collapse a data node and all its descendants */
61
+ collapseDescendants(dataNode: T): void;
62
+ }
63
+
64
+ /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
65
+ declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T, K> {
66
+ dataNodes: T[];
67
+ /** A selection model with multi-selection to track expansion status: it holds the key of every expanded node. */
68
+ expansionModel: SelectionModel<K>;
69
+ /**
70
+ * Gives the key a data node is expanded by. Without it the node object is its own key, so a node
71
+ * rebuilt as a new object — as a flattener does whenever its data changes — comes back collapsed.
72
+ *
73
+ * Set it before anything is expanded: keys stored under another function no longer match.
74
+ */
75
+ trackBy?: (dataNode: T) => K;
76
+ filterModel: SelectionModel<T>;
77
+ filterValue: BehaviorSubject<string | T[] | null>;
78
+ /** Get depth of a given data node, return the level number. This is for flat tree node. */
79
+ getLevel: (dataNode: T) => number;
80
+ /**
81
+ * Whether the data node is expandable. Returns true if expandable.
82
+ * This is for flat tree node.
83
+ */
84
+ isExpandable: (dataNode: T) => boolean;
85
+ /** Gets a stream that emits whenever the given data node's children change. */
86
+ getChildren: (dataNode: T) => Observable<T[]>;
87
+ /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */
88
+ abstract getDescendants(dataNode: T): T[];
89
+ /** Expands all data nodes in the tree. */
90
+ abstract expandAll(): void;
91
+ /** Toggles one single data node's expanded/collapsed state. */
92
+ toggle(dataNode: T): void;
93
+ /** Expands one single data node. */
94
+ expand(dataNode: T): void;
95
+ /** Collapses one single data node. */
96
+ collapse(dataNode: T): void;
97
+ /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */
98
+ isExpanded(dataNode: T): boolean;
99
+ /** Toggles a subtree rooted at `node` recursively. */
100
+ toggleDescendants(dataNode: T): void;
101
+ /** Collapse all dataNodes in the tree. */
102
+ collapseAll(): void;
103
+ /** Expands a subtree rooted at given data node recursively. */
104
+ expandDescendants(dataNode: T): void;
105
+ /** Collapses a subtree rooted at given data node recursively. */
106
+ collapseDescendants(dataNode: T): void;
107
+ /** The key `expansionModel` holds for a data node. */
108
+ protected expansionKey(dataNode: T): K;
109
+ }
110
+
111
+ declare const kbqTreeSelectAllValue = "selectAll";
112
+ interface FlatTreeControlFilter<T> {
113
+ result: T[];
114
+ handle(value: string | null, prevFilter?: FlatTreeControlFilter<T> | null): T[];
115
+ }
116
+ /**
117
+ * Default first stage of the filter pipeline: keeps the nodes whose view value matches the query.
118
+ *
119
+ * @docs-private
120
+ */
121
+ declare class FilterByViewValue<T, K = T> implements FlatTreeControlFilter<T> {
122
+ private control;
123
+ result: T[];
124
+ constructor(control: FlatTreeControl<T, K>);
125
+ handle(value: string | null): T[];
126
+ }
127
+ /**
128
+ * Default last stage of the filter pipeline: re-adds the ancestors of every matched node so the
129
+ * matches stay reachable in the rendered hierarchy.
130
+ *
131
+ * @docs-private
132
+ */
133
+ declare class FilterParentsForNodes<T, K = T> implements FlatTreeControlFilter<T> {
134
+ private control;
135
+ result: T[];
136
+ constructor(control: FlatTreeControl<T, K>);
137
+ handle(_: any, prevFilter: FlatTreeControlFilter<T>): T[];
138
+ }
139
+ declare class FilterByValues<T, K = T> implements FlatTreeControlFilter<T> {
140
+ private control;
141
+ result: T[];
142
+ private values;
143
+ constructor(control: FlatTreeControl<T, K>);
144
+ handle(_: any, prevFilter?: FlatTreeControlFilter<T>): T[];
145
+ setValues: (values: string[]) => void;
146
+ getValues(): string[];
147
+ }
148
+
149
+ declare function defaultCompareValues(firstValue: string, secondValue: string): boolean;
150
+ declare function defaultCompareViewValues(firstViewValue: string, secondViewValue: string): boolean;
151
+ /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
152
+ declare class FlatTreeControl<T, K = T> extends BaseTreeControl<T, K> {
153
+ getLevel: (dataNode: T) => number;
154
+ isExpandable: (dataNode: T) => boolean;
155
+ /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */
156
+ getValue: (dataNode: T) => any;
157
+ /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */
158
+ getViewValue: (dataNode: T) => string;
159
+ /** compareValues will be used to comparing values. */
160
+ compareValues: (firstValue: any, secondValue: any) => boolean;
161
+ /** compareValues will be used to comparing values. */
162
+ compareViewValues: (firstViewValue: any, secondViewValue: any) => boolean;
163
+ /** isDisabled will be used to determine if the node is disabled. */
164
+ isDisabled: (dataNode: T) => boolean;
165
+ expandedItemsBeforeFiltration: K[];
166
+ private filters;
167
+ private readonly nodeIndexes;
168
+ /** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */
169
+ constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean,
170
+ /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */
171
+ getValue: (dataNode: T) => any,
172
+ /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */
173
+ getViewValue: (dataNode: T) => string,
174
+ /** compareValues will be used to comparing values. */
175
+ compareValues?: (firstValue: any, secondValue: any) => boolean,
176
+ /** compareValues will be used to comparing values. */
177
+ compareViewValues?: (firstViewValue: any, secondViewValue: any) => boolean,
178
+ /** isDisabled will be used to determine if the node is disabled. */
179
+ isDisabled?: (dataNode: T) => boolean,
180
+ /** Further options: the `trackBy` the nodes are expanded by. */
181
+ options?: KbqTreeControlOptions<T, K>);
182
+ getFilters(): FlatTreeControlFilter<T>[];
183
+ setFilters(...filters: FlatTreeControlFilter<T>[]): void;
184
+ /**
185
+ * Gets a list of the data node's subtree of descendent data nodes.
186
+ *
187
+ * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
188
+ * with correct levels.
189
+ */
190
+ getDescendants(dataNode: T): T[];
191
+ /**
192
+ * Expands all data nodes in the tree.
193
+ *
194
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
195
+ * data nodes of the tree.
196
+ */
197
+ expandAll(): void;
198
+ /**
199
+ * Ancestors of a data node, outermost first.
200
+ *
201
+ * Derived from `dataNodes` rather than from a `parent` back-reference: the flattened nodes are in
202
+ * depth-first order, so scanning backwards from the node, the first node of a smaller level is its
203
+ * parent, and repeating with that level yields the whole chain. A data node whose shape carries no
204
+ * `parent` therefore resolves just as well as one that does.
205
+ *
206
+ * @param result Collector the ancestors are prepended to. Provided so callers can accumulate into
207
+ * an existing array; a fresh one is used when omitted.
208
+ */
209
+ getParents(node: T, result?: T[]): T[];
210
+ hasValue(value: string): T | undefined;
211
+ filterNodes(value?: string | null): void;
212
+ private updateFilterValue;
213
+ private saveExpansionState;
214
+ private restoreExpansionState;
215
+ /**
216
+ * Position of the node in `dataNodes`, constant-time while the index matches the array. With `trackBy` a node
217
+ * rebuilt as a new object since is found by its key, as the expansion methods accept it too.
218
+ */
219
+ private indexOfNode;
220
+ }
221
+
222
+ /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
223
+ declare class NestedTreeControl<T, K = T> extends BaseTreeControl<T, K> {
224
+ getChildren: (dataNode: T) => Observable<T[]>;
225
+ /**
226
+ * Construct with nested tree function getChildren.
227
+ *
228
+ * @param getChildren Must emit **synchronously** (e.g. `of(children)` or a `BehaviorSubject`).
229
+ * `getDescendants` walks the tree with `take(1)` and returns as soon as the recursion unwinds, so
230
+ * an asynchronous source yields an incomplete — usually empty — descendant list.
231
+ */
232
+ constructor(getChildren: (dataNode: T) => Observable<T[]>, options?: KbqTreeControlOptions<T, K>);
233
+ /**
234
+ * Expands all dataNodes in the tree.
235
+ *
236
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
237
+ * data nodes of the tree.
238
+ */
239
+ expandAll(): void;
240
+ /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
241
+ getDescendants(dataNode: T): T[];
242
+ /** A helper function to get descendants recursively. */
243
+ private _getDescendants;
244
+ }
245
+
246
+ /**
247
+ * Tree flattener to convert a normal type of node to node with children & level information.
248
+ * Transform nested nodes of type `T` to flattened nodes of type `F`.
249
+ *
250
+ * For example, the input data of type `T` is nested, and contains its children data:
251
+ *
252
+ * ```ts
253
+ * SomeNode: {
254
+ * key: 'Fruits',
255
+ * children: [
256
+ * NodeOne: {
257
+ * key: 'Apple'
258
+ * },
259
+ * NodeTwo: {
260
+ * key: 'Pear'
261
+ * }
262
+ * ]
263
+ * }
264
+ * ```
265
+ *
266
+ * After flattener flatten the tree, the structure will become
267
+ *
268
+ * ```ts
269
+ * SomeNode: {
270
+ * key: 'Fruits',
271
+ * expandable: true,
272
+ * level: 1
273
+ * },
274
+ * NodeOne: {
275
+ * key: 'Apple',
276
+ * expandable: false,
277
+ * level: 2
278
+ * },
279
+ * NodeTwo: {
280
+ * key: 'Pear',
281
+ * expandable: false,
282
+ * level: 2
283
+ * }
284
+ * ```
285
+ *
286
+ * and the output flattened type is `F` with additional information.
287
+ */
288
+ declare class KbqTreeFlattener<T, F> {
289
+ transformFunction: (node: T, level: number, parent: F | null) => F;
290
+ getLevel: (node: F) => number;
291
+ isExpandable: (node: F) => boolean;
292
+ getChildren: (node: T) => Observable<T[]> | T[] | undefined | null;
293
+ constructor(transformFunction: (node: T, level: number, parent: F | null) => F, getLevel: (node: F) => number, isExpandable: (node: F) => boolean, getChildren: (node: T) => Observable<T[]> | T[] | undefined | null);
294
+ /** @docs-private */
295
+ flattenNode(node: T, level: number, resultNodes: F[], parent: F | null): F[];
296
+ /** @docs-private */
297
+ flattenChildren(children: T[], level: number, resultNodes: F[], parent: F | null): void;
298
+ /**
299
+ * Flatten a list of node type T to flattened version of node F.
300
+ * Please note that type T may be nested, and the length of `structuredData` may be different
301
+ * from that of returned list `F[]`.
302
+ */
303
+ flattenNodes(structuredData: T[]): F[];
304
+ /**
305
+ * Expand flattened node with current expansion status.
306
+ * The returned list may have different length.
307
+ *
308
+ * Reads only `isExpanded` of the tree control, so it takes a control of any key type.
309
+ */
310
+ expandFlattenedNodes(nodes: F[], treeControl: Pick<TreeControl<F>, 'isExpanded'>): F[];
311
+ }
312
+ /**
313
+ * Data source for flat tree.
314
+ * The data source need to handle expansion/collapsion of the tree node and change the data feed
315
+ * to `KbqTree`.
316
+ * The nested tree nodes of type `T` are flattened through `KbqTreeFlattener`, and converted
317
+ * to type `F` for `KbqTree` to consume.
318
+ */
319
+ declare class KbqTreeFlatDataSource<T, F, K = F> extends DataSource<F> {
320
+ private treeControl;
321
+ private treeFlattener;
322
+ flattenedData: BehaviorSubject<F[]>;
323
+ expandedData: BehaviorSubject<F[]>;
324
+ filteredData: BehaviorSubject<F[]>;
325
+ get data(): T[];
326
+ set data(value: T[]);
327
+ private readonly _data;
328
+ constructor(treeControl: FlatTreeControl<F, K>, treeFlattener: KbqTreeFlattener<T, F>, initialData?: T[]);
329
+ connect(collectionViewer: CollectionViewer): Observable<F[]>;
330
+ filterHandler(): F[];
331
+ expansionHandler(_change: SelectionChange<K>): F[];
332
+ disconnect(): void;
333
+ }
334
+
335
+ /**
336
+ * Data source for nested tree.
337
+ *
338
+ * The data source for nested tree doesn't have to consider node flattener, or the way to expand
339
+ * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
340
+ */
341
+ declare class KbqTreeNestedDataSource<T> extends DataSource<T> {
342
+ get data(): T[];
343
+ set data(value: T[]);
344
+ private _data;
345
+ connect(collectionViewer: CollectionViewer): Observable<T[]>;
346
+ disconnect(): void;
347
+ }
348
+
349
+ /** Context provided to the tree node component. */
350
+ declare class KbqTreeNodeOutletContext<T> {
351
+ /** Data for the node. */
352
+ $implicit: T;
353
+ /** Depth of the node. */
354
+ level: number;
355
+ /** Index location of the node. */
356
+ index?: number;
357
+ /** Length of the number of total dataNodes. */
358
+ count?: number;
359
+ constructor(data: T);
360
+ }
361
+ /**
362
+ * Data node definition for the KbqTree.
363
+ * Captures the node's template and a when predicate that describes when this node should be used.
364
+ */
365
+ declare class KbqTreeNodeDef<T> {
366
+ template: TemplateRef<any>;
367
+ readonly data: _angular_core.InputSignal<T>;
368
+ /**
369
+ * Function that should return true if this node template should be used for the provided node
370
+ * data and index. If left undefined, this node will be considered the default node template to
371
+ * use when no other when functions return true for the data.
372
+ * For every node, there must be at least one when function that passes or an undefined to
373
+ * default.
374
+ */
375
+ when: (index: number, nodeData: T) => boolean;
376
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeDef<any>, never>;
377
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeDef<any>, "[kbqTreeNodeDef]", never, { "when": { "alias": "kbqTreeNodeDefWhen"; "required": false; }; "data": { "alias": "kbqTreeNode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
378
+ }
379
+
380
+ declare class KbqTreeNodeOutlet {
381
+ viewContainer: ViewContainerRef;
382
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeOutlet, never>;
383
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeOutlet, "[kbqTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
384
+ }
385
+
386
+ /** The persisted state of a tree — the values of the nodes that were expanded. */
387
+ type KbqTreeState = string[];
388
+ /**
389
+ * Rendering core of the tree.
390
+ *
391
+ * Originally forked from `@angular/cdk/tree` and maintained independently since: the node/outlet
392
+ * contract, the option-based selection model and the filtering pipeline have all diverged, so
393
+ * `@angular/cdk/tree` is deliberately not a dependency of this package and upstream fixes have to be
394
+ * ported by hand.
395
+ *
396
+ * `C` narrows the tree control a concrete tree accepts, and so the type its `treeControl` binding is checked against.
397
+ * The bound leaves out `expansionModel` and `trackBy`, the members typed by the control's key, so that it admits
398
+ * a control of any key type: the model makes a control invariant in that type.
399
+ */
400
+ declare class KbqTreeBase<T, C extends Omit<TreeControl<T>, 'expansionModel' | 'trackBy'> = TreeControl<T>> implements AfterContentChecked, AfterContentInit, CollectionViewer, OnDestroy, OnInit {
401
+ protected differs: IterableDiffers;
402
+ protected changeDetectorRef: ChangeDetectorRef;
403
+ /**
404
+ * Persistence of the expanded state, applied as a host directive by the concrete tree components.
405
+ * Optional because `KbqTreeBase` is exported: a tree without the directive persists nothing.
406
+ */
407
+ private readonly stateSaving;
408
+ /** @docs-private */
409
+ readonly treeControlInput: _angular_core.InputSignal<C>;
410
+ /** Controls the expanded state and holds the data nodes of the tree. */
411
+ get treeControl(): C;
412
+ /** {@link treeControl} as state saving reads it: by node value, which only a `FlatTreeControl` has. */
413
+ private get flatTreeControl();
414
+ /**
415
+ * Tracking function that will be used to check the differences in data changes. Used similarly
416
+ * to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data
417
+ * relative to the function to know if a node should be added/removed/moved.
418
+ * Accepts a function that takes two parameters, `index` and `item`.
419
+ *
420
+ * Views are reused for nodes the function reports as unchanged, which a data source that rebuilds
421
+ * its node objects on every emission — a flattener among them — otherwise cannot get.
422
+ *
423
+ * Defaults to the `trackBy` of the tree control, read when the tree initializes and when the data source changes.
424
+ */
425
+ readonly trackBy: _angular_core.InputSignal<TrackByFunction<T>>;
426
+ private readonly nodeOutletQuery;
427
+ /** Outlet within the tree's template where the data nodes are inserted. */
428
+ get nodeOutlet(): KbqTreeNodeOutlet;
429
+ /** The tree node template for the tree */
430
+ readonly nodeDefs: Signal<readonly KbqTreeNodeDef<T>[]>;
431
+ /**
432
+ * Stream containing the latest information on what rows are being displayed on screen.
433
+ * Can be used by the data source to as a heuristic of what data should be provided.
434
+ *
435
+ * The tree renders every expanded node eagerly, so the window is the whole data set; a data source
436
+ * cannot use it to page or virtualize. Windowing would have to emit a real range from a scroll
437
+ * listener here first.
438
+ */
439
+ viewChange: BehaviorSubject<{
440
+ start: number;
441
+ end: number;
442
+ }>;
443
+ /** Differ used to find the changes in the data provided by the data source. */
444
+ protected dataDiffer: IterableDiffer<T>;
445
+ /** Stores the node definition that does not have a when predicate. */
446
+ private defaultNodeDef;
447
+ /** Data subscription */
448
+ private dataSubscription;
449
+ /** Level of nodes */
450
+ private levels;
451
+ /** Most recently constructed node of this tree, see `registerNode`. */
452
+ private recentNode;
453
+ /** Node rendered for a given outlet context, so a reused view can be handed its new data. */
454
+ private readonly nodesByContext;
455
+ /**
456
+ * Values from the persisted state whose node has not appeared in `treeControl.dataNodes` yet —
457
+ * applied as the nodes show up, and dropped the first time each node is seen.
458
+ */
459
+ private pendingValues;
460
+ /** The `dataNodes` the last restore ran against, so an unchanged list is not walked again. */
461
+ private lastRestoredDataNodes;
462
+ /**
463
+ * Whether the persisted state has been read. `KbqTreeSelect` calls `ngAfterContentInit()` by hand on
464
+ * the tree it projects into its panel, and a second read would resurrect values the user dismissed.
465
+ */
466
+ private hasRead;
467
+ /** Whether the dev-mode warnings below have already been logged, so each is logged once. */
468
+ private warnedAboutTreeControl;
469
+ private warnedAboutValues;
470
+ /** @docs-private */
471
+ readonly dataSourceInput: _angular_core.InputSignal<T[] | DataSource<T> | Observable<T[]> | null | undefined>;
472
+ /**
473
+ * Provides a stream containing the latest data array to render. Influenced by the tree's
474
+ * stream of view window (what dataNodes are currently on screen).
475
+ * Data source can be an observable of data array, or a data array to render.
476
+ */
477
+ get dataSource(): DataSource<T> | Observable<T[]> | T[] | null;
478
+ private _dataSource;
479
+ constructor();
480
+ protected readonly destroyRef: DestroyRef;
481
+ /** Whether `ngAfterContentChecked` has run, i.e. the node definitions the first render needs are resolved. */
482
+ private contentChecked;
483
+ ngOnInit(): void;
484
+ ngAfterContentInit(): void;
485
+ /** Reads the persisted expansion and applies it. Runs while initializing, and again on a key change. */
486
+ private restoreState;
487
+ ngOnDestroy(): void;
488
+ ngAfterContentChecked(): void;
489
+ /**
490
+ * Persists the values of the currently expanded nodes.
491
+ *
492
+ * Called for every expansion and collapse a user performs. Expansion driven by the application —
493
+ * `treeControl.expandAll()`, or writing to `expansionModel` — is not persisted; call this to record it.
494
+ *
495
+ * A no-op while a filter is active: what is expanded then is the result set, not a chosen state.
496
+ */
497
+ saveState(): void;
498
+ /**
499
+ * Removes the state persisted for this tree.
500
+ *
501
+ * Persistence itself stays on — the next expansion is written again.
502
+ */
503
+ clearSavedState(): void;
504
+ /**
505
+ * Whether state is currently persisted for this tree — restored on init, or written since.
506
+ * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.
507
+ */
508
+ get hasSavedState(): boolean;
509
+ /** Check for changes made in the data and render each change (node added/removed/moved). */
510
+ renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer?: IterableDiffer<T>, viewContainer?: ViewContainerRef, parentData?: T): void;
511
+ /**
512
+ * Applies the data changes to the view container without running change detection, and reports
513
+ * whether anything moved. Split out of `renderNodeChanges` so a subclass can update the state its
514
+ * own template reads before the single change-detection pass, instead of running a second one.
515
+ *
516
+ * @docs-private
517
+ */
518
+ protected applyNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer: IterableDiffer<T>, viewContainer: ViewContainerRef, parentData?: T): boolean;
519
+ private refreshNodeData;
520
+ /**
521
+ * Finds the matching node definition that should be used for this node data. If there is only
522
+ * one node definition, it is returned. Otherwise, find the node definition that has a when
523
+ * predicate that returns true with the data. If none return true, return the default node
524
+ * definition.
525
+ */
526
+ getNodeDef(data: T, i: number): KbqTreeNodeDef<T>;
527
+ /**
528
+ * Create the embedded view for the data node template and place it in the correct index location
529
+ * within the data node view container.
530
+ */
531
+ insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T): void;
532
+ /**
533
+ * Called by a `KbqTreeNode` while it is being constructed, so `insertNode` can hand it its data.
534
+ *
535
+ * @docs-private
536
+ */
537
+ registerNode(node: KbqTreeNode<T>): void;
538
+ /** Whether this tree reads and writes its expanded state at all. */
539
+ private get persists();
540
+ /**
541
+ * Expands every pending value whose node is present, and stops tracking it.
542
+ *
543
+ * Idempotent, and safe to call on every render: the pending set only shrinks, so a tree that has
544
+ * restored everything does no work at all.
545
+ */
546
+ private restorePending;
547
+ /** The values of the nodes that are currently expanded, plus the ones still waiting to appear. */
548
+ private expandedValues;
549
+ /** Set up a subscription for the data provided by the data source. */
550
+ private observeRenderChanges;
551
+ /**
552
+ * Switch to the provided data source by resetting the data and unsubscribing from the current
553
+ * render change subscription if one exists. If the data source is null, interpret this by
554
+ * clearing the node outlet. Otherwise start listening for new data.
555
+ */
556
+ private switchDataSource;
557
+ private createDataDiffer;
558
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeBase<any, any>, never>;
559
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeBase<any, any>, never, never, { "treeControlInput": { "alias": "treeControl"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "dataSourceInput": { "alias": "dataSource"; "required": false; "isSignal": true; }; }, {}, ["nodeDefs"], never, true, never>;
560
+ }
561
+ declare class KbqTreeNode<T> implements IFocusableOption, OnDestroy {
562
+ protected elementRef: ElementRef<HTMLElement>;
563
+ tree: KbqTreeBase<T, TreeControl<T, T>>;
564
+ /**
565
+ * The most recently created `KbqTreeNode`, across every tree on the page.
566
+ *
567
+ * @deprecated Kept for backwards compatibility only — the tree hands a node its data through
568
+ * `KbqTreeBase.registerNode`, which is scoped to the tree that owns the node. Will be removed in 22.0.0.
569
+ */
570
+ static mostRecentTreeNode: KbqTreeNode<any> | null;
571
+ protected destroyed: Subject<void>;
572
+ /**
573
+ * Emits after the tree reused this node's view for a different data object, so a directive on the
574
+ * same element can re-derive what it computed from the previous one.
575
+ *
576
+ * @docs-private
577
+ */
578
+ readonly refreshed: Subject<void>;
579
+ get data(): T;
580
+ set data(value: T);
581
+ private _data;
582
+ get isExpanded(): boolean;
583
+ get level(): number;
584
+ constructor();
585
+ ngOnDestroy(): void;
586
+ /**
587
+ * Called by the tree once `data` has been replaced on a reused view. State a subclass derived from
588
+ * the previous node — its value, its level — is stale at this point and has to be recomputed.
589
+ *
590
+ * @docs-private
591
+ */
592
+ refresh(): void;
593
+ focus(): void;
594
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNode<any>, never>;
595
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNode<any>, "kbq-tree-node", ["kbqTreeNode"], {}, {}, never, never, true, never>;
596
+ }
597
+
598
+ declare class KbqTreeNodePadding<T> implements AfterViewInit {
599
+ protected treeNode: KbqTreeNode<T>;
600
+ protected tree: KbqTreeBase<T, _koobiq_components_tree.TreeControl<T, T>>;
601
+ private renderer;
602
+ private element;
603
+ private option;
604
+ private dir;
605
+ get level(): number;
606
+ set level(value: number);
607
+ private _level;
608
+ /** Indentation added per nesting level. Accepts a bare number (px) or a value with CSS units. */
609
+ readonly indent: _angular_core.InputSignal<string | number>;
610
+ private readonly parsedIndent;
611
+ get leftPadding(): number;
612
+ get leftPaddingForFirstLevel(): number;
613
+ /** CSS units used for the indentation value. */
614
+ get indentUnits(): string;
615
+ withIcon: boolean;
616
+ /**
617
+ * Horizontal room a toggle takes up in a row: its own 16px box plus the option's 8px `gap`. A node
618
+ * without a toggle reserves the same amount so its content lines up with a sibling that has one —
619
+ * which is why widening the toggle itself pushes every branch row out of line.
620
+ */
621
+ iconWidth: number;
622
+ constructor();
623
+ ngAfterViewInit(): void;
624
+ paddingIndent(): string | null;
625
+ /**
626
+ * This has been extracted to a util because of TS 4 and VE.
627
+ * View Engine doesn't support property rename inheritance.
628
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
629
+ */
630
+ private setLevelInput;
631
+ private setPadding;
632
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodePadding<any>, never>;
633
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodePadding<any>, "[kbqTreeNodePadding]", ["kbqTreeNodePadding"], { "indent": { "alias": "kbqTreeNodePaddingIndent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
634
+ }
635
+
636
+ /** @docs-private */
637
+ declare class KbqTreeNodeToggleBaseDirective<T> {
638
+ private tree;
639
+ private treeNode;
640
+ readonly node: _angular_core.InputSignal<T>;
641
+ /** Whether toggling expands or collapses the whole subtree instead of the node alone. */
642
+ readonly recursive: _angular_core.InputSignalWithTransform<boolean, unknown>;
643
+ /**
644
+ * Backing input of `disabled`. Bind through the `disabled` attribute; read the `disabled` getter,
645
+ * which also reports the toggle disabled while a filter is active.
646
+ *
647
+ * @docs-private
648
+ */
649
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
650
+ /** Set while a filter is active: filtering already decides what is expanded. */
651
+ private readonly filterDisabled;
652
+ private readonly disabledState;
653
+ get disabled(): boolean;
654
+ get iconState(): boolean;
655
+ toggle(event: Event): void;
656
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleBaseDirective<any>, never>;
657
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeToggleBaseDirective<any>, never, never, { "node": { "alias": "node"; "required": false; "isSignal": true; }; "recursive": { "alias": "kbqTreeNodeToggleRecursive"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
658
+ }
659
+ declare class KbqTreeNodeToggleComponent<T> extends KbqTreeNodeToggleBaseDirective<T> {
660
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleComponent<any>, never>;
661
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeNodeToggleComponent<any>, "kbq-tree-node-toggle", ["kbqTreeNodeToggle"], {}, {}, never, ["*"], true, never>;
662
+ }
663
+ declare class KbqTreeNodeToggleDirective<T> extends KbqTreeNodeToggleBaseDirective<T> {
664
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleDirective<any>, never>;
665
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeToggleDirective<any>, "[kbq-tree-node-toggle], [kbqTreeNodeToggle]", ["kbqTreeNodeToggle"], {}, {}, never, never, true, never>;
666
+ }
667
+
668
+ declare class KbqTree extends KbqTreeBase<any> {
669
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTree, never>;
670
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTree, "kbq-tree", ["kbqTree"], {}, {}, never, never, true, [{ directive: typeof i1.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }]>;
671
+ }
672
+
673
+ interface KbqTreeOptionEvent {
674
+ option: KbqTreeOption;
675
+ }
676
+ /**
677
+ * The part of the tree an option talks to.
678
+ *
679
+ * Declared as an interface rather than as `KbqTreeSelection` so the token stays free of a circular
680
+ * import, and so anything embedding options only has to provide these members.
681
+ */
682
+ interface KbqTreeOptionParent<T = any> {
683
+ /** Whether the whole tree is disabled. */
684
+ disabled: boolean;
685
+ /** Whether more than one option can be selected at a time. */
686
+ multiple: boolean;
687
+ /** Whether the options render a checkbox. */
688
+ showCheckbox: boolean;
689
+ /** Whether the tree is rendered inside a select panel, which makes hovering an option focus it. */
690
+ inSelect: boolean;
691
+ /** Whether an option keeps focus while the tree loses it, as a select with a search field needs. */
692
+ optionShouldHoldFocusOnBlur: boolean;
693
+ /** State of the tree-level "select all" checkbox. */
694
+ selectAllState: KbqPseudoCheckboxState;
695
+ treeControl: FlatTreeControl<T>;
696
+ selectionModel: SelectionModel<T>;
697
+ unorderedOptions: QueryList<KbqTreeOption<T>>;
698
+ setSelectedOptionsByClick(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
699
+ /** Called when an option takes focus. */
700
+ reportOptionFocus?(event: KbqTreeOptionEvent): void;
701
+ /** Called when an option loses focus. */
702
+ reportOptionBlur?(event: KbqTreeOptionEvent): void;
703
+ }
704
+ /** Injection token used to provide the parent component to options. */
705
+ declare const KBQ_TREE_OPTION_PARENT_COMPONENT: InjectionToken<KbqTreeOptionParent>;
706
+ /** Represents a change event for a tree option. */
707
+ declare class KbqTreeOptionChange {
708
+ /** The tree option that has been modified or selected. */
709
+ source: KbqTreeOption;
710
+ constructor(
711
+ /** The tree option that has been modified or selected. */
712
+ source: KbqTreeOption);
713
+ }
714
+ declare class KbqTreeOption<T = any> extends KbqTreeNode<T> implements OnInit, AfterContentInit, DoCheck, KbqTitleTextRef {
715
+ private changeDetectorRef;
716
+ private readonly environmentInjector;
717
+ private readonly destroyRef;
718
+ private readonly ngZone;
719
+ private readonly renderer;
720
+ tree: KbqTreeOptionParent<T> & KbqTreeBase<T>;
721
+ private readonly focusEvents;
722
+ private readonly blurEvents;
723
+ /** Emits when the option takes focus. */
724
+ readonly onFocus: Observable<KbqTreeOptionEvent>;
725
+ /** Emits when the option loses focus. */
726
+ readonly onBlur: Observable<KbqTreeOptionEvent>;
727
+ preventBlur: boolean;
728
+ private readonly titleContainer;
729
+ /** Container of the option text, measured by `kbq-title`. */
730
+ get parentTextElement(): ElementRef<HTMLElement> | undefined;
731
+ get textElement(): ElementRef<HTMLElement> | undefined;
732
+ readonly toggleElementDirective: _angular_core.Signal<KbqTreeNodeToggleDirective<any> | undefined>;
733
+ readonly toggleElementComponent: _angular_core.Signal<KbqTreeNodeToggleComponent<any> | undefined>;
734
+ readonly pseudoCheckbox: _angular_core.Signal<KbqPseudoCheckbox | undefined>;
735
+ readonly actionButton: _angular_core.Signal<KbqOptionActionComponent | undefined>;
736
+ private readonly tooltipTriggerQuery;
737
+ private readonly dropdownTriggerQuery;
738
+ /** Tooltip trigger projected into the option. */
739
+ get tooltipTrigger(): KbqTooltipTrigger | undefined;
740
+ /** Dropdown trigger projected into the option. */
741
+ get dropdownTrigger(): KbqDropdownTrigger | undefined;
742
+ readonly checkboxThirdState: _angular_core.InputSignal<boolean>;
743
+ get externalPseudoCheckbox(): boolean;
744
+ get value(): any;
745
+ set value(value: any);
746
+ private _value;
747
+ /** @docs-private */
748
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
749
+ /** Whether the option is disabled: through its own input, the tree, or the tree control's `isDisabled`. */
750
+ get disabled(): boolean;
751
+ /**
752
+ * `disabled` as of the last check, which the host bindings read: the tree control's `isDisabled` predicate gives
753
+ * no notice of a change and may be costly, so a check asks it once.
754
+ */
755
+ protected checkedDisabled: boolean;
756
+ /**
757
+ * What the tree control's `isDisabled` and `isExpandable` say about the row. Derived, so a predicate reading a
758
+ * signal brings the row back once that signal changes; `ngDoCheck` sets it on every check for one reading plain
759
+ * state. Read by a single host binding, see `ariaExpanded`.
760
+ */
761
+ private readonly predicates;
762
+ private checkedAriaSelected;
763
+ private checkedSelectAllState;
764
+ private checkedCheckboxRow;
765
+ /**
766
+ * Whether the option can be selected by user interaction (click, keyboard, select all).
767
+ * A non-selectable option remains focusable, navigable and expandable.
768
+ * Programmatic selection (`setSelected`, `select`, value accessor) is not affected.
769
+ * Options that are not rendered (e.g. collapsed) are not checked by "select all".
770
+ */
771
+ readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
772
+ /**
773
+ * Whether this option is the tree's "select all" row rather than a rendered data node.
774
+ *
775
+ * Such a row has no `data`, so everything that would resolve the option against the tree control
776
+ * (`getValue`, `isDisabled`, `isExpandable`, descendants) is skipped — those accessors belong to the
777
+ * consumer and must never be handed a node their data source has never seen. Its checkbox state and
778
+ * selection are driven from the outside instead.
779
+ *
780
+ * @docs-private
781
+ */
782
+ readonly selectAllRow: _angular_core.InputSignalWithTransform<boolean, unknown>;
783
+ /** @docs-private */
784
+ readonly showCheckboxInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
785
+ /** Whether the option renders a pseudo-checkbox. Falls back to the tree's own mode until bound. */
786
+ get showCheckbox(): boolean;
787
+ /** Emits whenever the selected state of the option changes. */
788
+ readonly selectionChange: _angular_core.OutputEmitterRef<KbqTreeOptionChange>;
789
+ /** @deprecated Use `selectionChange` instead. Will be removed in 22.0.0. */
790
+ readonly onSelectionChange: _angular_core.OutputEmitterRef<KbqTreeOptionChange>;
791
+ readonly userInteraction: EventEmitter<void>;
792
+ get selected(): boolean;
793
+ set selected(value: boolean);
794
+ private readonly selectedState;
795
+ get id(): string;
796
+ private _id;
797
+ get viewValue(): string;
798
+ get hasFocus(): boolean;
799
+ set hasFocus(value: boolean);
800
+ private readonly focused;
801
+ private focusReported;
802
+ get isExpandable(): boolean;
803
+ /** The "select all" row sits above the tree at root depth; `getLevel` has no node to resolve for it. */
804
+ get level(): number;
805
+ get toggleElement(): KbqTreeNodeToggleBaseDirective<T> | undefined;
806
+ get isToggleInDefaultPlace(): boolean;
807
+ get checkboxState(): KbqPseudoCheckboxState;
808
+ set checkboxState(value: KbqPseudoCheckboxState);
809
+ private readonly checkbox;
810
+ /**
811
+ * `aria-expanded` of the row as of the last check, reported for every branch and omitted on a leaf.
812
+ *
813
+ * Deliberately not `isExpandable`, which also asks whether the toggle is operable: filtering
814
+ * disables every toggle while leaving the matched branches expanded, and a branch that stops
815
+ * reporting `aria-expanded` is announced as a leaf while its children are on screen.
816
+ */
817
+ protected get ariaExpanded(): boolean | null;
818
+ /**
819
+ * `aria-checked` of the row: tri-state for a checkbox option, and the "select all" state for the
820
+ * row that drives it. `null` for a plain option, which reports `aria-selected` instead.
821
+ */
822
+ protected get ariaChecked(): string | null;
823
+ /** `aria-selected` of the row as of the last check. Options with a checkbox report `aria-checked` instead. */
824
+ protected get ariaSelected(): boolean | null;
825
+ constructor();
826
+ ngOnInit(): void;
827
+ ngDoCheck(): void;
828
+ ngAfterContentInit(): void;
829
+ /**
830
+ * The value and the checkbox state were derived from the node this view held before it was reused,
831
+ * and `ngAfterContentInit` does not run again. A stale `value` drops the row out of the tree's
832
+ * `renderedOptions`, so it renders but can no longer be focused, selected or copied.
833
+ *
834
+ * @docs-private
835
+ */
836
+ refresh(): void;
837
+ descendantsAllSelected(): boolean;
838
+ descendantsPartiallySelected(): boolean;
839
+ updateParentsCheckboxState(node: T): void;
840
+ updateCheckboxState: () => void;
841
+ toggle(): void;
842
+ setSelected(selected: boolean): void;
843
+ focus(focusOrigin?: FocusOrigin): void;
844
+ blur(): void;
845
+ /** @docs-private */
846
+ getHeight(): number;
847
+ /**
848
+ * Label the key manager's type-ahead matches against.
849
+ *
850
+ * The "select all" row is navigable but is not a data node, and its label is a localized phrase —
851
+ * answering type-ahead with it would hijack every query starting with that letter.
852
+ *
853
+ * @docs-private
854
+ */
855
+ getLabel(): string;
856
+ select(setFocus?: boolean): void;
857
+ deselect(): void;
858
+ onKeydown($event: any): void;
859
+ selectViaInteraction($event?: KeyboardEvent | MouseEvent): void;
860
+ emitSelectionChangeEvent(): void;
861
+ getHostElement(): HTMLElement;
862
+ markForCheck(): void;
863
+ /** @docs-private */
864
+ protected onMouseenter(): void;
865
+ /** Recomputes the option's own checkbox state, leaving its ancestors as they are. */
866
+ private syncCheckboxState;
867
+ private toAriaChecked;
868
+ private resolvePredicates;
869
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeOption<any>, never>;
870
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeOption<any>, "kbq-tree-option", ["kbqTreeOption"], { "checkboxThirdState": { "alias": "checkboxThirdState"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectAllRow": { "alias": "selectAllRow"; "required": false; "isSignal": true; }; "showCheckboxInput": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; }, ["toggleElementDirective", "toggleElementComponent", "pseudoCheckbox", "actionButton", "tooltipTriggerQuery", "dropdownTriggerQuery"], ["kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]", "kbq-pseudo-checkbox", "kbq-checkbox", "[kbq-icon]", "kbq-progress-spinner", "*", "kbq-option-action"], true, never>;
871
+ }
872
+
873
+ declare const KBQ_SELECTION_TREE_VALUE_ACCESSOR: Provider;
874
+ declare class KbqTreeSelectAllEvent<T, N = any, K = N> {
875
+ source: KbqTreeSelection<N, K>;
876
+ options: T[];
877
+ constructor(source: KbqTreeSelection<N, K>, options: T[]);
878
+ }
879
+ /**
880
+ * Event class that occurs when copying an item from the KbqTreeSelection.
881
+ * Used to pass data about the copied item and copy context.
882
+ *
883
+ * @param source - instance of KbqTreeSelection
884
+ * @param option - instance of KbqTreeOption
885
+ * @param event - original keyboard event (optional) that triggered the copy
886
+ */
887
+ declare class KbqTreeCopyEvent<T, N = any, K = N> {
888
+ source: KbqTreeSelection<N, K>;
889
+ option: T;
890
+ event?: KeyboardEvent | undefined;
891
+ constructor(source: KbqTreeSelection<N, K>, option: T, event?: KeyboardEvent | undefined);
892
+ }
893
+ declare class KbqTreeNavigationChange<T, N = any, K = N> {
894
+ source: KbqTreeSelection<N, K>;
895
+ option: T;
896
+ constructor(source: KbqTreeSelection<N, K>, option: T);
897
+ }
898
+ declare class KbqTreeSelectionChange<T, N = any, K = N> {
899
+ source: KbqTreeSelection<N, K>;
900
+ option: T;
901
+ options?: T[] | undefined;
902
+ constructor(source: KbqTreeSelection<N, K>, option: T, options?: T[] | undefined);
903
+ }
904
+ declare class KbqTreeSelection<T = any, K = T> extends KbqTreeBase<T, FlatTreeControl<T, K>> implements ControlValueAccessor, AfterContentInit, AfterViewInit, OnDestroy {
905
+ private elementRef;
906
+ private scheduler;
907
+ private clipboard;
908
+ private readonly platform;
909
+ private readonly injector;
910
+ protected readonly focusMonitor: FocusMonitor;
911
+ /**
912
+ * Whether this tree-selection is rendered inside a select panel (enables option
913
+ * hover-to-focus). Defaults to detecting a wrapping `KbqFormField`, and is forced to `true`
914
+ * by the host `KbqTreeSelect` so hover works even when the tree-select has no form-field
915
+ * wrapper (e.g. the filter-bar pipes render the tree-select bare).
916
+ */
917
+ inSelect: boolean;
918
+ renderedOptions: QueryList<KbqTreeOption<T>>;
919
+ keyManager: FocusKeyManager<KbqTreeOption<T>>;
920
+ /**
921
+ * Accessible name of the tree. Set it whenever the tree has no visible label of its own; a tree
922
+ * embedded in a `kbq-tree-select` is labelled by the select instead.
923
+ */
924
+ readonly ariaLabel: _angular_core.InputSignal<string>;
925
+ /** Id of the element that labels the tree, for when the label is rendered next to it. */
926
+ readonly ariaLabelledby: _angular_core.InputSignal<string>;
927
+ /**
928
+ * Accessible name written to the host.
929
+ *
930
+ * The host is the very element the consumer writes, and a host binding runs after their own
931
+ * `[attr.aria-label]` binding on that element — an unset input reporting `null` would erase the name
932
+ * they just set, because `[attr.]` never reaches the aliased input. Whatever is already on the
933
+ * element therefore stands in for an unset input.
934
+ */
935
+ protected get resolvedAriaLabel(): string | null;
936
+ /** Labelling element of the host. Falls back to the element's own attribute, see `resolvedAriaLabel`. */
937
+ protected get resolvedAriaLabelledby(): string | null;
938
+ /**
939
+ * Model backing the selection.
940
+ *
941
+ * The instance is replaced whenever {@link multiple} changes the multiplicity, because CDK freezes that
942
+ * flag at construction. Subscribe to {@link selectionChange} rather than to `selectionModel.changed`:
943
+ * a subscription taken on the model directly is left behind on the discarded instance.
944
+ *
945
+ * `T` is the type of the data nodes, inferred from `[treeControl]` in a template. A query names it:
946
+ * `viewChild.required<KbqTreeSelection<Node>>(KbqTreeSelection)`, and a tree whose control has a `trackBy`
947
+ * names the key type too: `KbqTreeSelection<Node, string>`.
948
+ */
949
+ selectionModel: SelectionModel<T>;
950
+ resetFocusedItemOnBlur: boolean;
951
+ userTabIndex: number | null;
952
+ optionShouldHoldFocusOnBlur: boolean;
953
+ /**
954
+ * Whether the tree acts on keyboard input itself. Turned off by an embedding host that owns the
955
+ * keyboard, such as `KbqTreeSelect`.
956
+ */
957
+ ownsKeyboard: boolean;
958
+ /** Reference to the built-in "select all" row, rendered only while `selectAll` is on. */
959
+ readonly selectAllOption: _angular_core.Signal<KbqTreeOption<T> | undefined>;
960
+ private readonly unorderedOptionsQuery;
961
+ private readonly unorderedOptionsList;
962
+ get unorderedOptions(): QueryList<KbqTreeOption<T>>;
963
+ readonly navigationChange: _angular_core.OutputEmitterRef<KbqTreeNavigationChange<KbqTreeOption<T>, T, K>>;
964
+ /**
965
+ * Emits when the selection changes. A stream rather than an `output()`: `KbqTreeSelect` pipes it with rxjs.
966
+ */
967
+ readonly selectionChange: EventEmitter<KbqTreeSelectionChange<KbqTreeOption<T>, T, K>>;
968
+ /** @docs-private */
969
+ readonly selectionChangeOutput: _angular_core.OutputRef<KbqTreeSelectionChange<KbqTreeOption<T>, T, K>>;
970
+ /** Emits after "select all" ran, with the options it could act on. */
971
+ readonly selectAllChange: _angular_core.OutputEmitterRef<KbqTreeSelectAllEvent<KbqTreeOption<T>, T, K>>;
972
+ /** @deprecated Use `selectAllChange` instead. Will be removed in 22.0.0. */
973
+ readonly onSelectAll: _angular_core.OutputEmitterRef<KbqTreeSelectAllEvent<KbqTreeOption<T>, T, K>>;
974
+ /**
975
+ * Emits when the active option is copied with Ctrl/Cmd + C. Subscribing replaces the built-in
976
+ * clipboard handler, so the event has to stay an `EventEmitter`: the decision is made by reading
977
+ * `observed`, which `OutputEmitterRef` does not have. A template listener subscribes to it through
978
+ * the output below.
979
+ */
980
+ readonly copyChange: EventEmitter<KbqTreeCopyEvent<KbqTreeOption<T>, T, K>>;
981
+ /** @docs-private */
982
+ readonly copyChangeOutput: _angular_core.OutputRef<KbqTreeCopyEvent<KbqTreeOption<T>, T, K>>;
983
+ /** @deprecated Use `copyChange` instead. Will be removed in 22.0.0. */
984
+ readonly onCopy: EventEmitter<KbqTreeCopyEvent<KbqTreeOption<T>, T, K>>;
985
+ /** @docs-private */
986
+ readonly onCopyOutput: _angular_core.OutputRef<KbqTreeCopyEvent<KbqTreeOption<T>, T, K>>;
987
+ private sortedNodes;
988
+ private lastSyncedDataNodes;
989
+ /** @docs-private */
990
+ readonly autoSelectInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
991
+ /** `undefined` while the value is derived from the mode. Written by `KbqTreeSelect` as well. */
992
+ private readonly autoSelectState;
993
+ /**
994
+ * Whether clicking a node clears the rest of the selection. Defaults to `true`, and to `false` for
995
+ * `multiple="checkbox"`.
996
+ *
997
+ * Assigning it — from a template binding or imperatively, as `KbqTreeSelect` does — replaces the
998
+ * derived default, so a later {@link multiple} change leaves the value alone.
999
+ */
1000
+ get autoSelect(): boolean;
1001
+ set autoSelect(value: boolean);
1002
+ private readonly optionFocusEvents;
1003
+ private readonly optionBlurEvents;
1004
+ /** Emits when an option of the tree takes focus. */
1005
+ get optionFocusChanges(): Observable<KbqTreeOptionEvent>;
1006
+ /** Emits when an option of the tree loses focus. */
1007
+ get optionBlurChanges(): Observable<KbqTreeOptionEvent>;
1008
+ /**
1009
+ * Selection mode of the tree.
1010
+ *
1011
+ * `checkbox` renders a checkbox in every node, `keyboard` selects without one. A bare `multiple` and
1012
+ * `true` both mean `checkbox`; `single`, `false` and an absent attribute mean single selection. The mode
1013
+ * can be changed at any time — narrowing it to single selection keeps the first selected node and
1014
+ * reports the shortened value through the `ControlValueAccessor`.
1015
+ *
1016
+ * A tree rendered inside a `kbq-tree-select` shares its `SelectionModel` with the select, so the
1017
+ * select decides how many nodes may be selected: switching this input between single and multiple
1018
+ * selection there throws. Switching between `checkbox` and `keyboard` only changes the presentation
1019
+ * and is allowed.
1020
+ *
1021
+ * The getter reports whether more than one node can be selected; read {@link multipleMode} for the mode
1022
+ * itself.
1023
+ */
1024
+ get multiple(): boolean;
1025
+ /** @docs-private */
1026
+ readonly multipleInput: _angular_core.InputSignal<KbqMultipleInput>;
1027
+ /** Resolved selection mode, or `null` when only one node can be selected. */
1028
+ get multipleMode(): MultipleMode | null;
1029
+ set multipleMode(value: MultipleMode | null);
1030
+ /**
1031
+ * Backing signal of {@link multipleMode}. A signal rather than a field because the mode is also written
1032
+ * from inside the component and by `KbqTreeSelect`: options read it through `multiple` and
1033
+ * `showCheckbox`, and only a signal read re-runs their `OnPush` views and host bindings.
1034
+ */
1035
+ private readonly mode;
1036
+ /** @docs-private */
1037
+ readonly noUnselectLastInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
1038
+ /** `undefined` while the value is derived from the mode. Written by `KbqTreeSelect` as well. */
1039
+ private readonly noUnselectLastState;
1040
+ /**
1041
+ * Whether the last selected node can be deselected.
1042
+ * Derived from the mode until assigned, like {@link autoSelect}.
1043
+ */
1044
+ get noUnselectLast(): boolean;
1045
+ set noUnselectLast(value: boolean);
1046
+ /**
1047
+ * Whether typing printable characters moves the focus to the next option whose label starts with
1048
+ * them. On by default.
1049
+ *
1050
+ * Turn it off wherever the tree shares its keystrokes with a text field: an embedder such as
1051
+ * `KbqTreeSelect` routes everything the user types — the search query included — into this key
1052
+ * manager, and type-ahead would move the active option out from under the query.
1053
+ */
1054
+ get typeAhead(): boolean;
1055
+ set typeAhead(value: boolean);
1056
+ /** @docs-private */
1057
+ readonly typeAheadInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
1058
+ private readonly typeAheadState;
1059
+ /** When `true`, a repeated Ctrl/Cmd+A deselects all options. Off by default (Ctrl+A only selects). */
1060
+ readonly selectAllToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
1061
+ /**
1062
+ * Whether to render the "select all" master checkbox above the nodes. Multiple selection only.
1063
+ *
1064
+ * Enabling it also makes Ctrl/Cmd + A a two-way toggle, so the shortcut and the checkbox never
1065
+ * disagree (`selectAllToggle` is implied).
1066
+ */
1067
+ get selectAll(): boolean;
1068
+ set selectAll(value: boolean);
1069
+ /** @docs-private */
1070
+ readonly selectAllInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
1071
+ private readonly selectAllEnabled;
1072
+ /** Whether the "select all" row is currently rendered. */
1073
+ protected get showSelectAll(): boolean;
1074
+ /** Whether every node "select all" can act on is selected. */
1075
+ get allOptionsSelected(): boolean;
1076
+ /** State of the "select all" master checkbox. */
1077
+ get selectAllState(): KbqPseudoCheckboxState;
1078
+ /** Label of the "select all" row. Follows the active locale. */
1079
+ protected get selectAllText(): string;
1080
+ private readonly localeConfiguration;
1081
+ /**
1082
+ * Data nodes "select all" acts on, and the ones its checkbox state is derived from.
1083
+ *
1084
+ * While a filter is active only the rendered nodes qualify — the hidden ones are not what the user
1085
+ * is looking at, and selecting them would contradict a master checkbox that can only report on what
1086
+ * is on screen. Without a filter the whole data set qualifies, collapsed branches included.
1087
+ */
1088
+ private get selectAllTargets();
1089
+ /** Adapter shared by the master checkbox and the Ctrl/Cmd + A handler, so the two cannot drift apart. */
1090
+ private get selectAllAdapter();
1091
+ /** @docs-private */
1092
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
1093
+ /** Whether the tree is disabled, bound with `[disabled]` or set by a form control. */
1094
+ get disabled(): boolean;
1095
+ private readonly disabledState;
1096
+ /** @docs-private */
1097
+ readonly tabIndexInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
1098
+ /** Tab index of the tree, `-1` while it is disabled. */
1099
+ get tabIndex(): number;
1100
+ private readonly tabIndexState;
1101
+ get showCheckbox(): boolean;
1102
+ get isEmpty(): boolean;
1103
+ /**
1104
+ * Number of real, data-backed nodes currently rendered — unlike `renderedOptions.length`, never
1105
+ * includes the "select all" row, which is appended to `renderedOptions` on its own, later-processed
1106
+ * reactive pass and would otherwise make a consumer's own node count race against that pass.
1107
+ */
1108
+ get nodesCount(): number;
1109
+ private selectionModelSubscription;
1110
+ private readonly selectionSweeps;
1111
+ /** Whether a value report is queued for the end of the current tick. Cleared by `writeValue` to cancel it. */
1112
+ private pendingValueReport;
1113
+ /** The `multiple` binding the mode was last set from, see `applyMultipleInput`. */
1114
+ private appliedMultipleInput;
1115
+ /** The `disabled` binding the state was last set from, see `applyDisabledInput`. */
1116
+ private appliedDisabledInput;
1117
+ /** Backs {@link syncingSelection}: a change of the selection made by code is no change to report back. */
1118
+ private writingValue;
1119
+ /**
1120
+ * Whether the tree is changing the selection model itself — to a value the form wrote, or onto the nodes of
1121
+ * reloaded data — rather than acting on the user. A host sharing the model, such as `KbqTreeSelect`, reports
1122
+ * no such change.
1123
+ *
1124
+ * @docs-private
1125
+ */
1126
+ get syncingSelection(): boolean;
1127
+ /**
1128
+ * The last value the form wrote while some of the nodes it names were not in the data yet. Applied again as the
1129
+ * data changes, until every node is found or the selection is reported to the form.
1130
+ */
1131
+ private unresolvedValue;
1132
+ private destroyed;
1133
+ /** `treeControl.dataNodes` the options' checkbox states were last recomputed against. */
1134
+ private checkboxSyncedDataNodes;
1135
+ /**
1136
+ * The model this tree built for itself. `KbqTreeSelect` overwrites {@link selectionModel} with one it
1137
+ * shares with the tree, and the two diverging is how a mode change knows the model is not ours to swap.
1138
+ */
1139
+ private ownSelectionModel;
1140
+ constructor();
1141
+ /** Selects every node "select all" can act on, or deselects them all when they are already selected. */
1142
+ protected toggleSelectAll(): void;
1143
+ /**
1144
+ * Sets the mode from the `multiple` binding, once per bound value: an unbound input leaves what
1145
+ * `KbqTreeSelect` or the {@link multipleMode} setter wrote, and a value bound back to `undefined` means
1146
+ * single selection.
1147
+ *
1148
+ * Called by an effect, and by `writeValue` ahead of it: a forms directive on this element writes the
1149
+ * value from its own `ngOnChanges`, which runs before any effect of the view.
1150
+ */
1151
+ private applyMultipleInput;
1152
+ /**
1153
+ * Sets the disabled state from the `disabled` binding, once per bound value, so that whichever of the binding
1154
+ * and the form control changed last wins. An unbound input leaves what the form control wrote.
1155
+ *
1156
+ * Called by an effect, and by `setDisabledState` ahead of it: a forms directive on this element calls that
1157
+ * from its own `ngOnChanges`, after the binding is set but before any effect of the view runs.
1158
+ */
1159
+ private applyDisabledInput;
1160
+ /**
1161
+ * Applies a new selection mode, rebuilding the `SelectionModel` when the multiplicity itself changes —
1162
+ * CDK freezes that flag at construction, so the model has to be replaced rather than reconfigured.
1163
+ */
1164
+ private setMultipleMode;
1165
+ /** Replaces the `SelectionModel` with one of the given multiplicity, keeping what the new one can hold. */
1166
+ private rebuildSelectionModel;
1167
+ /**
1168
+ * Reports the value once the current change-detection pass is over: a bound `[multiple]` is written
1169
+ * during change detection, and reporting straight back to the form control there would raise
1170
+ * "Expression has changed after it was checked". Coalesced so that several mode changes in one tick
1171
+ * produce one notification, and dropped if the form writes a value or the tree is gone by the time it runs.
1172
+ */
1173
+ private scheduleValueReport;
1174
+ /** Reports the selection to the form, which then holds it instead of a value still waiting for its nodes. */
1175
+ private reportValue;
1176
+ /** (Re)points the change subscription at the current {@link selectionModel}. */
1177
+ private bindSelectionModel;
1178
+ ngAfterContentInit(): void;
1179
+ /**
1180
+ * Rebuilds the tree around a selection model owned by an embedding host, such as `KbqTreeSelect`.
1181
+ *
1182
+ * The host has to take the model over before the tree starts reacting to it, and re-running
1183
+ * `ngAfterContentInit()` is not a way to do that: neither `unorderedOptions` nor `renderedOptions` is
1184
+ * ever re-created, so a second run would only leave a second set of subscribers on both — every options
1185
+ * change handled twice, and the whole option sweep run twice per emission. Only the subscription that
1186
+ * depends on the model has to move, which is exactly what `bindSelectionModel` does.
1187
+ */
1188
+ initializeForEmbedding(selectionModel: SelectionModel<T>): void;
1189
+ ngAfterContentChecked(): void;
1190
+ ngAfterViewInit(): void;
1191
+ ngOnDestroy(): void;
1192
+ focus($event: any): void;
1193
+ /** @docs-private */
1194
+ highlightSelectedOption(): void;
1195
+ blur(): void;
1196
+ /**
1197
+ * Host listener for keyboard input.
1198
+ *
1199
+ * Does nothing while an embedding host owns the keyboard — `KbqTreeSelect` routes every key through
1200
+ * its own panel handler and calls back into `handleKeydown` for the parts it delegates, so without
1201
+ * this guard the same event would be acted on twice.
1202
+ */
1203
+ onKeyDown(event: KeyboardEvent): void;
1204
+ /** Runs the tree's own keyboard handling, whether or not it owns the keyboard. */
1205
+ handleKeydown(event: KeyboardEvent): void;
1206
+ /** @docs-private */
1207
+ updateScrollSize(): void;
1208
+ /** @docs-private */
1209
+ setSelectedOptionsByKey(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
1210
+ /** @docs-private */
1211
+ reportOptionFocus(event: KbqTreeOptionEvent): void;
1212
+ /** @docs-private */
1213
+ reportOptionBlur(event: KbqTreeOptionEvent): void;
1214
+ /** @docs-private */
1215
+ setSelectedOptionsByClick(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
1216
+ /** @docs-private */
1217
+ protected selectActiveOptions(): void;
1218
+ /** @docs-private */
1219
+ protected toggleFocusedOption(): void;
1220
+ /** @docs-private */
1221
+ renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer?: IterableDiffer<T>, viewContainer?: ViewContainerRef, parentData?: T): void;
1222
+ /**
1223
+ * Recomputes every option's checkbox state where no selection change follows to do it: after `dataNodes` is
1224
+ * replaced, which moves the descendants a branch counts, and once a hidden checkbox appears. A microtask later, as
1225
+ * a consumer's data source can assign `dataNodes` after it emits.
1226
+ */
1227
+ private scheduleCheckboxSync;
1228
+ /** @docs-private */
1229
+ protected emitNavigationEvent(option: KbqTreeOption<T>): void;
1230
+ /** @docs-private */
1231
+ protected emitChangeEvent(option: KbqTreeOption<T>): void;
1232
+ /** @docs-private */
1233
+ readonly selectAllHandlerInput: _angular_core.InputSignalWithTransform<((event: KeyboardEvent, tree: KbqTreeSelection<T, K>) => void) | undefined, ((event: KeyboardEvent, tree: KbqTreeSelection<T, K>) => void) | undefined>;
1234
+ /**
1235
+ * Function for handling the combination Ctrl + A (select all). By default, the internal handler is used,
1236
+ * which toggles the selection of all non-disabled, selectable options.
1237
+ */
1238
+ get selectAllHandler(): (event: KeyboardEvent, tree: KbqTreeSelection<T, K>) => void;
1239
+ private defaultSelectAllHandler;
1240
+ selectAllOptions(allowDeselect?: boolean): void;
1241
+ copyActiveOption(event: KeyboardEvent): void;
1242
+ writeValue(value: any): void;
1243
+ /** Selects the nodes of a value the form wrote, and keeps the value for the data still to come if any is missing. */
1244
+ private applyWrittenValue;
1245
+ /** Runs a change of the selection made by code, which reports nothing back to the form or to a host. */
1246
+ private syncSelection;
1247
+ /**
1248
+ * Called when the value changes. Needed to properly implement `ControlValueAccessor`.
1249
+ *
1250
+ * @docs-private
1251
+ */
1252
+ onChange: (value: any) => void;
1253
+ registerOnChange(fn: (value: any) => void): void;
1254
+ /**
1255
+ * Called when the control is blurred. Needed to properly implement `ControlValueAccessor`.
1256
+ *
1257
+ * @docs-private
1258
+ */
1259
+ onTouched: () => void;
1260
+ registerOnTouched(fn: () => void): void;
1261
+ /**
1262
+ * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
1263
+ */
1264
+ setDisabledState(isDisabled: boolean): void;
1265
+ /** @docs-private */
1266
+ setOptionsFromValues(values: any[]): void;
1267
+ /**
1268
+ * Rebinds orphan node references in selectionModel to current treeControl.dataNodes by value.
1269
+ * Needed after dataSource.data is replaced — selectionModel holds references to old node
1270
+ * objects, but options render with new ones, so toggle()/isSelected() break on identity.
1271
+ *
1272
+ * A value the form wrote ahead of its nodes is applied again instead, which resolves every node anew.
1273
+ * Either way the selection only follows the data, so nothing is reported.
1274
+ */
1275
+ private syncSelectionModelToDataNodes;
1276
+ /** @docs-private */
1277
+ getSelectedValues(): any[];
1278
+ setStateChildren(option: KbqTreeOption<T>, state: boolean): void;
1279
+ private onCopyDefaultHandler;
1280
+ /**
1281
+ * Moves focus to the closest enabled ancestor of the active option — ArrowLeft on a leaf, on an
1282
+ * already-collapsed node, or on a node whose toggle is disabled.
1283
+ *
1284
+ * Ancestors are resolved against `renderedOptions` rather than `treeControl.dataNodes`: every
1285
+ * ancestor of a visible option is itself visible, options are rendered depth-first, and these are
1286
+ * the indices `keyManager` navigates — so the walk starts from `keyManager.activeItemIndex`.
1287
+ * Scanning backwards, the first option with a smaller level is the parent.
1288
+ *
1289
+ * A disabled option cannot take focus (`KbqTreeOption.focus` refuses it), so the walk steps over a
1290
+ * disabled ancestor and narrows `level` to that ancestor's level. Without narrowing, the scan would
1291
+ * continue against the original level and land on a preceding sibling of the parent.
1292
+ */
1293
+ private setActiveParentOption;
1294
+ /** `-1` is the key manager's way of keeping the letter stream running but never matching on it. */
1295
+ private applyTypeAhead;
1296
+ /**
1297
+ * Moves focus to the first child of an already-expanded option — ArrowRight on an expanded node.
1298
+ *
1299
+ * The mirror of `setActiveParentOption`: the first rendered option after the active one is its
1300
+ * first child whenever its level is greater, so nothing has to be re-derived from `treeControl`.
1301
+ * A disabled child cannot take focus, so the walk continues while the options stay inside the
1302
+ * subtree, and stops as soon as the level falls back to the active option's own.
1303
+ */
1304
+ private setActiveFirstChildOption;
1305
+ private getHeight;
1306
+ /** A tree with nothing rendered leaves the tab order, unless a tab index other than `0` is bound. */
1307
+ private updateTabIndex;
1308
+ /**
1309
+ * Whether the same options as before now stand for the rows in another order. A different count means rows were
1310
+ * added or removed, which the options query reports itself.
1311
+ */
1312
+ private renderedOptionsOutOfOrder;
1313
+ private updateRenderedOptions;
1314
+ private getSortedNodes;
1315
+ private listenToOptionsFocus;
1316
+ /**
1317
+ * Utility to ensure all indexes are valid.
1318
+ *
1319
+ * @param index The index to be checked.
1320
+ * @returns True if the index is valid for our list of options.
1321
+ */
1322
+ private isValidIndex;
1323
+ /** Checks whether any of the options is focused. */
1324
+ private hasFocusedOption;
1325
+ private updateOptionsFocus;
1326
+ private canDeselectLast;
1327
+ private isFocusReceivedFromNestedOption;
1328
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeSelection<any, any>, never>;
1329
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeSelection<any, any>, "kbq-tree-selection", ["kbqTreeSelection"], { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "autoSelectInput": { "alias": "autoSelect"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "noUnselectLastInput": { "alias": "noUnselectLast"; "required": false; "isSignal": true; }; "typeAheadInput": { "alias": "typeAhead"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAllInput": { "alias": "selectAll"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "selectAllHandlerInput": { "alias": "selectAllHandler"; "required": false; "isSignal": true; }; }, { "navigationChange": "navigationChange"; "selectionChangeOutput": "selectionChange"; "selectAllChange": "selectAllChange"; "onSelectAll": "onSelectAll"; "copyChangeOutput": "copyChange"; "onCopyOutput": "onCopy"; }, ["unorderedOptionsQuery"], never, true, [{ directive: typeof i1.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }, { directive: typeof i1.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
1330
+ }
1331
+
1332
+ declare class KbqTreeModule {
1333
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeModule, never>;
1334
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqTreeModule, never, [typeof i1.KbqPseudoCheckboxModule, typeof i2.KbqIconModule, typeof i1.KbqActionContainer, typeof KbqTreeNodeOutlet, typeof KbqTreeNodeDef, typeof KbqTreeNode, typeof KbqTreeNodePadding, typeof KbqTree, typeof KbqTreeSelection, typeof KbqTreeOption, typeof KbqTreeNodeToggleComponent, typeof KbqTreeNodeToggleDirective], [typeof KbqTreeNodeOutlet, typeof KbqTreeNodeDef, typeof KbqTreeNode, typeof KbqTreeNodePadding, typeof KbqTree, typeof KbqTreeSelection, typeof KbqTreeOption, typeof KbqTreeNodeToggleComponent, typeof KbqTreeNodeToggleDirective]>;
1335
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqTreeModule>;
1336
+ }
1337
+
1338
+ export { BaseTreeControl, FilterByValues, FilterByViewValue, FilterParentsForNodes, FlatTreeControl, KBQ_SELECTION_TREE_VALUE_ACCESSOR, KBQ_TREE_OPTION_PARENT_COMPONENT, KbqTree, KbqTreeBase, KbqTreeCopyEvent, KbqTreeFlatDataSource, KbqTreeFlattener, KbqTreeModule, KbqTreeNavigationChange, KbqTreeNestedDataSource, KbqTreeNode, KbqTreeNodeDef, KbqTreeNodeOutlet, KbqTreeNodeOutletContext, KbqTreeNodePadding, KbqTreeNodeToggleBaseDirective, KbqTreeNodeToggleComponent, KbqTreeNodeToggleDirective, KbqTreeOption, KbqTreeOptionChange, KbqTreeSelectAllEvent, KbqTreeSelection, KbqTreeSelectionChange, NestedTreeControl, defaultCompareValues, defaultCompareViewValues, kbqTreeSelectAllValue };
1339
+ export type { FlatTreeControlFilter, KbqTreeControlOptions, KbqTreeOptionEvent, KbqTreeOptionParent, KbqTreeState, TreeControl };