@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,888 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnChanges, AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy, QueryList, ElementRef, EventEmitter, DestroyRef, ChangeDetectorRef, SimpleChanges, OnInit, TemplateRef, InjectionToken } from '@angular/core';
3
+ import * as i2 from '@angular/cdk/a11y';
4
+ import { FocusableOption } from '@angular/cdk/a11y';
5
+ import { Direction } from '@angular/cdk/bidi';
6
+ import { KbqScrollbarViewport, KbqScrollbarMode } from '@koobiq/components/scrollbar';
7
+ import * as i1$1 from '@angular/cdk/portal';
8
+ import { CdkPortalOutlet, TemplatePortal, CdkPortal } from '@angular/cdk/portal';
9
+ import { Subject } from 'rxjs';
10
+ import * as i1 from '@koobiq/components/core';
11
+ import * as i3 from '@angular/cdk/scrolling';
12
+ import * as i4 from '@koobiq/components/icon';
13
+ import * as i5 from '@koobiq/components/tooltip';
14
+ import * as i6 from '@angular/cdk/observers';
15
+
16
+ /**
17
+ * The directions that scrolling can go in when the header's tabs exceed the header width. 'After'
18
+ * will scroll the header towards the end of the tabs list and 'before' will scroll towards the
19
+ * beginning of the list.
20
+ */
21
+ type ScrollDirection = 'after' | 'before';
22
+ /** Item inside a paginated tab header. */
23
+ type KbqPaginatedTabHeaderItem = FocusableOption & {
24
+ elementRef: ElementRef;
25
+ };
26
+ /**
27
+ * Base class for a tab header that supported pagination.
28
+ *
29
+ * @docs-private
30
+ */
31
+ declare abstract class KbqPaginatedTabHeader implements OnChanges, AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy {
32
+ /** @docs-private */
33
+ readonly selectedIndexInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
34
+ /** @docs-private */
35
+ readonly disablePaginationInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
36
+ /** @docs-private */
37
+ readonly verticalInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
38
+ /** The index of the active tab. */
39
+ get selectedIndex(): number;
40
+ set selectedIndex(value: number);
41
+ private readonly selectedIndexState;
42
+ /** Tracks which element has focus; used for keyboard navigation */
43
+ get focusIndex(): number;
44
+ /** When the focus index is set, we must manually send focus to the correct label */
45
+ set focusIndex(value: number);
46
+ abstract get items(): QueryList<KbqPaginatedTabHeaderItem>;
47
+ abstract get tabListContainer(): ElementRef<HTMLElement>;
48
+ /** The strip's scroll viewport — the same element as {@link tabListContainer}. */
49
+ protected abstract get scrollbarViewport(): KbqScrollbarViewport;
50
+ abstract get tabList(): ElementRef<HTMLElement>;
51
+ abstract get nextPaginator(): ElementRef<HTMLElement>;
52
+ abstract get previousPaginator(): ElementRef<HTMLElement>;
53
+ /** Event emitted when the option is selected. */
54
+ readonly selectFocusedIndex: EventEmitter<number>;
55
+ /** Event emitted when a label is focused. */
56
+ readonly indexFocused: EventEmitter<number>;
57
+ /** Whether the controls for pagination should be displayed */
58
+ showPaginationControls: boolean;
59
+ /** Whether the tab list can be scrolled more towards the end of the tab label list. */
60
+ disableScrollAfter: boolean;
61
+ /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
62
+ disableScrollBefore: boolean;
63
+ /**
64
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
65
+ * layout recalculations if it's known that pagination won't be required.
66
+ *
67
+ * A vertical header never paginates, so `vertical` forces this on without overwriting the value
68
+ * the consumer set — turning `vertical` back off restores it.
69
+ */
70
+ get disablePagination(): boolean;
71
+ set disablePagination(value: boolean);
72
+ private _disablePagination;
73
+ /** Whether the tabs should be displayed vertically. */
74
+ set vertical(value: boolean);
75
+ get vertical(): boolean;
76
+ private _vertical;
77
+ /** `disablePagination` as of the last content check — see `ngAfterContentChecked`. */
78
+ private previousDisablePagination;
79
+ /**
80
+ * The number of tab labels that are displayed on the header. When this changes, the header
81
+ * should re-evaluate the scroll position.
82
+ */
83
+ private tabLabelCount;
84
+ /** Used to manage focus between the tabs. */
85
+ private keyManager;
86
+ /** Cached text content of the header. */
87
+ private currentTextContent;
88
+ /** Stream that will stop the automated scrolling. */
89
+ private stopScrolling;
90
+ /** Whether the header should scroll to the selected index after the view has been checked. */
91
+ private selectedIndexChanged;
92
+ /** Whether DOM focus currently sits on one of the items. */
93
+ private focusWasInside;
94
+ /**
95
+ * Index of the item that last took DOM focus, or `-1`. Recorded from the `focusin` target rather
96
+ * than read back from `keyManager.activeItemIndex`, because the `selectedIndex` setter writes that
97
+ * field too — and on an `items.changes` tick a subscriber registered earlier (`KbqTabNavBar`'s
98
+ * `updateActiveLink`) repoints it at the *active* item before focus restoration gets to run.
99
+ */
100
+ private focusedItemIndex;
101
+ /** State of the in-progress mouse/pen drag gesture, if any. */
102
+ private dragState;
103
+ /** `requestAnimationFrame` handle for an in-progress inertia coast, if any. */
104
+ private inertiaFrameId;
105
+ /** Set after a drag gesture so the click it would otherwise trigger on a tab is suppressed. */
106
+ private suppressNextClick;
107
+ /** Handle of the timer that clears {@link suppressNextClick}, so it can be cancelled on destroy. */
108
+ private suppressClickTimeoutId;
109
+ private readonly documentPointerMoveListener;
110
+ private readonly documentPointerUpListener;
111
+ private readonly documentPointerCancelListener;
112
+ /** Emits on every native `scroll` event and drag/inertia frame; throttled to limit change detection. */
113
+ private readonly scrollProgress;
114
+ /**
115
+ * Emits scroll-correction requests (from focus or selection changes); debounced so a burst
116
+ * settles once. `ReplaySubject(1)`, not `Subject`: content hooks (where the very first request,
117
+ * from `ngAfterContentChecked`, is sent) run before view hooks in the same initial change-
118
+ * detection pass, so a plain `Subject` would drop it — the `ngAfterViewInit` subscription below
119
+ * doesn't exist yet when it's emitted.
120
+ */
121
+ private readonly scrollCorrectionRequest;
122
+ /**
123
+ * The latest scroll-correction request, repeated once webfonts finish loading: a label measured in the
124
+ * fallback face moves when the real one swaps in. Dropped once a correction has measured with no font
125
+ * loading, and as soon as the user moves the strip, so the repeat never pulls it back from where they took it.
126
+ */
127
+ private lastScrollCorrection;
128
+ protected readonly destroyRef: DestroyRef;
129
+ readonly elementRef: ElementRef<HTMLElement>;
130
+ protected readonly changeDetectorRef: ChangeDetectorRef;
131
+ private readonly ngZone;
132
+ private readonly platform;
133
+ private readonly dir;
134
+ private readonly window;
135
+ private readonly sharedResizeObserver;
136
+ private readonly document;
137
+ private readonly scrollbarOptions;
138
+ private readonly injector;
139
+ /** Whether the underline of the active tab moves without motion. */
140
+ protected readonly animationsDisabled: boolean;
141
+ /**
142
+ * Scrollbar mode for the tab strip. Only a vertical header scrolls in a direction the user is meant
143
+ * to see, so a horizontal one asks for `hidden`: the native scrollbar stays suppressed and no custom
144
+ * track is built for a strip that is paginated and dragged instead of scrolled by hand.
145
+ *
146
+ * Follows `vertical` itself: the `kbq-tab-group_vertical` class the stylesheet keys `overflow-y: auto`
147
+ * on is bound to the same value. The class of a nav bar is its own host binding, applied only after
148
+ * its content hooks, so reading the class from here would miss it on the first check.
149
+ */
150
+ protected get scrollbarMode(): KbqScrollbarMode;
151
+ constructor();
152
+ ngOnChanges(changes: SimpleChanges): void;
153
+ /** Called when the user has selected an item via the keyboard. */
154
+ ngAfterViewInit(): void;
155
+ ngAfterContentInit(): void;
156
+ ngAfterContentChecked(): void;
157
+ ngOnDestroy(): void;
158
+ handleKeydown(event: KeyboardEvent): void;
159
+ /**
160
+ * Callback for when the MutationObserver detects that the content has changed.
161
+ */
162
+ onContentChanges(): void;
163
+ /**
164
+ * Updates the view whether pagination should be enabled or not.
165
+ *
166
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
167
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
168
+ * page.
169
+ */
170
+ updatePagination(): void;
171
+ /**
172
+ * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
173
+ * providing a valid index and return true.
174
+ */
175
+ isValidIndex(index: number): boolean;
176
+ /**
177
+ * Sets focus on the HTML element for the label wrapper and scrolls it into the view if
178
+ * scrolling is enabled.
179
+ */
180
+ setTabFocus(tabIndex: number): void;
181
+ /** The layout direction of the containing app. */
182
+ getLayoutDirection(): Direction;
183
+ /**
184
+ * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
185
+ * the end of the list, respectively).
186
+ *
187
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
188
+ * should be called sparingly.
189
+ */
190
+ scrollHeader(direction: ScrollDirection): void;
191
+ /** Handles click events on the pagination arrows. */
192
+ handlePaginatorClick(direction: ScrollDirection): void;
193
+ /**
194
+ * Evaluate whether the pagination controls should be displayed. If the scroll width of the
195
+ * tab list is wider than the size of the header container, then the pagination controls should
196
+ * be shown.
197
+ *
198
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
199
+ * should be called sparingly.
200
+ */
201
+ checkPaginationEnabled(): void;
202
+ /** Stops the currently-running paginator interval. */
203
+ stopInterval(): void;
204
+ /**
205
+ * Handles the user pressing down on one of the paginators.
206
+ * Starts scrolling the header after a certain amount of time.
207
+ *
208
+ * @param direction In which direction the paginator should be scrolled.
209
+ */
210
+ handlePaginatorPress(direction: ScrollDirection, mouseEvent?: MouseEvent): void;
211
+ protected abstract itemSelected(event: KeyboardEvent): void;
212
+ /** Index of the item owning `target`, or `-1` — `target` is the item itself or something inside it. */
213
+ private indexOfItemContaining;
214
+ /**
215
+ * Moves focus onto the neighbouring item when the one that held it was removed. Without this the
216
+ * destroyed element takes focus down to `<body>` and a keyboard user has to tab in from the top of
217
+ * the document again (WCAG 2.4.3).
218
+ */
219
+ private restoreFocusAfterItemsChange;
220
+ /**
221
+ * The tab list's scroll position expressed independently of reading direction: `0` at the
222
+ * start of the tab list, growing towards the end — mirrors native `scrollLeft`'s RTL-dependent
223
+ * sign so callers can reason about "before"/"after" without checking direction themselves.
224
+ */
225
+ private get logicalScrollPosition();
226
+ /**
227
+ * Scrolls the header to a given logical position (see {@link logicalScrollPosition}).
228
+ *
229
+ * @param value Logical position to scroll to.
230
+ * @param behavior Scroll animation behavior; `'auto'` jumps instantly, `'smooth'` animates.
231
+ */
232
+ private scroll;
233
+ /** Queues a {@link scrollCorrection} behind the debounce, and keeps it to repeat once webfonts load. */
234
+ private requestScrollCorrection;
235
+ /**
236
+ * Moves the tab list such that the desired tab label (marked by index) is moved into view.
237
+ *
238
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
239
+ * should be called sparingly.
240
+ */
241
+ private scrollCorrection;
242
+ /**
243
+ * Recomputes the pagination arrow-enabled state from the container's real scroll metrics.
244
+ * Bound to the native `scroll` event — this is the sole source of truth, no imperative call
245
+ * is needed after drag/inertia/arrow-click scroll writes.
246
+ *
247
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
248
+ * should be called sparingly.
249
+ */
250
+ private updateScrollState;
251
+ private handlePointerDown;
252
+ private handlePointerMove;
253
+ private cancelDrag;
254
+ private endDrag;
255
+ private finishDrag;
256
+ private attachDocumentDragListeners;
257
+ private detachDocumentDragListeners;
258
+ private startInertia;
259
+ private cancelInertia;
260
+ private clampVelocity;
261
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPaginatedTabHeader, never>;
262
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPaginatedTabHeader, never, never, { "selectedIndexInput": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "disablePaginationInput": { "alias": "disablePagination"; "required": false; "isSignal": true; }; "verticalInput": { "alias": "vertical"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
263
+ }
264
+
265
+ /**
266
+ * These position states are used internally as the translation states of the tab body. Setting the
267
+ * position state to left, right, or center will transition the tab body from its current
268
+ * position to its respective state. If there is not current position (void, in the case of a new
269
+ * tab body), then there will be no transition to its state.
270
+ *
271
+ * In the case of a new tab body that should immediately be centered with an animating transition,
272
+ * then left-origin-center or right-origin-center can be used, which will use left or right as its
273
+ * pseudo-prior state.
274
+ */
275
+ type KbqTabBodyPositionState = 'left' | 'center' | 'right' | 'left-origin-center' | 'right-origin-center';
276
+ /**
277
+ * Wrapper for the contents of a tab.
278
+ *
279
+ * @docs-private
280
+ */
281
+ declare class KbqTabBody implements OnChanges, OnInit, OnDestroy {
282
+ private readonly elementRef;
283
+ private readonly dir;
284
+ private readonly destroyRef;
285
+ private readonly injector;
286
+ /** Whether the tab body translates without motion. */
287
+ protected readonly animationsDisabled: boolean;
288
+ /** @docs-private */
289
+ readonly positionInput: _angular_core.InputSignal<number | undefined>;
290
+ /** @docs-private */
291
+ readonly originInput: _angular_core.InputSignal<number | undefined>;
292
+ /** The shifted index position of the tab body, where zero represents the active center tab. */
293
+ set position(position: number);
294
+ /** Tab body position state, rendered as a modifier class of the content. */
295
+ bodyPosition: KbqTabBodyPositionState;
296
+ /** Event emitted when the tab begins to animate towards the center as the active tab. */
297
+ readonly onCentering: _angular_core.OutputEmitterRef<number>;
298
+ /** Event emitted before the centering of the tab begins. */
299
+ readonly beforeCentering: EventEmitter<boolean>;
300
+ /** @docs-private */
301
+ readonly beforeCenteringOutput: _angular_core.OutputRef<boolean>;
302
+ /** Event emitted once the tab has finished moving away from the center. Carries no payload. */
303
+ readonly afterLeavingCenter: EventEmitter<void>;
304
+ /** @docs-private */
305
+ readonly afterLeavingCenterOutput: _angular_core.OutputRef<void>;
306
+ /** Event emitted when the tab completes its animation towards the center. */
307
+ readonly onCentered: _angular_core.OutputEmitterRef<void>;
308
+ /** The portal host inside of this container into which the tab body content will be loaded. */
309
+ readonly portalHost: _angular_core.Signal<CdkPortalOutlet>;
310
+ /** The tab body content to display. */
311
+ readonly content: _angular_core.InputSignal<TemplatePortal<any>>;
312
+ /** Position that will be used when the tab is immediately becoming visible after creation. */
313
+ origin: number;
314
+ /** Duration for the tab's animation. */
315
+ readonly animationDuration: _angular_core.InputSignal<string>;
316
+ /** The duration as CSS time: a bare number, which CSS rejects, is taken as milliseconds. */
317
+ protected readonly cssAnimationDuration: _angular_core.Signal<string>;
318
+ /** Current position of the tab-body in the tab-group. Zero means that the tab is visible. */
319
+ private positionIndex;
320
+ /** Subscription to the directionality change observable. */
321
+ private readonly dirChangeSubscription;
322
+ private readonly contentElement;
323
+ /** The position the last translation went to, see `translateOnRender`. */
324
+ private renderedPosition?;
325
+ /** The position the body is created at, see `translateOnRender`. */
326
+ private initialPosition?;
327
+ private translationRender?;
328
+ constructor();
329
+ ngOnChanges(changes: SimpleChanges): void;
330
+ /**
331
+ * After initialized, check if the content is centered and has an origin. If so, set the
332
+ * special position states that transition the tab from the left or right before centering.
333
+ */
334
+ ngOnInit(): void;
335
+ ngOnDestroy(): void;
336
+ /** The text direction of the containing app. */
337
+ getLayoutDirection(): Direction;
338
+ /** Whether the provided position state is considered center, regardless of origin. */
339
+ isCenterPosition(position: KbqTabBodyPositionState | string): boolean;
340
+ /** Computes the position state that the tab body translates to. */
341
+ private computePositionAnimationState;
342
+ /**
343
+ * Starts the translation to the current position once it has rendered, and ends it once its transition
344
+ * has: the content is attached as the body starts centering and detached once it has left the center.
345
+ * Positions set within one frame translate once, from the last rendered one. The first frame starts from the
346
+ * position the body was created at when it has moved on from it: the content of a body created centered is
347
+ * attached at once, rendered or not.
348
+ */
349
+ private translateOnRender;
350
+ private translationStarted;
351
+ private translationDone;
352
+ /**
353
+ * Computes the position state based on the specified origin position. This is used if the
354
+ * tab is becoming visible immediately after creation.
355
+ */
356
+ private computePositionFromOrigin;
357
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabBody, never>;
358
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTabBody, "kbq-tab-body", never, { "positionInput": { "alias": "position"; "required": false; "isSignal": true; }; "originInput": { "alias": "origin"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; }, { "onCentering": "onCentering"; "beforeCenteringOutput": "beforeCentering"; "afterLeavingCenterOutput": "afterLeavingCenter"; "onCentered": "onCentered"; }, never, never, true, never>;
359
+ }
360
+ /**
361
+ * The portal host directive for the contents of the tab.
362
+ *
363
+ * @docs-private
364
+ */
365
+ declare class KbqTabBodyPortal extends CdkPortalOutlet implements OnInit, OnDestroy {
366
+ private readonly host;
367
+ /** Subscription to events for when the tab body begins centering. */
368
+ private centeringSub;
369
+ /** Subscription to events for when the tab body finishes leaving from center position. */
370
+ private leavingSub;
371
+ /** Set initial visibility or set up subscription for changing visibility. */
372
+ ngOnInit(): void;
373
+ /** Clean up centering subscription. */
374
+ ngOnDestroy(): void;
375
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabBodyPortal, never>;
376
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabBodyPortal, "[kbqTabBodyHost]", never, {}, {}, never, never, true, never>;
377
+ }
378
+
379
+ /** Decorates the `ng-template` tags and reads out the template from it. */
380
+ declare class KbqTabContent {
381
+ template: TemplateRef<any>;
382
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabContent, never>;
383
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabContent, "[kbqTabContent]", never, {}, {}, never, never, true, never>;
384
+ }
385
+
386
+ declare const KBQ_TAB_LABEL: InjectionToken<KbqTabLabel>;
387
+ /** Used to flag tab labels for use with the portal directive */
388
+ declare class KbqTabLabel extends CdkPortal {
389
+ /** Whether the tab contains only an icon without a label. */
390
+ readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
391
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabLabel, never>;
392
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabLabel, "[kbq-tab-label], [kbqTabLabel]", never, { "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
393
+ }
394
+
395
+ declare class KbqTab implements OnInit, OnChanges, OnDestroy {
396
+ private readonly viewContainerRef;
397
+ /** @docs-private */
398
+ get content(): TemplatePortal | null;
399
+ private readonly templateLabelQuery;
400
+ /** The label template of the tab: the `kbqTabLabel` in its content, or else the one assigned in code. */
401
+ get templateLabel(): KbqTabLabel;
402
+ set templateLabel(value: KbqTabLabel);
403
+ private _templateLabel;
404
+ /**
405
+ * Template provided in the tab content that will be used if present, used to enable lazy-loading
406
+ */
407
+ readonly explicitContent: _angular_core.Signal<TemplateRef<any> | undefined>;
408
+ /** Template inside the KbqTab view that contains an `<ng-content>`. */
409
+ readonly implicitContent: _angular_core.Signal<TemplateRef<any>>;
410
+ /** @docs-private */
411
+ readonly tooltipTitleInput: _angular_core.InputSignal<string | undefined>;
412
+ /** @docs-private */
413
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
414
+ get tooltipTitle(): string;
415
+ set tooltipTitle(value: string);
416
+ private _tooltipTitle;
417
+ /** Whether the tab is disabled: it cannot be selected and has no interactive states. */
418
+ get disabled(): boolean;
419
+ set disabled(value: boolean);
420
+ private _disabled;
421
+ /** Placement of the tooltip shown for a truncated or empty label. */
422
+ readonly tooltipPlacement: _angular_core.InputSignal<"left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "leftTop" | "leftBottom" | "bottom" | "bottomLeft" | "bottomRight">;
423
+ /** Plain text label for the tab, used when there is no template label. */
424
+ readonly textLabel: _angular_core.InputSignal<string>;
425
+ readonly empty: _angular_core.InputSignalWithTransform<boolean, unknown>;
426
+ readonly tabId: _angular_core.InputSignal<string>;
427
+ /** Whether the tab label contains only an icon (no text). */
428
+ get iconOnlyLabel(): boolean;
429
+ /** Emits whenever the internal state of the tab changes. */
430
+ readonly stateChanges: Subject<void>;
431
+ /**
432
+ * The relatively indexed position where 0 represents the center, negative is left, and positive
433
+ * represents the right.
434
+ */
435
+ position: number | null;
436
+ /**
437
+ * The initial relatively index origin of the tab if it was created and selected after there
438
+ * was already a selected tab. Provides context of what position the tab should originate from.
439
+ */
440
+ origin: number | null;
441
+ /** Whether the tab is currently active. A template that reads it is updated when it changes. */
442
+ get isActive(): boolean;
443
+ set isActive(value: boolean);
444
+ private readonly activeState;
445
+ get isOverflown(): boolean;
446
+ get overflowTooltipTitle(): string;
447
+ set overflowTooltipTitle(value: string);
448
+ private _overflowTooltipTitle;
449
+ /** Portal that will be the hosted content of the tab */
450
+ private contentPortal;
451
+ ngOnChanges(changes: SimpleChanges): void;
452
+ ngOnInit(): void;
453
+ ngOnDestroy(): void;
454
+ /**
455
+ * Keeps a label template assigned in code, used while the content of the tab has none. A falsy value is
456
+ * ignored.
457
+ *
458
+ * @docs-private
459
+ */
460
+ protected setTemplateLabelInput(value: KbqTabLabel): void;
461
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTab, never>;
462
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTab, "kbq-tab", ["kbqTab"], { "tooltipTitleInput": { "alias": "tooltipTitle"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; "isSignal": true; }; "textLabel": { "alias": "label"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "tabId": { "alias": "tabId"; "required": false; "isSignal": true; }; }, {}, ["templateLabelQuery", "explicitContent"], ["*"], true, never>;
463
+ }
464
+
465
+ /**
466
+ * Used in the `kbq-tab-group` view to display tab labels.
467
+ *
468
+ * @docs-private
469
+ */
470
+ declare class KbqTabLabelWrapper implements OnChanges, AfterViewInit {
471
+ elementRef: ElementRef<HTMLElement>;
472
+ private renderer;
473
+ private readonly labelContentQuery;
474
+ /** The element of the label content, measured to tell whether the label overflows. */
475
+ get labelContent(): ElementRef<HTMLElement>;
476
+ /** @docs-private */
477
+ readonly tabInput: _angular_core.InputSignal<KbqTab | undefined>;
478
+ /** @docs-private */
479
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
480
+ tab: KbqTab;
481
+ get disabled(): boolean;
482
+ set disabled(value: boolean);
483
+ private _disabled;
484
+ ngOnChanges(changes: SimpleChanges): void;
485
+ ngAfterViewInit(): void;
486
+ /**
487
+ * Sets focus on the wrapper element.
488
+ *
489
+ * `preventScroll: true`: `FocusKeyManager.setActiveItem` calls this itself, right after (and
490
+ * unconditionally on) the `change` emission that runs `KbqPaginatedTabHeader.setTabFocus` — so
491
+ * without the guard here too, that call's own `preventScroll: true` is immediately undone by
492
+ * this one, and an overflowing header double-jumps (native scroll-into-view, then the
493
+ * paginator-aware `scrollCorrection`) on every arrow-key press.
494
+ */
495
+ focus(): void;
496
+ getOffsetLeft(): number;
497
+ getOffsetWidth(): number;
498
+ checkOverflow(): void;
499
+ isOverflown(): boolean;
500
+ getInnerText(): string;
501
+ private addClassModifierForIcons;
502
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabLabelWrapper, never>;
503
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabLabelWrapper, "[kbqTabLabelWrapper]", never, { "tabInput": { "alias": "tab"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["labelContentQuery"], never, true, never>;
504
+ }
505
+
506
+ /**
507
+ * The header of the tab group which displays a list of all the tabs in the tab group.
508
+ * When the tabs list's width exceeds the width of the header container,
509
+ * then arrows will be displayed to allow the user to scroll
510
+ * left and right across the header.
511
+ *
512
+ * @docs-private
513
+ */
514
+ declare class KbqTabHeader extends KbqPaginatedTabHeader {
515
+ /** Whether the tabs are underlined. */
516
+ readonly underlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
517
+ private readonly itemsQuery;
518
+ private readonly itemsList;
519
+ private readonly tabListContainerQuery;
520
+ private readonly scrollbarViewportQuery;
521
+ private readonly tabListQuery;
522
+ private readonly nextPaginatorQuery;
523
+ private readonly previousPaginatorQuery;
524
+ /** The label wrappers of the tabs. */
525
+ get items(): QueryList<KbqTabLabelWrapper>;
526
+ /** The scroll container of the tab labels. */
527
+ get tabListContainer(): ElementRef;
528
+ protected get scrollbarViewport(): KbqScrollbarViewport;
529
+ /** The element that holds the tab labels. */
530
+ get tabList(): ElementRef;
531
+ /** The pagination arrow towards the end of the tab list. */
532
+ get nextPaginator(): ElementRef<HTMLElement>;
533
+ /** The pagination arrow towards the beginning of the tab list. */
534
+ get previousPaginator(): ElementRef<HTMLElement>;
535
+ private readonly isBrowser;
536
+ /** The underline as the last check of the tab group measured it, see `ngAfterContentChecked`. */
537
+ private checkedUnderline?;
538
+ protected get activeTabOffsetWidth(): number | undefined;
539
+ protected get activeTabOffsetLeft(): number | undefined;
540
+ protected get activeTabDisabled(): boolean;
541
+ ngAfterContentChecked(): void;
542
+ protected itemSelected(event: KeyboardEvent): void;
543
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabHeader, never>;
544
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTabHeader, "kbq-tab-header", never, { "underlined": { "alias": "underlined"; "required": false; "isSignal": true; }; }, { "selectFocusedIndex": "selectFocusedIndex"; "indexFocused": "indexFocused"; }, ["itemsQuery"], ["*"], true, never>;
545
+ }
546
+
547
+ declare class KbqAlignTabsCenterCssStyler {
548
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlignTabsCenterCssStyler, never>;
549
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAlignTabsCenterCssStyler, "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center], [kbqTabNavBar][kbq-align-tabs-center]", never, {}, {}, never, never, true, never>;
550
+ }
551
+ declare class KbqAlignTabsEndCssStyler {
552
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlignTabsEndCssStyler, never>;
553
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAlignTabsEndCssStyler, "kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end], [kbqTabNavBar][kbq-align-tabs-end]", never, {}, {}, never, never, true, never>;
554
+ }
555
+ declare class KbqStretchTabsCssStyler {
556
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqStretchTabsCssStyler, never>;
557
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqStretchTabsCssStyler, "kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs], [kbqTabNavBar][kbq-stretch-tabs]", never, {}, {}, never, never, true, never>;
558
+ }
559
+ /**
560
+ * @deprecated No-op. The vertical layout class is bound from `KbqTabGroup`/`KbqTabNavBar` themselves,
561
+ * so it follows the `vertical` value instead of merely the presence of the attribute. Will be removed
562
+ * in a future major version — stop importing it.
563
+ */
564
+ declare class KbqVerticalTabsCssStyler {
565
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqVerticalTabsCssStyler, never>;
566
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqVerticalTabsCssStyler, "kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical], [kbqTabNavBar][vertical]", never, {}, {}, never, never, true, never>;
567
+ }
568
+ /** A simple change event emitted on focus or selection changes. */
569
+ declare class KbqTabChangeEvent {
570
+ /** Index of the currently-selected tab. */
571
+ index: number;
572
+ /** Reference to the currently-selected tab. */
573
+ tab: KbqTab;
574
+ }
575
+ /** Possible positions for the tab header. */
576
+ type KbqTabHeaderPosition = 'above' | 'below';
577
+ /** Object that can be used to configure the default options for the tabs module. */
578
+ interface KbqTabsConfig {
579
+ /** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
580
+ animationDuration?: string;
581
+ }
582
+ /** Injection token that can be used to provide the default options the tabs module. */
583
+ declare const KBQ_TABS_CONFIG: InjectionToken<KbqTabsConfig>;
584
+ type KbqTabSelectBy = string | number | ((tabs: KbqTab[]) => KbqTab | null);
585
+ /**
586
+ * The persisted state of a tab group — which tab was selected.
587
+ *
588
+ * Both are stored: `tabId` is the only identifier that survives a reordering, and `index` is all there is
589
+ * when the tabs carry no `tabId`.
590
+ */
591
+ interface KbqTabsState {
592
+ tabId: string | null;
593
+ index: number;
594
+ }
595
+ /**
596
+ * Tab-group component. Supports basic tab pairs (label + content) and includes keyboard navigation.
597
+ */
598
+ declare class KbqTabGroup implements OnChanges, AfterContentInit, AfterViewInit, AfterContentChecked, OnDestroy {
599
+ private readonly changeDetectorRef;
600
+ private readonly destroyRef;
601
+ private readonly resizeObserver;
602
+ private readonly platform;
603
+ /**
604
+ * Persistence of the selected tab, applied as a host directive. `useStateSaving` and `stateSavingKey`
605
+ * are its inputs, forwarded onto the tab group.
606
+ */
607
+ private readonly stateSaving;
608
+ private readonly tabsQuery;
609
+ private readonly tabsList;
610
+ /** The tabs of the group. */
611
+ get tabs(): QueryList<KbqTab>;
612
+ readonly tabBodyWrapper: _angular_core.Signal<ElementRef<any>>;
613
+ readonly tabHeader: _angular_core.Signal<KbqTabHeader>;
614
+ /** Whether the tab strip background should be transparent. */
615
+ readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
616
+ /** Whether the group is rendered on a surface rather than on the page background. */
617
+ readonly onSurface: _angular_core.InputSignalWithTransform<boolean, unknown>;
618
+ /** Whether the selected tab is marked with an underline instead of a filled background. */
619
+ readonly underlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
620
+ /** Whether the tab strip is laid out vertically, alongside the content instead of above it. */
621
+ readonly vertical: _angular_core.InputSignalWithTransform<boolean, unknown>;
622
+ /** Whether the tab group should grow to the size of the active tab. */
623
+ readonly dynamicHeight: _angular_core.InputSignalWithTransform<boolean, unknown>;
624
+ /** @docs-private */
625
+ readonly selectedIndexInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
626
+ /** @docs-private */
627
+ readonly activeTabInput: _angular_core.InputSignal<KbqTabSelectBy | null | undefined>;
628
+ /** @docs-private */
629
+ readonly headerPositionInput: _angular_core.InputSignal<KbqTabHeaderPosition | undefined>;
630
+ /** @docs-private */
631
+ readonly animationDurationInput: _angular_core.InputSignal<string | undefined>;
632
+ /** The index of the active tab. */
633
+ get selectedIndex(): number;
634
+ set selectedIndex(value: number);
635
+ private readonly selectedIndexState;
636
+ get activeTab(): KbqTab | null;
637
+ set activeTab(value: KbqTabSelectBy | null);
638
+ /** Position of the tab header. */
639
+ headerPosition: KbqTabHeaderPosition;
640
+ /** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
641
+ animationDuration: string;
642
+ /** Output to enable support for two-way binding on `[(selectedIndex)]` */
643
+ readonly selectedIndexChange: _angular_core.OutputEmitterRef<number>;
644
+ /** Event emitted when the tab selection has changed. */
645
+ readonly activeTabChange: _angular_core.OutputEmitterRef<string | number | KbqTab>;
646
+ /** Event emitted when focus has changed within a tab group. */
647
+ readonly focusChange: _angular_core.OutputEmitterRef<KbqTabChangeEvent>;
648
+ /** Event emitted when the body animation has completed */
649
+ readonly animationDone: _angular_core.OutputEmitterRef<void>;
650
+ /** Event emitted when the tab selection has changed. */
651
+ readonly selectedTabChange: _angular_core.OutputEmitterRef<KbqTabChangeEvent>;
652
+ private attributeToSelectBy;
653
+ /**
654
+ * Whether anything has assigned `activeTab` or `selectedIndex`. Snapshotted while initializing, where
655
+ * only an input binding can have done so, and read from then on as "the application drives the
656
+ * selection" — which suppresses persistence.
657
+ */
658
+ private attributeWritten;
659
+ private controlled;
660
+ /** Whether the dev-mode warning about a tab with no `tabId` has already been logged. */
661
+ private warnedAboutTabId;
662
+ /** Snapshot of the height of the tab body wrapper before another tab is activated. */
663
+ private tabBodyWrapperHeight;
664
+ /** Subscription to tabs being added/removed. */
665
+ private tabsSubscription;
666
+ /** Subscription to changes in the tab labels. */
667
+ private tabLabelSubscription;
668
+ private readonly groupId;
669
+ private readonly defaultAnimationDuration;
670
+ constructor();
671
+ ngOnChanges(changes: SimpleChanges): void;
672
+ ngAfterContentInit(): void;
673
+ /**
674
+ * After the content is checked, this component knows what tabs have been defined
675
+ * and what the selected index should be. This is where we can know exactly what position
676
+ * each tab should be in according to the new selected index, and additionally we know how
677
+ * a new selected tab should transition in (from the left or right).
678
+ */
679
+ ngAfterContentChecked(): void;
680
+ ngAfterViewInit(): void;
681
+ ngOnDestroy(): void;
682
+ focusChanged(index: number): void;
683
+ /** Returns a unique id for each tab label element */
684
+ getTabLabelId(i: number): string;
685
+ /** Returns a unique id for each tab content element */
686
+ getTabContentId(i: number): string;
687
+ /**
688
+ * Sets the height of the body wrapper to the height of the activating tab if dynamic
689
+ * height property is true.
690
+ */
691
+ setTabBodyWrapperHeight(tabHeight: number): void;
692
+ /** Removes the height of the tab body wrapper. */
693
+ removeTabBodyWrapperHeight(): void;
694
+ /** Handle click events, setting new selected index if appropriate. */
695
+ handleClick(tab: KbqTab, tabHeader: KbqTabHeader, index: number): void;
696
+ /**
697
+ * Retrieves the tabindex for the tab. The single `0` follows the header's focus position rather
698
+ * than the selection, so that a disabled selected tab cannot take the whole strip out of the tab
699
+ * order — a disabled tab is `-1`, never absent, so it stays a roving-tabindex participant.
700
+ */
701
+ getTabIndex(tab: KbqTab, tabHeader: KbqTabHeader, index: number): number;
702
+ onSelectFocusedIndex($event: number): void;
703
+ /**
704
+ * Persists which tab is selected.
705
+ *
706
+ * Called for every selection a user makes. Both the tab's `tabId` and its position are stored: the
707
+ * `tabId` is the only one that survives the tabs being reordered, and the position is all there is
708
+ * when the tabs carry none.
709
+ */
710
+ saveState(): void;
711
+ /**
712
+ * Removes the state persisted for this tab group.
713
+ *
714
+ * Persistence itself stays on — the next selection is written again. Unset `useStateSaving` to stop
715
+ * it.
716
+ */
717
+ clearSavedState(): void;
718
+ /**
719
+ * Whether state is currently persisted for this tab group — restored on init, or written since.
720
+ * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.
721
+ */
722
+ get hasSavedState(): boolean;
723
+ /** Whether this tab group reads and writes its selection at all. */
724
+ private get persists();
725
+ /** Restores the persisted selection, unless the application drives it. */
726
+ private restoreState;
727
+ /** Reads the persisted selection and applies it. Runs while initializing, and again on a key change. */
728
+ private applySavedState;
729
+ /** The whole selection, by id and by position. */
730
+ private snapshot;
731
+ private checkOverflow;
732
+ private createChangeEvent;
733
+ /**
734
+ * Subscribes to changes in the tab labels. This is needed, because the `@Input` for the label is
735
+ * on the KbqTab component, whereas the data binding is inside the KbqTabGroup. In order for the
736
+ * binding to be updated, we need to subscribe to changes in it and trigger change detection
737
+ * manually.
738
+ */
739
+ private subscribeToTabLabels;
740
+ /**
741
+ * Index that owns `tabindex="0"`, falling back to the first enabled tab when focus sits on a
742
+ * disabled one.
743
+ *
744
+ * The template calls this once per tab, so the common path stays allocation-free: `QueryList.get`
745
+ * indexes the backing array, where `toArray()` would copy it N times per check.
746
+ */
747
+ private getRovingTabIndex;
748
+ /** First tab that can actually be selected, so that a leading disabled tab is not the default. */
749
+ private getDefaultTab;
750
+ /** Clamps the given index to the bounds of 0 and the tabs length. */
751
+ private clampTabIndex;
752
+ private getTabIndexToSelect;
753
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabGroup, never>;
754
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "onSurface": { "alias": "onSurface"; "required": false; "isSignal": true; }; "underlined": { "alias": "underlined"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; "isSignal": true; }; "selectedIndexInput": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "activeTabInput": { "alias": "activeTab"; "required": false; "isSignal": true; }; "headerPositionInput": { "alias": "headerPosition"; "required": false; "isSignal": true; }; "animationDurationInput": { "alias": "animationDuration"; "required": false; "isSignal": true; }; }, { "selectedIndexChange": "selectedIndexChange"; "activeTabChange": "activeTabChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabsQuery"], never, true, [{ directive: typeof i1.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }]>;
755
+ }
756
+
757
+ /**
758
+ * Navigation component matching the styles of the tab group header.
759
+ */
760
+ declare class KbqTabNavBar extends KbqPaginatedTabHeader implements AfterContentInit {
761
+ private readonly tabListContainerQuery;
762
+ private readonly scrollbarViewportQuery;
763
+ private readonly tabListQuery;
764
+ private readonly nextPaginatorQuery;
765
+ private readonly previousPaginatorQuery;
766
+ private readonly itemsQuery;
767
+ private readonly itemsList;
768
+ /** The scroll container of the tab links. */
769
+ get tabListContainer(): ElementRef;
770
+ protected get scrollbarViewport(): KbqScrollbarViewport;
771
+ /** The element that holds the tab links. */
772
+ get tabList(): ElementRef;
773
+ /** The pagination arrow towards the end of the tab list. */
774
+ get nextPaginator(): ElementRef<HTMLElement>;
775
+ /** The pagination arrow towards the beginning of the tab list. */
776
+ get previousPaginator(): ElementRef<HTMLElement>;
777
+ /** The tab links of the nav bar. */
778
+ get items(): QueryList<KbqTabLink>;
779
+ private readonly isBrowser;
780
+ /** Whether the nav bar background should be transparent. */
781
+ readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
782
+ readonly onSurface: _angular_core.InputSignalWithTransform<boolean, unknown>;
783
+ /** Whether the nav bar should be underlined. */
784
+ readonly underlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
785
+ /**
786
+ * Associated tab panel controlled by the nav bar.
787
+ */
788
+ readonly tabNavPanel: _angular_core.InputSignal<KbqTabNavPanel | undefined>;
789
+ get role(): string | null;
790
+ /**
791
+ * Vertical tablists are walked with ↑/↓ — ←/→ do nothing — so the orientation has to be announced.
792
+ * `aria-orientation` is only meaningful on a role that supports it, hence nothing without a panel.
793
+ */
794
+ protected get ariaOrientation(): string | null;
795
+ protected get activeTabOffsetWidth(): number | undefined;
796
+ protected get activeTabOffsetLeft(): number | undefined;
797
+ protected get activeTabDisabled(): boolean;
798
+ /** `activeTabDisabled` as this view last rendered it: a link's `disabled` input gives this view no notice. */
799
+ private checkedActiveTabDisabled;
800
+ ngAfterContentInit(): void;
801
+ ngAfterContentChecked(): void;
802
+ protected itemSelected(): void;
803
+ /** Notifies the component that the active link has been changed. */
804
+ updateActiveLink(): void;
805
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabNavBar, never>;
806
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTabNavBar, "[kbqTabNavBar], [kbq-tab-nav-bar]", ["kbqTabNavBar"], { "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "onSurface": { "alias": "onSurface"; "required": false; "isSignal": true; }; "underlined": { "alias": "underlined"; "required": false; "isSignal": true; }; "tabNavPanel": { "alias": "tabNavPanel"; "required": false; "isSignal": true; }; }, {}, ["itemsQuery"], ["*"], true, never>;
807
+ }
808
+ /**
809
+ * Link inside of a KbqTabNavBar.
810
+ */
811
+ declare class KbqTabLink implements OnChanges, OnDestroy, AfterViewInit {
812
+ /** @docs-private */
813
+ readonly idInput: _angular_core.InputSignal<string | undefined>;
814
+ /** @docs-private */
815
+ readonly activeInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
816
+ /** @docs-private */
817
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
818
+ /** @docs-private */
819
+ readonly tabIndexInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
820
+ private readonly uniqueId;
821
+ /** Unique id for the link. */
822
+ id: string;
823
+ /** Whether the link is active. */
824
+ get active(): boolean;
825
+ set active(value: boolean);
826
+ /** Whether the tab link is active or not. */
827
+ private _active;
828
+ get vertical(): boolean;
829
+ get underlined(): boolean;
830
+ /** Whether the tab link is disabled. */
831
+ disabled: boolean;
832
+ /** Link tab index. */
833
+ get tabIndex(): number;
834
+ set tabIndex(value: number);
835
+ private _tabIndex;
836
+ /** Link aria-selected attribute value. */
837
+ protected get ariaSelected(): string | null;
838
+ /** Link role attribute value. */
839
+ protected get role(): string | null;
840
+ /** Link aria-controls attribute value. */
841
+ protected get ariaControls(): string | null;
842
+ /** Link aria-current attribute value. */
843
+ protected get ariaCurrent(): string | null;
844
+ readonly elementRef: ElementRef<HTMLElement>;
845
+ private readonly focusMonitor;
846
+ private readonly renderer;
847
+ private readonly tabNavBar;
848
+ ngOnChanges(changes: SimpleChanges): void;
849
+ ngAfterViewInit(): void;
850
+ ngOnDestroy(): void;
851
+ private addClassModifierForIcons;
852
+ /**
853
+ * Focuses the tab link.
854
+ *
855
+ * `preventScroll: true`: `FocusKeyManager.setActiveItem` calls this itself, right after (and
856
+ * unconditionally on) the `change` emission that runs `KbqPaginatedTabHeader.setTabFocus` — so
857
+ * without the guard here too, that call's own `preventScroll: true` is immediately undone by
858
+ * this one, and an overflowing nav bar double-jumps (native scroll-into-view, then the
859
+ * paginator-aware `scrollCorrection`) on every arrow-key press.
860
+ */
861
+ focus(): void;
862
+ /** Handles the focus event. */
863
+ protected handleFocus(): void;
864
+ /** Handles the keydown event. */
865
+ protected handleKeydown(event: KeyboardEvent): void;
866
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabLink, never>;
867
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabLink, "[kbqTabLink], [kbq-tab-link]", ["kbqTabLink"], { "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "activeInput": { "alias": "active"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
868
+ }
869
+ /**
870
+ * Tab panel component associated with KbqTabNav.
871
+ */
872
+ declare class KbqTabNavPanel {
873
+ /** Unique id for the tab panel. */
874
+ readonly id: _angular_core.InputSignal<string>;
875
+ /** Id of the active tab in the nav bar. */
876
+ activeTabId?: string;
877
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabNavPanel, never>;
878
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTabNavPanel, "[kbqTabNavPanel]", ["kbqTabNavPanel"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
879
+ }
880
+
881
+ declare class KbqTabsModule {
882
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTabsModule, never>;
883
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqTabsModule, never, [typeof i1$1.PortalModule, typeof i2.A11yModule, typeof i3.CdkScrollableModule, typeof i4.KbqIconModule, typeof i5.KbqToolTipModule, typeof i6.CdkObserveContent, typeof KbqTabNavBar, typeof KbqTabLink, typeof KbqTabNavPanel, typeof KbqTabGroup, typeof KbqTabLabel, typeof KbqTab, typeof KbqTabLabelWrapper, typeof KbqTabBody, typeof KbqTabBodyPortal, typeof KbqTabHeader, typeof KbqTabContent, typeof KbqAlignTabsCenterCssStyler, typeof KbqAlignTabsEndCssStyler, typeof KbqStretchTabsCssStyler, typeof KbqVerticalTabsCssStyler], [typeof KbqTabGroup, typeof KbqTabLabel, typeof KbqTab, typeof KbqTabLabelWrapper, typeof KbqTabBody, typeof KbqTabBodyPortal, typeof KbqTabHeader, typeof KbqTabContent, typeof KbqAlignTabsCenterCssStyler, typeof KbqAlignTabsEndCssStyler, typeof KbqStretchTabsCssStyler, typeof KbqVerticalTabsCssStyler, typeof KbqTabNavBar, typeof KbqTabLink, typeof KbqTabNavPanel]>;
884
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqTabsModule>;
885
+ }
886
+
887
+ export { KBQ_TABS_CONFIG, KBQ_TAB_LABEL, KbqAlignTabsCenterCssStyler, KbqAlignTabsEndCssStyler, KbqPaginatedTabHeader, KbqStretchTabsCssStyler, KbqTab, KbqTabBody, KbqTabBodyPortal, KbqTabChangeEvent, KbqTabContent, KbqTabGroup, KbqTabHeader, KbqTabLabel, KbqTabLabelWrapper, KbqTabLink, KbqTabNavBar, KbqTabNavPanel, KbqTabsModule, KbqVerticalTabsCssStyler };
888
+ export type { KbqPaginatedTabHeaderItem, KbqTabBodyPositionState, KbqTabHeaderPosition, KbqTabSelectBy, KbqTabsConfig, KbqTabsState, ScrollDirection };