@koobiq/components 20.1.0 → 20.3.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 (249) hide show
  1. package/accordion/_accordion-theme.scss +6 -2
  2. package/accordion/accordion-tokens.scss +3 -0
  3. package/accordion/{accordion-trigger.component.scss → accordion-trigger.scss} +10 -0
  4. package/accordion/accordion.scss +71 -0
  5. package/accordion/index.d.ts +264 -121
  6. package/actions-panel/index.d.ts +25 -13
  7. package/alert/_alert-theme.scss +14 -0
  8. package/alert/alert.component.scss +24 -13
  9. package/alert/index.d.ts +63 -29
  10. package/app-switcher/app-switcher-dropdown-app.scss +7 -5
  11. package/app-switcher/app-switcher-dropdown-site.scss +6 -4
  12. package/app-switcher/index.d.ts +41 -4
  13. package/app-switcher/kbq-app-switcher-list-item.scss +6 -8
  14. package/autocomplete/autocomplete.scss +2 -1
  15. package/autocomplete/index.d.ts +58 -37
  16. package/badge/index.d.ts +2 -3
  17. package/breadcrumbs/index.d.ts +1 -1
  18. package/button/index.d.ts +2 -2
  19. package/button-toggle/button-toggle-tokens.scss +2 -0
  20. package/button-toggle/button-toggle.scss +9 -0
  21. package/button-toggle/index.d.ts +5 -0
  22. package/checkbox/index.d.ts +33 -29
  23. package/clamped-text/index.d.ts +3 -2
  24. package/code-block/index.d.ts +24 -19
  25. package/content-panel/index.d.ts +1 -1
  26. package/core/index.d.ts +1217 -186
  27. package/core/option/_action-container-mixins.scss +28 -0
  28. package/core/option/_option-theme.scss +24 -0
  29. package/core/option/action.scss +7 -0
  30. package/core/styles/_core.scss +2 -0
  31. package/core/styles/_koobiq-theme.scss +2 -0
  32. package/core/styles/_tokens.scss +1 -0
  33. package/core/styles/common/_animation.scss +31 -24
  34. package/core/styles/common/_connected-overlay.scss +39 -0
  35. package/core/styles/common/_select.scss +19 -2
  36. package/core/styles/common/_tokens.scss +0 -9
  37. package/core/styles/theming/_index.scss +0 -1
  38. package/core/styles/theming/_theming.scss +34 -5
  39. package/datepicker/index.d.ts +46 -15
  40. package/dl/dl.scss +26 -0
  41. package/dl/index.d.ts +8 -1
  42. package/dropdown/_dropdown-theme.scss +28 -2
  43. package/dropdown/dropdown-item.scss +29 -0
  44. package/dropdown/dropdown-tokens.scss +2 -1
  45. package/dropdown/dropdown.scss +16 -1
  46. package/dropdown/index.d.ts +331 -17
  47. package/dynamic-translation/index.d.ts +1 -1
  48. package/fesm2022/koobiq-components-accordion.mjs +480 -317
  49. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-actions-panel.mjs +57 -46
  51. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-alert.mjs +98 -58
  53. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-app-switcher.mjs +233 -38
  55. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-autocomplete.mjs +89 -52
  57. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-badge.mjs +18 -17
  59. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  61. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-button-toggle.mjs +17 -12
  63. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-button.mjs +25 -25
  65. package/fesm2022/koobiq-components-checkbox.mjs +69 -92
  66. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-clamped-text.mjs +18 -13
  68. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-code-block.mjs +56 -69
  70. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-content-panel.mjs +29 -29
  72. package/fesm2022/koobiq-components-core.mjs +2485 -735
  73. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-datepicker.mjs +168 -126
  75. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-divider.mjs +7 -7
  77. package/fesm2022/koobiq-components-dl.mjs +23 -15
  78. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-dropdown.mjs +814 -136
  80. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  82. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  83. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  84. package/fesm2022/koobiq-components-file-upload.mjs +74 -42
  85. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-filter-bar.mjs +783 -199
  87. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-flag.mjs +7 -7
  89. package/fesm2022/koobiq-components-form-field.mjs +350 -162
  90. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-icon.mjs +52 -25
  92. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-inline-edit.mjs +175 -28
  94. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-input.mjs +41 -24
  96. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-link.mjs +8 -8
  98. package/fesm2022/koobiq-components-list.mjs +657 -143
  99. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  101. package/fesm2022/koobiq-components-markdown.mjs +14 -11
  102. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-modal.mjs +59 -35
  104. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-navbar.mjs +177 -67
  106. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-notification-center.mjs +40 -24
  108. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-overflow-items.mjs +16 -17
  110. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-popover.mjs +31 -21
  112. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  114. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  115. package/fesm2022/koobiq-components-radio.mjs +10 -10
  116. package/fesm2022/koobiq-components-resizer.mjs +33 -14
  117. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  119. package/fesm2022/koobiq-components-search-expandable.mjs +49 -14
  120. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-select.mjs +450 -146
  122. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-sidebar.mjs +14 -14
  124. package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
  125. package/fesm2022/koobiq-components-skeleton.mjs +10 -10
  126. package/fesm2022/koobiq-components-split-button.mjs +10 -17
  127. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-splitter.mjs +17 -17
  129. package/fesm2022/koobiq-components-table.mjs +15 -13
  130. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-tabs.mjs +80 -68
  132. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-tags.mjs +283 -122
  134. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-textarea.mjs +13 -8
  136. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-time-range.mjs +29 -24
  138. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-timepicker.mjs +61 -30
  140. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-timezone.mjs +77 -42
  142. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-title.mjs +7 -7
  144. package/fesm2022/koobiq-components-toast.mjs +51 -26
  145. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-toggle.mjs +72 -64
  147. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-tooltip.mjs +219 -28
  149. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  151. package/fesm2022/koobiq-components-tree-select.mjs +222 -80
  152. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-tree.mjs +302 -81
  154. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-username.mjs +27 -27
  156. package/file-upload/index.d.ts +25 -6
  157. package/file-upload/multiple-file-upload.component.scss +14 -0
  158. package/filter-bar/_filter-bar-theme.scss +0 -10
  159. package/filter-bar/filter-bar-tokens.scss +3 -0
  160. package/filter-bar/filters.scss +3 -2
  161. package/filter-bar/index.d.ts +281 -9
  162. package/filter-bar/pipes/base-pipe.scss +0 -11
  163. package/filter-bar/pipes/pipe-input.scss +10 -0
  164. package/filter-bar/pipes/pipe-multi-tree-select.scss +0 -6
  165. package/filter-bar/pipes/pipe-multiselect.scss +0 -6
  166. package/filter-bar/pipes/pipe-tree-select.scss +0 -6
  167. package/form-field/_form-field-theme.scss +76 -20
  168. package/form-field/fieldset.scss +10 -0
  169. package/form-field/form-field-tokens.scss +15 -1
  170. package/form-field/form-field.scss +15 -19
  171. package/form-field/index.d.ts +147 -65
  172. package/icon/icon-button.scss +3 -1
  173. package/icon/index.d.ts +45 -7
  174. package/inline-edit/index.d.ts +57 -4
  175. package/inline-edit/inline-edit.scss +10 -0
  176. package/input/index.d.ts +17 -2
  177. package/list/_list-theme.scss +42 -10
  178. package/list/index.d.ts +326 -79
  179. package/list/list-tokens.scss +43 -8
  180. package/list/list.scss +186 -12
  181. package/markdown/index.d.ts +1 -1
  182. package/modal/index.d.ts +21 -4
  183. package/modal/modal-tokens.scss +1 -1
  184. package/navbar/_navbar-item_vertical.scss +7 -5
  185. package/navbar/index.d.ts +54 -5
  186. package/navbar/navbar-brand.scss +23 -7
  187. package/navbar/vertical-navbar.scss +6 -0
  188. package/notification-center/index.d.ts +2 -1
  189. package/notification-center/notification-item.scss +6 -0
  190. package/package.json +3 -6
  191. package/popover/index.d.ts +2 -2
  192. package/prebuilt-themes/dark-theme.css +1 -1
  193. package/prebuilt-themes/light-theme.css +1 -1
  194. package/prebuilt-themes/theme.css +1 -1
  195. package/resizer/index.d.ts +12 -0
  196. package/schematics/collection.json +10 -0
  197. package/schematics/migrations/alert-signals/README.md +64 -0
  198. package/schematics/migrations/alert-signals/data.js +70 -0
  199. package/schematics/migrations/alert-signals/index.js +350 -0
  200. package/schematics/migrations/alert-signals/schema.json +20 -0
  201. package/schematics/migrations/autocomplete-panel-width-auto/README.md +68 -0
  202. package/schematics/migrations/autocomplete-panel-width-auto/index.js +70 -0
  203. package/schematics/migrations/autocomplete-panel-width-auto/schema.json +15 -0
  204. package/schematics/migrations/deprecated-icons/README.md +29 -4
  205. package/schematics/migrations/deprecated-icons/data.js +7 -0
  206. package/schematics/migrations/deprecated-icons/index.js +62 -35
  207. package/schematics/migrations/filter-bar-signals/README.md +1 -1
  208. package/schematics/migrations/new-icons-pack/README.md +37 -2
  209. package/schematics/migrations/new-icons-pack/data.js +8 -0
  210. package/schematics/migrations/new-icons-pack/index.js +144 -53
  211. package/schematics/migrations.json +11 -1
  212. package/schematics/ng-add/index.js +3 -3
  213. package/schematics/utils/angular-parsing.js +41 -14
  214. package/schematics/utils/ast.js +31 -0
  215. package/schematics/utils/icon-migration.js +530 -0
  216. package/schematics/utils/typescript.js +44 -0
  217. package/scrollbar/index.d.ts +1 -1
  218. package/search-expandable/index.d.ts +3 -0
  219. package/select/index.d.ts +212 -40
  220. package/select/select-tokens.scss +0 -1
  221. package/select/select.scss +0 -2
  222. package/splitter/index.d.ts +1 -1
  223. package/table/_table-theme.scss +4 -0
  224. package/table/index.d.ts +2 -1
  225. package/table/table.scss +8 -0
  226. package/tabs/_tabs-common.scss +60 -31
  227. package/tabs/_tabs-theme.scss +12 -0
  228. package/tabs/index.d.ts +2 -2
  229. package/tabs/tab-header.scss +14 -0
  230. package/tabs/tab-nav-bar.scss +4 -0
  231. package/tabs/tabs-tokens.scss +1 -0
  232. package/tags/index.d.ts +128 -29
  233. package/textarea/index.d.ts +5 -0
  234. package/time-range/index.d.ts +1 -1
  235. package/timepicker/index.d.ts +4 -0
  236. package/timezone/index.d.ts +10 -8
  237. package/toast/index.d.ts +26 -3
  238. package/toggle/index.d.ts +34 -14
  239. package/tooltip/index.d.ts +119 -7
  240. package/tree/_tree-theme.scss +25 -5
  241. package/tree/index.d.ts +71 -3
  242. package/tree/tree-option.scss +2 -8
  243. package/tree-select/_tree-select-theme.scss +22 -0
  244. package/tree-select/index.d.ts +127 -36
  245. package/accordion/accordion.component.scss +0 -50
  246. package/core/styles/_tokens.kbq.import.scss +0 -4
  247. package/core/styles/theming/_components-theming.scss +0 -1927
  248. package/filter-bar/pipes/pipe-select.scss +0 -5
  249. package/overflow-items/overflow-items.scss +0 -20
package/core/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { QueryList, ElementRef, Type, Provider, InjectionToken, ModelSignal, PipeTransform, AfterContentInit, EventEmitter, AfterViewInit, OnDestroy, AfterViewChecked, OnInit, NgZone, ViewContainerRef, DestroyRef, TemplateRef, Renderer2, ChangeDetectorRef, RendererFactory2, Version } from '@angular/core';
2
+ import { QueryList, Signal, InjectionToken, Provider, ElementRef, Type, ModelSignal, PipeTransform, AfterContentInit, EventEmitter, AfterViewInit, OnDestroy, AfterViewChecked, OnInit, NgZone, ViewContainerRef, DestroyRef, TemplateRef, Renderer2, ChangeDetectorRef, RendererFactory2, Version } from '@angular/core';
3
3
  import { Subject, BehaviorSubject, Observable, Subscription } from 'rxjs';
4
4
  import { FocusOrigin, FocusTrapInertStrategy } from '@angular/cdk/a11y';
5
5
  import { AnimationTriggerMetadata, AnimationEvent } from '@angular/animations';
6
- import { DateAdapter as DateAdapter$1, DateFormats } from '@koobiq/date-adapter';
7
- import { AbstractControl, FormGroupDirective, NgForm, NgControl, ValidatorFn } from '@angular/forms';
6
+ import { DateAdapter as DateAdapter$1, DateFormats, DurationUnit } from '@koobiq/date-adapter';
7
+ import { ControlValueAccessor, AbstractControl, FormGroupDirective, NgForm, NgControl, ValidatorFn } from '@angular/forms';
8
8
  import { FormatterDurationTemplate, DateFormatter as DateFormatter$1, DateTimeOptions } from '@koobiq/date-formatter';
9
- import { ConnectionPositionPair, Overlay, ScrollStrategy, OverlayContainer, ScrollDispatcher, CdkScrollable, OverlayRef, OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, CdkConnectedOverlay, RepositionScrollStrategy } from '@angular/cdk/overlay';
9
+ import { ScrollStrategy, ScrollDispatcher, OverlayRef, ConnectionPositionPair, Overlay, CdkOverlayOrigin, OverlayContainer, CdkScrollable, OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, CdkConnectedOverlay, ConnectedPosition, RepositionScrollStrategy } from '@angular/cdk/overlay';
10
+ import { ViewportRuler } from '@angular/cdk/scrolling';
10
11
  import { Directionality } from '@angular/cdk/bidi';
11
12
  import { ComponentPortal } from '@angular/cdk/portal';
12
- import { ViewportRuler } from '@angular/cdk/scrolling';
13
13
  import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';
14
14
 
15
15
  interface ListKeyManagerOption {
@@ -235,12 +235,116 @@ declare const kbqSelectAnimations: {
235
235
  readonly fadeInContent: AnimationTriggerMetadata;
236
236
  };
237
237
 
238
+ /**
239
+ * Tracks whether the current control's value was filled in by the browser, as a signal.
240
+ *
241
+ * Call it from an injection context on a directive whose host is the element the browser actually
242
+ * fills — a text `<input>` or a `<textarea>`. Every `KbqFormFieldControl` that can be autofilled
243
+ * exposes the result as its `autofilled` member.
244
+ *
245
+ * This is a hook for application code, not the mechanism behind the autofill styling. The styling
246
+ * keys on `:autofill` in CSS, which matches in the same style pass the browser fills the field;
247
+ * detection here goes through a zero-length keyframe animation and an `animationstart` listener, so
248
+ * it lands a frame or two later — too late to paint with, and early enough for anything a component
249
+ * wants to do about it.
250
+ *
251
+ * `monitor()` returns EMPTY off the browser platform, so this needs no `Platform` guard.
252
+ */
253
+ declare const kbqInjectAutofilled: () => Signal<boolean>;
254
+
238
255
  /**
239
256
  * Tri-state checkbox values
240
257
  * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-checked
241
258
  */
242
259
  type KbqCheckedState = 'true' | 'false' | 'mixed';
243
260
 
261
+ /**
262
+ * Provider Expression that allows `KbqCheckable` to register as a `ControlValueAccessor`, so any host
263
+ * applying it via `hostDirectives` gets `[(ngModel)]`/`formControl` support without wiring up its own.
264
+ * @docs-private
265
+ */
266
+ declare const KBQ_CHECKABLE_CONTROL_VALUE_ACCESSOR: Provider;
267
+ /**
268
+ * Click action shared by checkable controls (checkbox, toggle, and custom checkbox-like primitives).
269
+ * noop: Do not toggle checked or indeterminate.
270
+ * check: Only toggle checked status, ignore indeterminate.
271
+ * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.
272
+ * undefined: Same as `check-indeterminate`.
273
+ */
274
+ type KbqCheckableClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;
275
+ /** Injection token that can be used to specify the default click behavior for checkable controls. */
276
+ declare const KBQ_CHECKABLE_CLICK_ACTION: InjectionToken<KbqCheckableClickAction>;
277
+ /**
278
+ * Represents the different states that require custom transitions between them.
279
+ * @docs-private
280
+ */
281
+ declare enum TransitionCheckState {
282
+ /** The initial state of the component before any user interaction. */
283
+ Init = "init",
284
+ /** The state representing the component when it's becoming checked. */
285
+ Checked = "checked",
286
+ /** The state representing the component when it's becoming unchecked. */
287
+ Unchecked = "unchecked",
288
+ /** The state representing the component when it's becoming indeterminate. */
289
+ Indeterminate = "indeterminate"
290
+ }
291
+ /** Result of resolving a click on a checkable control's native input. See {@link KbqCheckable.resolveClick}. */
292
+ interface KbqCheckableClickResult {
293
+ /** Whether `checked` should be toggled and a `change` event emitted. */
294
+ readonly shouldToggle: boolean;
295
+ /** Whether `indeterminate` should be cleared and an `indeterminateChange` event emitted. */
296
+ readonly shouldClearIndeterminate: boolean;
297
+ }
298
+ /**
299
+ * Shared behavior for checkbox-like controls: checked/disabled/indeterminate/tabIndex state, the click-to-toggle
300
+ * algorithm, ARIA-checked computation, and `ControlValueAccessor` change plumbing.
301
+ *
302
+ * Meant to be applied via `hostDirectives` by components that render their own native `<input type="checkbox">`
303
+ * and markup (e.g. `KbqCheckbox`, `KbqToggleComponent`, or custom checkbox-like primitives). Hosts stay
304
+ * responsible for their own public inputs/outputs, `FocusMonitor` wiring, and emitting their own typed
305
+ * `change` event - this directive only centralizes the state and decisions behind them.
306
+ */
307
+ declare class KbqCheckable implements ControlValueAccessor {
308
+ private controlValueAccessorChangeFn;
309
+ /**
310
+ * Called when the control is blurred. Needed to properly implement `ControlValueAccessor`.
311
+ * @docs-private
312
+ */
313
+ onTouched: () => any;
314
+ /** @docs-private */
315
+ readonly currentCheckState: i0.WritableSignal<TransitionCheckState>;
316
+ readonly checked: i0.ModelSignal<boolean>;
317
+ readonly disabled: i0.ModelSignal<boolean>;
318
+ readonly indeterminate: i0.ModelSignal<boolean>;
319
+ /** Raw tab index as set by the caller, ignoring `disabled`. Use `effectiveTabIndex` to read the applied value. */
320
+ readonly tabIndex: i0.ModelSignal<number>;
321
+ /** The tab index actually applied to the native input: forced to `-1` while disabled. */
322
+ readonly effectiveTabIndex: i0.Signal<number>;
323
+ /** Returns the ARIA-checked value: `'true'`, `'false'`, or `'mixed'` when indeterminate. */
324
+ getAriaChecked(): KbqCheckedState;
325
+ /** Toggles the `checked` state and notifies the registered `ControlValueAccessor` change handler. */
326
+ toggle(): void;
327
+ /**
328
+ * Resolves what a click on the native input should do, based on the current state and `clickAction`.
329
+ * Pure - does not mutate state. Callers apply `checked`/`indeterminate` themselves and own emitting
330
+ * their own change events, so timing/order stays identical to a hand-written click handler.
331
+ */
332
+ resolveClick(clickAction: KbqCheckableClickAction): KbqCheckableClickResult;
333
+ /** Resets the native input to match the current `checked`/`indeterminate` state (used for the `noop` click action). */
334
+ resetNativeInput(nativeInput: HTMLInputElement): void;
335
+ /** Transitions the animation state, ignoring no-op transitions. @docs-private */
336
+ transitionCheckState(newState: TransitionCheckState): void;
337
+ writeValue(value: any): void;
338
+ /** Stores the `ControlValueAccessor` change handler to be notified by `notifyFormValueChange`. */
339
+ registerOnChange(fn: (value: any) => void): void;
340
+ registerOnTouched(fn: any): void;
341
+ setDisabledState(isDisabled: boolean): void;
342
+ /** Notifies the registered `ControlValueAccessor` change handler. */
343
+ notifyFormValueChange(value: boolean): void;
344
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqCheckable, never>;
345
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqCheckable, "[kbqCheckable]", ["kbqCheckable"], { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; "indeterminate": "indeterminateChange"; "tabIndex": "tabIndexChange"; }, never, never, true, never>;
346
+ }
347
+
244
348
  declare class KbqNormalizeWhitespace {
245
349
  /** @docs-private */
246
350
  protected readonly elementRef: ElementRef<HTMLElement>;
@@ -461,6 +565,73 @@ declare abstract class DateAdapter<D> extends DateAdapter$1<D> {
461
565
  declare const KBQ_DATE_FORMATS: InjectionToken<DateFormats>;
462
566
  type KbqDateFormats = DateFormats;
463
567
 
568
+ /**
569
+ * Time zone the library renders dates in.
570
+ *
571
+ * Accepts an IANA name (`'Europe/Moscow'`), a fixed offset — in minutes east of UTC (`180`) or as a
572
+ * string (`'+03:00'`, `'UTC+3'`, `'03:00:00'`) — `'utc'`, or `'system'` for the zone of the host the code
573
+ * runs on.
574
+ *
575
+ * The `string & {}` arm keeps IANA names open while still offering the special values as completions.
576
+ */
577
+ type KbqTimezoneLike = 'system' | 'utc' | number | (string & {});
578
+ /**
579
+ * InjectionToken for the time zone every date the library formats is rendered in.
580
+ *
581
+ * Read once, by the {@link KbqDateTimezoneService} constructor, out of the injector that created the
582
+ * service — call {@link KbqDateTimezoneService.setTimezone} to change the zone afterwards. Defaults to
583
+ * `'system'`, the zone of the host the code runs on.
584
+ */
585
+ declare const KBQ_DATE_TIMEZONE: InjectionToken<KbqTimezoneLike>;
586
+ /**
587
+ * Offset of `timezone` at `timestamp`, in minutes east of UTC. `null` means "leave the date in the host
588
+ * zone" — either because `timezone` is `'system'`, or because it is a name no `Intl` implementation knows.
589
+ *
590
+ * Takes the instant because an IANA zone has no single offset: `'Europe/Berlin'` is +60 in January and
591
+ * +120 in July, and one list of dates can span the change.
592
+ */
593
+ declare const kbqResolveTimezoneOffset: (timezone: KbqTimezoneLike, timestamp: number) => number | null;
594
+ /**
595
+ * Holds the time zone every date the library creates, parses and formats is rendered in.
596
+ *
597
+ * Provided in root, so {@link KBQ_DATE_TIMEZONE} in the application providers configures the whole
598
+ * application. To scope a zone to one subtree, list {@link kbqDateTimezoneProvider} in that component's
599
+ * `providers` together with the date adapter and the `DateFormatter`: the adapter captures the service of
600
+ * the injector that created it, and keeps using it.
601
+ */
602
+ declare class KbqDateTimezoneService {
603
+ /** Active time zone. */
604
+ readonly timezone: Signal<KbqTimezoneLike>;
605
+ /**
606
+ * Emits when the active time zone changes.
607
+ *
608
+ * The counterpart of `DateAdapter.localeChanges`, for the surfaces that render a date once instead of
609
+ * through an impure pipe — the date inputs and the calendar.
610
+ */
611
+ readonly changes: Observable<KbqTimezoneLike>;
612
+ private readonly _timezone;
613
+ private readonly _changes;
614
+ constructor();
615
+ /** Activates a time zone. */
616
+ setTimezone(timezone: KbqTimezoneLike): void;
617
+ /**
618
+ * Offset of the active zone at `timestamp`, in minutes east of UTC, or `null` when dates are left in
619
+ * the host zone.
620
+ */
621
+ offsetAt(timestamp: number): number | null;
622
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqDateTimezoneService, never>;
623
+ static ɵprov: i0.ɵɵInjectableDeclaration<KbqDateTimezoneService>;
624
+ }
625
+ /**
626
+ * Utility provider for the time zone dates are rendered in.
627
+ *
628
+ * Provides {@link KbqDateTimezoneService} alongside the token, so listing it in a component's `providers`
629
+ * scopes the zone to that subtree instead of resolving the root service and silently doing nothing.
630
+ *
631
+ * @see KBQ_DATE_TIMEZONE
632
+ */
633
+ declare const kbqDateTimezoneProvider: (timezone: KbqTimezoneLike) => Provider[];
634
+
464
635
  /**
465
636
  * Emulates [`field-sizing: content`](https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing) CSS property for
466
637
  * browsers that do not support it natively.
@@ -476,7 +647,6 @@ declare class KbqFieldSizingContent {
476
647
  constructor();
477
648
  private emulate;
478
649
  private setupWidth;
479
- private createRuler;
480
650
  private calculateWidth;
481
651
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqFieldSizingContent, never>;
482
652
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqFieldSizingContent, "[kbqFieldSizingContent]", ["kbqFieldSizingContent"], {}, {}, never, never, true, never>;
@@ -486,9 +656,12 @@ declare class KbqFieldSizingContent {
486
656
  * Internal contract for `KbqFormField` used by code that cannot import the form-field
487
657
  * class directly because of a circular dependency (e.g. `core/select/common.ts`).
488
658
  *
659
+ * @deprecated Use KbqFormField from `@koobiq/components/form-field`.
660
+ *
489
661
  * @docs-private
490
662
  */
491
663
  interface KbqFormFieldRef {
664
+ /** @see KbqFormField.control */
492
665
  control: any;
493
666
  canCleanerClearByEsc: boolean;
494
667
  /** Use when KbqFormField is in an overlay container. */
@@ -500,13 +673,228 @@ interface KbqFormFieldRef {
500
673
  * as alternative token to the actual `KbqFormField` class which would cause unnecessary
501
674
  * retention of the `KbqFormField` class and its component metadata.
502
675
  *
503
- * @TODO move into form-field.ts, add correct type for `InjectionToken<KbqFormField>` (#DS-2915)
676
+ * @deprecated Use `KBQ_FORM_FIELD` from `@koobiq/components/form-field`.
677
+ *
678
+ * @docs-private
504
679
  */
505
680
  declare const KBQ_FORM_FIELD_REF: InjectionToken<KbqFormFieldRef>;
681
+ /**
682
+ * Contract for an ancestor that wants to override where overlays opened by a nested
683
+ * `KbqFormField`'s control (e.g. a select's dropdown, a datepicker's calendar) are
684
+ * anchored, instead of the form-field's own container.
685
+ */
686
+ interface KbqConnectedOverlayOriginProvider {
687
+ /**
688
+ * Element the overlay should be positioned and sized against, or `undefined` to fall
689
+ * back to the form-field's own container.
690
+ */
691
+ getConnectedOverlayOrigin(): ElementRef | undefined;
692
+ }
693
+ /**
694
+ * Injection token for `KbqConnectedOverlayOriginProvider`. Provide it on an ancestor
695
+ * component to redirect where a nested `KbqFormField`'s control positions its overlay.
696
+ */
697
+ declare const KBQ_CONNECTED_OVERLAY_ORIGIN: InjectionToken<KbqConnectedOverlayOriginProvider>;
698
+
699
+ /**
700
+ * Scrolls a text field horizontally so that its current selection is visible.
701
+ *
702
+ * Browsers scroll a field to the caret only for edits the user makes: a selection set from script leaves
703
+ * the field at whatever offset the last keystroke produced. A masked field re-renders its value and moves
704
+ * the caret between value parts on every keystroke, so without this the field keeps the offset of the part
705
+ * that was edited before and clips the one being edited now.
706
+ *
707
+ * Leaves the field alone when it is not focused, when it renders something other than its value, and in
708
+ * right-to-left text, where the browser's own caret following is already correct.
709
+ */
710
+ declare const kbqRevealSelection: (element: HTMLInputElement) => void;
711
+ /**
712
+ * Selects the `[start, end]` range of a text field and keeps it visible.
713
+ *
714
+ * @see {@link kbqRevealSelection}
715
+ */
716
+ declare const kbqSetSelectionRange: (element: HTMLInputElement, start: number, end: number) => void;
717
+
718
+ /**
719
+ * Text the library exposes to assistive tech only: accessible names for the icon-only buttons it
720
+ * renders itself, and live-region announcements.
721
+ *
722
+ * An icon carries no text, so without one of these a button has no accessible name at all (AXE
723
+ * `button-name`). None of these strings are ever displayed.
724
+ */
725
+ type KbqA11yLocaleConfiguration = {
726
+ /** Close button of a modal, popover, sidepanel, content panel or notification center. */
727
+ close: string;
728
+ /** Confirm button of an inline edit. */
729
+ save: string;
730
+ /** Discard button of an inline edit. */
731
+ cancel: string;
732
+ /** Button removing every notification at once. */
733
+ removeAll: string;
734
+ /** Breadcrumbs button revealing the items hidden by overflow. */
735
+ expandBreadcrumbs: string;
736
+ /** Calendar button switching to the previous month. */
737
+ previousMonth: string;
738
+ /** Calendar button switching back to the current date. */
739
+ currentDate: string;
740
+ /** Calendar button switching to the next month. */
741
+ nextMonth: string;
742
+ /** Form field button that clears the control value. */
743
+ clear: string;
744
+ /** Password form field button that reveals the password. */
745
+ showPassword: string;
746
+ /** Password form field button that masks the password. */
747
+ hidePassword: string;
748
+ /** Separator that resizes the columns of a description list. */
749
+ resizeColumns: string;
750
+ };
751
+ /** Locale configuration for `KbqCodeBlockModule`. */
752
+ type KbqCodeBlockLocaleConfiguration = {
753
+ softWrapOnTooltip: string;
754
+ softWrapOffTooltip: string;
755
+ downloadTooltip: string;
756
+ copiedTooltip: string;
757
+ copyTooltip: string;
758
+ viewAllText: string;
759
+ viewLessText: string;
760
+ openExternalSystemTooltip: string;
761
+ };
762
+ /**
763
+ * Locale configuration for `KbqActionsPanelModule`.
764
+ */
765
+ type KbqActionsPanelLocaleConfiguration = {
766
+ closeTooltip: string;
767
+ };
768
+ /**
769
+ * Locale configuration shared by `KbqSelectModule` and `KbqTreeModule`: `hiddenItemsText` is read by
770
+ * `KbqSelectModule` (`kbq-select`) only, while `selectAll` is read by both `KbqSelectModule` and
771
+ * `KbqTreeModule` (`kbq-tree-selection`, including standalone usage outside `KbqTreeSelectModule`).
772
+ */
773
+ type KbqSelectLocaleConfiguration = {
774
+ /** Counter of the selected values that did not fit into the trigger. Supports the `{{ number }}` placeholder. */
775
+ hiddenItemsText: string;
776
+ /** Label of the "select all" master checkbox rendered by the `selectAll` input. */
777
+ selectAll: string;
778
+ };
779
+ /** Options for overriding locale-based number formatting */
780
+ type KbqNumberFormatOptions = {
781
+ /** Overrides the default group separator in the formatted output */
782
+ viewGroupSeparator?: string;
783
+ };
784
+ /**
785
+ * Locale configuration for number rounding used by `KbqRoundDecimalPipe`.
786
+ *
787
+ * Maps each rounding unit to its localized label and carries the surrounding
788
+ * formatting options.
789
+ * @docs-private
790
+ */
791
+ type KbqNumberRoundingLocaleConfig = {
792
+ /** Separator placed between the number and its rounding unit label. */
793
+ separator: string;
794
+ /** Separator placed between the integer and fractional parts. */
795
+ groupSeparator: string;
796
+ /** Label for the thousand unit. */
797
+ thousand: string;
798
+ /** Label for the million unit. */
799
+ million: string;
800
+ /** Label for the billion unit. */
801
+ billion: string;
802
+ /** Label for the trillion unit (always provided). */
803
+ trillion: string;
804
+ };
805
+ /** Locale configuration for `KbqNumberInput`. */
806
+ type KbqNumberInputLocaleConfig = {
807
+ /** Characters recognized as group (thousands) separators. */
808
+ groupSeparator: string[];
809
+ /** Character used for the decimal separator */
810
+ fractionSeparator: string;
811
+ /** Number of digits before applying group separators */
812
+ startFormattingFrom?: number;
813
+ } & KbqNumberFormatOptions;
814
+ /** Locale configuration for `KbqClampedText` */
815
+ type KbqClampedTextLocaleConfig = {
816
+ openText: string;
817
+ closeText: string;
818
+ showMoreText: string;
819
+ moreText: string;
820
+ };
821
+ /** Locale configuration for `KbqTimeRange` */
822
+ type KbqTimeRangeLocaleConfig = {
823
+ title: {
824
+ for: string;
825
+ placeholder: string;
826
+ };
827
+ editor: {
828
+ from: string;
829
+ to: string;
830
+ apply: string;
831
+ cancel: string;
832
+ rangeLabel: string;
833
+ allTime: string;
834
+ currentQuarter: string;
835
+ currentYear: string;
836
+ /** Label for the `allTime` option in the presets list, as opposed to the trigger label in `allTime` */
837
+ allTimeOption?: string;
838
+ /** Label for the `currentQuarter` option in the presets list, as opposed to the trigger label in `currentQuarter` */
839
+ currentQuarterOption?: string;
840
+ /** Label for the `currentYear` option in the presets list, as opposed to the trigger label in `currentYear` */
841
+ currentYearOption?: string;
842
+ };
843
+ durationTemplate: {
844
+ title: FormatterDurationTemplate;
845
+ option: FormatterDurationTemplate;
846
+ };
847
+ };
848
+ interface KbqBaseFileUploadLocaleConfig {
849
+ captionText: string;
850
+ captionTextOnlyFolder: string;
851
+ captionTextWithFolder: string;
852
+ browseLink: string;
853
+ browseLinkFolder: string;
854
+ browseLinkFolderMixed?: string;
855
+ }
856
+ interface KbqMultipleFileUploadLocaleConfig extends KbqBaseFileUploadLocaleConfig {
857
+ captionTextWhenSelected: string;
858
+ captionTextForCompactSize: string;
859
+ title: string;
860
+ }
861
+ type KbqFileUploadLocaleConfig = {
862
+ single: KbqBaseFileUploadLocaleConfig;
863
+ multiple: KbqMultipleFileUploadLocaleConfig;
864
+ };
865
+
866
+ /** Localization configuration for the accessible names of the icon-only buttons the library renders itself. */
867
+ declare const KBQ_A11Y_LOCALE_CONFIGURATION: InjectionToken<KbqA11yLocaleConfiguration>;
868
+ /** Utility provider for `KBQ_A11Y_LOCALE_CONFIGURATION`. */
869
+ declare const kbqA11yLocaleConfigurationProvider: (configuration: KbqA11yLocaleConfiguration) => Provider;
870
+ /**
871
+ * Reactive accessible names for the icon-only buttons the library renders itself.
872
+ *
873
+ * Follows `KbqLocaleService` when one is provided, and otherwise stays on whatever
874
+ * `KBQ_A11Y_LOCALE_CONFIGURATION` resolves to.
875
+ *
876
+ * @docs-private
877
+ */
878
+ declare function kbqInjectA11yLocaleConfiguration(): Signal<KbqA11yLocaleConfiguration>;
506
879
 
507
880
  declare const enUSLocaleData: {
881
+ a11y: {
882
+ close: string;
883
+ save: string;
884
+ cancel: string;
885
+ removeAll: string;
886
+ expandBreadcrumbs: string;
887
+ previousMonth: string;
888
+ currentDate: string;
889
+ nextMonth: string;
890
+ clear: string;
891
+ showPassword: string;
892
+ hidePassword: string;
893
+ resizeColumns: string;
894
+ };
508
895
  select: {
509
896
  hiddenItemsText: string;
897
+ selectAll: string;
510
898
  };
511
899
  datepicker: {
512
900
  placeholder: string;
@@ -601,6 +989,8 @@ declare const enUSLocaleData: {
601
989
  customPeriodFrom: string;
602
990
  customPeriodTo: string;
603
991
  customPeriodErrorHint: string;
992
+ customPeriodMinIntervalErrorHint: string;
993
+ customPeriodMaxIntervalErrorHint: string;
604
994
  backToPeriodSelection: string;
605
995
  };
606
996
  };
@@ -691,8 +1081,23 @@ declare const enUSLocaleData: {
691
1081
  };
692
1082
 
693
1083
  declare const esLALocaleData: {
1084
+ a11y: {
1085
+ close: string;
1086
+ save: string;
1087
+ cancel: string;
1088
+ removeAll: string;
1089
+ expandBreadcrumbs: string;
1090
+ previousMonth: string;
1091
+ currentDate: string;
1092
+ nextMonth: string;
1093
+ clear: string;
1094
+ showPassword: string;
1095
+ hidePassword: string;
1096
+ resizeColumns: string;
1097
+ };
694
1098
  select: {
695
1099
  hiddenItemsText: string;
1100
+ selectAll: string;
696
1101
  };
697
1102
  datepicker: {
698
1103
  placeholder: string;
@@ -786,6 +1191,8 @@ declare const esLALocaleData: {
786
1191
  customPeriodFrom: string;
787
1192
  customPeriodTo: string;
788
1193
  customPeriodErrorHint: string;
1194
+ customPeriodMinIntervalErrorHint: string;
1195
+ customPeriodMaxIntervalErrorHint: string;
789
1196
  backToPeriodSelection: string;
790
1197
  };
791
1198
  };
@@ -876,8 +1283,23 @@ declare const esLALocaleData: {
876
1283
  };
877
1284
 
878
1285
  declare const ptBRLocaleData: {
1286
+ a11y: {
1287
+ close: string;
1288
+ save: string;
1289
+ cancel: string;
1290
+ removeAll: string;
1291
+ expandBreadcrumbs: string;
1292
+ previousMonth: string;
1293
+ currentDate: string;
1294
+ nextMonth: string;
1295
+ clear: string;
1296
+ showPassword: string;
1297
+ hidePassword: string;
1298
+ resizeColumns: string;
1299
+ };
879
1300
  select: {
880
1301
  hiddenItemsText: string;
1302
+ selectAll: string;
881
1303
  };
882
1304
  datepicker: {
883
1305
  placeholder: string;
@@ -971,6 +1393,8 @@ declare const ptBRLocaleData: {
971
1393
  customPeriodFrom: string;
972
1394
  customPeriodTo: string;
973
1395
  customPeriodErrorHint: string;
1396
+ customPeriodMinIntervalErrorHint: string;
1397
+ customPeriodMaxIntervalErrorHint: string;
974
1398
  backToPeriodSelection: string;
975
1399
  };
976
1400
  };
@@ -1061,8 +1485,23 @@ declare const ptBRLocaleData: {
1061
1485
  };
1062
1486
 
1063
1487
  declare const ruRULocaleData: {
1488
+ a11y: {
1489
+ close: string;
1490
+ save: string;
1491
+ cancel: string;
1492
+ removeAll: string;
1493
+ expandBreadcrumbs: string;
1494
+ previousMonth: string;
1495
+ currentDate: string;
1496
+ nextMonth: string;
1497
+ clear: string;
1498
+ showPassword: string;
1499
+ hidePassword: string;
1500
+ resizeColumns: string;
1501
+ };
1064
1502
  select: {
1065
1503
  hiddenItemsText: string;
1504
+ selectAll: string;
1066
1505
  };
1067
1506
  datepicker: {
1068
1507
  placeholder: string;
@@ -1157,6 +1596,8 @@ declare const ruRULocaleData: {
1157
1596
  customPeriodFrom: string;
1158
1597
  customPeriodTo: string;
1159
1598
  customPeriodErrorHint: string;
1599
+ customPeriodMinIntervalErrorHint: string;
1600
+ customPeriodMaxIntervalErrorHint: string;
1160
1601
  backToPeriodSelection: string;
1161
1602
  };
1162
1603
  };
@@ -1247,8 +1688,23 @@ declare const ruRULocaleData: {
1247
1688
  };
1248
1689
 
1249
1690
  declare const tkTMLocaleData: {
1691
+ a11y: {
1692
+ close: string;
1693
+ save: string;
1694
+ cancel: string;
1695
+ removeAll: string;
1696
+ expandBreadcrumbs: string;
1697
+ previousMonth: string;
1698
+ currentDate: string;
1699
+ nextMonth: string;
1700
+ clear: string;
1701
+ showPassword: string;
1702
+ hidePassword: string;
1703
+ resizeColumns: string;
1704
+ };
1250
1705
  select: {
1251
1706
  hiddenItemsText: string;
1707
+ selectAll: string;
1252
1708
  };
1253
1709
  datepicker: {
1254
1710
  placeholder: string;
@@ -1343,6 +1799,8 @@ declare const tkTMLocaleData: {
1343
1799
  customPeriodFrom: string;
1344
1800
  customPeriodTo: string;
1345
1801
  customPeriodErrorHint: string;
1802
+ customPeriodMinIntervalErrorHint: string;
1803
+ customPeriodMaxIntervalErrorHint: string;
1346
1804
  backToPeriodSelection: string;
1347
1805
  };
1348
1806
  };
@@ -1623,89 +2081,6 @@ declare const tkTMFormattersData: {
1623
2081
  };
1624
2082
  };
1625
2083
 
1626
- /** Locale configuration for `KbqCodeBlockModule`. */
1627
- type KbqCodeBlockLocaleConfiguration = {
1628
- softWrapOnTooltip: string;
1629
- softWrapOffTooltip: string;
1630
- downloadTooltip: string;
1631
- copiedTooltip: string;
1632
- copyTooltip: string;
1633
- viewAllText: string;
1634
- viewLessText: string;
1635
- openExternalSystemTooltip: string;
1636
- };
1637
- /**
1638
- * Locale configuration for `KbqActionsPanelModule`.
1639
- */
1640
- type KbqActionsPanelLocaleConfiguration = {
1641
- closeTooltip: string;
1642
- };
1643
- /** Options for overriding locale-based number formatting */
1644
- type KbqNumberFormatOptions = {
1645
- /** Overrides the default group separator in the formatted output */
1646
- viewGroupSeparator?: string;
1647
- };
1648
- /** Locale configuration for `KbqNumberInput`. */
1649
- type KbqNumberInputLocaleConfig = {
1650
- /** Characters recognized as group (thousands) separators. */
1651
- groupSeparator: string[];
1652
- /** Character used for the decimal separator */
1653
- fractionSeparator: string;
1654
- /** Number of digits before applying group separators */
1655
- startFormattingFrom?: number;
1656
- } & KbqNumberFormatOptions;
1657
- /** Locale configuration for `KbqClampedText` */
1658
- type KbqClampedTextLocaleConfig = {
1659
- openText: string;
1660
- closeText: string;
1661
- showMoreText: string;
1662
- moreText: string;
1663
- };
1664
- /** Locale configuration for `KbqTimeRange` */
1665
- type KbqTimeRangeLocaleConfig = {
1666
- title: {
1667
- for: string;
1668
- placeholder: string;
1669
- };
1670
- editor: {
1671
- from: string;
1672
- to: string;
1673
- apply: string;
1674
- cancel: string;
1675
- rangeLabel: string;
1676
- allTime: string;
1677
- currentQuarter: string;
1678
- currentYear: string;
1679
- /** Label for the `allTime` option in the presets list, as opposed to the trigger label in `allTime` */
1680
- allTimeOption?: string;
1681
- /** Label for the `currentQuarter` option in the presets list, as opposed to the trigger label in `currentQuarter` */
1682
- currentQuarterOption?: string;
1683
- /** Label for the `currentYear` option in the presets list, as opposed to the trigger label in `currentYear` */
1684
- currentYearOption?: string;
1685
- };
1686
- durationTemplate: {
1687
- title: FormatterDurationTemplate;
1688
- option: FormatterDurationTemplate;
1689
- };
1690
- };
1691
- interface KbqBaseFileUploadLocaleConfig {
1692
- captionText: string;
1693
- captionTextOnlyFolder: string;
1694
- captionTextWithFolder: string;
1695
- browseLink: string;
1696
- browseLinkFolder: string;
1697
- browseLinkFolderMixed?: string;
1698
- }
1699
- interface KbqMultipleFileUploadLocaleConfig extends KbqBaseFileUploadLocaleConfig {
1700
- captionTextWhenSelected: string;
1701
- captionTextForCompactSize: string;
1702
- title: string;
1703
- }
1704
- type KbqFileUploadLocaleConfig = {
1705
- single: KbqBaseFileUploadLocaleConfig;
1706
- multiple: KbqMultipleFileUploadLocaleConfig;
1707
- };
1708
-
1709
2084
  declare const KBQ_LOCALE_ID: InjectionToken<string>;
1710
2085
  declare const KBQ_DEFAULT_LOCALE_ID = "ru-RU";
1711
2086
  declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
@@ -1748,8 +2123,23 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
1748
2123
  };
1749
2124
  };
1750
2125
  };
2126
+ a11y: {
2127
+ close: string;
2128
+ save: string;
2129
+ cancel: string;
2130
+ removeAll: string;
2131
+ expandBreadcrumbs: string;
2132
+ previousMonth: string;
2133
+ currentDate: string;
2134
+ nextMonth: string;
2135
+ clear: string;
2136
+ showPassword: string;
2137
+ hidePassword: string;
2138
+ resizeColumns: string;
2139
+ };
1751
2140
  select: {
1752
2141
  hiddenItemsText: string;
2142
+ selectAll: string;
1753
2143
  };
1754
2144
  datepicker: {
1755
2145
  placeholder: string;
@@ -1844,6 +2234,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
1844
2234
  customPeriodFrom: string;
1845
2235
  customPeriodTo: string;
1846
2236
  customPeriodErrorHint: string;
2237
+ customPeriodMinIntervalErrorHint: string;
2238
+ customPeriodMaxIntervalErrorHint: string;
1847
2239
  backToPeriodSelection: string;
1848
2240
  };
1849
2241
  };
@@ -1971,8 +2363,23 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
1971
2363
  };
1972
2364
  };
1973
2365
  };
2366
+ a11y: {
2367
+ close: string;
2368
+ save: string;
2369
+ cancel: string;
2370
+ removeAll: string;
2371
+ expandBreadcrumbs: string;
2372
+ previousMonth: string;
2373
+ currentDate: string;
2374
+ nextMonth: string;
2375
+ clear: string;
2376
+ showPassword: string;
2377
+ hidePassword: string;
2378
+ resizeColumns: string;
2379
+ };
1974
2380
  select: {
1975
2381
  hiddenItemsText: string;
2382
+ selectAll: string;
1976
2383
  };
1977
2384
  datepicker: {
1978
2385
  placeholder: string;
@@ -2066,6 +2473,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2066
2473
  customPeriodFrom: string;
2067
2474
  customPeriodTo: string;
2068
2475
  customPeriodErrorHint: string;
2476
+ customPeriodMinIntervalErrorHint: string;
2477
+ customPeriodMaxIntervalErrorHint: string;
2069
2478
  backToPeriodSelection: string;
2070
2479
  };
2071
2480
  };
@@ -2189,8 +2598,23 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2189
2598
  };
2190
2599
  };
2191
2600
  };
2601
+ a11y: {
2602
+ close: string;
2603
+ save: string;
2604
+ cancel: string;
2605
+ removeAll: string;
2606
+ expandBreadcrumbs: string;
2607
+ previousMonth: string;
2608
+ currentDate: string;
2609
+ nextMonth: string;
2610
+ clear: string;
2611
+ showPassword: string;
2612
+ hidePassword: string;
2613
+ resizeColumns: string;
2614
+ };
2192
2615
  select: {
2193
2616
  hiddenItemsText: string;
2617
+ selectAll: string;
2194
2618
  };
2195
2619
  datepicker: {
2196
2620
  placeholder: string;
@@ -2284,6 +2708,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2284
2708
  customPeriodFrom: string;
2285
2709
  customPeriodTo: string;
2286
2710
  customPeriodErrorHint: string;
2711
+ customPeriodMinIntervalErrorHint: string;
2712
+ customPeriodMaxIntervalErrorHint: string;
2287
2713
  backToPeriodSelection: string;
2288
2714
  };
2289
2715
  };
@@ -2412,8 +2838,23 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2412
2838
  };
2413
2839
  };
2414
2840
  };
2841
+ a11y: {
2842
+ close: string;
2843
+ save: string;
2844
+ cancel: string;
2845
+ removeAll: string;
2846
+ expandBreadcrumbs: string;
2847
+ previousMonth: string;
2848
+ currentDate: string;
2849
+ nextMonth: string;
2850
+ clear: string;
2851
+ showPassword: string;
2852
+ hidePassword: string;
2853
+ resizeColumns: string;
2854
+ };
2415
2855
  select: {
2416
2856
  hiddenItemsText: string;
2857
+ selectAll: string;
2417
2858
  };
2418
2859
  datepicker: {
2419
2860
  placeholder: string;
@@ -2508,6 +2949,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2508
2949
  customPeriodFrom: string;
2509
2950
  customPeriodTo: string;
2510
2951
  customPeriodErrorHint: string;
2952
+ customPeriodMinIntervalErrorHint: string;
2953
+ customPeriodMaxIntervalErrorHint: string;
2511
2954
  backToPeriodSelection: string;
2512
2955
  };
2513
2956
  };
@@ -2632,8 +3075,23 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2632
3075
  };
2633
3076
  };
2634
3077
  };
3078
+ a11y: {
3079
+ close: string;
3080
+ save: string;
3081
+ cancel: string;
3082
+ removeAll: string;
3083
+ expandBreadcrumbs: string;
3084
+ previousMonth: string;
3085
+ currentDate: string;
3086
+ nextMonth: string;
3087
+ clear: string;
3088
+ showPassword: string;
3089
+ hidePassword: string;
3090
+ resizeColumns: string;
3091
+ };
2635
3092
  select: {
2636
3093
  hiddenItemsText: string;
3094
+ selectAll: string;
2637
3095
  };
2638
3096
  datepicker: {
2639
3097
  placeholder: string;
@@ -2728,6 +3186,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2728
3186
  customPeriodFrom: string;
2729
3187
  customPeriodTo: string;
2730
3188
  customPeriodErrorHint: string;
3189
+ customPeriodMinIntervalErrorHint: string;
3190
+ customPeriodMaxIntervalErrorHint: string;
2731
3191
  backToPeriodSelection: string;
2732
3192
  };
2733
3193
  };
@@ -2884,14 +3344,15 @@ declare class BaseFormatterPipe<D> {
2884
3344
  protected readonly formatter: DateFormatter<D>;
2885
3345
  }
2886
3346
  /**
2887
- * Base class for impure date-formatter pipes that recompute their result
2888
- * whenever the active locale changes via `KbqLocaleService`.
3347
+ * Base class for impure date-formatter pipes that recompute their result whenever the active locale
3348
+ * changes via `KbqLocaleService`, or the active time zone via `KbqDateTimezoneService`.
2889
3349
  *
2890
3350
  * The base class owns:
2891
- * - a subscription to `KbqLocaleService.changes` that invalidates the cache and
2892
- * marks the host for check (the same approach the built-in `AsyncPipe` uses);
2893
- * - caching by `(value, args, localeId)`, so the impure `transform()` only does
2894
- * real work when an input or the active locale actually changed.
3351
+ * - a subscription to `KbqLocaleService.changes` and an `effect` on the active time zone, each of which
3352
+ * invalidates the cache and marks the host for check (the same approach the built-in `AsyncPipe` uses);
3353
+ * - caching by `(value, args, localeId, timezone)`, so the impure `transform()` only does
3354
+ * real work when an input, the active locale or the active time zone actually changed — see
3355
+ * `shallowEqual` for how the comparison works and its limits.
2895
3356
  *
2896
3357
  * Subclasses implement `format()`, which receives the raw pipe input(s) — a
2897
3358
  * single value for absolute/relative pipes, or a `[from, to]` tuple for range
@@ -2900,12 +3361,14 @@ declare class BaseFormatterPipe<D> {
2900
3361
  *
2901
3362
  * @docs-private
2902
3363
  */
2903
- declare abstract class BaseLocaleAwareFormatterPipe<D, Value = D | string, Args extends unknown[] = unknown[]> extends BaseFormatterPipe<D> {
3364
+ declare abstract class BaseLocaleAwareFormatterPipe<D, Value = D | string | null | undefined, Args extends unknown[] = unknown[]> extends BaseFormatterPipe<D> {
2904
3365
  private readonly changeDetectorRef;
2905
3366
  private readonly localeService;
3367
+ private readonly timezoneService;
2906
3368
  private cachedValue;
2907
3369
  private cachedArgs;
2908
3370
  private cachedLocaleId;
3371
+ private cachedTimezone;
2909
3372
  private cachedResult;
2910
3373
  private hasCache;
2911
3374
  constructor();
@@ -2914,213 +3377,315 @@ declare abstract class BaseLocaleAwareFormatterPipe<D, Value = D | string, Args
2914
3377
  private argsEqual;
2915
3378
  }
2916
3379
  declare class AbsoluteDateFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2917
- transform(value: D | string, currYear?: boolean): string;
3380
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
2918
3381
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateFormatterPipe<any>, never>;
2919
3382
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateFormatterPipe<any>, "absoluteLongDate", true>;
2920
3383
  }
2921
3384
  declare class AbsoluteDateFormatterImpurePipe<D> extends AbsoluteDateFormatterPipe<D> {
2922
- transform(value: string | D, currYear?: boolean): string;
3385
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
2923
3386
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateFormatterImpurePipe<any>, never>;
2924
3387
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateFormatterImpurePipe<any>, "absoluteLongDateImpurePipe", true>;
2925
3388
  }
2926
3389
  declare class AbsoluteDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2927
- transform(value: D | string, options?: DateTimeOptions): string;
3390
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2928
3391
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateTimeFormatterPipe<any>, never>;
2929
3392
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateTimeFormatterPipe<any>, "absoluteLongDateTime", true>;
2930
3393
  }
2931
3394
  declare class AbsoluteDateTimeFormatterImpurePipe<D> extends AbsoluteDateTimeFormatterPipe<D> {
2932
- transform(value: string | D, options?: DateTimeOptions): string;
3395
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2933
3396
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateTimeFormatterImpurePipe<any>, never>;
2934
3397
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateTimeFormatterImpurePipe<any>, "absoluteLongDateTimeImpurePipe", true>;
2935
3398
  }
2936
3399
  declare class AbsoluteDateShortFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2937
- transform(value: D | string, currYear?: boolean): string;
3400
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
2938
3401
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateShortFormatterPipe<any>, never>;
2939
3402
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateShortFormatterPipe<any>, "absoluteShortDate", true>;
2940
3403
  }
2941
3404
  declare class AbsoluteDateShortFormatterImpurePipe<D> extends AbsoluteDateShortFormatterPipe<D> {
2942
- transform(value: string | D, currYear?: boolean): string;
3405
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
2943
3406
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteDateShortFormatterImpurePipe<any>, never>;
2944
3407
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteDateShortFormatterImpurePipe<any>, "absoluteShortDateImpurePipe", true>;
2945
3408
  }
2946
3409
  declare class AbsoluteShortDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2947
- transform(value: D | string, options?: DateTimeOptions): string;
3410
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2948
3411
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteShortDateTimeFormatterPipe<any>, never>;
2949
3412
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteShortDateTimeFormatterPipe<any>, "absoluteShortDateTime", true>;
2950
3413
  }
2951
3414
  declare class AbsoluteShortDateTimeFormatterImpurePipe<D> extends AbsoluteShortDateTimeFormatterPipe<D> {
2952
- transform(value: string | D, options?: DateTimeOptions): string;
3415
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2953
3416
  static ɵfac: i0.ɵɵFactoryDeclaration<AbsoluteShortDateTimeFormatterImpurePipe<any>, never>;
2954
3417
  static ɵpipe: i0.ɵɵPipeDeclaration<AbsoluteShortDateTimeFormatterImpurePipe<any>, "absoluteShortDateTimeImpurePipe", true>;
2955
3418
  }
2956
3419
  declare class RelativeDateFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2957
- transform(value: D | string): string;
3420
+ transform(value: D | string | null | undefined): string;
2958
3421
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeDateFormatterPipe<any>, never>;
2959
3422
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeDateFormatterPipe<any>, "relativeLongDate", true>;
2960
3423
  }
2961
3424
  declare class RelativeDateFormatterImpurePipe<D> extends RelativeDateFormatterPipe<D> {
2962
- transform(value: string | D): string;
3425
+ transform(value: D | string | null | undefined): string;
2963
3426
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeDateFormatterImpurePipe<any>, never>;
2964
3427
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeDateFormatterImpurePipe<any>, "relativeLongDateImpurePipe", true>;
2965
3428
  }
2966
3429
  declare class RelativeDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2967
- transform(value: D | string, options?: DateTimeOptions): string;
3430
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2968
3431
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeDateTimeFormatterPipe<any>, never>;
2969
3432
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeDateTimeFormatterPipe<any>, "relativeLongDateTime", true>;
2970
3433
  }
2971
3434
  declare class RelativeDateTimeFormatterImpurePipe<D> extends RelativeDateTimeFormatterPipe<D> {
2972
- transform(value: string | D, options?: DateTimeOptions): string;
3435
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2973
3436
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeDateTimeFormatterImpurePipe<any>, never>;
2974
3437
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeDateTimeFormatterImpurePipe<any>, "relativeLongDateTimeImpurePipe", true>;
2975
3438
  }
2976
3439
  declare class RelativeShortDateFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2977
- transform(value: D | string): string;
3440
+ transform(value: D | string | null | undefined): string;
2978
3441
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeShortDateFormatterPipe<any>, never>;
2979
3442
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeShortDateFormatterPipe<any>, "relativeShortDate", true>;
2980
3443
  }
2981
3444
  declare class RelativeShortDateFormatterImpurePipe<D> extends RelativeShortDateFormatterPipe<D> {
2982
- transform(value: string | D): string;
3445
+ transform(value: D | string | null | undefined): string;
2983
3446
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeShortDateFormatterImpurePipe<any>, never>;
2984
3447
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeShortDateFormatterImpurePipe<any>, "relativeShortDateImpurePipe", true>;
2985
3448
  }
2986
3449
  declare class RelativeShortDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2987
- transform(value: D | string, options?: DateTimeOptions): string;
3450
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2988
3451
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeShortDateTimeFormatterPipe<any>, never>;
2989
3452
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeShortDateTimeFormatterPipe<any>, "relativeShortDateTime", true>;
2990
3453
  }
2991
3454
  declare class RelativeShortDateTimeFormatterImpurePipe<D> extends RelativeShortDateTimeFormatterPipe<D> {
2992
- transform(value: string | D, options?: DateTimeOptions): string;
3455
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
2993
3456
  static ɵfac: i0.ɵɵFactoryDeclaration<RelativeShortDateTimeFormatterImpurePipe<any>, never>;
2994
3457
  static ɵpipe: i0.ɵɵPipeDeclaration<RelativeShortDateTimeFormatterImpurePipe<any>, "relativeShortDateTimeImpurePipe", true>;
2995
3458
  }
2996
3459
  declare class RangeDateFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
2997
- transform([value1, value2]: D[] | string[]): string;
3460
+ transform(value: D[] | string[] | null | undefined): string;
2998
3461
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeDateFormatterPipe<any>, never>;
2999
3462
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeDateFormatterPipe<any>, "rangeLongDate", true>;
3000
3463
  }
3001
3464
  declare class RangeDateFormatterImpurePipe<D> extends RangeDateFormatterPipe<D> {
3002
- transform([value1, value2]: D[] | string[]): string;
3465
+ transform(value: D[] | string[] | null | undefined): string;
3003
3466
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeDateFormatterImpurePipe<any>, never>;
3004
3467
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeDateFormatterImpurePipe<any>, "rangeLongDateImpurePipe", true>;
3005
3468
  }
3006
3469
  declare class RangeShortDateFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3007
- transform([value1, value2]: D[] | string[]): string;
3470
+ transform(value: D[] | string[] | null | undefined): string;
3008
3471
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeShortDateFormatterPipe<any>, never>;
3009
3472
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeShortDateFormatterPipe<any>, "rangeShortDate", true>;
3010
3473
  }
3011
3474
  declare class RangeShortDateFormatterImpurePipe<D> extends RangeShortDateFormatterPipe<D> {
3012
- transform([value1, value2]: D[] | string[]): string;
3475
+ transform(value: D[] | string[] | null | undefined): string;
3013
3476
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeShortDateFormatterImpurePipe<any>, never>;
3014
3477
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeShortDateFormatterImpurePipe<any>, "rangeShortDateImpurePipe", true>;
3015
3478
  }
3016
3479
  declare class RangeDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3017
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3480
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3018
3481
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeDateTimeFormatterPipe<any>, never>;
3019
3482
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeDateTimeFormatterPipe<any>, "rangeLongDateTime", true>;
3020
3483
  }
3021
3484
  declare class RangeDateTimeFormatterImpurePipe<D> extends RangeDateTimeFormatterPipe<D> {
3022
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3485
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3023
3486
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeDateTimeFormatterImpurePipe<any>, never>;
3024
3487
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeDateTimeFormatterImpurePipe<any>, "rangeLongDateTimeImpurePipe", true>;
3025
3488
  }
3026
3489
  declare class RangeMiddleDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3027
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3490
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3028
3491
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeMiddleDateTimeFormatterPipe<any>, never>;
3029
3492
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeMiddleDateTimeFormatterPipe<any>, "rangeMiddleDateTime", true>;
3030
3493
  }
3031
3494
  declare class RangeMiddleDateTimeFormatterImpurePipe<D> extends RangeMiddleDateTimeFormatterPipe<D> {
3032
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3495
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3033
3496
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeMiddleDateTimeFormatterImpurePipe<any>, never>;
3034
3497
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeMiddleDateTimeFormatterImpurePipe<any>, "rangeMiddleDateTimeImpurePipe", true>;
3035
3498
  }
3036
3499
  declare class RangeShortDateTimeFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3037
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3500
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3038
3501
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeShortDateTimeFormatterPipe<any>, never>;
3039
3502
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeShortDateTimeFormatterPipe<any>, "rangeShortDateTime", true>;
3040
3503
  }
3041
3504
  declare class RangeShortDateTimeFormatterImpurePipe<D> extends RangeShortDateTimeFormatterPipe<D> {
3042
- transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3505
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3043
3506
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeShortDateTimeFormatterImpurePipe<any>, never>;
3044
3507
  static ɵpipe: i0.ɵɵPipeDeclaration<RangeShortDateTimeFormatterImpurePipe<any>, "rangeShortDateTimeImpurePipe", true>;
3045
3508
  }
3046
- declare class KbqAbsoluteLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [currYear?: boolean]> implements PipeTransform {
3047
- transform(value: D | string, currYear?: boolean): string;
3048
- protected format(value: D | string, currYear?: boolean): string;
3509
+ declare class DurationShortestFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3510
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3511
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationShortestFormatterPipe<any>, never>;
3512
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationShortestFormatterPipe<any>, "durationShortest", true>;
3513
+ }
3514
+ declare class DurationShortestFormatterImpurePipe<D> extends DurationShortestFormatterPipe<D> {
3515
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3516
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationShortestFormatterImpurePipe<any>, never>;
3517
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationShortestFormatterImpurePipe<any>, "durationShortestImpurePipe", true>;
3518
+ }
3519
+ declare class DurationLongFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3520
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3521
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationLongFormatterPipe<any>, never>;
3522
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationLongFormatterPipe<any>, "durationLong", true>;
3523
+ }
3524
+ declare class DurationLongFormatterImpurePipe<D> extends DurationLongFormatterPipe<D> {
3525
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3526
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationLongFormatterImpurePipe<any>, never>;
3527
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationLongFormatterImpurePipe<any>, "durationLongImpurePipe", true>;
3528
+ }
3529
+ declare class DurationShortFormatterPipe<D> extends BaseFormatterPipe<D> implements PipeTransform {
3530
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3531
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationShortFormatterPipe<any>, never>;
3532
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationShortFormatterPipe<any>, "durationShort", true>;
3533
+ }
3534
+ declare class DurationShortFormatterImpurePipe<D> extends DurationShortFormatterPipe<D> {
3535
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3536
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationShortFormatterImpurePipe<any>, never>;
3537
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationShortFormatterImpurePipe<any>, "durationShortImpurePipe", true>;
3538
+ }
3539
+ declare class KbqAbsoluteLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [currYear?: boolean]> implements PipeTransform {
3540
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
3541
+ protected format(value: D | string | null | undefined, currYear?: boolean): string;
3049
3542
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbsoluteLongDatePipe<any>, never>;
3050
3543
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqAbsoluteLongDatePipe<any>, "kbqAbsoluteLongDate", true>;
3051
3544
  }
3052
- declare class KbqAbsoluteShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [currYear?: boolean]> implements PipeTransform {
3053
- transform(value: D | string, currYear?: boolean): string;
3054
- protected format(value: D | string, currYear?: boolean): string;
3545
+ declare class KbqAbsoluteShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [currYear?: boolean]> implements PipeTransform {
3546
+ transform(value: D | string | null | undefined, currYear?: boolean): string;
3547
+ protected format(value: D | string | null | undefined, currYear?: boolean): string;
3055
3548
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbsoluteShortDatePipe<any>, never>;
3056
3549
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqAbsoluteShortDatePipe<any>, "kbqAbsoluteShortDate", true>;
3057
3550
  }
3058
- declare class KbqAbsoluteLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [options?: DateTimeOptions]> implements PipeTransform {
3059
- transform(value: D | string, options?: DateTimeOptions): string;
3060
- protected format(value: D | string, options?: DateTimeOptions): string;
3551
+ declare class KbqAbsoluteLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3552
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
3553
+ protected format(value: D | string | null | undefined, options?: DateTimeOptions): string;
3061
3554
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbsoluteLongDateTimePipe<any>, never>;
3062
3555
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqAbsoluteLongDateTimePipe<any>, "kbqAbsoluteLongDateTime", true>;
3063
3556
  }
3064
- declare class KbqAbsoluteShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [options?: DateTimeOptions]> implements PipeTransform {
3065
- transform(value: D | string, options?: DateTimeOptions): string;
3066
- protected format(value: D | string, options?: DateTimeOptions): string;
3557
+ declare class KbqAbsoluteShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3558
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
3559
+ protected format(value: D | string | null | undefined, options?: DateTimeOptions): string;
3067
3560
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbsoluteShortDateTimePipe<any>, never>;
3068
3561
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqAbsoluteShortDateTimePipe<any>, "kbqAbsoluteShortDateTime", true>;
3069
3562
  }
3070
- declare class KbqRelativeLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, []> implements PipeTransform {
3071
- transform(value: D | string): string;
3072
- protected format(value: D | string): string;
3563
+ declare class KbqRelativeLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, []> implements PipeTransform {
3564
+ transform(value: D | string | null | undefined): string;
3565
+ protected format(value: D | string | null | undefined): string;
3073
3566
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRelativeLongDatePipe<any>, never>;
3074
3567
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRelativeLongDatePipe<any>, "kbqRelativeLongDate", true>;
3075
3568
  }
3076
- declare class KbqRelativeShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, []> implements PipeTransform {
3077
- transform(value: D | string): string;
3078
- protected format(value: D | string): string;
3569
+ declare class KbqRelativeShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, []> implements PipeTransform {
3570
+ transform(value: D | string | null | undefined): string;
3571
+ protected format(value: D | string | null | undefined): string;
3079
3572
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRelativeShortDatePipe<any>, never>;
3080
3573
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRelativeShortDatePipe<any>, "kbqRelativeShortDate", true>;
3081
3574
  }
3082
- declare class KbqRelativeLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [options?: DateTimeOptions]> implements PipeTransform {
3083
- transform(value: D | string, options?: DateTimeOptions): string;
3084
- protected format(value: D | string, options?: DateTimeOptions): string;
3575
+ declare class KbqRelativeLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3576
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
3577
+ protected format(value: D | string | null | undefined, options?: DateTimeOptions): string;
3085
3578
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRelativeLongDateTimePipe<any>, never>;
3086
3579
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRelativeLongDateTimePipe<any>, "kbqRelativeLongDateTime", true>;
3087
3580
  }
3088
- declare class KbqRelativeShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string, [options?: DateTimeOptions]> implements PipeTransform {
3089
- transform(value: D | string, options?: DateTimeOptions): string;
3090
- protected format(value: D | string, options?: DateTimeOptions): string;
3581
+ declare class KbqRelativeShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D | string | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3582
+ transform(value: D | string | null | undefined, options?: DateTimeOptions): string;
3583
+ protected format(value: D | string | null | undefined, options?: DateTimeOptions): string;
3091
3584
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRelativeShortDateTimePipe<any>, never>;
3092
3585
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRelativeShortDateTimePipe<any>, "kbqRelativeShortDateTime", true>;
3093
3586
  }
3094
- declare class KbqRangeLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[], []> implements PipeTransform {
3095
- transform(value: D[] | string[]): string;
3096
- protected format([value1, value2]: D[] | string[]): string;
3587
+ declare class KbqRangeLongDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, []> implements PipeTransform {
3588
+ transform(value: D[] | string[] | null | undefined): string;
3589
+ protected format(value: D[] | string[] | null | undefined): string;
3097
3590
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRangeLongDatePipe<any>, never>;
3098
3591
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRangeLongDatePipe<any>, "kbqRangeLongDate", true>;
3099
3592
  }
3100
- declare class KbqRangeShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[], []> implements PipeTransform {
3101
- transform(value: D[] | string[]): string;
3102
- protected format([value1, value2]: D[] | string[]): string;
3593
+ declare class KbqRangeShortDatePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, []> implements PipeTransform {
3594
+ transform(value: D[] | string[] | null | undefined): string;
3595
+ protected format(value: D[] | string[] | null | undefined): string;
3103
3596
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRangeShortDatePipe<any>, never>;
3104
3597
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRangeShortDatePipe<any>, "kbqRangeShortDate", true>;
3105
3598
  }
3106
- declare class KbqRangeLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[], [options?: DateTimeOptions]> implements PipeTransform {
3107
- transform(value: D[] | string[], options?: DateTimeOptions): string;
3108
- protected format([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3599
+ declare class KbqRangeLongDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3600
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3601
+ protected format(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3109
3602
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRangeLongDateTimePipe<any>, never>;
3110
3603
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRangeLongDateTimePipe<any>, "kbqRangeLongDateTime", true>;
3111
3604
  }
3112
- declare class KbqRangeMiddleDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[], [options?: DateTimeOptions]> implements PipeTransform {
3113
- transform(value: D[] | string[], options?: DateTimeOptions): string;
3114
- protected format([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3605
+ declare class KbqRangeMiddleDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3606
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3607
+ protected format(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3115
3608
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRangeMiddleDateTimePipe<any>, never>;
3116
3609
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRangeMiddleDateTimePipe<any>, "kbqRangeMiddleDateTime", true>;
3117
3610
  }
3118
- declare class KbqRangeShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[], [options?: DateTimeOptions]> implements PipeTransform {
3119
- transform(value: D[] | string[], options?: DateTimeOptions): string;
3120
- protected format([value1, value2]: D[] | string[], options?: DateTimeOptions): string;
3611
+ declare class KbqRangeShortDateTimePipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3612
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3613
+ protected format(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3121
3614
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRangeShortDateTimePipe<any>, never>;
3122
3615
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqRangeShortDateTimePipe<any>, "kbqRangeShortDateTime", true>;
3123
3616
  }
3617
+ /**
3618
+ * Formats the duration between two dates as a digital-clock value, e.g. `48:02:25`.
3619
+ *
3620
+ * Takes a `[from, to]` tuple, like the range pipes. `options.seconds` defaults to `true` and
3621
+ * `options.milliseconds` to `false`; `options.currYear` is not used by this format.
3622
+ *
3623
+ * Renders an empty string when the tuple itself or one of its bounds is missing or invalid, or when
3624
+ * `from` is later than `to`.
3625
+ *
3626
+ * @example
3627
+ * ```html
3628
+ * {{ [startedAt, finishedAt] | kbqDurationShortest }}
3629
+ * {{ [startedAt, finishedAt] | kbqDurationShortest: { seconds: false } }}
3630
+ * ```
3631
+ */
3632
+ declare class KbqDurationShortestPipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [options?: DateTimeOptions]> implements PipeTransform {
3633
+ transform(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3634
+ protected format(value: D[] | string[] | null | undefined, options?: DateTimeOptions): string;
3635
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqDurationShortestPipe<any>, never>;
3636
+ static ɵpipe: i0.ɵɵPipeDeclaration<KbqDurationShortestPipe<any>, "kbqDurationShortest", true>;
3637
+ }
3638
+ /**
3639
+ * Formats the duration between two dates in the long text format, e.g. `2 дня и 4 часа`.
3640
+ *
3641
+ * Takes a `[from, to]` tuple, like the range pipes. `units` restricts the units to show (the
3642
+ * formatter picks them automatically when omitted), `fraction` adds a fractional part for years
3643
+ * and months.
3644
+ *
3645
+ * Renders an empty string when the tuple itself or one of its bounds is missing or invalid, or when
3646
+ * `from` is later than `to`.
3647
+ *
3648
+ * @example
3649
+ * ```html
3650
+ * {{ [startedAt, finishedAt] | kbqDurationLong }}
3651
+ * {{ [startedAt, finishedAt] | kbqDurationLong: ['hours', 'minutes'] }}
3652
+ * {{ [startedAt, finishedAt] | kbqDurationLong: ['years'] : true }}
3653
+ * ```
3654
+ */
3655
+ declare class KbqDurationLongPipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [
3656
+ units?: DurationUnit[],
3657
+ fraction?: boolean
3658
+ ]> implements PipeTransform {
3659
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3660
+ protected format(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3661
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqDurationLongPipe<any>, never>;
3662
+ static ɵpipe: i0.ɵɵPipeDeclaration<KbqDurationLongPipe<any>, "kbqDurationLong", true>;
3663
+ }
3664
+ /**
3665
+ * Formats the duration between two dates in the short text format, e.g. `2 д 4 ч`.
3666
+ *
3667
+ * Takes a `[from, to]` tuple, like the range pipes. `units` restricts the units to show (the
3668
+ * formatter picks them automatically when omitted), `fraction` adds a fractional part for years
3669
+ * and months.
3670
+ *
3671
+ * Renders an empty string when the tuple itself or one of its bounds is missing or invalid, or when
3672
+ * `from` is later than `to`.
3673
+ *
3674
+ * @example
3675
+ * ```html
3676
+ * {{ [startedAt, finishedAt] | kbqDurationShort }}
3677
+ * {{ [startedAt, finishedAt] | kbqDurationShort: ['seconds', 'milliseconds'] }}
3678
+ * ```
3679
+ */
3680
+ declare class KbqDurationShortPipe<D> extends BaseLocaleAwareFormatterPipe<D, D[] | string[] | null | undefined, [
3681
+ units?: DurationUnit[],
3682
+ fraction?: boolean
3683
+ ]> implements PipeTransform {
3684
+ transform(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3685
+ protected format(value: D[] | string[] | null | undefined, units?: DurationUnit[], fraction?: boolean): string;
3686
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqDurationShortPipe<any>, never>;
3687
+ static ɵpipe: i0.ɵɵPipeDeclaration<KbqDurationShortPipe<any>, "kbqDurationShort", true>;
3688
+ }
3124
3689
 
3125
3690
  /**
3126
3691
  * Available unit systems for file size formatting.
@@ -3195,17 +3760,13 @@ interface KbqNumericPipe {
3195
3760
  transform(value: unknown, digitsInfo?: string, locale?: string): string | null;
3196
3761
  }
3197
3762
  declare const NUMBER_FORMAT_REGEXP: RegExp;
3198
- interface RoundDecimalOptions {
3199
- separator: string;
3200
- groupSeparator: string;
3201
- thousands?: string;
3763
+ type RoundDecimalOptions = KbqNumberRoundingLocaleConfig & {
3764
+ /** Label for the ten-thousand unit. */
3202
3765
  tenThousand?: string;
3203
- million?: string;
3766
+ /** Label for the one-hundred-millions unit. */
3204
3767
  oneHundredMillions?: string;
3205
- billion?: string;
3206
- trillion: string;
3207
3768
  rtl?: boolean;
3208
- }
3769
+ };
3209
3770
  declare class ParsedDigitsInfo {
3210
3771
  useGrouping: boolean;
3211
3772
  minimumIntegerDigits: number;
@@ -3310,7 +3871,7 @@ declare const getHumanizedBytes: (value: number, system: KbqUnitSystem, threshol
3310
3871
 
3311
3872
  declare class KbqFormattersModule {
3312
3873
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqFormattersModule, never>;
3313
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqFormattersModule, never, [typeof AbsoluteDateFormatterPipe, typeof AbsoluteDateTimeFormatterPipe, typeof AbsoluteDateShortFormatterPipe, typeof AbsoluteShortDateTimeFormatterPipe, typeof RelativeDateFormatterPipe, typeof RelativeDateTimeFormatterPipe, typeof RelativeShortDateFormatterPipe, typeof RelativeShortDateTimeFormatterPipe, typeof RangeDateFormatterPipe, typeof RangeShortDateFormatterPipe, typeof RangeDateTimeFormatterPipe, typeof RangeShortDateTimeFormatterPipe, typeof RangeMiddleDateTimeFormatterPipe, typeof AbsoluteDateFormatterImpurePipe, typeof AbsoluteDateTimeFormatterImpurePipe, typeof AbsoluteDateShortFormatterImpurePipe, typeof AbsoluteShortDateTimeFormatterImpurePipe, typeof RelativeDateFormatterImpurePipe, typeof RelativeDateTimeFormatterImpurePipe, typeof RelativeShortDateFormatterImpurePipe, typeof RelativeShortDateTimeFormatterImpurePipe, typeof RangeDateFormatterImpurePipe, typeof RangeShortDateFormatterImpurePipe, typeof RangeDateTimeFormatterImpurePipe, typeof RangeShortDateTimeFormatterImpurePipe, typeof RangeMiddleDateTimeFormatterImpurePipe, typeof KbqAbsoluteLongDatePipe, typeof KbqAbsoluteLongDateTimePipe, typeof KbqAbsoluteShortDatePipe, typeof KbqAbsoluteShortDateTimePipe, typeof KbqRelativeLongDatePipe, typeof KbqRelativeLongDateTimePipe, typeof KbqRelativeShortDatePipe, typeof KbqRelativeShortDateTimePipe, typeof KbqRangeLongDatePipe, typeof KbqRangeLongDateTimePipe, typeof KbqRangeMiddleDateTimePipe, typeof KbqRangeShortDatePipe, typeof KbqRangeShortDateTimePipe, typeof KbqDataSizePipe, typeof KbqDecimalPipe, typeof KbqRoundDecimalPipe, typeof KbqTableNumberPipe], [typeof KbqDecimalPipe, typeof KbqRoundDecimalPipe, typeof KbqTableNumberPipe, typeof AbsoluteDateFormatterPipe, typeof AbsoluteDateTimeFormatterPipe, typeof AbsoluteDateShortFormatterPipe, typeof AbsoluteShortDateTimeFormatterPipe, typeof RelativeDateFormatterPipe, typeof RelativeDateTimeFormatterPipe, typeof RelativeShortDateFormatterPipe, typeof RelativeShortDateTimeFormatterPipe, typeof RangeDateFormatterPipe, typeof RangeShortDateFormatterPipe, typeof RangeDateTimeFormatterPipe, typeof RangeShortDateTimeFormatterPipe, typeof RangeMiddleDateTimeFormatterPipe, typeof AbsoluteDateFormatterImpurePipe, typeof AbsoluteDateTimeFormatterImpurePipe, typeof AbsoluteDateShortFormatterImpurePipe, typeof AbsoluteShortDateTimeFormatterImpurePipe, typeof RelativeDateFormatterImpurePipe, typeof RelativeDateTimeFormatterImpurePipe, typeof RelativeShortDateFormatterImpurePipe, typeof RelativeShortDateTimeFormatterImpurePipe, typeof RangeDateFormatterImpurePipe, typeof RangeShortDateFormatterImpurePipe, typeof RangeDateTimeFormatterImpurePipe, typeof RangeShortDateTimeFormatterImpurePipe, typeof RangeMiddleDateTimeFormatterImpurePipe, typeof KbqAbsoluteLongDatePipe, typeof KbqAbsoluteLongDateTimePipe, typeof KbqAbsoluteShortDatePipe, typeof KbqAbsoluteShortDateTimePipe, typeof KbqRelativeLongDatePipe, typeof KbqRelativeLongDateTimePipe, typeof KbqRelativeShortDatePipe, typeof KbqRelativeShortDateTimePipe, typeof KbqRangeLongDatePipe, typeof KbqRangeLongDateTimePipe, typeof KbqRangeMiddleDateTimePipe, typeof KbqRangeShortDatePipe, typeof KbqRangeShortDateTimePipe, typeof KbqDataSizePipe]>;
3874
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqFormattersModule, never, [typeof AbsoluteDateFormatterPipe, typeof AbsoluteDateTimeFormatterPipe, typeof AbsoluteDateShortFormatterPipe, typeof AbsoluteShortDateTimeFormatterPipe, typeof RelativeDateFormatterPipe, typeof RelativeDateTimeFormatterPipe, typeof RelativeShortDateFormatterPipe, typeof RelativeShortDateTimeFormatterPipe, typeof RangeDateFormatterPipe, typeof RangeShortDateFormatterPipe, typeof RangeDateTimeFormatterPipe, typeof RangeShortDateTimeFormatterPipe, typeof RangeMiddleDateTimeFormatterPipe, typeof DurationShortestFormatterPipe, typeof DurationLongFormatterPipe, typeof DurationShortFormatterPipe, typeof AbsoluteDateFormatterImpurePipe, typeof AbsoluteDateTimeFormatterImpurePipe, typeof AbsoluteDateShortFormatterImpurePipe, typeof AbsoluteShortDateTimeFormatterImpurePipe, typeof RelativeDateFormatterImpurePipe, typeof RelativeDateTimeFormatterImpurePipe, typeof RelativeShortDateFormatterImpurePipe, typeof RelativeShortDateTimeFormatterImpurePipe, typeof RangeDateFormatterImpurePipe, typeof RangeShortDateFormatterImpurePipe, typeof RangeDateTimeFormatterImpurePipe, typeof RangeShortDateTimeFormatterImpurePipe, typeof RangeMiddleDateTimeFormatterImpurePipe, typeof DurationShortestFormatterImpurePipe, typeof DurationLongFormatterImpurePipe, typeof DurationShortFormatterImpurePipe, typeof KbqAbsoluteLongDatePipe, typeof KbqAbsoluteLongDateTimePipe, typeof KbqAbsoluteShortDatePipe, typeof KbqAbsoluteShortDateTimePipe, typeof KbqRelativeLongDatePipe, typeof KbqRelativeLongDateTimePipe, typeof KbqRelativeShortDatePipe, typeof KbqRelativeShortDateTimePipe, typeof KbqRangeLongDatePipe, typeof KbqRangeLongDateTimePipe, typeof KbqRangeMiddleDateTimePipe, typeof KbqRangeShortDatePipe, typeof KbqRangeShortDateTimePipe, typeof KbqDurationShortestPipe, typeof KbqDurationLongPipe, typeof KbqDurationShortPipe, typeof KbqDataSizePipe, typeof KbqDecimalPipe, typeof KbqRoundDecimalPipe, typeof KbqTableNumberPipe], [typeof KbqDecimalPipe, typeof KbqRoundDecimalPipe, typeof KbqTableNumberPipe, typeof AbsoluteDateFormatterPipe, typeof AbsoluteDateTimeFormatterPipe, typeof AbsoluteDateShortFormatterPipe, typeof AbsoluteShortDateTimeFormatterPipe, typeof RelativeDateFormatterPipe, typeof RelativeDateTimeFormatterPipe, typeof RelativeShortDateFormatterPipe, typeof RelativeShortDateTimeFormatterPipe, typeof RangeDateFormatterPipe, typeof RangeShortDateFormatterPipe, typeof RangeDateTimeFormatterPipe, typeof RangeShortDateTimeFormatterPipe, typeof RangeMiddleDateTimeFormatterPipe, typeof DurationShortestFormatterPipe, typeof DurationLongFormatterPipe, typeof DurationShortFormatterPipe, typeof AbsoluteDateFormatterImpurePipe, typeof AbsoluteDateTimeFormatterImpurePipe, typeof AbsoluteDateShortFormatterImpurePipe, typeof AbsoluteShortDateTimeFormatterImpurePipe, typeof RelativeDateFormatterImpurePipe, typeof RelativeDateTimeFormatterImpurePipe, typeof RelativeShortDateFormatterImpurePipe, typeof RelativeShortDateTimeFormatterImpurePipe, typeof RangeDateFormatterImpurePipe, typeof RangeShortDateFormatterImpurePipe, typeof RangeDateTimeFormatterImpurePipe, typeof RangeShortDateTimeFormatterImpurePipe, typeof RangeMiddleDateTimeFormatterImpurePipe, typeof DurationShortestFormatterImpurePipe, typeof DurationLongFormatterImpurePipe, typeof DurationShortFormatterImpurePipe, typeof KbqAbsoluteLongDatePipe, typeof KbqAbsoluteLongDateTimePipe, typeof KbqAbsoluteShortDatePipe, typeof KbqAbsoluteShortDateTimePipe, typeof KbqRelativeLongDatePipe, typeof KbqRelativeLongDateTimePipe, typeof KbqRelativeShortDatePipe, typeof KbqRelativeShortDateTimePipe, typeof KbqRangeLongDatePipe, typeof KbqRangeLongDateTimePipe, typeof KbqRangeMiddleDateTimePipe, typeof KbqRangeShortDatePipe, typeof KbqRangeShortDateTimePipe, typeof KbqDurationShortestPipe, typeof KbqDurationLongPipe, typeof KbqDurationShortPipe, typeof KbqDataSizePipe]>;
3314
3875
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqFormattersModule>;
3315
3876
  }
3316
3877
 
@@ -3463,7 +4024,7 @@ type KbqFileTypeSpecifier = Parameters<typeof FileValidators.isCorrectExtension>
3463
4024
  /** @docs-private */
3464
4025
  declare const kbqHighlightMark: (text: string) => string;
3465
4026
  declare class KbqHighlightPipe implements PipeTransform {
3466
- transform(value: unknown, keyword: unknown): string;
4027
+ transform(value: unknown, keyword: unknown, foldDiacritics?: boolean): string;
3467
4028
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqHighlightPipe, never>;
3468
4029
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqHighlightPipe, "mcHighlight", true>;
3469
4030
  }
@@ -3471,7 +4032,7 @@ declare class KbqHighlightPipe implements PipeTransform {
3471
4032
  /** @docs-private */
3472
4033
  declare const kbqHighlightBackgroundMark: (text: string) => string;
3473
4034
  declare class KbqHighlightBackgroundPipe implements PipeTransform {
3474
- transform(value: unknown, keyword: unknown): string;
4035
+ transform(value: unknown, keyword: unknown, foldDiacritics?: boolean): string;
3475
4036
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqHighlightBackgroundPipe, never>;
3476
4037
  static ɵpipe: i0.ɵɵPipeDeclaration<KbqHighlightBackgroundPipe, "kbqHighlightBackground", true>;
3477
4038
  }
@@ -3650,6 +4211,14 @@ declare class KbqRectangleItem {
3650
4211
  get collapsed(): boolean;
3651
4212
  set collapsed(value: boolean);
3652
4213
  private _collapsed;
4214
+ /**
4215
+ * Outer width of the item: its border box plus horizontal margins.
4216
+ *
4217
+ * `getComputedStyle().width` resolves to the used content-box width whatever `box-sizing` says,
4218
+ * so it silently drops padding and borders on the `border-box` elements this measures, and the
4219
+ * result would change again under a consuming application's global reset.
4220
+ * `getBoundingClientRect()` is always the border box, which makes it host-independent.
4221
+ */
3653
4222
  getOuterElementWidth(): number;
3654
4223
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqRectangleItem, never>;
3655
4224
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqRectangleItem, never, never, {}, {}, never, never, true, never>;
@@ -3690,6 +4259,15 @@ declare class KbqOptionActionComponent implements AfterViewInit, OnDestroy {
3690
4259
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqOptionActionComponent, "kbq-option-action", ["kbqOptionAction"], { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["[kbq-icon]"], true, never>;
3691
4260
  static ngAcceptInputType_disabled: unknown;
3692
4261
  }
4262
+ /**
4263
+ * Moves focus from an option to its trailing action button on Tab.
4264
+ *
4265
+ * Shared by `KbqListOption` and `KbqTreeOption` so the two cannot drift apart. Tab is swallowed only
4266
+ * when focus actually landed: the action lives in a `display: none` container until the option is
4267
+ * hovered or keyboard-focused, and focusing a hidden element is a no-op, so suppressing Tab there
4268
+ * would trap focus on the option.
4269
+ */
4270
+ declare function kbqFocusOptionActionOnTab($event: KeyboardEvent, actionButton: KbqOptionActionComponent | undefined): void;
3693
4271
 
3694
4272
  declare class KbqActionContainer {
3695
4273
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqActionContainer, never>;
@@ -3818,19 +4396,18 @@ declare class KbqOption extends KbqOptionBase implements AfterViewChecked, OnDes
3818
4396
  private _active;
3819
4397
  private mostRecentViewValue;
3820
4398
  /**
3821
- * Flag that indicates whether the component is currently focused by a mouse interaction.
3822
- *
3823
- * When set to `true`, the component has focus resulting from a mouse click or
3824
- * other pointer event. It is automatically cleared when the component loses
3825
- * focus or if focus is obtained through keyboard navigation or programmatic means.
4399
+ * Whether the pointer is currently over this option. Cleared on `mouseleave` rather than when the
4400
+ * option is focused: hovering the option that is already active does not move the key manager's
4401
+ * index, so no focus follows and a flag cleared only there would stay armed indefinitely.
3826
4402
  */
3827
- private isFocusedByMouse;
4403
+ private hoveredByPointer;
3828
4404
  ngAfterViewChecked(): void;
3829
4405
  ngOnDestroy(): void;
3830
4406
  /** @docs-private */
3831
4407
  getHeight(): number;
3832
4408
  select(emitEvent?: boolean): void;
3833
4409
  deselect(emitEvent?: boolean): void;
4410
+ /** Moves keyboard focus to this option and reveals it — see {@link kbqFocusAndReveal}. */
3834
4411
  focus(): void;
3835
4412
  /**
3836
4413
  * This method sets display styles on the option to make it appear
@@ -3859,6 +4436,8 @@ declare class KbqOption extends KbqOptionBase implements AfterViewChecked, OnDes
3859
4436
  getHostElement(): HTMLElement;
3860
4437
  /** @docs-private */
3861
4438
  protected onMouseenter(): void;
4439
+ /** @docs-private */
4440
+ protected onMouseleave(): void;
3862
4441
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOption, never>;
3863
4442
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqOption, "kbq-option", ["kbqOption"], { "value": { "alias": "value"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "userSelect": { "alias": "userSelect"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "viewValue": { "alias": "viewValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["kbq-pseudo-checkbox", "*"], true, never>;
3864
4443
  }
@@ -3877,6 +4456,9 @@ declare function countGroupLabelsBeforeOption(optionIndex: number, options: Quer
3877
4456
  * @param currentScrollPosition Current scroll position of the panel.
3878
4457
  * @param panelHeight Height of the panel.
3879
4458
  * @docs-private
4459
+ * @deprecated Unused — an option reveals itself on focus through `KbqOption.focus`, which lets the
4460
+ * browser resolve the scroll container instead of computing an offset from a uniform row height. Will be
4461
+ * removed in the next major release.
3880
4462
  */
3881
4463
  declare function getOptionScrollPosition(optionIndex: number, optionHeight: number, currentScrollPosition: number, panelHeight: number): number;
3882
4464
 
@@ -4005,6 +4587,78 @@ declare class KbqOverflowShadowBottom {
4005
4587
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowShadowBottom, "[kbqOverflowShadowBottom]", ["kbqOverflowShadowBottom"], { "ref": { "alias": "kbqOverflowShadowBottom"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4006
4588
  }
4007
4589
 
4590
+ /** Configuration options for `KbqAutoHideScrollStrategy`. */
4591
+ interface KbqAutoHideScrollStrategyConfig {
4592
+ /**
4593
+ * Element whose position is tracked against ancestor scroll container boundaries.
4594
+ * When omitted, the overlay panel is checked against the viewport instead.
4595
+ */
4596
+ originElement?: HTMLElement;
4597
+ /** Scroll event throttle in ms. Defaults to 20. */
4598
+ scrollThrottle?: number;
4599
+ }
4600
+ /** Lifecycle hooks for `KbqAutoHideScrollStrategy`, passed via `kbqAutoHideScrollStrategyFactory`. */
4601
+ interface KbqAutoHideScrollStrategyHooks {
4602
+ /** Called (inside Angular zone) when the tracked element scrolls outside its scroll container boundary. */
4603
+ onHide?: () => void;
4604
+ }
4605
+ /**
4606
+ * Scroll strategy that repositions the overlay on scroll and reports when the tracked element
4607
+ * moves outside its boundary:
4608
+ *
4609
+ * - With `originElement`: tracks the origin against each ancestor `CdkScrollable` container.
4610
+ * - Without `originElement`: tracks the overlay panel against the viewport.
4611
+ *
4612
+ * Two ways to react to the out-of-bounds event, usable independently or together:
4613
+ * - Subscribe to `hide` — a handle for callers that don't control how this strategy is
4614
+ * constructed (e.g. reaching into an existing component's `overlayRef.getConfig().scrollStrategy`
4615
+ * from the outside).
4616
+ * - Pass `onHide` via the factory returned by `kbqAutoHideScrollStrategyFactory` — for callers
4617
+ * that construct the strategy themselves.
4618
+ */
4619
+ declare class KbqAutoHideScrollStrategy implements ScrollStrategy {
4620
+ private readonly scrollDispatcher;
4621
+ private readonly viewportRuler;
4622
+ private readonly ngZone;
4623
+ private readonly config;
4624
+ private hooks?;
4625
+ private readonly hideSubject;
4626
+ /** Emits once when the tracked element scrolls outside its boundary. */
4627
+ readonly hide: Observable<void>;
4628
+ private overlayRef;
4629
+ private scrollSubscription;
4630
+ private originElement;
4631
+ private ancestorScrollContainers;
4632
+ constructor(scrollDispatcher: ScrollDispatcher, viewportRuler: ViewportRuler, ngZone: NgZone, config?: KbqAutoHideScrollStrategyConfig, hooks?: KbqAutoHideScrollStrategyHooks | undefined);
4633
+ /** @docs-private */
4634
+ attach(overlayRef: OverlayRef): void;
4635
+ /** Subscribes to scroll events and starts repositioning / out-of-bounds detection. */
4636
+ enable(): void;
4637
+ /** Unsubscribes from scroll events. */
4638
+ disable(): void;
4639
+ /** Disables the strategy and completes `hide`. */
4640
+ detach(): void;
4641
+ private resolveOriginElement;
4642
+ private isOriginOutsideAncestors;
4643
+ private isOverlayOutsideViewport;
4644
+ private isOutsideBounds;
4645
+ private coerceOriginElement;
4646
+ }
4647
+ /**
4648
+ * Factory function for `KbqAutoHideScrollStrategy`. Use it directly as a `useFactory` value
4649
+ * when providing a component-level scroll strategy token (e.g. `KBQ_POPOVER_SCROLL_STRATEGY`).
4650
+ *
4651
+ * The returned function accepts an optional `hooks` object (see `KbqAutoHideScrollStrategyHooks`)
4652
+ * and an optional `config` (see `KbqAutoHideScrollStrategyConfig`).
4653
+ *
4654
+ * @example
4655
+ * ```ts
4656
+ * const createScrollStrategy = kbqAutoHideScrollStrategyFactory(scrollDispatcher, viewportRuler, ngZone);
4657
+ * const strategy = createScrollStrategy({ onHide: () => this.hide() }, { originElement });
4658
+ * ```
4659
+ */
4660
+ declare function kbqAutoHideScrollStrategyFactory(scrollDispatcher: ScrollDispatcher, viewportRuler: ViewportRuler, ngZone: NgZone): (hooks?: KbqAutoHideScrollStrategyHooks, config?: KbqAutoHideScrollStrategyConfig) => KbqAutoHideScrollStrategy;
4661
+
4008
4662
  declare const POSITION_MAP: {
4009
4663
  [key: string]: ConnectionPositionPair;
4010
4664
  };
@@ -4044,6 +4698,123 @@ declare const KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER: <T>(token: InjectionToken<T>,
4044
4698
  useFactory: (overlay: Overlay) => () => ScrollStrategy;
4045
4699
  };
4046
4700
 
4701
+ /**
4702
+ * Maximum height of an overlay panel's scrollable content, in pixels. `null` falls back to the
4703
+ * `--kbq-select-panel-size-max-height` design token.
4704
+ *
4705
+ * The cap covers the scrollable list only — a search field or a footer rendered beside it adds to the
4706
+ * panel's total height. With a `cdk-virtual-scroll-viewport` the value is an exact height rather than a
4707
+ * cap, because the viewport pins both its `min-height` and its `max-height` to the token.
4708
+ */
4709
+ type KbqPanelMaxHeight = number | null;
4710
+ /**
4711
+ * Renders `panelMaxHeight` as a CSS length for the `--kbq-select-panel-size-max-height` token.
4712
+ *
4713
+ * A non-finite value yields `null` so that Angular removes the inline custom property and the stylesheet
4714
+ * default applies again. A negative value is clamped to `0` because `max-height` rejects negative lengths
4715
+ * at computed-value time, which would drop the declaration and leave the list unbounded rather than at
4716
+ * its default height.
4717
+ * @docs-private
4718
+ */
4719
+ declare function kbqResolvePanelMaxHeightToken(panelMaxHeight: KbqPanelMaxHeight | undefined): string | null;
4720
+
4721
+ /**
4722
+ * Default minimum width of an overlay panel, in pixels.
4723
+ *
4724
+ * Kept in sync by hand with `--kbq-dropdown-size-container-width-min` in `dropdown-tokens.scss`,
4725
+ * which expresses the same default for the dropdown's CSS-driven sizing.
4726
+ */
4727
+ declare const KBQ_PANEL_DEFAULT_MIN_WIDTH = 200;
4728
+ /**
4729
+ * Width of an overlay panel.
4730
+ *
4731
+ * - `'auto'` — matches the trigger width, but never narrower than `panelMinWidth`.
4732
+ * - `number` — an explicit width in pixels. `panelMinWidth` is not applied.
4733
+ * - `string` — an explicit CSS width (e.g. `fit-content`, `20rem`). `panelMinWidth` is not applied.
4734
+ * - `null`/`''` — the panel sizes to its content, but never narrower than the trigger or `panelMinWidth`.
4735
+ */
4736
+ type KbqPanelWidth = 'auto' | number | (string & {}) | null | '';
4737
+ /** Minimum width of an overlay panel, in pixels. `null` applies no additional minimum. */
4738
+ type KbqPanelMinWidth = number | null;
4739
+ /**
4740
+ * Maximum width of an overlay panel, in pixels. `null` falls back to the `--kbq-panel-size-width-max`
4741
+ * design token.
4742
+ *
4743
+ * The cap is soft: it limits how far a panel grows with its content, but never makes a panel narrower
4744
+ * than its trigger, and never overrides an explicit `panelWidth`.
4745
+ */
4746
+ type KbqPanelMaxWidth = number | null;
4747
+ /**
4748
+ * Anything an overlay panel can be measured against.
4749
+ * @docs-private
4750
+ */
4751
+ type KbqPanelWidthOrigin = ElementRef<HTMLElement> | CdkOverlayOrigin | HTMLElement;
4752
+ /**
4753
+ * Resolved size of an overlay pane.
4754
+ *
4755
+ * Both keys are always present so that the result can be passed straight to `OverlayRef.updateSize()`,
4756
+ * which shallow-merges into the existing config — an omitted key would leave a stale value applied.
4757
+ * @docs-private
4758
+ */
4759
+ interface KbqResolvedPanelWidth {
4760
+ width: number | string;
4761
+ minWidth: number | string;
4762
+ }
4763
+ /**
4764
+ * Measures the rendered width of a panel's trigger.
4765
+ *
4766
+ * Uses `getBoundingClientRect()` because `getComputedStyle().width` resolves to the used
4767
+ * content-box width regardless of `box-sizing`, so subtracting borders from it double-counts them.
4768
+ * @docs-private
4769
+ */
4770
+ declare function kbqGetPanelWidthOrigin(origin: KbqPanelWidthOrigin): number;
4771
+ /**
4772
+ * Resolves `panelWidth` and `panelMinWidth` into the `width` and `minWidth` of the overlay pane.
4773
+ *
4774
+ * `panelWidth` selects the sizing policy. The "never narrower than the trigger" rule belongs to the
4775
+ * automatic policies (`null` and `'auto'`); an explicit width is taken at face value.
4776
+ * @docs-private
4777
+ */
4778
+ declare function kbqResolvePanelWidth(panelWidth: KbqPanelWidth | undefined, panelMinWidth: KbqPanelMinWidth | undefined, triggerWidth: number): KbqResolvedPanelWidth;
4779
+
4780
+ /**
4781
+ * A simple (x, y) coordinate. Picked from the DOM's own `DOMPointReadOnly` rather than hand-rolled, so
4782
+ * a plain `{ x, y }` literal (e.g. from a `MouseEvent`) satisfies it without constructing a `DOMPoint` —
4783
+ * `DOMPoint` isn't implemented in every runtime (e.g. jsdom).
4784
+ * @docs-private
4785
+ */
4786
+ type KbqPoint = Pick<DOMPointReadOnly, 'x' | 'y'>;
4787
+ /**
4788
+ * A triangle described by its three vertices.
4789
+ * @docs-private
4790
+ */
4791
+ interface KbqTriangle {
4792
+ a: KbqPoint;
4793
+ b: KbqPoint;
4794
+ c: KbqPoint;
4795
+ }
4796
+ /**
4797
+ * Whether `point` lies within (or on the edge of) `rect`.
4798
+ * @docs-private
4799
+ */
4800
+ declare function isPointInRect(point: KbqPoint, rect: DOMRect): boolean;
4801
+ /**
4802
+ * Whether `point` lies within (or on the edge of) `triangle`.
4803
+ *
4804
+ * Uses the sign of the cross product of each triangle edge with the point: the point is inside
4805
+ * only if it's consistently on the same side of all three edges.
4806
+ * @docs-private
4807
+ */
4808
+ declare function isPointInTriangle(point: KbqPoint, triangle: KbqTriangle): boolean;
4809
+ /**
4810
+ * Builds the "safe triangle" connecting `origin` (typically the pointer position where it left a
4811
+ * trigger) to the top and bottom corners of `targetRect` (typically a submenu panel) that are nearest
4812
+ * to `origin` — the submenu can open on either side of its trigger, so the nearest edge is picked by
4813
+ * comparing distances rather than assuming a fixed side.
4814
+ * @docs-private
4815
+ */
4816
+ declare function getSafeTriangleVertices(origin: KbqPoint, targetRect: DOMRect): KbqTriangle;
4817
+
4047
4818
  /**
4048
4819
  * Reference to the element used to locate the shadow root that should host the CDK overlay container.
4049
4820
  *
@@ -4128,6 +4899,18 @@ declare const kbqShadowDomOverlayProvider: (host?: KbqShadowDomOverlayHost) => P
4128
4899
  * Injects the native element for the current component.
4129
4900
  */
4130
4901
  declare const kbqInjectNativeElement: <T extends Element = HTMLElement>() => T;
4902
+ /**
4903
+ * Focuses `element` and scrolls it into view by the shortest distance, leaving a visible one alone.
4904
+ *
4905
+ * The reveal is explicit because the one `focus()` performs implicitly is not portable: WebKit defers it
4906
+ * to a later rendering update, where it lands after — and undoes — any scrolling the reader did in the
4907
+ * meantime. Letting the element reveal itself keeps every consumer working, whatever it uses as a scroll
4908
+ * container, and the browser resolves that container rather than the caller guessing at it.
4909
+ *
4910
+ * Pass `skipReveal` when the pointer caused the focus: the element is already under the cursor, so
4911
+ * revealing it would shift the list out from under it.
4912
+ */
4913
+ declare const kbqFocusAndReveal: (element: HTMLElement, skipReveal?: boolean) => void;
4131
4914
 
4132
4915
  declare function isBoolean(value: unknown): value is boolean;
4133
4916
  /** Whether the value is undefined. */
@@ -4156,6 +4939,35 @@ interface KbqParentPopup {
4156
4939
  * InjectionToken for providing component with popup. Used in select and tree-select for tooltip.
4157
4940
  */
4158
4941
  declare const KBQ_PARENT_POPUP: InjectionToken<KbqParentPopup>;
4942
+ /**
4943
+ * Contract of a pop-up anchored to the same element as a tooltip — a popover, a dropdown, a select and so on.
4944
+ *
4945
+ * A tooltip sharing its host with such a pop-up mutes itself while the pop-up is on screen, so the two never
4946
+ * compete for the same anchor and the focus restored by the closing pop-up does not re-open the tooltip.
4947
+ */
4948
+ interface KbqSiblingPopup {
4949
+ /**
4950
+ * Whether the pop-up overlay is currently attached. Unlike a visibility flag it must flip synchronously,
4951
+ * both when the overlay is attached and when it is detached.
4952
+ */
4953
+ readonly isAttached: boolean;
4954
+ /** Emits `true` when the pop-up opens and `false` when it closes. */
4955
+ readonly openedChange: Observable<boolean>;
4956
+ }
4957
+ /**
4958
+ * Element-level token for pop-ups sharing their trigger element with a tooltip. Multi-provided, so a single
4959
+ * element can carry several pop-ups at once — for example the filter-bar button with both a popover and a
4960
+ * dropdown attached to it.
4961
+ */
4962
+ declare const KBQ_SIBLING_POPUP: InjectionToken<readonly KbqSiblingPopup[]>;
4963
+ /**
4964
+ * Builds the multi-provider entry a pop-up trigger adds to its own `providers` to announce itself to a
4965
+ * tooltip on the same element.
4966
+ *
4967
+ * Every concrete trigger has to add it on its own: Angular copies `providers` to a subclass only when that
4968
+ * subclass has no decorator of its own, so inheriting from an already-announced trigger is not enough.
4969
+ */
4970
+ declare const kbqSiblingPopupProvider: (popup: Type<KbqSiblingPopup>) => Provider;
4159
4971
  declare enum PopUpPlacements {
4160
4972
  Top = "top",
4161
4973
  TopLeft = "topLeft",
@@ -4196,6 +5008,32 @@ type KbqPopUpSizeValues = KbqEnumValues<PopUpSizes>;
4196
5008
  * Tags Input, Timezone, TreeSelect).
4197
5009
  */
4198
5010
  declare const defaultOffsetY: number;
5011
+ /**
5012
+ * Pane class applied to a connected overlay whose panel is positioned BELOW its trigger.
5013
+ *
5014
+ * Used instead of a physical `offsetY` gap: the pane sits flush with the trigger and the visual gap is
5015
+ * recreated as transparent `padding-top` inside the pane (see the `kbq-connected-overlay-gap` styles), so the
5016
+ * gap is covered by the pane (`pointer-events: auto`) and can no longer be clicked/hovered through.
5017
+ */
5018
+ declare const KBQ_CONNECTED_OVERLAY_BELOW_CLASS = "kbq-connected-overlay_below";
5019
+ /**
5020
+ * Pane class applied to a connected overlay whose panel is positioned ABOVE its trigger (flipped).
5021
+ *
5022
+ * Mirror of {@link KBQ_CONNECTED_OVERLAY_BELOW_CLASS}: the visual gap is recreated as transparent
5023
+ * `padding-bottom` inside the pane so the flipped gap is not click/hover-through.
5024
+ */
5025
+ declare const KBQ_CONNECTED_OVERLAY_ABOVE_CLASS = "kbq-connected-overlay_above";
5026
+ /**
5027
+ * Pane class applied to a connected overlay whose panel is anchored to the FIRST ROW of a trigger it
5028
+ * OVERLAPS — a multiline select whose tag rows have made it taller than the panel itself, with too little
5029
+ * room to open on either side of it.
5030
+ *
5031
+ * The panel ends up where it would for a single-row trigger, so the gap is the same transparent
5032
+ * `padding-top` as {@link KBQ_CONNECTED_OVERLAY_BELOW_CLASS}. It is a separate class because the room left
5033
+ * for the panel has to be measured from the first row rather than from the trigger's bottom edge, and the
5034
+ * class is how the component tells the two apart.
5035
+ */
5036
+ declare const KBQ_CONNECTED_OVERLAY_OVERLAP_CLASS = "kbq-connected-overlay_overlap";
4199
5037
  /**
4200
5038
  * Variable used for offsetY(X) calculations when applying Angular Overlay
4201
5039
  *
@@ -4214,7 +5052,7 @@ declare class EmptyFocusTrapStrategy implements FocusTrapInertStrategy {
4214
5052
  * strategy, and controls show/hide timing. Concrete subclasses supply the pop-up component type, its content,
4215
5053
  * and the overlay configuration.
4216
5054
  */
4217
- declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
5055
+ declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy, KbqSiblingPopup {
4218
5056
  /** Stream that emits when the popupTrigger is hovered.
4219
5057
  * @docs-private */
4220
5058
  readonly hovered: BehaviorSubject<boolean>;
@@ -4261,6 +5099,16 @@ declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
4261
5099
  set isOpen(value: boolean);
4262
5100
  /** Backing field for `isOpen`. */
4263
5101
  private _isOpen;
5102
+ /**
5103
+ * Whether the pop-up overlay is currently attached.
5104
+ *
5105
+ * Unlike `isOpen`, which follows the visibility of the pop-up component and therefore lags a task behind
5106
+ * `show()`/`hide()`, this flips synchronously — it is the window during which the overlay (and its
5107
+ * backdrop) is present in the DOM. Part of the {@link KbqSiblingPopup} contract.
5108
+ */
5109
+ get isAttached(): boolean;
5110
+ /** Emits `true` when the pop-up opens and `false` when it closes. Part of the {@link KbqSiblingPopup} contract. */
5111
+ get openedChange(): Observable<boolean>;
4264
5112
  /** Delay in milliseconds before the pop-up is shown.
4265
5113
  * @docs-private */
4266
5114
  enterDelay: number;
@@ -4501,6 +5349,36 @@ declare abstract class KbqPopUp implements OnDestroy {
4501
5349
 
4502
5350
  declare const applyPopupMargins: (renderer: Renderer2, element: HTMLElement, name: string, value: string) => void;
4503
5351
 
5352
+ /**
5353
+ * Normalizes a string for case- and diacritic-insensitive search comparison: trims the ends,
5354
+ * decomposes accented characters (NFKD), strips the resulting combining marks (while preserving
5355
+ * `й`/`Й` as distinct letters), and lowercases using the current locale. Internal whitespace and
5356
+ * punctuation are left untouched.
5357
+ */
5358
+ declare function normalizeSearchValue(value: string): string;
5359
+ /**
5360
+ * Locates every case- and diacritic-insensitive match of `tokens` in `value`, returning `[start, end)`
5361
+ * ranges in `value`'s own (unfolded) coordinates — overlapping or adjacent ranges are merged. This is
5362
+ * what a highlighter needs to stay in sync with {@link createSearchPredicate}: matching a folded value
5363
+ * like `cafe` against `Café` only tells you *that* it matched, not *where* in the original string to
5364
+ * mark, since folding can change which letters look alike without changing the string's length.
5365
+ */
5366
+ declare function findSearchMatchRanges(value: string, tokens: readonly string[]): Array<[number, number]>;
5367
+ /**
5368
+ * Splits a raw query into tokens, treating whitespace as a separator and `"quoted phrases"` as
5369
+ * a single token (spaces inside the quotes are preserved). A `"` with no matching closing quote
5370
+ * stays part of its token instead of being dropped, so a half-open quote yields a token no
5371
+ * realistic haystack contains — and therefore no results — until the quote is closed.
5372
+ */
5373
+ declare function tokenizeSearchQuery(query: string): string[];
5374
+ /**
5375
+ * Builds a case- and diacritic-insensitive substring predicate for the given query. The query is
5376
+ * tokenized (bare words + `"quoted phrases"`) and every token must match (AND) against at least
5377
+ * one of the supplied haystacks (OR across fields) — pass a single string for a single-field
5378
+ * search, or an array for multi-field rows. An empty/whitespace-only query matches everything.
5379
+ */
5380
+ declare function createSearchPredicate(query: string): (value: string | readonly string[]) => boolean;
5381
+
4504
5382
  declare class KbqSelectTrigger {
4505
5383
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectTrigger, never>;
4506
5384
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectTrigger, "kbq-select-trigger, [kbq-select-trigger]", never, {}, {}, never, never, true, never>;
@@ -4545,17 +5423,150 @@ declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
4545
5423
  declare abstract class KbqAbstractSelect {
4546
5424
  protected overlayDir: CdkConnectedOverlay;
4547
5425
  protected triggerRect: DOMRect;
5426
+ /** Positions the `cdkConnectedOverlayPositions` input reads. */
5427
+ abstract positions: ConnectedPosition[];
5428
+ /** Whether the trigger lays its selected values out in rows. */
5429
+ protected abstract readonly multiline: Signal<boolean>;
5430
+ /** Scrollable option list inside the panel. */
5431
+ protected abstract readonly optionsContainer: Signal<ElementRef<HTMLElement> | undefined>;
5432
+ /** Margin the overlay keeps from the viewport edge, i.e. `cdkConnectedOverlayViewportMargin`. */
5433
+ protected abstract readonly viewportMargin: number;
5434
+ /**
5435
+ * Row container of a multi-selection trigger. Absent for a single value, an empty trigger and a custom
5436
+ * matcher or trigger — all of which have no rows for the panel to anchor to.
5437
+ */
5438
+ protected readonly multilineMatchList: Signal<ElementRef<HTMLElement> | undefined>;
5439
+ protected readonly changeDetectorRef: ChangeDetectorRef;
5440
+ protected readonly window: Window;
5441
+ /** Whether the panel is open. Declared as a method because the two selects spell the state differently. */
5442
+ protected abstract isPanelOpen(): boolean;
5443
+ /** Element the overlay is positioned and sized against. */
5444
+ protected abstract getOverlayOriginElement(): HTMLElement | undefined;
4548
5445
  /** Overlay panel class. */
4549
5446
  protected readonly overlayPanelClass = "kbq-select-overlay";
5447
+ /** Width of the overlay panel. */
5448
+ protected overlayWidth: string | number;
5449
+ /** Minimum width of the overlay panel. */
5450
+ protected overlayMinWidth: string | number;
5451
+ /**
5452
+ * Height of everything in the panel that is not the option list — the trigger gap the pane pads itself
5453
+ * with, the list padding, a search field and a footer.
5454
+ *
5455
+ * The same for every anchor: the below and overlap panes pad the top, the above pane pads the bottom, and
5456
+ * all three pad by the same gap — which is what keeps the anchor decision from feeding back into itself.
5457
+ */
5458
+ private panelChromeHeight;
5459
+ /** Transparent gap the pane pads itself with, which the anchor has to be raised by. */
5460
+ private panelGapHeight;
5461
+ /**
5462
+ * Cap the option list is rendered with, in pixels. Measured off the panel rather than derived from
5463
+ * `panelMaxHeight`, because `--kbq-select-panel-size-max-height` is what the list actually obeys and a
5464
+ * consumer can override it. Seeded with the stylesheet's own default, which is what a DOM that computes
5465
+ * no layout — the server, jsdom — leaves in force.
5466
+ */
5467
+ private panelMaxHeightCap;
5468
+ private resizeSubscription;
5469
+ /**
5470
+ * Resolves the overlay panel size for the current trigger geometry and stores it for the
5471
+ * `cdkConnectedOverlay` width bindings.
5472
+ */
5473
+ protected updateOverlayWidth(panelWidth: KbqPanelWidth, panelMinWidth: KbqPanelMinWidth, origin: KbqPanelWidthOrigin): void;
5474
+ /**
5475
+ * Freezes the panel at its rendered width so that filtering the options does not reflow it.
5476
+ * Does nothing when the width is already pinned.
5477
+ */
5478
+ protected lockOverlayWidthForSearch(panel: ElementRef<HTMLElement> | undefined): void;
4550
5479
  protected setOverlayPosition(): void;
4551
5480
  protected calculateOverlayOffsetX(baseOffsetX: number): number[];
4552
5481
  protected getOverlayRect(): DOMRect;
4553
5482
  protected resetOverlay(): void;
5483
+ /**
5484
+ * Returns `positions` with the first-row anchor added, updated or removed, or `null` when the array
5485
+ * already says what it should — so that the caller can skip the change detection an edit would need.
5486
+ *
5487
+ * The anchor goes LAST. The overlay returns on the first position that fits completely, so an entry at the
5488
+ * end is reached exactly when neither the below nor the above position works, which is the rule this
5489
+ * implements. Pass `null` to drop it again.
5490
+ *
5491
+ * The result is meant to be assigned to the field the `cdkConnectedOverlayPositions` input reads, NOT
5492
+ * handed to `withPositions()` on the strategy: `CdkConnectedOverlay.ngOnChanges` rebuilds the strategy
5493
+ * from that field on ANY input change — the width `lockOverlayWidthForSearch` pins is one — so a list
5494
+ * applied only to the strategy would be dropped again without a trace.
5495
+ */
5496
+ protected withOverlapPosition(positions: ConnectedPosition[], offsetY: number | null): ConnectedPosition[] | null;
5497
+ /**
5498
+ * Re-resolves the panel position with the first-row anchor brought up to date.
5499
+ *
5500
+ * Never call this from a `positionChange` subscriber: CDK records the position it applied AFTER the
5501
+ * subscriber returns, so an anchor resolved from inside that frame is overwritten by the pre-anchor
5502
+ * position, and `cdkConnectedOverlayLockPosition` then replays that stale one on the next scroll.
5503
+ */
5504
+ protected reanchorPanel(): void;
5505
+ /**
5506
+ * Re-resolves the anchor while the panel is open. A resize rewraps the trigger's rows and changes the
5507
+ * room beside it at once, and CDK re-applies the position on its own, so without this the anchor it
5508
+ * resolves against is the one measured for the old viewport.
5509
+ */
5510
+ protected subscribeToPanelResize(): void;
5511
+ /** Drops the resize subscription the open set up. */
5512
+ protected unsubscribeFromPanelResize(): void;
5513
+ /**
5514
+ * Keeps the first-row anchor in `positions`: a third position that puts the panel just below the
5515
+ * trigger's first row and over the rest of it, for a multiline trigger that has grown taller than the
5516
+ * panel and fits on neither side of it.
5517
+ *
5518
+ * The anchor goes last, and the overlay stops at the first position that fits completely, so it is
5519
+ * reached exactly when neither `below` nor `above` works. `kbqShouldAnchorPanelToFirstRow` holds the
5520
+ * rest of the rule.
5521
+ *
5522
+ * Returns whether the array changed, so that a caller can skip the reposition an unchanged anchor does
5523
+ * not need. Updating the array is all there is to do here — `setOverlayPosition()` rebuilds the strategy
5524
+ * and resolves the position again.
5525
+ */
5526
+ protected updatePanelAnchor(): boolean;
5527
+ /**
5528
+ * Distance from the origin's top edge to just below the trigger's first row, or `null` when there is no
5529
+ * row to anchor to.
5530
+ */
5531
+ private resolveFirstRowOffset;
5532
+ /**
5533
+ * Height the option list takes with no viewport clamp in force.
5534
+ *
5535
+ * Read from `scrollHeight`, which reports the whole content rather than what the pane happens to show
5536
+ * right now — the anchor decision runs on a pane the overlay may be about to move.
5537
+ */
5538
+ private measureNaturalListHeight;
5539
+ /**
5540
+ * Whether the option list renders at the cap whatever its content is, which a
5541
+ * `cdk-virtual-scroll-viewport` does by pinning both its `min-height` and its `max-height` to the token.
5542
+ */
5543
+ protected isListHeightPinnedToCap(): boolean;
5544
+ /** Geometry the panel height calculation needs, or `null` when there is nothing to measure against. */
5545
+ private resolvePanelSpaceContext;
5546
+ /** Whether the panel is currently drawn over the trigger, read from the class the overlay applies. */
5547
+ private isPanelAnchoredToFirstRow;
5548
+ /**
5549
+ * Records the part of the panel that is not the option list, the gap the pane pads itself with, and the
5550
+ * cap the list is rendered with. Returns `false` when the panel cannot be measured, which is the caller's
5551
+ * signal to leave the anchor alone rather than decide against a stale value.
5552
+ */
5553
+ private measurePanelChrome;
4554
5554
  protected resolveSearchMinOptionsThreshold(value?: 'auto' | number): number | undefined;
4555
5555
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAbstractSelect, never>;
4556
5556
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAbstractSelect, never, never, {}, {}, never, never, true, never>;
4557
5557
  }
4558
5558
 
5559
+ /**
5560
+ * Runs a consumer-supplied `compareWith` defensively: a comparator that throws is reported in dev mode
5561
+ * and treated as "no match", so one bad comparison cannot take a whole selection down with it.
5562
+ *
5563
+ * Callers own the `null` policy — `KbqSelect` refuses to match a `null` option value, `KbqListSelection`
5564
+ * lets the comparator decide — so nothing is filtered here.
5565
+ *
5566
+ * @docs-private
5567
+ */
5568
+ declare function runCompareWith<T>(compareWith: (o1: T, o2: T) => boolean, first: T, second: T): boolean;
5569
+
4559
5570
  /**
4560
5571
  * Minimum option count threshold for displaying select search.
4561
5572
  * Search is hidden when fewer options are available.
@@ -4566,7 +5577,14 @@ declare const KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD = 10;
4566
5577
  * this value or more away from the viewport boundary.
4567
5578
  */
4568
5579
  declare const SELECT_PANEL_VIEWPORT_PADDING = 8;
4569
- /** Injection token that determines the scroll handling while a select is open. */
5580
+ /**
5581
+ * Injection token that determines the scroll handling while a select is open.
5582
+ *
5583
+ * The root default keeps the select usable when it is reached outside `KbqSelectModule`'s injector - imported
5584
+ * as a bare standalone component, pulled in through another standalone component (`KbqTimezoneSelect`,
5585
+ * `KbqCalendarHeader`), or rendered in a component built from the root injector, as `KbqModalService` does.
5586
+ * Providing the token anywhere still wins over this default.
5587
+ */
4570
5588
  declare const KBQ_SELECT_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
4571
5589
  /** @docs-private */
4572
5590
  declare function kbqSelectScrollStrategyProviderFactory(overlay: Overlay): () => RepositionScrollStrategy;
@@ -4622,7 +5640,12 @@ interface KbqSelectAllAdapter<T> {
4622
5640
  isSelectable: (item: T) => boolean;
4623
5641
  /** Current selected state of the item. */
4624
5642
  isSelected: (item: T) => boolean;
4625
- /** Applies the new selected state to the item. */
5643
+ /**
5644
+ * Applies the new selected state to the item. Must be idempotent — a no-op, with no further side
5645
+ * effects (no emitted events, no notifications) — when `selected` already matches the item's current
5646
+ * state: {@link toggleSelectAll} calls this for every selectable item, not just the ones whose state
5647
+ * actually changes, and relies on implementations to absorb the redundant calls silently.
5648
+ */
4626
5649
  setSelected: (item: T, selected: boolean) => void;
4627
5650
  }
4628
5651
  /** Options for {@link toggleSelectAll}. */
@@ -4643,6 +5666,14 @@ interface KbqToggleSelectAllOptions {
4643
5666
  * @returns the items whose selected state actually flipped, in input order.
4644
5667
  */
4645
5668
  declare function toggleSelectAll<T>(adapter: KbqSelectAllAdapter<T>, options?: KbqToggleSelectAllOptions): T[];
5669
+ /**
5670
+ * State of a "select all" master checkbox over the same items {@link toggleSelectAll} would act on.
5671
+ *
5672
+ * Considers only selectable items, so items the toggle cannot reach (disabled, non-selectable) never
5673
+ * pin the checkbox to `indeterminate`. An empty selectable set reads as `unchecked`: there is nothing
5674
+ * to select, and `[].every()` being `true` would otherwise report a full selection.
5675
+ */
5676
+ declare function getSelectAllState<T>(adapter: KbqSelectAllAdapter<T>): KbqPseudoCheckboxState;
4646
5677
  /** Event emitted by the `onSelectAll` outputs when the select-all toggle runs. */
4647
5678
  declare class KbqSelectAllEvent<T, S = unknown> {
4648
5679
  /** Component that emitted the event. */
@@ -4724,8 +5755,8 @@ declare class ThemeService<T extends KbqTheme | null = KbqTheme> implements OnDe
4724
5755
  declare function dispatchEvent(node: Node | Window, event: Event): Event;
4725
5756
  /** Shorthand to dispatch a fake event on a specified node. */
4726
5757
  declare function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event;
4727
- /** Shorthand to dispatch a keyboard event with a specified key code. */
4728
- declare function dispatchKeyboardEvent(node: Node, type: string, keyCode: number, target?: Element): KeyboardEvent;
5758
+ /** Shorthand to dispatch a keyboard event with a specified key code and, optionally, a `KeyboardEvent.key`. */
5759
+ declare function dispatchKeyboardEvent(node: Node, type: string, keyCode: number, target?: Element, key?: string): KeyboardEvent;
4729
5760
  /** Shorthand to dispatch a mouse event on the specified coordinates. */
4730
5761
  declare function dispatchMouseEvent(node: Node, type: string, x?: number, y?: number, event?: MouseEvent): MouseEvent;
4731
5762
  /** Shorthand to dispatch a touch event on the specified coordinates. */
@@ -4790,5 +5821,5 @@ declare const validationTooltipHideDelay = 3000;
4790
5821
 
4791
5822
  declare const VERSION: Version;
4792
5823
 
4793
- export { A, ALT, APOSTROPHE, ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AT_SIGN, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, ActiveDescendantKeyManager, B, BACKSLASH, BACKSPACE, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, BaseLocaleAwareFormatterPipe, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, DateAdapter, DateFormatter, E, EIGHT, END, ENTER, EQUALS, ESCAPE, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, FileValidators, FocusKeyManager, G, H, HOME, I, INSERT, J, K, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_DEFAULT_PRECISION_SEPARATOR, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_OVERFLOW_SHADOW_SOURCE, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD, KBQ_SHADOW_DOM_OVERLAY_HOST, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_WINDOW, KbqAbsoluteLongDatePipe, KbqAbsoluteLongDateTimePipe, KbqAbsoluteShortDatePipe, KbqAbsoluteShortDateTimePipe, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqColorDirective, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqErrorStateTracker, KbqFieldSizingContent, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightBackgroundPipe, KbqHighlightModule, KbqHighlightPipe, KbqHover, KbqLine, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqOverflowShadowBottom, KbqOverflowShadowContainer, KbqOverflowShadowTop, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRangeLongDatePipe, KbqRangeLongDateTimePipe, KbqRangeMiddleDateTimePipe, KbqRangeShortDatePipe, KbqRangeShortDateTimePipe, KbqReadStateDirective, KbqRectangleItem, KbqRelativeLongDatePipe, KbqRelativeLongDateTimePipe, KbqRelativeShortDatePipe, KbqRelativeShortDateTimePipe, KbqRoundDecimalPipe, KbqSelectAllEvent, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqShadowDomOverlayContainer, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, L, LAST_MEDIA, LEFT_ARROW, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, ListKeyManager, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, MockNgZone, MultipleMode, N, NINE, NUMBER_FORMAT_REGEXP, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PRINT_SCREEN, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, Q, QUESTION_MARK, R, RIGHT_ARROW, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, S, SCROLL_LOCK, SELECT_PANEL_VIEWPORT_PADDING, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, ShowRequiredOnSubmitErrorStateMatcher, T, TAB, THREE, TILDE, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, TWO, ThemePalette, ThemeService, U, UP_ARROW, V, VERSION, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, createFakeEvent, createKeyboardEvent, createMouseEvent, createTouchEvent, defaultOffsetY, dispatchEvent, dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, dispatchTouchEvent, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, fadeAnimation, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, hasModifierKey, isBoolean, isControl, isCopy, isDigit, isElement, isFunctionKey, isHorizontalMovement, isHtmlElement, isHtmlElementOrNull, isInput, isLeftBracket, isLetterKey, isMac, isNull, isNumberKey, isNumpadKey, isRightBracket, isSelectAll, isUndefined, isVerticalMovement, isWithin, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqHighlightBackgroundMark, kbqHighlightMark, kbqInjectNativeElement, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, kbqShadowDomOverlayProvider, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, patchElementFocus, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, selectEvents, shouldSelectSearchText, tkTMFormattersData, tkTMLocaleData, toggleSelectAll, typeInElement, validationTooltipHideDelay, validationTooltipShowDelay, wrappedErrorMessage };
4794
- export type { CanColor, CanColorCtor, CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, HasTabIndex, HasTabIndexCtor, Highlightable, IFocusableOption, KbqActionsPanelLocaleConfiguration, KbqBaseFileUploadLocaleConfig, KbqCheckedState, KbqClampedTextLocaleConfig, KbqCodeBlockLocaleConfiguration, KbqDateFormats, KbqDefaultSizes, KbqEnumValues, KbqFileTypeSpecifier, KbqFileUploadLocaleConfig, KbqFlexDirection, KbqFlexWrap, KbqFormFieldRef, KbqMeasurementSystemType, KbqMultipleFileUploadLocaleConfig, KbqNumberFormatOptions, KbqNumberInputLocaleConfig, KbqNumericPipe, KbqOptionActionParent, KbqOptionParentComponent, KbqOrientation, KbqOverflowShadowSource, KbqOverflowShadowState, KbqParentPopup, KbqPopUpPlacementValues, KbqPopUpSizeValues, KbqPseudoCheckboxState, KbqSelectAllAdapter, KbqShadowDomOverlayHost, KbqSizeUnitsConfig, KbqStickToWindowPlacementValues, KbqTheme, KbqTimeRangeLocaleConfig, KbqTitleTextRef, KbqToggleSelectAllOptions, KbqUnitSystem, KeyboardNavigationHandler, ListKeyManagerModifierKey, ListKeyManagerOption };
5824
+ export { A, ALT, APOSTROPHE, ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AT_SIGN, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, ActiveDescendantKeyManager, B, BACKSLASH, BACKSPACE, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, BaseLocaleAwareFormatterPipe, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, DateAdapter, DateFormatter, DurationLongFormatterImpurePipe, DurationLongFormatterPipe, DurationShortFormatterImpurePipe, DurationShortFormatterPipe, DurationShortestFormatterImpurePipe, DurationShortestFormatterPipe, E, EIGHT, END, ENTER, EQUALS, ESCAPE, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, FileValidators, FocusKeyManager, G, H, HOME, I, INSERT, J, K, KBQ_A11Y_LOCALE_CONFIGURATION, KBQ_CHECKABLE_CLICK_ACTION, KBQ_CHECKABLE_CONTROL_VALUE_ACCESSOR, KBQ_CONNECTED_OVERLAY_ABOVE_CLASS, KBQ_CONNECTED_OVERLAY_BELOW_CLASS, KBQ_CONNECTED_OVERLAY_ORIGIN, KBQ_CONNECTED_OVERLAY_OVERLAP_CLASS, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DATE_TIMEZONE, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_DEFAULT_PRECISION_SEPARATOR, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_OVERFLOW_SHADOW_SOURCE, KBQ_PANEL_DEFAULT_MIN_WIDTH, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD, KBQ_SHADOW_DOM_OVERLAY_HOST, KBQ_SIBLING_POPUP, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_WINDOW, KbqAbsoluteLongDatePipe, KbqAbsoluteLongDateTimePipe, KbqAbsoluteShortDatePipe, KbqAbsoluteShortDateTimePipe, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqAutoHideScrollStrategy, KbqCheckable, KbqColorDirective, KbqComponentColors, KbqDataSizePipe, KbqDateTimezoneService, KbqDecimalPipe, KbqDefaultThemes, KbqDurationLongPipe, KbqDurationShortPipe, KbqDurationShortestPipe, KbqErrorStateTracker, KbqFieldSizingContent, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightBackgroundPipe, KbqHighlightModule, KbqHighlightPipe, KbqHover, KbqLine, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqOverflowShadowBottom, KbqOverflowShadowContainer, KbqOverflowShadowTop, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRangeLongDatePipe, KbqRangeLongDateTimePipe, KbqRangeMiddleDateTimePipe, KbqRangeShortDatePipe, KbqRangeShortDateTimePipe, KbqReadStateDirective, KbqRectangleItem, KbqRelativeLongDatePipe, KbqRelativeLongDateTimePipe, KbqRelativeShortDatePipe, KbqRelativeShortDateTimePipe, KbqRoundDecimalPipe, KbqSelectAllEvent, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqShadowDomOverlayContainer, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, L, LAST_MEDIA, LEFT_ARROW, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, ListKeyManager, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, MockNgZone, MultipleMode, N, NINE, NUMBER_FORMAT_REGEXP, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PRINT_SCREEN, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, Q, QUESTION_MARK, R, RIGHT_ARROW, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, S, SCROLL_LOCK, SELECT_PANEL_VIEWPORT_PADDING, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, ShowRequiredOnSubmitErrorStateMatcher, T, TAB, THREE, TILDE, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, TWO, ThemePalette, ThemeService, TransitionCheckState, U, UP_ARROW, V, VERSION, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, createFakeEvent, createKeyboardEvent, createMouseEvent, createSearchPredicate, createTouchEvent, defaultOffsetY, dispatchEvent, dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, dispatchTouchEvent, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, fadeAnimation, findSearchMatchRanges, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, getSafeTriangleVertices, getSelectAllState, hasModifierKey, isBoolean, isControl, isCopy, isDigit, isElement, isFunctionKey, isHorizontalMovement, isHtmlElement, isHtmlElementOrNull, isInput, isLeftBracket, isLetterKey, isMac, isNull, isNumberKey, isNumpadKey, isPointInRect, isPointInTriangle, isRightBracket, isSelectAll, isUndefined, isVerticalMovement, isWithin, kbqA11yLocaleConfigurationProvider, kbqAutoHideScrollStrategyFactory, kbqDateTimezoneProvider, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqFocusAndReveal, kbqFocusOptionActionOnTab, kbqGetPanelWidthOrigin, kbqHighlightBackgroundMark, kbqHighlightMark, kbqInjectA11yLocaleConfiguration, kbqInjectAutofilled, kbqInjectNativeElement, kbqLocaleServiceLangAttrNameProvider, kbqResolvePanelMaxHeightToken, kbqResolvePanelWidth, kbqResolveTimezoneOffset, kbqRevealSelection, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, kbqSetSelectionRange, kbqShadowDomOverlayProvider, kbqSiblingPopupProvider, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, normalizeSearchValue, numberByParts, patchElementFocus, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, runCompareWith, selectEvents, shouldSelectSearchText, tkTMFormattersData, tkTMLocaleData, toggleSelectAll, tokenizeSearchQuery, typeInElement, validationTooltipHideDelay, validationTooltipShowDelay, wrappedErrorMessage };
5825
+ export type { CanColor, CanColorCtor, CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, HasTabIndex, HasTabIndexCtor, Highlightable, IFocusableOption, KbqA11yLocaleConfiguration, KbqActionsPanelLocaleConfiguration, KbqAutoHideScrollStrategyConfig, KbqAutoHideScrollStrategyHooks, KbqBaseFileUploadLocaleConfig, KbqCheckableClickAction, KbqCheckableClickResult, KbqCheckedState, KbqClampedTextLocaleConfig, KbqCodeBlockLocaleConfiguration, KbqConnectedOverlayOriginProvider, KbqDateFormats, KbqDefaultSizes, KbqEnumValues, KbqFileTypeSpecifier, KbqFileUploadLocaleConfig, KbqFlexDirection, KbqFlexWrap, KbqFormFieldRef, KbqMeasurementSystemType, KbqMultipleFileUploadLocaleConfig, KbqNumberFormatOptions, KbqNumberInputLocaleConfig, KbqNumberRoundingLocaleConfig, KbqNumericPipe, KbqOptionActionParent, KbqOptionParentComponent, KbqOrientation, KbqOverflowShadowSource, KbqOverflowShadowState, KbqPanelMaxHeight, KbqPanelMaxWidth, KbqPanelMinWidth, KbqPanelWidth, KbqPanelWidthOrigin, KbqParentPopup, KbqPoint, KbqPopUpPlacementValues, KbqPopUpSizeValues, KbqPseudoCheckboxState, KbqResolvedPanelWidth, KbqSelectAllAdapter, KbqSelectLocaleConfiguration, KbqShadowDomOverlayHost, KbqSiblingPopup, KbqSizeUnitsConfig, KbqStickToWindowPlacementValues, KbqTheme, KbqTimeRangeLocaleConfig, KbqTimezoneLike, KbqTitleTextRef, KbqToggleSelectAllOptions, KbqTriangle, KbqUnitSystem, KeyboardNavigationHandler, ListKeyManagerModifierKey, ListKeyManagerOption };