@koobiq/components 19.8.1 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (688) hide show
  1. package/accordion/index.d.ts +238 -1
  2. package/actions-panel/index.d.ts +303 -5
  3. package/alert/index.d.ts +54 -1
  4. package/app-switcher/index.d.ts +239 -1
  5. package/autocomplete/index.d.ts +265 -1
  6. package/badge/index.d.ts +57 -1
  7. package/breadcrumbs/breadcrumbs.scss +7 -0
  8. package/breadcrumbs/index.d.ts +243 -1
  9. package/button/_button-base.scss +20 -0
  10. package/button/_button-theme.scss +3 -11
  11. package/button/button.scss +0 -11
  12. package/button/index.d.ts +153 -1
  13. package/button-toggle/index.d.ts +155 -1
  14. package/checkbox/index.d.ts +159 -1
  15. package/clamped-text/index.d.ts +144 -4
  16. package/code-block/_code-block-theme.scss +0 -6
  17. package/code-block/code-block-tokens.scss +0 -2
  18. package/code-block/index.d.ts +383 -1
  19. package/content-panel/content-panel.scss +0 -8
  20. package/content-panel/index.d.ts +158 -2
  21. package/core/highlight/_highlight-theme.scss +9 -0
  22. package/core/index.d.ts +4405 -1
  23. package/core/option/_option-theme.scss +5 -14
  24. package/core/styles/_koobiq-theme.scss +1 -0
  25. package/core/styles/theming/_components-theming.scss +0 -62
  26. package/datepicker/index.d.ts +699 -1
  27. package/divider/index.d.ts +20 -1
  28. package/dl/index.d.ts +37 -1
  29. package/dropdown/_dropdown-theme.scss +4 -8
  30. package/dropdown/dropdown.scss +4 -0
  31. package/dropdown/index.d.ts +473 -1
  32. package/dynamic-translation/index.d.ts +81 -2
  33. package/ellipsis-center/index.d.ts +38 -1
  34. package/empty-state/index.d.ts +45 -1
  35. package/fesm2022/koobiq-components-accordion.mjs +103 -114
  36. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-actions-panel.mjs +16 -16
  38. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-alert.mjs +35 -49
  40. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-app-switcher.mjs +81 -86
  42. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-autocomplete.mjs +294 -304
  44. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-badge.mjs +35 -42
  46. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-breadcrumbs.mjs +154 -163
  48. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-button-toggle.mjs +87 -86
  50. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-button.mjs +209 -96
  52. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-checkbox.mjs +50 -52
  54. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-clamped-text.mjs +42 -49
  56. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-code-block.mjs +111 -136
  58. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-content-panel.mjs +90 -107
  60. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-core.mjs +1635 -628
  62. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-datepicker.mjs +285 -349
  64. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-divider.mjs +14 -25
  66. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-dl.mjs +27 -29
  68. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-dropdown.mjs +202 -167
  70. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-dynamic-translation.mjs +23 -23
  72. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-ellipsis-center.mjs +16 -21
  74. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-empty-state.mjs +35 -39
  76. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-file-upload.mjs +135 -234
  78. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-filter-bar.mjs +321 -561
  80. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-form-field.mjs +211 -430
  82. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-icon.mjs +42 -43
  84. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-inline-edit.mjs +65 -60
  86. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-input.mjs +116 -155
  88. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-link.mjs +38 -53
  90. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-list.mjs +105 -114
  92. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-loader-overlay.mjs +37 -44
  94. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-markdown.mjs +31 -35
  96. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-modal.mjs +169 -163
  98. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-navbar.mjs +162 -164
  100. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-notification-center.mjs +65 -203
  102. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-overflow-items.mjs +36 -36
  104. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-popover.mjs +95 -86
  106. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-progress-bar.mjs +24 -30
  108. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-progress-spinner.mjs +25 -32
  110. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-radio.mjs +94 -80
  112. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-resizer.mjs +17 -17
  114. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-scrollbar.mjs +69 -60
  116. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-search-expandable.mjs +44 -35
  118. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-select.mjs +249 -234
  120. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-sidebar.mjs +59 -55
  122. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-sidepanel.mjs +88 -128
  124. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-skeleton.mjs +12 -12
  126. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-split-button.mjs +27 -20
  128. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-splitter.mjs +110 -96
  130. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-table.mjs +21 -23
  132. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-tabs.mjs +269 -275
  134. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-tags.mjs +177 -267
  136. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-textarea.mjs +37 -56
  138. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-time-range.mjs +64 -65
  140. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-timepicker.mjs +46 -38
  142. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-timezone.mjs +52 -58
  144. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-title.mjs +23 -30
  146. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-toast.mjs +54 -69
  148. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-toggle.mjs +51 -63
  150. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-tooltip.mjs +91 -119
  152. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-top-bar.mjs +25 -23
  154. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tree-select.mjs +227 -227
  156. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-tree.mjs +217 -209
  158. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-username.mjs +48 -48
  160. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  161. package/file-upload/index.d.ts +574 -1
  162. package/filter-bar/_filter-bar-theme.scss +0 -4
  163. package/filter-bar/index.d.ts +796 -1
  164. package/form-field/index.d.ts +569 -1
  165. package/icon/index.d.ts +162 -1
  166. package/index.d.ts +2 -1
  167. package/inline-edit/index.d.ts +171 -2
  168. package/input/index.d.ts +339 -1
  169. package/link/index.d.ts +56 -1
  170. package/list/index.d.ts +220 -1
  171. package/loader-overlay/index.d.ts +57 -1
  172. package/markdown/index.d.ts +68 -1
  173. package/modal/_modal-theme.scss +0 -8
  174. package/modal/index.d.ts +311 -1
  175. package/navbar/index.d.ts +304 -1
  176. package/navbar/navbar-item.scss +0 -9
  177. package/notification-center/_notification-center-theme.scss +1 -2
  178. package/notification-center/index.d.ts +237 -1
  179. package/notification-center/notification-center.scss +3 -36
  180. package/notification-center/notification-item.scss +1 -1
  181. package/overflow-items/index.d.ts +161 -2
  182. package/package.json +9 -17
  183. package/popover/index.d.ts +182 -1
  184. package/popover/popover.scss +8 -12
  185. package/prebuilt-themes/dark-theme.css +1 -1
  186. package/prebuilt-themes/light-theme.css +1 -1
  187. package/prebuilt-themes/theme.css +1 -1
  188. package/progress-bar/index.d.ts +31 -1
  189. package/progress-spinner/index.d.ts +37 -1
  190. package/radio/index.d.ts +207 -1
  191. package/resizer/index.d.ts +85 -2
  192. package/schematics/collection.json +5 -0
  193. package/schematics/migrations/css-selectors/index.js +1 -1
  194. package/schematics/migrations/deprecated-icons/index.js +1 -1
  195. package/schematics/migrations/new-icons-pack/index.js +1 -1
  196. package/schematics/migrations/v20-upgrade/README.md +72 -0
  197. package/schematics/migrations/v20-upgrade/data.js +274 -0
  198. package/schematics/migrations/v20-upgrade/index.js +222 -0
  199. package/schematics/migrations/v20-upgrade/schema.json +20 -0
  200. package/schematics/migrations.json +10 -0
  201. package/schematics/ng-add/index.js +3 -4
  202. package/scrollbar/index.d.ts +136 -1
  203. package/search-expandable/index.d.ts +98 -1
  204. package/select/index.d.ts +693 -1
  205. package/sidebar/index.d.ts +92 -1
  206. package/sidepanel/index.d.ts +263 -1
  207. package/sidepanel/sidepanel.scss +0 -8
  208. package/skeleton/index.d.ts +26 -2
  209. package/split-button/index.d.ts +46 -1
  210. package/splitter/index.d.ts +141 -1
  211. package/table/index.d.ts +23 -1
  212. package/tabs/_tabs-common.scss +27 -0
  213. package/tabs/_tabs-theme.scss +2 -2
  214. package/tabs/index.d.ts +645 -1
  215. package/tags/index.d.ts +706 -1
  216. package/textarea/index.d.ts +134 -1
  217. package/time-range/index.d.ts +310 -7
  218. package/timepicker/index.d.ts +193 -1
  219. package/timezone/index.d.ts +122 -1
  220. package/title/index.d.ts +41 -1
  221. package/toast/index.d.ts +164 -1
  222. package/toggle/index.d.ts +84 -1
  223. package/tooltip/index.d.ts +163 -1
  224. package/top-bar/index.d.ts +33 -1
  225. package/tree/_tree-theme.scss +4 -0
  226. package/tree/index.d.ts +718 -1
  227. package/tree/tree-option.scss +20 -7
  228. package/tree-select/_tree-select-theme.scss +39 -0
  229. package/tree-select/index.d.ts +377 -1
  230. package/username/index.d.ts +176 -5
  231. package/accordion/accordion-content.d.ts +0 -6
  232. package/accordion/accordion-content.directive.d.ts +0 -27
  233. package/accordion/accordion-header.d.ts +0 -6
  234. package/accordion/accordion-header.directive.d.ts +0 -7
  235. package/accordion/accordion-item.d.ts +0 -77
  236. package/accordion/accordion-trigger.component.d.ts +0 -24
  237. package/accordion/accordion-trigger.directive.d.ts +0 -21
  238. package/accordion/accordion.component.d.ts +0 -79
  239. package/accordion/accordion.module.d.ts +0 -12
  240. package/accordion/public-api.d.ts +0 -9
  241. package/actions-panel/actions-panel-config.d.ts +0 -82
  242. package/actions-panel/actions-panel-container.d.ts +0 -90
  243. package/actions-panel/actions-panel-ref.d.ts +0 -44
  244. package/actions-panel/actions-panel.d.ts +0 -84
  245. package/actions-panel/module.d.ts +0 -7
  246. package/alert/alert.component.d.ts +0 -43
  247. package/alert/alert.module.d.ts +0 -9
  248. package/alert/public-api.d.ts +0 -2
  249. package/app-switcher/app-switcher-animations.d.ts +0 -5
  250. package/app-switcher/app-switcher-dropdown-app.d.ts +0 -11
  251. package/app-switcher/app-switcher-dropdown-site.d.ts +0 -9
  252. package/app-switcher/app-switcher.d.ts +0 -198
  253. package/app-switcher/app-switcher.module.d.ts +0 -10
  254. package/app-switcher/kbq-app-switcher-list-item.d.ts +0 -16
  255. package/app-switcher/public-api.d.ts +0 -6
  256. package/autocomplete/autocomplete-origin.directive.d.ts +0 -12
  257. package/autocomplete/autocomplete-trigger.directive.d.ts +0 -169
  258. package/autocomplete/autocomplete.component.d.ts +0 -88
  259. package/autocomplete/autocomplete.module.d.ts +0 -12
  260. package/autocomplete/public-api.d.ts +0 -4
  261. package/badge/badge.component.d.ts +0 -46
  262. package/badge/badge.module.d.ts +0 -9
  263. package/badge/public-api.d.ts +0 -2
  264. package/breadcrumbs/breadcrumbs.d.ts +0 -127
  265. package/breadcrumbs/breadcrumbs.module.d.ts +0 -7
  266. package/breadcrumbs/breadcrumbs.types.d.ts +0 -22
  267. package/breadcrumbs/public-api.d.ts +0 -5
  268. package/breadcrumbs/roving-focus-group.directive.d.ts +0 -50
  269. package/breadcrumbs/roving-focus-item.directive.d.ts +0 -50
  270. package/breadcrumbs/utils.d.ts +0 -19
  271. package/button/button-group.d.ts +0 -45
  272. package/button/button.component.d.ts +0 -59
  273. package/button/button.dropdown-trigger.directive.d.ts +0 -14
  274. package/button/button.module.d.ts +0 -12
  275. package/button/public-api.d.ts +0 -4
  276. package/button-toggle/button-toggle.component.d.ts +0 -146
  277. package/button-toggle/button-toggle.module.d.ts +0 -9
  278. package/button-toggle/public-api.d.ts +0 -2
  279. package/checkbox/checkbox-config.d.ts +0 -13
  280. package/checkbox/checkbox-module.d.ts +0 -9
  281. package/checkbox/checkbox-required-validator.d.ts +0 -13
  282. package/checkbox/checkbox.d.ts +0 -128
  283. package/checkbox/public-api.d.ts +0 -4
  284. package/clamped-text/clamped-list.d.ts +0 -41
  285. package/clamped-text/clamped-text.d.ts +0 -65
  286. package/clamped-text/constants.d.ts +0 -34
  287. package/clamped-text/module.d.ts +0 -8
  288. package/code-block/code-block-highlight.d.ts +0 -98
  289. package/code-block/code-block.d.ts +0 -259
  290. package/code-block/code-block.module.d.ts +0 -7
  291. package/code-block/public-api.d.ts +0 -4
  292. package/code-block/types.d.ts +0 -36
  293. package/content-panel/content-panel.d.ts +0 -149
  294. package/content-panel/module.d.ts +0 -7
  295. package/core/animation/animation.d.ts +0 -37
  296. package/core/animation/fade-animations.d.ts +0 -2
  297. package/core/animation/index.d.ts +0 -3
  298. package/core/animation/select-animations.d.ts +0 -12
  299. package/core/common-behaviors/checkbox.d.ts +0 -5
  300. package/core/common-behaviors/clipboard.d.ts +0 -12
  301. package/core/common-behaviors/color.d.ts +0 -50
  302. package/core/common-behaviors/common-module.d.ts +0 -38
  303. package/core/common-behaviors/constructor.d.ts +0 -9
  304. package/core/common-behaviors/disabled.d.ts +0 -8
  305. package/core/common-behaviors/error-state.d.ts +0 -46
  306. package/core/common-behaviors/flex.d.ts +0 -4
  307. package/core/common-behaviors/hover.d.ts +0 -15
  308. package/core/common-behaviors/index.d.ts +0 -14
  309. package/core/common-behaviors/orientation.d.ts +0 -4
  310. package/core/common-behaviors/read-state.d.ts +0 -12
  311. package/core/common-behaviors/size.d.ts +0 -4
  312. package/core/common-behaviors/tabindex.d.ts +0 -8
  313. package/core/datetime/date-adapter.d.ts +0 -12
  314. package/core/datetime/date-formats.d.ts +0 -4
  315. package/core/datetime/index.d.ts +0 -2
  316. package/core/error/error-state-matcher.d.ts +0 -39
  317. package/core/form-field/field-sizing-content.d.ts +0 -21
  318. package/core/form-field/form-field-ref.d.ts +0 -28
  319. package/core/form-field/index.d.ts +0 -2
  320. package/core/formatters/date/formatter.d.ts +0 -11
  321. package/core/formatters/date/formatter.pipe.d.ts +0 -139
  322. package/core/formatters/filesize/config.d.ts +0 -66
  323. package/core/formatters/filesize/formatter.d.ts +0 -17
  324. package/core/formatters/filesize/index.d.ts +0 -3
  325. package/core/formatters/filesize/size.d.ts +0 -52
  326. package/core/formatters/index.d.ts +0 -13
  327. package/core/formatters/number/formatter.d.ts +0 -101
  328. package/core/forms/forms-module.d.ts +0 -7
  329. package/core/forms/forms.directive.d.ts +0 -22
  330. package/core/forms/index.d.ts +0 -3
  331. package/core/forms/validators.d.ts +0 -120
  332. package/core/highlight/highlight.pipe.d.ts +0 -10
  333. package/core/highlight/index.d.ts +0 -9
  334. package/core/line/line.d.ts +0 -23
  335. package/core/locales/en-US.d.ts +0 -176
  336. package/core/locales/es-LA.d.ts +0 -175
  337. package/core/locales/formatters.d.ts +0 -190
  338. package/core/locales/index.d.ts +0 -9
  339. package/core/locales/locale-service.d.ts +0 -1117
  340. package/core/locales/locale-service.module.d.ts +0 -6
  341. package/core/locales/pt-BR.d.ts +0 -175
  342. package/core/locales/ru-RU.d.ts +0 -176
  343. package/core/locales/tk-TM.d.ts +0 -176
  344. package/core/locales/types.d.ts +0 -77
  345. package/core/navbar/index.d.ts +0 -1
  346. package/core/navbar/rectangle-item.d.ts +0 -14
  347. package/core/option/action-container.d.ts +0 -5
  348. package/core/option/action.d.ts +0 -38
  349. package/core/option/index.d.ts +0 -5
  350. package/core/option/optgroup.d.ts +0 -16
  351. package/core/option/option-module.d.ts +0 -10
  352. package/core/option/option.d.ts +0 -170
  353. package/core/overlay/overlay-position-map.d.ts +0 -40
  354. package/core/pop-up/constants.d.ts +0 -56
  355. package/core/pop-up/focus-trap-strategy.d.ts +0 -5
  356. package/core/pop-up/index.d.ts +0 -5
  357. package/core/pop-up/pop-up-styles.d.ts +0 -2
  358. package/core/pop-up/pop-up-trigger.d.ts +0 -104
  359. package/core/pop-up/pop-up.d.ts +0 -57
  360. package/core/public-api.d.ts +0 -23
  361. package/core/select/common.d.ts +0 -59
  362. package/core/select/constants.d.ts +0 -22
  363. package/core/select/errors.d.ts +0 -19
  364. package/core/select/events.d.ts +0 -1
  365. package/core/select/index.d.ts +0 -4
  366. package/core/selection/constants.d.ts +0 -4
  367. package/core/selection/index.d.ts +0 -3
  368. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -23
  369. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +0 -8
  370. package/core/services/measure-scrollbar.service.d.ts +0 -11
  371. package/core/services/theme.service.d.ts +0 -41
  372. package/core/title/index.d.ts +0 -1
  373. package/core/title/title-text-ref.d.ts +0 -6
  374. package/core/tokens/index.d.ts +0 -1
  375. package/core/tokens/window.d.ts +0 -5
  376. package/core/utils/dom.d.ts +0 -4
  377. package/core/utils/index.d.ts +0 -2
  378. package/core/utils/public-api.d.ts +0 -1
  379. package/core/utils/utils.d.ts +0 -25
  380. package/core/validation/index.d.ts +0 -1
  381. package/core/validation/validation.d.ts +0 -29
  382. package/core/version.d.ts +0 -2
  383. package/datepicker/calendar-body.component.d.ts +0 -55
  384. package/datepicker/calendar-header.component.d.ts +0 -51
  385. package/datepicker/calendar.component.d.ts +0 -89
  386. package/datepicker/datepicker-animations.d.ts +0 -9
  387. package/datepicker/datepicker-errors.d.ts +0 -2
  388. package/datepicker/datepicker-input.directive.d.ts +0 -221
  389. package/datepicker/datepicker-intl.d.ts +0 -32
  390. package/datepicker/datepicker-module.d.ts +0 -21
  391. package/datepicker/datepicker-toggle.component.d.ts +0 -57
  392. package/datepicker/datepicker.component.d.ts +0 -148
  393. package/datepicker/month-view.component.d.ts +0 -73
  394. package/datepicker/public-api.d.ts +0 -10
  395. package/divider/divider.component.d.ts +0 -18
  396. package/divider/divider.module.d.ts +0 -8
  397. package/divider/public-api.d.ts +0 -2
  398. package/dl/dl.component.d.ts +0 -26
  399. package/dl/dl.module.d.ts +0 -9
  400. package/dl/public-api.d.ts +0 -2
  401. package/dropdown/dropdown-animations.d.ts +0 -11
  402. package/dropdown/dropdown-content.directive.d.ts +0 -32
  403. package/dropdown/dropdown-errors.d.ts +0 -17
  404. package/dropdown/dropdown-item.component.d.ts +0 -52
  405. package/dropdown/dropdown-trigger.directive.d.ts +0 -156
  406. package/dropdown/dropdown.component.d.ts +0 -126
  407. package/dropdown/dropdown.module.d.ts +0 -13
  408. package/dropdown/dropdown.types.d.ts +0 -67
  409. package/dropdown/public-api.d.ts +0 -8
  410. package/dynamic-translation/dynamic-translation.d.ts +0 -72
  411. package/dynamic-translation/module.d.ts +0 -7
  412. package/ellipsis-center/ellipsis-center.directive.d.ts +0 -36
  413. package/ellipsis-center/public-api.d.ts +0 -1
  414. package/empty-state/empty-state.component.d.ts +0 -36
  415. package/empty-state/empty-state.module.d.ts +0 -9
  416. package/empty-state/public-api.d.ts +0 -2
  417. package/fesm2022/koobiq-components-navbar-ic.mjs +0 -863
  418. package/fesm2022/koobiq-components-navbar-ic.mjs.map +0 -1
  419. package/fesm2022/koobiq-components-risk-level.mjs +0 -75
  420. package/fesm2022/koobiq-components-risk-level.mjs.map +0 -1
  421. package/file-upload/dropzone.d.ts +0 -147
  422. package/file-upload/file-upload.d.ts +0 -102
  423. package/file-upload/file-upload.module.d.ts +0 -20
  424. package/file-upload/multiple-file-upload.component.d.ts +0 -138
  425. package/file-upload/primitives/file-drop.d.ts +0 -35
  426. package/file-upload/primitives/file-picker.d.ts +0 -82
  427. package/file-upload/primitives/index.d.ts +0 -2
  428. package/file-upload/public-api.d.ts +0 -7
  429. package/file-upload/single-file-upload.component.d.ts +0 -118
  430. package/filter-bar/filter-bar-button.d.ts +0 -14
  431. package/filter-bar/filter-bar.d.ts +0 -81
  432. package/filter-bar/filter-bar.module.d.ts +0 -17
  433. package/filter-bar/filter-bar.types.d.ts +0 -143
  434. package/filter-bar/filter-refresher.d.ts +0 -5
  435. package/filter-bar/filter-reset.d.ts +0 -15
  436. package/filter-bar/filter-search.d.ts +0 -54
  437. package/filter-bar/filter-search.scss +0 -12
  438. package/filter-bar/filters.d.ts +0 -122
  439. package/filter-bar/pipe-add.d.ts +0 -28
  440. package/filter-bar/pipe.directive.d.ts +0 -13
  441. package/filter-bar/pipes/base-pipe.d.ts +0 -74
  442. package/filter-bar/pipes/pipe-button.d.ts +0 -21
  443. package/filter-bar/pipes/pipe-date.d.ts +0 -65
  444. package/filter-bar/pipes/pipe-datetime.d.ts +0 -66
  445. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -56
  446. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +0 -67
  447. package/filter-bar/pipes/pipe-readonly.d.ts +0 -7
  448. package/filter-bar/pipes/pipe-select.d.ts +0 -30
  449. package/filter-bar/pipes/pipe-state.d.ts +0 -21
  450. package/filter-bar/pipes/pipe-text.d.ts +0 -26
  451. package/filter-bar/pipes/pipe-title.d.ts +0 -27
  452. package/filter-bar/pipes/pipe-tree-select.d.ts +0 -42
  453. package/filter-bar/public-api.d.ts +0 -21
  454. package/form-field/cleaner.d.ts +0 -11
  455. package/form-field/error.d.ts +0 -8
  456. package/form-field/fieldset.d.ts +0 -27
  457. package/form-field/form-field-control.d.ts +0 -40
  458. package/form-field/form-field.d.ts +0 -298
  459. package/form-field/form-field.module.d.ts +0 -19
  460. package/form-field/hint.d.ts +0 -15
  461. package/form-field/label.d.ts +0 -6
  462. package/form-field/password-hint.d.ts +0 -53
  463. package/form-field/password-toggle.d.ts +0 -56
  464. package/form-field/prefix.d.ts +0 -6
  465. package/form-field/public-api.d.ts +0 -15
  466. package/form-field/reactive-password-hint.d.ts +0 -20
  467. package/form-field/stepper.d.ts +0 -59
  468. package/form-field/suffix.d.ts +0 -6
  469. package/form-field/validate.directive.d.ts +0 -53
  470. package/icon/icon-button.component.d.ts +0 -28
  471. package/icon/icon-item.component.d.ts +0 -11
  472. package/icon/icon-registry-providers.d.ts +0 -34
  473. package/icon/icon-registry.d.ts +0 -50
  474. package/icon/icon.component.d.ts +0 -33
  475. package/icon/icon.module.d.ts +0 -9
  476. package/icon/public-api.d.ts +0 -6
  477. package/inline-edit/inline-edit.d.ts +0 -161
  478. package/inline-edit/module.d.ts +0 -7
  479. package/input/input-errors.d.ts +0 -1
  480. package/input/input-number-validators.d.ts +0 -35
  481. package/input/input-number.d.ts +0 -96
  482. package/input/input-password.d.ts +0 -99
  483. package/input/input-value-accessor.d.ts +0 -4
  484. package/input/input.d.ts +0 -109
  485. package/input/input.module.d.ts +0 -14
  486. package/input/public-api.d.ts +0 -6
  487. package/link/link.component.d.ts +0 -53
  488. package/link/link.module.d.ts +0 -8
  489. package/link/public-api.d.ts +0 -2
  490. package/list/list-selection.component.d.ts +0 -196
  491. package/list/list.component.d.ts +0 -18
  492. package/list/list.module.d.ts +0 -11
  493. package/list/public-api.d.ts +0 -3
  494. package/loader-overlay/loader-overlay.component.d.ts +0 -47
  495. package/loader-overlay/loader-overlay.module.d.ts +0 -10
  496. package/loader-overlay/public-api.d.ts +0 -2
  497. package/markdown/markdown.component.d.ts +0 -31
  498. package/markdown/markdown.module.d.ts +0 -7
  499. package/markdown/markdown.service.d.ts +0 -19
  500. package/markdown/markdown.values.d.ts +0 -10
  501. package/markdown/public-api.d.ts +0 -4
  502. package/modal/css-unit.pipe.d.ts +0 -7
  503. package/modal/modal-control.service.d.ts +0 -20
  504. package/modal/modal-ref.class.d.ts +0 -37
  505. package/modal/modal-util.d.ts +0 -15
  506. package/modal/modal.component.d.ts +0 -141
  507. package/modal/modal.directive.d.ts +0 -20
  508. package/modal/modal.module.d.ts +0 -15
  509. package/modal/modal.service.d.ts +0 -42
  510. package/modal/modal.type.d.ts +0 -72
  511. package/modal/public-api.d.ts +0 -6
  512. package/navbar/navbar-brand.component.d.ts +0 -41
  513. package/navbar/navbar-item.component.d.ts +0 -131
  514. package/navbar/navbar-toggle.component.d.ts +0 -23
  515. package/navbar/navbar.component.d.ts +0 -68
  516. package/navbar/navbar.module.d.ts +0 -15
  517. package/navbar/public-api.d.ts +0 -6
  518. package/navbar/vertical-navbar.component.d.ts +0 -47
  519. package/navbar-ic/_navbar-ic-theme.scss +0 -81
  520. package/navbar-ic/index.d.ts +0 -1
  521. package/navbar-ic/navbar-ic-divider.scss +0 -7
  522. package/navbar-ic/navbar-ic-header.d.ts +0 -22
  523. package/navbar-ic/navbar-ic-header.scss +0 -49
  524. package/navbar-ic/navbar-ic-item.d.ts +0 -144
  525. package/navbar-ic/navbar-ic-item.scss +0 -92
  526. package/navbar-ic/navbar-ic-tokens.scss +0 -22
  527. package/navbar-ic/navbar-ic.animation.d.ts +0 -3
  528. package/navbar-ic/navbar-ic.d.ts +0 -118
  529. package/navbar-ic/navbar-ic.module.d.ts +0 -14
  530. package/navbar-ic/navbar-ic.scss +0 -32
  531. package/navbar-ic/public-api.d.ts +0 -4
  532. package/notification-center/notification-center-animations.d.ts +0 -5
  533. package/notification-center/notification-center.d.ts +0 -184
  534. package/notification-center/notification-center.module.d.ts +0 -7
  535. package/notification-center/notification-center.service.d.ts +0 -115
  536. package/notification-center/notification-item.d.ts +0 -27
  537. package/notification-center/public-api.d.ts +0 -4
  538. package/overflow-items/module.d.ts +0 -7
  539. package/overflow-items/overflow-items.d.ts +0 -152
  540. package/popover/popover-animations.d.ts +0 -4
  541. package/popover/popover-confirm.component.d.ts +0 -28
  542. package/popover/popover.component.d.ts +0 -139
  543. package/popover/popover.module.d.ts +0 -14
  544. package/popover/public-api.d.ts +0 -4
  545. package/progress-bar/progress-bar.component.d.ts +0 -20
  546. package/progress-bar/progress-bar.module.d.ts +0 -8
  547. package/progress-bar/public-api.d.ts +0 -2
  548. package/progress-spinner/progress-spinner.component.d.ts +0 -26
  549. package/progress-spinner/progress-spinner.module.d.ts +0 -9
  550. package/progress-spinner/public-api.d.ts +0 -2
  551. package/public-api.d.ts +0 -1
  552. package/radio/public-api.d.ts +0 -2
  553. package/radio/radio.component.d.ts +0 -200
  554. package/radio/radio.module.d.ts +0 -8
  555. package/resizer/module.d.ts +0 -7
  556. package/resizer/resizer.d.ts +0 -75
  557. package/risk-level/_risk-level-theme.scss +0 -74
  558. package/risk-level/index.d.ts +0 -1
  559. package/risk-level/public-api.d.ts +0 -2
  560. package/risk-level/risk-level-tokens.scss +0 -33
  561. package/risk-level/risk-level.component.d.ts +0 -21
  562. package/risk-level/risk-level.component.scss +0 -22
  563. package/risk-level/risk-level.module.d.ts +0 -12
  564. package/scrollbar/public-api.d.ts +0 -4
  565. package/scrollbar/scrollbar.component.d.ts +0 -37
  566. package/scrollbar/scrollbar.directive.d.ts +0 -29
  567. package/scrollbar/scrollbar.module.d.ts +0 -8
  568. package/scrollbar/scrollbar.types.d.ts +0 -33
  569. package/search-expandable/public-api.d.ts +0 -2
  570. package/search-expandable/search-expandable.d.ts +0 -89
  571. package/search-expandable/search-expandable.module.d.ts +0 -7
  572. package/select/public-api.d.ts +0 -4
  573. package/select/select-common.d.ts +0 -30
  574. package/select/select-option.directive.d.ts +0 -21
  575. package/select/select.component.d.ts +0 -627
  576. package/select/select.module.d.ts +0 -17
  577. package/sidebar/public-api.d.ts +0 -2
  578. package/sidebar/sidebar-animations.d.ts +0 -8
  579. package/sidebar/sidebar.component.d.ts +0 -80
  580. package/sidebar/sidebar.module.d.ts +0 -8
  581. package/sidepanel/public-api.d.ts +0 -6
  582. package/sidepanel/sidepanel-animations.d.ts +0 -20
  583. package/sidepanel/sidepanel-config.d.ts +0 -43
  584. package/sidepanel/sidepanel-container.component.d.ts +0 -67
  585. package/sidepanel/sidepanel-directives.d.ts +0 -61
  586. package/sidepanel/sidepanel-ref.d.ts +0 -36
  587. package/sidepanel/sidepanel.module.d.ts +0 -14
  588. package/sidepanel/sidepanel.service.d.ts +0 -58
  589. package/skeleton/module.d.ts +0 -7
  590. package/skeleton/skeleton.d.ts +0 -17
  591. package/split-button/public-api.d.ts +0 -2
  592. package/split-button/split-button.d.ts +0 -37
  593. package/split-button/split-button.module.d.ts +0 -7
  594. package/splitter/public-api.d.ts +0 -2
  595. package/splitter/splitter.component.d.ts +0 -136
  596. package/splitter/splitter.module.d.ts +0 -8
  597. package/table/public-api.d.ts +0 -2
  598. package/table/table.component.d.ts +0 -12
  599. package/table/table.module.d.ts +0 -9
  600. package/tabs/paginated-tab-header.d.ts +0 -182
  601. package/tabs/public-api.d.ts +0 -10
  602. package/tabs/tab-body.component.d.ts +0 -95
  603. package/tabs/tab-content.directive.d.ts +0 -9
  604. package/tabs/tab-group.component.d.ts +0 -137
  605. package/tabs/tab-header.component.d.ts +0 -32
  606. package/tabs/tab-label-wrapper.directive.d.ts +0 -29
  607. package/tabs/tab-label.directive.d.ts +0 -9
  608. package/tabs/tab-nav-bar.d.ts +0 -91
  609. package/tabs/tab.component.d.ts +0 -68
  610. package/tabs/tabs-animations.d.ts +0 -4
  611. package/tabs/tabs.module.d.ts +0 -20
  612. package/tags/public-api.d.ts +0 -5
  613. package/tags/tag-default-options.d.ts +0 -13
  614. package/tags/tag-input.d.ts +0 -110
  615. package/tags/tag-list.component.d.ts +0 -373
  616. package/tags/tag-text-control.d.ts +0 -10
  617. package/tags/tag.component.d.ts +0 -272
  618. package/tags/tag.module.d.ts +0 -10
  619. package/textarea/public-api.d.ts +0 -2
  620. package/textarea/textarea.component.d.ts +0 -123
  621. package/textarea/textarea.module.d.ts +0 -10
  622. package/time-range/constants.d.ts +0 -19
  623. package/time-range/module.d.ts +0 -10
  624. package/time-range/time-range-editor.d.ts +0 -65
  625. package/time-range/time-range-title-as-form-field.d.ts +0 -41
  626. package/time-range/time-range-title.d.ts +0 -18
  627. package/time-range/time-range.d.ts +0 -78
  628. package/time-range/time-range.service.d.ts +0 -25
  629. package/time-range/types.d.ts +0 -69
  630. package/timepicker/public-api.d.ts +0 -3
  631. package/timepicker/timepicker.constants.d.ts +0 -22
  632. package/timepicker/timepicker.directive.d.ts +0 -159
  633. package/timepicker/timepicker.module.d.ts +0 -11
  634. package/timezone/cities-by-filter.pipe.d.ts +0 -7
  635. package/timezone/public-api.d.ts +0 -6
  636. package/timezone/timezone-option.component.d.ts +0 -15
  637. package/timezone/timezone-option.directive.d.ts +0 -22
  638. package/timezone/timezone-select.component.d.ts +0 -16
  639. package/timezone/timezone.models.d.ts +0 -16
  640. package/timezone/timezone.module.d.ts +0 -20
  641. package/timezone/timezone.utils.d.ts +0 -22
  642. package/timezone/utc-offset.pipe.d.ts +0 -9
  643. package/title/public-api.d.ts +0 -2
  644. package/title/title.directive.d.ts +0 -33
  645. package/title/title.module.d.ts +0 -8
  646. package/toast/public-api.d.ts +0 -5
  647. package/toast/toast-animations.d.ts +0 -5
  648. package/toast/toast-container.component.d.ts +0 -19
  649. package/toast/toast.component.d.ts +0 -41
  650. package/toast/toast.module.d.ts +0 -8
  651. package/toast/toast.service.d.ts +0 -61
  652. package/toast/toast.type.d.ts +0 -44
  653. package/toggle/public-api.d.ts +0 -2
  654. package/toggle/toggle.component.d.ts +0 -77
  655. package/toggle/toggle.module.d.ts +0 -8
  656. package/tooltip/public-api.d.ts +0 -2
  657. package/tooltip/tooltip.animations.d.ts +0 -8
  658. package/tooltip/tooltip.component.d.ts +0 -156
  659. package/tooltip/tooltip.module.d.ts +0 -7
  660. package/top-bar/module.d.ts +0 -7
  661. package/top-bar/public-api.d.ts +0 -2
  662. package/top-bar/top-bar.d.ts +0 -25
  663. package/tree/control/base-tree-control.d.ts +0 -40
  664. package/tree/control/flat-tree-control.d.ts +0 -55
  665. package/tree/control/flat-tree-control.filters.d.ts +0 -27
  666. package/tree/control/nested-tree-control.d.ts +0 -19
  667. package/tree/control/tree-control.d.ts +0 -44
  668. package/tree/data-source/flat-data-source.d.ts +0 -80
  669. package/tree/data-source/nested-data-source.d.ts +0 -15
  670. package/tree/node.d.ts +0 -34
  671. package/tree/outlet.d.ts +0 -9
  672. package/tree/padding.directive.d.ts +0 -45
  673. package/tree/public-api.d.ts +0 -16
  674. package/tree/toggle.d.ts +0 -28
  675. package/tree/tree-base.d.ts +0 -96
  676. package/tree/tree-errors.d.ts +0 -25
  677. package/tree/tree-option.component.d.ts +0 -89
  678. package/tree/tree-selection.component.d.ts +0 -156
  679. package/tree/tree.d.ts +0 -6
  680. package/tree/tree.module.d.ts +0 -16
  681. package/tree-select/public-api.d.ts +0 -2
  682. package/tree-select/tree-select.component.d.ts +0 -360
  683. package/tree-select/tree-select.module.d.ts +0 -15
  684. package/username/constants.d.ts +0 -15
  685. package/username/module.d.ts +0 -8
  686. package/username/types.d.ts +0 -62
  687. package/username/username.d.ts +0 -68
  688. package/username/username.pipe.d.ts +0 -23
@@ -1,23 +1,21 @@
1
- import * as i1 from '@angular/cdk/bidi';
2
1
  import { Directionality } from '@angular/cdk/bidi';
3
2
  import { CdkPortalOutlet, CdkPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
4
3
  import { CdkScrollable, ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
5
4
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Input, ViewChild, Output, Optional, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, Component, Inject, Directive, inject, DestroyRef, ElementRef, ChangeDetectorRef, NgZone, booleanAttribute, numberAttribute, InjectionToken, TemplateRef, ContentChild, ContentChildren, Renderer2, NgModule } from '@angular/core';
5
+ import { inject, ElementRef, output, EventEmitter, viewChild, input, ChangeDetectorRef, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, forwardRef, Component, ComponentFactoryResolver, ViewContainerRef, Directive, TemplateRef, DestroyRef, NgZone, booleanAttribute, numberAttribute, InjectionToken, contentChild, ContentChild, Renderer2, ViewChild, ContentChildren, NgModule } from '@angular/core';
7
6
  import { Subscription, Subject, fromEvent, of, merge, timer } from 'rxjs';
8
7
  import { startWith, takeUntil, debounceTime } from 'rxjs/operators';
9
8
  import { trigger, state, transition, style, animate } from '@angular/animations';
10
9
  import { FocusKeyManager, CdkMonitorFocus, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
11
- import { KBQ_WINDOW, PopUpPlacements, KBQ_SELECT_SCROLL_STRATEGY, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_PARENT_ANIMATION_COMPONENT } from '@koobiq/components/core';
10
+ import { KBQ_WINDOW, HOME, END, UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, PopUpPlacements, KBQ_SELECT_SCROLL_STRATEGY, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_PARENT_ANIMATION_COMPONENT } from '@koobiq/components/core';
12
11
  import { KbqTooltipTrigger, KbqToolTipModule } from '@koobiq/components/tooltip';
13
12
  import { CdkObserveContent } from '@angular/cdk/observers';
14
- import * as i1$1 from '@koobiq/components/icon';
13
+ import * as i1 from '@koobiq/components/icon';
15
14
  import { KbqIconModule } from '@koobiq/components/icon';
16
15
  import { coerceNumberProperty } from '@angular/cdk/coercion';
17
16
  import { hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';
18
17
  import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';
19
18
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
20
- import { HOME, END, UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW } from '@koobiq/cdk/keycodes';
21
19
  import { KBQ_DROPDOWN_SCROLL_STRATEGY } from '@koobiq/components/dropdown';
22
20
 
23
21
  const kbqTabsAnimations = {
@@ -49,27 +47,34 @@ const kbqTabsAnimations = {
49
47
  */
50
48
  class KbqTabBody {
51
49
  /** The shifted index position of the tab body, where zero represents the active center tab. */
50
+ // TODO: Skipped for migration because:
51
+ // Accessor inputs cannot be migrated as they are too complex.
52
52
  set position(position) {
53
53
  this.positionIndex = position;
54
54
  this.computePositionAnimationState();
55
55
  }
56
- constructor(elementRef, dir, changeDetectorRef) {
57
- this.elementRef = elementRef;
58
- this.dir = dir;
56
+ constructor() {
57
+ this.elementRef = inject(ElementRef);
58
+ this.dir = inject(Directionality, { optional: true });
59
59
  /** Event emitted when the tab begins to animate towards the center as the active tab. */
60
- this.onCentering = new EventEmitter();
60
+ this.onCentering = output();
61
61
  /** Event emitted before the centering of the tab begins. */
62
62
  this.beforeCentering = new EventEmitter();
63
63
  /** Event emitted before the centering of the tab begins. */
64
64
  this.afterLeavingCenter = new EventEmitter();
65
65
  /** Event emitted when the tab completes its animation towards the center. */
66
- this.onCentered = new EventEmitter(true);
66
+ this.onCentered = output();
67
+ /** The portal host inside of this container into which the tab body content will be loaded. */
68
+ this.portalHost = viewChild.required(CdkPortalOutlet);
69
+ /** The tab body content to display. */
70
+ this.content = input(undefined, ...(ngDevMode ? [{ debugName: "content" }] : []));
67
71
  // Note that the default value will always be overwritten by `KbqTabBody`, but we need one
68
72
  // anyway to prevent the animations module from throwing an error if the body is used on its own.
69
73
  /** Duration for the tab's animation. */
70
- this.animationDuration = '0ms';
74
+ this.animationDuration = input('0ms', ...(ngDevMode ? [{ debugName: "animationDuration" }] : []));
71
75
  /** Subscription to the directionality change observable. */
72
76
  this.dirChangeSubscription = Subscription.EMPTY;
77
+ const changeDetectorRef = inject(ChangeDetectorRef);
73
78
  if (this.dir && changeDetectorRef) {
74
79
  this.dirChangeSubscription = this.dir.change.subscribe((direction) => {
75
80
  this.computePositionAnimationState(direction);
@@ -99,6 +104,7 @@ class KbqTabBody {
99
104
  onTranslateTabComplete(e) {
100
105
  // If the transition to the center is complete, emit an event.
101
106
  if (this.isCenterPosition(e.toState) && this.isCenterPosition(this.bodyPosition)) {
107
+ // TODO: The 'emit' function requires a mandatory void argument
102
108
  this.onCentered.emit();
103
109
  }
104
110
  if (this.isCenterPosition(e.fromState) && !this.isCenterPosition(this.bodyPosition)) {
@@ -136,44 +142,33 @@ class KbqTabBody {
136
142
  }
137
143
  return 'right-origin-center';
138
144
  }
139
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
140
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: KbqTabBody, isStandalone: true, selector: "kbq-tab-body", inputs: { position: "position", content: "content", origin: "origin", animationDuration: "animationDuration" }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "kbq-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "<div\n #content\n cdkScrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => CdkScrollable), selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i0.forwardRef(() => KbqTabBodyPortal), selector: "[kbqTabBodyHost]" }], animations: [kbqTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.25", type: KbqTabBody, isStandalone: true, selector: "kbq-tab-body", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: false, isRequired: false, transformFunction: null }, animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCentering: "onCentering", beforeCentering: "beforeCentering", afterLeavingCenter: "afterLeavingCenter", onCentered: "onCentered" }, host: { classAttribute: "kbq-tab-body" }, viewQueries: [{ propertyName: "portalHost", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #content\n cdkScrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration() }\n }\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => CdkScrollable), selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i0.forwardRef(() => KbqTabBodyPortal), selector: "[kbqTabBodyHost]" }], animations: [kbqTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
141
147
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabBody, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabBody, decorators: [{
143
149
  type: Component,
144
- args: [{ selector: 'kbq-tab-body', imports: [CdkScrollable, forwardRef((() => KbqTabBodyPortal))], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [kbqTabsAnimations.translateTab], host: {
150
+ args: [{ selector: 'kbq-tab-body', imports: [CdkScrollable, forwardRef((() => KbqTabBodyPortal))], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
145
151
  class: 'kbq-tab-body'
146
- }, template: "<div\n #content\n cdkScrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration }\n }\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"] }]
147
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
148
- type: Optional
149
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { position: [{
152
+ }, animations: [kbqTabsAnimations.translateTab], template: "<div\n #content\n cdkScrollable\n class=\"kbq-tab-body__content kbq-scrollbar kbq-hide-nested-popup\"\n [@translateTab]=\"{\n value: bodyPosition,\n params: { animationDuration: animationDuration() }\n }\"\n (@translateTab.done)=\"onTranslateTabComplete($event)\"\n (@translateTab.start)=\"onTranslateTabStarted($event)\"\n>\n <ng-template kbqTabBodyHost />\n</div>\n", styles: [".kbq-tab-body__content{height:100%;overflow:auto}.kbq-tab-body__content .kbq-tab-group_dynamic-height{overflow:hidden}\n"] }]
153
+ }], ctorParameters: () => [], propDecorators: { position: [{
150
154
  type: Input
151
- }], onCentering: [{
152
- type: Output
153
- }], beforeCentering: [{
155
+ }], onCentering: [{ type: i0.Output, args: ["onCentering"] }], beforeCentering: [{
154
156
  type: Output
155
157
  }], afterLeavingCenter: [{
156
158
  type: Output
157
- }], onCentered: [{
158
- type: Output
159
- }], portalHost: [{
160
- type: ViewChild,
161
- args: [CdkPortalOutlet, { static: false }]
162
- }], content: [{
163
- type: Input
164
- }], origin: [{
165
- type: Input
166
- }], animationDuration: [{
159
+ }], onCentered: [{ type: i0.Output, args: ["onCentered"] }], portalHost: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkPortalOutlet), { isSignal: true }] }], content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], origin: [{
167
160
  type: Input
168
- }] } });
161
+ }], animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }] } });
169
162
  /**
170
163
  * The portal host directive for the contents of the tab.
171
164
  * @docs-private
172
165
  */
173
166
  class KbqTabBodyPortal extends CdkPortalOutlet {
174
- constructor(componentFactoryResolver, viewContainerRef, host) {
167
+ constructor() {
168
+ const componentFactoryResolver = inject(ComponentFactoryResolver);
169
+ const viewContainerRef = inject(ViewContainerRef);
175
170
  super(componentFactoryResolver, viewContainerRef);
176
- this.host = host;
171
+ this.host = inject(KbqTabBody);
177
172
  /** Subscription to events for when the tab body begins centering. */
178
173
  this.centeringSub = Subscription.EMPTY;
179
174
  /** Subscription to events for when the tab body finishes leaving from center position. */
@@ -186,7 +181,7 @@ class KbqTabBodyPortal extends CdkPortalOutlet {
186
181
  .pipe(startWith(this.host.isCenterPosition(this.host.bodyPosition)))
187
182
  .subscribe((isCentering) => {
188
183
  if (isCentering && !this.hasAttached()) {
189
- this.attach(this.host.content);
184
+ this.attach(this.host.content());
190
185
  }
191
186
  });
192
187
  this.leavingSub = this.host.afterLeavingCenter.subscribe(() => {
@@ -199,33 +194,30 @@ class KbqTabBodyPortal extends CdkPortalOutlet {
199
194
  this.centeringSub.unsubscribe();
200
195
  this.leavingSub.unsubscribe();
201
196
  }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => KbqTabBody) }], target: i0.ɵɵFactoryTarget.Directive }); }
203
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqTabBodyPortal, isStandalone: true, selector: "[kbqTabBodyHost]", usesInheritance: true, ngImport: i0 }); }
197
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabBodyPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
198
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqTabBodyPortal, isStandalone: true, selector: "[kbqTabBodyHost]", usesInheritance: true, ngImport: i0 }); }
204
199
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabBodyPortal, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabBodyPortal, decorators: [{
206
201
  type: Directive,
207
202
  args: [{
208
203
  selector: '[kbqTabBodyHost]'
209
204
  }]
210
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: KbqTabBody, decorators: [{
211
- type: Inject,
212
- args: [forwardRef(() => KbqTabBody)]
213
- }] }] });
205
+ }], ctorParameters: () => [] });
214
206
 
215
207
  /** Decorates the `ng-template` tags and reads out the template from it. */
216
208
  class KbqTabContent {
217
- constructor(template) {
218
- this.template = template;
209
+ constructor() {
210
+ this.template = inject(TemplateRef);
219
211
  }
220
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
221
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqTabContent, isStandalone: true, selector: "[kbqTabContent]", ngImport: i0 }); }
212
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
213
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqTabContent, isStandalone: true, selector: "[kbqTabContent]", ngImport: i0 }); }
222
214
  }
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabContent, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabContent, decorators: [{
224
216
  type: Directive,
225
217
  args: [{
226
218
  selector: '[kbqTabContent]'
227
219
  }]
228
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
220
+ }] });
229
221
 
230
222
  /** Config used to bind passive event listeners */
231
223
  const passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });
@@ -252,6 +244,8 @@ const SCROLL_DISTANCE = 0.8;
252
244
  */
253
245
  class KbqPaginatedTabHeader {
254
246
  /** The index of the active tab. */
247
+ // TODO: Skipped for migration because:
248
+ // Accessor inputs cannot be migrated as they are too complex.
255
249
  get selectedIndex() {
256
250
  return this._selectedIndex;
257
251
  }
@@ -284,6 +278,8 @@ class KbqPaginatedTabHeader {
284
278
  this.checkScrollingControls();
285
279
  }
286
280
  /** Whether the tabs should be displayed vertically. */
281
+ // TODO: Skipped for migration because:
282
+ // Accessor inputs cannot be migrated as they are too complex.
287
283
  set vertical(value) {
288
284
  this._vertical = value;
289
285
  if (this._vertical) {
@@ -311,6 +307,8 @@ class KbqPaginatedTabHeader {
311
307
  * Whether pagination should be disabled. This can be used to avoid unnecessary
312
308
  * layout recalculations if it's known that pagination won't be required.
313
309
  */
310
+ // TODO: Skipped for migration because:
311
+ // Your application code writes to the input. This prevents migration.
314
312
  this.disablePagination = false;
315
313
  this._vertical = false;
316
314
  /** Stream that will stop the automated scrolling. */
@@ -352,9 +350,12 @@ class KbqPaginatedTabHeader {
352
350
  this.keyManager.updateActiveItem(this._selectedIndex);
353
351
  // Defer the first call in order to allow for slower browsers to lay out the elements.
354
352
  // This helps in cases where the user lands directly on a page with paginated tabs.
355
- typeof this.window.requestAnimationFrame !== 'undefined'
356
- ? this.window.requestAnimationFrame(realign)
357
- : realign();
353
+ if (typeof this.window.requestAnimationFrame !== 'undefined') {
354
+ this.window.requestAnimationFrame(realign);
355
+ }
356
+ else {
357
+ realign();
358
+ }
358
359
  // On dir change or window resize, realign the ink bar and update the orientation of
359
360
  // the key manager if the direction has changed.
360
361
  merge(dirChange, resize, this.items.changes)
@@ -688,10 +689,10 @@ class KbqPaginatedTabHeader {
688
689
  this.scrollTo(maxScrollDistance);
689
690
  }
690
691
  }
691
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqPaginatedTabHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
692
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: KbqPaginatedTabHeader, isStandalone: true, inputs: { selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], disablePagination: ["disablePagination", "disablePagination", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute] }, ngImport: i0 }); }
692
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqPaginatedTabHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
693
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.25", type: KbqPaginatedTabHeader, isStandalone: true, inputs: { selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], disablePagination: ["disablePagination", "disablePagination", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute] }, ngImport: i0 }); }
693
694
  }
694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqPaginatedTabHeader, decorators: [{
695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqPaginatedTabHeader, decorators: [{
695
696
  type: Directive
696
697
  }], ctorParameters: () => [], propDecorators: { selectedIndex: [{
697
698
  type: Input,
@@ -707,18 +708,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
707
708
  const KBQ_TAB_LABEL = new InjectionToken('KbqTabLabel');
708
709
  /** Used to flag tab labels for use with the portal directive */
709
710
  class KbqTabLabel extends CdkPortal {
710
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLabel, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
711
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqTabLabel, isStandalone: true, selector: "[kbq-tab-label], [kbqTabLabel]", providers: [{ provide: KBQ_TAB_LABEL, useExisting: KbqTabLabel }], usesInheritance: true, ngImport: i0 }); }
711
+ constructor() {
712
+ super(...arguments);
713
+ /** Whether the tab contains only an icon without a label. */
714
+ this.iconOnly = input(false, ...(ngDevMode ? [{ debugName: "iconOnly", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
715
+ }
716
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLabel, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
717
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: KbqTabLabel, isStandalone: true, selector: "[kbq-tab-label], [kbqTabLabel]", inputs: { iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: KBQ_TAB_LABEL, useExisting: KbqTabLabel }], usesInheritance: true, ngImport: i0 }); }
712
718
  }
713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLabel, decorators: [{
719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLabel, decorators: [{
714
720
  type: Directive,
715
721
  args: [{
716
722
  selector: '[kbq-tab-label], [kbqTabLabel]',
717
723
  providers: [{ provide: KBQ_TAB_LABEL, useExisting: KbqTabLabel }]
718
724
  }]
719
- }] });
725
+ }], propDecorators: { iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }] } });
720
726
 
721
727
  class KbqTab {
728
+ constructor() {
729
+ this.viewContainerRef = inject(ViewContainerRef);
730
+ /**
731
+ * Template provided in the tab content that will be used if present, used to enable lazy-loading
732
+ */
733
+ this.explicitContent = contentChild(KbqTabContent, ...(ngDevMode ? [{ debugName: "explicitContent", read: TemplateRef }] : [{ read: TemplateRef }]));
734
+ /** Template inside the KbqTab view that contains an `<ng-content>`. */
735
+ this.implicitContent = viewChild.required(TemplateRef);
736
+ this._tooltipTitle = '';
737
+ this._disabled = false;
738
+ this.tooltipPlacement = input(PopUpPlacements.Right, ...(ngDevMode ? [{ debugName: "tooltipPlacement" }] : []));
739
+ /** Plain text label for the tab, used when there is no template label. */
740
+ this.textLabel = input('', ...(ngDevMode ? [{ debugName: "textLabel", alias: 'label' }] : [{ alias: 'label' }]));
741
+ this.empty = input(false, ...(ngDevMode ? [{ debugName: "empty", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
742
+ this.tabId = input(undefined, ...(ngDevMode ? [{ debugName: "tabId" }] : []));
743
+ /** Emits whenever the internal state of the tab changes. */
744
+ this.stateChanges = new Subject();
745
+ /**
746
+ * The relatively indexed position where 0 represents the center, negative is left, and positive
747
+ * represents the right.
748
+ */
749
+ this.position = null;
750
+ /**
751
+ * The initial relatively index origin of the tab if it was created and selected after there
752
+ * was already a selected tab. Provides context of what position the tab should originate from.
753
+ */
754
+ this.origin = null;
755
+ /**
756
+ * Whether the tab is currently active.
757
+ */
758
+ this.isActive = false;
759
+ this._overflowTooltipTitle = '';
760
+ /** Portal that will be the hosted content of the tab */
761
+ this.contentPortal = null;
762
+ }
722
763
  /** @docs-private */
723
764
  get content() {
724
765
  return this.contentPortal;
@@ -729,12 +770,16 @@ class KbqTab {
729
770
  set templateLabel(value) {
730
771
  this.setTemplateLabelInput(value);
731
772
  }
773
+ // TODO: Skipped for migration because:
774
+ // Accessor inputs cannot be migrated as they are too complex.
732
775
  get tooltipTitle() {
733
776
  return this.overflowTooltipTitle + this._tooltipTitle;
734
777
  }
735
778
  set tooltipTitle(value) {
736
779
  this._tooltipTitle = value;
737
780
  }
781
+ // TODO: Skipped for migration because:
782
+ // Accessor inputs cannot be migrated as they are too complex.
738
783
  get disabled() {
739
784
  return this._disabled;
740
785
  }
@@ -743,6 +788,10 @@ class KbqTab {
743
788
  this._disabled = value;
744
789
  }
745
790
  }
791
+ /** Whether the tab label contains only an icon (no text). */
792
+ get iconOnlyLabel() {
793
+ return this.templateLabel?.iconOnly() ?? false;
794
+ }
746
795
  get isOverflown() {
747
796
  return !!this._overflowTooltipTitle;
748
797
  }
@@ -755,41 +804,13 @@ class KbqTab {
755
804
  set overflowTooltipTitle(value) {
756
805
  this._overflowTooltipTitle = value;
757
806
  }
758
- constructor(viewContainerRef) {
759
- this.viewContainerRef = viewContainerRef;
760
- this._tooltipTitle = '';
761
- this._disabled = false;
762
- this.tooltipPlacement = PopUpPlacements.Right;
763
- /** Plain text label for the tab, used when there is no template label. */
764
- this.textLabel = '';
765
- this.empty = false;
766
- /** Emits whenever the internal state of the tab changes. */
767
- this.stateChanges = new Subject();
768
- /**
769
- * The relatively indexed position where 0 represents the center, negative is left, and positive
770
- * represents the right.
771
- */
772
- this.position = null;
773
- /**
774
- * The initial relatively index origin of the tab if it was created and selected after there
775
- * was already a selected tab. Provides context of what position the tab should originate from.
776
- */
777
- this.origin = null;
778
- /**
779
- * Whether the tab is currently active.
780
- */
781
- this.isActive = false;
782
- this._overflowTooltipTitle = '';
783
- /** Portal that will be the hosted content of the tab */
784
- this.contentPortal = null;
785
- }
786
807
  ngOnChanges(changes) {
787
808
  if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {
788
809
  this.stateChanges.next();
789
810
  }
790
811
  }
791
812
  ngOnInit() {
792
- this.contentPortal = new TemplatePortal(this.explicitContent || this.implicitContent, this.viewContainerRef);
813
+ this.contentPortal = new TemplatePortal(this.explicitContent() || this.implicitContent(), this.viewContainerRef);
793
814
  }
794
815
  ngOnDestroy() {
795
816
  this.stateChanges.complete();
@@ -809,12 +830,12 @@ class KbqTab {
809
830
  this._templateLabel = value;
810
831
  }
811
832
  }
812
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTab, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
813
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: KbqTab, isStandalone: true, selector: "kbq-tab", inputs: { tooltipTitle: "tooltipTitle", disabled: ["disabled", "disabled", booleanAttribute], tooltipPlacement: "tooltipPlacement", textLabel: ["label", "textLabel"], empty: ["empty", "empty", booleanAttribute], tabId: "tabId" }, providers: [
833
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
834
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.25", type: KbqTab, isStandalone: true, selector: "kbq-tab", inputs: { tooltipTitle: { classPropertyName: "tooltipTitle", publicName: "tooltipTitle", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tooltipPlacement: { classPropertyName: "tooltipPlacement", publicName: "tooltipPlacement", isSignal: true, isRequired: false, transformFunction: null }, textLabel: { classPropertyName: "textLabel", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, empty: { classPropertyName: "empty", publicName: "empty", isSignal: true, isRequired: false, transformFunction: null }, tabId: { classPropertyName: "tabId", publicName: "tabId", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
814
835
  ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
815
- ], queries: [{ propertyName: "templateLabel", first: true, predicate: KBQ_TAB_LABEL, descendants: true }, { propertyName: "explicitContent", first: true, predicate: KbqTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["kbqTab"], usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
836
+ ], queries: [{ propertyName: "explicitContent", first: true, predicate: KbqTabContent, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "templateLabel", first: true, predicate: KBQ_TAB_LABEL, descendants: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], exportAs: ["kbqTab"], usesOnChanges: true, ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
816
837
  }
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTab, decorators: [{
838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTab, decorators: [{
818
839
  type: Component,
819
840
  args: [{
820
841
  selector: 'kbq-tab',
@@ -822,44 +843,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
822
843
  // TemplateRef and use it in a Portal to render the tab content in the appropriate place in the
823
844
  // tab-group.
824
845
  template: '<ng-template><ng-content /></ng-template>',
825
- encapsulation: ViewEncapsulation.None,
826
- changeDetection: ChangeDetectionStrategy.OnPush,
827
- exportAs: 'kbqTab',
828
846
  providers: [
829
847
  ...[KBQ_SELECT_SCROLL_STRATEGY, KBQ_DROPDOWN_SCROLL_STRATEGY].map(((token) => KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER(token, ((overlay) => (() => overlay.scrollStrategies.close())))))
830
- ]
848
+ ],
849
+ changeDetection: ChangeDetectionStrategy.OnPush,
850
+ encapsulation: ViewEncapsulation.None,
851
+ exportAs: 'kbqTab'
831
852
  }]
832
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { templateLabel: [{
853
+ }], propDecorators: { templateLabel: [{
833
854
  type: ContentChild,
834
855
  args: [KBQ_TAB_LABEL]
835
- }], explicitContent: [{
836
- type: ContentChild,
837
- args: [KbqTabContent, { read: TemplateRef, static: true }]
838
- }], implicitContent: [{
839
- type: ViewChild,
840
- args: [TemplateRef, { static: true }]
841
- }], tooltipTitle: [{
856
+ }], explicitContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqTabContent), { ...{ read: TemplateRef }, isSignal: true }] }], implicitContent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], tooltipTitle: [{
842
857
  type: Input
843
858
  }], disabled: [{
844
859
  type: Input,
845
860
  args: [{ transform: booleanAttribute }]
846
- }], tooltipPlacement: [{
847
- type: Input
848
- }], textLabel: [{
849
- type: Input,
850
- args: ['label']
851
- }], empty: [{
852
- type: Input,
853
- args: [{ transform: booleanAttribute }]
854
- }], tabId: [{
855
- type: Input
856
- }] } });
861
+ }], tooltipPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPlacement", required: false }] }], textLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], empty: [{ type: i0.Input, args: [{ isSignal: true, alias: "empty", required: false }] }], tabId: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabId", required: false }] }] } });
857
862
 
858
863
  /**
859
864
  * Used in the `kbq-tab-group` view to display tab labels.
860
865
  * @docs-private
861
866
  */
862
867
  class KbqTabLabelWrapper {
868
+ constructor() {
869
+ this.elementRef = inject(ElementRef);
870
+ this.renderer = inject(Renderer2);
871
+ this._disabled = false;
872
+ }
873
+ // TODO: Skipped for migration because:
874
+ // Accessor inputs cannot be migrated as they are too complex.
863
875
  get disabled() {
864
876
  return this._disabled;
865
877
  }
@@ -868,11 +880,6 @@ class KbqTabLabelWrapper {
868
880
  this._disabled = value;
869
881
  }
870
882
  }
871
- constructor(elementRef, renderer) {
872
- this.elementRef = elementRef;
873
- this.renderer = renderer;
874
- this._disabled = false;
875
- }
876
883
  ngAfterViewInit() {
877
884
  this.addClassModifierForIcons(Array.from(this.elementRef.nativeElement.querySelectorAll('.kbq-icon')));
878
885
  }
@@ -916,10 +923,10 @@ class KbqTabLabelWrapper {
916
923
  this.renderer.addClass(this.elementRef.nativeElement, 'kbq-tab-label_with-icon-right');
917
924
  }
918
925
  }
919
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLabelWrapper, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
920
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: KbqTabLabelWrapper, isStandalone: true, selector: "[kbqTabLabelWrapper]", inputs: { tab: "tab", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null" } }, queries: [{ propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], ngImport: i0 }); }
926
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLabelWrapper, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
927
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.25", type: KbqTabLabelWrapper, isStandalone: true, selector: "[kbqTabLabelWrapper]", inputs: { tab: "tab", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null" } }, queries: [{ propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], ngImport: i0 }); }
921
928
  }
922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLabelWrapper, decorators: [{
929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLabelWrapper, decorators: [{
923
930
  type: Directive,
924
931
  args: [{
925
932
  selector: '[kbqTabLabelWrapper]',
@@ -928,7 +935,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
928
935
  '[attr.disabled]': 'disabled || null'
929
936
  }
930
937
  }]
931
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { labelContent: [{
938
+ }], propDecorators: { labelContent: [{
932
939
  type: ContentChild,
933
940
  args: ['labelContent']
934
941
  }], tab: [{
@@ -938,6 +945,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
938
945
  args: [{ transform: booleanAttribute }]
939
946
  }] } });
940
947
 
948
+ /** Corresponds to `margin-inline: var(--kbq-size-xs)` on `.kbq-tab-label_icon-only`. */
949
+ const ICON_ONLY_TAB_MARGIN_INLINE = 6;
941
950
  /**
942
951
  * The header of the tab group which displays a list of all the tabs in the tab group.
943
952
  * When the tabs list's width exceeds the width of the header container,
@@ -949,33 +958,40 @@ class KbqTabHeader extends KbqPaginatedTabHeader {
949
958
  constructor() {
950
959
  super(...arguments);
951
960
  /** Whether the tabs are underlined. */
952
- this.underlined = false;
961
+ this.underlined = input(false, ...(ngDevMode ? [{ debugName: "underlined", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
953
962
  }
963
+ /** Width of the active tab, adjusted for icon-only tab margins. */
954
964
  get activeTabOffsetWidth() {
955
- return this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetWidth;
965
+ const item = this.items.get(this.selectedIndex);
966
+ const width = item?.elementRef?.nativeElement?.offsetWidth;
967
+ if (!width)
968
+ return width;
969
+ return item.tab?.iconOnlyLabel ? width + ICON_ONLY_TAB_MARGIN_INLINE * 2 : width;
956
970
  }
971
+ /** Left offset of the active tab, adjusted for icon-only tab margins. */
957
972
  get activeTabOffsetLeft() {
958
- return this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetLeft;
973
+ const item = this.items.get(this.selectedIndex);
974
+ const left = item?.elementRef?.nativeElement?.offsetLeft;
975
+ if (!left)
976
+ return left;
977
+ return item.tab?.iconOnlyLabel ? left - ICON_ONLY_TAB_MARGIN_INLINE : left;
959
978
  }
960
979
  itemSelected(event) {
961
980
  event.preventDefault();
962
981
  }
963
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabHeader, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
964
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: KbqTabHeader, isStandalone: true, selector: "kbq-tab-header", inputs: { underlined: ["underlined", "underlined", booleanAttribute] }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.kbq-tab-header_vertical": "vertical", "class.kbq-tab-header_underlined": "underlined", "class.kbq-tab-header__pagination-controls_enabled": "showPaginationControls", "class.kbq-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "kbq-tab-header" }, queries: [{ propertyName: "items", predicate: KbqTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-header__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.kbq-tab-list__content{display:flex}.kbq-tab-group_align-labels-center .kbq-tab-list__content{justify-content:center}.kbq-tab-group_align-labels-end .kbq-tab-list__content{justify-content:flex-end}.kbq-tab-header_vertical .kbq-tab-list__content{flex-direction:column}.kbq-tab-header__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-selected{cursor:default}.kbq-tab-label.cdk-keyboard-focused{z-index:1}.kbq-tab-label.kbq-disabled{pointer-events:none}.kbq-tab-label .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-label.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-label.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tab-group_stretch-labels .kbq-tab-label{flex-basis:0;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1$1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
982
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabHeader, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
983
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: KbqTabHeader, isStandalone: true, selector: "kbq-tab-header", inputs: { underlined: { classPropertyName: "underlined", publicName: "underlined", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.kbq-tab-header_vertical": "vertical", "class.kbq-tab-header_underlined": "underlined()", "class.kbq-tab-header__pagination-controls_enabled": "showPaginationControls", "class.kbq-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "kbq-tab-header" }, queries: [{ propertyName: "items", predicate: KbqTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-header__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.kbq-tab-list__content{display:flex}.kbq-tab-group_align-labels-center .kbq-tab-list__content{justify-content:center}.kbq-tab-group_align-labels-end .kbq-tab-list__content{justify-content:flex-end}.kbq-tab-header_vertical .kbq-tab-list__content{flex-direction:column}.kbq-tab-header__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-selected{cursor:default}.kbq-tab-label.cdk-keyboard-focused{z-index:1}.kbq-tab-label.kbq-disabled{pointer-events:none}.kbq-tab-label .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-label.kbq-tab-label_icon-only{width:var(--kbq-size-3xl);height:var(--kbq-size-3xl);padding:0!important;margin-inline:var(--kbq-size-xs);box-sizing:content-box}.kbq-tab-label.kbq-tab-label_icon-only:not(.kbq-tab-label_vertical):after{content:\"\";display:block;position:absolute;top:0;bottom:0;left:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));right:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));background:transparent}.kbq-tab-label.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-label.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-label.kbq-tab-label_vertical.kbq-tab-label_icon-only{margin-inline:0;justify-content:center}.kbq-tab-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tab-group_stretch-labels .kbq-tab-label{flex-basis:0;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
965
984
  }
966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabHeader, decorators: [{
985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabHeader, decorators: [{
967
986
  type: Component,
968
- args: [{ selector: 'kbq-tab-header', imports: [KbqIconModule, CdkObserveContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, outputs: ['selectFocusedIndex', 'indexFocused'], host: {
987
+ args: [{ selector: 'kbq-tab-header', imports: [KbqIconModule, CdkObserveContent], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, host: {
969
988
  class: 'kbq-tab-header',
970
989
  '[class.kbq-tab-header_vertical]': 'vertical',
971
- '[class.kbq-tab-header_underlined]': 'underlined',
990
+ '[class.kbq-tab-header_underlined]': 'underlined()',
972
991
  '[class.kbq-tab-header__pagination-controls_enabled]': 'showPaginationControls',
973
992
  '[class.kbq-tab-header_rtl]': "getLayoutDirection() == 'rtl'"
974
- }, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-header__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.kbq-tab-list__content{display:flex}.kbq-tab-group_align-labels-center .kbq-tab-list__content{justify-content:center}.kbq-tab-group_align-labels-end .kbq-tab-list__content{justify-content:flex-end}.kbq-tab-header_vertical .kbq-tab-list__content{flex-direction:column}.kbq-tab-header__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-selected{cursor:default}.kbq-tab-label.cdk-keyboard-focused{z-index:1}.kbq-tab-label.kbq-disabled{pointer-events:none}.kbq-tab-label .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-label.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-label.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tab-group_stretch-labels .kbq-tab-label{flex-basis:0;flex-grow:1}\n"] }]
975
- }], propDecorators: { underlined: [{
976
- type: Input,
977
- args: [{ transform: booleanAttribute }]
978
- }], items: [{
993
+ }, outputs: ['selectFocusedIndex', 'indexFocused'], template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-header__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.kbq-tab-list__content{display:flex}.kbq-tab-group_align-labels-center .kbq-tab-list__content{justify-content:center}.kbq-tab-group_align-labels-end .kbq-tab-list__content{justify-content:flex-end}.kbq-tab-header_vertical .kbq-tab-list__content{flex-direction:column}.kbq-tab-header__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-selected{cursor:default}.kbq-tab-label.cdk-keyboard-focused{z-index:1}.kbq-tab-label.kbq-disabled{pointer-events:none}.kbq-tab-label .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-label.kbq-tab-label_icon-only{width:var(--kbq-size-3xl);height:var(--kbq-size-3xl);padding:0!important;margin-inline:var(--kbq-size-xs);box-sizing:content-box}.kbq-tab-label.kbq-tab-label_icon-only:not(.kbq-tab-label_vertical):after{content:\"\";display:block;position:absolute;top:0;bottom:0;left:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));right:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));background:transparent}.kbq-tab-label.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-label.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-label.kbq-tab-label_vertical.kbq-tab-label_icon-only{margin-inline:0;justify-content:center}.kbq-tab-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tab-group_stretch-labels .kbq-tab-label{flex-basis:0;flex-grow:1}\n"] }]
994
+ }], propDecorators: { underlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "underlined", required: false }] }], items: [{
979
995
  type: ContentChildren,
980
996
  args: [KbqTabLabelWrapper, { descendants: false }]
981
997
  }], tabListContainer: [{
@@ -993,10 +1009,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
993
1009
  }] } });
994
1010
 
995
1011
  class KbqAlignTabsCenterCssStyler {
996
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqAlignTabsCenterCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
997
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqAlignTabsCenterCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center], [kbqTabNavBar][kbq-align-tabs-center]", host: { classAttribute: "kbq-tab-group_align-labels-center" }, ngImport: i0 }); }
1012
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAlignTabsCenterCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1013
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqAlignTabsCenterCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center], [kbqTabNavBar][kbq-align-tabs-center]", host: { classAttribute: "kbq-tab-group_align-labels-center" }, ngImport: i0 }); }
998
1014
  }
999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqAlignTabsCenterCssStyler, decorators: [{
1015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAlignTabsCenterCssStyler, decorators: [{
1000
1016
  type: Directive,
1001
1017
  args: [{
1002
1018
  selector: 'kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center], [kbqTabNavBar][kbq-align-tabs-center]',
@@ -1004,10 +1020,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1004
1020
  }]
1005
1021
  }] });
1006
1022
  class KbqAlignTabsEndCssStyler {
1007
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqAlignTabsEndCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1008
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqAlignTabsEndCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end], [kbqTabNavBar][kbq-align-tabs-end]", host: { classAttribute: "kbq-tab-group_align-labels-end" }, ngImport: i0 }); }
1023
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAlignTabsEndCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1024
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqAlignTabsEndCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end], [kbqTabNavBar][kbq-align-tabs-end]", host: { classAttribute: "kbq-tab-group_align-labels-end" }, ngImport: i0 }); }
1009
1025
  }
1010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqAlignTabsEndCssStyler, decorators: [{
1026
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAlignTabsEndCssStyler, decorators: [{
1011
1027
  type: Directive,
1012
1028
  args: [{
1013
1029
  selector: 'kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end], [kbqTabNavBar][kbq-align-tabs-end]',
@@ -1015,10 +1031,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1015
1031
  }]
1016
1032
  }] });
1017
1033
  class KbqStretchTabsCssStyler {
1018
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqStretchTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1019
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqStretchTabsCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs], [kbqTabNavBar][kbq-stretch-tabs]", host: { classAttribute: "kbq-tab-group_stretch-labels" }, ngImport: i0 }); }
1034
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqStretchTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1035
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqStretchTabsCssStyler, isStandalone: true, selector: "kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs], [kbqTabNavBar][kbq-stretch-tabs]", host: { classAttribute: "kbq-tab-group_stretch-labels" }, ngImport: i0 }); }
1020
1036
  }
1021
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqStretchTabsCssStyler, decorators: [{
1037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqStretchTabsCssStyler, decorators: [{
1022
1038
  type: Directive,
1023
1039
  args: [{
1024
1040
  selector: 'kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs], [kbqTabNavBar][kbq-stretch-tabs]',
@@ -1026,10 +1042,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1026
1042
  }]
1027
1043
  }] });
1028
1044
  class KbqVerticalTabsCssStyler {
1029
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqVerticalTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1030
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqVerticalTabsCssStyler, isStandalone: true, selector: "kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical], [kbqTabNavBar][vertical]", host: { classAttribute: "kbq-tab-group_vertical" }, ngImport: i0 }); }
1045
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqVerticalTabsCssStyler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1046
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqVerticalTabsCssStyler, isStandalone: true, selector: "kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical], [kbqTabNavBar][vertical]", host: { classAttribute: "kbq-tab-group_vertical" }, ngImport: i0 }); }
1031
1047
  }
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqVerticalTabsCssStyler, decorators: [{
1048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqVerticalTabsCssStyler, decorators: [{
1033
1049
  type: Directive,
1034
1050
  args: [{
1035
1051
  selector: 'kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical], [kbqTabNavBar][vertical]',
@@ -1048,18 +1064,25 @@ const KBQ_TABS_CONFIG = new InjectionToken('KBQ_TABS_CONFIG');
1048
1064
  */
1049
1065
  class KbqTabGroup {
1050
1066
  /** The index of the active tab. */
1067
+ // TODO: Skipped for migration because:
1068
+ // Accessor inputs cannot be migrated as they are too complex.
1051
1069
  get selectedIndex() {
1052
1070
  return this._selectedIndex;
1053
1071
  }
1054
1072
  set selectedIndex(value) {
1055
1073
  this.activeTab = value;
1056
1074
  }
1075
+ // TODO: Skipped for migration because:
1076
+ // Accessor inputs cannot be migrated as they are too complex.
1057
1077
  get activeTab() {
1058
1078
  switch (typeof this.attributeToSelectBy) {
1059
1079
  case 'number':
1060
1080
  return this.tabs.get(this.clampTabIndex(this.attributeToSelectBy)) || null;
1061
1081
  case 'string':
1062
- return (this.tabs.toArray().find(({ tabId }) => tabId === this.attributeToSelectBy) ||
1082
+ return (this.tabs.toArray().find(({ tabId: tabIdInput }) => {
1083
+ const tabId = tabIdInput();
1084
+ return tabId === this.attributeToSelectBy;
1085
+ }) ||
1063
1086
  this.tabs.get(0) ||
1064
1087
  null);
1065
1088
  case 'function':
@@ -1071,6 +1094,8 @@ class KbqTabGroup {
1071
1094
  set activeTab(value) {
1072
1095
  this.attributeToSelectBy = value;
1073
1096
  }
1097
+ // TODO: Skipped for migration because:
1098
+ // Accessor inputs cannot be migrated as they are too complex.
1074
1099
  get disabled() {
1075
1100
  return this._disabled;
1076
1101
  }
@@ -1079,28 +1104,32 @@ class KbqTabGroup {
1079
1104
  this._disabled = value;
1080
1105
  }
1081
1106
  }
1082
- constructor(changeDetectorRef, defaultConfig) {
1083
- this.changeDetectorRef = changeDetectorRef;
1107
+ constructor() {
1108
+ this.changeDetectorRef = inject(ChangeDetectorRef);
1084
1109
  this.resizeStream = new Subject();
1085
- this.transparent = false;
1086
- this.onSurface = false;
1087
- this.underlined = false;
1088
- this.vertical = false;
1110
+ this.tabBodyWrapper = viewChild.required('tabBodyWrapper');
1111
+ this.tabHeader = viewChild.required('tabHeader');
1112
+ this.transparent = input(false, ...(ngDevMode ? [{ debugName: "transparent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1113
+ this.onSurface = input(false, ...(ngDevMode ? [{ debugName: "onSurface", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1114
+ this.underlined = input(false, ...(ngDevMode ? [{ debugName: "underlined", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1115
+ this.vertical = input(false, ...(ngDevMode ? [{ debugName: "vertical", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1089
1116
  /** Whether the tab group should grow to the size of the active tab. */
1090
- this.dynamicHeight = false;
1117
+ this.dynamicHeight = input(false, ...(ngDevMode ? [{ debugName: "dynamicHeight", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1091
1118
  /** Position of the tab header. */
1119
+ // TODO: Skipped for migration because:
1120
+ // Your application code writes to the input. This prevents migration.
1092
1121
  this.headerPosition = 'above';
1093
1122
  this._disabled = false;
1094
1123
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1095
- this.selectedIndexChange = new EventEmitter();
1124
+ this.selectedIndexChange = output();
1096
1125
  /** Event emitted when the tab selection has changed. */
1097
- this.activeTabChange = new EventEmitter();
1126
+ this.activeTabChange = output();
1098
1127
  /** Event emitted when focus has changed within a tab group. */
1099
- this.focusChange = new EventEmitter();
1128
+ this.focusChange = output();
1100
1129
  /** Event emitted when the body animation has completed */
1101
- this.animationDone = new EventEmitter();
1130
+ this.animationDone = output();
1102
1131
  /** Event emitted when the tab selection has changed. */
1103
- this.selectedTabChange = new EventEmitter(true);
1132
+ this.selectedTabChange = output();
1104
1133
  this.attributeToSelectBy = null;
1105
1134
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1106
1135
  this.tabBodyWrapperHeight = 0;
@@ -1111,8 +1140,9 @@ class KbqTabGroup {
1111
1140
  this.resizeSubscription = Subscription.EMPTY;
1112
1141
  this.resizeDebounceInterval = 100;
1113
1142
  this.checkOverflow = () => {
1114
- this.tabHeader.items.forEach((headerTab) => headerTab.checkOverflow());
1143
+ this.tabHeader().items.forEach((headerTab) => headerTab.checkOverflow());
1115
1144
  };
1145
+ const defaultConfig = inject(KBQ_TABS_CONFIG, { optional: true });
1116
1146
  this.groupId = nextId++;
1117
1147
  this.animationDuration = defaultConfig?.animationDuration || '0ms';
1118
1148
  this.subscribeToResize();
@@ -1211,21 +1241,22 @@ class KbqTabGroup {
1211
1241
  * height property is true.
1212
1242
  */
1213
1243
  setTabBodyWrapperHeight(tabHeight) {
1214
- if (!this.dynamicHeight || !this.tabBodyWrapperHeight) {
1244
+ if (!this.dynamicHeight() || !this.tabBodyWrapperHeight) {
1215
1245
  return;
1216
1246
  }
1217
- const wrapper = this.tabBodyWrapper.nativeElement;
1247
+ const wrapper = this.tabBodyWrapper().nativeElement;
1218
1248
  wrapper.style.height = `${this.tabBodyWrapperHeight}px`;
1219
1249
  // This conditional forces the browser to paint the height so that
1220
1250
  // the animation to the new height can have an origin.
1221
- if (this.tabBodyWrapper.nativeElement.offsetHeight) {
1251
+ if (this.tabBodyWrapper().nativeElement.offsetHeight) {
1222
1252
  wrapper.style.height = `${tabHeight}px`;
1223
1253
  }
1224
1254
  }
1225
1255
  /** Removes the height of the tab body wrapper. */
1226
1256
  removeTabBodyWrapperHeight() {
1227
- this.tabBodyWrapperHeight = this.tabBodyWrapper.nativeElement.clientHeight;
1228
- this.tabBodyWrapper.nativeElement.style.height = '';
1257
+ this.tabBodyWrapperHeight = this.tabBodyWrapper().nativeElement.clientHeight;
1258
+ this.tabBodyWrapper().nativeElement.style.height = '';
1259
+ // TODO: The 'emit' function requires a mandatory void argument
1229
1260
  this.animationDone.emit();
1230
1261
  }
1231
1262
  /** Handle click events, setting new selected index if appropriate. */
@@ -1245,7 +1276,7 @@ class KbqTabGroup {
1245
1276
  }
1246
1277
  onSelectFocusedIndex($event) {
1247
1278
  if (typeof this.attributeToSelectBy === 'string') {
1248
- this.activeTab = this.tabs.get($event)?.tabId || null;
1279
+ this.activeTab = this.tabs.get($event)?.tabId() || null;
1249
1280
  return;
1250
1281
  }
1251
1282
  this.activeTab = $event;
@@ -1271,7 +1302,7 @@ class KbqTabGroup {
1271
1302
  this.tabLabelSubscription = merge(...this.tabs.map((tab) => tab.stateChanges)).subscribe(() => this.changeDetectorRef.markForCheck());
1272
1303
  }
1273
1304
  subscribeToResize() {
1274
- if (!this.vertical) {
1305
+ if (!this.vertical()) {
1275
1306
  return;
1276
1307
  }
1277
1308
  if (this.resizeSubscription) {
@@ -1295,51 +1326,25 @@ class KbqTabGroup {
1295
1326
  }
1296
1327
  return this.tabs?.toArray().indexOf(currentSelectedTab);
1297
1328
  }
1298
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: KBQ_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1299
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: KbqTabGroup, isStandalone: true, selector: "kbq-tab-group", inputs: { transparent: ["transparent", "transparent", booleanAttribute], onSurface: ["onSurface", "onSurface", booleanAttribute], underlined: ["underlined", "underlined", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute], dynamicHeight: ["dynamicHeight", "dynamicHeight", booleanAttribute], selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], activeTab: "activeTab", headerPosition: "headerPosition", animationDuration: "animationDuration", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", activeTabChange: "activeTabChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-tab-group_filled": "!transparent", "class.kbq-tab-group_transparent": "transparent", "class.kbq-tab-group_on-background": "!onSurface", "class.kbq-tab-group_on-surface": "onSurface", "class.kbq-tab-group_dynamic-height": "dynamicHeight", "class.kbq-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "kbq-tab-group" }, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], queries: [{ propertyName: "tabs", predicate: KbqTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["kbqTabGroup"], ngImport: i0, template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined\"\n [vertical]=\"vertical\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, $index)\"\n [class.kbq-selected]=\"selectedIndex === $index\"\n [class.kbq-tab-label_empty]=\"tab.empty\"\n [class.kbq-tab-label_horizontal]=\"!vertical\"\n [class.kbq-tab-label_underlined]=\"underlined\"\n [class.kbq-tab-label_vertical]=\"vertical\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId($index)\"\n [kbqPlacement]=\"tab.tooltipPlacement\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, $index)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @if (!tab.templateLabel) {\n {{ tab.textLabel }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === $index\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId($index)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"], dependencies: [{ kind: "component", type: KbqTabHeader, selector: "kbq-tab-header", inputs: ["underlined"], outputs: ["selectFocusedIndex", "indexFocused"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: KbqTabLabelWrapper, selector: "[kbqTabLabelWrapper]", inputs: ["tab", "disabled"] }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["forDisabledComponent", "ignoreTooltipPointerEvents", "hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: KbqTabBody, selector: "kbq-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1329
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1330
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: KbqTabGroup, isStandalone: true, selector: "kbq-tab-group", inputs: { transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, onSurface: { classPropertyName: "onSurface", publicName: "onSurface", isSignal: true, isRequired: false, transformFunction: null }, underlined: { classPropertyName: "underlined", publicName: "underlined", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, dynamicHeight: { classPropertyName: "dynamicHeight", publicName: "dynamicHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: false, isRequired: false, transformFunction: null }, headerPosition: { classPropertyName: "headerPosition", publicName: "headerPosition", isSignal: false, isRequired: false, transformFunction: null }, animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { selectedIndexChange: "selectedIndexChange", activeTabChange: "activeTabChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-tab-group_filled": "!transparent()", "class.kbq-tab-group_transparent": "transparent()", "class.kbq-tab-group_on-background": "!onSurface()", "class.kbq-tab-group_on-surface": "onSurface()", "class.kbq-tab-group_dynamic-height": "dynamicHeight()", "class.kbq-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "kbq-tab-group" }, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], queries: [{ propertyName: "tabs", predicate: KbqTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true, isSignal: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true, isSignal: true }], exportAs: ["kbqTabGroup"], ngImport: i0, template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined()\"\n [vertical]=\"vertical()\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, $index)\"\n [class.kbq-selected]=\"selectedIndex === $index\"\n [class.kbq-tab-label_empty]=\"tab.empty()\"\n [class.kbq-tab-label_horizontal]=\"!vertical()\"\n [class.kbq-tab-label_underlined]=\"underlined()\"\n [class.kbq-tab-label_vertical]=\"vertical()\"\n [class.kbq-tab-label_icon-only]=\"tab.iconOnlyLabel\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId($index)\"\n [kbqPlacement]=\"tab.tooltipPlacement()\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty() && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, $index)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @else {\n {{ tab.textLabel() }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === $index\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId($index)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"], dependencies: [{ kind: "component", type: KbqTabHeader, selector: "kbq-tab-header", inputs: ["underlined"], outputs: ["selectFocusedIndex", "indexFocused"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: KbqTabLabelWrapper, selector: "[kbqTabLabelWrapper]", inputs: ["tab", "disabled"] }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["forDisabledComponent", "ignoreTooltipPointerEvents", "hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset", "kbqTooltipModifier", "kbqTooltipHeader"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: KbqTabBody, selector: "kbq-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1300
1331
  }
1301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabGroup, decorators: [{
1332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabGroup, decorators: [{
1302
1333
  type: Component,
1303
- args: [{ selector: 'kbq-tab-group', imports: [KbqTabHeader, CdkMonitorFocus, KbqTabLabelWrapper, KbqTooltipTrigger, CdkPortalOutlet, KbqTabBody], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kbqTabGroup', host: {
1334
+ args: [{ selector: 'kbq-tab-group', imports: [KbqTabHeader, CdkMonitorFocus, KbqTabLabelWrapper, KbqTooltipTrigger, CdkPortalOutlet, KbqTabBody], providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1304
1335
  class: 'kbq-tab-group',
1305
- '[class.kbq-tab-group_filled]': '!transparent',
1306
- '[class.kbq-tab-group_transparent]': 'transparent',
1307
- '[class.kbq-tab-group_on-background]': '!onSurface',
1308
- '[class.kbq-tab-group_on-surface]': 'onSurface',
1309
- '[class.kbq-tab-group_dynamic-height]': 'dynamicHeight',
1336
+ '[class.kbq-tab-group_filled]': '!transparent()',
1337
+ '[class.kbq-tab-group_transparent]': 'transparent()',
1338
+ '[class.kbq-tab-group_on-background]': '!onSurface()',
1339
+ '[class.kbq-tab-group_on-surface]': 'onSurface()',
1340
+ '[class.kbq-tab-group_dynamic-height]': 'dynamicHeight()',
1310
1341
  '[class.kbq-tab-group_inverted-header]': 'headerPosition === "below"',
1311
1342
  '(window:resize)': 'resizeStream.next($event)'
1312
- }, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined\"\n [vertical]=\"vertical\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, $index)\"\n [class.kbq-selected]=\"selectedIndex === $index\"\n [class.kbq-tab-label_empty]=\"tab.empty\"\n [class.kbq-tab-label_horizontal]=\"!vertical\"\n [class.kbq-tab-label_underlined]=\"underlined\"\n [class.kbq-tab-label_vertical]=\"vertical\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId($index)\"\n [kbqPlacement]=\"tab.tooltipPlacement\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, $index)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @if (!tab.templateLabel) {\n {{ tab.textLabel }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === $index\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId($index)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"] }]
1313
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1314
- type: Inject,
1315
- args: [KBQ_TABS_CONFIG]
1316
- }, {
1317
- type: Optional
1318
- }] }], propDecorators: { tabs: [{
1343
+ }, exportAs: 'kbqTabGroup', template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined()\"\n [vertical]=\"vertical()\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, $index)\"\n [class.kbq-selected]=\"selectedIndex === $index\"\n [class.kbq-tab-label_empty]=\"tab.empty()\"\n [class.kbq-tab-label_horizontal]=\"!vertical()\"\n [class.kbq-tab-label_underlined]=\"underlined()\"\n [class.kbq-tab-label_vertical]=\"vertical()\"\n [class.kbq-tab-label_icon-only]=\"tab.iconOnlyLabel\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId($index)\"\n [kbqPlacement]=\"tab.tooltipPlacement()\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty() && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, $index)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @else {\n {{ tab.textLabel() }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === $index\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId($index)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"] }]
1344
+ }], ctorParameters: () => [], propDecorators: { tabs: [{
1319
1345
  type: ContentChildren,
1320
1346
  args: [KbqTab]
1321
- }], tabBodyWrapper: [{
1322
- type: ViewChild,
1323
- args: ['tabBodyWrapper', { static: false }]
1324
- }], tabHeader: [{
1325
- type: ViewChild,
1326
- args: ['tabHeader', { static: false }]
1327
- }], transparent: [{
1328
- type: Input,
1329
- args: [{ transform: booleanAttribute }]
1330
- }], onSurface: [{
1331
- type: Input,
1332
- args: [{ transform: booleanAttribute }]
1333
- }], underlined: [{
1334
- type: Input,
1335
- args: [{ transform: booleanAttribute }]
1336
- }], vertical: [{
1337
- type: Input,
1338
- args: [{ transform: booleanAttribute }]
1339
- }], dynamicHeight: [{
1340
- type: Input,
1341
- args: [{ transform: booleanAttribute }]
1342
- }], selectedIndex: [{
1347
+ }], tabBodyWrapper: [{ type: i0.ViewChild, args: ['tabBodyWrapper', { isSignal: true }] }], tabHeader: [{ type: i0.ViewChild, args: ['tabHeader', { isSignal: true }] }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], onSurface: [{ type: i0.Input, args: [{ isSignal: true, alias: "onSurface", required: false }] }], underlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "underlined", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], dynamicHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "dynamicHeight", required: false }] }], selectedIndex: [{
1343
1348
  type: Input,
1344
1349
  args: [{ transform: numberAttribute }]
1345
1350
  }], activeTab: [{
@@ -1351,17 +1356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1351
1356
  }], disabled: [{
1352
1357
  type: Input,
1353
1358
  args: [{ transform: booleanAttribute }]
1354
- }], selectedIndexChange: [{
1355
- type: Output
1356
- }], activeTabChange: [{
1357
- type: Output
1358
- }], focusChange: [{
1359
- type: Output
1360
- }], animationDone: [{
1361
- type: Output
1362
- }], selectedTabChange: [{
1363
- type: Output
1364
- }] } });
1359
+ }], selectedIndexChange: [{ type: i0.Output, args: ["selectedIndexChange"] }], activeTabChange: [{ type: i0.Output, args: ["activeTabChange"] }], focusChange: [{ type: i0.Output, args: ["focusChange"] }], animationDone: [{ type: i0.Output, args: ["animationDone"] }], selectedTabChange: [{ type: i0.Output, args: ["selectedTabChange"] }] } });
1365
1360
 
1366
1361
  // Increasing integer for generating unique ids for tab nav components.
1367
1362
  let nextUniqueId = 0;
@@ -1372,13 +1367,17 @@ class KbqTabNavBar extends KbqPaginatedTabHeader {
1372
1367
  constructor() {
1373
1368
  super(...arguments);
1374
1369
  /** Whether the nav bar background should be transparent. */
1375
- this.transparent = false;
1376
- this.onSurface = false;
1370
+ this.transparent = input(false, ...(ngDevMode ? [{ debugName: "transparent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1371
+ this.onSurface = input(false, ...(ngDevMode ? [{ debugName: "onSurface", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1377
1372
  /** Whether the nav bar should be underlined. */
1378
- this.underlined = false;
1373
+ this.underlined = input(false, ...(ngDevMode ? [{ debugName: "underlined", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
1374
+ /**
1375
+ * Associated tab panel controlled by the nav bar.
1376
+ */
1377
+ this.tabNavPanel = input(...(ngDevMode ? [undefined, { debugName: "tabNavPanel" }] : []));
1379
1378
  }
1380
1379
  get role() {
1381
- return this.tabNavPanel ? 'tablist' : this.elementRef.nativeElement.getAttribute('role');
1380
+ return this.tabNavPanel() ? 'tablist' : this.elementRef.nativeElement.getAttribute('role');
1382
1381
  }
1383
1382
  get activeTabOffsetWidth() {
1384
1383
  return this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetWidth;
@@ -1405,8 +1404,9 @@ class KbqTabNavBar extends KbqPaginatedTabHeader {
1405
1404
  if (items[i].active) {
1406
1405
  this.selectedIndex = i;
1407
1406
  this.changeDetectorRef.markForCheck();
1408
- if (this.tabNavPanel) {
1409
- this.tabNavPanel.activeTabId = items[i].id;
1407
+ const tabNavPanel = this.tabNavPanel();
1408
+ if (tabNavPanel) {
1409
+ tabNavPanel.activeTabId = items[i].id;
1410
1410
  }
1411
1411
  return;
1412
1412
  }
@@ -1414,24 +1414,24 @@ class KbqTabNavBar extends KbqPaginatedTabHeader {
1414
1414
  // The ink bar should hide itself if no items are active.
1415
1415
  this.selectedIndex = -1;
1416
1416
  }
1417
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabNavBar, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1418
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: KbqTabNavBar, isStandalone: true, selector: "[kbqTabNavBar], [kbq-tab-nav-bar]", inputs: { transparent: ["transparent", "transparent", booleanAttribute], onSurface: ["onSurface", "onSurface", booleanAttribute], underlined: ["underlined", "underlined", booleanAttribute], tabNavPanel: "tabNavPanel" }, host: { properties: { "class.kbq-tab-nav-bar_filled": "!transparent", "class.kbq-tab-nav-bar_transparent": "transparent", "class.kbq-tab-nav-bar_on-background": "!onSurface", "class.kbq-tab-nav-bar_on-surface": "onSurface", "class.kbq-tab-header_underlined": "underlined", "class.kbq-tab-header__pagination-controls_enabled": "showPaginationControls", "attr.role": "role" }, classAttribute: "kbq-tab-nav-bar" }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => KbqTabLink), descendants: true }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["kbqTabNavBar"], usesInheritance: true, ngImport: i0, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-link__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-nav-bar{display:flex;position:relative}.kbq-tab-nav-bar .kbq-tab-link__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-nav-bar .kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-nav-bar .kbq-tab-list__content{display:flex}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-link__container{overflow-y:scroll}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-list__content{flex-direction:column;gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical)}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n", ".kbq-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-selected{cursor:default}.kbq-tab-link.cdk-keyboard-focused{z-index:1}.kbq-tab-link.kbq-disabled{pointer-events:none}.kbq-tab-link .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-link.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-link.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-link .kbq-tab-group_stretch-labels .kbq-tab-link{flex-basis:0;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1$1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1417
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabNavBar, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1418
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: KbqTabNavBar, isStandalone: true, selector: "[kbqTabNavBar], [kbq-tab-nav-bar]", inputs: { transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, onSurface: { classPropertyName: "onSurface", publicName: "onSurface", isSignal: true, isRequired: false, transformFunction: null }, underlined: { classPropertyName: "underlined", publicName: "underlined", isSignal: true, isRequired: false, transformFunction: null }, tabNavPanel: { classPropertyName: "tabNavPanel", publicName: "tabNavPanel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.kbq-tab-nav-bar_filled": "!transparent()", "class.kbq-tab-nav-bar_transparent": "transparent()", "class.kbq-tab-nav-bar_on-background": "!onSurface()", "class.kbq-tab-nav-bar_on-surface": "onSurface()", "class.kbq-tab-header_underlined": "underlined()", "class.kbq-tab-header__pagination-controls_enabled": "showPaginationControls", "attr.role": "role" }, classAttribute: "kbq-tab-nav-bar" }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => KbqTabLink), descendants: true }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["kbqTabNavBar"], usesInheritance: true, ngImport: i0, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-link__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-nav-bar{display:flex;position:relative}.kbq-tab-nav-bar .kbq-tab-link__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-nav-bar .kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-nav-bar .kbq-tab-list__content{display:flex}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-link__container{overflow-y:scroll}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-list__content{flex-direction:column;gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical)}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n", ".kbq-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-selected{cursor:default}.kbq-tab-link.cdk-keyboard-focused{z-index:1}.kbq-tab-link.kbq-disabled{pointer-events:none}.kbq-tab-link .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-link.kbq-tab-label_icon-only{width:var(--kbq-size-3xl);height:var(--kbq-size-3xl);padding:0!important;margin-inline:var(--kbq-size-xs);box-sizing:content-box}.kbq-tab-link.kbq-tab-label_icon-only:not(.kbq-tab-label_vertical):after{content:\"\";display:block;position:absolute;top:0;bottom:0;left:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));right:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));background:transparent}.kbq-tab-link.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-link.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-link.kbq-tab-label_vertical.kbq-tab-label_icon-only{margin-inline:0;justify-content:center}.kbq-tab-link .kbq-tab-group_stretch-labels .kbq-tab-link{flex-basis:0;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1419
1419
  }
1420
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabNavBar, decorators: [{
1420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabNavBar, decorators: [{
1421
1421
  type: Component,
1422
1422
  args: [{ selector: '[kbqTabNavBar], [kbq-tab-nav-bar]', imports: [
1423
1423
  KbqIconModule,
1424
1424
  CdkObserveContent
1425
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kbqTabNavBar', host: {
1425
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1426
1426
  class: 'kbq-tab-nav-bar',
1427
- '[class.kbq-tab-nav-bar_filled]': '!transparent',
1428
- '[class.kbq-tab-nav-bar_transparent]': 'transparent',
1429
- '[class.kbq-tab-nav-bar_on-background]': '!onSurface',
1430
- '[class.kbq-tab-nav-bar_on-surface]': 'onSurface',
1431
- '[class.kbq-tab-header_underlined]': 'underlined',
1427
+ '[class.kbq-tab-nav-bar_filled]': '!transparent()',
1428
+ '[class.kbq-tab-nav-bar_transparent]': 'transparent()',
1429
+ '[class.kbq-tab-nav-bar_on-background]': '!onSurface()',
1430
+ '[class.kbq-tab-nav-bar_on-surface]': 'onSurface()',
1431
+ '[class.kbq-tab-header_underlined]': 'underlined()',
1432
1432
  '[class.kbq-tab-header__pagination-controls_enabled]': 'showPaginationControls',
1433
1433
  '[attr.role]': 'role'
1434
- }, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-link__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-nav-bar{display:flex;position:relative}.kbq-tab-nav-bar .kbq-tab-link__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-nav-bar .kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-nav-bar .kbq-tab-list__content{display:flex}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-link__container{overflow-y:scroll}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-list__content{flex-direction:column;gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical)}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n", ".kbq-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-selected{cursor:default}.kbq-tab-link.cdk-keyboard-focused{z-index:1}.kbq-tab-link.kbq-disabled{pointer-events:none}.kbq-tab-link .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-link.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-link.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-link .kbq-tab-group_stretch-labels .kbq-tab-link{flex-basis:0;flex-grow:1}\n"] }]
1434
+ }, exportAs: 'kbqTabNavBar', template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\" [color]=\"disableScrollBefore ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-link__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\" [color]=\"disableScrollAfter ? 'contrast-fade' : 'contrast'\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header__pagination:not(.kbq-disabled){cursor:pointer}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-nav-bar{display:flex;position:relative}.kbq-tab-nav-bar .kbq-tab-link__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-nav-bar .kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-nav-bar .kbq-tab-list__content{display:flex}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-link__container{overflow-y:scroll}.kbq-tab-nav-bar.kbq-tab-group_vertical .kbq-tab-list__content{flex-direction:column;gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical)}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n", ".kbq-tab-link{vertical-align:top;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-link.kbq-selected{cursor:default}.kbq-tab-link.cdk-keyboard-focused{z-index:1}.kbq-tab-link.kbq-disabled{pointer-events:none}.kbq-tab-link .kbq-tab-label__content{display:flex;align-items:center;overflow:hidden;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-link.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-link.kbq-tab-label_icon-only{width:var(--kbq-size-3xl);height:var(--kbq-size-3xl);padding:0!important;margin-inline:var(--kbq-size-xs);box-sizing:content-box}.kbq-tab-link.kbq-tab-label_icon-only:not(.kbq-tab-label_vertical):after{content:\"\";display:block;position:absolute;top:0;bottom:0;left:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));right:calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width)));background:transparent}.kbq-tab-link.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-link.kbq-tab-label_vertical .kbq-tab-label__content:not(.kbq-tab-label__template){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-link.kbq-tab-label_vertical.kbq-tab-label_icon-only{margin-inline:0;justify-content:center}.kbq-tab-link .kbq-tab-group_stretch-labels .kbq-tab-link{flex-basis:0;flex-grow:1}\n"] }]
1435
1435
  }], propDecorators: { tabListContainer: [{
1436
1436
  type: ViewChild,
1437
1437
  args: ['tabListContainer', { static: true }]
@@ -1447,28 +1447,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1447
1447
  }], items: [{
1448
1448
  type: ContentChildren,
1449
1449
  args: [forwardRef(() => KbqTabLink), { descendants: true }]
1450
- }], transparent: [{
1451
- type: Input,
1452
- args: [{ transform: booleanAttribute }]
1453
- }], onSurface: [{
1454
- type: Input,
1455
- args: [{ transform: booleanAttribute }]
1456
- }], underlined: [{
1457
- type: Input,
1458
- args: [{ transform: booleanAttribute }]
1459
- }], tabNavPanel: [{
1460
- type: Input
1461
- }] } });
1450
+ }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], onSurface: [{ type: i0.Input, args: [{ isSignal: true, alias: "onSurface", required: false }] }], underlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "underlined", required: false }] }], tabNavPanel: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabNavPanel", required: false }] }] } });
1462
1451
  /**
1463
1452
  * Link inside of a KbqTabNavBar.
1464
1453
  */
1465
1454
  class KbqTabLink {
1466
1455
  constructor() {
1467
1456
  /** Unique id for the link. */
1457
+ // TODO: Skipped for migration because:
1458
+ // Class of this input is referenced in the signature of another class.
1468
1459
  this.id = `kbq-tab-link-${nextUniqueId++}`;
1469
1460
  /** Whether the tab link is active or not. */
1470
1461
  this._active = false;
1471
1462
  /** Whether the tab link is disabled. */
1463
+ // TODO: Skipped for migration because:
1464
+ // Class of this input is referenced in the signature of another class.
1472
1465
  this.disabled = false;
1473
1466
  this._tabIndex = 0;
1474
1467
  this.elementRef = inject(ElementRef);
@@ -1477,6 +1470,8 @@ class KbqTabLink {
1477
1470
  this.tabNavBar = inject(KbqTabNavBar);
1478
1471
  }
1479
1472
  /** Whether the link is active. */
1473
+ // TODO: Skipped for migration because:
1474
+ // Accessor inputs cannot be migrated as they are too complex.
1480
1475
  get active() {
1481
1476
  return this._active;
1482
1477
  }
@@ -1490,11 +1485,13 @@ class KbqTabLink {
1490
1485
  return this.tabNavBar.vertical;
1491
1486
  }
1492
1487
  get underlined() {
1493
- return this.tabNavBar.underlined;
1488
+ return this.tabNavBar.underlined();
1494
1489
  }
1495
1490
  /** Link tab index. */
1491
+ // TODO: Skipped for migration because:
1492
+ // Accessor inputs cannot be migrated as they are too complex.
1496
1493
  get tabIndex() {
1497
- if (this.tabNavBar.tabNavPanel) {
1494
+ if (this.tabNavBar.tabNavPanel()) {
1498
1495
  return this.active && !this.disabled ? this._tabIndex : -1;
1499
1496
  }
1500
1497
  else {
@@ -1506,7 +1503,7 @@ class KbqTabLink {
1506
1503
  }
1507
1504
  /** Link aria-selected attribute value. */
1508
1505
  get ariaSelected() {
1509
- if (this.tabNavBar.tabNavPanel) {
1506
+ if (this.tabNavBar.tabNavPanel()) {
1510
1507
  return this.active ? 'true' : 'false';
1511
1508
  }
1512
1509
  else {
@@ -1515,17 +1512,16 @@ class KbqTabLink {
1515
1512
  }
1516
1513
  /** Link role attribute value. */
1517
1514
  get role() {
1518
- return this.tabNavBar.tabNavPanel ? 'tab' : this.elementRef.nativeElement.getAttribute('role');
1515
+ return this.tabNavBar.tabNavPanel() ? 'tab' : this.elementRef.nativeElement.getAttribute('role');
1519
1516
  }
1520
1517
  /** Link aria-controls attribute value. */
1521
1518
  get ariaControls() {
1522
- return this.tabNavBar.tabNavPanel
1523
- ? this.tabNavBar.tabNavPanel?.id
1524
- : this.elementRef.nativeElement.getAttribute('aria-controls');
1519
+ const tabNavPanel = this.tabNavBar.tabNavPanel();
1520
+ return tabNavPanel ? tabNavPanel?.id() : this.elementRef.nativeElement.getAttribute('aria-controls');
1525
1521
  }
1526
1522
  /** Link aria-current attribute value. */
1527
1523
  get ariaCurrent() {
1528
- return this.active && !this.tabNavBar.tabNavPanel ? 'page' : null;
1524
+ return this.active && !this.tabNavBar.tabNavPanel() ? 'page' : null;
1529
1525
  }
1530
1526
  ngAfterViewInit() {
1531
1527
  this.focusMonitor.monitor(this.elementRef.nativeElement);
@@ -1567,7 +1563,7 @@ class KbqTabLink {
1567
1563
  if (this.disabled) {
1568
1564
  event.preventDefault();
1569
1565
  }
1570
- else if (this.tabNavBar.tabNavPanel) {
1566
+ else if (this.tabNavBar.tabNavPanel()) {
1571
1567
  // Only prevent the default action on space since it can scroll the page.
1572
1568
  // Don't prevent enter since it can break link navigation.
1573
1569
  if (event.keyCode === SPACE) {
@@ -1577,14 +1573,13 @@ class KbqTabLink {
1577
1573
  }
1578
1574
  }
1579
1575
  }
1580
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLink, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1581
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: KbqTabLink, isStandalone: true, selector: "[kbqTabLink], [kbq-tab-link]", inputs: { id: "id", active: ["active", "active", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute] }, host: { listeners: { "focus": "handleFocus()", "keydown": "handleKeydown($event)" }, properties: { "class.kbq-selected": "active", "class.kbq-tab-label_vertical": "vertical", "class.kbq-tab-label_horizontal": "!vertical", "class.kbq-tab-label_underlined": "underlined", "class.kbq-disabled": "disabled", "attr.id": "id", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled", "attr.aria-selected": "ariaSelected", "attr.role": "role", "attr.aria-controls": "ariaControls", "attr.aria-current": "ariaCurrent" }, classAttribute: "kbq-tab-link" }, exportAs: ["kbqTabLink"], ngImport: i0 }); }
1576
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLink, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1577
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.25", type: KbqTabLink, isStandalone: true, selector: "[kbqTabLink], [kbq-tab-link]", inputs: { id: "id", active: ["active", "active", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute] }, host: { listeners: { "focus": "handleFocus()", "keydown": "handleKeydown($event)" }, properties: { "class.kbq-selected": "active", "class.kbq-tab-label_vertical": "vertical", "class.kbq-tab-label_horizontal": "!vertical", "class.kbq-tab-label_underlined": "underlined", "class.kbq-disabled": "disabled", "attr.id": "id", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled", "attr.aria-selected": "ariaSelected", "attr.role": "role", "attr.aria-controls": "ariaControls", "attr.aria-current": "ariaCurrent" }, classAttribute: "kbq-tab-link" }, exportAs: ["kbqTabLink"], ngImport: i0 }); }
1582
1578
  }
1583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabLink, decorators: [{
1579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabLink, decorators: [{
1584
1580
  type: Directive,
1585
1581
  args: [{
1586
1582
  selector: '[kbqTabLink], [kbq-tab-link]',
1587
- exportAs: 'kbqTabLink',
1588
1583
  host: {
1589
1584
  class: 'kbq-tab-link',
1590
1585
  '[class.kbq-selected]': 'active',
@@ -1602,7 +1597,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1602
1597
  '[attr.aria-current]': 'ariaCurrent',
1603
1598
  '(focus)': 'handleFocus()',
1604
1599
  '(keydown)': 'handleKeydown($event)'
1605
- }
1600
+ },
1601
+ exportAs: 'kbqTabLink'
1606
1602
  }]
1607
1603
  }], propDecorators: { id: [{
1608
1604
  type: Input
@@ -1622,26 +1618,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
1622
1618
  class KbqTabNavPanel {
1623
1619
  constructor() {
1624
1620
  /** Unique id for the tab panel. */
1625
- this.id = `kbq-tab-nav-panel-${nextUniqueId++}`;
1621
+ this.id = input(`kbq-tab-nav-panel-${nextUniqueId++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
1626
1622
  }
1627
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1628
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqTabNavPanel, isStandalone: true, selector: "[kbqTabNavPanel]", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.id": "id", "attr.aria-labelledby": "activeTabId" }, classAttribute: "kbq-tab-nav-panel" }, exportAs: ["kbqTabNavPanel"], ngImport: i0 }); }
1623
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1624
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: KbqTabNavPanel, isStandalone: true, selector: "[kbqTabNavPanel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.id": "id()", "attr.aria-labelledby": "activeTabId" }, classAttribute: "kbq-tab-nav-panel" }, exportAs: ["kbqTabNavPanel"], ngImport: i0 }); }
1629
1625
  }
1630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabNavPanel, decorators: [{
1626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabNavPanel, decorators: [{
1631
1627
  type: Directive,
1632
1628
  args: [{
1633
1629
  selector: '[kbqTabNavPanel]',
1634
- exportAs: 'kbqTabNavPanel',
1635
1630
  host: {
1636
1631
  class: 'kbq-tab-nav-panel',
1637
- '[attr.id]': 'id',
1632
+ '[attr.id]': 'id()',
1638
1633
  '[attr.aria-labelledby]': 'activeTabId',
1639
1634
  role: 'tabpanel'
1640
- }
1635
+ },
1636
+ exportAs: 'kbqTabNavPanel'
1641
1637
  }]
1642
- }], propDecorators: { id: [{
1643
- type: Input
1644
- }] } });
1638
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
1645
1639
 
1646
1640
  const STANDALONE_COMPONENTS = [
1647
1641
  KbqTabNavBar,
@@ -1663,8 +1657,8 @@ const COMPONENTS = [
1663
1657
  KbqVerticalTabsCssStyler
1664
1658
  ];
1665
1659
  class KbqTabsModule {
1666
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1667
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: KbqTabsModule, imports: [PortalModule,
1660
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1661
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: KbqTabsModule, imports: [PortalModule,
1668
1662
  A11yModule,
1669
1663
  CdkScrollableModule,
1670
1664
  KbqIconModule,
@@ -1696,14 +1690,14 @@ class KbqTabsModule {
1696
1690
  KbqVerticalTabsCssStyler, KbqTabNavBar,
1697
1691
  KbqTabLink,
1698
1692
  KbqTabNavPanel] }); }
1699
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabsModule, imports: [PortalModule,
1693
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabsModule, imports: [PortalModule,
1700
1694
  A11yModule,
1701
1695
  CdkScrollableModule,
1702
1696
  KbqIconModule,
1703
1697
  KbqToolTipModule, KbqTabNavBar, KbqTabGroup,
1704
1698
  KbqTabHeader] }); }
1705
1699
  }
1706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqTabsModule, decorators: [{
1700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTabsModule, decorators: [{
1707
1701
  type: NgModule,
1708
1702
  args: [{
1709
1703
  imports: [