@forgeroute/ui 0.4.56 → 0.4.57
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/forgeroute-ui-messaging.mjs +12 -0
- package/fesm2022/forgeroute-ui-messaging.mjs.map +1 -1
- package/fesm2022/forgeroute-ui-stripe.mjs +5 -0
- package/fesm2022/forgeroute-ui-stripe.mjs.map +1 -1
- package/fesm2022/forgeroute-ui.mjs +996 -254
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +220 -2
package/package.json
CHANGED
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -1049,6 +1049,11 @@ export declare function isoKey(p: {
|
|
|
1049
1049
|
export declare function parseTime(value: string | null | undefined): number | null;
|
|
1050
1050
|
/** "9:00 AM" / "12:30 PM" from an `HH:mm` value (returned unchanged when it cannot be parsed; '' for null/undefined/non-strings). */
|
|
1051
1051
|
export declare function formatTime(value: string | null | undefined): string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Joins a control's own `aria-describedby` ids with the ids a host passes through `[ariaDescribedBy]` (space separated, own ids first,
|
|
1054
|
+
* duplicates dropped). Returns null when there is nothing to point at, so the attribute is absent.
|
|
1055
|
+
*/
|
|
1056
|
+
export declare function mergeDescribedBy(own: string | null | undefined, external: string | null | undefined): string | null;
|
|
1052
1057
|
/**
|
|
1053
1058
|
* One choice. `V` defaults to `string`, so existing `SelectOption[]` code is unchanged; `ui-select` itself accepts
|
|
1054
1059
|
* `SelectOption<string | number>[]` (numeric values for `valueType="number"`).
|
|
@@ -1085,6 +1090,8 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
|
|
|
1085
1090
|
readonly valueType: import("@angular/core").InputSignal<"string" | "number">;
|
|
1086
1091
|
readonly required: import("@angular/core").InputSignal<boolean>;
|
|
1087
1092
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
1093
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
1094
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
1088
1095
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
1089
1096
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
1090
1097
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
@@ -1098,7 +1105,7 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
|
|
|
1098
1105
|
/** The selected option's `description` ('' when none is selected or it has none); hidden while an error shows. */
|
|
1099
1106
|
protected readonly _selectedDescription: import("@angular/core").Signal<string>;
|
|
1100
1107
|
/** ids of the texts that describe the select: the error / hint, then the selected option's description. */
|
|
1101
|
-
protected readonly _describedBy: import("@angular/core").Signal<string>;
|
|
1108
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
1102
1109
|
private readonly _reveal;
|
|
1103
1110
|
private readonly _issue;
|
|
1104
1111
|
/** True while the value breaks a built-in rule or the host passed an `[error]`. */
|
|
@@ -1170,6 +1177,11 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
|
|
|
1170
1177
|
"required": false;
|
|
1171
1178
|
"isSignal": true;
|
|
1172
1179
|
};
|
|
1180
|
+
"ariaDescribedBy": {
|
|
1181
|
+
"alias": "ariaDescribedBy";
|
|
1182
|
+
"required": false;
|
|
1183
|
+
"isSignal": true;
|
|
1184
|
+
};
|
|
1173
1185
|
"error": {
|
|
1174
1186
|
"alias": "error";
|
|
1175
1187
|
"required": false;
|
|
@@ -2258,12 +2270,28 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
2258
2270
|
* (e.g. while a save is running; the host closes it itself). Default `true` = today's behaviour.
|
|
2259
2271
|
*/
|
|
2260
2272
|
readonly closable: import("@angular/core").InputSignal<boolean>;
|
|
2273
|
+
/**
|
|
2274
|
+
* Look of the dialog. `'default'` (today's dialog; a bottom sheet on a phone) or `'kiosk'`: a darker backdrop and a centred card on every screen
|
|
2275
|
+
* size that never grows past the visible viewport (header and footer stay, the body scrolls, 100dvh with a 100vh fallback). Meant for full-attention
|
|
2276
|
+
* dialogs such as a payment or bank-account entry; combine with `[closeOnBackdrop]="false"` and `[busy]`. See docs/modal-kiosk-and-bank-account-form.md.
|
|
2277
|
+
*/
|
|
2278
|
+
readonly layout: import("@angular/core").InputSignal<"default" | "kiosk">;
|
|
2279
|
+
/** `false` = a click on the backdrop does not close (a mis-click must not lose a half-filled payment form). Default `true`. */
|
|
2280
|
+
readonly closeOnBackdrop: import("@angular/core").InputSignal<boolean>;
|
|
2281
|
+
/** `false` = Escape does not close. Default `true`. */
|
|
2282
|
+
readonly closeOnEscape: import("@angular/core").InputSignal<boolean>;
|
|
2283
|
+
/**
|
|
2284
|
+
* `true` while a request is running (e.g. a payment is processing): sets `aria-busy` on the dialog, disables the X button and blocks Escape and
|
|
2285
|
+
* backdrop dismissal, whatever `closable` / `closeOnEscape` / `closeOnBackdrop` say. Default `false`.
|
|
2286
|
+
*/
|
|
2287
|
+
readonly busy: import("@angular/core").InputSignal<boolean>;
|
|
2261
2288
|
readonly close: import("@angular/core").OutputEmitterRef<void>;
|
|
2262
2289
|
/**
|
|
2263
2290
|
* Element that gets focus back when the dialog closes. Takes precedence over the element that was focused (or last
|
|
2264
2291
|
* clicked / activated) when it opened; used only if it is still in the page and visible. Default null = the opener.
|
|
2265
2292
|
*/
|
|
2266
2293
|
readonly returnFocusTo: import("@angular/core").InputSignal<HTMLElement | null>;
|
|
2294
|
+
protected readonly kiosk: import("@angular/core").Signal<boolean>;
|
|
2267
2295
|
protected readonly titleId: string;
|
|
2268
2296
|
private readonly el;
|
|
2269
2297
|
private readonly ren;
|
|
@@ -2276,6 +2304,8 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
2276
2304
|
private readonly _interaction;
|
|
2277
2305
|
constructor();
|
|
2278
2306
|
onKeydown(event: KeyboardEvent): void;
|
|
2307
|
+
/** Emits `close` when the dialog may be dismissed this way (not closable / busy / backdrop or Escape switched off = nothing). */
|
|
2308
|
+
protected dismiss(via: 'backdrop' | 'escape' | 'close'): void;
|
|
2279
2309
|
/** A focus-guard sentinel received focus (Tab left the dialog's tab order, e.g. out of an iframe): send it back inside. */
|
|
2280
2310
|
protected onGuardFocus(which: 'start' | 'end', event?: FocusEvent): void;
|
|
2281
2311
|
/** Initial focus — see `focusInitial` (autofocus target → first usable field → dialog container). */
|
|
@@ -2325,6 +2355,26 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
2325
2355
|
"required": false;
|
|
2326
2356
|
"isSignal": true;
|
|
2327
2357
|
};
|
|
2358
|
+
"layout": {
|
|
2359
|
+
"alias": "layout";
|
|
2360
|
+
"required": false;
|
|
2361
|
+
"isSignal": true;
|
|
2362
|
+
};
|
|
2363
|
+
"closeOnBackdrop": {
|
|
2364
|
+
"alias": "closeOnBackdrop";
|
|
2365
|
+
"required": false;
|
|
2366
|
+
"isSignal": true;
|
|
2367
|
+
};
|
|
2368
|
+
"closeOnEscape": {
|
|
2369
|
+
"alias": "closeOnEscape";
|
|
2370
|
+
"required": false;
|
|
2371
|
+
"isSignal": true;
|
|
2372
|
+
};
|
|
2373
|
+
"busy": {
|
|
2374
|
+
"alias": "busy";
|
|
2375
|
+
"required": false;
|
|
2376
|
+
"isSignal": true;
|
|
2377
|
+
};
|
|
2328
2378
|
"returnFocusTo": {
|
|
2329
2379
|
"alias": "returnFocusTo";
|
|
2330
2380
|
"required": false;
|
|
@@ -2332,7 +2382,7 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
2332
2382
|
};
|
|
2333
2383
|
}, {
|
|
2334
2384
|
"close": "close";
|
|
2335
|
-
}, never, ["*", "[modal-footer-left]", "[modal-footer-center]", "[modal-footer-right]"], true, never>;
|
|
2385
|
+
}, never, ["[modal-header-end]", "*", "[modal-footer-left]", "[modal-footer-center]", "[modal-footer-right]"], true, never>;
|
|
2336
2386
|
}
|
|
2337
2387
|
export type ToastType = 'success' | 'error' | 'info';
|
|
2338
2388
|
export declare class ToastService implements OnDestroy {
|
|
@@ -4598,6 +4648,130 @@ export declare class OptionCardComponent {
|
|
|
4598
4648
|
"action": "action";
|
|
4599
4649
|
}, never, ["*"], true, never>;
|
|
4600
4650
|
}
|
|
4651
|
+
/** Default ACH debit authorization text (same wording the contractor bank-account kiosk used). */
|
|
4652
|
+
export declare const DEFAULT_BANK_MANDATE_TEXT: string;
|
|
4653
|
+
export type BankAccountType = 'checking' | 'savings';
|
|
4654
|
+
export type BankHolderType = 'individual' | 'company';
|
|
4655
|
+
/** What `(submitted)` emits: every text value trimmed, `mandateAccepted` always `true`. */
|
|
4656
|
+
export interface BankAccountFormValue {
|
|
4657
|
+
routingNumber: string;
|
|
4658
|
+
accountNumber: string;
|
|
4659
|
+
accountType: BankAccountType;
|
|
4660
|
+
accountHolderName: string;
|
|
4661
|
+
holderType: BankHolderType;
|
|
4662
|
+
mandateAccepted: true;
|
|
4663
|
+
}
|
|
4664
|
+
export declare const DEFAULT_BANK_ACCOUNT_TYPE_OPTIONS: SelectOption[];
|
|
4665
|
+
export declare const DEFAULT_BANK_HOLDER_TYPE_OPTIONS: SelectOption[];
|
|
4666
|
+
/**
|
|
4667
|
+
* `ui-bank-account-form` - the US bank-account entry form (routing number, account number + confirmation, account type, holder name + type,
|
|
4668
|
+
* ACH debit authorization). Built only from library inputs; it holds NO HTTP and no provider logic: the host listens to `(submitted)` and talks to
|
|
4669
|
+
* its payment provider (Stripe `confirmUsBankAccountSetup`, Square, ...). See docs/modal-kiosk-and-bank-account-form.md.
|
|
4670
|
+
*
|
|
4671
|
+
* - Validation is inline through the inputs' own `[error]` / built-in rules. The routing number is only checked for 9 digits (no ABA checksum: the
|
|
4672
|
+
* provider validates the real number, and a client checksum would reject test numbers). Account numbers are 4-17 digits.
|
|
4673
|
+
* - Messages show after blur, while a field holds something invalid, or while `[showErrors]` is true; a failed `submit()` reveals them all.
|
|
4674
|
+
* - The form provides `UiFieldValidity` (`invalid` = not submittable), so a host can gate its own button with `viewChildren(UiFieldValidity)`,
|
|
4675
|
+
* or use `(validChange)`.
|
|
4676
|
+
* - The host's footer button calls `form.submit()` (via `viewChild`); Enter in a text field submits too.
|
|
4677
|
+
*/
|
|
4678
|
+
export declare class BankAccountFormComponent implements UiFieldValidity {
|
|
4679
|
+
/** Reveal every built-in error now (e.g. bind to a panel's `touched()`); `submit()` on an invalid form also reveals them. */
|
|
4680
|
+
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
4681
|
+
/** Disables every field and blocks `submit()`. */
|
|
4682
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
4683
|
+
/** Like `disabled`, plus `aria-busy` on the host: a provider call is running. */
|
|
4684
|
+
readonly busy: import("@angular/core").InputSignal<boolean>;
|
|
4685
|
+
/** The authorization text next to the checkbox (it is the checkbox label). The unticked default is never changed by the form. */
|
|
4686
|
+
readonly mandateText: import("@angular/core").InputSignal<string>;
|
|
4687
|
+
/** Account type choices; values must stay `checking` / `savings`. */
|
|
4688
|
+
readonly accountTypeOptions: import("@angular/core").InputSignal<SelectOption<string>[]>;
|
|
4689
|
+
/** Holder type choices; values must stay `individual` / `company`. */
|
|
4690
|
+
readonly holderTypeOptions: import("@angular/core").InputSignal<SelectOption<string>[]>;
|
|
4691
|
+
/** Pre-fills the account holder name (e.g. the customer's name) whenever it changes; the user can edit it. */
|
|
4692
|
+
readonly accountHolderNameDefault: import("@angular/core").InputSignal<string>;
|
|
4693
|
+
/** Prefix of the inner test ids: `<prefix>-routing`, `-account`, `-confirm`, `-holder-name`, `-account-type`, `-holder-type`, `-mandate`. */
|
|
4694
|
+
readonly testIdPrefix: import("@angular/core").InputSignal<string>;
|
|
4695
|
+
/** Emits the typed payload when `submit()` runs on a valid form. */
|
|
4696
|
+
readonly submitted: import("@angular/core").OutputEmitterRef<BankAccountFormValue>;
|
|
4697
|
+
/** Emits `true` / `false` whenever the form becomes submittable / not (also once on init). */
|
|
4698
|
+
readonly validChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
4699
|
+
protected readonly routingNumber: import("@angular/core").WritableSignal<string>;
|
|
4700
|
+
protected readonly accountNumber: import("@angular/core").WritableSignal<string>;
|
|
4701
|
+
protected readonly confirmAccount: import("@angular/core").WritableSignal<string>;
|
|
4702
|
+
protected readonly accountHolderName: import("@angular/core").WritableSignal<string>;
|
|
4703
|
+
protected readonly accountType: import("@angular/core").WritableSignal<string>;
|
|
4704
|
+
protected readonly holderType: import("@angular/core").WritableSignal<string>;
|
|
4705
|
+
protected readonly mandateAccepted: import("@angular/core").WritableSignal<boolean>;
|
|
4706
|
+
private readonly _touched;
|
|
4707
|
+
protected readonly routingFormatter: (raw: string) => string;
|
|
4708
|
+
protected readonly accountFormatter: (raw: string) => string;
|
|
4709
|
+
protected readonly locked: import("@angular/core").Signal<boolean>;
|
|
4710
|
+
protected readonly reveal: import("@angular/core").Signal<boolean>;
|
|
4711
|
+
protected readonly routingError: import("@angular/core").Signal<"" | "Routing number must be 9 digits.">;
|
|
4712
|
+
protected readonly accountError: import("@angular/core").Signal<"" | "Account number must be at least 4 digits.">;
|
|
4713
|
+
protected readonly confirmError: import("@angular/core").Signal<"" | "Account numbers do not match.">;
|
|
4714
|
+
/** First reason the form cannot be submitted ('' when it can). */
|
|
4715
|
+
readonly errorMessage: import("@angular/core").Signal<"" | "Account holder name is required." | "Routing number is required." | "Routing number must be 9 digits." | "Account number is required." | "Account number must be at least 4 digits." | "Confirm account number is required." | "Account numbers do not match." | "Select a valid account type." | "Select a valid holder type." | "You must authorize ACH debits to continue.">;
|
|
4716
|
+
/** True while the form cannot be submitted (`UiFieldValidity`). */
|
|
4717
|
+
readonly invalid: import("@angular/core").Signal<boolean>;
|
|
4718
|
+
/** True when the form can be submitted (ignores `disabled` / `busy`). */
|
|
4719
|
+
readonly valid: import("@angular/core").Signal<boolean>;
|
|
4720
|
+
private readonly _fields;
|
|
4721
|
+
constructor();
|
|
4722
|
+
protected id(name: string): string;
|
|
4723
|
+
protected onEnter(event: Event): void;
|
|
4724
|
+
/** Validates and, when valid, emits `submitted`. An invalid form reveals all messages and emits nothing. Ignored while `disabled` / `busy`. */
|
|
4725
|
+
submit(): void;
|
|
4726
|
+
/** Clears every field back to the defaults (checking, individual, authorization unticked, holder name = `accountHolderNameDefault`). */
|
|
4727
|
+
reset(): void;
|
|
4728
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BankAccountFormComponent, never>;
|
|
4729
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BankAccountFormComponent, "ui-bank-account-form", never, {
|
|
4730
|
+
"showErrors": {
|
|
4731
|
+
"alias": "showErrors";
|
|
4732
|
+
"required": false;
|
|
4733
|
+
"isSignal": true;
|
|
4734
|
+
};
|
|
4735
|
+
"disabled": {
|
|
4736
|
+
"alias": "disabled";
|
|
4737
|
+
"required": false;
|
|
4738
|
+
"isSignal": true;
|
|
4739
|
+
};
|
|
4740
|
+
"busy": {
|
|
4741
|
+
"alias": "busy";
|
|
4742
|
+
"required": false;
|
|
4743
|
+
"isSignal": true;
|
|
4744
|
+
};
|
|
4745
|
+
"mandateText": {
|
|
4746
|
+
"alias": "mandateText";
|
|
4747
|
+
"required": false;
|
|
4748
|
+
"isSignal": true;
|
|
4749
|
+
};
|
|
4750
|
+
"accountTypeOptions": {
|
|
4751
|
+
"alias": "accountTypeOptions";
|
|
4752
|
+
"required": false;
|
|
4753
|
+
"isSignal": true;
|
|
4754
|
+
};
|
|
4755
|
+
"holderTypeOptions": {
|
|
4756
|
+
"alias": "holderTypeOptions";
|
|
4757
|
+
"required": false;
|
|
4758
|
+
"isSignal": true;
|
|
4759
|
+
};
|
|
4760
|
+
"accountHolderNameDefault": {
|
|
4761
|
+
"alias": "accountHolderNameDefault";
|
|
4762
|
+
"required": false;
|
|
4763
|
+
"isSignal": true;
|
|
4764
|
+
};
|
|
4765
|
+
"testIdPrefix": {
|
|
4766
|
+
"alias": "testIdPrefix";
|
|
4767
|
+
"required": false;
|
|
4768
|
+
"isSignal": true;
|
|
4769
|
+
};
|
|
4770
|
+
}, {
|
|
4771
|
+
"submitted": "submitted";
|
|
4772
|
+
"validChange": "validChange";
|
|
4773
|
+
}, never, never, true, never>;
|
|
4774
|
+
}
|
|
4601
4775
|
export interface ActiveConfirm {
|
|
4602
4776
|
title: string;
|
|
4603
4777
|
message: string;
|
|
@@ -4786,6 +4960,8 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
4786
4960
|
readonly inputmode: import("@angular/core").InputSignal<"" | "none" | "text" | "search" | "email" | "tel" | "url" | "decimal" | "numeric">;
|
|
4787
4961
|
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
4788
4962
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
4963
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
4964
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
4789
4965
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
4790
4966
|
/** When true, automatically formats the value as a US phone number as the user types. */
|
|
4791
4967
|
readonly phoneFormat: import("@angular/core").InputSignal<boolean>;
|
|
@@ -4971,6 +5147,11 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
4971
5147
|
"required": false;
|
|
4972
5148
|
"isSignal": true;
|
|
4973
5149
|
};
|
|
5150
|
+
"ariaDescribedBy": {
|
|
5151
|
+
"alias": "ariaDescribedBy";
|
|
5152
|
+
"required": false;
|
|
5153
|
+
"isSignal": true;
|
|
5154
|
+
};
|
|
4974
5155
|
"error": {
|
|
4975
5156
|
"alias": "error";
|
|
4976
5157
|
"required": false;
|
|
@@ -5043,6 +5224,8 @@ export declare class TextareaInputComponent implements ControlValueAccessor, Val
|
|
|
5043
5224
|
readonly required: import("@angular/core").InputSignal<boolean>;
|
|
5044
5225
|
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
5045
5226
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5227
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
5228
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
5046
5229
|
/**
|
|
5047
5230
|
* Opt-in. `false` (default) = unchanged: a labelled field's hint renders INSIDE the `<label>` ("Label (hint)" is the accessible name,
|
|
5048
5231
|
* no aria-describedby for it). `true` = the hint is a sibling of the label (`.ta-head` row, id `<textarea id>-hint`), the accessible
|
|
@@ -5065,6 +5248,7 @@ export declare class TextareaInputComponent implements ControlValueAccessor, Val
|
|
|
5065
5248
|
* hint is replaced by the error) followed by the error. The label is the accessible NAME; the hint is the DESCRIPTION.
|
|
5066
5249
|
*/
|
|
5067
5250
|
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
5251
|
+
private readonly _ownDescribedBy;
|
|
5068
5252
|
private readonly _reveal;
|
|
5069
5253
|
private readonly _issue;
|
|
5070
5254
|
/** True while the value breaks a built-in rule or the host passed an `[error]`. */
|
|
@@ -5132,6 +5316,11 @@ export declare class TextareaInputComponent implements ControlValueAccessor, Val
|
|
|
5132
5316
|
"required": false;
|
|
5133
5317
|
"isSignal": true;
|
|
5134
5318
|
};
|
|
5319
|
+
"ariaDescribedBy": {
|
|
5320
|
+
"alias": "ariaDescribedBy";
|
|
5321
|
+
"required": false;
|
|
5322
|
+
"isSignal": true;
|
|
5323
|
+
};
|
|
5135
5324
|
"hintAsDescription": {
|
|
5136
5325
|
"alias": "hintAsDescription";
|
|
5137
5326
|
"required": false;
|
|
@@ -5535,6 +5724,8 @@ export declare class DateInputComponent implements ControlValueAccessor, Validat
|
|
|
5535
5724
|
readonly min: import("@angular/core").InputSignal<string>;
|
|
5536
5725
|
readonly max: import("@angular/core").InputSignal<string>;
|
|
5537
5726
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5727
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
5728
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
5538
5729
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
5539
5730
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
5540
5731
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
@@ -5543,6 +5734,8 @@ export declare class DateInputComponent implements ControlValueAccessor, Validat
|
|
|
5543
5734
|
private readonly _cvaDisabled;
|
|
5544
5735
|
protected readonly disabled: import("@angular/core").Signal<boolean>;
|
|
5545
5736
|
protected readonly _value: import("@angular/core").WritableSignal<string>;
|
|
5737
|
+
/** `aria-describedby`: the error / hint text, then the host's `ariaDescribedBy` id(s). */
|
|
5738
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
5546
5739
|
private readonly _reveal;
|
|
5547
5740
|
private readonly _issue;
|
|
5548
5741
|
/** True while the value breaks a built-in rule or the host passed an `[error]`. */
|
|
@@ -5597,6 +5790,11 @@ export declare class DateInputComponent implements ControlValueAccessor, Validat
|
|
|
5597
5790
|
"required": false;
|
|
5598
5791
|
"isSignal": true;
|
|
5599
5792
|
};
|
|
5793
|
+
"ariaDescribedBy": {
|
|
5794
|
+
"alias": "ariaDescribedBy";
|
|
5795
|
+
"required": false;
|
|
5796
|
+
"isSignal": true;
|
|
5797
|
+
};
|
|
5600
5798
|
"error": {
|
|
5601
5799
|
"alias": "error";
|
|
5602
5800
|
"required": false;
|
|
@@ -5623,6 +5821,8 @@ export declare class DatetimeInputComponent implements ControlValueAccessor, Val
|
|
|
5623
5821
|
readonly min: import("@angular/core").InputSignal<string>;
|
|
5624
5822
|
readonly max: import("@angular/core").InputSignal<string>;
|
|
5625
5823
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5824
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
5825
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
5626
5826
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
5627
5827
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
5628
5828
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
@@ -5630,6 +5830,8 @@ export declare class DatetimeInputComponent implements ControlValueAccessor, Val
|
|
|
5630
5830
|
private readonly _cvaDisabled;
|
|
5631
5831
|
protected readonly disabled: import("@angular/core").Signal<boolean>;
|
|
5632
5832
|
protected readonly _value: import("@angular/core").WritableSignal<string>;
|
|
5833
|
+
/** `aria-describedby`: the error / hint text, then the host's `ariaDescribedBy` id(s). */
|
|
5834
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
5633
5835
|
private readonly _reveal;
|
|
5634
5836
|
private readonly _issue;
|
|
5635
5837
|
/** True while the value breaks a built-in rule or the host passed an `[error]`. */
|
|
@@ -5682,6 +5884,11 @@ export declare class DatetimeInputComponent implements ControlValueAccessor, Val
|
|
|
5682
5884
|
"required": false;
|
|
5683
5885
|
"isSignal": true;
|
|
5684
5886
|
};
|
|
5887
|
+
"ariaDescribedBy": {
|
|
5888
|
+
"alias": "ariaDescribedBy";
|
|
5889
|
+
"required": false;
|
|
5890
|
+
"isSignal": true;
|
|
5891
|
+
};
|
|
5685
5892
|
"error": {
|
|
5686
5893
|
"alias": "error";
|
|
5687
5894
|
"required": false;
|
|
@@ -5709,6 +5916,8 @@ export declare class TimeInputComponent implements ControlValueAccessor, Validat
|
|
|
5709
5916
|
readonly min: import("@angular/core").InputSignal<string>;
|
|
5710
5917
|
readonly max: import("@angular/core").InputSignal<string>;
|
|
5711
5918
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5919
|
+
/** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
|
|
5920
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
5712
5921
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
5713
5922
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
5714
5923
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
@@ -5718,6 +5927,8 @@ export declare class TimeInputComponent implements ControlValueAccessor, Validat
|
|
|
5718
5927
|
protected readonly disabled: import("@angular/core").Signal<boolean>;
|
|
5719
5928
|
protected readonly _value: import("@angular/core").WritableSignal<string>;
|
|
5720
5929
|
protected readonly _inputId: string;
|
|
5930
|
+
/** `aria-describedby`: the error / hint text, then the host's `ariaDescribedBy` id(s). */
|
|
5931
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
5721
5932
|
private readonly _reveal;
|
|
5722
5933
|
private readonly _issue;
|
|
5723
5934
|
/** True while the value breaks a built-in rule or the host passed an `[error]`. */
|
|
@@ -5774,6 +5985,11 @@ export declare class TimeInputComponent implements ControlValueAccessor, Validat
|
|
|
5774
5985
|
"required": false;
|
|
5775
5986
|
"isSignal": true;
|
|
5776
5987
|
};
|
|
5988
|
+
"ariaDescribedBy": {
|
|
5989
|
+
"alias": "ariaDescribedBy";
|
|
5990
|
+
"required": false;
|
|
5991
|
+
"isSignal": true;
|
|
5992
|
+
};
|
|
5777
5993
|
"error": {
|
|
5778
5994
|
"alias": "error";
|
|
5779
5995
|
"required": false;
|
|
@@ -6779,6 +6995,8 @@ export declare class CardListItemComponent {
|
|
|
6779
6995
|
readonly actionLabel: import("@angular/core").InputSignal<string>;
|
|
6780
6996
|
readonly actionTestId: import("@angular/core").InputSignal<string>;
|
|
6781
6997
|
readonly actionAriaLabel: import("@angular/core").InputSignal<string>;
|
|
6998
|
+
/** A built-in Edit / View / action / delete button shows (the row then keeps a minimum height so a badge and a chip never overlap). */
|
|
6999
|
+
protected readonly hasBuiltInChip: import("@angular/core").Signal<boolean>;
|
|
6782
7000
|
readonly editClick: import("@angular/core").OutputEmitterRef<void>;
|
|
6783
7001
|
readonly viewClick: import("@angular/core").OutputEmitterRef<void>;
|
|
6784
7002
|
readonly delete: import("@angular/core").OutputEmitterRef<void>;
|