@elasticias/ui 1.0.6 → 1.0.8
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/elasticias-ui.mjs +224 -62
- package/fesm2022/elasticias-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_patterns.scss +82 -5
- package/types/elasticias-ui.d.ts +110 -7
package/package.json
CHANGED
package/styles/_patterns.scss
CHANGED
|
@@ -368,13 +368,26 @@
|
|
|
368
368
|
|
|
369
369
|
.smart-bar {
|
|
370
370
|
display: grid;
|
|
371
|
-
grid-template-columns: 1fr auto;
|
|
371
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
372
372
|
gap: var(--s-3);
|
|
373
373
|
align-items: stretch;
|
|
374
374
|
background: transparent;
|
|
375
375
|
padding: 6px 8px 6px 12px;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
+
/* On a phone the search and its buttons cannot share a line: the input
|
|
379
|
+
collapses to nothing or the buttons push the row off-screen. */
|
|
380
|
+
@media (max-width: 767px) {
|
|
381
|
+
.smart-bar {
|
|
382
|
+
grid-template-columns: minmax(0, 1fr);
|
|
383
|
+
padding: 8px;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.smart-bar .actions {
|
|
387
|
+
justify-content: flex-end;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
378
391
|
.smart-bar .search {
|
|
379
392
|
position: relative;
|
|
380
393
|
display: flex;
|
|
@@ -694,6 +707,22 @@
|
|
|
694
707
|
position: relative;
|
|
695
708
|
}
|
|
696
709
|
|
|
710
|
+
/* ──────────── ROUTED SCREEN HOSTS ───────────────────────────────
|
|
711
|
+
Screens are single-column grids by convention, and a grid item's
|
|
712
|
+
default min-width is auto — so the screen's column sized itself to
|
|
713
|
+
its widest child (a filter bar, a table) and every sibling stretched
|
|
714
|
+
to match, which on a phone meant a 726px page inside a 390px window.
|
|
715
|
+
|
|
716
|
+
This lives in the global sheet rather than ef-app-main's own styles:
|
|
717
|
+
the screen is projected content, so a component-scoped rule there
|
|
718
|
+
never matches it. A screen that genuinely wants its own columns
|
|
719
|
+
declares them in its component styles, which win on specificity. */
|
|
720
|
+
|
|
721
|
+
.ef-app-main__content > * {
|
|
722
|
+
min-width: 0;
|
|
723
|
+
grid-template-columns: minmax(0, 1fr);
|
|
724
|
+
}
|
|
725
|
+
|
|
697
726
|
/* ──────────── RESULTS BAR + TABLE WRAPPER ──────────────────────── */
|
|
698
727
|
|
|
699
728
|
.tbl-wrap {
|
|
@@ -1039,6 +1068,7 @@
|
|
|
1039
1068
|
flex-wrap: wrap;
|
|
1040
1069
|
}
|
|
1041
1070
|
|
|
1071
|
+
|
|
1042
1072
|
.detail-toolbar .ref {
|
|
1043
1073
|
font-family: 'JetBrains Mono', ui-monospace, monospace;
|
|
1044
1074
|
font-size: 14px;
|
|
@@ -1120,6 +1150,11 @@
|
|
|
1120
1150
|
.card-body {
|
|
1121
1151
|
padding: 16px;
|
|
1122
1152
|
display: grid;
|
|
1153
|
+
/* minmax(0, 1fr): a grid item's default min-width is auto, so a wide child
|
|
1154
|
+
— a table, a nested data card — sized this column and pushed the card
|
|
1155
|
+
past its own container. Same trap as the content area and the screen
|
|
1156
|
+
host; this is the third place it bites. */
|
|
1157
|
+
grid-template-columns: minmax(0, 1fr);
|
|
1123
1158
|
gap: var(--s-3);
|
|
1124
1159
|
}
|
|
1125
1160
|
|
|
@@ -1160,8 +1195,8 @@
|
|
|
1160
1195
|
grid-column: span 12;
|
|
1161
1196
|
}
|
|
1162
1197
|
|
|
1163
|
-
@media (max-width:
|
|
1164
|
-
.form-grid > [class
|
|
1198
|
+
@media (max-width: 767px) {
|
|
1199
|
+
.form-grid > [class*='col-'] {
|
|
1165
1200
|
grid-column: span 12;
|
|
1166
1201
|
}
|
|
1167
1202
|
}
|
|
@@ -1666,6 +1701,13 @@
|
|
|
1666
1701
|
display: inline-flex;
|
|
1667
1702
|
align-items: center;
|
|
1668
1703
|
gap: 10px;
|
|
1704
|
+
/* A pill radius on a box that wraps to five lines is a circle, which is
|
|
1705
|
+
what a long range ("15 jan. 2021 — 7 fév. 2026") did in a narrow
|
|
1706
|
+
column. One line, truncated if it must be. */
|
|
1707
|
+
white-space: nowrap;
|
|
1708
|
+
overflow: hidden;
|
|
1709
|
+
min-width: 0;
|
|
1710
|
+
max-width: 100%;
|
|
1669
1711
|
cursor: pointer;
|
|
1670
1712
|
transition: all var(--t-fast) var(--ease-out);
|
|
1671
1713
|
min-height: 38px;
|
|
@@ -2691,6 +2733,11 @@
|
|
|
2691
2733
|
.card-body {
|
|
2692
2734
|
padding: 16px;
|
|
2693
2735
|
display: grid;
|
|
2736
|
+
/* minmax(0, 1fr): a grid item's default min-width is auto, so a wide child
|
|
2737
|
+
— a table, a nested data card — sized this column and pushed the card
|
|
2738
|
+
past its own container. Same trap as the content area and the screen
|
|
2739
|
+
host; this is the third place it bites. */
|
|
2740
|
+
grid-template-columns: minmax(0, 1fr);
|
|
2694
2741
|
gap: var(--s-3);
|
|
2695
2742
|
}
|
|
2696
2743
|
|
|
@@ -2733,8 +2780,8 @@
|
|
|
2733
2780
|
grid-column: span 12;
|
|
2734
2781
|
}
|
|
2735
2782
|
|
|
2736
|
-
@media (max-width:
|
|
2737
|
-
.ef-form-grid > [class
|
|
2783
|
+
@media (max-width: 767px) {
|
|
2784
|
+
.ef-form-grid > [class*='col-'] {
|
|
2738
2785
|
grid-column: span 12;
|
|
2739
2786
|
}
|
|
2740
2787
|
}
|
|
@@ -4304,3 +4351,33 @@ input.ef-input[type='number'] {
|
|
|
4304
4351
|
transform: rotate(360deg);
|
|
4305
4352
|
}
|
|
4306
4353
|
}
|
|
4354
|
+
|
|
4355
|
+
/* ──────────── SMALL-SCREEN OVERRIDES ────────────────────────────
|
|
4356
|
+
Last in the file on purpose: a media query adds no specificity, so a
|
|
4357
|
+
rule declared later in the sheet beats it regardless of viewport.
|
|
4358
|
+
Anything that overrides a base rule for small screens belongs here. */
|
|
4359
|
+
|
|
4360
|
+
/* The detail toolbar is full-bleed — it cancels the content gutter with a
|
|
4361
|
+
negative margin. That gutter is 16px on a phone, not 24px, so the bleed
|
|
4362
|
+
has to match or the band hangs 16px off the right edge. */
|
|
4363
|
+
@media (max-width: 767px) {
|
|
4364
|
+
.detail-toolbar {
|
|
4365
|
+
top: calc(-1 * var(--s-4));
|
|
4366
|
+
margin: calc(-1 * var(--s-4)) calc(-1 * var(--s-4)) 0;
|
|
4367
|
+
padding: 10px var(--s-4);
|
|
4368
|
+
}
|
|
4369
|
+
}
|
|
4370
|
+
|
|
4371
|
+
/* The date trigger's value can be long; on a phone it takes the room it has
|
|
4372
|
+
and truncates rather than wrapping the pill out of shape. */
|
|
4373
|
+
@media (max-width: 767px) {
|
|
4374
|
+
.dp__trigger {
|
|
4375
|
+
width: 100%;
|
|
4376
|
+
justify-content: flex-start;
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
.dp__trigger .dp__value {
|
|
4380
|
+
overflow: hidden;
|
|
4381
|
+
text-overflow: ellipsis;
|
|
4382
|
+
}
|
|
4383
|
+
}
|
package/types/elasticias-ui.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { PipeTransform, OnInit, OnChanges, TemplateRef, EventEmitter, AfterContentInit, OnDestroy, SimpleChanges, AfterViewInit } from '@angular/core';
|
|
2
|
+
import { PipeTransform, OnInit, OnChanges, TemplateRef, EventEmitter, AfterContentInit, OnDestroy, SimpleChanges, InjectionToken, AfterViewInit } from '@angular/core';
|
|
3
3
|
import { Menu } from 'primeng/menu';
|
|
4
4
|
import * as _elasticias_core from '@elasticias/core';
|
|
5
|
-
import { EfModule,
|
|
5
|
+
import { EfModule, EfNavSection, EfNavItem, EfModuleId, EfToast, EfToastAction, EfThemeConfigService } from '@elasticias/core';
|
|
6
6
|
import * as i1 from 'primeng/tooltip';
|
|
7
7
|
import * as _elasticias_screens from '@elasticias/screens';
|
|
8
8
|
import { ScreenContext, EfDetailToolbarAction, EfSearchToolbarAction, EfDataCardColumn, EfDataCardSort, EfDateRange, EfDatePresetKey } from '@elasticias/screens';
|
|
9
|
-
export { EfDataCardColumn, EfDataCardColumnAlign, EfDataCardColumnType, EfDataCardSort, EfDataCardSortDirection, EfDatePresetKey, EfDateRange, EfDetailToolbarAction, EfSearchToolbarAction } from '@elasticias/screens';
|
|
9
|
+
export { EfDataCardColumn, EfDataCardColumnAlign, EfDataCardColumnMobileRole, EfDataCardColumnType, EfDataCardSort, EfDataCardSortDirection, EfDatePresetKey, EfDateRange, EfDetailToolbarAction, EfSearchToolbarAction } from '@elasticias/screens';
|
|
10
10
|
import { BlockableUI } from 'primeng/api';
|
|
11
11
|
import { SafeResourceUrl } from '@angular/platform-browser';
|
|
12
12
|
import { ChartConfiguration } from 'chart.js';
|
|
@@ -1370,13 +1370,34 @@ declare class EfToolbarComponent {
|
|
|
1370
1370
|
*/
|
|
1371
1371
|
declare class EfAppShellComponent {
|
|
1372
1372
|
private readonly vp;
|
|
1373
|
+
private readonly perms;
|
|
1374
|
+
private readonly active;
|
|
1375
|
+
private readonly router;
|
|
1373
1376
|
/** Show the 3px module-color stripe at the top of the content area. */
|
|
1374
1377
|
stripe: boolean;
|
|
1375
1378
|
readonly viewport: _angular_core.Signal<_elasticias_core.EfViewport>;
|
|
1376
1379
|
readonly isMobile: _angular_core.Signal<boolean>;
|
|
1377
1380
|
readonly showSide: _angular_core.Signal<boolean>;
|
|
1381
|
+
readonly activeId: _angular_core.Signal<_elasticias_core.EfModuleId>;
|
|
1382
|
+
readonly switcherOpen: _angular_core.WritableSignal<boolean>;
|
|
1383
|
+
/** Five tabs is what fits a phone; the rest live in the sheet. */
|
|
1384
|
+
readonly tabs: _angular_core.Signal<EfModule[]>;
|
|
1385
|
+
readonly allVisible: _angular_core.Signal<readonly EfModule[]>;
|
|
1386
|
+
/**
|
|
1387
|
+
* The screens inside the active module, for the mobile sheet.
|
|
1388
|
+
*
|
|
1389
|
+
* On a phone the side nav is not rendered, and the tab bar switches
|
|
1390
|
+
* modules — so without this there was no way to reach any screen except
|
|
1391
|
+
* the module's default one. Same filtering as `ef-module-side`, because
|
|
1392
|
+
* it answers the same question.
|
|
1393
|
+
*/
|
|
1394
|
+
readonly moduleSections: _angular_core.Signal<EfNavSection[]>;
|
|
1395
|
+
onNavigate(item: EfNavItem): void;
|
|
1396
|
+
openSwitcher(): void;
|
|
1397
|
+
onSwitcherChange(open: boolean): void;
|
|
1398
|
+
onSelect(module: EfModule): void;
|
|
1378
1399
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfAppShellComponent, never>;
|
|
1379
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfAppShellComponent, "ef-app-shell", never, { "stripe": { "alias": "stripe"; "required": false; }; }, {}, never, ["[
|
|
1400
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfAppShellComponent, "ef-app-shell", never, { "stripe": { "alias": "stripe"; "required": false; }; }, {}, never, ["[logo]", "[side-header-meta]", "[side-footer]", "[breadcrumb]", "[search]", "[actions]", "*", "[fab]"], true, never>;
|
|
1380
1401
|
}
|
|
1381
1402
|
|
|
1382
1403
|
/**
|
|
@@ -3910,6 +3931,31 @@ declare class EfDatatableActionBarComponent {
|
|
|
3910
3931
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDatatableActionBarComponent, "ef-datatable-actionbar", never, { "context": { "alias": "context"; "required": false; }; "state": { "alias": "state"; "required": false; }; "duplicateButton": { "alias": "duplicateButton"; "required": false; }; "editButton": { "alias": "editButton"; "required": false; }; "deleteButton": { "alias": "deleteButton"; "required": false; }; }, { "duplicate": "duplicate"; "edit": "edit"; "delete": "delete"; }, never, never, true, never>;
|
|
3911
3932
|
}
|
|
3912
3933
|
|
|
3934
|
+
/**
|
|
3935
|
+
* How `ef-data-card` presents a row once the table becomes a list.
|
|
3936
|
+
*
|
|
3937
|
+
* - `row` — a dense two-line row: the primary field, a muted secondary line,
|
|
3938
|
+
* a status badge and the actions menu. Roughly eight to a screen,
|
|
3939
|
+
* which is what a list of thousands needs.
|
|
3940
|
+
* - `card` — one card per record, every field on its own labelled line.
|
|
3941
|
+
* Easier to read a single record, at about a record and a half
|
|
3942
|
+
* per screen.
|
|
3943
|
+
*
|
|
3944
|
+
* Both expand to the same labelled detail; they differ only in the collapsed
|
|
3945
|
+
* state.
|
|
3946
|
+
*/
|
|
3947
|
+
type EfDataCardMobileLayout = 'row' | 'card';
|
|
3948
|
+
/**
|
|
3949
|
+
* App-wide default, so screens don't drift apart. Provide it once at the
|
|
3950
|
+
* application root; a screen that genuinely needs the other shape overrides
|
|
3951
|
+
* it with `[mobileLayout]`.
|
|
3952
|
+
*
|
|
3953
|
+
* ```ts
|
|
3954
|
+
* { provide: EF_DATA_CARD_MOBILE_LAYOUT, useValue: 'card' }
|
|
3955
|
+
* ```
|
|
3956
|
+
*/
|
|
3957
|
+
declare const EF_DATA_CARD_MOBILE_LAYOUT: InjectionToken<EfDataCardMobileLayout>;
|
|
3958
|
+
|
|
3913
3959
|
/**
|
|
3914
3960
|
* Declarative row-action item consumed by `ef-row-actions`.
|
|
3915
3961
|
*
|
|
@@ -3990,6 +4036,63 @@ type EfTableDensity = 'compact' | 'default' | 'comfortable';
|
|
|
3990
4036
|
* ```
|
|
3991
4037
|
*/
|
|
3992
4038
|
declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
4039
|
+
private readonly viewport;
|
|
4040
|
+
private readonly configuredMobileLayout;
|
|
4041
|
+
readonly isMobile: _angular_core.Signal<boolean>;
|
|
4042
|
+
/** Per-screen override of the app-wide default. */
|
|
4043
|
+
readonly mobileLayout: _angular_core.InputSignal<EfDataCardMobileLayout>;
|
|
4044
|
+
protected readonly effectiveMobileLayout: _angular_core.Signal<EfDataCardMobileLayout>;
|
|
4045
|
+
/** Rows currently showing their detail, keyed the same way as trackByRow. */
|
|
4046
|
+
private readonly expandedRows;
|
|
4047
|
+
protected isExpanded(row: unknown, index: number): boolean;
|
|
4048
|
+
/**
|
|
4049
|
+
* The row head is the expander, but the actions menu lives inside it.
|
|
4050
|
+
* Filtering here rather than stopping propagation on a wrapper keeps the
|
|
4051
|
+
* wrapper a plain span — a click handler on one would need a keyboard
|
|
4052
|
+
* equivalent and a tabindex to be usable, which a decorative box should
|
|
4053
|
+
* not have.
|
|
4054
|
+
*/
|
|
4055
|
+
protected onRowHeadActivate(row: unknown, index: number, event: Event): void;
|
|
4056
|
+
protected toggleExpanded(row: unknown, index: number): void;
|
|
4057
|
+
private rowKey;
|
|
4058
|
+
/**
|
|
4059
|
+
* Columns that carry data on mobile, in role order. Structural columns
|
|
4060
|
+
* (select, actions) are handled by the row chrome, not as fields.
|
|
4061
|
+
*/
|
|
4062
|
+
private readonly mobileColumns;
|
|
4063
|
+
/**
|
|
4064
|
+
* The role a column plays on mobile. An explicit `mobile` wins; otherwise
|
|
4065
|
+
* it is derived so every existing screen gets a sensible list without
|
|
4066
|
+
* touching its column definitions: the first text-ish column is what you
|
|
4067
|
+
* scan for, a status chip is a badge, money and dates sit on the muted
|
|
4068
|
+
* line, and the rest waits behind the expander.
|
|
4069
|
+
*/
|
|
4070
|
+
protected roleOf(col: {
|
|
4071
|
+
id: string;
|
|
4072
|
+
mobile?: string;
|
|
4073
|
+
type?: string;
|
|
4074
|
+
}): string;
|
|
4075
|
+
private readonly derivedPrimaryId;
|
|
4076
|
+
protected readonly primaryColumn: _angular_core.Signal<EfDataCardColumn>;
|
|
4077
|
+
protected readonly statusColumn: _angular_core.Signal<EfDataCardColumn>;
|
|
4078
|
+
protected readonly secondaryColumns: _angular_core.Signal<EfDataCardColumn[]>;
|
|
4079
|
+
/**
|
|
4080
|
+
* Fields shown once a row opens. The primary column is excluded: the
|
|
4081
|
+
* header already carries it, and repeating it is the first thing you
|
|
4082
|
+
* notice. Status is excluded for the same reason.
|
|
4083
|
+
*/
|
|
4084
|
+
protected readonly detailColumns: _angular_core.Signal<EfDataCardColumn[]>;
|
|
4085
|
+
/** How many fields a card shows before "view more". */
|
|
4086
|
+
private static readonly CARD_PREVIEW_FIELDS;
|
|
4087
|
+
/** Fields a collapsed card shows. A row shows none until it opens. */
|
|
4088
|
+
protected readonly cardPreviewColumns: _angular_core.Signal<EfDataCardColumn[]>;
|
|
4089
|
+
protected readonly hasDetail: _angular_core.Signal<boolean>;
|
|
4090
|
+
/** Only worth a toggle when opening actually reveals something. */
|
|
4091
|
+
protected readonly hasMoreThanPreview: _angular_core.Signal<boolean>;
|
|
4092
|
+
/** Fields visible for a row right now, given layout and open state. */
|
|
4093
|
+
protected visibleDetail(row: unknown, index: number): ReadonlyArray<{
|
|
4094
|
+
id: string;
|
|
4095
|
+
}>;
|
|
3993
4096
|
private readonly refDataService;
|
|
3994
4097
|
readonly columns: _angular_core.InputSignal<readonly EfDataCardColumn[]>;
|
|
3995
4098
|
readonly rows: _angular_core.InputSignal<readonly TRow[]>;
|
|
@@ -4113,7 +4216,7 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4113
4216
|
trackByRow: (_: number, row: TRow) => unknown;
|
|
4114
4217
|
trackByColumn: (_: number, col: EfDataCardColumn) => string;
|
|
4115
4218
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfDataCardComponent<any>, never>;
|
|
4116
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDataCardComponent<any>, "ef-data-card", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "trackByField": { "alias": "trackByField"; "required": false; "isSignal": true; }; "pageNumber": { "alias": "pageNumber"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "totalCount": { "alias": "totalCount"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "hidePager": { "alias": "hidePager"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "loadingKey": { "alias": "loadingKey"; "required": false; "isSignal": true; }; "rowDoubleClickable": { "alias": "rowDoubleClickable"; "required": false; "isSignal": true; }; "hasActionsColumn": { "alias": "hasActionsColumn"; "required": false; "isSignal": true; }; "rowActionsContext": { "alias": "rowActionsContext"; "required": false; "isSignal": true; }; "showViewAction": { "alias": "showViewAction"; "required": false; "isSignal": true; }; "showEditAction": { "alias": "showEditAction"; "required": false; "isSignal": true; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; "isSignal": true; }; "showDeleteAction": { "alias": "showDeleteAction"; "required": false; "isSignal": true; }; "showDensityControl": { "alias": "showDensityControl"; "required": false; "isSignal": true; }; "showColumnPicker": { "alias": "showColumnPicker"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state]"], true, never>;
|
|
4219
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDataCardComponent<any>, "ef-data-card", never, { "mobileLayout": { "alias": "mobileLayout"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "trackByField": { "alias": "trackByField"; "required": false; "isSignal": true; }; "pageNumber": { "alias": "pageNumber"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "totalCount": { "alias": "totalCount"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "hidePager": { "alias": "hidePager"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "loadingKey": { "alias": "loadingKey"; "required": false; "isSignal": true; }; "rowDoubleClickable": { "alias": "rowDoubleClickable"; "required": false; "isSignal": true; }; "hasActionsColumn": { "alias": "hasActionsColumn"; "required": false; "isSignal": true; }; "rowActionsContext": { "alias": "rowActionsContext"; "required": false; "isSignal": true; }; "showViewAction": { "alias": "showViewAction"; "required": false; "isSignal": true; }; "showEditAction": { "alias": "showEditAction"; "required": false; "isSignal": true; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; "isSignal": true; }; "showDeleteAction": { "alias": "showDeleteAction"; "required": false; "isSignal": true; }; "showDensityControl": { "alias": "showDensityControl"; "required": false; "isSignal": true; }; "showColumnPicker": { "alias": "showColumnPicker"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state-mobile]", "[empty-state]"], true, never>;
|
|
4117
4220
|
}
|
|
4118
4221
|
|
|
4119
4222
|
/**
|
|
@@ -5127,5 +5230,5 @@ declare class EfEmailMetricsCardComponent {
|
|
|
5127
5230
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfEmailMetricsCardComponent, "ef-email-metrics-card", never, { "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "recentEvents": { "alias": "recentEvents"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
|
|
5128
5231
|
}
|
|
5129
5232
|
|
|
5130
|
-
export { EF_BADGE_BG_COLORS, EF_BADGE_BG_LIGHT_COLORS, EF_BADGE_BORDER_COLORS, EF_BADGE_DEFAULTS, EF_BADGE_TEXT_COLORS, EF_CHART_PALETTE, EF_DATATABLE_ACTIONS_DEFAULTS, EF_DATATABLE_COLUMN_DEFAULTS, EF_DATATABLE_DEFAULTS, EF_STATUS_COLORS, EF_STATUS_COLOR_ALIASES, EfActivationFilterComponent, EfAppMainComponent, EfAppShellComponent, EfAppShellMobileComponent, EfAppTopComponent, EfBadgeComponent, EfBlockUiComponent, EfBlockableDivComponent, EfBottomSheetComponent, EfBuildStampComponent, EfBulkBarComponent, EfButtonComponent, EfButtonGroupComponent, EfCardComponent, EfChangeHistoryComponent, EfChartComponent, EfCheckboxComponent, EfClearButtonComponent, EfColumnHeaderTemplateDirective, EfColumnTemplateDirective, EfCompactPipe, EfConfirmDialogComponent, EfCurrencyPipe, EfDataCardComponent, EfDatatableActionBarComponent, EfDatatableComponent, EfDatepickerAdvancedComponent, EfDatepickerComponent, EfDetailToolbarComponent, EfDialogComponent, EfEmailMetricsCardComponent, EfEmptyStateComponent, EfFabComponent, EfFieldsetComponent, EfFilterDrawerComponent, EfFilterPillComponent, EfFormGridComponent, EfInputNumberComponent, EfInputTextComponent, EfKpiCardComponent, EfLabelComponent, EfModuleRailComponent, EfModuleSideComponent, EfMultiSelectComponent, EfOrderBuilderComponent, EfOrderSummaryComponent, EfPagerComponent, EfPasswordComponent, EfPdfPreviewComponent, EfPillGroupComponent, EfPresetPillComponent, EfPriceDisplayComponent, EfProductCatalogueComponent, EfProductCatalogueFilterComponent, EfProductTypeaheadComponent, EfProfileChipComponent, EfPulseComponent, EfQuantitySelectorComponent, EfQuantityStepperComponent, EfRankListComponent, EfRowActionsComponent, EfSearchToolbarComponent, EfSelectButtonComponent, EfSelectComponent, EfServerErrorsDirective, EfSkeletonComponent, EfSmartBarComponent, EfStatsComponent, EfStatusChipComponent, EfTabPanelDirective, EfTabsComponent, EfTextareaComponent, EfThemeConfiguratorComponent, EfThemeToggleComponent, EfTimelineComponent, EfToastRegionComponent, EfToggleSwitchComponent, EfToolbarComponent, EfTooltipDirective, EfTotalsComponent, OrderEntityHelper, OrderLineItemHelper, TruncatePipe, buildChartConfig, getColumnAlignment, mergeColumnDefaults, resolveEfStatusColor };
|
|
5131
|
-
export type { CatalogueProduct, CatalogueProductVariant, CategoryAssignment, CategoryGroup, CategoryItem, DatatableSearchEntity, DocumentConfig, EfBadgeColor, EfBadgeConfig, EfBadgeSize, EfBadgeVariant, EfButtonComptoirSeverity, EfButtonPrimeNGSeverity, EfButtonSeverity, EfChangeHistoryEntry, EfChangeHistoryFieldChange, EfChartSeries, EfChartType, EfDataCardRowAction, EfDatatableActions, EfDatatableColumn, EfDatatableColumnAlign, EfDatatableColumnType, EfDatatableConfig, EfDateFieldValue, EfDatePreset, EfDialogAction, EfDialogSeverity, EfDialogSize, EfFabPosition, EfKpiDeltaTone, EfKpiSparkline, EfPillItem, EfPresetItem, EfRankRow, EfRowAction, EfSkeletonVariant, EfStatsRow, EfStatusColor, EfStatusReferenceItem, EfTabItem, EfTabsModule, EfTabsVariant, EfTimelineItem, EfTimelineState, EfToastRegionPosition, EfTotalsGrand, EfTotalsRow, HighlightSegment, OrderChangeInfo, OrderEntity, OrderLineItem, OrderProductsSummary, OrderSummaryItem, ProductCountGroup, ProductCountGroupLabel, ProductTypeaheadRow, ProductTypeaheadSelection, ProductWithCountGroup, SelectedFilter, ValidationResult };
|
|
5233
|
+
export { EF_BADGE_BG_COLORS, EF_BADGE_BG_LIGHT_COLORS, EF_BADGE_BORDER_COLORS, EF_BADGE_DEFAULTS, EF_BADGE_TEXT_COLORS, EF_CHART_PALETTE, EF_DATATABLE_ACTIONS_DEFAULTS, EF_DATATABLE_COLUMN_DEFAULTS, EF_DATATABLE_DEFAULTS, EF_DATA_CARD_MOBILE_LAYOUT, EF_STATUS_COLORS, EF_STATUS_COLOR_ALIASES, EfActivationFilterComponent, EfAppMainComponent, EfAppShellComponent, EfAppShellMobileComponent, EfAppTopComponent, EfBadgeComponent, EfBlockUiComponent, EfBlockableDivComponent, EfBottomSheetComponent, EfBuildStampComponent, EfBulkBarComponent, EfButtonComponent, EfButtonGroupComponent, EfCardComponent, EfChangeHistoryComponent, EfChartComponent, EfCheckboxComponent, EfClearButtonComponent, EfColumnHeaderTemplateDirective, EfColumnTemplateDirective, EfCompactPipe, EfConfirmDialogComponent, EfCurrencyPipe, EfDataCardComponent, EfDatatableActionBarComponent, EfDatatableComponent, EfDatepickerAdvancedComponent, EfDatepickerComponent, EfDetailToolbarComponent, EfDialogComponent, EfEmailMetricsCardComponent, EfEmptyStateComponent, EfFabComponent, EfFieldsetComponent, EfFilterDrawerComponent, EfFilterPillComponent, EfFormGridComponent, EfInputNumberComponent, EfInputTextComponent, EfKpiCardComponent, EfLabelComponent, EfModuleRailComponent, EfModuleSideComponent, EfMultiSelectComponent, EfOrderBuilderComponent, EfOrderSummaryComponent, EfPagerComponent, EfPasswordComponent, EfPdfPreviewComponent, EfPillGroupComponent, EfPresetPillComponent, EfPriceDisplayComponent, EfProductCatalogueComponent, EfProductCatalogueFilterComponent, EfProductTypeaheadComponent, EfProfileChipComponent, EfPulseComponent, EfQuantitySelectorComponent, EfQuantityStepperComponent, EfRankListComponent, EfRowActionsComponent, EfSearchToolbarComponent, EfSelectButtonComponent, EfSelectComponent, EfServerErrorsDirective, EfSkeletonComponent, EfSmartBarComponent, EfStatsComponent, EfStatusChipComponent, EfTabPanelDirective, EfTabsComponent, EfTextareaComponent, EfThemeConfiguratorComponent, EfThemeToggleComponent, EfTimelineComponent, EfToastRegionComponent, EfToggleSwitchComponent, EfToolbarComponent, EfTooltipDirective, EfTotalsComponent, OrderEntityHelper, OrderLineItemHelper, TruncatePipe, buildChartConfig, getColumnAlignment, mergeColumnDefaults, resolveEfStatusColor };
|
|
5234
|
+
export type { CatalogueProduct, CatalogueProductVariant, CategoryAssignment, CategoryGroup, CategoryItem, DatatableSearchEntity, DocumentConfig, EfBadgeColor, EfBadgeConfig, EfBadgeSize, EfBadgeVariant, EfButtonComptoirSeverity, EfButtonPrimeNGSeverity, EfButtonSeverity, EfChangeHistoryEntry, EfChangeHistoryFieldChange, EfChartSeries, EfChartType, EfDataCardMobileLayout, EfDataCardRowAction, EfDatatableActions, EfDatatableColumn, EfDatatableColumnAlign, EfDatatableColumnType, EfDatatableConfig, EfDateFieldValue, EfDatePreset, EfDialogAction, EfDialogSeverity, EfDialogSize, EfFabPosition, EfKpiDeltaTone, EfKpiSparkline, EfPillItem, EfPresetItem, EfRankRow, EfRowAction, EfSkeletonVariant, EfStatsRow, EfStatusColor, EfStatusReferenceItem, EfTabItem, EfTabsModule, EfTabsVariant, EfTimelineItem, EfTimelineState, EfToastRegionPosition, EfTotalsGrand, EfTotalsRow, HighlightSegment, OrderChangeInfo, OrderEntity, OrderLineItem, OrderProductsSummary, OrderSummaryItem, ProductCountGroup, ProductCountGroupLabel, ProductTypeaheadRow, ProductTypeaheadSelection, ProductWithCountGroup, SelectedFilter, ValidationResult };
|