@koobiq/components 20.3.1 → 20.4.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.
- package/accordion/accordion.scss +4 -1
- package/accordion/index.d.ts +36 -12
- package/alert/index.d.ts +8 -0
- package/breadcrumbs/index.d.ts +2 -0
- package/button-toggle/button-toggle-tokens.scss +14 -0
- package/button-toggle/button-toggle.scss +75 -3
- package/core/index.d.ts +146 -5
- package/core/option/_option-theme.scss +3 -0
- package/core/styles/common/_select.scss +98 -3
- package/core/styles/typography/_typography.scss +8 -0
- package/ellipsis-center/ellipsis-center.scss +31 -0
- package/ellipsis-center/index.d.ts +35 -2
- package/fesm2022/koobiq-components-accordion.mjs +143 -44
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +17 -1
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +8 -3
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +10 -5
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +214 -11
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +2 -2
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +101 -34
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +7 -7
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +94 -55
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +177 -14
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +359 -44
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +6 -2
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +48 -7
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +117 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +5 -1
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +25 -6
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +460 -197
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +388 -74
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +4 -4
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +15 -3
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +2 -2
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +14 -4
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/file-upload.scss +0 -18
- package/file-upload/index.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.scss +15 -3
- package/file-upload/single-file-upload.component.scss +10 -2
- package/filter-bar/filter-bar-tokens.scss +2 -1
- package/filter-bar/index.d.ts +41 -4
- package/filter-bar/pipes/base-pipe.scss +24 -6
- package/filter-bar/pipes/pipe-input.scss +3 -1
- package/inline-edit/index.d.ts +87 -8
- package/inline-edit/inline-edit-tokens.scss +1 -0
- package/inline-edit/inline-edit.scss +26 -0
- package/link/_link-theme.scss +50 -15
- package/list/index.d.ts +126 -5
- package/markdown/index.d.ts +2 -0
- package/modal/index.d.ts +16 -7
- package/navbar/_navbar-item_horizontal.scss +5 -0
- package/package.json +3 -3
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/schematics/migrations/alert-signals/index.js +4 -1
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +3 -34
- package/schematics/migrations/empty-state-size-attr/index.js +3 -34
- package/schematics/migrations/filter-bar-signals/index.js +4 -1
- package/schematics/migrations/loader-overlay-size-attr/index.js +3 -34
- package/schematics/migrations/v20-upgrade/index.js +4 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/utils/angular-parsing.js +11 -12
- package/schematics/utils/package-config.js +5 -4
- package/schematics/utils/typescript.js +24 -0
- package/select/_select-theme.scss +9 -1
- package/select/index.d.ts +18 -2
- package/select/select.scss +13 -0
- package/sidebar/index.d.ts +1 -0
- package/sidepanel/index.d.ts +9 -0
- package/tabs/_tabs-common.scss +111 -2
- package/tabs/index.d.ts +79 -48
- package/tabs/tab-group.scss +0 -4
- package/tabs/tab-header.scss +0 -2
- package/tabs/tab-nav-bar.scss +3 -11
- package/time-range/index.d.ts +140 -5
- package/time-range/time-range.scss +16 -1
- package/title/index.d.ts +10 -2
- package/tree/index.d.ts +1 -0
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
|
|
770
|
-
* `KbqSelectModule` (`kbq-select`) only, while `selectAll` is read by
|
|
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. */
|
|
@@ -830,6 +900,11 @@ type KbqTimeRangeLocaleConfig = {
|
|
|
830
900
|
apply: string;
|
|
831
901
|
cancel: string;
|
|
832
902
|
rangeLabel: string;
|
|
903
|
+
/**
|
|
904
|
+
* Reported when both ends of the range leave `minDate`/`maxDate`. Supports the `{{ value }}` placeholder.
|
|
905
|
+
* Optional, so a configuration written before it existed still compiles and gets the default wording.
|
|
906
|
+
*/
|
|
907
|
+
outOfBoundsError?: string;
|
|
833
908
|
allTime: string;
|
|
834
909
|
currentQuarter: string;
|
|
835
910
|
currentYear: string;
|
|
@@ -881,6 +956,8 @@ declare const enUSLocaleData: {
|
|
|
881
956
|
a11y: {
|
|
882
957
|
close: string;
|
|
883
958
|
save: string;
|
|
959
|
+
saving: string;
|
|
960
|
+
saveFailed: string;
|
|
884
961
|
cancel: string;
|
|
885
962
|
removeAll: string;
|
|
886
963
|
expandBreadcrumbs: string;
|
|
@@ -1032,6 +1109,7 @@ declare const enUSLocaleData: {
|
|
|
1032
1109
|
apply: string;
|
|
1033
1110
|
cancel: string;
|
|
1034
1111
|
rangeLabel: string;
|
|
1112
|
+
outOfBoundsError: string;
|
|
1035
1113
|
allTime: string;
|
|
1036
1114
|
currentQuarter: string;
|
|
1037
1115
|
currentYear: string;
|
|
@@ -1084,6 +1162,8 @@ declare const esLALocaleData: {
|
|
|
1084
1162
|
a11y: {
|
|
1085
1163
|
close: string;
|
|
1086
1164
|
save: string;
|
|
1165
|
+
saving: string;
|
|
1166
|
+
saveFailed: string;
|
|
1087
1167
|
cancel: string;
|
|
1088
1168
|
removeAll: string;
|
|
1089
1169
|
expandBreadcrumbs: string;
|
|
@@ -1234,6 +1314,7 @@ declare const esLALocaleData: {
|
|
|
1234
1314
|
apply: string;
|
|
1235
1315
|
cancel: string;
|
|
1236
1316
|
rangeLabel: string;
|
|
1317
|
+
outOfBoundsError: string;
|
|
1237
1318
|
allTime: string;
|
|
1238
1319
|
currentQuarter: string;
|
|
1239
1320
|
currentYear: string;
|
|
@@ -1286,6 +1367,8 @@ declare const ptBRLocaleData: {
|
|
|
1286
1367
|
a11y: {
|
|
1287
1368
|
close: string;
|
|
1288
1369
|
save: string;
|
|
1370
|
+
saving: string;
|
|
1371
|
+
saveFailed: string;
|
|
1289
1372
|
cancel: string;
|
|
1290
1373
|
removeAll: string;
|
|
1291
1374
|
expandBreadcrumbs: string;
|
|
@@ -1436,6 +1519,7 @@ declare const ptBRLocaleData: {
|
|
|
1436
1519
|
apply: string;
|
|
1437
1520
|
cancel: string;
|
|
1438
1521
|
rangeLabel: string;
|
|
1522
|
+
outOfBoundsError: string;
|
|
1439
1523
|
allTime: string;
|
|
1440
1524
|
currentQuarter: string;
|
|
1441
1525
|
currentYear: string;
|
|
@@ -1488,6 +1572,8 @@ declare const ruRULocaleData: {
|
|
|
1488
1572
|
a11y: {
|
|
1489
1573
|
close: string;
|
|
1490
1574
|
save: string;
|
|
1575
|
+
saving: string;
|
|
1576
|
+
saveFailed: string;
|
|
1491
1577
|
cancel: string;
|
|
1492
1578
|
removeAll: string;
|
|
1493
1579
|
expandBreadcrumbs: string;
|
|
@@ -1639,6 +1725,7 @@ declare const ruRULocaleData: {
|
|
|
1639
1725
|
apply: string;
|
|
1640
1726
|
cancel: string;
|
|
1641
1727
|
rangeLabel: string;
|
|
1728
|
+
outOfBoundsError: string;
|
|
1642
1729
|
allTime: string;
|
|
1643
1730
|
currentQuarter: string;
|
|
1644
1731
|
currentYear: string;
|
|
@@ -1691,6 +1778,8 @@ declare const tkTMLocaleData: {
|
|
|
1691
1778
|
a11y: {
|
|
1692
1779
|
close: string;
|
|
1693
1780
|
save: string;
|
|
1781
|
+
saving: string;
|
|
1782
|
+
saveFailed: string;
|
|
1694
1783
|
cancel: string;
|
|
1695
1784
|
removeAll: string;
|
|
1696
1785
|
expandBreadcrumbs: string;
|
|
@@ -1842,6 +1931,7 @@ declare const tkTMLocaleData: {
|
|
|
1842
1931
|
apply: string;
|
|
1843
1932
|
cancel: string;
|
|
1844
1933
|
rangeLabel: string;
|
|
1934
|
+
outOfBoundsError: string;
|
|
1845
1935
|
allTime: string;
|
|
1846
1936
|
currentQuarter: string;
|
|
1847
1937
|
currentYear: string;
|
|
@@ -2126,6 +2216,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2126
2216
|
a11y: {
|
|
2127
2217
|
close: string;
|
|
2128
2218
|
save: string;
|
|
2219
|
+
saving: string;
|
|
2220
|
+
saveFailed: string;
|
|
2129
2221
|
cancel: string;
|
|
2130
2222
|
removeAll: string;
|
|
2131
2223
|
expandBreadcrumbs: string;
|
|
@@ -2277,6 +2369,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2277
2369
|
apply: string;
|
|
2278
2370
|
cancel: string;
|
|
2279
2371
|
rangeLabel: string;
|
|
2372
|
+
outOfBoundsError: string;
|
|
2280
2373
|
allTime: string;
|
|
2281
2374
|
currentQuarter: string;
|
|
2282
2375
|
currentYear: string;
|
|
@@ -2366,6 +2459,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2366
2459
|
a11y: {
|
|
2367
2460
|
close: string;
|
|
2368
2461
|
save: string;
|
|
2462
|
+
saving: string;
|
|
2463
|
+
saveFailed: string;
|
|
2369
2464
|
cancel: string;
|
|
2370
2465
|
removeAll: string;
|
|
2371
2466
|
expandBreadcrumbs: string;
|
|
@@ -2516,6 +2611,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2516
2611
|
apply: string;
|
|
2517
2612
|
cancel: string;
|
|
2518
2613
|
rangeLabel: string;
|
|
2614
|
+
outOfBoundsError: string;
|
|
2519
2615
|
allTime: string;
|
|
2520
2616
|
currentQuarter: string;
|
|
2521
2617
|
currentYear: string;
|
|
@@ -2601,6 +2697,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2601
2697
|
a11y: {
|
|
2602
2698
|
close: string;
|
|
2603
2699
|
save: string;
|
|
2700
|
+
saving: string;
|
|
2701
|
+
saveFailed: string;
|
|
2604
2702
|
cancel: string;
|
|
2605
2703
|
removeAll: string;
|
|
2606
2704
|
expandBreadcrumbs: string;
|
|
@@ -2751,6 +2849,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2751
2849
|
apply: string;
|
|
2752
2850
|
cancel: string;
|
|
2753
2851
|
rangeLabel: string;
|
|
2852
|
+
outOfBoundsError: string;
|
|
2754
2853
|
allTime: string;
|
|
2755
2854
|
currentQuarter: string;
|
|
2756
2855
|
currentYear: string;
|
|
@@ -2841,6 +2940,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2841
2940
|
a11y: {
|
|
2842
2941
|
close: string;
|
|
2843
2942
|
save: string;
|
|
2943
|
+
saving: string;
|
|
2944
|
+
saveFailed: string;
|
|
2844
2945
|
cancel: string;
|
|
2845
2946
|
removeAll: string;
|
|
2846
2947
|
expandBreadcrumbs: string;
|
|
@@ -2992,6 +3093,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
2992
3093
|
apply: string;
|
|
2993
3094
|
cancel: string;
|
|
2994
3095
|
rangeLabel: string;
|
|
3096
|
+
outOfBoundsError: string;
|
|
2995
3097
|
allTime: string;
|
|
2996
3098
|
currentQuarter: string;
|
|
2997
3099
|
currentYear: string;
|
|
@@ -3078,6 +3180,8 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
3078
3180
|
a11y: {
|
|
3079
3181
|
close: string;
|
|
3080
3182
|
save: string;
|
|
3183
|
+
saving: string;
|
|
3184
|
+
saveFailed: string;
|
|
3081
3185
|
cancel: string;
|
|
3082
3186
|
removeAll: string;
|
|
3083
3187
|
expandBreadcrumbs: string;
|
|
@@ -3229,6 +3333,7 @@ declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
|
|
|
3229
3333
|
apply: string;
|
|
3230
3334
|
cancel: string;
|
|
3231
3335
|
rangeLabel: string;
|
|
3336
|
+
outOfBoundsError: string;
|
|
3232
3337
|
allTime: string;
|
|
3233
3338
|
currentQuarter: string;
|
|
3234
3339
|
currentYear: string;
|
|
@@ -4911,6 +5016,34 @@ declare const kbqInjectNativeElement: <T extends Element = HTMLElement>() => T;
|
|
|
4911
5016
|
* revealing it would shift the list out from under it.
|
|
4912
5017
|
*/
|
|
4913
5018
|
declare const kbqFocusAndReveal: (element: HTMLElement, skipReveal?: boolean) => void;
|
|
5019
|
+
/** Axis a scroll-overflow check applies to. */
|
|
5020
|
+
type KbqScrollAxis = 'horizontal' | 'vertical';
|
|
5021
|
+
/**
|
|
5022
|
+
* Largest disagreement (px) between an element's box metrics and the scroll offset the browser actually
|
|
5023
|
+
* hands out.
|
|
5024
|
+
*
|
|
5025
|
+
* `scrollWidth`/`clientWidth` are rounded to whole CSS pixels (up to 1px of error) while the scroll offset
|
|
5026
|
+
* snaps to the device-pixel grid, whose step is `1 / devicePixelRatio` CSS px — so the bound is
|
|
5027
|
+
* `1 + 1 / devicePixelRatio` and widens as the page is zoomed out, rather than being a constant. At 50% zoom
|
|
5028
|
+
* on a 1× display it is already 3px, which is why a fixed tolerance leaks the bug back in at low zoom.
|
|
5029
|
+
*
|
|
5030
|
+
* The view is resolved from the element rather than a global, so the helper stays usable on the server.
|
|
5031
|
+
*/
|
|
5032
|
+
declare const kbqGetScrollOverflowTolerance: (element: Element) => number;
|
|
5033
|
+
/**
|
|
5034
|
+
* Whether `element` has scroll overflow along `axis` larger than the measurement error of the metrics it is
|
|
5035
|
+
* derived from — i.e. whether there is a scroll range the user can actually reach.
|
|
5036
|
+
*/
|
|
5037
|
+
declare const kbqHasScrollOverflow: (element: Element, axis?: KbqScrollAxis) => boolean;
|
|
5038
|
+
/**
|
|
5039
|
+
* Rendered height of an element, or `0` when it has no box.
|
|
5040
|
+
*
|
|
5041
|
+
* `getClientRects()` returns an empty list for elements that are not laid out and is missing entirely
|
|
5042
|
+
* from the server DOM, so both the method and the first rect are read defensively rather than going
|
|
5043
|
+
* through `getBoundingClientRect()`, whose zeroes are indistinguishable from a genuinely collapsed
|
|
5044
|
+
* element.
|
|
5045
|
+
*/
|
|
5046
|
+
declare const kbqGetElementHeight: (element: Element) => number;
|
|
4914
5047
|
|
|
4915
5048
|
declare function isBoolean(value: unknown): value is boolean;
|
|
4916
5049
|
/** Whether the value is undefined. */
|
|
@@ -5396,6 +5529,14 @@ declare class KbqSelectFooter {
|
|
|
5396
5529
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooter, never>;
|
|
5397
5530
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooter, "kbq-select-footer, [kbq-select-footer]", never, {}, {}, never, never, true, never>;
|
|
5398
5531
|
}
|
|
5532
|
+
/**
|
|
5533
|
+
* Action inside a `kbq-select-footer`, drawn as a row of the drop-down menu rather than as a form
|
|
5534
|
+
* button. Apply it to a native `button` or `a` so activation and semantics stay native.
|
|
5535
|
+
*/
|
|
5536
|
+
declare class KbqSelectFooterItem {
|
|
5537
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooterItem, never>;
|
|
5538
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooterItem, "[kbq-select-footer-item]", never, {}, {}, never, never, true, never>;
|
|
5539
|
+
}
|
|
5399
5540
|
declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
|
|
5400
5541
|
protected formField: KbqFormFieldRef;
|
|
5401
5542
|
readonly changes: EventEmitter<string>;
|
|
@@ -5821,5 +5962,5 @@ declare const validationTooltipHideDelay = 3000;
|
|
|
5821
5962
|
|
|
5822
5963
|
declare const VERSION: Version;
|
|
5823
5964
|
|
|
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 };
|
|
5965
|
+
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 };
|
|
5966
|
+
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
|
}
|
|
@@ -234,6 +234,9 @@
|
|
|
234
234
|
overflow: hidden auto;
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
+
// The tokens are left undeclared: the value lives in the fallback, so one override reaches every panel
|
|
238
|
+
// that extends this placeholder — the dropdown and the autocomplete included. Declaring them in
|
|
239
|
+
// `select-tokens.scss` would scope them to `.kbq-select__panel` and put those two out of reach.
|
|
237
240
|
%kbq-select-footer {
|
|
238
241
|
@include vendor-prefixes.user-select(none);
|
|
239
242
|
|
|
@@ -241,14 +244,61 @@
|
|
|
241
244
|
align-items: center;
|
|
242
245
|
box-sizing: border-box;
|
|
243
246
|
|
|
244
|
-
min-height:
|
|
247
|
+
min-height: var(--kbq-select-footer-size-min-height, var(--kbq-size-4xl));
|
|
245
248
|
|
|
246
|
-
border-top-width:
|
|
249
|
+
border-top-width: var(--kbq-select-footer-size-border-width, var(--kbq-size-border-width));
|
|
247
250
|
border-top-style: solid;
|
|
248
251
|
|
|
249
|
-
padding: var(--kbq-size-
|
|
252
|
+
padding: var(--kbq-select-footer-size-padding-vertical, var(--kbq-size-xxs))
|
|
253
|
+
var(--kbq-select-footer-size-padding-horizontal, var(--kbq-size-l));
|
|
250
254
|
}
|
|
251
255
|
|
|
256
|
+
// The footer's action is drawn as a row of the drop-down menu rather than as a form button: full
|
|
257
|
+
// panel width, the option's own box and hover fill, so it reads as the last entry of the list
|
|
258
|
+
// instead of a control parked underneath it.
|
|
259
|
+
%kbq-select-footer-item {
|
|
260
|
+
@include vendor-prefixes.user-select(none);
|
|
261
|
+
|
|
262
|
+
// A native `button`/`a` flashes on tap without this; `kbq-list-item-base()`, which the option rows
|
|
263
|
+
// above use, is not included because the row zeroes the vertical padding that mixin sets.
|
|
264
|
+
-webkit-tap-highlight-color: transparent;
|
|
265
|
+
|
|
266
|
+
display: flex;
|
|
267
|
+
flex-direction: row;
|
|
268
|
+
align-items: center;
|
|
269
|
+
box-sizing: border-box;
|
|
270
|
+
outline: none;
|
|
271
|
+
|
|
272
|
+
// `flex-grow` rather than `width: 100%`: alone in the footer it fills the content box just the same,
|
|
273
|
+
// but it shares the row instead of squeezing a caption or a second action out of it. The basis stays
|
|
274
|
+
// `auto` — `flex: 1` would expand to a `0%` basis and hand two actions the same width whatever they
|
|
275
|
+
// say.
|
|
276
|
+
flex: 1 1 auto;
|
|
277
|
+
min-height: var(--kbq-select-footer-item-size-height, var(--kbq-size-3xl));
|
|
278
|
+
gap: var(--kbq-size-s);
|
|
279
|
+
|
|
280
|
+
// Transparent border, as on an option, so the row keeps the same content inset — and so the focus
|
|
281
|
+
// ring below can recolour it without shifting anything.
|
|
282
|
+
border: var(--kbq-size-3xs) solid transparent;
|
|
283
|
+
border-radius: var(--kbq-select-footer-item-size-border-radius, var(--kbq-size-xxs));
|
|
284
|
+
|
|
285
|
+
padding: 0 kbq-difference-series-css-variables([size-m, size-3xs]);
|
|
286
|
+
|
|
287
|
+
background: transparent;
|
|
288
|
+
cursor: pointer;
|
|
289
|
+
|
|
290
|
+
text-align: left;
|
|
291
|
+
text-decoration: none;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Extends an item's hit area past the box it paints, with a transparent pseudo-element on the element
|
|
295
|
+
// that owns the click handler — a pseudo-element is hit-tested as part of that element, so hover and
|
|
296
|
+
// click both reach the gutter with no TS and no `z-index`. This one claims a fixed strip either side of
|
|
297
|
+
// a plain vertical list. The same technique, sized differently, is hand-rolled where the geometry does
|
|
298
|
+
// not fit: `.kbq-navbar-item`'s `:before` cancels the item's own margin (DS-2558), and
|
|
299
|
+
// `--kbq-button-toggle-size-item-hit-area-*` tiles a group's `gap` between two neighbours and hands the
|
|
300
|
+
// group's padding to the outermost items, per orientation (DS-4164). Any clipping ancestor eats all of
|
|
301
|
+
// them — see the note on `.kbq-button-toggle`'s `overflow`.
|
|
252
302
|
@mixin item-active-area($outline) {
|
|
253
303
|
position: relative;
|
|
254
304
|
|
|
@@ -268,3 +318,48 @@
|
|
|
268
318
|
left: calc(100% + $outline); // outline size
|
|
269
319
|
}
|
|
270
320
|
}
|
|
321
|
+
|
|
322
|
+
// A mixin of its own: the row's structure is only extended under `.kbq-select__panel`, and emitting its
|
|
323
|
+
// colours anywhere else would paint a half-styled control.
|
|
324
|
+
@mixin kbq-select-footer-item-theme() {
|
|
325
|
+
.kbq-select__footer-item {
|
|
326
|
+
color: var(--kbq-foreground-contrast);
|
|
327
|
+
|
|
328
|
+
// The row is reachable with TAB, so it needs a focus indicator of its own; `outline: none` in
|
|
329
|
+
// the structural rule would otherwise leave it with none at all. Recolouring the 2px layout
|
|
330
|
+
// border is the whole ring — adding an outline on top of it would render 3px, half again as
|
|
331
|
+
// thick as every other focused control (a button pairs a 1px border with a 1px outline).
|
|
332
|
+
&:focus-visible {
|
|
333
|
+
border-color: var(--kbq-states-line-focus-theme);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// `:disabled` alone would miss an `a`, which the directive also supports and which cannot carry
|
|
337
|
+
// the attribute — those are marked with `.kbq-disabled`, as `.kbq-option` and `.kbq-dropdown-item` are.
|
|
338
|
+
&:hover:not(:disabled, .kbq-disabled) {
|
|
339
|
+
background: var(--kbq-states-background-transparent-hover);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
&:active:not(:disabled, .kbq-disabled) {
|
|
343
|
+
background: var(--kbq-states-background-transparent-active);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
&:disabled,
|
|
347
|
+
&.kbq-disabled {
|
|
348
|
+
color: var(--kbq-states-foreground-disabled);
|
|
349
|
+
cursor: default;
|
|
350
|
+
|
|
351
|
+
// A native `button` ignores the pointer once it carries `disabled`, but an `a` cannot carry the
|
|
352
|
+
// attribute, so the class has to do it — otherwise a greyed-out link still navigates on a click
|
|
353
|
+
// and closes the panel on the way. Same pair `kbq-link` uses for its own disabled state.
|
|
354
|
+
pointer-events: none;
|
|
355
|
+
|
|
356
|
+
// `.kbq-icon` is coloured from an absolute token rather than `currentColor`, so a projected
|
|
357
|
+
// icon would stay at full contrast beside a greyed label. Only the ones left at the default
|
|
358
|
+
// colour: `.kbq-empty` is what `KbqColorDirective` leaves behind when the consumer set none,
|
|
359
|
+
// and an icon button carries its own disabled state.
|
|
360
|
+
& .kbq-icon.kbq-empty:not(.kbq-icon-button, .kbq-icon-item) {
|
|
361
|
+
color: var(--kbq-states-foreground-disabled);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
@@ -239,6 +239,10 @@
|
|
|
239
239
|
@include kbq-typography-level-to-styles-css-variables(typography, mono-normal-strong);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
+
.kbq-mono-normal-medium {
|
|
243
|
+
@include kbq-typography-level-to-styles-css-variables(typography, mono-normal-medium);
|
|
244
|
+
}
|
|
245
|
+
|
|
242
246
|
.kbq-mono-compact {
|
|
243
247
|
@include kbq-typography-level-to-styles-css-variables(typography, mono-compact);
|
|
244
248
|
}
|
|
@@ -247,6 +251,10 @@
|
|
|
247
251
|
@include kbq-typography-level-to-styles-css-variables(typography, mono-compact-strong);
|
|
248
252
|
}
|
|
249
253
|
|
|
254
|
+
.kbq-mono-codeblock {
|
|
255
|
+
@include kbq-typography-level-to-styles-css-variables(typography, mono-codeblock);
|
|
256
|
+
}
|
|
257
|
+
|
|
250
258
|
.kbq-tabular-big {
|
|
251
259
|
@include kbq-typography-level-to-styles-css-variables(typography, tabular-big);
|
|
252
260
|
}
|
|
@@ -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
|
+
}
|
|
@@ -3,20 +3,53 @@ import { OnInit, AfterViewInit, OnDestroy } from '@angular/core';
|
|
|
3
3
|
import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Renders text as two spans and moves the ellipsis into the middle, so the tail — a file extension, the
|
|
8
|
+
* digits that tell two reports apart — stays readable when the host is too narrow for the whole string. A
|
|
9
|
+
* tooltip spells out the full text, and is enabled only while something is actually hidden.
|
|
10
|
+
*/
|
|
6
11
|
declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements OnInit, AfterViewInit, OnDestroy {
|
|
7
12
|
private cdr;
|
|
13
|
+
/**
|
|
14
|
+
* Application-wide `ResizeObserver` shared by every consumer, as `KbqTitleDirective` uses. Unlike the
|
|
15
|
+
* `window:resize` listener this directive used to carry, it also reacts to container-only resizes — a
|
|
16
|
+
* splitter drag, a sidebar collapse, or the vertical scrollbar that appears once a file list fills up —
|
|
17
|
+
* none of which resize the window, all of which change where the text has to be split.
|
|
18
|
+
*/
|
|
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;
|
|
8
22
|
set kbqEllipsisCenter(value: string);
|
|
23
|
+
/**
|
|
24
|
+
* Shortest text worth splitting in the middle. Anything below it keeps its natural order and is cut off
|
|
25
|
+
* at the end by the host's own `text-overflow`.
|
|
26
|
+
*
|
|
27
|
+
* Defaults to `0` — every overflowing text is split — because that is what the directive has always
|
|
28
|
+
* done: the input was declared but never read, so any other default would silently end-truncate labels
|
|
29
|
+
* that consumers expect to see split.
|
|
30
|
+
*/
|
|
9
31
|
readonly minVisibleLength: i0.InputSignal<number>;
|
|
32
|
+
/**
|
|
33
|
+
* Lower bound, in pixels, for the average glyph width used to decide how many characters fit in the
|
|
34
|
+
* tail. The rendered text is measured as well and the wider of the two wins, so an underestimate here
|
|
35
|
+
* can no longer push the extension out of the tail — raising it only shortens the tail further.
|
|
36
|
+
*/
|
|
10
37
|
readonly charWidth: i0.InputSignal<number>;
|
|
11
38
|
/**
|
|
12
39
|
* Debounce time (ms) for resize events before recalculating ellipsis position.
|
|
13
40
|
* @default 50
|
|
14
41
|
*/
|
|
15
42
|
readonly debounceInterval: i0.InputSignalWithTransform<number, unknown>;
|
|
16
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated No longer read. Resizes now come from the shared `ResizeObserver`, which also catches the
|
|
45
|
+
* container-only ones a `window:resize` listener cannot see; the host listener that used to feed this
|
|
46
|
+
* subject is gone, and nothing subscribes to it. Kept as a no-op and removed in the next major version.
|
|
47
|
+
* @docs-private */
|
|
17
48
|
readonly resizeStream: Subject<Event>;
|
|
18
49
|
private _kbqEllipsisCenter;
|
|
19
|
-
private
|
|
50
|
+
private lastMeasuredWidth;
|
|
51
|
+
private refreshTimeoutId;
|
|
52
|
+
constructor();
|
|
20
53
|
ngOnInit(): void;
|
|
21
54
|
ngAfterViewInit(): void;
|
|
22
55
|
ngOnDestroy(): void;
|