@koobiq/components 20.2.0 → 20.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/accordion/_accordion-theme.scss +5 -1
  2. package/accordion/accordion-tokens.scss +2 -0
  3. package/accordion/accordion-trigger.scss +6 -0
  4. package/accordion/accordion.scss +21 -0
  5. package/accordion/index.d.ts +55 -8
  6. package/actions-panel/index.d.ts +25 -13
  7. package/app-switcher/app-switcher-dropdown-app.scss +7 -5
  8. package/app-switcher/app-switcher-dropdown-site.scss +6 -4
  9. package/app-switcher/index.d.ts +41 -4
  10. package/app-switcher/kbq-app-switcher-list-item.scss +6 -8
  11. package/autocomplete/index.d.ts +24 -9
  12. package/breadcrumbs/index.d.ts +1 -1
  13. package/button/index.d.ts +2 -2
  14. package/button-toggle/button-toggle-tokens.scss +2 -0
  15. package/button-toggle/button-toggle.scss +9 -0
  16. package/button-toggle/index.d.ts +5 -0
  17. package/checkbox/index.d.ts +33 -29
  18. package/clamped-text/index.d.ts +1 -1
  19. package/code-block/index.d.ts +24 -19
  20. package/content-panel/index.d.ts +1 -1
  21. package/core/index.d.ts +1125 -199
  22. package/core/option/_action-container-mixins.scss +28 -0
  23. package/core/option/_option-theme.scss +24 -0
  24. package/core/option/action.scss +7 -0
  25. package/core/styles/_koobiq-theme.scss +2 -0
  26. package/core/styles/_tokens.scss +1 -0
  27. package/core/styles/common/_connected-overlay.scss +6 -3
  28. package/core/styles/common/_select.scss +12 -0
  29. package/core/styles/common/_tokens.scss +0 -9
  30. package/core/styles/theming/_index.scss +0 -1
  31. package/core/styles/theming/_theming.scss +34 -5
  32. package/datepicker/index.d.ts +46 -15
  33. package/dl/dl.scss +26 -0
  34. package/dl/index.d.ts +8 -1
  35. package/dropdown/_dropdown-theme.scss +28 -2
  36. package/dropdown/dropdown-item.scss +13 -0
  37. package/dropdown/dropdown.scss +7 -1
  38. package/dropdown/index.d.ts +264 -17
  39. package/dynamic-translation/index.d.ts +1 -1
  40. package/fesm2022/koobiq-components-accordion.mjs +106 -46
  41. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  42. package/fesm2022/koobiq-components-actions-panel.mjs +57 -46
  43. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  44. package/fesm2022/koobiq-components-alert.mjs +16 -16
  45. package/fesm2022/koobiq-components-app-switcher.mjs +233 -38
  46. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-autocomplete.mjs +54 -31
  48. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-badge.mjs +13 -13
  50. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  51. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-button-toggle.mjs +17 -12
  53. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-button.mjs +25 -25
  55. package/fesm2022/koobiq-components-checkbox.mjs +69 -92
  56. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-clamped-text.mjs +13 -13
  58. package/fesm2022/koobiq-components-code-block.mjs +56 -69
  59. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-content-panel.mjs +29 -29
  61. package/fesm2022/koobiq-components-core.mjs +2454 -795
  62. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-datepicker.mjs +160 -121
  64. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-divider.mjs +7 -7
  66. package/fesm2022/koobiq-components-dl.mjs +23 -15
  67. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-dropdown.mjs +754 -155
  69. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  71. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  72. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  73. package/fesm2022/koobiq-components-file-upload.mjs +74 -42
  74. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-filter-bar.mjs +605 -192
  76. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-flag.mjs +7 -7
  78. package/fesm2022/koobiq-components-form-field.mjs +359 -165
  79. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-icon.mjs +39 -21
  81. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-inline-edit.mjs +172 -27
  83. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-input.mjs +41 -24
  85. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-link.mjs +8 -8
  87. package/fesm2022/koobiq-components-list.mjs +657 -143
  88. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  90. package/fesm2022/koobiq-components-markdown.mjs +14 -11
  91. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-modal.mjs +70 -38
  93. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-navbar.mjs +69 -54
  95. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-notification-center.mjs +23 -22
  97. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-overflow-items.mjs +16 -17
  99. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-popover.mjs +26 -21
  101. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  103. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  104. package/fesm2022/koobiq-components-radio.mjs +10 -10
  105. package/fesm2022/koobiq-components-resizer.mjs +33 -14
  106. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  108. package/fesm2022/koobiq-components-search-expandable.mjs +7 -7
  109. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-select.mjs +420 -107
  111. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-sidebar.mjs +14 -14
  113. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  114. package/fesm2022/koobiq-components-skeleton.mjs +10 -10
  115. package/fesm2022/koobiq-components-split-button.mjs +7 -7
  116. package/fesm2022/koobiq-components-splitter.mjs +17 -17
  117. package/fesm2022/koobiq-components-table.mjs +15 -13
  118. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-tabs.mjs +56 -58
  120. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-tags.mjs +283 -122
  122. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-textarea.mjs +13 -8
  124. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-time-range.mjs +29 -24
  126. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-timepicker.mjs +58 -26
  128. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-timezone.mjs +76 -39
  130. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-title.mjs +7 -7
  132. package/fesm2022/koobiq-components-toast.mjs +51 -26
  133. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-toggle.mjs +72 -64
  135. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-tooltip.mjs +115 -36
  137. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  139. package/fesm2022/koobiq-components-tree-select.mjs +190 -56
  140. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-tree.mjs +302 -81
  142. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-username.mjs +27 -27
  144. package/file-upload/index.d.ts +25 -6
  145. package/file-upload/multiple-file-upload.component.scss +14 -0
  146. package/filter-bar/_filter-bar-theme.scss +0 -6
  147. package/filter-bar/index.d.ts +222 -9
  148. package/filter-bar/pipes/pipe-multi-tree-select.scss +0 -6
  149. package/filter-bar/pipes/pipe-multiselect.scss +0 -6
  150. package/filter-bar/pipes/pipe-tree-select.scss +0 -6
  151. package/form-field/_form-field-theme.scss +76 -20
  152. package/form-field/fieldset.scss +10 -0
  153. package/form-field/form-field-tokens.scss +15 -1
  154. package/form-field/form-field.scss +15 -19
  155. package/form-field/index.d.ts +148 -68
  156. package/icon/index.d.ts +31 -6
  157. package/inline-edit/index.d.ts +57 -4
  158. package/inline-edit/inline-edit.scss +10 -0
  159. package/input/index.d.ts +17 -2
  160. package/list/_list-theme.scss +42 -10
  161. package/list/index.d.ts +326 -79
  162. package/list/list-tokens.scss +43 -8
  163. package/list/list.scss +186 -12
  164. package/markdown/index.d.ts +1 -1
  165. package/modal/index.d.ts +22 -5
  166. package/modal/modal-tokens.scss +1 -1
  167. package/navbar/index.d.ts +16 -1
  168. package/navbar/navbar-brand.scss +6 -0
  169. package/navbar/vertical-navbar.scss +6 -0
  170. package/notification-center/notification-item.scss +6 -0
  171. package/package.json +3 -6
  172. package/popover/index.d.ts +2 -2
  173. package/prebuilt-themes/dark-theme.css +1 -1
  174. package/prebuilt-themes/light-theme.css +1 -1
  175. package/prebuilt-themes/theme.css +1 -1
  176. package/resizer/index.d.ts +12 -0
  177. package/schematics/migrations/deprecated-icons/README.md +29 -4
  178. package/schematics/migrations/deprecated-icons/data.js +7 -0
  179. package/schematics/migrations/deprecated-icons/index.js +62 -35
  180. package/schematics/migrations/new-icons-pack/README.md +37 -2
  181. package/schematics/migrations/new-icons-pack/data.js +8 -0
  182. package/schematics/migrations/new-icons-pack/index.js +144 -53
  183. package/schematics/ng-add/index.js +3 -3
  184. package/schematics/utils/angular-parsing.js +30 -12
  185. package/schematics/utils/ast.js +31 -0
  186. package/schematics/utils/icon-migration.js +530 -0
  187. package/schematics/utils/typescript.js +44 -0
  188. package/scrollbar/index.d.ts +1 -1
  189. package/select/index.d.ts +163 -18
  190. package/select/select-tokens.scss +0 -1
  191. package/select/select.scss +0 -2
  192. package/splitter/index.d.ts +1 -1
  193. package/table/_table-theme.scss +4 -0
  194. package/table/index.d.ts +2 -1
  195. package/table/table.scss +8 -0
  196. package/tabs/index.d.ts +0 -1
  197. package/tags/index.d.ts +128 -29
  198. package/textarea/index.d.ts +5 -0
  199. package/time-range/index.d.ts +1 -1
  200. package/timepicker/index.d.ts +4 -0
  201. package/timezone/index.d.ts +9 -5
  202. package/toast/index.d.ts +26 -3
  203. package/toggle/index.d.ts +34 -14
  204. package/tooltip/index.d.ts +54 -11
  205. package/tree/_tree-theme.scss +25 -5
  206. package/tree/index.d.ts +71 -3
  207. package/tree/tree-option.scss +2 -8
  208. package/tree-select/_tree-select-theme.scss +22 -0
  209. package/tree-select/index.d.ts +83 -16
  210. package/core/styles/_tokens.kbq.import.scss +0 -4
  211. package/core/styles/theming/_components-theming.scss +0 -1927
  212. package/filter-bar/pipes/pipe-select.scss +0 -5
  213. package/overflow-items/overflow-items.scss +0 -20
@@ -1,7 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, AfterViewInit, OnDestroy, ElementRef, Provider } from '@angular/core';
3
3
  import { ControlValueAccessor, CheckboxRequiredValidator } from '@angular/forms';
4
- import { KbqColorDirective, KbqCheckedState } from '@koobiq/components/core';
4
+ import * as i1 from '@koobiq/components/core';
5
+ import { KbqCheckableClickAction, KbqColorDirective, KbqCheckedState } from '@koobiq/components/core';
6
+ export { TransitionCheckState } from '@koobiq/components/core';
5
7
 
6
8
  /**
7
9
  * Checkbox click action when user click on input element.
@@ -10,32 +12,19 @@ import { KbqColorDirective, KbqCheckedState } from '@koobiq/components/core';
10
12
  * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.
11
13
  * undefined: Same as `check-indeterminate`.
12
14
  */
13
- type KbqCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;
15
+ type KbqCheckboxClickAction = KbqCheckableClickAction;
14
16
  /**
15
17
  * Injection token that can be used to specify the checkbox click behavior.
16
18
  */
17
- declare const KBQ_CHECKBOX_CLICK_ACTION: InjectionToken<KbqCheckboxClickAction>;
19
+ declare const KBQ_CHECKBOX_CLICK_ACTION: InjectionToken<KbqCheckableClickAction>;
18
20
 
19
21
  /**
20
22
  * Provider Expression that allows kbq-checkbox to register as a ControlValueAccessor.
21
23
  * This allows it to support [(ngModel)].
22
24
  * @docs-private
25
+ * @deprecated Unused - the `ControlValueAccessor` is now registered by the `KbqCheckable` host directive.
23
26
  */
24
27
  declare const KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR: any;
25
- /**
26
- * Represents the different states that require custom transitions between them.
27
- * @docs-private
28
- */
29
- declare enum TransitionCheckState {
30
- /** The initial state of the component before any user interaction. */
31
- Init = "init",
32
- /** The state representing the component when it's becoming checked. */
33
- Checked = "checked",
34
- /** The state representing the component when it's becoming unchecked. */
35
- Unchecked = "unchecked",
36
- /** The state representing the component when it's becoming indeterminate. */
37
- Indeterminate = "indeterminate"
38
- }
39
28
  /** Change event object emitted by KbqCheckbox. */
40
29
  declare class KbqCheckboxChange {
41
30
  /** The source KbqCheckbox of the event. */
@@ -51,8 +40,9 @@ declare class KbqCheckboxChange {
51
40
  * have the checkbox be accessible, you may supply an [aria-label] input.
52
41
  */
53
42
  declare class KbqCheckbox extends KbqColorDirective implements ControlValueAccessor, AfterViewInit, OnDestroy {
54
- private changeDetectorRef;
55
- private focusMonitor;
43
+ private readonly changeDetectorRef;
44
+ private readonly focusMonitor;
45
+ private readonly checkable;
56
46
  readonly big: _angular_core.InputSignal<boolean>;
57
47
  /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */
58
48
  id: string;
@@ -79,14 +69,11 @@ declare class KbqCheckbox extends KbqColorDirective implements ControlValueAcces
79
69
  */
80
70
  get checked(): boolean;
81
71
  set checked(value: boolean);
82
- private _checked;
83
72
  /** Whether the checkbox is disabled. */
84
73
  get disabled(): boolean;
85
74
  set disabled(value: boolean);
86
- private _disabled;
87
75
  get tabIndex(): number;
88
76
  set tabIndex(value: number);
89
- private _tabIndex;
90
77
  /**
91
78
  * Whether the checkbox is indeterminate. This is also known as "mixed" mode and can be used to
92
79
  * represent a checkbox with three states, e.g. a checkbox that represents a nested list of
@@ -95,23 +82,42 @@ declare class KbqCheckbox extends KbqColorDirective implements ControlValueAcces
95
82
  */
96
83
  get indeterminate(): boolean;
97
84
  set indeterminate(value: boolean);
98
- private _indeterminate;
99
85
  private uniqueId;
100
- private currentAnimationClass;
101
- private currentCheckState;
102
86
  constructor();
103
87
  /**
104
88
  * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.
105
89
  * @docs-private
90
+ * @deprecated Unused - `ControlValueAccessor` is now implemented by the `KbqCheckable` host directive,
91
+ * so this is never called by Angular forms. Will be removed in the next major version.
106
92
  */
107
93
  onTouched: () => any;
108
94
  ngAfterViewInit(): void;
109
95
  ngOnDestroy(): void;
110
96
  /** Method being called whenever the label text changes. */
111
97
  onLabelTextChange(): void;
98
+ /**
99
+ * Implemented as part of ControlValueAccessor.
100
+ * @deprecated Unused - `ControlValueAccessor` is now implemented by the `KbqCheckable` host directive,
101
+ * so this is never called by Angular forms. Will be removed in the next major version.
102
+ */
112
103
  writeValue(value: any): void;
104
+ /**
105
+ * Implemented as part of ControlValueAccessor.
106
+ * @deprecated Unused - `ControlValueAccessor` is now implemented by the `KbqCheckable` host directive,
107
+ * so this is never called by Angular forms. Will be removed in the next major version.
108
+ */
113
109
  registerOnChange(fn: (value: any) => void): void;
110
+ /**
111
+ * Implemented as part of ControlValueAccessor.
112
+ * @deprecated Unused - `ControlValueAccessor` is now implemented by the `KbqCheckable` host directive,
113
+ * so this is never called by Angular forms. Will be removed in the next major version.
114
+ */
114
115
  registerOnTouched(fn: any): void;
116
+ /**
117
+ * Implemented as part of ControlValueAccessor.
118
+ * @deprecated Unused - `ControlValueAccessor` is now implemented by the `KbqCheckable` host directive,
119
+ * so this is never called by Angular forms. Will be removed in the next major version.
120
+ */
115
121
  setDisabledState(isDisabled: boolean): void;
116
122
  getAriaChecked(): KbqCheckedState;
117
123
  /** Toggles the `checked` state of the checkbox. */
@@ -127,13 +133,11 @@ declare class KbqCheckbox extends KbqColorDirective implements ControlValueAcces
127
133
  /** Focuses the checkbox. */
128
134
  focus(): void;
129
135
  onInteractionEvent(event: Event): void;
130
- private controlValueAccessorChangeFn;
131
- private transitionCheckState;
132
136
  private emitChangeEvent;
133
137
  /** Function is called whenever the focus changes for the input element. */
134
138
  private onInputFocusChange;
135
139
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqCheckbox, never>;
136
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqCheckbox, "kbq-checkbox", ["kbqCheckbox"], { "big": { "alias": "big"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "clickAction": { "alias": "clickAction"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "change": "change"; "indeterminateChange": "indeterminateChange"; }, never, ["*", "kbq-hint"], true, never>;
140
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqCheckbox, "kbq-checkbox", ["kbqCheckbox"], { "big": { "alias": "big"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "clickAction": { "alias": "clickAction"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "change": "change"; "indeterminateChange": "indeterminateChange"; }, never, ["*", "kbq-hint"], true, [{ directive: typeof i1.KbqCheckable; inputs: {}; outputs: {}; }]>;
137
141
  static ngAcceptInputType_disabled: unknown;
138
142
  static ngAcceptInputType_tabIndex: unknown;
139
143
  }
@@ -155,5 +159,5 @@ declare class KbqCheckboxModule {
155
159
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqCheckboxModule>;
156
160
  }
157
161
 
158
- export { KBQ_CHECKBOX_CLICK_ACTION, KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR, KBQ_CHECKBOX_REQUIRED_VALIDATOR, KbqCheckbox, KbqCheckboxChange, KbqCheckboxModule, KbqCheckboxRequiredValidator, TransitionCheckState };
162
+ export { KBQ_CHECKBOX_CLICK_ACTION, KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR, KBQ_CHECKBOX_REQUIRED_VALIDATOR, KbqCheckbox, KbqCheckboxChange, KbqCheckboxModule, KbqCheckboxRequiredValidator };
159
163
  export type { KbqCheckboxClickAction };
@@ -1,7 +1,7 @@
1
1
  import * as _koobiq_components_core from '@koobiq/components/core';
2
2
  import { KbqClampedTextLocaleConfig } from '@koobiq/components/core';
3
3
  import * as _angular_core from '@angular/core';
4
- import { Signal, InjectionToken, Provider, OnInit, AfterViewInit, ElementRef } from '@angular/core';
4
+ import { InjectionToken, Signal, Provider, OnInit, AfterViewInit, ElementRef } from '@angular/core';
5
5
 
6
6
  /**
7
7
  * Default maximum number of visible rows for the clamped text component
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, Provider, AfterViewInit, TemplateRef } from '@angular/core';
2
+ import { InjectionToken, AfterViewInit, TemplateRef, Provider } from '@angular/core';
3
3
  import { CdkScrollable, ExtendedScrollToOptions } from '@angular/cdk/scrolling';
4
4
  import { KbqButtonStyles } from '@koobiq/components/button';
5
5
  import { KbqCodeBlockLocaleConfiguration, KbqComponentColors } from '@koobiq/components/core';
@@ -48,6 +48,18 @@ declare const kbqCodeBlockLocaleConfigurationProvider: (configuration: KbqCodeBl
48
48
  declare const KBQ_CODE_BLOCK_FALLBACK_FILE_NAME: InjectionToken<string>;
49
49
  /** Utility provider for `KBQ_CODE_BLOCK_FALLBACK_FILE_NAME`. */
50
50
  declare const kbqCodeBlockFallbackFileNameProvider: (fileName: string) => Provider;
51
+ /** Default options for `kbq-code-block`. */
52
+ type KbqCodeBlockDefaultOptions = Partial<{
53
+ /** Whether the actionbar should remain visible when tabs are hidden. */
54
+ alwaysShowActionbar: boolean;
55
+ }>;
56
+ /** Injection token used to configure the default options for all `kbq-code-block` components. */
57
+ declare const KBQ_CODE_BLOCK_DEFAULT_OPTIONS: InjectionToken<Partial<{
58
+ /** Whether the actionbar should remain visible when tabs are hidden. */
59
+ alwaysShowActionbar: boolean;
60
+ }>>;
61
+ /** Utility provider for `KBQ_CODE_BLOCK_DEFAULT_OPTIONS`. */
62
+ declare const kbqCodeBlockDefaultOptionsProvider: (options: KbqCodeBlockDefaultOptions) => Provider;
51
63
  /** Marks a template as a custom tab link. */
52
64
  declare class KbqCodeBlockTabLinkContent {
53
65
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqCodeBlockTabLinkContent, never>;
@@ -58,6 +70,7 @@ declare class KbqCodeBlockTabLinkContent {
58
70
  */
59
71
  declare class KbqCodeBlock implements AfterViewInit {
60
72
  private readonly copyButtonTooltip;
73
+ private readonly defaultOptions;
61
74
  /**
62
75
  * Reference to the scrollable code content.
63
76
  *
@@ -114,6 +127,8 @@ declare class KbqCodeBlock implements AfterViewInit {
114
127
  canDownload: boolean;
115
128
  /** Added copy code button. */
116
129
  readonly canCopy: _angular_core.InputSignalWithTransform<boolean, unknown>;
130
+ /** Whether the actionbar should remain visible when tabs are hidden. */
131
+ readonly alwaysShowActionbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
117
132
  /**
118
133
  * @deprecated Will be removed in next major release, use `files` instead.
119
134
  */
@@ -141,7 +156,8 @@ declare class KbqCodeBlock implements AfterViewInit {
141
156
  */
142
157
  get hideTabs(): boolean;
143
158
  set hideTabs(value: boolean);
144
- private _hideTabs;
159
+ private readonly _hideTabs;
160
+ private readonly actionbarHovered;
145
161
  /**
146
162
  * Output to support two-way binding on `[(hideTabs)]` property.
147
163
  */
@@ -179,7 +195,6 @@ declare class KbqCodeBlock implements AfterViewInit {
179
195
  private readonly changeDetectorRef;
180
196
  private readonly localeService;
181
197
  private readonly destroyRef;
182
- private readonly renderer;
183
198
  private readonly platform;
184
199
  private readonly focusMonitor;
185
200
  private readonly clipboard;
@@ -191,6 +206,8 @@ declare class KbqCodeBlock implements AfterViewInit {
191
206
  */
192
207
  protected readonly fallbackFileName: string;
193
208
  private readonly window;
209
+ /** @docs-private */
210
+ protected readonly actionbarVisible: _angular_core.Signal<boolean>;
194
211
  constructor();
195
212
  ngAfterViewInit(): void;
196
213
  /**
@@ -222,21 +239,9 @@ declare class KbqCodeBlock implements AfterViewInit {
222
239
  * @docs-private
223
240
  */
224
241
  protected onSelectedTabChange(index: number): void;
225
- /**
226
- * Tracks hover events to show/hide the actionbar when `hideTabs` is `true`.
227
- * Reacts to `hideTabs` changes dynamically.
228
- */
242
+ /** Tracks hover when tabs are hidden and `alwaysShowActionbar` is disabled. */
229
243
  private trackHoverState;
230
244
  private setupContentOverflowDetection;
231
- /**
232
- * Adds or removes the actionbar display class from the code block based on the specified condition.
233
- *
234
- * The actionbar is always visible on mobile devices and when the tabs are visible.
235
- * Otherwise, the actionbar is only visible when the mouse is hovered over the code block.
236
- *
237
- * @param shouldShowActionbar - A boolean indicating whether the actionbar should be visible.
238
- */
239
- private setupActionbarDisplay;
240
245
  /** Whether the element has scroll. */
241
246
  private hasScroll;
242
247
  /**
@@ -271,7 +276,7 @@ declare class KbqCodeBlock implements AfterViewInit {
271
276
  */
272
277
  protected downloadCode(): void;
273
278
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqCodeBlock, never>;
274
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqCodeBlock, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; "isSignal": true; }; "filled": { "alias": "filled"; "required": false; "isSignal": true; }; "canToggleSoftWrap": { "alias": "canToggleSoftWrap"; "required": false; "isSignal": true; }; "softWrap": { "alias": "softWrap"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "canLoad": { "alias": "canLoad"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "canCopy": { "alias": "canCopy"; "required": false; "isSignal": true; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "files": { "alias": "files"; "required": false; }; "activeFileIndex": { "alias": "activeFileIndex"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; "isSignal": true; }; "hideTabs": { "alias": "hideTabs"; "required": false; }; }, { "softWrapChange": "softWrapChange"; "viewAllChange": "viewAllChange"; "activeFileIndexChange": "activeFileIndexChange"; "hideTabsChange": "hideTabsChange"; }, ["tabLinkTemplate"], never, true, never>;
279
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqCodeBlock, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; "isSignal": true; }; "filled": { "alias": "filled"; "required": false; "isSignal": true; }; "canToggleSoftWrap": { "alias": "canToggleSoftWrap"; "required": false; "isSignal": true; }; "softWrap": { "alias": "softWrap"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "canLoad": { "alias": "canLoad"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "canCopy": { "alias": "canCopy"; "required": false; "isSignal": true; }; "alwaysShowActionbar": { "alias": "alwaysShowActionbar"; "required": false; "isSignal": true; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "files": { "alias": "files"; "required": false; }; "activeFileIndex": { "alias": "activeFileIndex"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; "isSignal": true; }; "hideTabs": { "alias": "hideTabs"; "required": false; }; }, { "softWrapChange": "softWrapChange"; "viewAllChange": "viewAllChange"; "activeFileIndexChange": "activeFileIndexChange"; "hideTabsChange": "hideTabsChange"; }, ["tabLinkTemplate"], never, true, never>;
275
280
  static ngAcceptInputType_softWrap: unknown;
276
281
  static ngAcceptInputType_viewAll: unknown;
277
282
  static ngAcceptInputType_canLoad: unknown;
@@ -379,5 +384,5 @@ declare class KbqCodeBlockModule {
379
384
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqCodeBlockModule>;
380
385
  }
381
386
 
382
- export { KBQ_CODE_BLOCK_FALLBACK_FILE_LANGUAGE, KBQ_CODE_BLOCK_FALLBACK_FILE_NAME, KBQ_CODE_BLOCK_HIGHLIGHT_JS_CONFIG, KBQ_CODE_BLOCK_LOCALE_CONFIGURATION, KbqCodeBlock, KbqCodeBlockHighlight, KbqCodeBlockModule, KbqCodeBlockTabLinkContent, kbqCodeBlockFallbackFileLanguageProvider, kbqCodeBlockFallbackFileNameProvider, kbqCodeBlockHighlightJsConfigProvider, kbqCodeBlockLocaleConfigurationProvider };
383
- export type { KbqCodeBlockFile, KbqCodeBlockHighlightJsConfig, KbqTabLinkTemplateContext };
387
+ export { KBQ_CODE_BLOCK_DEFAULT_OPTIONS, KBQ_CODE_BLOCK_FALLBACK_FILE_LANGUAGE, KBQ_CODE_BLOCK_FALLBACK_FILE_NAME, KBQ_CODE_BLOCK_HIGHLIGHT_JS_CONFIG, KBQ_CODE_BLOCK_LOCALE_CONFIGURATION, KbqCodeBlock, KbqCodeBlockHighlight, KbqCodeBlockModule, KbqCodeBlockTabLinkContent, kbqCodeBlockDefaultOptionsProvider, kbqCodeBlockFallbackFileLanguageProvider, kbqCodeBlockFallbackFileNameProvider, kbqCodeBlockHighlightJsConfigProvider, kbqCodeBlockLocaleConfigurationProvider };
388
+ export type { KbqCodeBlockDefaultOptions, KbqCodeBlockFile, KbqCodeBlockHighlightJsConfig, KbqTabLinkTemplateContext };
@@ -1,5 +1,5 @@
1
1
  import * as _koobiq_components_core from '@koobiq/components/core';
2
- import { KbqComponentColors, KbqOverflowShadowContainer } from '@koobiq/components/core';
2
+ import { KbqOverflowShadowContainer, KbqComponentColors } from '@koobiq/components/core';
3
3
  import * as i0 from '@angular/core';
4
4
  import { KbqButtonStyles } from '@koobiq/components/button';
5
5
  import { KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';