@forgeroute/ui 0.4.74 → 0.4.75
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.mjs +440 -16
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +171 -25
package/package.json
CHANGED
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -202,7 +202,7 @@ export interface ColumnDef {
|
|
|
202
202
|
ariaLabel?: string;
|
|
203
203
|
} | null;
|
|
204
204
|
/** Key in item holding the tags array. Defaults to col.key.
|
|
205
|
-
* Expected shape: { name: string; variant?: BadgeVariant; color?: string }[]. `color` is a custom hex colour (`#rgb` / `#rrggbb`,
|
|
205
|
+
* Expected shape: { name: string; variant?: BadgeVariant; color?: string; colorName?: string }[]. `colorName` is the colour (or state) in words, e.g. 'red' or 'error': it is read by screen readers after the tag name (hidden visually) so the colour is never the only signal; omit it and nothing changes. `color` is a custom hex colour (`#rgb` / `#rrggbb`,
|
|
206
206
|
* e.g. the colour a user picked for the tag): it becomes the chip background with dark or white text for contrast and wins over `variant`;
|
|
207
207
|
* an invalid value is ignored. */
|
|
208
208
|
tagsKey?: string;
|
|
@@ -1170,7 +1170,7 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
|
|
|
1170
1170
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
1171
1171
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
1172
1172
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
1173
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
1173
|
+
readonly size: import("@angular/core").InputSignal<"default" | "sm">;
|
|
1174
1174
|
readonly _disabledInput: import("@angular/core").InputSignal<boolean>;
|
|
1175
1175
|
private readonly _cvaDisabled;
|
|
1176
1176
|
protected readonly disabled: import("@angular/core").Signal<boolean>;
|
|
@@ -2283,7 +2283,7 @@ export declare class SidePanelComponent implements OnDestroy {
|
|
|
2283
2283
|
readonly cancelLabel: import("@angular/core").InputSignal<string>;
|
|
2284
2284
|
/** Right-aligned primary action button label. Empty string = hidden. */
|
|
2285
2285
|
readonly primaryLabel: import("@angular/core").InputSignal<string>;
|
|
2286
|
-
readonly primaryVariant: import("@angular/core").InputSignal<"
|
|
2286
|
+
readonly primaryVariant: import("@angular/core").InputSignal<"warning" | "danger" | "primary">;
|
|
2287
2287
|
readonly primaryLoading: import("@angular/core").InputSignal<boolean>;
|
|
2288
2288
|
readonly primaryDisabled: import("@angular/core").InputSignal<boolean>;
|
|
2289
2289
|
/** `data-testid` of the Cancel button; none when empty (default). */
|
|
@@ -2414,7 +2414,7 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
2414
2414
|
*/
|
|
2415
2415
|
readonly describedBy: import("@angular/core").InputSignal<string | null>;
|
|
2416
2416
|
readonly maxWidth: import("@angular/core").InputSignal<string>;
|
|
2417
|
-
readonly bodyOverflow: import("@angular/core").InputSignal<"
|
|
2417
|
+
readonly bodyOverflow: import("@angular/core").InputSignal<"hidden" | "visible" | "auto">;
|
|
2418
2418
|
/** `data-testid` of the dialog element itself (the host `<ui-modal>` is always in the page, the dialog only while open). None when empty. */
|
|
2419
2419
|
readonly dialogTestId: import("@angular/core").InputSignal<string>;
|
|
2420
2420
|
/** Hides the header X button (e.g. while a request is running). Escape and a backdrop click still close unless `closable` is false. */
|
|
@@ -2988,7 +2988,7 @@ export declare class AudioPlayerComponent {
|
|
|
2988
2988
|
/** Accessible name of the player. */
|
|
2989
2989
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
2990
2990
|
/** How much to load before play: 'metadata' (default), 'auto' or 'none'. */
|
|
2991
|
-
readonly preload: import("@angular/core").InputSignal<"
|
|
2991
|
+
readonly preload: import("@angular/core").InputSignal<"none" | "metadata" | "auto">;
|
|
2992
2992
|
/** Fires when the browser can't load or decode the source. */
|
|
2993
2993
|
readonly playbackError: import("@angular/core").OutputEmitterRef<void>;
|
|
2994
2994
|
protected readonly failed: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -3242,7 +3242,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
|
|
|
3242
3242
|
* clicking it still toggles the box - e.g. a product name that is both the heading of its card and the label of its checkbox.
|
|
3243
3243
|
* Default null: plain label text, exactly as before. Single mode only.
|
|
3244
3244
|
*/
|
|
3245
|
-
readonly headingLevel: import("@angular/core").InputSignal<1 |
|
|
3245
|
+
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
|
|
3246
3246
|
readonly indeterminate: import("@angular/core").InputSignal<boolean>;
|
|
3247
3247
|
readonly checked: import("@angular/core").ModelSignal<boolean>;
|
|
3248
3248
|
/**
|
|
@@ -3260,7 +3260,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
|
|
|
3260
3260
|
*/
|
|
3261
3261
|
protected readonly _legend: import("@angular/core").Signal<string>;
|
|
3262
3262
|
/** Group mode: lay the options out in a column (default) or in a wrapping row. */
|
|
3263
|
-
readonly orientation: import("@angular/core").InputSignal<"
|
|
3263
|
+
readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
|
|
3264
3264
|
/**
|
|
3265
3265
|
* Group mode: the ticked option values as a two-way model (`[(values)]`), an alternative to ngModel / forms. Unset (default) = the
|
|
3266
3266
|
* group is driven by ngModel / FormControl only. Values that are not an option are dropped and the order follows `options`.
|
|
@@ -3641,13 +3641,13 @@ export declare class StepperComponent {
|
|
|
3641
3641
|
/** Accessible name of the list. */
|
|
3642
3642
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
3643
3643
|
/** Horizontal, <= 480px: show only the current step's label (`'current'`, default) or every label (`'all'`). */
|
|
3644
|
-
readonly labelsOnSmallScreens: import("@angular/core").InputSignal<"
|
|
3644
|
+
readonly labelsOnSmallScreens: import("@angular/core").InputSignal<"all" | "current">;
|
|
3645
3645
|
/**
|
|
3646
3646
|
* Horizontal only. `'beside'` (default): the label sits to the right of its circle. `'below'`: equal-width columns, the label centred under
|
|
3647
3647
|
* its circle, one continuous line behind the circles that fills as steps complete; a complete step shows a check, the current step an
|
|
3648
3648
|
* accent ring with a dot, an upcoming step an empty circle (no numbers). Circles are 40px (32px with `size="sm"`).
|
|
3649
3649
|
*/
|
|
3650
|
-
readonly labelPosition: import("@angular/core").InputSignal<"
|
|
3650
|
+
readonly labelPosition: import("@angular/core").InputSignal<"below" | "beside">;
|
|
3651
3651
|
/** Viewport width in px below which a horizontal stepper is drawn vertical (labels beside the circles), e.g. `640`. null (default) = never. */
|
|
3652
3652
|
readonly stackBelow: import("@angular/core").InputSignal<number | null>;
|
|
3653
3653
|
/** CSS length (e.g. `10.5rem`): horizontal only - the list gets `min-width: calc(<step count> * <value>)`. Empty (default) = no minimum. */
|
|
@@ -3679,7 +3679,7 @@ export declare class StepperComponent {
|
|
|
3679
3679
|
protected readonly rows: import("@angular/core").Signal<{
|
|
3680
3680
|
step: StepperStep;
|
|
3681
3681
|
index: number;
|
|
3682
|
-
state: "
|
|
3682
|
+
state: "complete" | "current" | "upcoming";
|
|
3683
3683
|
error: boolean;
|
|
3684
3684
|
errorMessage: string;
|
|
3685
3685
|
selectable: boolean;
|
|
@@ -3992,7 +3992,7 @@ export declare class RadioGroupComponent implements ControlValueAccessor, Valida
|
|
|
3992
3992
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
3993
3993
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
3994
3994
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
3995
|
-
readonly orientation: import("@angular/core").InputSignal<"
|
|
3995
|
+
readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
|
|
3996
3996
|
/** Native `name` shared by the radios; a unique one is generated when omitted. */
|
|
3997
3997
|
readonly name: import("@angular/core").InputSignal<string>;
|
|
3998
3998
|
/** `<ng-template uiRadioOptionContent="value">` children: content shown under that option while it is selected. */
|
|
@@ -4281,7 +4281,7 @@ export declare class ButtonComponent {
|
|
|
4281
4281
|
* `ghost-start`: a ghost button for list / section toggles - a full-width row with its content aligned to the start, transparent
|
|
4282
4282
|
* background, hover tint and the normal focus ring. Pair it with `ariaExpanded` / `ariaPressed`; the label may contain a heading element.
|
|
4283
4283
|
*/
|
|
4284
|
-
readonly variant: import("@angular/core").InputSignal<"link" | "
|
|
4284
|
+
readonly variant: import("@angular/core").InputSignal<"link" | "icon" | "warning" | "danger" | "primary" | "secondary" | "ghost" | "ghost-start" | "tab" | "icon-danger">;
|
|
4285
4285
|
/** Renders an anchor to this route instead of a button (use with `variant="link"` for an inline text link). `['/settings']` or `'/settings'`. While `disabled` or `loading` it renders a non-clickable `<span role="link" aria-disabled>` with no href (like `href`). */
|
|
4286
4286
|
readonly routerLink: import("@angular/core").InputSignal<string | readonly unknown[] | null>;
|
|
4287
4287
|
/** Query params of the `routerLink` (e.g. `{ section: 'deal-defaults' }`). */
|
|
@@ -4302,7 +4302,7 @@ export declare class ButtonComponent {
|
|
|
4302
4302
|
*/
|
|
4303
4303
|
readonly href: import("@angular/core").InputSignal<string | null>;
|
|
4304
4304
|
/** Where to open the `href` (`_blank` = a new tab). */
|
|
4305
|
-
readonly target: import("@angular/core").InputSignal<"
|
|
4305
|
+
readonly target: import("@angular/core").InputSignal<"_self" | "_blank" | "_parent" | "_top" | null>;
|
|
4306
4306
|
/** `rel` of the `href` link. A `_blank` target always gets `noopener noreferrer` added. */
|
|
4307
4307
|
readonly rel: import("@angular/core").InputSignal<string | null>;
|
|
4308
4308
|
/** The href when it is allowed (http, https, mailto, tel, sms or a relative URL), else null. */
|
|
@@ -4556,7 +4556,7 @@ export declare class PillTabsComponent {
|
|
|
4556
4556
|
/** Keep every pill at its own width on one line (default false: pills may shrink and wrap their text). On a phone the row scrolls sideways, as it always does. */
|
|
4557
4557
|
readonly noWrap: import("@angular/core").InputSignal<boolean>;
|
|
4558
4558
|
/** 'vertical' stacks the tabs in a column (Up/Down arrows move between them, `aria-orientation="vertical"`). Default 'horizontal' = unchanged. */
|
|
4559
|
-
readonly orientation: import("@angular/core").InputSignal<"
|
|
4559
|
+
readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
|
|
4560
4560
|
protected readonly vertical: () => boolean;
|
|
4561
4561
|
/**
|
|
4562
4562
|
* (library source 2026-11-04, not yet published) Associate the tabs with their panels: every tab gets
|
|
@@ -5447,7 +5447,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
5447
5447
|
* `search`, `text`, `none`). Empty (default) = the browser's default for the field, except `type="tel"`, which keeps `tel`.
|
|
5448
5448
|
* It only picks the keyboard; it does not restrict what can be typed or pasted.
|
|
5449
5449
|
*/
|
|
5450
|
-
readonly inputmode: import("@angular/core").InputSignal<"" | "
|
|
5450
|
+
readonly inputmode: import("@angular/core").InputSignal<"" | "none" | "email" | "search" | "text" | "numeric" | "tel" | "url" | "decimal">;
|
|
5451
5451
|
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
5452
5452
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5453
5453
|
/** 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. */
|
|
@@ -6091,6 +6091,14 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6091
6091
|
* Default `false`: nothing is toasted (the field message and `(fileRejected)` are unchanged). Needs a `ui-toast` outlet like any toast.
|
|
6092
6092
|
*/
|
|
6093
6093
|
readonly toastOnReject: import("@angular/core").InputSignal<boolean>;
|
|
6094
|
+
/**
|
|
6095
|
+
* When several files are refused in one pick or drop, show EVERY one inside the field as a list (each line
|
|
6096
|
+
* `"name" was not added. <reason>`) instead of only the first refusal message. No toast is raised. The same list is available to the
|
|
6097
|
+
* host through `rejections` and `(filesRejected)`. Default `false`: the field shows the first refusal message only (unchanged).
|
|
6098
|
+
*/
|
|
6099
|
+
readonly listRejections: import("@angular/core").InputSignal<boolean>;
|
|
6100
|
+
/** Id(s) of host elements that describe the picker (space-separated), added after the field's own error text, like `ui-text-input`'s `ariaDescribedBy`. Empty: nothing is added. */
|
|
6101
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
6094
6102
|
/** Show a Remove button next to the chosen file. */
|
|
6095
6103
|
readonly clearable: import("@angular/core").InputSignal<boolean>;
|
|
6096
6104
|
readonly removeLabel: import("@angular/core").InputSignal<string>;
|
|
@@ -6124,6 +6132,8 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6124
6132
|
readonly filesSelected: import("@angular/core").OutputEmitterRef<File[]>;
|
|
6125
6133
|
/** A picked or dropped file was refused (wrong type or too big). */
|
|
6126
6134
|
readonly fileRejected: import("@angular/core").OutputEmitterRef<FileRejection>;
|
|
6135
|
+
/** Every file refused by ONE pick or drop, in one event (fires only when at least one file was refused; `(fileRejected)` still fires per file). */
|
|
6136
|
+
readonly filesRejected: import("@angular/core").OutputEmitterRef<FileRejection[]>;
|
|
6127
6137
|
/** The Remove button cleared the selection. */
|
|
6128
6138
|
readonly fileRemoved: import("@angular/core").OutputEmitterRef<void>;
|
|
6129
6139
|
/** Emits whenever the field becomes invalid / valid. */
|
|
@@ -6138,6 +6148,15 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6138
6148
|
/** Message of the last refused file ('' when the last pick was fine); shown in every mode. */
|
|
6139
6149
|
private readonly _toast;
|
|
6140
6150
|
private readonly _rejection;
|
|
6151
|
+
/** `aria-describedby` of the native input and the drop zone: the shown error text, then the host's ids. Absent when neither exists. */
|
|
6152
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
6153
|
+
private readonly _rejected;
|
|
6154
|
+
/** The files refused by the last pick or drop (empty when the last pick was fine, after Remove / clear, and when files are set from the form). */
|
|
6155
|
+
readonly rejections: import("@angular/core").Signal<FileRejection[]>;
|
|
6156
|
+
/** One line per refused file: `"name" was not added. <reason>`. */
|
|
6157
|
+
readonly rejectionLines: import("@angular/core").Signal<string[]>;
|
|
6158
|
+
/** The list replaces the single message only while it is the refusal that is shown (a host `[error]` on a visible field wins). */
|
|
6159
|
+
protected readonly _showRejectList: import("@angular/core").Signal<boolean>;
|
|
6141
6160
|
private readonly _reveal;
|
|
6142
6161
|
private readonly _issue;
|
|
6143
6162
|
/** True while a required field is empty, the last pick was refused, or the host passed an `[error]`. */
|
|
@@ -6174,6 +6193,8 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6174
6193
|
protected onDragOver(event: DragEvent): void;
|
|
6175
6194
|
protected onDragLeave(event: DragEvent): void;
|
|
6176
6195
|
protected onDrop(event: DragEvent): void;
|
|
6196
|
+
/** Keeps the first-message string (the `invalid` state) and the full list in step. */
|
|
6197
|
+
private setRejections;
|
|
6177
6198
|
private rejectionFor;
|
|
6178
6199
|
/** Applies picked / dropped files: refused ones raise the message and `fileRejected`, accepted ones become the value. */
|
|
6179
6200
|
private accept$;
|
|
@@ -6239,6 +6260,16 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6239
6260
|
"required": false;
|
|
6240
6261
|
"isSignal": true;
|
|
6241
6262
|
};
|
|
6263
|
+
"listRejections": {
|
|
6264
|
+
"alias": "listRejections";
|
|
6265
|
+
"required": false;
|
|
6266
|
+
"isSignal": true;
|
|
6267
|
+
};
|
|
6268
|
+
"ariaDescribedBy": {
|
|
6269
|
+
"alias": "ariaDescribedBy";
|
|
6270
|
+
"required": false;
|
|
6271
|
+
"isSignal": true;
|
|
6272
|
+
};
|
|
6242
6273
|
"clearable": {
|
|
6243
6274
|
"alias": "clearable";
|
|
6244
6275
|
"required": false;
|
|
@@ -6322,10 +6353,125 @@ export declare class FileInputComponent implements ControlValueAccessor, Validat
|
|
|
6322
6353
|
}, {
|
|
6323
6354
|
"filesSelected": "filesSelected";
|
|
6324
6355
|
"fileRejected": "fileRejected";
|
|
6356
|
+
"filesRejected": "filesRejected";
|
|
6325
6357
|
"fileRemoved": "fileRemoved";
|
|
6326
6358
|
"invalidChange": "invalidChange";
|
|
6327
6359
|
}, never, never, true, never>;
|
|
6328
6360
|
}
|
|
6361
|
+
/**
|
|
6362
|
+
* A read-only text field with a Copy button (a feed address, an API URL, an invite link).
|
|
6363
|
+
*
|
|
6364
|
+
* <ui-copy-field label="Feed address" [value]="feedUrl()" (copied)="toast.success('Address copied')" />
|
|
6365
|
+
*
|
|
6366
|
+
* The button copies `value` with the Clipboard API; where that is missing or refused (older Safari / Firefox settings, an insecure page) it
|
|
6367
|
+
* selects the text and uses `document.execCommand('copy')`. If that fails too, the text stays selected and a status line asks the user to
|
|
6368
|
+
* press Ctrl/Cmd + C, and `(copyFailed)` is emitted. A polite live region announces the result. The button's accessible name contains its
|
|
6369
|
+
* visible text (WCAG 2.5.3). The field shows the full value (it scrolls inside the field); it never changes `value`.
|
|
6370
|
+
*/
|
|
6371
|
+
export declare class CopyFieldComponent implements OnDestroy {
|
|
6372
|
+
/** The text shown and copied. */
|
|
6373
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
6374
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
6375
|
+
/** Visible button text (default "Copy"). */
|
|
6376
|
+
readonly copyLabel: import("@angular/core").InputSignal<string>;
|
|
6377
|
+
/** Visible button text for 2 seconds after a successful copy (default "Copied"). */
|
|
6378
|
+
readonly copiedLabel: import("@angular/core").InputSignal<string>;
|
|
6379
|
+
/** Accessible name of the button; default `<copyLabel> <label>`. Keep the visible text inside it. */
|
|
6380
|
+
readonly buttonAriaLabel: import("@angular/core").InputSignal<string>;
|
|
6381
|
+
/** Announced after a successful copy (default "Copied to clipboard"). */
|
|
6382
|
+
readonly copiedMessage: import("@angular/core").InputSignal<string>;
|
|
6383
|
+
/** Shown and announced when copying was refused (default asks for Ctrl/Cmd + C). */
|
|
6384
|
+
readonly failedMessage: import("@angular/core").InputSignal<string>;
|
|
6385
|
+
readonly hint: import("@angular/core").InputSignal<string>;
|
|
6386
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
6387
|
+
/** Id(s) of host elements that also describe the field (space-separated). */
|
|
6388
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string>;
|
|
6389
|
+
readonly inputTestId: import("@angular/core").InputSignal<string>;
|
|
6390
|
+
readonly buttonTestId: import("@angular/core").InputSignal<string>;
|
|
6391
|
+
/** The text was copied. */
|
|
6392
|
+
readonly copied: import("@angular/core").OutputEmitterRef<string>;
|
|
6393
|
+
/** Neither the Clipboard API nor the fallback could copy. */
|
|
6394
|
+
readonly copyFailed: import("@angular/core").OutputEmitterRef<void>;
|
|
6395
|
+
protected readonly _id: string;
|
|
6396
|
+
protected readonly _state: import("@angular/core").WritableSignal<"idle" | "copied" | "failed">;
|
|
6397
|
+
protected readonly _announcement: import("@angular/core").Signal<string>;
|
|
6398
|
+
protected readonly _buttonName: import("@angular/core").Signal<string>;
|
|
6399
|
+
protected readonly _describedBy: import("@angular/core").Signal<string | null>;
|
|
6400
|
+
private readonly fieldEl;
|
|
6401
|
+
private _timer;
|
|
6402
|
+
ngOnDestroy(): void;
|
|
6403
|
+
/** Selects the whole text (also done on focus, so a manual copy is one keystroke away). */
|
|
6404
|
+
selectAll(): void;
|
|
6405
|
+
/** Copies `value`; the button calls this. Resolves to true when the text reached the clipboard. */
|
|
6406
|
+
copy(): Promise<boolean>;
|
|
6407
|
+
private legacyCopy;
|
|
6408
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CopyFieldComponent, never>;
|
|
6409
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CopyFieldComponent, "ui-copy-field", never, {
|
|
6410
|
+
"value": {
|
|
6411
|
+
"alias": "value";
|
|
6412
|
+
"required": false;
|
|
6413
|
+
"isSignal": true;
|
|
6414
|
+
};
|
|
6415
|
+
"label": {
|
|
6416
|
+
"alias": "label";
|
|
6417
|
+
"required": false;
|
|
6418
|
+
"isSignal": true;
|
|
6419
|
+
};
|
|
6420
|
+
"copyLabel": {
|
|
6421
|
+
"alias": "copyLabel";
|
|
6422
|
+
"required": false;
|
|
6423
|
+
"isSignal": true;
|
|
6424
|
+
};
|
|
6425
|
+
"copiedLabel": {
|
|
6426
|
+
"alias": "copiedLabel";
|
|
6427
|
+
"required": false;
|
|
6428
|
+
"isSignal": true;
|
|
6429
|
+
};
|
|
6430
|
+
"buttonAriaLabel": {
|
|
6431
|
+
"alias": "buttonAriaLabel";
|
|
6432
|
+
"required": false;
|
|
6433
|
+
"isSignal": true;
|
|
6434
|
+
};
|
|
6435
|
+
"copiedMessage": {
|
|
6436
|
+
"alias": "copiedMessage";
|
|
6437
|
+
"required": false;
|
|
6438
|
+
"isSignal": true;
|
|
6439
|
+
};
|
|
6440
|
+
"failedMessage": {
|
|
6441
|
+
"alias": "failedMessage";
|
|
6442
|
+
"required": false;
|
|
6443
|
+
"isSignal": true;
|
|
6444
|
+
};
|
|
6445
|
+
"hint": {
|
|
6446
|
+
"alias": "hint";
|
|
6447
|
+
"required": false;
|
|
6448
|
+
"isSignal": true;
|
|
6449
|
+
};
|
|
6450
|
+
"disabled": {
|
|
6451
|
+
"alias": "disabled";
|
|
6452
|
+
"required": false;
|
|
6453
|
+
"isSignal": true;
|
|
6454
|
+
};
|
|
6455
|
+
"ariaDescribedBy": {
|
|
6456
|
+
"alias": "ariaDescribedBy";
|
|
6457
|
+
"required": false;
|
|
6458
|
+
"isSignal": true;
|
|
6459
|
+
};
|
|
6460
|
+
"inputTestId": {
|
|
6461
|
+
"alias": "inputTestId";
|
|
6462
|
+
"required": false;
|
|
6463
|
+
"isSignal": true;
|
|
6464
|
+
};
|
|
6465
|
+
"buttonTestId": {
|
|
6466
|
+
"alias": "buttonTestId";
|
|
6467
|
+
"required": false;
|
|
6468
|
+
"isSignal": true;
|
|
6469
|
+
};
|
|
6470
|
+
}, {
|
|
6471
|
+
"copied": "copied";
|
|
6472
|
+
"copyFailed": "copyFailed";
|
|
6473
|
+
}, never, never, true, never>;
|
|
6474
|
+
}
|
|
6329
6475
|
export declare class DateInputComponent implements ControlValueAccessor, Validator, UiFieldValidity {
|
|
6330
6476
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
6331
6477
|
readonly required: import("@angular/core").InputSignal<boolean>;
|
|
@@ -7033,7 +7179,7 @@ export declare class DropdownComponent {
|
|
|
7033
7179
|
readonly loader: import("@angular/core").InputSignal<(() => Promise<DropdownItem[]>) | null>;
|
|
7034
7180
|
readonly active: import("@angular/core").InputSignal<boolean>;
|
|
7035
7181
|
readonly activeValue: import("@angular/core").InputSignal<string>;
|
|
7036
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
7182
|
+
readonly variant: import("@angular/core").InputSignal<"badge" | "button">;
|
|
7037
7183
|
/** Trigger size for `variant="button"`: `sm` (default, the compact toolbar look) or `md` (same padding and type as a medium `ui-button`). */
|
|
7038
7184
|
readonly size: import("@angular/core").InputSignal<"sm" | "md">;
|
|
7039
7185
|
readonly menuWidth: import("@angular/core").InputSignal<string>;
|
|
@@ -7346,7 +7492,7 @@ export declare class FormSectionComponent {
|
|
|
7346
7492
|
}, {}, never, ["*"], true, never>;
|
|
7347
7493
|
}
|
|
7348
7494
|
export declare class FormRowComponent {
|
|
7349
|
-
readonly cols: import("@angular/core").InputSignal<1 |
|
|
7495
|
+
readonly cols: import("@angular/core").InputSignal<1 | 2 | 3 | 4>;
|
|
7350
7496
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormRowComponent, never>;
|
|
7351
7497
|
static ɵcmp: i0.ɵɵComponentDeclaration<FormRowComponent, "ui-form-row", never, {
|
|
7352
7498
|
"cols": {
|
|
@@ -7363,7 +7509,7 @@ export declare class FormRowComponent {
|
|
|
7363
7509
|
* child simply takes the full width. Keep a numeric span within the row's `cols` (use `all` for the whole row).
|
|
7364
7510
|
*/
|
|
7365
7511
|
export declare class FormColSpanDirective {
|
|
7366
|
-
readonly uiColSpan: import("@angular/core").InputSignal<"" | 2 | 3 | "
|
|
7512
|
+
readonly uiColSpan: import("@angular/core").InputSignal<"" | 2 | 3 | "2" | "3" | "all">;
|
|
7367
7513
|
protected readonly _class: import("@angular/core").Signal<string>;
|
|
7368
7514
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormColSpanDirective, never>;
|
|
7369
7515
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormColSpanDirective, "[uiColSpan]", never, {
|
|
@@ -8941,13 +9087,13 @@ export declare class AlertComponent {
|
|
|
8941
9087
|
}
|
|
8942
9088
|
/**
|
|
8943
9089
|
* Every key `<ui-icon>` draws by itself (the data-table action keys such as `view` / `edit` / `call` are accepted too, see `builtInActionIcon`).
|
|
8944
|
-
* Each resolves with `iconPath(key)`. Includes `search`, `cup` (food / drink) and `wrench` (rental / tools), library source 2026-11-04, not yet published.
|
|
9090
|
+
* Each resolves with `iconPath(key)`. Includes `search`, `cup` (food / drink) and `wrench` (rental / tools), library source 2026-11-04, and `cash` (banknote) and `dollar` (payment methods / amounts), library source 2026-11-05, not yet published.
|
|
8945
9091
|
*/
|
|
8946
9092
|
export declare const ICON_NAMES: readonly string[];
|
|
8947
9093
|
/** The SVG path (24×24 stroke icon) for an icon key, or undefined when the key is unknown. */
|
|
8948
9094
|
export declare function iconPath(name: string): string | undefined;
|
|
8949
9095
|
/** Keys with an icon of their own (the data-table action keys are accepted too — see `builtInActionIcon`). */
|
|
8950
|
-
export type IconName = 'add' | 'close' | 'check' | 'upload' | 'image' | 'chevron-up' | 'chevron-down' | 'arrow-left' | 'bell' | 'print' | 'lock' | 'shield' | 'arrow-up' | 'arrow-down' | 'arrow-right' | 'document' | 'grip' | 'card' | 'bank' | 'view' | 'view-off' | 'edit' | 'delete' | 'download' | 'duplicate' | 'archive' | 'restore' | 'share' | 'email' | 'message' | 'call' | 'refund' | 'chevron-right' | 'link' | 'save' | 'chart' | 'clipboard' | 'unlink' | 'send' | 'refresh' | 'search' | 'cup' | 'wrench' | 'history' | 'move-up' | 'move-down';
|
|
9096
|
+
export type IconName = 'add' | 'close' | 'check' | 'upload' | 'image' | 'chevron-up' | 'chevron-down' | 'arrow-left' | 'bell' | 'print' | 'lock' | 'shield' | 'arrow-up' | 'arrow-down' | 'arrow-right' | 'document' | 'grip' | 'card' | 'bank' | 'view' | 'view-off' | 'edit' | 'delete' | 'download' | 'duplicate' | 'archive' | 'restore' | 'share' | 'email' | 'message' | 'call' | 'refund' | 'chevron-right' | 'link' | 'save' | 'chart' | 'clipboard' | 'unlink' | 'send' | 'refresh' | 'search' | 'cup' | 'wrench' | 'cash' | 'dollar' | 'history' | 'move-up' | 'move-down';
|
|
8951
9097
|
/**
|
|
8952
9098
|
* A clickable icon. The host passes a key (`name="delete"`) and the library draws that icon; clicking it emits
|
|
8953
9099
|
* `iconClick`, and the host does the actual work (delete the row, open a panel, …).
|
|
@@ -8974,7 +9120,7 @@ export declare class IconComponent {
|
|
|
8974
9120
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
8975
9121
|
/** Icon size in px. */
|
|
8976
9122
|
readonly size: import("@angular/core").InputSignal<number>;
|
|
8977
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
9123
|
+
readonly variant: import("@angular/core").InputSignal<"default" | "danger">;
|
|
8978
9124
|
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
8979
9125
|
/** The host is running the request this icon started: a spinner replaces the picture and the button is disabled (no click) until it is false again. */
|
|
8980
9126
|
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
@@ -9285,7 +9431,7 @@ export declare class AddressInputComponent implements ControlValueAccessor, Vali
|
|
|
9285
9431
|
* the object. `valueChange` always emits the object. A written string is read with `parseAddressValue` for display only: the control keeps
|
|
9286
9432
|
* the original text until the user edits a field (so a text the parser cannot split is not rewritten on load).
|
|
9287
9433
|
*/
|
|
9288
|
-
readonly valueFormat: import("@angular/core").InputSignal<"object" | "
|
|
9434
|
+
readonly valueFormat: import("@angular/core").InputSignal<"object" | "text" | "auto">;
|
|
9289
9435
|
/** ZIP rule; the default is the US 5 digits / 5+4 rule. `null` accepts any non-empty ZIP. The ZIP is validated and stored trimmed. */
|
|
9290
9436
|
readonly zipPattern: import("@angular/core").InputSignal<RegExp | null>;
|
|
9291
9437
|
/** Message shown when the ZIP breaks `zipPattern`. */
|
|
@@ -11067,7 +11213,7 @@ export declare class PdfHotspotComponent {
|
|
|
11067
11213
|
/** `ready`: clickable; `blocked`: disabled (a prerequisite is missing); `signed`: shows `image`. */
|
|
11068
11214
|
readonly state: import("@angular/core").InputSignal<"ready" | "blocked" | "signed">;
|
|
11069
11215
|
/** `warning` gives the ready state an amber look (e.g. for initials), default is blue. */
|
|
11070
|
-
readonly tone: import("@angular/core").InputSignal<"
|
|
11216
|
+
readonly tone: import("@angular/core").InputSignal<"warning" | "primary">;
|
|
11071
11217
|
/** Text of the ready button (e.g. "Sign Here"). */
|
|
11072
11218
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
11073
11219
|
/** Text of the blocked button (e.g. "Add signature above"). */
|
|
@@ -11204,7 +11350,7 @@ export declare class DetailCardComponent {
|
|
|
11204
11350
|
/** true (default) = the title is displayed in capitals (CSS only); false = shown as written. The text, aria-label and heading name are never changed. */
|
|
11205
11351
|
readonly uppercaseTitle: import("@angular/core").InputSignal<boolean>;
|
|
11206
11352
|
/** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
|
|
11207
|
-
readonly headingLevel: import("@angular/core").InputSignal<1 |
|
|
11353
|
+
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
|
|
11208
11354
|
/** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
|
|
11209
11355
|
readonly titleId: import("@angular/core").InputSignal<string>;
|
|
11210
11356
|
/** Accessible name of the card when the header gives none (no header, or no title). A visible title wins; blank = no name. */
|
|
@@ -11218,7 +11364,7 @@ export declare class DetailCardComponent {
|
|
|
11218
11364
|
/** Background colour of the footer bar (the `[card-footer]` slot) as any CSS colour. Empty = no colour of its own. */
|
|
11219
11365
|
readonly footerBackground: import("@angular/core").InputSignal<string>;
|
|
11220
11366
|
/** Alignment of the `[card-footer]` content: `'start'` (default, unchanged) or `'end'` = a right-aligned action row with an 8px gap. */
|
|
11221
|
-
readonly footerAlign: import("@angular/core").InputSignal<"
|
|
11367
|
+
readonly footerAlign: import("@angular/core").InputSignal<"end" | "start">;
|
|
11222
11368
|
/** Text colour as any CSS colour (`#fff`, `var(--on-dark)` …). Empty = the default colours. Colours the title, subtitle, chevron and body text. */
|
|
11223
11369
|
readonly textColor: import("@angular/core").InputSignal<string>;
|
|
11224
11370
|
/** false = no header at all (no title, edit button, toggle or divider): the card is only the body, always open. */
|