@elasticias/ui 1.0.22 → 1.0.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elasticias/ui",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0",
@@ -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 */
@@ -1241,6 +1257,28 @@ declare class EfButtonComponent {
1241
1257
  * long-press once the label is hidden by responsive CSS. */
1242
1258
  tooltipKey?: string;
1243
1259
  tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
1260
+ /**
1261
+ * Take focus on load. Bound explicitly rather than left unset: PrimeNG's
1262
+ * AutoFocus directive tests `autofocus === false`, and the control declares
1263
+ * it with no initialiser, so an unbound instance arrives as `undefined`,
1264
+ * misses that check and has a real `autofocus` attribute written onto it.
1265
+ * Every such control on a page then becomes an autofocus candidate, and the
1266
+ * browser scrolls its container to whichever one it picks on load.
1267
+ */
1268
+ set autofocus(v: boolean);
1269
+ get autofocus(): boolean;
1270
+ private _autofocus;
1271
+ /**
1272
+ * PrimeNG's Button resolves its focus flag as
1273
+ * `autofocus || buttonProps?.autofocus`. Passing `false` alone is therefore
1274
+ * not enough: `false || undefined` is `undefined`, which misses the
1275
+ * AutoFocus directive's `=== false` test and writes the attribute anyway.
1276
+ * Supplying the flag through `buttonProps` as well makes the expression
1277
+ * resolve to a real `false`.
1278
+ */
1279
+ protected pnButtonProps: {
1280
+ autofocus: boolean;
1281
+ };
1244
1282
  /** Resolved tooltip translation key — `tooltipKey` if provided,
1245
1283
  * otherwise `labelKey`. Lets responsive icon-only buttons reuse
1246
1284
  * their label as the tooltip without restating it at every call
@@ -1258,13 +1296,14 @@ declare class EfButtonComponent {
1258
1296
  get comptoirInlineColor(): string | null;
1259
1297
  handleClick(event: Event): void;
1260
1298
  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>;
1299
+ 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
1300
  static ngAcceptInputType_disabled: unknown;
1263
1301
  static ngAcceptInputType_rounded: unknown;
1264
1302
  static ngAcceptInputType_outlined: unknown;
1265
1303
  static ngAcceptInputType_raised: unknown;
1266
1304
  static ngAcceptInputType_text: unknown;
1267
1305
  static ngAcceptInputType_loading: unknown;
1306
+ static ngAcceptInputType_autofocus: unknown;
1268
1307
  }
1269
1308
 
1270
1309
  declare class EfButtonGroupComponent {
@@ -3271,6 +3310,19 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
3271
3310
  filterPlaceholderKey?: string;
3272
3311
  /** Auto-focus the filter input when the panel opens (default: true). */
3273
3312
  autofocusFilter: boolean;
3313
+ /**
3314
+ * Take focus on load. Off by default, and bound explicitly rather than left
3315
+ * unset, which matters more than it looks: PrimeNG's AutoFocus directive
3316
+ * decides with `if (this.autofocus === false)`, and `Select` declares
3317
+ * `autofocus` with no initialiser. An unbound control therefore arrives as
3318
+ * `undefined`, misses that strict check, and gets a real `autofocus="true"`
3319
+ * attribute written onto its label. Every select on a page became an
3320
+ * autofocus candidate, so on load the browser focused one of them and
3321
+ * scrolled its container to it — which is why a dashboard opened partway
3322
+ * down the page. Binding `false` puts the directive back on its intended
3323
+ * branch and removes the attribute.
3324
+ */
3325
+ autofocus: boolean;
3274
3326
  editable: boolean;
3275
3327
  loading: boolean;
3276
3328
  /** Virtual-scroll for long lists (>100 items). Pair with
@@ -3373,13 +3425,14 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
3373
3425
  handleNativeSelectChange(rawValue: string): void;
3374
3426
  private applyFilters;
3375
3427
  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>;
3428
+ 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
3429
  static ngAcceptInputType_group: unknown;
3378
3430
  static ngAcceptInputType_fluid: unknown;
3379
3431
  static ngAcceptInputType_inline: unknown;
3380
3432
  static ngAcceptInputType_multiple: unknown;
3381
3433
  static ngAcceptInputType_filter: unknown;
3382
3434
  static ngAcceptInputType_autofocusFilter: unknown;
3435
+ static ngAcceptInputType_autofocus: unknown;
3383
3436
  static ngAcceptInputType_editable: unknown;
3384
3437
  static ngAcceptInputType_loading: unknown;
3385
3438
  static ngAcceptInputType_virtualScroll: unknown;
@@ -3462,6 +3515,14 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
3462
3515
  * ```
3463
3516
  */
3464
3517
  declare class EfToggleSwitchComponent extends AbstractEfFormControl implements ControlValueAccessor {
3518
+ /**
3519
+ * Take focus on load. Bound explicitly rather than left unset: PrimeNG's
3520
+ * AutoFocus directive tests `autofocus === false`, and the control declares
3521
+ * it with no initialiser, so an unbound instance arrives as `undefined`,
3522
+ * misses that check and gets a real `autofocus` attribute written onto it.
3523
+ * A table of these then puts one autofocus candidate per row on the page.
3524
+ */
3525
+ autofocus: boolean;
3465
3526
  /** Two-way bindable `[(checked)]` — boolean only. */
3466
3527
  checked: boolean;
3467
3528
  checkedChange: EventEmitter<boolean>;
@@ -3477,7 +3538,8 @@ declare class EfToggleSwitchComponent extends AbstractEfFormControl implements C
3477
3538
  checked: boolean;
3478
3539
  }): void;
3479
3540
  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>;
3541
+ 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>;
3542
+ static ngAcceptInputType_autofocus: unknown;
3481
3543
  }
3482
3544
 
3483
3545
  /**
@@ -3510,6 +3572,15 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
3510
3572
  showButtonBar: boolean;
3511
3573
  minDate?: Date;
3512
3574
  maxDate?: Date;
3575
+ /**
3576
+ * Take focus on load. Bound explicitly rather than left unset: PrimeNG's
3577
+ * AutoFocus directive tests `autofocus === false`, and the control declares
3578
+ * it with no initialiser, so an unbound instance arrives as `undefined`,
3579
+ * misses that check and has a real `autofocus` attribute written onto it.
3580
+ * Every such control on a page then becomes an autofocus candidate, and the
3581
+ * browser scrolls its container to whichever one it picks on load.
3582
+ */
3583
+ autofocus: boolean;
3513
3584
  get isInline(): boolean;
3514
3585
  dateSelectEvent: EventEmitter<any>;
3515
3586
  value: any;
@@ -3530,7 +3601,7 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
3530
3601
  handleChange(value: any): void;
3531
3602
  handleBlur(): void;
3532
3603
  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>;
3604
+ 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
3605
  static ngAcceptInputType_required: unknown;
3535
3606
  static ngAcceptInputType_fluid: unknown;
3536
3607
  static ngAcceptInputType_inline: unknown;
@@ -3538,6 +3609,7 @@ declare class EfDatepickerComponent implements ControlValueAccessor {
3538
3609
  static ngAcceptInputType_showIcon: unknown;
3539
3610
  static ngAcceptInputType_showTime: unknown;
3540
3611
  static ngAcceptInputType_showButtonBar: unknown;
3612
+ static ngAcceptInputType_autofocus: unknown;
3541
3613
  }
3542
3614
 
3543
3615
  /**
@@ -3698,6 +3770,15 @@ declare class EfPasswordComponent extends AbstractEfFormControl implements Contr
3698
3770
  toggleMask: boolean;
3699
3771
  feedback: boolean;
3700
3772
  autocomplete?: string;
3773
+ /**
3774
+ * Take focus on load. Bound explicitly rather than left unset: PrimeNG's
3775
+ * AutoFocus directive tests `autofocus === false`, and the control declares
3776
+ * it with no initialiser, so an unbound instance arrives as `undefined`,
3777
+ * misses that check and has a real `autofocus` attribute written onto it.
3778
+ * Every such control on a page then becomes an autofocus candidate, and the
3779
+ * browser scrolls its container to whichever one it picks on load.
3780
+ */
3781
+ autofocus: boolean;
3701
3782
  get isInline(): boolean;
3702
3783
  valueChangeEvent: EventEmitter<string>;
3703
3784
  value: string;
@@ -3718,11 +3799,12 @@ declare class EfPasswordComponent extends AbstractEfFormControl implements Contr
3718
3799
  handleChange(value: string): void;
3719
3800
  handleBlur(): void;
3720
3801
  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>;
3802
+ 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
3803
  static ngAcceptInputType_fluid: unknown;
3723
3804
  static ngAcceptInputType_inline: unknown;
3724
3805
  static ngAcceptInputType_toggleMask: unknown;
3725
3806
  static ngAcceptInputType_feedback: unknown;
3807
+ static ngAcceptInputType_autofocus: unknown;
3726
3808
  }
3727
3809
 
3728
3810
  declare class EfMultiSelectComponent extends AbstractEfFormControl implements ControlValueAccessor, OnChanges {
@@ -5741,6 +5823,14 @@ type RangeKey = '7d' | '30d' | '90d';
5741
5823
  * />
5742
5824
  */
5743
5825
  declare class EfEmailMetricsCardComponent {
5826
+ /**
5827
+ * PrimeNG's Button reads `autofocus || buttonProps?.autofocus`, so a bare
5828
+ * `false` collapses to `undefined` and its AutoFocus directive writes the
5829
+ * attribute anyway. Passing the flag here too makes it resolve to `false`.
5830
+ */
5831
+ protected readonly noAutofocus: {
5832
+ autofocus: boolean;
5833
+ };
5744
5834
  metrics: _angular_core.InputSignal<EmailMetrics>;
5745
5835
  recentEvents: _angular_core.InputSignal<EmailEventRecord[]>;
5746
5836
  loading: _angular_core.InputSignal<boolean>;