@elasticias/ui 1.0.22 → 1.0.24
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 +185 -36
- package/fesm2022/elasticias-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_comptoir.scss +6 -0
- package/styles/_patterns.scss +13 -10
- package/types/elasticias-ui.d.ts +129 -7
package/package.json
CHANGED
package/styles/_comptoir.scss
CHANGED
|
@@ -90,6 +90,11 @@
|
|
|
90
90
|
--paper: var(--ink-50);
|
|
91
91
|
--paper-alt: #fff;
|
|
92
92
|
--rule: var(--ink-200);
|
|
93
|
+
/* The border a bordered control moves to on hover. One token, because the
|
|
94
|
+
two conventions that grew here — near-black on ghost buttons and pills,
|
|
95
|
+
mid-grey on selects, triggers and row actions — meant a button and a
|
|
96
|
+
select sitting in the same row hovered to different colours. */
|
|
97
|
+
--rule-hover: var(--ink-400);
|
|
93
98
|
--rule-soft: rgba(15, 17, 21, 0.05);
|
|
94
99
|
--text: var(--ink-900);
|
|
95
100
|
--text-mute: var(--ink-500);
|
|
@@ -123,6 +128,7 @@
|
|
|
123
128
|
--paper: var(--ink-900);
|
|
124
129
|
--paper-alt: var(--ink-800);
|
|
125
130
|
--rule: rgba(248, 249, 251, 0.08);
|
|
131
|
+
--rule-hover: rgba(248, 249, 251, 0.28);
|
|
126
132
|
--rule-soft: rgba(248, 249, 251, 0.04);
|
|
127
133
|
--text: var(--ink-50);
|
|
128
134
|
--text-mute: var(--ink-400);
|
package/styles/_patterns.scss
CHANGED
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.btn-ghost:hover {
|
|
142
|
-
border-color: var(--
|
|
142
|
+
border-color: var(--rule-hover);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
/* Brand-tinted action buttons (e.g. ef-pdf-preview footer). */
|
|
@@ -172,10 +172,13 @@
|
|
|
172
172
|
padding: 10px 12px;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
+
/* Dense rows and toolbars. `--hit` rather than a bare 32: the number was
|
|
176
|
+
hardcoded here while `.btn` above reads `--hit-base`, so the two ends of the
|
|
177
|
+
button scale were tuned in different places. */
|
|
175
178
|
.btn-sm {
|
|
176
179
|
font-size: 12px;
|
|
177
180
|
padding: 7px 14px;
|
|
178
|
-
min-height:
|
|
181
|
+
min-height: var(--hit);
|
|
179
182
|
}
|
|
180
183
|
|
|
181
184
|
/* ──────────── PILL GROUP (status filters) ───────────────────────── */
|
|
@@ -514,7 +517,7 @@
|
|
|
514
517
|
}
|
|
515
518
|
|
|
516
519
|
.f-pill:hover {
|
|
517
|
-
border-color: var(--
|
|
520
|
+
border-color: var(--rule-hover);
|
|
518
521
|
}
|
|
519
522
|
.f-pill .ico {
|
|
520
523
|
width: 14px;
|
|
@@ -602,7 +605,7 @@
|
|
|
602
605
|
|
|
603
606
|
.f-more:hover {
|
|
604
607
|
color: var(--text);
|
|
605
|
-
border-color: var(--
|
|
608
|
+
border-color: var(--rule-hover);
|
|
606
609
|
}
|
|
607
610
|
|
|
608
611
|
.f-more.open {
|
|
@@ -981,7 +984,7 @@
|
|
|
981
984
|
.ef-app-top__logout:hover,
|
|
982
985
|
.ef-app-top__action:hover {
|
|
983
986
|
color: var(--text);
|
|
984
|
-
border-color: var(--
|
|
987
|
+
border-color: var(--rule-hover);
|
|
985
988
|
}
|
|
986
989
|
|
|
987
990
|
.ef-theme-toggle:focus-visible,
|
|
@@ -1480,7 +1483,7 @@
|
|
|
1480
1483
|
|
|
1481
1484
|
.row-actions__trigger:hover {
|
|
1482
1485
|
color: var(--text);
|
|
1483
|
-
border-color: var(--
|
|
1486
|
+
border-color: var(--rule-hover);
|
|
1484
1487
|
background: var(--paper);
|
|
1485
1488
|
}
|
|
1486
1489
|
|
|
@@ -1819,7 +1822,7 @@
|
|
|
1819
1822
|
}
|
|
1820
1823
|
|
|
1821
1824
|
.dp__trigger:hover {
|
|
1822
|
-
border-color: var(--
|
|
1825
|
+
border-color: var(--rule-hover);
|
|
1823
1826
|
}
|
|
1824
1827
|
|
|
1825
1828
|
.dp__trigger:focus-visible {
|
|
@@ -1893,7 +1896,7 @@
|
|
|
1893
1896
|
}
|
|
1894
1897
|
|
|
1895
1898
|
.dp__field-trigger:hover:not(:disabled) {
|
|
1896
|
-
border-color: var(--
|
|
1899
|
+
border-color: var(--rule-hover);
|
|
1897
1900
|
}
|
|
1898
1901
|
|
|
1899
1902
|
.dp__field-trigger:focus-visible,
|
|
@@ -3515,7 +3518,7 @@ input.ef-input[type='number'] {
|
|
|
3515
3518
|
|
|
3516
3519
|
.es.p-select:not(.p-disabled):hover,
|
|
3517
3520
|
.es.p-multiselect:not(.p-disabled):hover {
|
|
3518
|
-
border-color: var(--
|
|
3521
|
+
border-color: var(--rule-hover);
|
|
3519
3522
|
}
|
|
3520
3523
|
|
|
3521
3524
|
.es.p-select.p-focus,
|
|
@@ -4260,7 +4263,7 @@ input.ef-input[type='number'] {
|
|
|
4260
4263
|
|
|
4261
4264
|
.es-confirm .p-dialog-footer .p-confirmdialog-reject-button:hover {
|
|
4262
4265
|
background: var(--paper-alt);
|
|
4263
|
-
border-color: var(--
|
|
4266
|
+
border-color: var(--rule-hover);
|
|
4264
4267
|
}
|
|
4265
4268
|
|
|
4266
4269
|
.es-confirm .p-confirmdialog-accept-button:focus-visible,
|
package/types/elasticias-ui.d.ts
CHANGED
|
@@ -53,6 +53,14 @@ declare class EfPriceDisplayComponent {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
declare class EfQuantitySelectorComponent {
|
|
56
|
+
/**
|
|
57
|
+
* PrimeNG's Button reads `autofocus || buttonProps?.autofocus`, so a bare
|
|
58
|
+
* `false` collapses to `undefined` and its AutoFocus directive writes the
|
|
59
|
+
* attribute anyway. Passing the flag here too makes it resolve to `false`.
|
|
60
|
+
*/
|
|
61
|
+
protected readonly noAutofocus: {
|
|
62
|
+
autofocus: boolean;
|
|
63
|
+
};
|
|
56
64
|
readonly quantity: _angular_core.InputSignal<number>;
|
|
57
65
|
readonly quantityChange: _angular_core.OutputEmitterRef<number>;
|
|
58
66
|
increment(): void;
|
|
@@ -592,6 +600,14 @@ interface SelectedFilter {
|
|
|
592
600
|
label: string;
|
|
593
601
|
}
|
|
594
602
|
declare class EfProductCatalogueFilterComponent {
|
|
603
|
+
/**
|
|
604
|
+
* PrimeNG's Button reads `autofocus || buttonProps?.autofocus`, so a bare
|
|
605
|
+
* `false` collapses to `undefined` and its AutoFocus directive writes the
|
|
606
|
+
* attribute anyway. Passing the flag here too makes it resolve to `false`.
|
|
607
|
+
*/
|
|
608
|
+
protected readonly noAutofocus: {
|
|
609
|
+
autofocus: boolean;
|
|
610
|
+
};
|
|
595
611
|
/** Category groups from reference_data (product_categories items with children) */
|
|
596
612
|
categoryGroups: _angular_core.InputSignal<CategoryGroup[]>;
|
|
597
613
|
/** Products to calculate counts */
|
|
@@ -1221,7 +1237,18 @@ declare class EfButtonComponent {
|
|
|
1221
1237
|
*/
|
|
1222
1238
|
variant: 'primeng' | 'comptoir';
|
|
1223
1239
|
severity: EfButtonSeverity;
|
|
1224
|
-
|
|
1240
|
+
/**
|
|
1241
|
+
* Control height.
|
|
1242
|
+
*
|
|
1243
|
+
* - `'small'` — `--hit` (32px). Dense rows, toolbars, row actions. Default,
|
|
1244
|
+
* because that is what every call site in the product already renders.
|
|
1245
|
+
* - `'base'` — `--hit-base` (40px). The height a comptoir input, select and
|
|
1246
|
+
* datepicker render at, so this is the one to use for a button sitting in
|
|
1247
|
+
* a form row: at `'small'` it is 8px shorter than the field beside it and
|
|
1248
|
+
* the row reads as misaligned.
|
|
1249
|
+
* - `'large'` — retained alias for `'base'`; nothing in the product uses it.
|
|
1250
|
+
*/
|
|
1251
|
+
size: 'small' | 'base' | 'large';
|
|
1225
1252
|
disabled: boolean;
|
|
1226
1253
|
rounded: boolean;
|
|
1227
1254
|
outlined: boolean;
|
|
@@ -1241,6 +1268,28 @@ declare class EfButtonComponent {
|
|
|
1241
1268
|
* long-press once the label is hidden by responsive CSS. */
|
|
1242
1269
|
tooltipKey?: string;
|
|
1243
1270
|
tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
|
|
1271
|
+
/**
|
|
1272
|
+
* Take focus on load. Bound explicitly rather than left unset: PrimeNG's
|
|
1273
|
+
* AutoFocus directive tests `autofocus === false`, and the control declares
|
|
1274
|
+
* it with no initialiser, so an unbound instance arrives as `undefined`,
|
|
1275
|
+
* misses that check and has a real `autofocus` attribute written onto it.
|
|
1276
|
+
* Every such control on a page then becomes an autofocus candidate, and the
|
|
1277
|
+
* browser scrolls its container to whichever one it picks on load.
|
|
1278
|
+
*/
|
|
1279
|
+
set autofocus(v: boolean);
|
|
1280
|
+
get autofocus(): boolean;
|
|
1281
|
+
private _autofocus;
|
|
1282
|
+
/**
|
|
1283
|
+
* PrimeNG's Button resolves its focus flag as
|
|
1284
|
+
* `autofocus || buttonProps?.autofocus`. Passing `false` alone is therefore
|
|
1285
|
+
* not enough: `false || undefined` is `undefined`, which misses the
|
|
1286
|
+
* AutoFocus directive's `=== false` test and writes the attribute anyway.
|
|
1287
|
+
* Supplying the flag through `buttonProps` as well makes the expression
|
|
1288
|
+
* resolve to a real `false`.
|
|
1289
|
+
*/
|
|
1290
|
+
protected pnButtonProps: {
|
|
1291
|
+
autofocus: boolean;
|
|
1292
|
+
};
|
|
1244
1293
|
/** Resolved tooltip translation key — `tooltipKey` if provided,
|
|
1245
1294
|
* otherwise `labelKey`. Lets responsive icon-only buttons reuse
|
|
1246
1295
|
* their label as the tooltip without restating it at every call
|
|
@@ -1251,6 +1300,12 @@ declare class EfButtonComponent {
|
|
|
1251
1300
|
* set. */
|
|
1252
1301
|
get effectiveTooltip(): string | undefined;
|
|
1253
1302
|
clickEvent: EventEmitter<Event>;
|
|
1303
|
+
/**
|
|
1304
|
+
* Size as PrimeNG's Button understands it. Its own scale is only
|
|
1305
|
+
* `'small' | 'large'`, with the default (unset) being the normal height, so
|
|
1306
|
+
* `'base'` maps to `null` rather than being forwarded verbatim.
|
|
1307
|
+
*/
|
|
1308
|
+
get pnSize(): 'small' | 'large' | null;
|
|
1254
1309
|
/** Composed class string for the Comptoir variant —
|
|
1255
1310
|
* `btn btn-{severity} btn-sm` plus any caller-supplied `styleClass`. */
|
|
1256
1311
|
get comptoirClass(): string;
|
|
@@ -1258,13 +1313,14 @@ declare class EfButtonComponent {
|
|
|
1258
1313
|
get comptoirInlineColor(): string | null;
|
|
1259
1314
|
handleClick(event: Event): void;
|
|
1260
1315
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfButtonComponent, never>;
|
|
1261
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfButtonComponent, "ef-button", never, { "label": { "alias": "label"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "text": { "alias": "text"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "type": { "alias": "type"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "badgeSeverity": { "alias": "badgeSeverity"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipKey": { "alias": "tooltipKey"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
|
|
1316
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfButtonComponent, "ef-button", never, { "label": { "alias": "label"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "text": { "alias": "text"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "type": { "alias": "type"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "badgeSeverity": { "alias": "badgeSeverity"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipKey": { "alias": "tooltipKey"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
|
|
1262
1317
|
static ngAcceptInputType_disabled: unknown;
|
|
1263
1318
|
static ngAcceptInputType_rounded: unknown;
|
|
1264
1319
|
static ngAcceptInputType_outlined: unknown;
|
|
1265
1320
|
static ngAcceptInputType_raised: unknown;
|
|
1266
1321
|
static ngAcceptInputType_text: unknown;
|
|
1267
1322
|
static ngAcceptInputType_loading: unknown;
|
|
1323
|
+
static ngAcceptInputType_autofocus: unknown;
|
|
1268
1324
|
}
|
|
1269
1325
|
|
|
1270
1326
|
declare class EfButtonGroupComponent {
|
|
@@ -3271,6 +3327,19 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
|
|
|
3271
3327
|
filterPlaceholderKey?: string;
|
|
3272
3328
|
/** Auto-focus the filter input when the panel opens (default: true). */
|
|
3273
3329
|
autofocusFilter: boolean;
|
|
3330
|
+
/**
|
|
3331
|
+
* Take focus on load. Off by default, and bound explicitly rather than left
|
|
3332
|
+
* unset, which matters more than it looks: PrimeNG's AutoFocus directive
|
|
3333
|
+
* decides with `if (this.autofocus === false)`, and `Select` declares
|
|
3334
|
+
* `autofocus` with no initialiser. An unbound control therefore arrives as
|
|
3335
|
+
* `undefined`, misses that strict check, and gets a real `autofocus="true"`
|
|
3336
|
+
* attribute written onto its label. Every select on a page became an
|
|
3337
|
+
* autofocus candidate, so on load the browser focused one of them and
|
|
3338
|
+
* scrolled its container to it — which is why a dashboard opened partway
|
|
3339
|
+
* down the page. Binding `false` puts the directive back on its intended
|
|
3340
|
+
* branch and removes the attribute.
|
|
3341
|
+
*/
|
|
3342
|
+
autofocus: boolean;
|
|
3274
3343
|
editable: boolean;
|
|
3275
3344
|
loading: boolean;
|
|
3276
3345
|
/** Virtual-scroll for long lists (>100 items). Pair with
|
|
@@ -3373,13 +3442,14 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
|
|
|
3373
3442
|
handleNativeSelectChange(rawValue: string): void;
|
|
3374
3443
|
private applyFilters;
|
|
3375
3444
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfSelectComponent, never>;
|
|
3376
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfSelectComponent, "ef-select", never, { "options": { "alias": "options"; "required": false; }; "optionLabel": { "alias": "optionLabel"; "required": false; }; "optionValue": { "alias": "optionValue"; "required": false; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": false; }; "group": { "alias": "group"; "required": false; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterBy": { "alias": "filterBy"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "filterPlaceholderKey": { "alias": "filterPlaceholderKey"; "required": false; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; }; "multiDisplay": { "alias": "multiDisplay"; "required": false; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "emptyMessageKey": { "alias": "emptyMessageKey"; "required": false; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; }; "emptyFilterMessageKey": { "alias": "emptyFilterMessageKey"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "panelStyleClass": { "alias": "panelStyleClass"; "required": false; }; "filterByKeys": { "alias": "filterByKeys"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "selectionChangeEvent": "selectionChangeEvent"; "filterChangeEvent": "filterChangeEvent"; "panelShowEvent": "panelShowEvent"; "panelHideEvent": "panelHideEvent"; }, ["itemTemplate", "selectedItemTemplate", "groupTemplate", "headerTemplate", "footerTemplate", "emptyTemplate", "emptyFilterTemplate", "filterTemplate", "loaderTemplate"], never, true, never>;
|
|
3445
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfSelectComponent, "ef-select", never, { "options": { "alias": "options"; "required": false; }; "optionLabel": { "alias": "optionLabel"; "required": false; }; "optionValue": { "alias": "optionValue"; "required": false; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": false; }; "group": { "alias": "group"; "required": false; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterBy": { "alias": "filterBy"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "filterPlaceholderKey": { "alias": "filterPlaceholderKey"; "required": false; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; }; "multiDisplay": { "alias": "multiDisplay"; "required": false; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "emptyMessageKey": { "alias": "emptyMessageKey"; "required": false; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; }; "emptyFilterMessageKey": { "alias": "emptyFilterMessageKey"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "panelStyleClass": { "alias": "panelStyleClass"; "required": false; }; "filterByKeys": { "alias": "filterByKeys"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "selectionChangeEvent": "selectionChangeEvent"; "filterChangeEvent": "filterChangeEvent"; "panelShowEvent": "panelShowEvent"; "panelHideEvent": "panelHideEvent"; }, ["itemTemplate", "selectedItemTemplate", "groupTemplate", "headerTemplate", "footerTemplate", "emptyTemplate", "emptyFilterTemplate", "filterTemplate", "loaderTemplate"], never, true, never>;
|
|
3377
3446
|
static ngAcceptInputType_group: unknown;
|
|
3378
3447
|
static ngAcceptInputType_fluid: unknown;
|
|
3379
3448
|
static ngAcceptInputType_inline: unknown;
|
|
3380
3449
|
static ngAcceptInputType_multiple: unknown;
|
|
3381
3450
|
static ngAcceptInputType_filter: unknown;
|
|
3382
3451
|
static ngAcceptInputType_autofocusFilter: unknown;
|
|
3452
|
+
static ngAcceptInputType_autofocus: unknown;
|
|
3383
3453
|
static ngAcceptInputType_editable: unknown;
|
|
3384
3454
|
static ngAcceptInputType_loading: unknown;
|
|
3385
3455
|
static ngAcceptInputType_virtualScroll: unknown;
|
|
@@ -3462,6 +3532,14 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
|
|
|
3462
3532
|
* ```
|
|
3463
3533
|
*/
|
|
3464
3534
|
declare class EfToggleSwitchComponent extends AbstractEfFormControl implements ControlValueAccessor {
|
|
3535
|
+
/**
|
|
3536
|
+
* Take focus on load. Bound explicitly rather than left unset: PrimeNG's
|
|
3537
|
+
* AutoFocus directive tests `autofocus === false`, and the control declares
|
|
3538
|
+
* it with no initialiser, so an unbound instance arrives as `undefined`,
|
|
3539
|
+
* misses that check and gets a real `autofocus` attribute written onto it.
|
|
3540
|
+
* A table of these then puts one autofocus candidate per row on the page.
|
|
3541
|
+
*/
|
|
3542
|
+
autofocus: boolean;
|
|
3465
3543
|
/** Two-way bindable `[(checked)]` — boolean only. */
|
|
3466
3544
|
checked: boolean;
|
|
3467
3545
|
checkedChange: EventEmitter<boolean>;
|
|
@@ -3477,7 +3555,8 @@ declare class EfToggleSwitchComponent extends AbstractEfFormControl implements C
|
|
|
3477
3555
|
checked: boolean;
|
|
3478
3556
|
}): void;
|
|
3479
3557
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfToggleSwitchComponent, never>;
|
|
3480
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfToggleSwitchComponent, "ef-toggleswitch", never, { "checked": { "alias": "checked"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
|
|
3558
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfToggleSwitchComponent, "ef-toggleswitch", never, { "autofocus": { "alias": "autofocus"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
|
|
3559
|
+
static ngAcceptInputType_autofocus: unknown;
|
|
3481
3560
|
}
|
|
3482
3561
|
|
|
3483
3562
|
/**
|
|
@@ -3510,6 +3589,15 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
|
|
|
3510
3589
|
showButtonBar: boolean;
|
|
3511
3590
|
minDate?: Date;
|
|
3512
3591
|
maxDate?: Date;
|
|
3592
|
+
/**
|
|
3593
|
+
* Take focus on load. Bound explicitly rather than left unset: PrimeNG's
|
|
3594
|
+
* AutoFocus directive tests `autofocus === false`, and the control declares
|
|
3595
|
+
* it with no initialiser, so an unbound instance arrives as `undefined`,
|
|
3596
|
+
* misses that check and has a real `autofocus` attribute written onto it.
|
|
3597
|
+
* Every such control on a page then becomes an autofocus candidate, and the
|
|
3598
|
+
* browser scrolls its container to whichever one it picks on load.
|
|
3599
|
+
*/
|
|
3600
|
+
autofocus: boolean;
|
|
3513
3601
|
get isInline(): boolean;
|
|
3514
3602
|
dateSelectEvent: EventEmitter<any>;
|
|
3515
3603
|
value: any;
|
|
@@ -3530,7 +3618,7 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
|
|
|
3530
3618
|
handleChange(value: any): void;
|
|
3531
3619
|
handleBlur(): void;
|
|
3532
3620
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfDatepickerComponent, never>;
|
|
3533
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDatepickerComponent, "ef-datepicker", never, { "label": { "alias": "label"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; }; "size": { "alias": "size"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "iconDisplay": { "alias": "iconDisplay"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "showButtonBar": { "alias": "showButtonBar"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "dateSelectEvent": "dateSelectEvent"; }, never, never, true, never>;
|
|
3621
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDatepickerComponent, "ef-datepicker", never, { "label": { "alias": "label"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; }; "size": { "alias": "size"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "iconDisplay": { "alias": "iconDisplay"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "showButtonBar": { "alias": "showButtonBar"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; }, { "dateSelectEvent": "dateSelectEvent"; }, never, never, true, never>;
|
|
3534
3622
|
static ngAcceptInputType_required: unknown;
|
|
3535
3623
|
static ngAcceptInputType_fluid: unknown;
|
|
3536
3624
|
static ngAcceptInputType_inline: unknown;
|
|
@@ -3538,6 +3626,7 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
|
|
|
3538
3626
|
static ngAcceptInputType_showIcon: unknown;
|
|
3539
3627
|
static ngAcceptInputType_showTime: unknown;
|
|
3540
3628
|
static ngAcceptInputType_showButtonBar: unknown;
|
|
3629
|
+
static ngAcceptInputType_autofocus: unknown;
|
|
3541
3630
|
}
|
|
3542
3631
|
|
|
3543
3632
|
/**
|
|
@@ -3698,6 +3787,15 @@ declare class EfPasswordComponent extends AbstractEfFormControl implements Contr
|
|
|
3698
3787
|
toggleMask: boolean;
|
|
3699
3788
|
feedback: boolean;
|
|
3700
3789
|
autocomplete?: string;
|
|
3790
|
+
/**
|
|
3791
|
+
* Take focus on load. Bound explicitly rather than left unset: PrimeNG's
|
|
3792
|
+
* AutoFocus directive tests `autofocus === false`, and the control declares
|
|
3793
|
+
* it with no initialiser, so an unbound instance arrives as `undefined`,
|
|
3794
|
+
* misses that check and has a real `autofocus` attribute written onto it.
|
|
3795
|
+
* Every such control on a page then becomes an autofocus candidate, and the
|
|
3796
|
+
* browser scrolls its container to whichever one it picks on load.
|
|
3797
|
+
*/
|
|
3798
|
+
autofocus: boolean;
|
|
3701
3799
|
get isInline(): boolean;
|
|
3702
3800
|
valueChangeEvent: EventEmitter<string>;
|
|
3703
3801
|
value: string;
|
|
@@ -3718,11 +3816,12 @@ declare class EfPasswordComponent extends AbstractEfFormControl implements Contr
|
|
|
3718
3816
|
handleChange(value: string): void;
|
|
3719
3817
|
handleBlur(): void;
|
|
3720
3818
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfPasswordComponent, never>;
|
|
3721
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfPasswordComponent, "ef-password", never, { "size": { "alias": "size"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "toggleMask": { "alias": "toggleMask"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, { "valueChangeEvent": "valueChangeEvent"; }, never, never, true, never>;
|
|
3819
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfPasswordComponent, "ef-password", never, { "size": { "alias": "size"; "required": false; }; "fluid": { "alias": "fluid"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "toggleMask": { "alias": "toggleMask"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; }, { "valueChangeEvent": "valueChangeEvent"; }, never, never, true, never>;
|
|
3722
3820
|
static ngAcceptInputType_fluid: unknown;
|
|
3723
3821
|
static ngAcceptInputType_inline: unknown;
|
|
3724
3822
|
static ngAcceptInputType_toggleMask: unknown;
|
|
3725
3823
|
static ngAcceptInputType_feedback: unknown;
|
|
3824
|
+
static ngAcceptInputType_autofocus: unknown;
|
|
3726
3825
|
}
|
|
3727
3826
|
|
|
3728
3827
|
declare class EfMultiSelectComponent extends AbstractEfFormControl implements ControlValueAccessor, OnChanges {
|
|
@@ -4553,6 +4652,21 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4553
4652
|
* move is on the arrow keys while the handle has focus.
|
|
4554
4653
|
*/
|
|
4555
4654
|
onDragKeydown(index: number, ev: KeyboardEvent): void;
|
|
4655
|
+
/**
|
|
4656
|
+
* Honour the declared column widths exactly instead of treating them as
|
|
4657
|
+
* hints.
|
|
4658
|
+
*
|
|
4659
|
+
* The default `table-layout: auto` sizes a column to its content, so a
|
|
4660
|
+
* cell whose content is wider than the declared width simply wins. On the
|
|
4661
|
+
* order builder that meant clicking into a 116px discount cell swapped in
|
|
4662
|
+
* an editor whose input carries an intrinsic 200px, the column jumped to
|
|
4663
|
+
* 271px, and the article column lost the difference — every row re-flowed
|
|
4664
|
+
* mid-edit. With fixed layout the declared widths hold and the columns
|
|
4665
|
+
* that declare none share what is left.
|
|
4666
|
+
*
|
|
4667
|
+
* Opt-in: a table whose columns are all content-sized still wants `auto`.
|
|
4668
|
+
*/
|
|
4669
|
+
readonly fixedLayout: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4556
4670
|
/** Row density. Applied as a class on `.tbl-wrap`. */
|
|
4557
4671
|
readonly density: _angular_core.WritableSignal<EfTableDensity>;
|
|
4558
4672
|
/** Column ids the viewer has hidden. */
|
|
@@ -4625,7 +4739,7 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4625
4739
|
trackByRow: (_: number, row: TRow) => unknown;
|
|
4626
4740
|
trackByColumn: (_: number, col: EfDataCardColumn) => string;
|
|
4627
4741
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfDataCardComponent<any>, never>;
|
|
4628
|
-
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; }; "showExportControl": { "alias": "showExportControl"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "screenContext": { "alias": "screenContext"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; "defaultDensity": { "alias": "defaultDensity"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; "exportRequest": "exportRequest"; "clearSearch": "clearSearch"; "rowReorder": "rowReorder"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state-mobile]", "[empty-state]"], true, never>;
|
|
4742
|
+
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; }; "showExportControl": { "alias": "showExportControl"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "screenContext": { "alias": "screenContext"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; "defaultDensity": { "alias": "defaultDensity"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; "exportRequest": "exportRequest"; "clearSearch": "clearSearch"; "rowReorder": "rowReorder"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state-mobile]", "[empty-state]"], true, never>;
|
|
4629
4743
|
}
|
|
4630
4744
|
|
|
4631
4745
|
/**
|
|
@@ -5741,6 +5855,14 @@ type RangeKey = '7d' | '30d' | '90d';
|
|
|
5741
5855
|
* />
|
|
5742
5856
|
*/
|
|
5743
5857
|
declare class EfEmailMetricsCardComponent {
|
|
5858
|
+
/**
|
|
5859
|
+
* PrimeNG's Button reads `autofocus || buttonProps?.autofocus`, so a bare
|
|
5860
|
+
* `false` collapses to `undefined` and its AutoFocus directive writes the
|
|
5861
|
+
* attribute anyway. Passing the flag here too makes it resolve to `false`.
|
|
5862
|
+
*/
|
|
5863
|
+
protected readonly noAutofocus: {
|
|
5864
|
+
autofocus: boolean;
|
|
5865
|
+
};
|
|
5744
5866
|
metrics: _angular_core.InputSignal<EmailMetrics>;
|
|
5745
5867
|
recentEvents: _angular_core.InputSignal<EmailEventRecord[]>;
|
|
5746
5868
|
loading: _angular_core.InputSignal<boolean>;
|