@forgeroute/ui 0.4.17 → 0.4.19
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 +11 -7
- package/fesm2022/forgeroute-ui-messaging.mjs.map +1 -1
- package/fesm2022/forgeroute-ui-stripe.mjs +6 -4
- package/fesm2022/forgeroute-ui-stripe.mjs.map +1 -1
- package/fesm2022/forgeroute-ui.mjs +375 -94
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +114 -20
package/package.json
CHANGED
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -973,7 +973,7 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
|
|
|
973
973
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
974
974
|
/** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
|
|
975
975
|
readonly showErrors: import("@angular/core").InputSignal<boolean>;
|
|
976
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
976
|
+
readonly size: import("@angular/core").InputSignal<"default" | "sm">;
|
|
977
977
|
readonly _disabledInput: import("@angular/core").InputSignal<boolean>;
|
|
978
978
|
private readonly _cvaDisabled;
|
|
979
979
|
protected readonly disabled: import("@angular/core").Signal<boolean>;
|
|
@@ -1237,6 +1237,13 @@ export declare class DataTableComponent<T extends Record<string, any>> implement
|
|
|
1237
1237
|
* toolbar are all off, the header row above the table is not rendered at all.
|
|
1238
1238
|
*/
|
|
1239
1239
|
readonly showSearch: import("@angular/core").InputSignal<boolean>;
|
|
1240
|
+
/**
|
|
1241
|
+
* Show the quick-filter tabs ("All / Active / ..."), which the table builds from the `/counts` endpoint. Defaults true:
|
|
1242
|
+
* with correct `/counts` data the tabs show. Set false for a table where the tabs add nothing (a small breakdown table in a
|
|
1243
|
+
* side panel); search, toolbar, column filters and the counts requests are unaffected. When the search box, the toolbar and the
|
|
1244
|
+
* tabs are all off, the header row is not rendered at all.
|
|
1245
|
+
*/
|
|
1246
|
+
readonly showQuickTabs: import("@angular/core").InputSignal<boolean>;
|
|
1240
1247
|
/** False when the header row would be empty (no search box, no toolbar, no quick-filter tabs). */
|
|
1241
1248
|
protected readonly _showHeader: Signal<boolean>;
|
|
1242
1249
|
/** Optional endpoint that returns Record<string,number> counts per quick-filter value. */
|
|
@@ -1765,6 +1772,11 @@ export declare class DataTableComponent<T extends Record<string, any>> implement
|
|
|
1765
1772
|
"required": false;
|
|
1766
1773
|
"isSignal": true;
|
|
1767
1774
|
};
|
|
1775
|
+
"showQuickTabs": {
|
|
1776
|
+
"alias": "showQuickTabs";
|
|
1777
|
+
"required": false;
|
|
1778
|
+
"isSignal": true;
|
|
1779
|
+
};
|
|
1768
1780
|
"countsEndpoint": {
|
|
1769
1781
|
"alias": "countsEndpoint";
|
|
1770
1782
|
"required": false;
|
|
@@ -1990,7 +2002,7 @@ export declare class ModalComponent implements OnInit, OnDestroy {
|
|
|
1990
2002
|
readonly title: import("@angular/core").InputSignal<string>;
|
|
1991
2003
|
readonly description: import("@angular/core").InputSignal<string>;
|
|
1992
2004
|
readonly maxWidth: import("@angular/core").InputSignal<string>;
|
|
1993
|
-
readonly bodyOverflow: import("@angular/core").InputSignal<"
|
|
2005
|
+
readonly bodyOverflow: import("@angular/core").InputSignal<"hidden" | "auto" | "visible">;
|
|
1994
2006
|
/** `data-testid` of the dialog element itself (the host `<ui-modal>` is always in the page, the dialog only while open). None when empty. */
|
|
1995
2007
|
readonly dialogTestId: import("@angular/core").InputSignal<string>;
|
|
1996
2008
|
/** Hides the header X button (e.g. while a request is running). Escape and a backdrop click still close unless `closable` is false. */
|
|
@@ -2374,7 +2386,7 @@ export declare class AudioPlayerComponent {
|
|
|
2374
2386
|
/** Accessible name of the player. */
|
|
2375
2387
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
2376
2388
|
/** How much to load before play: 'metadata' (default), 'auto' or 'none'. */
|
|
2377
|
-
readonly preload: import("@angular/core").InputSignal<"
|
|
2389
|
+
readonly preload: import("@angular/core").InputSignal<"none" | "auto" | "metadata">;
|
|
2378
2390
|
/** Fires when the browser can't load or decode the source. */
|
|
2379
2391
|
readonly playbackError: import("@angular/core").OutputEmitterRef<void>;
|
|
2380
2392
|
protected readonly failed: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -2624,7 +2636,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
|
|
|
2624
2636
|
* 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.
|
|
2625
2637
|
* Default null: plain label text, exactly as before. Single mode only.
|
|
2626
2638
|
*/
|
|
2627
|
-
readonly headingLevel: import("@angular/core").InputSignal<
|
|
2639
|
+
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
|
|
2628
2640
|
readonly indeterminate: import("@angular/core").InputSignal<boolean>;
|
|
2629
2641
|
readonly checked: import("@angular/core").ModelSignal<boolean>;
|
|
2630
2642
|
/**
|
|
@@ -3017,6 +3029,14 @@ export declare class StepperComponent {
|
|
|
3017
3029
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
3018
3030
|
/** Horizontal, <= 480px: show only the current step's label (`'current'`, default) or every label (`'all'`). */
|
|
3019
3031
|
readonly labelsOnSmallScreens: import("@angular/core").InputSignal<"all" | "current">;
|
|
3032
|
+
/**
|
|
3033
|
+
* Horizontal only. `'beside'` (default): the label sits to the right of its circle. `'below'`: equal-width columns, the label centred under
|
|
3034
|
+
* its circle, one continuous line behind the circles that fills as steps complete; a complete step shows a check, the current step an
|
|
3035
|
+
* accent ring with a dot, an upcoming step an empty circle (no numbers). Circles are 40px (32px with `size="sm"`).
|
|
3036
|
+
*/
|
|
3037
|
+
readonly labelPosition: import("@angular/core").InputSignal<"beside" | "below">;
|
|
3038
|
+
/** Viewport width in px below which a horizontal stepper is drawn vertical (labels beside the circles), e.g. `640`. null (default) = never. */
|
|
3039
|
+
readonly stackBelow: import("@angular/core").InputSignal<number | null>;
|
|
3020
3040
|
/** CSS length (e.g. `10.5rem`): horizontal only - the list gets `min-width: calc(<step count> * <value>)`. Empty (default) = no minimum. */
|
|
3021
3041
|
readonly minStepWidth: import("@angular/core").InputSignal<string>;
|
|
3022
3042
|
/** true = the list scrolls sideways (`overflow-x: auto`, 4px top / bottom padding so focus rings are not clipped) instead of squeezing. Default false. */
|
|
@@ -3029,6 +3049,9 @@ export declare class StepperComponent {
|
|
|
3029
3049
|
readonly stepClick: import("@angular/core").OutputEmitterRef<string>;
|
|
3030
3050
|
private readonly _win;
|
|
3031
3051
|
private readonly _narrow;
|
|
3052
|
+
private readonly _stacked;
|
|
3053
|
+
/** The orientation actually drawn: `orientation`, or vertical while the viewport is below `stackBelow`. */
|
|
3054
|
+
protected readonly orient: import("@angular/core").Signal<StepperOrientation>;
|
|
3032
3055
|
/** True when `compact` is a pixel number and the viewport is below it (tokens use CSS media queries instead). */
|
|
3033
3056
|
protected readonly compactPx: import("@angular/core").Signal<boolean>;
|
|
3034
3057
|
private readonly _id;
|
|
@@ -3113,6 +3136,16 @@ export declare class StepperComponent {
|
|
|
3113
3136
|
"required": false;
|
|
3114
3137
|
"isSignal": true;
|
|
3115
3138
|
};
|
|
3139
|
+
"labelPosition": {
|
|
3140
|
+
"alias": "labelPosition";
|
|
3141
|
+
"required": false;
|
|
3142
|
+
"isSignal": true;
|
|
3143
|
+
};
|
|
3144
|
+
"stackBelow": {
|
|
3145
|
+
"alias": "stackBelow";
|
|
3146
|
+
"required": false;
|
|
3147
|
+
"isSignal": true;
|
|
3148
|
+
};
|
|
3116
3149
|
"minStepWidth": {
|
|
3117
3150
|
"alias": "minStepWidth";
|
|
3118
3151
|
"required": false;
|
|
@@ -3514,7 +3547,7 @@ export declare class PhoneNumberPickerComponent {
|
|
|
3514
3547
|
protected readonly modeCtl: FormControl<string>;
|
|
3515
3548
|
protected readonly zipCtl: FormControl<string>;
|
|
3516
3549
|
protected readonly areaCtl: FormControl<string>;
|
|
3517
|
-
protected readonly step: import("@angular/core").WritableSignal<
|
|
3550
|
+
protected readonly step: import("@angular/core").WritableSignal<1 | 2 | 3>;
|
|
3518
3551
|
protected readonly mode: import("@angular/core").WritableSignal<PhoneNumberSearchMode>;
|
|
3519
3552
|
private readonly _zip;
|
|
3520
3553
|
private readonly _area;
|
|
@@ -3628,7 +3661,7 @@ export declare class ButtonComponent {
|
|
|
3628
3661
|
* `ghost-start`: a ghost button for list / section toggles - a full-width row with its content aligned to the start, transparent
|
|
3629
3662
|
* background, hover tint and the normal focus ring. Pair it with `ariaExpanded` / `ariaPressed`; the label may contain a heading element.
|
|
3630
3663
|
*/
|
|
3631
|
-
readonly variant: import("@angular/core").InputSignal<"primary" | "
|
|
3664
|
+
readonly variant: import("@angular/core").InputSignal<"primary" | "secondary" | "danger" | "warning" | "link" | "ghost" | "ghost-start" | "tab" | "icon" | "icon-danger">;
|
|
3632
3665
|
/** 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`). */
|
|
3633
3666
|
readonly routerLink: import("@angular/core").InputSignal<string | readonly unknown[] | null>;
|
|
3634
3667
|
/** Query params of the `routerLink` (e.g. `{ section: 'deal-defaults' }`). */
|
|
@@ -3674,7 +3707,7 @@ export declare class ButtonComponent {
|
|
|
3674
3707
|
readonly color: import("@angular/core").InputSignal<string | undefined>;
|
|
3675
3708
|
readonly active: import("@angular/core").InputSignal<boolean>;
|
|
3676
3709
|
readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | "xs">;
|
|
3677
|
-
readonly type: import("@angular/core").InputSignal<"
|
|
3710
|
+
readonly type: import("@angular/core").InputSignal<"reset" | "submit" | "button">;
|
|
3678
3711
|
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
3679
3712
|
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
3680
3713
|
readonly fullWidth: import("@angular/core").InputSignal<boolean>;
|
|
@@ -4069,7 +4102,7 @@ export declare class BulkMessagePanelComponent {
|
|
|
4069
4102
|
readonly sending: import("@angular/core").InputSignal<boolean>;
|
|
4070
4103
|
readonly closed: import("@angular/core").OutputEmitterRef<void>;
|
|
4071
4104
|
readonly send: import("@angular/core").OutputEmitterRef<BulkMessageSendEvent>;
|
|
4072
|
-
readonly channel: import("@angular/core").WritableSignal<"
|
|
4105
|
+
readonly channel: import("@angular/core").WritableSignal<"text" | "email">;
|
|
4073
4106
|
private readonly _subject;
|
|
4074
4107
|
private readonly _body;
|
|
4075
4108
|
get subject(): string;
|
|
@@ -4278,7 +4311,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
4278
4311
|
readonly passwordRequirements: import("@angular/core").InputSignal<boolean>;
|
|
4279
4312
|
/** Rules for `passwordRequirements`; default = the library's five rules (8+ characters, upper, lower, digit, special). */
|
|
4280
4313
|
readonly passwordRules: import("@angular/core").InputSignal<readonly PasswordRule[] | undefined>;
|
|
4281
|
-
readonly type: import("@angular/core").InputSignal<"number" | "
|
|
4314
|
+
readonly type: import("@angular/core").InputSignal<"number" | "text" | "email" | "tel" | "password" | "url">;
|
|
4282
4315
|
readonly maxlength: import("@angular/core").InputSignal<number | undefined>;
|
|
4283
4316
|
readonly required: import("@angular/core").InputSignal<boolean>;
|
|
4284
4317
|
readonly autocomplete: import("@angular/core").InputSignal<string>;
|
|
@@ -4287,7 +4320,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
4287
4320
|
* `search`, `text`, `none`). Empty (default) = the browser's default for the field, except `type="tel"`, which keeps `tel`.
|
|
4288
4321
|
* It only picks the keyboard; it does not restrict what can be typed or pasted.
|
|
4289
4322
|
*/
|
|
4290
|
-
readonly inputmode: import("@angular/core").InputSignal<"" | "
|
|
4323
|
+
readonly inputmode: import("@angular/core").InputSignal<"" | "none" | "text" | "search" | "email" | "tel" | "url" | "decimal" | "numeric">;
|
|
4291
4324
|
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
4292
4325
|
readonly hint: import("@angular/core").InputSignal<string>;
|
|
4293
4326
|
readonly error: import("@angular/core").InputSignal<string>;
|
|
@@ -4351,7 +4384,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
|
|
|
4351
4384
|
protected readonly _stepAttr: import("@angular/core").Signal<string | null>;
|
|
4352
4385
|
protected readonly _revealable: import("@angular/core").Signal<boolean>;
|
|
4353
4386
|
protected readonly _shown: import("@angular/core").WritableSignal<boolean>;
|
|
4354
|
-
protected readonly _inputType: import("@angular/core").Signal<"number" | "
|
|
4387
|
+
protected readonly _inputType: import("@angular/core").Signal<"number" | "text" | "email" | "tel" | "password" | "url">;
|
|
4355
4388
|
protected readonly _eyePath: string;
|
|
4356
4389
|
protected readonly _eyeOffPath: string;
|
|
4357
4390
|
protected readonly _showRequirements: import("@angular/core").Signal<boolean>;
|
|
@@ -5875,7 +5908,7 @@ export declare class FormSectionComponent {
|
|
|
5875
5908
|
}, {}, never, ["*"], true, never>;
|
|
5876
5909
|
}
|
|
5877
5910
|
export declare class FormRowComponent {
|
|
5878
|
-
readonly cols: import("@angular/core").InputSignal<
|
|
5911
|
+
readonly cols: import("@angular/core").InputSignal<1 | 2 | 3 | 4>;
|
|
5879
5912
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormRowComponent, never>;
|
|
5880
5913
|
static ɵcmp: i0.ɵɵComponentDeclaration<FormRowComponent, "ui-form-row", never, {
|
|
5881
5914
|
"cols": {
|
|
@@ -5892,7 +5925,7 @@ export declare class FormRowComponent {
|
|
|
5892
5925
|
* child simply takes the full width. Keep a numeric span within the row's `cols` (use `all` for the whole row).
|
|
5893
5926
|
*/
|
|
5894
5927
|
export declare class FormColSpanDirective {
|
|
5895
|
-
readonly uiColSpan: import("@angular/core").InputSignal<"" |
|
|
5928
|
+
readonly uiColSpan: import("@angular/core").InputSignal<"" | "2" | "3" | 2 | 3 | "all">;
|
|
5896
5929
|
protected readonly _class: import("@angular/core").Signal<string>;
|
|
5897
5930
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormColSpanDirective, never>;
|
|
5898
5931
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormColSpanDirective, "[uiColSpan]", never, {
|
|
@@ -5932,6 +5965,14 @@ export declare class FormColSpanDirective {
|
|
|
5932
5965
|
* <ui-button list-item-action variant="icon" ariaLabel="Remove" (click)="remove(d)">…</ui-button>
|
|
5933
5966
|
* </ui-list-item>
|
|
5934
5967
|
*/
|
|
5968
|
+
/** One secondary line under the title: plain text, or text with a small icon and a tone (`danger` red, `warning` amber). */
|
|
5969
|
+
export type ListItemDetail = string | {
|
|
5970
|
+
text: string;
|
|
5971
|
+
icon?: string;
|
|
5972
|
+
tone?: 'default' | 'warning' | 'danger';
|
|
5973
|
+
};
|
|
5974
|
+
/** Colour of the optional leading icon tile. */
|
|
5975
|
+
export type ListItemIconColor = 'slate' | 'amber' | 'red' | 'blue' | 'green' | 'purple' | 'teal' | 'orange';
|
|
5935
5976
|
export declare class ListItemComponent {
|
|
5936
5977
|
/** Show a radio button, checkbox, or nothing on the left. */
|
|
5937
5978
|
readonly leading: import("@angular/core").InputSignal<"none" | "checkbox" | "radio">;
|
|
@@ -5970,10 +6011,19 @@ export declare class ListItemComponent {
|
|
|
5970
6011
|
* Pass whatever is relevant — email, phone, date, role, address, etc.
|
|
5971
6012
|
* Falsy entries (null, undefined, '') are filtered out automatically.
|
|
5972
6013
|
*/
|
|
5973
|
-
readonly details: import("@angular/core").InputSignal<(
|
|
6014
|
+
readonly details: import("@angular/core").InputSignal<(ListItemDetail | null | undefined)[]>;
|
|
6015
|
+
/** Optional leading icon: an icon key of `<ui-icon>` (e.g. `bell`, `task`, `email`) drawn in a tinted tile before the text. Default none. */
|
|
6016
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
6017
|
+
/** Colour of the icon tile. */
|
|
6018
|
+
readonly iconColor: import("@angular/core").InputSignal<ListItemIconColor>;
|
|
6019
|
+
protected readonly iconD: () => string | null;
|
|
5974
6020
|
/** Emitted when the radio/checkbox changes. */
|
|
5975
6021
|
readonly select: import("@angular/core").OutputEmitterRef<void>;
|
|
5976
|
-
protected readonly visibleDetails: () =>
|
|
6022
|
+
protected readonly visibleDetails: () => {
|
|
6023
|
+
text: string;
|
|
6024
|
+
d: string | null;
|
|
6025
|
+
tone: "default" | "warning" | "danger";
|
|
6026
|
+
}[];
|
|
5977
6027
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListItemComponent, never>;
|
|
5978
6028
|
static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent, "ui-list-item", never, {
|
|
5979
6029
|
"leading": {
|
|
@@ -6041,6 +6091,16 @@ export declare class ListItemComponent {
|
|
|
6041
6091
|
"required": false;
|
|
6042
6092
|
"isSignal": true;
|
|
6043
6093
|
};
|
|
6094
|
+
"icon": {
|
|
6095
|
+
"alias": "icon";
|
|
6096
|
+
"required": false;
|
|
6097
|
+
"isSignal": true;
|
|
6098
|
+
};
|
|
6099
|
+
"iconColor": {
|
|
6100
|
+
"alias": "iconColor";
|
|
6101
|
+
"required": false;
|
|
6102
|
+
"isSignal": true;
|
|
6103
|
+
};
|
|
6044
6104
|
}, {
|
|
6045
6105
|
"select": "select";
|
|
6046
6106
|
}, never, ["[list-item-action], [li-action]"], true, never>;
|
|
@@ -6174,6 +6234,10 @@ export declare class ListComponent<T = unknown> {
|
|
|
6174
6234
|
/** Announcement after a move; receives the row label, the new position (1-based) and the list size. */
|
|
6175
6235
|
readonly moveAnnouncement: import("@angular/core").InputSignal<(label: string, position: number, total: number) => string>;
|
|
6176
6236
|
/** Fires with the new array when the user moves a row (`[(items)]`). The list does not change `items` itself. */
|
|
6237
|
+
/** Shows an arrow at the end of every row and makes the row open something: a click or Enter on the row (not on a button or link inside it) emits `itemClick`. Default false: no arrow, rows are not clickable. */
|
|
6238
|
+
readonly navigable: import("@angular/core").InputSignal<boolean>;
|
|
6239
|
+
/** The row of `[navigable]` that was clicked (or Enter was pressed on). */
|
|
6240
|
+
readonly itemClick: import("@angular/core").OutputEmitterRef<T>;
|
|
6177
6241
|
readonly itemsChange: import("@angular/core").OutputEmitterRef<T[]>;
|
|
6178
6242
|
/** Fires when the user moves a row. The host applies it (or uses `[(items)]`) and passes the new `items`. */
|
|
6179
6243
|
readonly reorder: import("@angular/core").OutputEmitterRef<ListReorderEvent<T>>;
|
|
@@ -6202,6 +6266,8 @@ export declare class ListComponent<T = unknown> {
|
|
|
6202
6266
|
* reordering is off or disabled, `from` is out of range, or nothing would change. Does not touch focus.
|
|
6203
6267
|
*/
|
|
6204
6268
|
move(from: number, to: number): boolean;
|
|
6269
|
+
/** `[navigable]`: a click / Enter on the row itself emits the item; clicks on a control inside the row (button, link, field) are theirs. */
|
|
6270
|
+
private emitItemClick;
|
|
6205
6271
|
protected onKeydown(e: KeyboardEvent): void;
|
|
6206
6272
|
protected onClick(e: Event): void;
|
|
6207
6273
|
protected onFocusOut(e: FocusEvent): void;
|
|
@@ -6301,7 +6367,13 @@ export declare class ListComponent<T = unknown> {
|
|
|
6301
6367
|
"required": false;
|
|
6302
6368
|
"isSignal": true;
|
|
6303
6369
|
};
|
|
6370
|
+
"navigable": {
|
|
6371
|
+
"alias": "navigable";
|
|
6372
|
+
"required": false;
|
|
6373
|
+
"isSignal": true;
|
|
6374
|
+
};
|
|
6304
6375
|
}, {
|
|
6376
|
+
"itemClick": "itemClick";
|
|
6305
6377
|
"itemsChange": "itemsChange";
|
|
6306
6378
|
"reorder": "reorder";
|
|
6307
6379
|
}, ["rowTemplate"], ["[list-empty]"], true, never>;
|
|
@@ -6924,7 +6996,7 @@ export declare class AlertComponent {
|
|
|
6924
6996
|
/** The SVG path (24×24 stroke icon) for an icon key, or undefined when the key is unknown. */
|
|
6925
6997
|
export declare function iconPath(name: string): string | undefined;
|
|
6926
6998
|
/** Keys with an icon of their own (the data-table action keys are accepted too — see `builtInActionIcon`). */
|
|
6927
|
-
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';
|
|
6999
|
+
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';
|
|
6928
7000
|
/**
|
|
6929
7001
|
* A clickable icon. The host passes a key (`name="delete"`) and the library draws that icon; clicking it emits
|
|
6930
7002
|
* `iconClick`, and the host does the actual work (delete the row, open a panel, …).
|
|
@@ -7527,7 +7599,7 @@ export type KpiCardValueColor = 'default' | 'green' | 'blue' | 'red';
|
|
|
7527
7599
|
* Optional background: `background="#fef2f2"` fills the card with any CSS colour (default white), e.g. a soft red for money going out; the
|
|
7528
7600
|
* text keeps its own colours, so pick a light shade.
|
|
7529
7601
|
*
|
|
7530
|
-
* Optional ring: `[progress]="67"` (+ `progressMax`, `progressVariant`, `progressSize`) draws a ui-progress-ring beside the label; extra lines
|
|
7602
|
+
* Optional ring (top-right corner, level with the icon when the card has one — no extra height; beside the label otherwise): `[progress]="67"` (+ `progressMax`, `progressVariant`, `progressSize`) draws a ui-progress-ring beside the label; extra lines
|
|
7531
7603
|
* (a pace badge, a projection…) go in an element with the `kpi-footer` attribute.
|
|
7532
7604
|
*
|
|
7533
7605
|
* <ui-kpi-card label="Deals Closed" [value]="'' + deals" subtitle="Year to Date" icon="check-circle" color="blue" />
|
|
@@ -8483,7 +8555,7 @@ export declare class DetailCardComponent {
|
|
|
8483
8555
|
/** true (default) = the title is displayed in capitals (CSS only); false = shown as written. The text, aria-label and heading name are never changed. */
|
|
8484
8556
|
readonly uppercaseTitle: import("@angular/core").InputSignal<boolean>;
|
|
8485
8557
|
/** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
|
|
8486
|
-
readonly headingLevel: import("@angular/core").InputSignal<
|
|
8558
|
+
readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
|
|
8487
8559
|
/** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
|
|
8488
8560
|
readonly titleId: import("@angular/core").InputSignal<string>;
|
|
8489
8561
|
/** Accessible name of the card when the header gives none (no header, or no title). A visible title wins; blank = no name. */
|
|
@@ -8506,7 +8578,7 @@ export declare class DetailCardComponent {
|
|
|
8506
8578
|
readonly showEdit: import("@angular/core").InputSignal<boolean>;
|
|
8507
8579
|
readonly editLabel: import("@angular/core").InputSignal<string>;
|
|
8508
8580
|
readonly editClick: import("@angular/core").OutputEmitterRef<void>;
|
|
8509
|
-
/** `data-testid` of the built-in Edit button (on the
|
|
8581
|
+
/** `data-testid` of the built-in Edit button (on the Edit `<button>`); none when empty. */
|
|
8510
8582
|
readonly editTestId: import("@angular/core").InputSignal<string>;
|
|
8511
8583
|
/** false = no pencil icon in the Edit button (text only). Default true: unchanged. */
|
|
8512
8584
|
readonly editIcon: import("@angular/core").InputSignal<boolean>;
|
|
@@ -8941,7 +9013,8 @@ export declare class ColorInputComponent implements ControlValueAccessor, Valida
|
|
|
8941
9013
|
* 'md' (default) 1rem (16px) title, 0.8125rem description, 28px tile, 16px icon; padding 14px 18px (12px 14px at 480px and narrower)
|
|
8942
9014
|
* 'lg' 1.25rem (20px) title, 0.9375rem description, 36px tile, 20px icon; padding 18px 22px (14px 16px at 480px and narrower)
|
|
8943
9015
|
* 'xl' 1.5rem (24px) title (1.375rem at 480px and narrower), 1rem description, 44px tile, 24px icon; padding 22px 26px (16px 18px at 480px and narrower)
|
|
8944
|
-
* Padding is built in per size
|
|
9016
|
+
* Padding is built in per size. To drop one side of it use `noPaddingTop`, `noPaddingLeft` or `noPaddingBottom` (booleans, default
|
|
9017
|
+
* false; combine freely). Only that side becomes 0 at every size and screen width; the other sides keep their padding.
|
|
8945
9018
|
*
|
|
8946
9019
|
* Content slots:
|
|
8947
9020
|
* - `[section-header-icon]`: your own icon (an `<svg>`, an `<img>` ...) shown in the tile instead of the `icon` input.
|
|
@@ -8974,6 +9047,12 @@ export declare class SectionHeaderComponent {
|
|
|
8974
9047
|
readonly bordered: import("@angular/core").InputSignal<boolean>;
|
|
8975
9048
|
/** Visual size: 'sm', 'md' (default), 'lg' or 'xl'. Independent of `level`; anything else renders as 'md'. */
|
|
8976
9049
|
readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | "xl">;
|
|
9050
|
+
/** Remove the built-in top padding. */
|
|
9051
|
+
readonly noPaddingTop: import("@angular/core").InputSignal<boolean>;
|
|
9052
|
+
/** Remove the built-in left padding. */
|
|
9053
|
+
readonly noPaddingLeft: import("@angular/core").InputSignal<boolean>;
|
|
9054
|
+
/** Remove the built-in bottom padding. */
|
|
9055
|
+
readonly noPaddingBottom: import("@angular/core").InputSignal<boolean>;
|
|
8977
9056
|
protected readonly titleId: string;
|
|
8978
9057
|
protected readonly descriptionId: string;
|
|
8979
9058
|
protected readonly headingLevel: import("@angular/core").Signal<number>;
|
|
@@ -9030,6 +9109,21 @@ export declare class SectionHeaderComponent {
|
|
|
9030
9109
|
"required": false;
|
|
9031
9110
|
"isSignal": true;
|
|
9032
9111
|
};
|
|
9112
|
+
"noPaddingTop": {
|
|
9113
|
+
"alias": "noPaddingTop";
|
|
9114
|
+
"required": false;
|
|
9115
|
+
"isSignal": true;
|
|
9116
|
+
};
|
|
9117
|
+
"noPaddingLeft": {
|
|
9118
|
+
"alias": "noPaddingLeft";
|
|
9119
|
+
"required": false;
|
|
9120
|
+
"isSignal": true;
|
|
9121
|
+
};
|
|
9122
|
+
"noPaddingBottom": {
|
|
9123
|
+
"alias": "noPaddingBottom";
|
|
9124
|
+
"required": false;
|
|
9125
|
+
"isSignal": true;
|
|
9126
|
+
};
|
|
9033
9127
|
}, {}, never, ["[section-header-icon]", "[section-header-actions]"], true, never>;
|
|
9034
9128
|
}
|
|
9035
9129
|
/**
|