eru-grid 0.0.50 → 0.0.52
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/fesm2022/eru-grid.mjs +619 -43
- package/fesm2022/eru-grid.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/styles/theme.scss +43 -0
- package/types/eru-grid.d.ts +204 -2
package/package.json
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
// Use Material's color tokens
|
|
11
11
|
--grid-primary: #{mat.get-theme-color($theme, primary, 40)} !important;
|
|
12
12
|
--grid-on-primary: #{mat.get-theme-color($theme, primary, 100)} !important;
|
|
13
|
+
--grid-primary-container: #{mat.get-theme-color($theme, primary-container)} !important;
|
|
14
|
+
--grid-on-primary-container: #{mat.get-theme-color($theme, on-primary-container)} !important;
|
|
15
|
+
--grid-secondary: #{mat.get-theme-color($theme, secondary)} !important;
|
|
16
|
+
--grid-on-secondary: #{mat.get-theme-color($theme, on-secondary)} !important;
|
|
17
|
+
--grid-secondary-container: #{mat.get-theme-color($theme, secondary-container)} !important;
|
|
18
|
+
--grid-on-secondary-container: #{mat.get-theme-color($theme, on-secondary-container)} !important;
|
|
19
|
+
--grid-tertiary: #{mat.get-theme-color($theme, tertiary)} !important;
|
|
20
|
+
--grid-on-tertiary: #{mat.get-theme-color($theme, on-tertiary)} !important;
|
|
21
|
+
--grid-tertiary-container: #{mat.get-theme-color($theme, tertiary-container)} !important;
|
|
22
|
+
--grid-on-tertiary-container: #{mat.get-theme-color($theme, on-tertiary-container)} !important;
|
|
13
23
|
--grid-surface: #{mat.get-theme-color($theme, surface)} !important;
|
|
14
24
|
--grid-surface-variant: #{mat.get-theme-color($theme, surface-variant)} !important;
|
|
15
25
|
--grid-surface-container: #{mat.get-theme-color($theme, surface-container)} !important;
|
|
@@ -20,6 +30,11 @@
|
|
|
20
30
|
--grid-outline-variant: #{mat.get-theme-color($theme, outline-variant)} !important;
|
|
21
31
|
--grid-error: #{mat.get-theme-color($theme, error)} !important;
|
|
22
32
|
--grid-error-container: #{mat.get-theme-color($theme, error-container)} !important;
|
|
33
|
+
|
|
34
|
+
// Base tokens — flip pure white/black (and a neutral border) by light/dark.
|
|
35
|
+
--grid-base-surface: light-dark(#ffffff, #1a1a1a) !important;
|
|
36
|
+
--grid-base-on-surface: light-dark(#000000, #ffffff) !important;
|
|
37
|
+
--grid-base-border: light-dark(#e5e7eb, #3a3a3a) !important;
|
|
23
38
|
|
|
24
39
|
// Use Material's typography tokens - OVERRIDE fallback values
|
|
25
40
|
--grid-font-family: #{mat.get-theme-typography($theme, body-large, font-family)} !important;
|
|
@@ -50,6 +65,16 @@
|
|
|
50
65
|
// Color tokens
|
|
51
66
|
--grid-primary: var(--mat-sys-primary, #6750a4);
|
|
52
67
|
--grid-on-primary: var(--mat-sys-on-primary, #ffffff);
|
|
68
|
+
--grid-primary-container: var(--mat-sys-primary-container, #eaddff);
|
|
69
|
+
--grid-on-primary-container: var(--mat-sys-on-primary-container, #21005d);
|
|
70
|
+
--grid-secondary: var(--mat-sys-secondary, #625b71);
|
|
71
|
+
--grid-on-secondary: var(--mat-sys-on-secondary, #ffffff);
|
|
72
|
+
--grid-secondary-container: var(--mat-sys-secondary-container, #e8def8);
|
|
73
|
+
--grid-on-secondary-container: var(--mat-sys-on-secondary-container, #1d192b);
|
|
74
|
+
--grid-tertiary: var(--mat-sys-tertiary, #7d5260);
|
|
75
|
+
--grid-on-tertiary: var(--mat-sys-on-tertiary, #ffffff);
|
|
76
|
+
--grid-tertiary-container: var(--mat-sys-tertiary-container, #ffd8e4);
|
|
77
|
+
--grid-on-tertiary-container: var(--mat-sys-on-tertiary-container, #31111d);
|
|
53
78
|
--grid-surface: var(--mat-sys-surface, #fef7ff);
|
|
54
79
|
--grid-surface-variant: var(--mat-sys-surface-variant, #e7e0ec);
|
|
55
80
|
--grid-surface-container: var(--mat-sys-surface-container, #f3edf7);
|
|
@@ -60,6 +85,11 @@
|
|
|
60
85
|
--grid-outline-variant: var(--mat-sys-outline-variant, #cac4d0);
|
|
61
86
|
--grid-error: var(--mat-sys-error, #ba1a1a);
|
|
62
87
|
--grid-error-container: var(--mat-sys-error-container, #ffdad6);
|
|
88
|
+
|
|
89
|
+
// Base tokens — fixed white/black flip; host can override per mode.
|
|
90
|
+
--grid-base-surface: #ffffff;
|
|
91
|
+
--grid-base-on-surface: #000000;
|
|
92
|
+
--grid-base-border: #e5e7eb;
|
|
63
93
|
--grid-outline-width: 1px;
|
|
64
94
|
|
|
65
95
|
// Typography tokens
|
|
@@ -87,6 +117,19 @@
|
|
|
87
117
|
.eru-grid-high-contrast {
|
|
88
118
|
--grid-primary: #000000;
|
|
89
119
|
--grid-on-primary: #ffffff;
|
|
120
|
+
--grid-primary-container: #e0e0e0;
|
|
121
|
+
--grid-on-primary-container: #000000;
|
|
122
|
+
--grid-secondary: #000000;
|
|
123
|
+
--grid-on-secondary: #ffffff;
|
|
124
|
+
--grid-secondary-container: #e0e0e0;
|
|
125
|
+
--grid-on-secondary-container: #000000;
|
|
126
|
+
--grid-tertiary: #000000;
|
|
127
|
+
--grid-on-tertiary: #ffffff;
|
|
128
|
+
--grid-tertiary-container: #e0e0e0;
|
|
129
|
+
--grid-on-tertiary-container: #000000;
|
|
130
|
+
--grid-base-surface: #ffffff;
|
|
131
|
+
--grid-base-on-surface: #000000;
|
|
132
|
+
--grid-base-border: #000000;
|
|
90
133
|
--grid-surface: #ffffff;
|
|
91
134
|
--grid-surface-variant: #f8f8f8;
|
|
92
135
|
--grid-on-surface: #000000;
|
package/types/eru-grid.d.ts
CHANGED
|
@@ -256,6 +256,8 @@ interface DynamicDataRequest {
|
|
|
256
256
|
apiName?: string;
|
|
257
257
|
apiField?: string;
|
|
258
258
|
search?: string;
|
|
259
|
+
limit?: number;
|
|
260
|
+
skip?: number;
|
|
259
261
|
filter?: Record<string, any>;
|
|
260
262
|
}
|
|
261
263
|
interface Field {
|
|
@@ -301,6 +303,7 @@ interface Field {
|
|
|
301
303
|
to?: number | null;
|
|
302
304
|
color?: string | null;
|
|
303
305
|
}[];
|
|
306
|
+
cell_rules?: CellFormatRule[];
|
|
304
307
|
data_length?: number;
|
|
305
308
|
start_value?: number;
|
|
306
309
|
end_value?: number;
|
|
@@ -385,6 +388,8 @@ interface Field {
|
|
|
385
388
|
* searchable whether a picker needs a filter box depends on how
|
|
386
389
|
* many options this grid shows, not on the field
|
|
387
390
|
* dateTimeFormat legacy alias; the model writes `date_format`
|
|
391
|
+
* cell_rules conditional formatting is a grid feature; it
|
|
392
|
+
* overrides the field's `color_ranges` per grid
|
|
388
393
|
*
|
|
389
394
|
* See SEEDED_FIELD_KEYS for the middle ground: keys the data model supplies a
|
|
390
395
|
* starting value for, which this grid may then override.
|
|
@@ -645,6 +650,26 @@ declare function cellStatAlias(field: string, stat: CellStatVerb, args?: {
|
|
|
645
650
|
* rule stops the request without anyone remembering to.
|
|
646
651
|
*/
|
|
647
652
|
declare function collectColumnStatRequests(columns: Field[] | null | undefined): ColumnStatRequest[];
|
|
653
|
+
/**
|
|
654
|
+
* True when this grid's column carries conditional formatting of its own.
|
|
655
|
+
*
|
|
656
|
+
* The test for "configured" is a non-empty list: an empty `cell_rules` is what
|
|
657
|
+
* removing the last rule leaves behind, and that has to read as "nothing
|
|
658
|
+
* configured here" so the data model's bands come back rather than the column
|
|
659
|
+
* being stuck with no formatting at all.
|
|
660
|
+
*/
|
|
661
|
+
declare function hasOwnCellRules(column: Field | null | undefined): boolean;
|
|
662
|
+
/**
|
|
663
|
+
* The rules in force on a column: its own conditional formatting if configured,
|
|
664
|
+
* otherwise the data model's `color_ranges` bands.
|
|
665
|
+
*
|
|
666
|
+
* Conditional formatting is a property of this grid's view, `color_ranges` a
|
|
667
|
+
* property of the field — so the two are separate keys and this is the one place
|
|
668
|
+
* that decides between them. Every consumer (cell painting, stat requests, the
|
|
669
|
+
* design pane) reads through here, so they cannot disagree about which list is
|
|
670
|
+
* live.
|
|
671
|
+
*/
|
|
672
|
+
declare function columnCellRules(column: Field | null | undefined): CellFormatRule[];
|
|
648
673
|
/** A statistic's value, or null when it has not come back (or cannot apply). */
|
|
649
674
|
declare function resolveStatValue(field: string, ref: CellStatRef | null | undefined, stats: Record<string, number> | null | undefined): number | null;
|
|
650
675
|
/**
|
|
@@ -887,6 +912,19 @@ interface CellTextStyle {
|
|
|
887
912
|
* the grid's own `--grid-*` set — a column styled with a token keeps tracking
|
|
888
913
|
* the preset/theme instead of freezing one hex.
|
|
889
914
|
*/
|
|
915
|
+
/**
|
|
916
|
+
* Theme colours offerable on a column or a conditional-format rule.
|
|
917
|
+
*
|
|
918
|
+
* A one-for-one mirror of eru-studio's `colorTokens`, label for label, with
|
|
919
|
+
* `--studio-` swapped for `--grid-`: the two libraries dress the same page, so a
|
|
920
|
+
* colour chosen on a field and the same colour chosen on a grid column have to
|
|
921
|
+
* mean the same thing. Keep the two lists in step when either changes.
|
|
922
|
+
*
|
|
923
|
+
* 'Primary Light' used to sit in here and was never part of that set — nor was
|
|
924
|
+
* `--grid-primary-light` ever defined, so picking it produced an invalid
|
|
925
|
+
* `var()` and silently dropped whatever it was applied to. Its M3 equivalent is
|
|
926
|
+
* Primary Container, which is what studio calls it.
|
|
927
|
+
*/
|
|
890
928
|
declare const GRID_COLOR_TOKENS: {
|
|
891
929
|
label: string;
|
|
892
930
|
value: string;
|
|
@@ -928,6 +966,16 @@ declare function cellTextStyleToCss(style: CellTextStyle | null | undefined): Re
|
|
|
928
966
|
* and currency.component — byte-identical, and two places to fix.
|
|
929
967
|
*/
|
|
930
968
|
declare function abbreviateNumber(num: number, system: 'lacs' | 'mn', decimals: number): string;
|
|
969
|
+
/**
|
|
970
|
+
* Which scale a value abbreviates on when no `display_number_as` is chosen:
|
|
971
|
+
* the one its digit grouping already implies.
|
|
972
|
+
*
|
|
973
|
+
* `seperator` and `display_number_as` were asking the same question twice — the
|
|
974
|
+
* data model already says whether a field reads Indian or Western, and a column
|
|
975
|
+
* grouped 1,00,00,000 that abbreviates to 'mn' is a contradiction. So the
|
|
976
|
+
* grouping supplies the scale and 'Display as' stays editable to override it.
|
|
977
|
+
*/
|
|
978
|
+
declare function abbreviationScaleFor(seperator: string | null | undefined): 'lacs' | 'mn';
|
|
931
979
|
/**
|
|
932
980
|
* Render a number or currency value the way its column configures it —
|
|
933
981
|
* decimals, separator locale, abbreviation, optional symbol prefix.
|
|
@@ -2469,6 +2517,50 @@ declare function resolveRowValue(row: any, fieldName: string): any;
|
|
|
2469
2517
|
*/
|
|
2470
2518
|
declare function evaluateRowCondition(expression: string | null | undefined, row: any): boolean;
|
|
2471
2519
|
|
|
2520
|
+
/**
|
|
2521
|
+
* Restricts an `<input type="text">` to a numeric value.
|
|
2522
|
+
*
|
|
2523
|
+
* Lives in eru-grid and is exported from its public API so the grid's cells and
|
|
2524
|
+
* eru-studio's page controls share one implementation — the same value typed in
|
|
2525
|
+
* a grid and on a page has to be accepted or rejected identically.
|
|
2526
|
+
*
|
|
2527
|
+
* Text rather than `type="number"` on purpose: a number input reformats the
|
|
2528
|
+
* value on its own, refuses to show a grouped or symbol-prefixed value, and
|
|
2529
|
+
* renders spinners the design does not use. Every eru-studio numeric field is
|
|
2530
|
+
* therefore a text input — which accepted any string at all until this.
|
|
2531
|
+
*
|
|
2532
|
+
* Filtering happens at `beforeinput`, so the character is judged in the context
|
|
2533
|
+
* it would land in: this is what tells a second '.' from the first, and a '-'
|
|
2534
|
+
* typed at the start from one typed mid-value. A `keypress` filter cannot see
|
|
2535
|
+
* either, and blur-time validation lets the user type a whole wrong value first.
|
|
2536
|
+
*/
|
|
2537
|
+
declare class NumericInputDirective {
|
|
2538
|
+
private el;
|
|
2539
|
+
/** Allow a decimal point. Off for an integer-only field. */
|
|
2540
|
+
readonly allowDecimal: _angular_core.InputSignal<boolean>;
|
|
2541
|
+
/** Allow a leading minus. Off where a negative makes no sense. */
|
|
2542
|
+
readonly allowNegative: _angular_core.InputSignal<boolean>;
|
|
2543
|
+
/**
|
|
2544
|
+
* Would this be a valid numeric string, allowing the in-progress forms a
|
|
2545
|
+
* user necessarily passes through — '', '-', '1.' — none of which parse as a
|
|
2546
|
+
* number but all of which are on the way to one.
|
|
2547
|
+
*/
|
|
2548
|
+
private isAcceptable;
|
|
2549
|
+
/** The value the input would hold if this event were allowed through. */
|
|
2550
|
+
private projectedValue;
|
|
2551
|
+
onBeforeInput(event: InputEvent): void;
|
|
2552
|
+
/**
|
|
2553
|
+
* A paste is filtered rather than blocked: pasting a formatted amount
|
|
2554
|
+
* ("$1,234.50") is a normal thing to do, and stripping it to 1234.50 is what
|
|
2555
|
+
* the user meant. Only a paste with no digits at all is rejected outright.
|
|
2556
|
+
*/
|
|
2557
|
+
onPaste(event: ClipboardEvent): void;
|
|
2558
|
+
/** Digits, at most one decimal point, and a single leading minus. */
|
|
2559
|
+
private clean;
|
|
2560
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumericInputDirective, never>;
|
|
2561
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NumericInputDirective, "input[eruNumericInput]", never, { "allowDecimal": { "alias": "eruAllowDecimal"; "required": false; "isSignal": true; }; "allowNegative": { "alias": "eruAllowNegative"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2562
|
+
}
|
|
2563
|
+
|
|
2472
2564
|
interface AttachmentConfig {
|
|
2473
2565
|
disabled?: boolean;
|
|
2474
2566
|
required?: boolean;
|
|
@@ -2572,6 +2664,80 @@ declare class CheckboxComponent {
|
|
|
2572
2664
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxComponent, "eru-checkbox", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "change": "change"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "editModeChange": "editModeChange"; }, never, never, true, never>;
|
|
2573
2665
|
}
|
|
2574
2666
|
|
|
2667
|
+
/** One chip. `color`/`background`/`dot` are optional: without them the chip
|
|
2668
|
+
* takes the neutral surface, which is what a plain value wants. */
|
|
2669
|
+
interface ChipListItem {
|
|
2670
|
+
label: string;
|
|
2671
|
+
color?: string | null;
|
|
2672
|
+
background?: string | null;
|
|
2673
|
+
dot?: string | null;
|
|
2674
|
+
}
|
|
2675
|
+
/**
|
|
2676
|
+
* A row of chips that fits its container, with a `+N` for the rest.
|
|
2677
|
+
*
|
|
2678
|
+
* Shared by the grid's and eru-studio's multi-selects so a set of values reads
|
|
2679
|
+
* the same in a cell, on a page and inside a select's trigger.
|
|
2680
|
+
*
|
|
2681
|
+
* Widths are MEASURED, not estimated. The tag cell assumes ~30px per chip,
|
|
2682
|
+
* which is close enough for short tags and wrong for the entity names a select
|
|
2683
|
+
* holds ("Acme Industries Pvt Ltd" is four times that) — it either wraps or
|
|
2684
|
+
* hides chips that would have fitted. Measuring with a canvas rather than by
|
|
2685
|
+
* rendering avoids the two-pass flicker of laying every chip out and then
|
|
2686
|
+
* hiding the overflow.
|
|
2687
|
+
*/
|
|
2688
|
+
declare class ChipListComponent implements OnDestroy {
|
|
2689
|
+
private host;
|
|
2690
|
+
private readonly _chips;
|
|
2691
|
+
/** Plain labels — the neutral chip. */
|
|
2692
|
+
set labels(value: string[] | null | undefined);
|
|
2693
|
+
/**
|
|
2694
|
+
* Chips that carry their own colours — a tag or a status, where the colour is
|
|
2695
|
+
* part of the value's meaning rather than decoration. Takes precedence over
|
|
2696
|
+
* `labels`; set one or the other.
|
|
2697
|
+
*/
|
|
2698
|
+
set chips(value: ChipListItem[] | null | undefined);
|
|
2699
|
+
private readonly _compact;
|
|
2700
|
+
set compact(value: boolean | null | undefined);
|
|
2701
|
+
/**
|
|
2702
|
+
* Width to fit into. 0 means "measure the host", which is what a page control
|
|
2703
|
+
* wants; a grid cell passes its column width, which is known before layout.
|
|
2704
|
+
*/
|
|
2705
|
+
private readonly _availableWidth;
|
|
2706
|
+
set availableWidth(value: number | null | undefined);
|
|
2707
|
+
readonly isCompact: _angular_core.Signal<boolean>;
|
|
2708
|
+
/** Width assumed when nothing above the row constrains it. */
|
|
2709
|
+
private static readonly UNCONSTRAINED_WIDTH;
|
|
2710
|
+
private readonly measuredWidth;
|
|
2711
|
+
private observer;
|
|
2712
|
+
constructor();
|
|
2713
|
+
private observe;
|
|
2714
|
+
ngOnDestroy(): void;
|
|
2715
|
+
/**
|
|
2716
|
+
* The width to fit into.
|
|
2717
|
+
*
|
|
2718
|
+
* A grid cell hands us its column width and that is the constraint. A page
|
|
2719
|
+
* control does not: eru-studio sizes every field shell with `width:
|
|
2720
|
+
* fit-content`, so the host hugs whatever we just rendered — measuring the
|
|
2721
|
+
* host would mean measuring our own output, and the row could never grow past
|
|
2722
|
+
* the chip it happens to be showing. That is why view mode sat at one chip
|
|
2723
|
+
* while edit mode, which gets Material's fixed infix width, showed three.
|
|
2724
|
+
*
|
|
2725
|
+
* So when no width is given, look UP for the first ancestor that is wider
|
|
2726
|
+
* than the host: that is the box actually constraining the layout, and it
|
|
2727
|
+
* does not change when our content does.
|
|
2728
|
+
*/
|
|
2729
|
+
private measure;
|
|
2730
|
+
/** Chip text width for the host's actual font, via a shared canvas. */
|
|
2731
|
+
private static canvas;
|
|
2732
|
+
private textWidth;
|
|
2733
|
+
private readonly fit;
|
|
2734
|
+
readonly visible: _angular_core.Signal<ChipListItem[]>;
|
|
2735
|
+
readonly hiddenCount: _angular_core.Signal<number>;
|
|
2736
|
+
readonly hiddenLabels: _angular_core.Signal<string>;
|
|
2737
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipListComponent, never>;
|
|
2738
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipListComponent, "eru-chip-list", never, { "labels": { "alias": "labels"; "required": false; }; "chips": { "alias": "chips"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "availableWidth": { "alias": "availableWidth"; "required": false; }; }, {}, never, never, true, never>;
|
|
2739
|
+
}
|
|
2740
|
+
|
|
2575
2741
|
interface CompositePart {
|
|
2576
2742
|
name: string;
|
|
2577
2743
|
label: string;
|
|
@@ -3231,6 +3397,15 @@ declare class SelectComponent implements OnInit, AfterViewInit {
|
|
|
3231
3397
|
editModeChange: EventEmitter<boolean>;
|
|
3232
3398
|
currentValue: _angular_core.WritableSignal<any>;
|
|
3233
3399
|
searchText: _angular_core.WritableSignal<string>;
|
|
3400
|
+
private static readonly OPTIONS_PAGE_SIZE;
|
|
3401
|
+
/** The rendered mat-select, for its `panel` element once the overlay opens. */
|
|
3402
|
+
private matSelect?;
|
|
3403
|
+
/** Debounced search text, sent to the consumer as `search` (→ field_str). */
|
|
3404
|
+
private readonly serverSearch;
|
|
3405
|
+
private readonly optionsSkip;
|
|
3406
|
+
/** Set when a short page comes back — nothing more to ask for. */
|
|
3407
|
+
private readonly optionsExhausted;
|
|
3408
|
+
private searchDebounce;
|
|
3234
3409
|
error: _angular_core.WritableSignal<string>;
|
|
3235
3410
|
isAllSelected: _angular_core.Signal<boolean>;
|
|
3236
3411
|
isIndeterminate: _angular_core.Signal<boolean>;
|
|
@@ -3274,11 +3449,31 @@ declare class SelectComponent implements OnInit, AfterViewInit {
|
|
|
3274
3449
|
*/
|
|
3275
3450
|
optionsCacheKey: _angular_core.Signal<string>;
|
|
3276
3451
|
onSearchChange(searchValue: string): void;
|
|
3452
|
+
/**
|
|
3453
|
+
* Ask the consumer for the next page when the panel nears its end.
|
|
3454
|
+
*
|
|
3455
|
+
* Options are appended, never recycled: mat-select addresses MatOption
|
|
3456
|
+
* instances for its selection, trigger text and keyboard navigation, so a
|
|
3457
|
+
* virtual scroller destroying them as they leave the viewport breaks all
|
|
3458
|
+
* three. Paging the data while keeping the DOM is what is wanted here.
|
|
3459
|
+
*/
|
|
3460
|
+
private panelScrollTeardown;
|
|
3461
|
+
/** Attach the paging listener to mat-select's panel once the overlay exists. */
|
|
3462
|
+
private attachPanelScroll;
|
|
3463
|
+
private detachPanelScroll;
|
|
3464
|
+
private onPanelScroll;
|
|
3277
3465
|
onOpenedChange(opened: boolean): void;
|
|
3278
3466
|
ngAfterViewInit(): void;
|
|
3279
3467
|
onDrillableClick(event: Event): void;
|
|
3280
3468
|
getProperty(property: string): any;
|
|
3281
3469
|
hasRequiredValidation(): boolean;
|
|
3470
|
+
/**
|
|
3471
|
+
* Selected values as their option labels, for the chip row.
|
|
3472
|
+
*
|
|
3473
|
+
* Same resolution as formatDisplayValue — the chip list only changes how they
|
|
3474
|
+
* are laid out, so the two must never disagree about what a value is called.
|
|
3475
|
+
*/
|
|
3476
|
+
readonly selectedLabels: _angular_core.Signal<string[]>;
|
|
3282
3477
|
formatDisplayValue(): string;
|
|
3283
3478
|
trackByValueAndIndex(index: number, option: any): string;
|
|
3284
3479
|
/**
|
|
@@ -3417,6 +3612,13 @@ declare class TagComponent implements OnInit {
|
|
|
3417
3612
|
label: any;
|
|
3418
3613
|
color: any;
|
|
3419
3614
|
}[]>;
|
|
3615
|
+
/**
|
|
3616
|
+
* Selected tags as coloured chips for the shared chip row.
|
|
3617
|
+
*
|
|
3618
|
+
* The colour is part of a tag's meaning, so it travels with the label rather
|
|
3619
|
+
* than the chip list assuming a neutral pill.
|
|
3620
|
+
*/
|
|
3621
|
+
readonly tagChips: _angular_core.Signal<ChipListItem[]>;
|
|
3420
3622
|
maxDisplayTags: _angular_core.Signal<number>;
|
|
3421
3623
|
tagDisplay: _angular_core.Signal<{
|
|
3422
3624
|
displayTags: string[];
|
|
@@ -3585,5 +3787,5 @@ declare class ThemeToggleComponent {
|
|
|
3585
3787
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggleComponent, "eru-theme-toggle", never, {}, {}, never, never, true, never>;
|
|
3586
3788
|
}
|
|
3587
3789
|
|
|
3588
|
-
export { ACTION_COLUMN_MIN_WIDTH, AttachmentComponent, CELL_RULE_OPERATORS, CheckboxComponent, ColumnConstraintsService, CompositeComponent, CurrencyComponent, CustomVirtualScrollStrategy, DATA_TYPES, DATETIME_FORMATS, DATE_FORMATS, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, GRID_COLOR_TOKENS, INHERITED_FIELD_KEYS, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, MONTH_SHORT_NAMES, NumberComponent, PRESENTATION_DATATYPES, PRESET_CONFIG_DEFAULTS, PRESET_MANAGED_FIELDS, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SEEDED_FIELD_KEYS, SELF_COLOURED_DATATYPES, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent, abbreviateNumber, cellRuleBarPercent, cellRuleMatches, cellRuleToCss, cellStatAlias, cellTextStyleToCss, collectColumnStatRequests, composeColorValue, evaluateRowCondition, formatCellValue, formatDateWithPattern, formatNumberValue, matchCellRule, matchColorRange, normalizeDatatype, normalizeDateFormat, normalizeDateTimeFormat, parseCellDate, parseColorValue, parseDateWithPattern, readRowValue, resolveColumnRules, resolveRowValue, resolveStatValue, statusPillColors, tagPillColors };
|
|
3589
|
-
export type { ActionClick, AggregationFunction, AttachmentConfig, BoardCardContext, CellFormatRule, CellRuleOperator, CellStatRef, CellStatVerb, CellTemplateContext, CellTextStyle, CellValueChange, ColorRangeBand, ColumnReorder, ColumnResize, ColumnStatRequest, ColumnWidthConstraints, CompositePart, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, DynamicDataRequest, EmailValidationResult, ExcelDownloadPayload, ExcelDownloadRequest, ExcelPivotConfig, Field, GridAction, GridConfiguration, GridFeatures, GridMode, GridPreset, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, ParsedColorValue, PeopleOption, PersonCardContext, PivotColumnGroupState, PivotColumnHeader, PivotColumnKind, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, PivotRowKind, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, ServerValidationNotice, StatusPillColors, TagPillColors, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };
|
|
3790
|
+
export { ACTION_COLUMN_MIN_WIDTH, AttachmentComponent, CELL_RULE_OPERATORS, CheckboxComponent, ChipListComponent, ColumnConstraintsService, CompositeComponent, CurrencyComponent, CustomVirtualScrollStrategy, DATA_TYPES, DATETIME_FORMATS, DATE_FORMATS, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, GRID_COLOR_TOKENS, INHERITED_FIELD_KEYS, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, MONTH_SHORT_NAMES, NumberComponent, NumericInputDirective, PRESENTATION_DATATYPES, PRESET_CONFIG_DEFAULTS, PRESET_MANAGED_FIELDS, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SEEDED_FIELD_KEYS, SELF_COLOURED_DATATYPES, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent, abbreviateNumber, abbreviationScaleFor, cellRuleBarPercent, cellRuleMatches, cellRuleToCss, cellStatAlias, cellTextStyleToCss, collectColumnStatRequests, columnCellRules, composeColorValue, evaluateRowCondition, formatCellValue, formatDateWithPattern, formatNumberValue, hasOwnCellRules, matchCellRule, matchColorRange, normalizeDatatype, normalizeDateFormat, normalizeDateTimeFormat, parseCellDate, parseColorValue, parseDateWithPattern, readRowValue, resolveColumnRules, resolveRowValue, resolveStatValue, statusPillColors, tagPillColors };
|
|
3791
|
+
export type { ActionClick, AggregationFunction, AttachmentConfig, BoardCardContext, CellFormatRule, CellRuleOperator, CellStatRef, CellStatVerb, CellTemplateContext, CellTextStyle, CellValueChange, ChipListItem, ColorRangeBand, ColumnReorder, ColumnResize, ColumnStatRequest, ColumnWidthConstraints, CompositePart, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, DynamicDataRequest, EmailValidationResult, ExcelDownloadPayload, ExcelDownloadRequest, ExcelPivotConfig, Field, GridAction, GridConfiguration, GridFeatures, GridMode, GridPreset, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, ParsedColorValue, PeopleOption, PersonCardContext, PivotColumnGroupState, PivotColumnHeader, PivotColumnKind, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, PivotRowKind, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, ServerValidationNotice, StatusPillColors, TagPillColors, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };
|