@koobiq/components 19.4.1 → 19.6.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 (242) hide show
  1. package/LICENSE +1 -1
  2. package/accordion/accordion-content.d.ts +1 -1
  3. package/accordion/accordion-content.directive.d.ts +22 -7
  4. package/accordion/accordion-header.directive.d.ts +2 -2
  5. package/accordion/accordion-item.d.ts +74 -3
  6. package/accordion/accordion-trigger.component.d.ts +15 -2
  7. package/accordion/accordion-trigger.directive.d.ts +13 -5
  8. package/accordion/accordion.component.d.ts +67 -6
  9. package/accordion/accordion.component.scss +9 -27
  10. package/accordion/public-api.d.ts +0 -2
  11. package/actions-panel/actions-panel-container.scss +6 -0
  12. package/actions-panel/actions-panel-tokens.scss +4 -1
  13. package/autocomplete/autocomplete.component.d.ts +6 -1
  14. package/autocomplete/autocomplete.module.d.ts +1 -1
  15. package/autocomplete/autocomplete.scss +14 -3
  16. package/badge/badge-tokens.scss +3 -3
  17. package/button/button-group.d.ts +45 -0
  18. package/button/button-group.scss +17 -0
  19. package/button/button.component.d.ts +3 -0
  20. package/button/button.module.d.ts +2 -1
  21. package/button/public-api.d.ts +1 -0
  22. package/button-toggle/button-toggle-tokens.scss +1 -1
  23. package/checkbox/checkbox.d.ts +5 -4
  24. package/checkbox/checkbox.scss +5 -5
  25. package/clamped-text/clamped-list.d.ts +41 -0
  26. package/clamped-text/clamped-text.d.ts +10 -6
  27. package/clamped-text/constants.d.ts +21 -1
  28. package/clamped-text/index.d.ts +1 -0
  29. package/clamped-text/module.d.ts +2 -1
  30. package/code-block/code-block-tokens.scss +35 -16
  31. package/code-block/code-block.d.ts +17 -5
  32. package/code-block/code-block.module.d.ts +1 -1
  33. package/code-block/code-block.scss +1 -0
  34. package/code-block/types.d.ts +9 -0
  35. package/core/common-behaviors/flex.d.ts +4 -0
  36. package/core/common-behaviors/index.d.ts +1 -0
  37. package/core/error/error-state-matcher.d.ts +10 -0
  38. package/core/form-field/form-field-ref.d.ts +3 -1
  39. package/core/forms/_forms.scss +10 -3
  40. package/core/locales/en-US.d.ts +2 -0
  41. package/core/locales/es-LA.d.ts +2 -0
  42. package/core/locales/locale-service.d.ts +10 -0
  43. package/core/locales/pt-BR.d.ts +2 -0
  44. package/core/locales/ru-RU.d.ts +2 -0
  45. package/core/locales/tk-TM.d.ts +2 -0
  46. package/core/locales/types.d.ts +2 -0
  47. package/core/option/_option-action-theme.scss +1 -0
  48. package/core/option/_option-theme.scss +4 -17
  49. package/core/option/action-container.scss +4 -6
  50. package/core/option/option.d.ts +5 -1
  51. package/core/option/option.scss +5 -0
  52. package/core/pop-up/pop-up-trigger.d.ts +11 -2
  53. package/core/select/common.d.ts +4 -4
  54. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +2 -2
  55. package/core/styles/common/_groups-mixins.scss +79 -0
  56. package/core/styles/common/_groups.scss +4 -34
  57. package/core/styles/common/_overlay.scss +5 -1
  58. package/core/styles/common/_select.scss +4 -0
  59. package/core/styles/theming/scrollbar-tokens.scss +6 -6
  60. package/core/styles/visual/_layout.scss +0 -2
  61. package/core/utils/utils.d.ts +2 -0
  62. package/datepicker/datepicker-input.directive.d.ts +1 -0
  63. package/dropdown/dropdown-trigger.directive.d.ts +5 -0
  64. package/dropdown/dropdown.component.d.ts +2 -1
  65. package/ellipsis-center/ellipsis-center.directive.d.ts +0 -1
  66. package/fesm2022/koobiq-components-accordion.mjs +301 -237
  67. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-actions-panel.mjs +12 -12
  69. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-alert.mjs +16 -16
  71. package/fesm2022/koobiq-components-app-switcher.mjs +25 -25
  72. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-autocomplete.mjs +39 -23
  74. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-badge.mjs +14 -14
  76. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  78. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
  80. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-button.mjs +146 -24
  82. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-checkbox.mjs +18 -20
  84. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-clamped-text.mjs +134 -47
  86. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-code-block.mjs +54 -22
  88. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  90. package/fesm2022/koobiq-components-core.mjs +313 -257
  91. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-datepicker.mjs +40 -64
  93. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-divider.mjs +7 -7
  95. package/fesm2022/koobiq-components-dl.mjs +13 -13
  96. package/fesm2022/koobiq-components-dropdown.mjs +48 -23
  97. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  99. package/fesm2022/koobiq-components-ellipsis-center.mjs +8 -9
  100. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  102. package/fesm2022/koobiq-components-file-upload.mjs +39 -39
  103. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-filter-bar.mjs +118 -106
  105. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-form-field.mjs +77 -65
  107. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-icon.mjs +32 -28
  109. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-inline-edit.mjs +115 -65
  111. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-input.mjs +28 -26
  113. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-link.mjs +23 -17
  115. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-list.mjs +19 -19
  117. package/fesm2022/koobiq-components-loader-overlay.mjs +28 -19
  118. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-markdown.mjs +54 -22
  120. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-modal.mjs +96 -63
  122. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-navbar-ic.mjs +34 -34
  124. package/fesm2022/koobiq-components-navbar.mjs +53 -46
  125. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  127. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-overflow-items.mjs +29 -17
  129. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-popover.mjs +52 -23
  131. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  133. package/fesm2022/koobiq-components-progress-spinner.mjs +14 -14
  134. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-radio.mjs +10 -10
  136. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  137. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  138. package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
  139. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-search-expandable.mjs +17 -8
  141. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-select.mjs +342 -58
  143. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  145. package/fesm2022/koobiq-components-sidepanel.mjs +50 -41
  146. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-skeleton.mjs +62 -13
  148. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-split-button.mjs +9 -9
  150. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  152. package/fesm2022/koobiq-components-table.mjs +10 -10
  153. package/fesm2022/koobiq-components-tabs.mjs +54 -54
  154. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tags.mjs +44 -47
  156. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-textarea.mjs +10 -9
  158. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-time-range.mjs +25 -25
  160. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-timepicker.mjs +10 -10
  162. package/fesm2022/koobiq-components-timezone.mjs +26 -26
  163. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-title.mjs +8 -9
  165. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-toast.mjs +16 -16
  167. package/fesm2022/koobiq-components-toggle.mjs +12 -9
  168. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-tooltip.mjs +95 -52
  170. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-top-bar.mjs +15 -15
  172. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-tree-select.mjs +15 -12
  174. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-tree.mjs +64 -52
  176. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-username.mjs +28 -28
  178. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  179. package/filter-bar/filter-search.d.ts +10 -1
  180. package/filter-bar/pipes/pipe-date.scss +5 -16
  181. package/form-field/form-field.d.ts +25 -1
  182. package/form-field/form-field.scss +26 -2
  183. package/icon/icon-button.component.d.ts +3 -0
  184. package/icon/icon-button.scss +4 -0
  185. package/inline-edit/inline-edit-tokens.scss +3 -3
  186. package/inline-edit/inline-edit.d.ts +31 -11
  187. package/inline-edit/inline-edit.scss +28 -30
  188. package/input/input-password.d.ts +1 -0
  189. package/input/input.d.ts +1 -0
  190. package/link/_link-theme.scss +18 -8
  191. package/link/link-tokens.scss +9 -6
  192. package/link/link.component.d.ts +9 -5
  193. package/loader-overlay/_loader-overlay-theme.scss +12 -0
  194. package/loader-overlay/loader-overlay-tokens.scss +1 -0
  195. package/loader-overlay/loader-overlay.component.d.ts +7 -1
  196. package/markdown/_markdown-theme.scss +3 -31
  197. package/markdown/markdown-tokens.scss +0 -11
  198. package/markdown/markdown.component.d.ts +12 -7
  199. package/markdown/markdown.scss +0 -11
  200. package/modal/modal-ref.class.d.ts +1 -0
  201. package/modal/modal.component.d.ts +14 -8
  202. package/modal/modal.scss +1 -0
  203. package/modal/modal.type.d.ts +5 -0
  204. package/navbar/navbar-item.component.d.ts +3 -1
  205. package/navbar/navbar.scss +3 -0
  206. package/overflow-items/overflow-items.d.ts +8 -2
  207. package/package.json +4 -5
  208. package/popover/popover.component.d.ts +15 -2
  209. package/prebuilt-themes/dark-theme.css +1 -1
  210. package/prebuilt-themes/light-theme.css +1 -1
  211. package/prebuilt-themes/theme.css +1 -1
  212. package/progress-spinner/progress-spinner.scss +1 -0
  213. package/schematics/ng-add/index.js +4 -6
  214. package/scrollbar/scrollbar-tokens.scss +7 -7
  215. package/search-expandable/search-expandable.d.ts +6 -2
  216. package/select/public-api.d.ts +1 -0
  217. package/select/select-common.d.ts +30 -0
  218. package/select/select.component.d.ts +193 -29
  219. package/select/select.module.d.ts +3 -2
  220. package/sidepanel/_sidepanel-theme.scss +1 -7
  221. package/sidepanel/sidepanel-config.d.ts +10 -2
  222. package/sidepanel/sidepanel.service.d.ts +0 -1
  223. package/skeleton/skeleton.d.ts +12 -3
  224. package/skeleton/skeleton.scss +22 -7
  225. package/split-button/_split-button-theme.scss +2 -1
  226. package/tabs/_tabs-common.scss +2 -1
  227. package/tags/tag-input.d.ts +4 -3
  228. package/tags/tag-list.component.d.ts +1 -0
  229. package/tags/tag-tokens.scss +4 -4
  230. package/textarea/textarea.component.d.ts +1 -0
  231. package/title/title.directive.d.ts +0 -1
  232. package/toggle/toggle.component.d.ts +4 -3
  233. package/tooltip/tooltip-tokens.scss +4 -4
  234. package/tooltip/tooltip.component.d.ts +22 -2
  235. package/top-bar/top-bar.scss +3 -0
  236. package/tree/_tree-theme.scss +0 -19
  237. package/tree/tree-option.component.d.ts +9 -3
  238. package/tree/tree-option.scss +9 -5
  239. package/tree/tree-selection.component.d.ts +2 -0
  240. package/tree-select/tree-select.component.d.ts +1 -0
  241. package/accordion/accordion-item.directive.d.ts +0 -72
  242. package/accordion/accordion-root.directive.d.ts +0 -64
@@ -0,0 +1,41 @@
1
+ import { KbqClamped } from './constants';
2
+ import * as i0 from "@angular/core";
3
+ export declare class KbqClampedList<T> implements KbqClamped {
4
+ /** Collapsed state: `true` = collapsed, `false` = expanded, `undefined` = expanded. */
5
+ readonly isCollapsed: import("@angular/core").ModelSignal<boolean>;
6
+ /** The list of items to display. */
7
+ readonly items: import("@angular/core").InputSignal<T[]>;
8
+ /**
9
+ * Maximum number of items visible in collapsed state.
10
+ * @default 10
11
+ */
12
+ readonly collapsedVisibleCount: import("@angular/core").InputSignalWithTransform<number, unknown>;
13
+ /**
14
+ * Minimum number of hidden items required to show the toggle trigger.
15
+ * @default 6
16
+ */
17
+ readonly hiddenThreshold: import("@angular/core").InputSignalWithTransform<number, unknown>;
18
+ /** Number of items hidden when the list is collapsed. */
19
+ readonly exceededItemCount: import("@angular/core").Signal<number>;
20
+ /** Whether the number of hidden items meets the threshold to render the toggle trigger. */
21
+ readonly hasToggle: import("@angular/core").Signal<boolean>;
22
+ /** Slice of items currently rendered — truncated to `minVisibleCount` when collapsed, a full list otherwise. */
23
+ readonly visibleItems: import("@angular/core").Signal<T[]>;
24
+ /** Localized "show more" label with the exceeded item count interpolated into the `{exceededItemCount}` placeholder. */
25
+ readonly showMoreCountText: import("@angular/core").Signal<string>;
26
+ /** Clamped text locale configuration. */
27
+ readonly localeConfiguration: import("@angular/core").Signal<import("@koobiq/components/core").KbqClampedTextLocaleConfig>;
28
+ /** Toggles the collapsed state of the list. Stops event propagation. */
29
+ toggle(event: Event): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqClampedList<any>, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqClampedList<any>, "[kbqClampedList]", ["kbqClampedList"], { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "collapsedVisibleCount": { "alias": "collapsedVisibleCount"; "required": false; "isSignal": true; }; "hiddenThreshold": { "alias": "hiddenThreshold"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, never, never, true, never>;
32
+ }
33
+ /**
34
+ * Clamped list trigger.
35
+ * Used for calling toggle collapsed state on click events
36
+ */
37
+ export declare class KbqClampedListTrigger {
38
+ protected readonly root: KbqClamped | null;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqClampedListTrigger, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqClampedListTrigger, "[kbqClampedListTrigger]", ["kbqClampedListTrigger"], {}, {}, never, never, true, never>;
41
+ }
@@ -1,7 +1,7 @@
1
1
  import { AfterViewInit, ElementRef } from '@angular/core';
2
- import { KbqClampedTextLocaleConfig } from '@koobiq/components/core';
2
+ import { KbqClamped } from './constants';
3
3
  import * as i0 from "@angular/core";
4
- export declare class KbqClampedText implements AfterViewInit {
4
+ export declare class KbqClampedText implements KbqClamped, AfterViewInit {
5
5
  /**
6
6
  * Max rows before text is clamped.
7
7
  * @default kbqClampedTextDefaultMaxRows
@@ -28,18 +28,17 @@ export declare class KbqClampedText implements AfterViewInit {
28
28
  /** @docs-private */
29
29
  protected readonly isToggleCollapsed: import("@angular/core").WritableSignal<boolean | undefined>;
30
30
  /** @docs-private */
31
- protected readonly hasToggle: import("@angular/core").WritableSignal<boolean>;
32
- /** @docs-private */
33
31
  protected readonly lineClamp: import("@angular/core").WritableSignal<number | null>;
32
+ /** @docs-private */
33
+ readonly hasToggle: import("@angular/core").WritableSignal<boolean>;
34
34
  private readonly destroyRef;
35
35
  private readonly elementRef;
36
36
  private readonly resizeObserver;
37
- private readonly localeService;
38
37
  /**
39
38
  * Clamped text locale configuration.
40
39
  * @docs-private
41
40
  */
42
- protected readonly localeConfiguration: import("@angular/core").Signal<KbqClampedTextLocaleConfig | undefined>;
41
+ readonly localeConfiguration: import("@angular/core").Signal<import("@koobiq/components/core").KbqClampedTextLocaleConfig>;
43
42
  /**
44
43
  * This flag is used to prevent trigger resize observer on toggle click.
45
44
  */
@@ -47,6 +46,11 @@ export declare class KbqClampedText implements AfterViewInit {
47
46
  constructor();
48
47
  ngAfterViewInit(): void;
49
48
  /** @docs-private */
49
+ toggle(event: Event): void;
50
+ /**
51
+ * @docs-private
52
+ * @deprecated Will be removed in next major release
53
+ */
50
54
  toggleIsCollapsed(event: Event): void;
51
55
  private updateToggleVisibilityState;
52
56
  private updateCollapsedState;
@@ -1,4 +1,4 @@
1
- import { InjectionToken, Provider } from '@angular/core';
1
+ import { InjectionToken, Provider, Signal } from '@angular/core';
2
2
  import { KbqClampedTextLocaleConfig } from '@koobiq/components/core';
3
3
  /**
4
4
  * Default maximum number of visible rows for the clamped text component
@@ -12,3 +12,23 @@ export declare const KBQ_CLAMPED_TEXT_LOCALE_CONFIGURATION: InjectionToken<KbqCl
12
12
  * @see KBQ_CLAMPED_TEXT_LOCALE_CONFIGURATION
13
13
  */
14
14
  export declare const kbqClampedTextLocaleConfigurationProvider: (configuration: KbqClampedTextLocaleConfig) => Provider;
15
+ export declare const KbqClampedRoot: InjectionToken<KbqClamped>;
16
+ export interface KbqClamped {
17
+ /**
18
+ * Collapsed state: `true` = collapsed, `false` = expanded, `undefined` = auto.
19
+ * Behavior for auto may vary according to clamped-list/clamped-text
20
+ */
21
+ isCollapsed: Signal<boolean | undefined>;
22
+ /** Whether the toggle trigger should be shown. */
23
+ hasToggle: Signal<boolean>;
24
+ /** Reactive locale strings for open/close labels. */
25
+ localeConfiguration: Signal<KbqClampedTextLocaleConfig>;
26
+ /** Toggles the collapsed state of the list. Stops event propagation. */
27
+ toggle(event: Event): void;
28
+ }
29
+ /**
30
+ * Injection function that creates a reactive locale configuration signal.
31
+ * @see {KbqClampedText, KbqClampedList}
32
+ * @docs-private
33
+ */
34
+ export declare function kbqInjectKbqClampedLocaleConfiguration(): Signal<KbqClampedTextLocaleConfig>;
@@ -1,3 +1,4 @@
1
+ export * from './clamped-list';
1
2
  export * from './clamped-text';
2
3
  export * from './constants';
3
4
  export * from './module';
@@ -1,7 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./clamped-text";
3
+ import * as i2 from "./clamped-list";
3
4
  export declare class KbqClampedTextModule {
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqClampedTextModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqClampedTextModule, never, [typeof i1.KbqClampedText], [typeof i1.KbqClampedText]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqClampedTextModule, never, [typeof i1.KbqClampedText, typeof i2.KbqClampedList, typeof i2.KbqClampedListTrigger], [typeof i1.KbqClampedText, typeof i2.KbqClampedList, typeof i2.KbqClampedListTrigger]>;
6
7
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqClampedTextModule>;
7
8
  }
@@ -149,14 +149,14 @@
149
149
  var(--kbq-background-bg) 100%
150
150
  );
151
151
  --kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);
152
- --kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);
153
- --kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);
152
+ --kbq-code-block-hljs-addition-background: var(--kbq-plt-green-a2, var(--kbq-palette-green-95));
153
+ --kbq-code-block-hljs-addition-color: var(--kbq-plt-green-a16, var(--kbq-palette-green-25));
154
154
  --kbq-code-block-hljs-attr-background: null;
155
155
  --kbq-code-block-hljs-attr-color: null;
156
156
  --kbq-code-block-hljs-attribute-background: null;
157
157
  --kbq-code-block-hljs-attribute-color: null;
158
158
  --kbq-code-block-hljs-built-in-background: null;
159
- --kbq-code-block-hljs-built-in-color: var(--kbq-palette-blue-35);
159
+ --kbq-code-block-hljs-built-in-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
160
160
  --kbq-code-block-hljs-bullet-background: null;
161
161
  --kbq-code-block-hljs-bullet-color: null;
162
162
  --kbq-code-block-hljs-char-escape-background: null;
@@ -166,9 +166,9 @@
166
166
  --kbq-code-block-hljs-code-background: null;
167
167
  --kbq-code-block-hljs-code-color: null;
168
168
  --kbq-code-block-hljs-comment-background: null;
169
- --kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);
170
- --kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);
171
- --kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);
169
+ --kbq-code-block-hljs-comment-color: var(--kbq-plt-slate-a16, var(--kbq-palette-grey-60));
170
+ --kbq-code-block-hljs-deletion-background: var(--kbq-plt-red-a2, var(--kbq-palette-red-95));
171
+ --kbq-code-block-hljs-deletion-color: var(--kbq-plt-red-a16, var(--kbq-palette-red-35));
172
172
  --kbq-code-block-hljs-doctag-background: null;
173
173
  --kbq-code-block-hljs-doctag-color: null;
174
174
  --kbq-code-block-hljs-emphasis-background: null;
@@ -183,19 +183,19 @@
183
183
  --kbq-code-block-hljs-link-background: null;
184
184
  --kbq-code-block-hljs-link-color: null;
185
185
  --kbq-code-block-hljs-literal-background: null;
186
- --kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-30);
186
+ --kbq-code-block-hljs-literal-color: var(--kbq-plt-purple-a16, var(--kbq-palette-purple-30));
187
187
  --kbq-code-block-hljs-meta-background: null;
188
- --kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-35);
188
+ --kbq-code-block-hljs-meta-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
189
189
  --kbq-code-block-hljs-meta-keyword-background: null;
190
190
  --kbq-code-block-hljs-meta-keyword-color: null;
191
191
  --kbq-code-block-hljs-meta-string-background: null;
192
- --kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-35);
192
+ --kbq-code-block-hljs-meta-string-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
193
193
  --kbq-code-block-hljs-meta-prompt-background: null;
194
194
  --kbq-code-block-hljs-meta-prompt-color: null;
195
195
  --kbq-code-block-hljs-name-background: null;
196
- --kbq-code-block-hljs-name-color: var(--kbq-palette-blue-35);
196
+ --kbq-code-block-hljs-name-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
197
197
  --kbq-code-block-hljs-number-background: null;
198
- --kbq-code-block-hljs-number-color: var(--kbq-palette-purple-30);
198
+ --kbq-code-block-hljs-number-color: var(--kbq-plt-purple-a16, var(--kbq-palette-purple-30));
199
199
  --kbq-code-block-hljs-operator-background: null;
200
200
  --kbq-code-block-hljs-operator-color: null;
201
201
  --kbq-code-block-hljs-params-background: null;
@@ -207,7 +207,7 @@
207
207
  --kbq-code-block-hljs-quote-background: null;
208
208
  --kbq-code-block-hljs-quote-color: null;
209
209
  --kbq-code-block-hljs-regexp-background: null;
210
- --kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-25);
210
+ --kbq-code-block-hljs-regexp-color: var(--kbq-plt-green-a16, var(--kbq-palette-green-25));
211
211
  --kbq-code-block-hljs-section-background: null;
212
212
  --kbq-code-block-hljs-section-color: null;
213
213
  --kbq-code-block-hljs-selector-attr-background: null;
@@ -219,15 +219,15 @@
219
219
  --kbq-code-block-hljs-selector-pseudo-background: null;
220
220
  --kbq-code-block-hljs-selector-pseudo-color: null;
221
221
  --kbq-code-block-hljs-selector-tag-background: null;
222
- --kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-35);
222
+ --kbq-code-block-hljs-selector-tag-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
223
223
  --kbq-code-block-hljs-string-background: null;
224
- --kbq-code-block-hljs-string-color: var(--kbq-palette-green-25);
224
+ --kbq-code-block-hljs-string-color: var(--kbq-plt-green-a16, var(--kbq-palette-green-25));
225
225
  --kbq-code-block-hljs-strong-background: null;
226
226
  --kbq-code-block-hljs-strong-color: null;
227
227
  --kbq-code-block-hljs-subst-background: null;
228
228
  --kbq-code-block-hljs-subst-color: null;
229
229
  --kbq-code-block-hljs-symbol-background: null;
230
- --kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-35);
230
+ --kbq-code-block-hljs-symbol-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
231
231
  --kbq-code-block-hljs-tag-background: null;
232
232
  --kbq-code-block-hljs-tag-color: null;
233
233
  --kbq-code-block-hljs-template-tag-background: null;
@@ -235,7 +235,7 @@
235
235
  --kbq-code-block-hljs-template-variable-background: null;
236
236
  --kbq-code-block-hljs-template-variable-color: null;
237
237
  --kbq-code-block-hljs-title-background: null;
238
- --kbq-code-block-hljs-title-color: var(--kbq-palette-blue-35);
238
+ --kbq-code-block-hljs-title-color: var(--kbq-plt-blue-a16, var(--kbq-palette-blue-35));
239
239
  --kbq-code-block-hljs-title-class-background: null;
240
240
  --kbq-code-block-hljs-title-class-color: null;
241
241
  --kbq-code-block-hljs-title-class-inherited-background: null;
@@ -254,3 +254,22 @@
254
254
  --kbq-code-block-hljs-variable-language-color: null;
255
255
  --kbq-code-block-tab-size: 4;
256
256
  }
257
+
258
+ .kbq-dark .kbq-code-block {
259
+ --kbq-code-block-hljs-addition-background: var(--kbq-plt-dark-green-a5, var(--kbq-palette-green-95));
260
+ --kbq-code-block-hljs-addition-color: var(--kbq-plt-dark-green-a14, var(--kbq-palette-green-25));
261
+ --kbq-code-block-hljs-built-in-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
262
+ --kbq-code-block-hljs-comment-color: var(--kbq-plt-dark-slate-a14, var(--kbq-palette-grey-60));
263
+ --kbq-code-block-hljs-deletion-background: var(--kbq-plt-dark-red-a5, var(--kbq-palette-red-95));
264
+ --kbq-code-block-hljs-deletion-color: var(--kbq-plt-dark-red-a14, var(--kbq-palette-red-35));
265
+ --kbq-code-block-hljs-literal-color: var(--kbq-plt-dark-purple-a14, var(--kbq-palette-purple-30));
266
+ --kbq-code-block-hljs-meta-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
267
+ --kbq-code-block-hljs-meta-string-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
268
+ --kbq-code-block-hljs-name-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
269
+ --kbq-code-block-hljs-number-color: var(--kbq-plt-dark-purple-a14, var(--kbq-palette-purple-30));
270
+ --kbq-code-block-hljs-regexp-color: var(--kbq-plt-dark-green-a14, var(--kbq-palette-green-25));
271
+ --kbq-code-block-hljs-selector-tag-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
272
+ --kbq-code-block-hljs-string-color: var(--kbq-plt-dark-green-a14, var(--kbq-palette-green-25));
273
+ --kbq-code-block-hljs-symbol-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
274
+ --kbq-code-block-hljs-title-color: var(--kbq-plt-dark-blue-a14, var(--kbq-palette-blue-35));
275
+ }
@@ -1,8 +1,8 @@
1
1
  import { CdkScrollable } from '@angular/cdk/scrolling';
2
- import { AfterViewInit, EventEmitter, InjectionToken, Provider } from '@angular/core';
2
+ import { AfterViewInit, EventEmitter, InjectionToken, Provider, TemplateRef } from '@angular/core';
3
3
  import { KbqButtonStyles } from '@koobiq/components/button';
4
4
  import { KbqCodeBlockLocaleConfiguration, KbqComponentColors } from '@koobiq/components/core';
5
- import { KbqCodeBlockFile } from './types';
5
+ import { KbqCodeBlockFile, KbqTabLinkTemplateContext } from './types';
6
6
  import * as i0 from "@angular/core";
7
7
  /** Localization configuration provider. */
8
8
  export declare const KBQ_CODE_BLOCK_LOCALE_CONFIGURATION: InjectionToken<KbqCodeBlockLocaleConfiguration>;
@@ -12,6 +12,11 @@ export declare const kbqCodeBlockLocaleConfigurationProvider: (configuration: Kb
12
12
  export declare const KBQ_CODE_BLOCK_FALLBACK_FILE_NAME: InjectionToken<string>;
13
13
  /** Utility provider for `KBQ_CODE_BLOCK_FALLBACK_FILE_NAME`. */
14
14
  export declare const kbqCodeBlockFallbackFileNameProvider: (fileName: string) => Provider;
15
+ /** Marks a template as a custom tab link. */
16
+ export declare class KbqCodeBlockTabLinkContent {
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqCodeBlockTabLinkContent, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqCodeBlockTabLinkContent, "ng-template[kbqCodeBlockTabLinkContent]", ["kbqCodeBlockTabLinkContent"], {}, {}, never, never, true, never>;
19
+ }
15
20
  /**
16
21
  * Component which highlights blocks of code.
17
22
  */
@@ -21,6 +26,8 @@ export declare class KbqCodeBlock implements AfterViewInit {
21
26
  * Reference to the scrollable code content.
22
27
  */
23
28
  readonly scrollableCodeContent: CdkScrollable;
29
+ /** @docs-private */
30
+ protected readonly tabLinkTemplate: TemplateRef<KbqTabLinkTemplateContext>;
24
31
  /** Whether to display line numbers. */
25
32
  lineNumbers: boolean;
26
33
  /** Whether the code block should be filled. */
@@ -89,6 +96,10 @@ export declare class KbqCodeBlock implements AfterViewInit {
89
96
  get hideTabs(): boolean;
90
97
  set hideTabs(value: boolean);
91
98
  private _hideTabs;
99
+ /**
100
+ * Output to support two-way binding on `[(hideTabs)]` property.
101
+ */
102
+ readonly hideTabsChange: EventEmitter<boolean>;
92
103
  /**
93
104
  * Component locale configuration.
94
105
  *
@@ -162,9 +173,10 @@ export declare class KbqCodeBlock implements AfterViewInit {
162
173
  */
163
174
  protected onSelectedTabChange(index: number): void;
164
175
  /**
165
- * Handles the hover event on the code block element and updates the actionbar display accordingly.
176
+ * Tracks hover events to show/hide the actionbar when `hideTabs` is `true`.
177
+ * Reacts to `hideTabs` changes dynamically.
166
178
  */
167
- private handleHover;
179
+ private trackHoverState;
168
180
  /**
169
181
  * Handles the scroll event on the scrollable code content element and updates the header shadow accordingly.
170
182
  */
@@ -218,7 +230,7 @@ export declare class KbqCodeBlock implements AfterViewInit {
218
230
  */
219
231
  protected downloadCode(): void;
220
232
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqCodeBlock, never>;
221
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqCodeBlock, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; }; "filled": { "alias": "filled"; "required": false; }; "canToggleSoftWrap": { "alias": "canToggleSoftWrap"; "required": false; }; "softWrap": { "alias": "softWrap"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "canLoad": { "alias": "canLoad"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "canCopy": { "alias": "canCopy"; "required": false; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "files": { "alias": "files"; "required": false; }; "activeFileIndex": { "alias": "activeFileIndex"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; "hideTabs": { "alias": "hideTabs"; "required": false; }; }, { "softWrapChange": "softWrapChange"; "viewAllChange": "viewAllChange"; "activeFileIndexChange": "activeFileIndexChange"; }, never, never, true, never>;
233
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqCodeBlock, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; }; "filled": { "alias": "filled"; "required": false; }; "canToggleSoftWrap": { "alias": "canToggleSoftWrap"; "required": false; }; "softWrap": { "alias": "softWrap"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "canLoad": { "alias": "canLoad"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "canCopy": { "alias": "canCopy"; "required": false; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "files": { "alias": "files"; "required": false; }; "activeFileIndex": { "alias": "activeFileIndex"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; "hideTabs": { "alias": "hideTabs"; "required": false; }; }, { "softWrapChange": "softWrapChange"; "viewAllChange": "viewAllChange"; "activeFileIndexChange": "activeFileIndexChange"; "hideTabsChange": "hideTabsChange"; }, ["tabLinkTemplate"], never, true, never>;
222
234
  static ngAcceptInputType_lineNumbers: unknown;
223
235
  static ngAcceptInputType_filled: unknown;
224
236
  static ngAcceptInputType_canToggleSoftWrap: unknown;
@@ -2,6 +2,6 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./code-block";
3
3
  export declare class KbqCodeBlockModule {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqCodeBlockModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqCodeBlockModule, never, [typeof i1.KbqCodeBlock], [typeof i1.KbqCodeBlock]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqCodeBlockModule, never, [typeof i1.KbqCodeBlock, typeof i1.KbqCodeBlockTabLinkContent], [typeof i1.KbqCodeBlock, typeof i1.KbqCodeBlockTabLinkContent]>;
6
6
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqCodeBlockModule>;
7
7
  }
@@ -114,6 +114,7 @@
114
114
  &.kbq-code-block_soft-wrap {
115
115
  .kbq-code-block__code {
116
116
  white-space: pre-wrap;
117
+ overflow-wrap: anywhere;
117
118
  }
118
119
  }
119
120
 
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Context provided to the tab link template.
3
+ * @property $implicit - Code block file for the current tab.
4
+ * @property fallbackFileName - Displayed when the file has no explicit name.
5
+ */
6
+ export type KbqTabLinkTemplateContext = {
7
+ $implicit: KbqCodeBlockFile;
8
+ fallbackFileName: string;
9
+ };
1
10
  /** Code block file object. */
2
11
  export type KbqCodeBlockFile = {
3
12
  /**
@@ -0,0 +1,4 @@
1
+ /** Controls the direction of flex items: horizontal (`'row'`) or vertical (`'column'`). */
2
+ export type KbqFlexDirection = 'row' | 'column';
3
+ /** Controls flex item wrapping: single-line (`'nowrap'`) or multi-line (`'wrap'`). */
4
+ export type KbqFlexWrap = 'nowrap' | 'wrap';
@@ -5,6 +5,7 @@ export { CanColor, CanColorCtor, KbqColorDirective, KbqComponentColors, mixinCol
5
5
  export { KBQ_SANITY_CHECKS, KbqCommonModule } from './common-module';
6
6
  export { CanDisable, CanDisableCtor, mixinDisabled } from './disabled';
7
7
  export { CanUpdateErrorState, CanUpdateErrorStateCtor, KbqErrorStateTracker, mixinErrorState } from './error-state';
8
+ export * from './flex';
8
9
  export * from './hover';
9
10
  export * from './orientation';
10
11
  export * from './read-state';
@@ -12,6 +12,16 @@ export declare class ShowOnFormSubmitErrorStateMatcher implements ErrorStateMatc
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<ShowOnFormSubmitErrorStateMatcher, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<ShowOnFormSubmitErrorStateMatcher>;
14
14
  }
15
+ /**
16
+ * Error state matcher with split behavior based on error's type:
17
+ * - `required` errors are shown only after the form is submitted.
18
+ * - All other errors are shown as soon as the control is invalid and touched.
19
+ */
20
+ export declare class ShowRequiredOnSubmitErrorStateMatcher implements ErrorStateMatcher {
21
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowRequiredOnSubmitErrorStateMatcher, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShowRequiredOnSubmitErrorStateMatcher>;
24
+ }
15
25
  /** Error state matcher that matches when a control is invalid and dirty or form is submitted. */
16
26
  export declare class ShowOnControlDirtyErrorStateMatcher implements ErrorStateMatcher {
17
27
  isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
@@ -1,10 +1,12 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { InjectionToken, ModelSignal } from '@angular/core';
2
2
  /**
3
3
  * @deprecated Will be removed in next major release, use `KbqFormField` instead.
4
4
  */
5
5
  export interface KbqFormFieldRef {
6
6
  control: any;
7
7
  canCleanerClearByEsc: boolean;
8
+ /** Use when KbqFormField is in an overlay container. */
9
+ inOverlay: ModelSignal<boolean>;
8
10
  /**
9
11
  * @TODO should be removed, is private method (#DS-2915)
10
12
  * @deprecated use `formField.control?.errorState` instead
@@ -12,19 +12,26 @@
12
12
  }
13
13
 
14
14
  .kbq-form-horizontal {
15
- $line-height: var(--kbq-typography-text-normal-line-height);
16
- $form-field-size-height: var(--kbq-form-field-size-height, var(--kbq-size-3xl));
15
+ --kbq-forms-horizontal-label-padding-top: var(--kbq-size-xs);
17
16
 
18
17
  & .kbq-form-row_margin {
19
18
  margin-bottom: var(--kbq-forms-size-horizontal-row-margin-bottom);
20
19
  }
21
20
 
22
21
  & .kbq-form__label {
23
- padding-top: calc(($form-field-size-height - $line-height) / 2);
22
+ padding-top: var(--kbq-forms-horizontal-label-padding-top);
24
23
 
25
24
  text-align: start;
26
25
  }
27
26
 
27
+ & .kbq-form__row:has(.kbq-toggle, .kbq-radio-group, .kbq-checkbox, .kbq-multiple-file-upload) {
28
+ --kbq-forms-horizontal-label-padding-top: 0;
29
+ }
30
+
31
+ & .kbq-form__row:has(.kbq-single-file-upload) {
32
+ --kbq-forms-horizontal-label-padding-top: var(--kbq-size-m);
33
+ }
34
+
28
35
  & .kbq-form__control {
29
36
  padding-left: var(--kbq-forms-size-horizontal-control-padding-left);
30
37
  }
@@ -95,6 +95,8 @@ export declare const enUSLocaleData: {
95
95
  clampedText: {
96
96
  openText: string;
97
97
  closeText: string;
98
+ showMoreText: string;
99
+ moreText: string;
98
100
  };
99
101
  navbarIc: {
100
102
  toggle: {
@@ -94,6 +94,8 @@ export declare const esLALocaleData: {
94
94
  clampedText: {
95
95
  openText: string;
96
96
  closeText: string;
97
+ showMoreText: string;
98
+ moreText: string;
97
99
  };
98
100
  navbarIc: {
99
101
  toggle: {
@@ -140,6 +140,8 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
140
140
  clampedText: {
141
141
  openText: string;
142
142
  closeText: string;
143
+ showMoreText: string;
144
+ moreText: string;
143
145
  };
144
146
  navbarIc: {
145
147
  toggle: {
@@ -350,6 +352,8 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
350
352
  clampedText: {
351
353
  openText: string;
352
354
  closeText: string;
355
+ showMoreText: string;
356
+ moreText: string;
353
357
  };
354
358
  navbarIc: {
355
359
  toggle: {
@@ -556,6 +560,8 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
556
560
  clampedText: {
557
561
  openText: string;
558
562
  closeText: string;
563
+ showMoreText: string;
564
+ moreText: string;
559
565
  };
560
566
  navbarIc: {
561
567
  toggle: {
@@ -768,6 +774,8 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
768
774
  clampedText: {
769
775
  openText: string;
770
776
  closeText: string;
777
+ showMoreText: string;
778
+ moreText: string;
771
779
  };
772
780
  navbarIc: {
773
781
  toggle: {
@@ -976,6 +984,8 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
976
984
  clampedText: {
977
985
  openText: string;
978
986
  closeText: string;
987
+ showMoreText: string;
988
+ moreText: string;
979
989
  };
980
990
  navbarIc: {
981
991
  toggle: {
@@ -94,6 +94,8 @@ export declare const ptBRLocaleData: {
94
94
  clampedText: {
95
95
  openText: string;
96
96
  closeText: string;
97
+ showMoreText: string;
98
+ moreText: string;
97
99
  };
98
100
  navbarIc: {
99
101
  toggle: {
@@ -95,6 +95,8 @@ export declare const ruRULocaleData: {
95
95
  clampedText: {
96
96
  openText: string;
97
97
  closeText: string;
98
+ showMoreText: string;
99
+ moreText: string;
98
100
  };
99
101
  navbarIc: {
100
102
  toggle: {
@@ -95,6 +95,8 @@ export declare const tkTMLocaleData: {
95
95
  clampedText: {
96
96
  openText: string;
97
97
  closeText: string;
98
+ showMoreText: string;
99
+ moreText: string;
98
100
  };
99
101
  navbarIc: {
100
102
  toggle: {
@@ -34,6 +34,8 @@ export type KbqNumberInputLocaleConfig = {
34
34
  export type KbqClampedTextLocaleConfig = {
35
35
  openText: string;
36
36
  closeText: string;
37
+ showMoreText: string;
38
+ moreText: string;
37
39
  };
38
40
  /** Locale configuration for `KbqTimeRange` */
39
41
  export type KbqTimeRangeLocaleConfig = {
@@ -3,6 +3,7 @@
3
3
  @mixin kbq-option-action-theme() {
4
4
  .kbq-option-action {
5
5
  &.cdk-keyboard-focused {
6
+ z-index: 1;
6
7
  border-color: var(--kbq-states-line-focus-theme);
7
8
  }
8
9
 
@@ -25,11 +25,6 @@
25
25
  @include kbq-option(states-hover);
26
26
  }
27
27
 
28
- &.kbq-active:not(.kbq-disabled),
29
- &:active:not(.kbq-disabled) {
30
- @include kbq-option(states-active);
31
- }
32
-
33
28
  &.kbq-selected:not(.kbq-disabled) {
34
29
  @include kbq-option(states-selected);
35
30
 
@@ -37,23 +32,18 @@
37
32
  &:hover {
38
33
  @include kbq-option(states-selected-hover);
39
34
  }
40
-
41
- &.kbq-active,
42
- &:active {
43
- @include kbq-option(states-selected-active);
44
- }
45
35
  }
46
36
 
47
37
  &.kbq-disabled {
48
38
  @include kbq-option(states-disabled);
49
39
  }
50
40
 
51
- &:is(.kbq-selected, .kbq-focused, .kbq-active):has(+ :is(.kbq-selected, .kbq-focused, .kbq-active)) {
41
+ &:is(.kbq-selected, .kbq-focused):has(+ :is(.kbq-selected, .kbq-focused)) {
52
42
  border-bottom-left-radius: 0;
53
43
  border-bottom-right-radius: 0;
54
44
  }
55
45
 
56
- &:is(.kbq-selected, .kbq-focused, .kbq-active) + :is(.kbq-selected, .kbq-focused, .kbq-active) {
46
+ &:is(.kbq-selected, .kbq-focused) + :is(.kbq-selected, .kbq-focused) {
57
47
  border-top-left-radius: 0;
58
48
  border-top-right-radius: 0;
59
49
  }
@@ -63,18 +53,15 @@
63
53
  &.kbq-selected:not(.kbq-disabled) {
64
54
  @include kbq-option(multiple-states-selected);
65
55
 
56
+ &.kbq-hovered,
66
57
  &:hover {
67
58
  @include kbq-option(multiple-states-selected-hover);
68
59
  }
69
-
70
- &:active {
71
- @include kbq-option(multiple-states-selected-active);
72
- }
73
60
  }
74
61
  }
75
62
 
76
63
  .cdk-keyboard-focused {
77
- .kbq-option.kbq-focused {
64
+ .kbq-option.kbq-active {
78
65
  border-color: var(--kbq-list-states-focused-focus-outline-color);
79
66
  }
80
67
  }
@@ -27,9 +27,9 @@
27
27
  width: var(--kbq-size-3xl);
28
28
  height: 100%;
29
29
 
30
- background:
31
- linear-gradient(to right, transparent 0%, var(--kbq-option-background) 70%),
32
- linear-gradient(to right, transparent 0%, var(--kbq-background-bg) 80%);
30
+ background: linear-gradient(var(--kbq-option-background), var(--kbq-option-background)), var(--kbq-background-bg);
31
+
32
+ mask-image: linear-gradient(to right, transparent 0%, black var(--kbq-size-xxl));
33
33
  }
34
34
 
35
35
  .kbq-action-container__box {
@@ -39,7 +39,5 @@
39
39
  align-items: center;
40
40
  justify-content: center;
41
41
 
42
- background:
43
- linear-gradient(to right, var(--kbq-option-background) 0%, var(--kbq-option-background) 100%),
44
- linear-gradient(to right, var(--kbq-background-bg) 0%, var(--kbq-background-bg) 100%);
42
+ background: linear-gradient(var(--kbq-option-background), var(--kbq-option-background)), var(--kbq-background-bg);
45
43
  }