@koobiq/components 18.7.1 → 18.9.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 (243) hide show
  1. package/accordion/accordion-tokens.scss +1 -13
  2. package/alert/alert-tokens.scss +1 -36
  3. package/autocomplete/autocomplete-tokens.scss +1 -8
  4. package/autocomplete/autocomplete.scss +21 -1
  5. package/badge/badge-tokens.scss +1 -71
  6. package/button/button-tokens.scss +1 -140
  7. package/button-toggle/button-toggle-tokens.scss +1 -32
  8. package/checkbox/checkbox-tokens.scss +1 -50
  9. package/code-block/actionbar.component.d.ts +2 -2
  10. package/code-block/code-block-content.d.ts +28 -0
  11. package/code-block/code-block-tokens.scss +1 -139
  12. package/code-block/code-block.component.d.ts +3 -3
  13. package/code-block/code-block.module.d.ts +3 -3
  14. package/code-block/code-block.types.d.ts +10 -2
  15. package/core/forms/forms-tokens.scss +1 -8
  16. package/core/option/_option-theme.scss +10 -0
  17. package/core/option/option-tokens.scss +4 -0
  18. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +1 -50
  19. package/core/styles/_koobiq-theme.scss +3 -2
  20. package/core/styles/common/_list.scss +6 -8
  21. package/core/styles/common/_select.scss +3 -2
  22. package/core/styles/theming/scrollbar-tokens.scss +1 -16
  23. package/datepicker/datepicker-tokens.scss +1 -21
  24. package/divider/divider-tokens.scss +1 -7
  25. package/dl/dl-tokens.scss +1 -8
  26. package/dropdown/_dropdown-theme.scss +10 -0
  27. package/dropdown/dropdown-tokens.scss +5 -8
  28. package/dropdown/dropdown.scss +22 -3
  29. package/empty-state/empty-state-tokens.scss +1 -8
  30. package/esm2022/accordion/accordion-trigger.component.mjs +7 -19
  31. package/esm2022/accordion/accordion.component.mjs +2 -2
  32. package/esm2022/alert/alert.component.mjs +3 -3
  33. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -3
  34. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  35. package/esm2022/badge/badge.component.mjs +2 -2
  36. package/esm2022/button/button.component.mjs +3 -3
  37. package/esm2022/button-toggle/button-toggle.component.mjs +5 -11
  38. package/esm2022/checkbox/checkbox.mjs +3 -3
  39. package/esm2022/code-block/actionbar.component.mjs +1 -1
  40. package/esm2022/code-block/code-block-content.mjs +382 -0
  41. package/esm2022/code-block/code-block.component.mjs +5 -5
  42. package/esm2022/code-block/code-block.module.mjs +7 -27
  43. package/esm2022/code-block/code-block.types.mjs +1 -1
  44. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  45. package/esm2022/core/option/optgroup.mjs +3 -3
  46. package/esm2022/core/option/option.mjs +3 -3
  47. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
  48. package/esm2022/core/version.mjs +2 -2
  49. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  50. package/esm2022/datepicker/calendar-header.component.mjs +3 -3
  51. package/esm2022/datepicker/datepicker-toggle.component.mjs +3 -3
  52. package/esm2022/datepicker/datepicker.component.mjs +5 -4
  53. package/esm2022/datepicker/month-view.component.mjs +3 -3
  54. package/esm2022/divider/divider.component.mjs +2 -2
  55. package/esm2022/dl/dl.component.mjs +2 -2
  56. package/esm2022/dropdown/dropdown-item.component.mjs +3 -3
  57. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  58. package/esm2022/empty-state/empty-state.component.mjs +2 -2
  59. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  60. package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
  61. package/esm2022/form-field/cleaner.mjs +3 -9
  62. package/esm2022/form-field/form-field.mjs +4 -4
  63. package/esm2022/form-field/hint.mjs +2 -2
  64. package/esm2022/form-field/password-hint.mjs +5 -13
  65. package/esm2022/icon/icon-button.component.mjs +2 -2
  66. package/esm2022/icon/icon-item.component.mjs +2 -2
  67. package/esm2022/icon/icon.component.mjs +2 -2
  68. package/esm2022/list/list-selection.component.mjs +7 -15
  69. package/esm2022/list/list.component.mjs +2 -2
  70. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  71. package/esm2022/markdown/markdown.component.mjs +7 -21
  72. package/esm2022/modal/modal.component.mjs +5 -4
  73. package/esm2022/modal/modal.directive.mjs +5 -17
  74. package/esm2022/navbar/navbar-item.component.mjs +3 -3
  75. package/esm2022/navbar/navbar.component.mjs +2 -2
  76. package/esm2022/navbar/vertical-navbar.component.mjs +5 -13
  77. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  78. package/esm2022/popover/popover.component.mjs +3 -3
  79. package/esm2022/progress-bar/progress-bar.component.mjs +3 -3
  80. package/esm2022/progress-spinner/progress-spinner.component.mjs +3 -3
  81. package/esm2022/radio/radio.component.mjs +3 -3
  82. package/esm2022/risk-level/risk-level.component.mjs +2 -2
  83. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  84. package/esm2022/select/select.component.mjs +49 -16
  85. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  86. package/esm2022/sidepanel/sidepanel-directives.mjs +7 -29
  87. package/esm2022/tabs/paginated-tab-header.mjs +32 -30
  88. package/esm2022/tabs/public-api.mjs +8 -8
  89. package/esm2022/tabs/tab-body.component.mjs +3 -3
  90. package/esm2022/tabs/tab-group.component.mjs +34 -52
  91. package/esm2022/tabs/tab-header.component.mjs +17 -35
  92. package/esm2022/tabs/tab-nav-bar.mjs +292 -0
  93. package/esm2022/tabs/tab.component.mjs +6 -5
  94. package/esm2022/tabs/tabs.module.mjs +39 -45
  95. package/esm2022/tags/tag-list.component.mjs +2 -2
  96. package/esm2022/tags/tag.component.mjs +3 -3
  97. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  98. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  99. package/esm2022/toast/toast.component.mjs +3 -3
  100. package/esm2022/toggle/toggle.component.mjs +3 -3
  101. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  102. package/esm2022/tree/toggle.mjs +2 -2
  103. package/esm2022/tree/tree-option.component.mjs +3 -3
  104. package/esm2022/tree/tree-selection.component.mjs +2 -2
  105. package/esm2022/tree/tree.mjs +2 -2
  106. package/esm2022/tree-select/tree-select.component.mjs +45 -9
  107. package/fesm2022/koobiq-components-accordion.mjs +8 -20
  108. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-alert.mjs +2 -2
  110. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-autocomplete.mjs +5 -4
  112. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-badge.mjs +2 -2
  114. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-button-toggle.mjs +4 -10
  116. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-button.mjs +2 -2
  118. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  120. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-code-block.mjs +389 -31
  122. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-core.mjs +8 -8
  124. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-datepicker.mjs +12 -11
  126. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-divider.mjs +2 -2
  128. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-dl.mjs +2 -2
  130. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  132. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  134. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  136. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-form-field.mjs +11 -25
  138. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-icon.mjs +6 -6
  140. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-list.mjs +8 -16
  142. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  144. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-markdown.mjs +6 -20
  146. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-modal.mjs +8 -19
  148. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-navbar.mjs +8 -16
  150. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-popover.mjs +4 -4
  152. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
  154. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  156. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-radio.mjs +2 -2
  158. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-risk-level.mjs +2 -2
  160. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  162. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-select.mjs +49 -16
  164. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-sidepanel.mjs +8 -30
  166. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-tabs.mjs +349 -208
  168. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-tags.mjs +4 -4
  170. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  172. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-toast.mjs +2 -2
  174. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  176. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  178. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-tree-select.mjs +45 -9
  180. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  181. package/fesm2022/koobiq-components-tree.mjs +8 -8
  182. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  183. package/file-upload/file-upload-tokens.scss +1 -52
  184. package/form-field/form-field-tokens.scss +1 -29
  185. package/form-field/form-field.scss +5 -6
  186. package/form-field/hint-tokens.scss +1 -22
  187. package/icon/icon-button-tokens.scss +1 -30
  188. package/icon/icon-item-tokens.scss +1 -26
  189. package/icon/icon-tokens.scss +2 -10
  190. package/link/_link-theme.scss +27 -5
  191. package/link/link-tokens.scss +1 -21
  192. package/list/_list-theme.scss +10 -0
  193. package/list/list-tokens.scss +17 -42
  194. package/loader-overlay/loader-overlay-tokens.scss +1 -12
  195. package/markdown/markdown-tokens.scss +1 -34
  196. package/modal/modal-tokens.scss +1 -12
  197. package/navbar/navbar-tokens.scss +1 -28
  198. package/package.json +7 -9
  199. package/popover/popover-tokens.scss +1 -12
  200. package/prebuilt-themes/dark-theme.css +1 -1
  201. package/prebuilt-themes/light-theme.css +1 -1
  202. package/prebuilt-themes/theme.css +1 -1
  203. package/progress-bar/progress-bar-tokens.scss +1 -10
  204. package/progress-spinner/progress-spinner-tokens.scss +1 -9
  205. package/radio/radio-tokens.scss +11 -70
  206. package/risk-level/risk-level-tokens.scss +1 -32
  207. package/schematics/ng-add/index.js +5 -8
  208. package/scrollbar/scrollbar-tokens.scss +1 -16
  209. package/select/select-tokens.scss +1 -8
  210. package/select/select.component.d.ts +40 -4
  211. package/select/select.scss +20 -0
  212. package/sidepanel/sidepanel-tokens.scss +1 -11
  213. package/tabs/_tabs-common.scss +27 -5
  214. package/tabs/_tabs-theme.scss +6 -16
  215. package/tabs/paginated-tab-header.d.ts +23 -21
  216. package/tabs/public-api.d.ts +7 -7
  217. package/tabs/tab-group.component.d.ts +21 -24
  218. package/tabs/tab-group.scss +27 -29
  219. package/tabs/tab-header.component.d.ts +13 -19
  220. package/tabs/tab-header.scss +5 -27
  221. package/tabs/tab-link.scss +14 -0
  222. package/tabs/tab-nav-bar.d.ts +92 -0
  223. package/tabs/tab-nav-bar.scss +36 -0
  224. package/tabs/tab.component.d.ts +1 -0
  225. package/tabs/tabs-tokens.scss +1 -92
  226. package/tabs/tabs.module.d.ts +12 -12
  227. package/tags/tag-tokens.scss +1 -74
  228. package/timezone/timezone-option-tokens.scss +5 -11
  229. package/toast/toast-tokens.scss +1 -22
  230. package/toggle/toggle-tokens.scss +1 -52
  231. package/tooltip/tooltip-tokens.scss +1 -21
  232. package/tree/tree-option.scss +11 -0
  233. package/tree/tree-tokens.scss +1 -37
  234. package/tree-select/_tree-select-theme.scss +5 -1
  235. package/tree-select/tree-select-tokens.scss +2 -6
  236. package/tree-select/tree-select.component.d.ts +45 -5
  237. package/esm2022/tabs/tab-nav-bar/index.mjs +0 -2
  238. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -119
  239. package/select/README.md +0 -0
  240. package/tabs/README.md +0 -0
  241. package/tabs/tab-nav-bar/index.d.ts +0 -1
  242. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +0 -42
  243. package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -35
@@ -3,38 +3,7 @@
3
3
  --kbq-risk-level-size-padding-horizontal: var(--kbq-size-s);
4
4
  --kbq-risk-level-size-border-width: var(--kbq-size-border-width);
5
5
  --kbq-risk-level-size-border-radius: var(--kbq-size-xxs);
6
- }
7
-
8
- :where(.kbq-light, .theme-light, .kbq-theme-light) {
9
- --kbq-risk-level-filled-fade-off-success-background: var(--kbq-background-success);
10
- --kbq-risk-level-filled-fade-off-success-text: var(--kbq-foreground-white);
11
- --kbq-risk-level-filled-fade-off-warning-background: var(--kbq-background-warning);
12
- --kbq-risk-level-filled-fade-off-warning-text: var(--kbq-foreground-white);
13
- --kbq-risk-level-filled-fade-off-error-background: var(--kbq-background-error);
14
- --kbq-risk-level-filled-fade-off-error-text: var(--kbq-foreground-white);
15
- --kbq-risk-level-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);
16
- --kbq-risk-level-filled-fade-on-contrast-text: var(--kbq-foreground-contrast);
17
- --kbq-risk-level-filled-fade-on-success-background: var(--kbq-background-success-fade);
18
- --kbq-risk-level-filled-fade-on-success-text: var(--kbq-foreground-success);
19
- --kbq-risk-level-filled-fade-on-warning-background: var(--kbq-background-warning-fade);
20
- --kbq-risk-level-filled-fade-on-warning-text: var(--kbq-foreground-warning);
21
- --kbq-risk-level-filled-fade-on-error-background: var(--kbq-background-error-fade);
22
- --kbq-risk-level-filled-fade-on-error-text: var(--kbq-foreground-error);
23
- --kbq-risk-level-outline-fade-on-contrast-background: transparent;
24
- --kbq-risk-level-outline-fade-on-contrast-text: var(--kbq-foreground-contrast);
25
- --kbq-risk-level-outline-fade-on-contrast-border: var(--kbq-line-contrast-fade);
26
- --kbq-risk-level-outline-fade-on-success-background: transparent;
27
- --kbq-risk-level-outline-fade-on-success-text: var(--kbq-foreground-success);
28
- --kbq-risk-level-outline-fade-on-success-border: var(--kbq-line-success-fade);
29
- --kbq-risk-level-outline-fade-on-warning-background: transparent;
30
- --kbq-risk-level-outline-fade-on-warning-text: var(--kbq-foreground-warning);
31
- --kbq-risk-level-outline-fade-on-warning-border: var(--kbq-line-warning-fade);
32
- --kbq-risk-level-outline-fade-on-error-background: transparent;
33
- --kbq-risk-level-outline-fade-on-error-text: var(--kbq-foreground-error);
34
- --kbq-risk-level-outline-fade-on-error-border: var(--kbq-line-error-fade);
35
- }
36
-
37
- :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
6
+ /* THEME TOKENS */
38
7
  --kbq-risk-level-filled-fade-off-success-background: var(--kbq-background-success);
39
8
  --kbq-risk-level-filled-fade-off-success-text: var(--kbq-foreground-white);
40
9
  --kbq-risk-level-filled-fade-off-warning-background: var(--kbq-background-warning);
@@ -23,7 +23,6 @@ const VERSIONS = {
23
23
  MESSAGEFORMAT_CORE: '^0.0.0',
24
24
  RADIX_NG: '^0.0.0',
25
25
  LUXON: '^0.0.0',
26
- OVERLAYSCROLLBARS: '^0.0.0',
27
26
  NGX_HIGHLIGHTJS: '^0.0.0'
28
27
  };
29
28
  /**
@@ -42,18 +41,16 @@ function ngAdd(options) {
42
41
  }
43
42
  // Installing dependencies
44
43
  utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^18.2.6");
45
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.7.1");
46
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.7.1");
47
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.3");
48
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.3");
49
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^9.1.0");
44
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.9.0");
45
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.9.0");
46
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.4");
47
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.4");
48
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^9.2.0");
50
49
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.8.1");
51
50
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.8.1");
52
51
  utils_packageConfig.addPackageToPackageJson(tree, '@messageformat/core', "^3.0.1");
53
52
  utils_packageConfig.addPackageToPackageJson(tree, '@radix-ng/primitives', VERSIONS.RADIX_NG);
54
53
  utils_packageConfig.addPackageToPackageJson(tree, 'luxon', "^3.4.4");
55
- utils_packageConfig.addPackageToPackageJson(tree, 'overlayscrollbars', "^2.7.3");
56
- utils_packageConfig.addPackageToPackageJson(tree, 'ngx-highlightjs', "^10.0.0");
57
54
  };
58
55
  }
59
56
 
@@ -5,22 +5,7 @@
5
5
  --kbq-scrollbar-size-thumb-width: var(--kbq-size-s);
6
6
  --kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);
7
7
  --kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);
8
- }
9
-
10
- :where(.kbq-light, .theme-light, .kbq-theme-light) {
11
- --kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);
12
- --kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);
13
- --kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);
14
- --kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);
15
- --kbq-scrollbar-track-default-border: transparent;
16
- --kbq-scrollbar-track-default-background: transparent;
17
- --kbq-scrollbar-track-hover-border: transparent;
18
- --kbq-scrollbar-track-hover-background: transparent;
19
- --kbq-scrollbar-track-active-border: transparent;
20
- --kbq-scrollbar-track-active-background: transparent;
21
- }
22
-
23
- :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
8
+ /* THEME TOKENS */
24
9
  --kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);
25
10
  --kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);
26
11
  --kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);
@@ -10,14 +10,7 @@
10
10
  --kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);
11
11
  --kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);
12
12
  --kbq-select-panel-size-max-height: 256px;
13
- }
14
-
15
- :where(.kbq-light, .theme-light, .kbq-theme-light) {
16
- --kbq-select-panel-dropdown-background: var(--kbq-background-card);
17
- --kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);
18
- }
19
-
20
- :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
13
+ /* THEME TOKENS */
21
14
  --kbq-select-panel-dropdown-background: var(--kbq-background-card);
22
15
  --kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);
23
16
  }
@@ -1,8 +1,8 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import { SelectionModel } from '@angular/cdk/collections';
3
- import { CdkConnectedOverlay, ConnectedPosition, OverlayContainer } from '@angular/cdk/overlay';
3
+ import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition, OverlayContainer } from '@angular/cdk/overlay';
4
4
  import { CdkVirtualForOf } from '@angular/cdk/scrolling';
5
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
5
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, InjectionToken, NgZone, OnChanges, OnDestroy, OnInit, Provider, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
6
6
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
7
7
  import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
8
8
  import { CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher, HasTabIndex, HasTabIndexCtor, KbqLocaleService, KbqOptgroup, KbqOption, KbqOptionBase, KbqOptionSelectionChange, KbqSelectMatcher, KbqSelectSearch, KbqSelectTrigger } from '@koobiq/components/core';
@@ -16,6 +16,26 @@ export declare class KbqSelectChange {
16
16
  value: any;
17
17
  constructor(source: KbqSelect, value: any);
18
18
  }
19
+ /** Select panel width type. */
20
+ export type KbqSelectPanelWidth = 'auto' | number | null;
21
+ /** Options for the `kbq-select` that can be configured using the `KBQ_SELECT_OPTIONS` injection token. */
22
+ export type KbqSelectOptions = Partial<{
23
+ /**
24
+ * Width of the panel. If set to `auto`, the panel will match the trigger width.
25
+ * If set to null or an empty string, the panel will grow to match the longest option's text.
26
+ */
27
+ panelWidth: KbqSelectPanelWidth;
28
+ }>;
29
+ /** Injection token that can be used to provide the default options for the `kbq-select`. */
30
+ export declare const KBQ_SELECT_OPTIONS: InjectionToken<Partial<{
31
+ /**
32
+ * Width of the panel. If set to `auto`, the panel will match the trigger width.
33
+ * If set to null or an empty string, the panel will grow to match the longest option's text.
34
+ */
35
+ panelWidth: KbqSelectPanelWidth;
36
+ }>>;
37
+ /** Utility provider for `KBQ_SELECT_OPTIONS`. */
38
+ export declare const kbqSelectOptionsProvider: (options: KbqSelectOptions) => Provider;
19
39
  /** @docs-private */
20
40
  export declare class KbqSelectBase {
21
41
  elementRef: ElementRef;
@@ -42,11 +62,12 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
42
62
  private readonly parentFormField;
43
63
  private readonly scrollStrategyFactory;
44
64
  protected localeService?: KbqLocaleService | undefined;
65
+ private readonly defaultOptions;
45
66
  /** A name for this control that can be used by `kbq-form-field`. */
46
67
  controlType: string;
47
68
  hiddenItems: number;
48
69
  /** The last measured value for the trigger's client bounding rect. */
49
- triggerRect: ClientRect;
70
+ triggerRect: DOMRect;
50
71
  /** The cached font-size of the trigger element. */
51
72
  triggerFontSize: number;
52
73
  /** Deals with the selection logic. */
@@ -141,6 +162,11 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
141
162
  */
142
163
  get compareWith(): (o1: any, o2: any) => boolean;
143
164
  set compareWith(fn: (o1: any, o2: any) => boolean);
165
+ /**
166
+ * Width of the panel. If set to `auto`, the panel will match the trigger width.
167
+ * If set to null or an empty string, the panel will grow to match the longest option's text.
168
+ */
169
+ panelWidth: KbqSelectPanelWidth;
144
170
  /** Value of the select control. */
145
171
  get value(): any;
146
172
  set value(newValue: any);
@@ -171,6 +197,14 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
171
197
  /** Unique id for this input. */
172
198
  private readonly uid;
173
199
  private visibleChanges;
200
+ /** Width of the overlay panel. */
201
+ protected overlayWidth: string | number;
202
+ /** Min width of the overlay panel. */
203
+ protected overlayMinWidth: string | number;
204
+ /** Overlay panel class. */
205
+ protected readonly overlayPanelClass = "kbq-select-overlay";
206
+ /** Origin for the overlay panel. */
207
+ protected overlayOrigin?: CdkOverlayOrigin | ElementRef;
174
208
  private readonly destroyRef;
175
209
  constructor(_changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone, _renderer: Renderer2, defaultErrorStateMatcher: ErrorStateMatcher, elementRef: ElementRef, overlayContainer: OverlayContainer, _dir: Directionality, parentForm: NgForm, parentFormGroup: FormGroupDirective, parentFormField: KbqFormField, ngControl: NgControl, scrollStrategyFactory: any, localeService?: KbqLocaleService | undefined);
176
210
  ngOnInit(): void;
@@ -301,12 +335,14 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
301
335
  private calculateOverlayXPosition;
302
336
  private resetOverlay;
303
337
  private getOverlayRect;
338
+ /** Gets how wide the overlay panel should be. */
304
339
  private getOverlayWidth;
305
340
  /** Comparison function to specify which option is displayed. Defaults to object equality. */
306
341
  private _compareWith;
307
342
  private getTotalVisibleItems;
308
343
  private buildTriggerClone;
309
344
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }, null, { optional: true; }]>;
310
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], false, never>;
345
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], false, never>;
346
+ static ngAcceptInputType_multiple: unknown;
311
347
  }
312
348
  export {};
@@ -19,6 +19,26 @@
19
19
  .kbq-select__content {
20
20
  @extend %kbq-select-content;
21
21
 
22
+ .kbq-option {
23
+ position: relative;
24
+
25
+ &:before,
26
+ &:after {
27
+ position: absolute;
28
+ content: '';
29
+ width: var(--kbq-size-xxs);
30
+ height: calc(100% + var(--kbq-size-3xs) * 2); // outline size * 2
31
+ }
32
+
33
+ &:before {
34
+ right: calc(100% + var(--kbq-size-3xs)); // outline size
35
+ }
36
+
37
+ &:after {
38
+ left: calc(100% + var(--kbq-size-3xs)); // outline size
39
+ }
40
+ }
41
+
22
42
  &:not(:has(> .kbq-select__no-options-message)) .cdk-virtual-scroll-viewport {
23
43
  min-height: var(--kbq-select-panel-size-max-height, 256px);
24
44
  max-height: var(--kbq-select-panel-size-max-height, 256px);
@@ -12,17 +12,7 @@
12
12
  --kbq-sidepanel-size-footer-padding-bottom: var(--kbq-size-3xl);
13
13
  --kbq-sidepanel-size-footer-padding-horizontal: var(--kbq-size-3xl);
14
14
  --kbq-sidepanel-size-footer-content-gap-horizontal: var(--kbq-size-l);
15
- }
16
-
17
- :where(.kbq-light, .theme-light, .kbq-theme-light) {
18
- --kbq-sidepanel-overlay-background: var(--kbq-background-overlay);
19
- --kbq-sidepanel-container-background: var(--kbq-background-card);
20
- --kbq-sidepanel-container-shadow: var(--kbq-shadow-overlay);
21
- --kbq-sidepanel-header-text-color: var(--kbq-foreground-contrast);
22
- --kbq-sidepanel-content-text-color: var(--kbq-foreground-contrast);
23
- }
24
-
25
- :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
15
+ /* THEME TOKENS */
26
16
  --kbq-sidepanel-overlay-background: var(--kbq-background-overlay);
27
17
  --kbq-sidepanel-container-background: var(--kbq-background-card);
28
18
  --kbq-sidepanel-container-shadow: var(--kbq-shadow-overlay);
@@ -1,4 +1,5 @@
1
- @use '../core/styles/common/tokens' as *;
1
+ @use '../core/styles/common/tokens';
2
+ @use '../core/styles/common/vendor-prefixes';
2
3
 
3
4
  @mixin tab-label {
4
5
  position: relative;
@@ -14,11 +15,11 @@
14
15
 
15
16
  cursor: pointer;
16
17
 
17
- padding: kbq-difference-series-css-variables(
18
+ padding: tokens.kbq-difference-series-css-variables(
18
19
  [tabs-size-tab-item-padding-vertical,
19
20
  tabs-size-tab-item-focus-outline-width]
20
21
  )
21
- kbq-difference-series-css-variables(
22
+ tokens.kbq-difference-series-css-variables(
22
23
  [tabs-size-tab-item-padding-horizontal,
23
24
  tabs-size-tab-item-focus-outline-width]
24
25
  );
@@ -38,14 +39,14 @@
38
39
  }
39
40
 
40
41
  &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left {
41
- padding-left: kbq-difference-series-css-variables(
42
+ padding-left: tokens.kbq-difference-series-css-variables(
42
43
  [tabs-size-tab-item-padding-horizontal,
43
44
  tabs-size-tab-item-focus-outline-width]
44
45
  );
45
46
  }
46
47
 
47
48
  &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right {
48
- padding-right: kbq-difference-series-css-variables(
49
+ padding-right: tokens.kbq-difference-series-css-variables(
49
50
  [tabs-size-tab-item-padding-horizontal,
50
51
  tabs-size-tab-item-focus-outline-width]
51
52
  );
@@ -90,3 +91,24 @@
90
91
  }
91
92
  }
92
93
  }
94
+
95
+ // Common styles for paginated tabs, used by `.kbq-tab-header` and `.kbq-tab-nav-bar`
96
+ @mixin paginated-tab-header {
97
+ .kbq-tab-header__pagination {
98
+ @include vendor-prefixes.user-select(none);
99
+
100
+ position: relative;
101
+ display: none;
102
+ justify-content: center;
103
+ align-items: center;
104
+ cursor: pointer;
105
+ z-index: 2;
106
+ -webkit-tap-highlight-color: transparent;
107
+ touch-action: none;
108
+ padding: 0 var(--kbq-size-m);
109
+
110
+ .kbq-tab-header__pagination-controls_enabled & {
111
+ display: flex;
112
+ }
113
+ }
114
+ }
@@ -1,5 +1,4 @@
1
- @use '../core/styles/typography/typography-utils' as *;
2
- @use '../core/styles/common/tokens' as *;
1
+ @use '../core/styles/common/tokens';
3
2
 
4
3
  @mixin kbq-tab-item-state($type, $sub-type, $style-name) {
5
4
  $base: tabs-tab-item-#{$type}-#{$sub-type}-#{$style-name};
@@ -52,7 +51,6 @@
52
51
  }
53
52
  }
54
53
 
55
- //noinspection ALL
56
54
  @mixin kbq-tabs-theme() {
57
55
  .kbq-tab-group {
58
56
  &.kbq-tab-group_filled {
@@ -104,9 +102,7 @@
104
102
  .kbq-tab-nav-bar {
105
103
  &.kbq-tab-nav-bar_filled {
106
104
  &.kbq-tab-nav-bar_on-background {
107
- .kbq-tab-header {
108
- background: var(--kbq-tabs-tab-stack-filled-on-background-background);
109
- }
105
+ background: var(--kbq-tabs-tab-stack-filled-on-background-background);
110
106
 
111
107
  & .kbq-tab-link {
112
108
  @include kbq-tab-item-style(filled, on-background);
@@ -114,9 +110,7 @@
114
110
  }
115
111
 
116
112
  &.kbq-tab-nav-bar_on-surface {
117
- .kbq-tab-header {
118
- background: var(--kbq-tabs-tab-stack-filled-on-surface-background);
119
- }
113
+ background: var(--kbq-tabs-tab-stack-filled-on-surface-background);
120
114
 
121
115
  & .kbq-tab-link {
122
116
  @include kbq-tab-item-style(filled, on-background);
@@ -126,9 +120,7 @@
126
120
 
127
121
  &.kbq-tab-nav-bar_transparent {
128
122
  &.kbq-tab-nav-bar_on-background {
129
- .kbq-tab-header {
130
- background: var(--kbq-tabs-tab-stack-transparent-on-background-background);
131
- }
123
+ background: var(--kbq-tabs-tab-stack-transparent-on-background-background);
132
124
 
133
125
  & .kbq-tab-link {
134
126
  @include kbq-tab-item-style(transparent, on-background);
@@ -136,9 +128,7 @@
136
128
  }
137
129
 
138
130
  &.kbq-tab-nav-bar_on-surface {
139
- .kbq-tab-header {
140
- background: var(--kbq-tabs-tab-stack-transparent-on-surface-background);
141
- }
131
+ background: var(--kbq-tabs-tab-stack-transparent-on-surface-background);
142
132
 
143
133
  & .kbq-tab-link {
144
134
  @include kbq-tab-item-style(transparent, on-background);
@@ -151,6 +141,6 @@
151
141
  @mixin kbq-tabs-typography() {
152
142
  .kbq-tab-label,
153
143
  .kbq-tab-link {
154
- @include kbq-typography-level-to-styles-css-variables(typography, text-normal-medium);
144
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal-medium);
155
145
  }
156
146
  }
@@ -1,8 +1,6 @@
1
1
  import { FocusableOption } from '@angular/cdk/a11y';
2
- import { Direction, Directionality } from '@angular/cdk/bidi';
3
- import { Platform } from '@angular/cdk/platform';
4
- import { ViewportRuler } from '@angular/cdk/scrolling';
5
- import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, QueryList } from '@angular/core';
2
+ import { Direction } from '@angular/cdk/bidi';
3
+ import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
6
4
  import * as i0 from "@angular/core";
7
5
  /**
8
6
  * The directions that scrolling can go in when the header's tabs exceed the header width. 'After'
@@ -19,13 +17,6 @@ export type KbqPaginatedTabHeaderItem = FocusableOption & {
19
17
  * @docs-private
20
18
  */
21
19
  export declare abstract class KbqPaginatedTabHeader implements AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy {
22
- protected elementRef: ElementRef<HTMLElement>;
23
- protected changeDetectorRef: ChangeDetectorRef;
24
- private viewportRuler;
25
- private ngZone;
26
- private platform;
27
- private dir;
28
- animationMode?: string | undefined;
29
20
  /** The index of the active tab. */
30
21
  get selectedIndex(): number;
31
22
  set selectedIndex(value: number);
@@ -39,11 +30,11 @@ export declare abstract class KbqPaginatedTabHeader implements AfterContentCheck
39
30
  set scrollDistance(v: number);
40
31
  /** The distance in pixels that the tab labels should be translated to the left. */
41
32
  private _scrollDistance;
42
- abstract items: QueryList<KbqPaginatedTabHeaderItem>;
43
- abstract tabListContainer: ElementRef<HTMLElement>;
44
- abstract tabList: ElementRef<HTMLElement>;
45
- abstract nextPaginator: ElementRef<HTMLElement>;
46
- abstract previousPaginator: ElementRef<HTMLElement>;
33
+ abstract readonly items: QueryList<KbqPaginatedTabHeaderItem>;
34
+ abstract readonly tabListContainer: ElementRef<HTMLElement>;
35
+ abstract readonly tabList: ElementRef<HTMLElement>;
36
+ abstract readonly nextPaginator: ElementRef<HTMLElement>;
37
+ abstract readonly previousPaginator: ElementRef<HTMLElement>;
47
38
  /** Event emitted when the option is selected. */
48
39
  readonly selectFocusedIndex: EventEmitter<number>;
49
40
  /** Event emitted when a label is focused. */
@@ -59,8 +50,10 @@ export declare abstract class KbqPaginatedTabHeader implements AfterContentCheck
59
50
  * layout recalculations if it's known that pagination won't be required.
60
51
  */
61
52
  disablePagination: boolean;
62
- private readonly destroyRef;
63
- protected vertical: boolean;
53
+ /** Whether the tabs should be displayed vertically. */
54
+ set vertical(value: boolean);
55
+ get vertical(): boolean;
56
+ private _vertical;
64
57
  /**
65
58
  * The number of tab labels that are displayed on the header. When this changes, the header
66
59
  * should re-evaluate the scroll position.
@@ -76,7 +69,14 @@ export declare abstract class KbqPaginatedTabHeader implements AfterContentCheck
76
69
  private stopScrolling;
77
70
  /** Whether the header should scroll to the selected index after the view has been checked. */
78
71
  private selectedIndexChanged;
79
- constructor(elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef, viewportRuler: ViewportRuler, ngZone: NgZone, platform: Platform, dir: Directionality, animationMode?: string | undefined);
72
+ protected readonly destroyRef: DestroyRef;
73
+ readonly elementRef: ElementRef<any>;
74
+ protected readonly changeDetectorRef: ChangeDetectorRef;
75
+ private readonly viewportRuler;
76
+ private readonly ngZone;
77
+ private readonly platform;
78
+ private readonly dir;
79
+ constructor();
80
80
  /** Called when the user has selected an item via the keyboard. */
81
81
  ngAfterViewInit(): void;
82
82
  ngAfterContentInit(): void;
@@ -173,6 +173,8 @@ export declare abstract class KbqPaginatedTabHeader implements AfterContentCheck
173
173
  */
174
174
  private scrollTo;
175
175
  private updateScrollPosition;
176
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqPaginatedTabHeader, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
177
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPaginatedTabHeader, never, never, { "disablePagination": { "alias": "disablePagination"; "required": false; }; }, {}, never, never, false, never>;
176
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqPaginatedTabHeader, never>;
177
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPaginatedTabHeader, never, never, { "disablePagination": { "alias": "disablePagination"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; }, {}, never, never, false, never>;
178
+ static ngAcceptInputType_disablePagination: unknown;
179
+ static ngAcceptInputType_vertical: unknown;
178
180
  }
@@ -1,10 +1,10 @@
1
- export { KbqTabBody, KbqTabBodyOriginState, KbqTabBodyPortal, KbqTabBodyPositionState } from './tab-body.component';
2
- export { KbqTabContent } from './tab-content.directive';
1
+ export * from './tab-body.component';
2
+ export * from './tab-content.directive';
3
3
  export * from './tab-group.component';
4
- export { KbqTabHeader, ScrollDirection } from './tab-header.component';
5
- export { KbqTabLabelWrapper } from './tab-label-wrapper.directive';
6
- export { KbqTabLabel } from './tab-label.directive';
7
- export { KbqTabLink, KbqTabNav } from './tab-nav-bar/index';
8
- export { KbqTab } from './tab.component';
4
+ export * from './tab-header.component';
5
+ export * from './tab-label-wrapper.directive';
6
+ export * from './tab-label.directive';
7
+ export * from './tab-nav-bar';
8
+ export * from './tab.component';
9
9
  export * from './tabs-animations';
10
10
  export * from './tabs.module';
@@ -6,23 +6,19 @@ import { KbqTab } from './tab.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class KbqAlignTabsCenterCssStyler {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAlignTabsCenterCssStyler, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAlignTabsCenterCssStyler, "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center]", never, {}, {}, never, never, false, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAlignTabsCenterCssStyler, "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center], [kbqTabNavBar][kbq-align-tabs-center]", never, {}, {}, never, never, false, never>;
10
10
  }
11
11
  export declare class KbqAlignTabsEndCssStyler {
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAlignTabsEndCssStyler, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAlignTabsEndCssStyler, "kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end]", never, {}, {}, never, never, false, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAlignTabsEndCssStyler, "kbq-tab-group[kbq-align-tabs-end], [kbq-tab-nav-bar][kbq-align-tabs-end], [kbqTabNavBar][kbq-align-tabs-end]", never, {}, {}, never, never, false, never>;
14
14
  }
15
15
  export declare class KbqStretchTabsCssStyler {
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqStretchTabsCssStyler, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqStretchTabsCssStyler, "kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs]", never, {}, {}, never, never, false, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqStretchTabsCssStyler, "kbq-tab-group[kbq-stretch-tabs], [kbq-tab-nav-bar][kbq-stretch-tabs], [kbqTabNavBar][kbq-stretch-tabs]", never, {}, {}, never, never, false, never>;
18
18
  }
19
19
  export declare class KbqVerticalTabsCssStyler {
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqVerticalTabsCssStyler, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqVerticalTabsCssStyler, "kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical]", never, {}, {}, never, never, false, never>;
22
- }
23
- export declare class KbqUnderlinedTabsCssStyler {
24
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqUnderlinedTabsCssStyler, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUnderlinedTabsCssStyler, "kbq-tab-group[underlined], [kbq-tab-nav-bar][underlined]", never, {}, {}, never, never, false, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqVerticalTabsCssStyler, "kbq-tab-group[vertical], [kbq-tab-nav-bar][vertical], [kbqTabNavBar][vertical]", never, {}, {}, never, never, false, never>;
26
22
  }
27
23
  /** A simple change event emitted on focus or selection changes. */
28
24
  export declare class KbqTabChangeEvent {
@@ -34,38 +30,33 @@ export declare class KbqTabChangeEvent {
34
30
  /** Possible positions for the tab header. */
35
31
  export type KbqTabHeaderPosition = 'above' | 'below';
36
32
  /** Object that can be used to configure the default options for the tabs module. */
37
- export interface IKbqTabsConfig {
33
+ export interface KbqTabsConfig {
38
34
  /** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
39
35
  animationDuration?: string;
40
36
  }
41
37
  /** Injection token that can be used to provide the default options the tabs module. */
42
- export declare const KBQ_TABS_CONFIG: InjectionToken<string>;
43
- /** @docs-private */
44
- export declare class KbqTabGroupBase {
38
+ export declare const KBQ_TABS_CONFIG: InjectionToken<KbqTabsConfig>;
39
+ declare class KbqTabGroupBase {
45
40
  elementRef: ElementRef;
46
41
  constructor(elementRef: ElementRef);
47
42
  }
48
- /** @docs-private */
49
- export declare const KbqTabGroupMixinBase: CanDisableCtor & typeof KbqTabGroupBase;
43
+ declare const KbqTabGroupMixinBase: CanDisableCtor & typeof KbqTabGroupBase;
50
44
  export type KbqTabSelectBy = string | number | ((tabs: KbqTab[]) => KbqTab | null);
51
45
  /**
52
- * Tab-group component. Supports basic tab pairs (label + content) and includes
53
- * keyboard navigation.
46
+ * Tab-group component. Supports basic tab pairs (label + content) and includes keyboard navigation.
54
47
  */
55
48
  export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterContentInit, AfterViewInit, AfterContentChecked, OnDestroy {
56
49
  private readonly changeDetectorRef;
57
50
  readonly resizeStream: Subject<Event>;
58
- vertical: boolean;
59
- underlined: boolean;
60
51
  tabs: QueryList<KbqTab>;
61
52
  tabBodyWrapper: ElementRef;
62
53
  tabHeader: KbqTabHeader;
63
54
  transparent: boolean;
64
55
  onSurface: boolean;
56
+ underlined: boolean;
57
+ vertical: boolean;
65
58
  /** Whether the tab group should grow to the size of the active tab. */
66
- get dynamicHeight(): boolean;
67
- set dynamicHeight(value: boolean);
68
- private _dynamicHeight;
59
+ dynamicHeight: boolean;
69
60
  /** The index of the active tab. */
70
61
  get selectedIndex(): number | null;
71
62
  set selectedIndex(value: number | null);
@@ -96,7 +87,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
96
87
  private resizeSubscription;
97
88
  private readonly groupId;
98
89
  private readonly resizeDebounceInterval;
99
- constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, vertical: string, underlined: string, defaultConfig?: IKbqTabsConfig);
90
+ constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, defaultConfig?: KbqTabsConfig);
100
91
  /**
101
92
  * After the content is checked, this component knows what tabs have been defined
102
93
  * and what the selected index should be. This is where we can know exactly what position
@@ -137,6 +128,12 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
137
128
  /** Clamps the given index to the bounds of 0 and the tabs length. */
138
129
  private clampTabIndex;
139
130
  private getTabIndexToSelect;
140
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { attribute: "vertical"; }, { attribute: "underlined"; }, { optional: true; }]>;
141
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "activeTabChange": "activeTabChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
131
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { optional: true; }]>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "underlined": { "alias": "underlined"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "activeTabChange": "activeTabChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
133
+ static ngAcceptInputType_transparent: unknown;
134
+ static ngAcceptInputType_onSurface: unknown;
135
+ static ngAcceptInputType_underlined: unknown;
136
+ static ngAcceptInputType_vertical: unknown;
137
+ static ngAcceptInputType_dynamicHeight: unknown;
142
138
  }
139
+ export {};