@koobiq/components 20.3.3 → 20.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/core/index.d.ts +114 -6
  2. package/core/option/_option-theme.scss +3 -0
  3. package/ellipsis-center/ellipsis-center.scss +31 -0
  4. package/ellipsis-center/index.d.ts +3 -3
  5. package/fesm2022/koobiq-components-core.mjs +173 -16
  6. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  7. package/fesm2022/koobiq-components-ellipsis-center.mjs +27 -15
  8. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  9. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  10. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  11. package/fesm2022/koobiq-components-filter-bar.mjs +36 -32
  12. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  13. package/fesm2022/koobiq-components-inline-edit.mjs +177 -14
  14. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  15. package/fesm2022/koobiq-components-list.mjs +357 -42
  16. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  17. package/fesm2022/koobiq-components-navbar.mjs +5 -1
  18. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  19. package/fesm2022/koobiq-components-search-expandable.mjs +2 -1
  20. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  21. package/fesm2022/koobiq-components-select.mjs +20 -2
  22. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-tabs.mjs +453 -196
  24. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  26. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  27. package/file-upload/file-upload.scss +0 -29
  28. package/filter-bar/index.d.ts +16 -0
  29. package/filter-bar/pipes/base-pipe.scss +11 -0
  30. package/inline-edit/index.d.ts +87 -8
  31. package/inline-edit/inline-edit-tokens.scss +1 -0
  32. package/inline-edit/inline-edit.scss +26 -0
  33. package/list/index.d.ts +126 -5
  34. package/navbar/index.d.ts +5 -1
  35. package/package.json +3 -3
  36. package/schematics/ng-add/index.js +1 -1
  37. package/select/index.d.ts +6 -0
  38. package/tabs/_tabs-common.scss +111 -2
  39. package/tabs/index.d.ts +78 -48
  40. package/tabs/tab-group.scss +0 -4
  41. package/tabs/tab-header.scss +0 -2
  42. package/tabs/tab-nav-bar.scss +3 -11
package/core/index.d.ts CHANGED
@@ -458,6 +458,71 @@ declare class ErrorStateMatcher {
458
458
  static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcher, never>;
459
459
  static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher>;
460
460
  }
461
+ /**
462
+ * Resolves which controls a group-level error concerns.
463
+ *
464
+ * Called with one error of a group at a time. Return the names of the controls the error applies to, relative
465
+ * to the group holding it — `AbstractControl.get` paths such as `'passwords.confirm'` are supported — or
466
+ * `null` for errors this scope does not know.
467
+ *
468
+ * It is called from change detection, so keep it cheap and allocation-free.
469
+ */
470
+ type CrossFieldErrorScope = (errorKey: string, errorValue: unknown) => readonly string[] | null;
471
+ /**
472
+ * Error state matcher that also shows an error set on a `FormGroup` on the controls that error concerns,
473
+ * which the default matcher cannot: it is handed the field's own `FormControl` and never looks further.
474
+ *
475
+ * `scope` maps an error to those controls, so no error shape is imposed on validators. The error is revealed
476
+ * once every one of them is touched, or the form is submitted — override `shouldReveal` to change that.
477
+ *
478
+ * ## Usage:
479
+ *
480
+ * ```typescript
481
+ * providers: [
482
+ * kbqErrorStateMatcherProvider(
483
+ * new ShowOnCrossFieldErrorStateMatcher((key) =>
484
+ * key === 'passwordsMismatch' ? ['newPassword', 'confirmPassword'] : null
485
+ * )
486
+ * )
487
+ * ]
488
+ * ```
489
+ *
490
+ * Always pass an instance, as above — never the bare class (or a subclass) to `kbqErrorStateMatcherProvider`.
491
+ * `scope` has no injection token, so Angular cannot construct this class on its own; passing the class throws
492
+ * `NG0204` the first time anything injects `ErrorStateMatcher`.
493
+ *
494
+ * ## Combining with another matcher
495
+ *
496
+ * Cross-field display timing is this class's one job; timing for a control's own, non-cross-field errors is
497
+ * not, so it is delegated to `own` (default: the plain `ErrorStateMatcher`) rather than hard-coded — pass any
498
+ * other matcher to combine its timing with cross-field support, instead of subclassing:
499
+ *
500
+ * ```typescript
501
+ * new ShowOnCrossFieldErrorStateMatcher(
502
+ * (key) => (key === 'passwordsMismatch' ? ['newPassword', 'confirmPassword'] : null),
503
+ * new ShowRequiredOnSubmitErrorStateMatcher()
504
+ * )
505
+ * ```
506
+ */
507
+ declare class ShowOnCrossFieldErrorStateMatcher extends ErrorStateMatcher {
508
+ private readonly scope;
509
+ private readonly own;
510
+ private readonly warned;
511
+ constructor(scope: CrossFieldErrorScope, own?: ErrorStateMatcher);
512
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
513
+ /**
514
+ * Whether the controls a cross-field error concerns have been interacted with enough to show it.
515
+ *
516
+ * Consulted only while the form has not been submitted — a submit always reveals. A disabled control
517
+ * counts as satisfied, since it can never be touched by the user. Override to change the rule: when one
518
+ * end of a range is prefilled and the user is never expected to visit it, waiting for all of them hides
519
+ * the error until submit, and `controls.some(...)` is the better cue.
520
+ */
521
+ protected shouldReveal(controls: AbstractControl[]): boolean;
522
+ private isCrossFieldErrorState;
523
+ private isRevealedOn;
524
+ private resolve;
525
+ }
461
526
 
462
527
  /** @docs-private */
463
528
  interface CanUpdateErrorState {
@@ -727,6 +792,10 @@ type KbqA11yLocaleConfiguration = {
727
792
  close: string;
728
793
  /** Confirm button of an inline edit. */
729
794
  save: string;
795
+ /** Announced while an inline edit saves a value in the background. */
796
+ saving: string;
797
+ /** Announced when a background save of an inline edit fails. */
798
+ saveFailed: string;
730
799
  /** Discard button of an inline edit. */
731
800
  cancel: string;
732
801
  /** Button removing every notification at once. */
@@ -766,9 +835,10 @@ type KbqActionsPanelLocaleConfiguration = {
766
835
  closeTooltip: string;
767
836
  };
768
837
  /**
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`).
838
+ * Locale configuration shared by the components that render a "select all" row: `hiddenItemsText` is read
839
+ * by `KbqSelectModule` (`kbq-select`) only, while `selectAll` is read by `KbqSelectModule`, by
840
+ * `KbqTreeModule` (`kbq-tree-selection`, including standalone usage outside `KbqTreeSelectModule`) and by
841
+ * `KbqListModule` (`kbq-list-selection`).
772
842
  */
773
843
  type KbqSelectLocaleConfiguration = {
774
844
  /** Counter of the selected values that did not fit into the trigger. Supports the `{{ number }}` placeholder. */
@@ -886,6 +956,8 @@ declare const enUSLocaleData: {
886
956
  a11y: {
887
957
  close: string;
888
958
  save: string;
959
+ saving: string;
960
+ saveFailed: string;
889
961
  cancel: string;
890
962
  removeAll: string;
891
963
  expandBreadcrumbs: string;
@@ -1090,6 +1162,8 @@ declare const esLALocaleData: {
1090
1162
  a11y: {
1091
1163
  close: string;
1092
1164
  save: string;
1165
+ saving: string;
1166
+ saveFailed: string;
1093
1167
  cancel: string;
1094
1168
  removeAll: string;
1095
1169
  expandBreadcrumbs: string;
@@ -1293,6 +1367,8 @@ declare const ptBRLocaleData: {
1293
1367
  a11y: {
1294
1368
  close: string;
1295
1369
  save: string;
1370
+ saving: string;
1371
+ saveFailed: string;
1296
1372
  cancel: string;
1297
1373
  removeAll: string;
1298
1374
  expandBreadcrumbs: string;
@@ -1496,6 +1572,8 @@ declare const ruRULocaleData: {
1496
1572
  a11y: {
1497
1573
  close: string;
1498
1574
  save: string;
1575
+ saving: string;
1576
+ saveFailed: string;
1499
1577
  cancel: string;
1500
1578
  removeAll: string;
1501
1579
  expandBreadcrumbs: string;
@@ -1700,6 +1778,8 @@ declare const tkTMLocaleData: {
1700
1778
  a11y: {
1701
1779
  close: string;
1702
1780
  save: string;
1781
+ saving: string;
1782
+ saveFailed: string;
1703
1783
  cancel: string;
1704
1784
  removeAll: string;
1705
1785
  expandBreadcrumbs: string;
@@ -2136,6 +2216,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2136
2216
  a11y: {
2137
2217
  close: string;
2138
2218
  save: string;
2219
+ saving: string;
2220
+ saveFailed: string;
2139
2221
  cancel: string;
2140
2222
  removeAll: string;
2141
2223
  expandBreadcrumbs: string;
@@ -2377,6 +2459,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2377
2459
  a11y: {
2378
2460
  close: string;
2379
2461
  save: string;
2462
+ saving: string;
2463
+ saveFailed: string;
2380
2464
  cancel: string;
2381
2465
  removeAll: string;
2382
2466
  expandBreadcrumbs: string;
@@ -2613,6 +2697,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2613
2697
  a11y: {
2614
2698
  close: string;
2615
2699
  save: string;
2700
+ saving: string;
2701
+ saveFailed: string;
2616
2702
  cancel: string;
2617
2703
  removeAll: string;
2618
2704
  expandBreadcrumbs: string;
@@ -2854,6 +2940,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
2854
2940
  a11y: {
2855
2941
  close: string;
2856
2942
  save: string;
2943
+ saving: string;
2944
+ saveFailed: string;
2857
2945
  cancel: string;
2858
2946
  removeAll: string;
2859
2947
  expandBreadcrumbs: string;
@@ -3092,6 +3180,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
3092
3180
  a11y: {
3093
3181
  close: string;
3094
3182
  save: string;
3183
+ saving: string;
3184
+ saveFailed: string;
3095
3185
  cancel: string;
3096
3186
  removeAll: string;
3097
3187
  expandBreadcrumbs: string;
@@ -4269,7 +4359,6 @@ declare class KbqOptionActionComponent implements AfterViewInit, OnDestroy {
4269
4359
  focus(origin?: FocusOrigin, options?: FocusOptions): void;
4270
4360
  onClick($event: any): void;
4271
4361
  onKeyDown($event: any): void;
4272
- private preventShowingTooltip;
4273
4362
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOptionActionComponent, never>;
4274
4363
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqOptionActionComponent, "kbq-option-action", ["kbqOptionAction"], { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["[kbq-icon]"], true, never>;
4275
4364
  static ngAcceptInputType_disabled: unknown;
@@ -4926,6 +5015,25 @@ declare const kbqInjectNativeElement: <T extends Element = HTMLElement>() => T;
4926
5015
  * revealing it would shift the list out from under it.
4927
5016
  */
4928
5017
  declare const kbqFocusAndReveal: (element: HTMLElement, skipReveal?: boolean) => void;
5018
+ /** Axis a scroll-overflow check applies to. */
5019
+ type KbqScrollAxis = 'horizontal' | 'vertical';
5020
+ /**
5021
+ * Largest disagreement (px) between an element's box metrics and the scroll offset the browser actually
5022
+ * hands out.
5023
+ *
5024
+ * `scrollWidth`/`clientWidth` are rounded to whole CSS pixels (up to 1px of error) while the scroll offset
5025
+ * snaps to the device-pixel grid, whose step is `1 / devicePixelRatio` CSS px — so the bound is
5026
+ * `1 + 1 / devicePixelRatio` and widens as the page is zoomed out, rather than being a constant. At 50% zoom
5027
+ * on a 1× display it is already 3px, which is why a fixed tolerance leaks the bug back in at low zoom.
5028
+ *
5029
+ * The view is resolved from the element rather than a global, so the helper stays usable on the server.
5030
+ */
5031
+ declare const kbqGetScrollOverflowTolerance: (element: Element) => number;
5032
+ /**
5033
+ * Whether `element` has scroll overflow along `axis` larger than the measurement error of the metrics it is
5034
+ * derived from — i.e. whether there is a scroll range the user can actually reach.
5035
+ */
5036
+ declare const kbqHasScrollOverflow: (element: Element, axis?: KbqScrollAxis) => boolean;
4929
5037
  /**
4930
5038
  * Rendered height of an element, or `0` when it has no box.
4931
5039
  *
@@ -5853,5 +5961,5 @@ declare const validationTooltipHideDelay = 3000;
5853
5961
 
5854
5962
  declare const VERSION: Version;
5855
5963
 
5856
- 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, KbqSelectFooterItem, 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, kbqGetElementHeight, 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 };
5857
- 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 };
5964
+ 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, KbqSelectFooterItem, 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, ShowOnCrossFieldErrorStateMatcher, 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, kbqGetElementHeight, kbqGetPanelWidthOrigin, kbqGetScrollOverflowTolerance, kbqHasScrollOverflow, 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 };
5965
+ export type { CanColor, CanColorCtor, CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, CrossFieldErrorScope, 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, KbqScrollAxis, KbqSelectAllAdapter, KbqSelectLocaleConfiguration, KbqShadowDomOverlayHost, KbqSiblingPopup, KbqSizeUnitsConfig, KbqStickToWindowPlacementValues, KbqTheme, KbqTimeRangeLocaleConfig, KbqTimezoneLike, KbqTitleTextRef, KbqToggleSelectAllOptions, KbqTriangle, KbqUnitSystem, KeyboardNavigationHandler, ListKeyManagerModifierKey, ListKeyManagerOption };
@@ -87,6 +87,9 @@
87
87
  @include kbq-typography-level-to-styles-css-variables(typography, text-normal);
88
88
  }
89
89
 
90
+ // Ties with `kbq-normalize-text()`'s `& > * { font-size: inherit }` and wins only on source order,
91
+ // so keep this mixin included after `.kbq-option-text`.
92
+ .kbq-option-caption,
90
93
  .kbq-list-option-caption {
91
94
  @include kbq-typography-level-to-styles-css-variables(typography, text-compact);
92
95
  }
@@ -0,0 +1,31 @@
1
+ // Layout contract for the two spans `KbqEllipsisCenterDirective` renders. Loaded once by the directive
2
+ // itself through `_CdkPrivateStyleLoader`, so a host no longer copies these declarations — every copy was a
3
+ // chance for the directive to behave differently depending on where it was used.
4
+ .kbq-ellipsis-center {
5
+ position: relative;
6
+ display: flex;
7
+
8
+ // The split point is measured against the host's own `clientWidth`, so the host must not grow to fit the
9
+ // text it is about to shorten — a shrink-to-fit host measures the full width, concludes everything fits,
10
+ // and leaves the text unsplit and overflowing. `min-width: 0` opts out of the `auto` minimum a flex item
11
+ // would otherwise inherit from the non-shrinkable end span.
12
+ max-width: 100%;
13
+ min-width: 0;
14
+ overflow: hidden;
15
+
16
+ .kbq-ellipsis-center_data-text-start {
17
+ // The only half that shrinks, and the only one carrying `text-overflow` — unsplit text lands here.
18
+ flex: 0 1 auto;
19
+ overflow: hidden;
20
+ text-overflow: ellipsis;
21
+ white-space: pre;
22
+ }
23
+
24
+ .kbq-ellipsis-center_data-text-end {
25
+ // Holds the tail the split exists to keep visible (the file extension, the trailing digits), so it
26
+ // must not shrink; the directive sizes it from the width the text actually rendered at.
27
+ flex: 1 0 auto;
28
+ overflow: hidden;
29
+ white-space: pre;
30
+ }
31
+ }
@@ -7,9 +7,6 @@ import { Subject } from 'rxjs';
7
7
  * Renders text as two spans and moves the ellipsis into the middle, so the tail — a file extension, the
8
8
  * digits that tell two reports apart — stays readable when the host is too narrow for the whole string. A
9
9
  * tooltip spells out the full text, and is enabled only while something is actually hidden.
10
- *
11
- * The host needs the layout contract the consuming component ships (see `.kbq-ellipsis-center` in
12
- * `file-upload.scss`): the two spans have no styles of their own.
13
10
  */
14
11
  declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements OnInit, AfterViewInit, OnDestroy {
15
12
  private cdr;
@@ -20,6 +17,8 @@ declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements On
20
17
  * none of which resize the window, all of which change where the text has to be split.
21
18
  */
22
19
  private readonly resizeObserver;
20
+ /** The two spans this directive renders have no styles of their own until this is loaded. */
21
+ private readonly styleLoader;
23
22
  set kbqEllipsisCenter(value: string);
24
23
  /**
25
24
  * Shortest text worth splitting in the middle. Anything below it keeps its natural order and is cut off
@@ -50,6 +49,7 @@ declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements On
50
49
  private _kbqEllipsisCenter;
51
50
  private lastMeasuredWidth;
52
51
  private refreshTimeoutId;
52
+ constructor();
53
53
  ngOnInit(): void;
54
54
  ngAfterViewInit(): void;
55
55
  ngOnDestroy(): void;