@forgeroute/ui 0.4.6 → 0.4.7
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 +136 -27
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +54 -14
package/package.json
CHANGED
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -1812,7 +1812,7 @@ export declare class SidePanelComponent implements OnDestroy {
|
|
|
1812
1812
|
readonly cancelLabel: import("@angular/core").InputSignal<string>;
|
|
1813
1813
|
/** Right-aligned primary action button label. Empty string = hidden. */
|
|
1814
1814
|
readonly primaryLabel: import("@angular/core").InputSignal<string>;
|
|
1815
|
-
readonly primaryVariant: import("@angular/core").InputSignal<"
|
|
1815
|
+
readonly primaryVariant: import("@angular/core").InputSignal<"warning" | "danger" | "primary">;
|
|
1816
1816
|
readonly primaryLoading: import("@angular/core").InputSignal<boolean>;
|
|
1817
1817
|
readonly primaryDisabled: import("@angular/core").InputSignal<boolean>;
|
|
1818
1818
|
/** `data-testid` of the Cancel button; none when empty (default). */
|
|
@@ -3343,7 +3343,7 @@ export declare class ButtonComponent {
|
|
|
3343
3343
|
* `ghost-start`: a ghost button for list / section toggles - a full-width row with its content aligned to the start, transparent
|
|
3344
3344
|
* background, hover tint and the normal focus ring. Pair it with `ariaExpanded` / `ariaPressed`; the label may contain a heading element.
|
|
3345
3345
|
*/
|
|
3346
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
3346
|
+
readonly variant: import("@angular/core").InputSignal<"warning" | "danger" | "primary" | "secondary" | "link" | "ghost" | "ghost-start" | "tab" | "icon" | "icon-danger">;
|
|
3347
3347
|
/** 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`). */
|
|
3348
3348
|
readonly routerLink: import("@angular/core").InputSignal<string | readonly unknown[] | null>;
|
|
3349
3349
|
/** Query params of the `routerLink` (e.g. `{ section: 'deal-defaults' }`). */
|
|
@@ -3746,7 +3746,7 @@ export declare class BulkMessagePanelComponent {
|
|
|
3746
3746
|
readonly sending: import("@angular/core").InputSignal<boolean>;
|
|
3747
3747
|
readonly closed: import("@angular/core").OutputEmitterRef<void>;
|
|
3748
3748
|
readonly send: import("@angular/core").OutputEmitterRef<BulkMessageSendEvent>;
|
|
3749
|
-
readonly channel: import("@angular/core").WritableSignal<"
|
|
3749
|
+
readonly channel: import("@angular/core").WritableSignal<"email" | "text">;
|
|
3750
3750
|
private readonly _subject;
|
|
3751
3751
|
private readonly _body;
|
|
3752
3752
|
get subject(): string;
|
|
@@ -3895,7 +3895,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
3895
3895
|
* Meant for a short mark of 1-3 characters.
|
|
3896
3896
|
*/
|
|
3897
3897
|
readonly prefix: import("@angular/core").InputSignal<string>;
|
|
3898
|
-
readonly type: import("@angular/core").InputSignal<"number" | "
|
|
3898
|
+
readonly type: import("@angular/core").InputSignal<"number" | "tel" | "email" | "text" | "password" | "url">;
|
|
3899
3899
|
readonly maxlength: import("@angular/core").InputSignal<number | undefined>;
|
|
3900
3900
|
readonly required: import("@angular/core").InputSignal<boolean>;
|
|
3901
3901
|
readonly autocomplete: import("@angular/core").InputSignal<string>;
|
|
@@ -3904,7 +3904,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
3904
3904
|
* `search`, `text`, `none`). Empty (default) = the browser's default for the field, except `type="tel"`, which keeps `tel`.
|
|
3905
3905
|
* It only picks the keyboard; it does not restrict what can be typed or pasted.
|
|
3906
3906
|
*/
|
|
3907
|
-
readonly inputmode: import("@angular/core").InputSignal<"" | "
|
|
3907
|
+
readonly inputmode: import("@angular/core").InputSignal<"" | "tel" | "email" | "none" | "text" | "search" | "url" | "decimal" | "numeric">;
|
|
3908
3908
|
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
3909
3909
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
3910
3910
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
@@ -5345,7 +5345,7 @@ export declare class FormSectionComponent {
|
|
|
5345
5345
|
}, {}, never, ["*"], true, never>;
|
|
5346
5346
|
}
|
|
5347
5347
|
export declare class FormRowComponent {
|
|
5348
|
-
readonly cols: import("@angular/core").InputSignal<1 | 2 | 3>;
|
|
5348
|
+
readonly cols: import("@angular/core").InputSignal<1 | 2 | 3 | 4>;
|
|
5349
5349
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormRowComponent, never>;
|
|
5350
5350
|
static ɵcmp: i0.ɵɵComponentDeclaration<FormRowComponent, "ui-form-row", never, {
|
|
5351
5351
|
"cols": {
|
|
@@ -5362,7 +5362,7 @@ export declare class FormRowComponent {
|
|
|
5362
5362
|
* child simply takes the full width. Keep a numeric span within the row's `cols` (use `all` for the whole row).
|
|
5363
5363
|
*/
|
|
5364
5364
|
export declare class FormColSpanDirective {
|
|
5365
|
-
readonly uiColSpan: import("@angular/core").InputSignal<"" |
|
|
5365
|
+
readonly uiColSpan: import("@angular/core").InputSignal<"" | 2 | 3 | "2" | "3" | "all">;
|
|
5366
5366
|
protected readonly _class: import("@angular/core").Signal<string>;
|
|
5367
5367
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormColSpanDirective, never>;
|
|
5368
5368
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormColSpanDirective, "[uiColSpan]", never, {
|
|
@@ -5965,6 +5965,12 @@ export interface PanelInfoSection {
|
|
|
5965
5965
|
export declare class PanelInfoListComponent {
|
|
5966
5966
|
readonly sections: import("@angular/core").InputSignal<PanelInfoSection[]>;
|
|
5967
5967
|
readonly showEmptyState: import("@angular/core").InputSignal<boolean>;
|
|
5968
|
+
/**
|
|
5969
|
+
* true = each row reads "Label: value" (a colon after the label and a real space, so `textContent` is "Label: value") with the value
|
|
5970
|
+
* next to the label instead of pushed to the right edge. Works with plain values, links (href / email / phone / link) and badges.
|
|
5971
|
+
* Default false = the label and value as before.
|
|
5972
|
+
*/
|
|
5973
|
+
readonly labelColon: import("@angular/core").InputSignal<boolean>;
|
|
5968
5974
|
readonly displaySections: import("@angular/core").Signal<PanelInfoSection[]>;
|
|
5969
5975
|
/**
|
|
5970
5976
|
* The safe href of an item, or null: `href` first, else `mailto:`/`tel:` built from `email`/`phone`. Only mailto, tel, http and https
|
|
@@ -5987,6 +5993,11 @@ export declare class PanelInfoListComponent {
|
|
|
5987
5993
|
"required": false;
|
|
5988
5994
|
"isSignal": true;
|
|
5989
5995
|
};
|
|
5996
|
+
"labelColon": {
|
|
5997
|
+
"alias": "labelColon";
|
|
5998
|
+
"required": false;
|
|
5999
|
+
"isSignal": true;
|
|
6000
|
+
};
|
|
5990
6001
|
}, {}, never, never, true, never>;
|
|
5991
6002
|
}
|
|
5992
6003
|
/**
|
|
@@ -6393,7 +6404,7 @@ export declare class IconComponent {
|
|
|
6393
6404
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
6394
6405
|
/** Icon size in px. */
|
|
6395
6406
|
readonly size: import("@angular/core").InputSignal<number>;
|
|
6396
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
6407
|
+
readonly variant: import("@angular/core").InputSignal<"default" | "danger">;
|
|
6397
6408
|
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
6398
6409
|
/** 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. */
|
|
6399
6410
|
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
@@ -6451,23 +6462,36 @@ export declare class IconComponent {
|
|
|
6451
6462
|
}, never, never, true, never>;
|
|
6452
6463
|
}
|
|
6453
6464
|
export type TimelineTone = 'default' | 'success' | 'warning' | 'danger';
|
|
6465
|
+
/** A badge of a timeline item. `tooltip` shows on hover and keyboard focus (the badge becomes focusable); `testId` is its `data-testid`. */
|
|
6466
|
+
export interface TimelineBadge {
|
|
6467
|
+
label: string;
|
|
6468
|
+
variant: BadgeVariant;
|
|
6469
|
+
tooltip?: string;
|
|
6470
|
+
testId?: string;
|
|
6471
|
+
}
|
|
6454
6472
|
export interface TimelineItem {
|
|
6455
6473
|
/** Stable id used for `track`; the index is used when absent. */
|
|
6456
6474
|
id?: string;
|
|
6475
|
+
/** `data-testid` of the `<li>`. */
|
|
6476
|
+
testId?: string;
|
|
6457
6477
|
title: string;
|
|
6458
6478
|
description?: string;
|
|
6459
6479
|
/** Pre-formatted time text shown to the reader, e.g. "Oct 20, 2026, 3:15 PM". */
|
|
6460
6480
|
time?: string;
|
|
6461
6481
|
/** ISO date / date-time for the `datetime` attribute of the `<time>` element (machine-readable). */
|
|
6462
6482
|
dateTime?: string;
|
|
6463
|
-
badge?:
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
};
|
|
6483
|
+
badge?: TimelineBadge;
|
|
6484
|
+
/** Any number of badges, shown after `badge` (if also set), in order. They wrap onto the next line when the row is narrow. */
|
|
6485
|
+
badges?: TimelineBadge[];
|
|
6467
6486
|
/** Icon drawn inside the dot (static, decorative). Unknown names draw nothing. */
|
|
6468
6487
|
icon?: IconName | (string & {});
|
|
6469
6488
|
/** Colour of the dot / icon. Default `default`. */
|
|
6470
6489
|
tone?: TimelineTone;
|
|
6490
|
+
/**
|
|
6491
|
+
* Colours the dot / icon with a badge colour (any `BadgeVariant`): the solid dot is the badge's own dark shade (`BADGE_VARIANT_STYLES[v].color`,
|
|
6492
|
+
* at least 3:1 on white, so the dot and a white icon on it are readable). Overrides `tone`; without it `tone` works as before.
|
|
6493
|
+
*/
|
|
6494
|
+
dotVariant?: BadgeVariant;
|
|
6471
6495
|
}
|
|
6472
6496
|
/**
|
|
6473
6497
|
* Vertical activity feed: an ordered list of events joined by a line, each with a dot (or icon), title, optional badge,
|
|
@@ -6487,6 +6511,12 @@ export declare class TimelineComponent {
|
|
|
6487
6511
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
6488
6512
|
/** Shown (as a hint) when there are no items. Empty = render nothing. */
|
|
6489
6513
|
readonly emptyMessage: import("@angular/core").InputSignal<string>;
|
|
6514
|
+
/** Any CSS length (e.g. `600px`). When set, the list scrolls inside a keyboard-focusable region of at most this height. Empty = no wrapper. */
|
|
6515
|
+
readonly maxHeight: import("@angular/core").InputSignal<string>;
|
|
6516
|
+
/** `below` (default): the time is under the title / description. `end`: the time sits right-aligned on the title row. */
|
|
6517
|
+
readonly timePosition: import("@angular/core").InputSignal<"below" | "end">;
|
|
6518
|
+
/** Solid dot colour of an item's `dotVariant`, or null (then `tone` colours it). */
|
|
6519
|
+
dotColor(item: TimelineItem): string | null;
|
|
6490
6520
|
static ɵfac: i0.ɵɵFactoryDeclaration<TimelineComponent, never>;
|
|
6491
6521
|
static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent, "ui-timeline", never, {
|
|
6492
6522
|
"items": {
|
|
@@ -6504,6 +6534,16 @@ export declare class TimelineComponent {
|
|
|
6504
6534
|
"required": false;
|
|
6505
6535
|
"isSignal": true;
|
|
6506
6536
|
};
|
|
6537
|
+
"maxHeight": {
|
|
6538
|
+
"alias": "maxHeight";
|
|
6539
|
+
"required": false;
|
|
6540
|
+
"isSignal": true;
|
|
6541
|
+
};
|
|
6542
|
+
"timePosition": {
|
|
6543
|
+
"alias": "timePosition";
|
|
6544
|
+
"required": false;
|
|
6545
|
+
"isSignal": true;
|
|
6546
|
+
};
|
|
6507
6547
|
}, {}, never, never, true, never>;
|
|
6508
6548
|
}
|
|
6509
6549
|
/**
|
|
@@ -7447,7 +7487,7 @@ export declare class PdfHotspotComponent {
|
|
|
7447
7487
|
/** `ready`: clickable; `blocked`: disabled (a prerequisite is missing); `signed`: shows `image`. */
|
|
7448
7488
|
readonly state: import("@angular/core").InputSignal<"ready" | "blocked" | "signed">;
|
|
7449
7489
|
/** `warning` gives the ready state an amber look (e.g. for initials), default is blue. */
|
|
7450
|
-
readonly tone: import("@angular/core").InputSignal<"
|
|
7490
|
+
readonly tone: import("@angular/core").InputSignal<"warning" | "primary">;
|
|
7451
7491
|
/** Text of the ready button (e.g. "Sign Here"). */
|
|
7452
7492
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
7453
7493
|
/** Text of the blocked button (e.g. "Add signature above"). */
|
|
@@ -7565,7 +7605,7 @@ export declare class DetailCardComponent {
|
|
|
7565
7605
|
/** true (default) = the title is displayed in capitals (CSS only); false = shown as written. The text, aria-label and heading name are never changed. */
|
|
7566
7606
|
readonly uppercaseTitle: import("@angular/core").InputSignal<boolean>;
|
|
7567
7607
|
/** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
|
|
7568
|
-
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 |
|
|
7608
|
+
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 6 | 5 | null>;
|
|
7569
7609
|
/** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
|
|
7570
7610
|
readonly titleId: import("@angular/core").InputSignal<string>;
|
|
7571
7611
|
/** Accessible name of the card when the header gives none (no header, or no title). A visible title wins; blank = no name. */
|