@acontplus/ng-components 3.2.0 → 4.0.0
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/README.md +100 -20
- package/fesm2022/acontplus-ng-components.mjs +637 -432
- package/fesm2022/acontplus-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/components/card/card.scss +189 -176
- package/src/lib/components/dialog/acp-dialog-container.scss +0 -81
- package/src/lib/components/kpi-card/_m3-kpi-card.scss +44 -59
- package/src/lib/components/kpi-card/kpi-card.scss +250 -573
- package/types/acontplus-ng-components.d.ts +315 -268
- package/src/lib/components/cards/dynamic-card/dynamic-card.scss +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { EventEmitter, TemplateRef, InjectionToken, OnDestroy, OnInit, ElementRef, Signal, ViewContainerRef, Injector, Binding, Type, ComponentRef, AfterViewInit, EnvironmentProviders, OnChanges, SimpleChanges, NgZone, QueryList, TrackByFunction, KeyValueChangeRecord, OutputEmitterRef, WritableSignal, AfterContentInit, PipeTransform } from '@angular/core';
|
|
2
|
+
import { EventEmitter, TemplateRef, InjectionToken, OnDestroy, OnInit, ElementRef, Signal, ViewContainerRef, Injector, Binding, Type, ComponentRef, AfterViewInit, EnvironmentProviders, DoCheck, OnChanges, SimpleChanges, NgZone, QueryList, TrackByFunction, KeyValueChangeRecord, OutputEmitterRef, WritableSignal, AfterContentInit, PipeTransform } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { Observable, Subject } from 'rxjs';
|
|
5
5
|
import { DialogPosition, MatDialogRef, MatDialogState } from '@angular/material/dialog';
|
|
@@ -7,6 +7,9 @@ import { ScrollStrategy } from '@angular/cdk/overlay';
|
|
|
7
7
|
import * as _acontplus_ng_components from '@acontplus/ng-components';
|
|
8
8
|
import { FormControl, ControlValueAccessor, FormGroup } from '@angular/forms';
|
|
9
9
|
import { SelectOption, IconDefinition, ButtonVariant, ButtonType, MaterialButtonStyle, REPORT_FORMAT } from '@acontplus/ui-kit';
|
|
10
|
+
import { ErrorStateMatcher, ThemePalette } from '@angular/material/core';
|
|
11
|
+
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
12
|
+
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
10
13
|
import { SafeHtml } from '@angular/platform-browser';
|
|
11
14
|
import { MatChipInputEvent, MatChipEditedEvent } from '@angular/material/chips';
|
|
12
15
|
import { LiveAnnouncer, FocusOrigin } from '@angular/cdk/a11y';
|
|
@@ -17,7 +20,6 @@ import { SortDirection, MatSort, Sort } from '@angular/material/sort';
|
|
|
17
20
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
18
21
|
import { MatBadgePosition, MatBadgeSize } from '@angular/material/badge';
|
|
19
22
|
import { MatButtonAppearance } from '@angular/material/button';
|
|
20
|
-
import { ThemePalette } from '@angular/material/core';
|
|
21
23
|
import { TooltipPosition, TooltipTouchGestures } from '@angular/material/tooltip';
|
|
22
24
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
23
25
|
import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
|
|
@@ -113,136 +115,6 @@ declare const ACP_BADGE_SHAPES: AcpBadgeShape[];
|
|
|
113
115
|
|
|
114
116
|
declare const TREND_CONFIGS: Record<AcpBadgeTrend, AcpBadgeTrendConfig>;
|
|
115
117
|
|
|
116
|
-
/**
|
|
117
|
-
* A versatile card component that wraps Angular Material's mat-card with additional functionality
|
|
118
|
-
* and customization options. This component provides a consistent card layout with configurable
|
|
119
|
-
* header, content, and action areas.
|
|
120
|
-
*/
|
|
121
|
-
declare class DynamicCard {
|
|
122
|
-
/**
|
|
123
|
-
* The title text to display in the card header.
|
|
124
|
-
* @default null
|
|
125
|
-
*/
|
|
126
|
-
cardTitle: _angular_core.InputSignal<string | null>;
|
|
127
|
-
/**
|
|
128
|
-
* The subtitle text to display in the card header.
|
|
129
|
-
* @default null
|
|
130
|
-
*/
|
|
131
|
-
cardSubtitle: _angular_core.InputSignal<string | null>;
|
|
132
|
-
/**
|
|
133
|
-
* URL for the avatar image to display in the card header.
|
|
134
|
-
* @default null
|
|
135
|
-
*/
|
|
136
|
-
avatarImageUrl: _angular_core.InputSignal<string | null>;
|
|
137
|
-
/**
|
|
138
|
-
* Whether to show the card header section.
|
|
139
|
-
* @default false
|
|
140
|
-
*/
|
|
141
|
-
isHeaderVisible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
142
|
-
/**
|
|
143
|
-
* CSS padding value for the card content area.
|
|
144
|
-
* @default '1rem'
|
|
145
|
-
*/
|
|
146
|
-
contentPadding: _angular_core.InputSignal<string>;
|
|
147
|
-
/**
|
|
148
|
-
* Whether to show a divider between the header and content sections.
|
|
149
|
-
* @default false
|
|
150
|
-
*/
|
|
151
|
-
hasDivider: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
152
|
-
/**
|
|
153
|
-
* Whether to show the action buttons section.
|
|
154
|
-
* @default false
|
|
155
|
-
*/
|
|
156
|
-
areActionsVisible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
157
|
-
/**
|
|
158
|
-
* Text for the primary action button.
|
|
159
|
-
* @default 'Confirm'
|
|
160
|
-
*/
|
|
161
|
-
primaryButtonText: _angular_core.InputSignal<string>;
|
|
162
|
-
/**
|
|
163
|
-
* Text for the secondary action button.
|
|
164
|
-
* @default 'Cancel'
|
|
165
|
-
*/
|
|
166
|
-
secondaryButtonText: _angular_core.InputSignal<string>;
|
|
167
|
-
/**
|
|
168
|
-
* Material icon name for the primary button.
|
|
169
|
-
* @default null
|
|
170
|
-
*/
|
|
171
|
-
primaryButtonIcon: _angular_core.InputSignal<string | null>;
|
|
172
|
-
/**
|
|
173
|
-
* Material icon name for the secondary button.
|
|
174
|
-
* @default null
|
|
175
|
-
*/
|
|
176
|
-
secondaryButtonIcon: _angular_core.InputSignal<string | null>;
|
|
177
|
-
/**
|
|
178
|
-
* Alignment of the action buttons.
|
|
179
|
-
* @default 'end'
|
|
180
|
-
*/
|
|
181
|
-
buttonsPosition: _angular_core.InputSignal<"start" | "end">;
|
|
182
|
-
/**
|
|
183
|
-
* Event emitted when the primary button is clicked.
|
|
184
|
-
*/
|
|
185
|
-
primaryButtonClicked: _angular_core.OutputEmitterRef<void>;
|
|
186
|
-
/**
|
|
187
|
-
* Event emitted when the secondary button is clicked.
|
|
188
|
-
*/
|
|
189
|
-
secondaryButtonClicked: _angular_core.OutputEmitterRef<void>;
|
|
190
|
-
/**
|
|
191
|
-
* Event emitted when the card is clicked.
|
|
192
|
-
*/
|
|
193
|
-
cardClicked: _angular_core.OutputEmitterRef<Event>;
|
|
194
|
-
/**
|
|
195
|
-
* Event emitted when a key is pressed down on the card.
|
|
196
|
-
*/
|
|
197
|
-
keyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
198
|
-
/**
|
|
199
|
-
* Event emitted when a key is released on the card.
|
|
200
|
-
*/
|
|
201
|
-
keyUp: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
202
|
-
/**
|
|
203
|
-
* Event emitted when a key is pressed on the card.
|
|
204
|
-
*/
|
|
205
|
-
keyPress: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
206
|
-
/**
|
|
207
|
-
* Handles the primary button click event.
|
|
208
|
-
* Stops event propagation and emits the primaryButtonClicked event.
|
|
209
|
-
* @param event The click event
|
|
210
|
-
*/
|
|
211
|
-
handlePrimaryButtonClick(event: Event): void;
|
|
212
|
-
/**
|
|
213
|
-
* Handles the secondary button click event.
|
|
214
|
-
* Stops event propagation and emits the secondaryButtonClicked event.
|
|
215
|
-
* @param event The click event
|
|
216
|
-
*/
|
|
217
|
-
handleSecondaryButtonClick(event: Event): void;
|
|
218
|
-
/**
|
|
219
|
-
* Handles the card click event.
|
|
220
|
-
* Emits the cardClicked event with the original event.
|
|
221
|
-
* @param event The click event
|
|
222
|
-
*/
|
|
223
|
-
handleCardClick(event: Event): void;
|
|
224
|
-
/**
|
|
225
|
-
* Handles the key down event on the card.
|
|
226
|
-
* Emits the keyDown event with the original keyboard event.
|
|
227
|
-
* @param event The keyboard event
|
|
228
|
-
*/
|
|
229
|
-
handleKeyDown(event: KeyboardEvent): void;
|
|
230
|
-
/**
|
|
231
|
-
* Handles the key up event on the card.
|
|
232
|
-
* Emits the keyUp event with the original keyboard event.
|
|
233
|
-
* @param event The keyboard event
|
|
234
|
-
*/
|
|
235
|
-
handleKeyUp(event: KeyboardEvent): void;
|
|
236
|
-
/**
|
|
237
|
-
* Handles the key press event on the card.
|
|
238
|
-
* Emits the keyPress event with the original keyboard event.
|
|
239
|
-
* @param event The keyboard event
|
|
240
|
-
*/
|
|
241
|
-
handleKeyPress(event: KeyboardEvent): void;
|
|
242
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicCard, never>;
|
|
243
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicCard, "acp-dynamic-card", never, { "cardTitle": { "alias": "cardTitle"; "required": false; "isSignal": true; }; "cardSubtitle": { "alias": "cardSubtitle"; "required": false; "isSignal": true; }; "avatarImageUrl": { "alias": "avatarImageUrl"; "required": false; "isSignal": true; }; "isHeaderVisible": { "alias": "isHeaderVisible"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "hasDivider": { "alias": "hasDivider"; "required": false; "isSignal": true; }; "areActionsVisible": { "alias": "areActionsVisible"; "required": false; "isSignal": true; }; "primaryButtonText": { "alias": "primaryButtonText"; "required": false; "isSignal": true; }; "secondaryButtonText": { "alias": "secondaryButtonText"; "required": false; "isSignal": true; }; "primaryButtonIcon": { "alias": "primaryButtonIcon"; "required": false; "isSignal": true; }; "secondaryButtonIcon": { "alias": "secondaryButtonIcon"; "required": false; "isSignal": true; }; "buttonsPosition": { "alias": "buttonsPosition"; "required": false; "isSignal": true; }; }, { "primaryButtonClicked": "primaryButtonClicked"; "secondaryButtonClicked": "secondaryButtonClicked"; "cardClicked": "cardClicked"; "keyDown": "keyDown"; "keyUp": "keyUp"; "keyPress": "keyPress"; }, never, ["*"], true, never>;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
118
|
/**
|
|
247
119
|
* Context Menu Types and Interfaces
|
|
248
120
|
* Defines the API contract for the ContextMenu component
|
|
@@ -1148,7 +1020,7 @@ declare class AcpDialogContainer implements AfterViewInit {
|
|
|
1148
1020
|
/** Pending declarative titlebar template, captured before the outlet is ready. */
|
|
1149
1021
|
private readonly pendingTitlebarTemplate;
|
|
1150
1022
|
/** Alignment requested by a declarative actions template. */
|
|
1151
|
-
protected readonly declarativeActionsAlign: _angular_core.WritableSignal<"start" | "
|
|
1023
|
+
protected readonly declarativeActionsAlign: _angular_core.WritableSignal<"start" | "center" | "end" | undefined>;
|
|
1152
1024
|
/** Title requested by a declarative titlebar template. */
|
|
1153
1025
|
protected readonly declarativeTitle: _angular_core.WritableSignal<string | undefined>;
|
|
1154
1026
|
/** Outlet object provided to content so `acp-dialog-actions` can register itself. */
|
|
@@ -1160,7 +1032,7 @@ declare class AcpDialogContainer implements AfterViewInit {
|
|
|
1160
1032
|
/** Title used for the actions footer label. */
|
|
1161
1033
|
protected readonly resolvedDialogTitle: Signal<string | undefined>;
|
|
1162
1034
|
/** Alignment used for the actions footer. */
|
|
1163
|
-
protected readonly resolvedActionsAlign: Signal<"start" | "
|
|
1035
|
+
protected readonly resolvedActionsAlign: Signal<"start" | "center" | "end">;
|
|
1164
1036
|
/** Whether the current content is a plain string. */
|
|
1165
1037
|
protected readonly isStringContent: _angular_core.WritableSignal<boolean>;
|
|
1166
1038
|
get config(): _acontplus_ng_components.AcpDialogConfig<unknown>;
|
|
@@ -1246,7 +1118,7 @@ declare class AcpDialogActions implements AfterViewInit {
|
|
|
1246
1118
|
protected readonly renderInline: _angular_core.WritableSignal<boolean>;
|
|
1247
1119
|
protected readonly hostDisplay: _angular_core.WritableSignal<string>;
|
|
1248
1120
|
/** Alignment of the action buttons. @default 'end' */
|
|
1249
|
-
align: _angular_core.InputSignal<"start" | "
|
|
1121
|
+
align: _angular_core.InputSignal<"start" | "center" | "end">;
|
|
1250
1122
|
/** Configured footer actions. When omitted, the component works as a declarative slot. */
|
|
1251
1123
|
actions: _angular_core.InputSignal<AcpDialogAction<unknown>[] | undefined>;
|
|
1252
1124
|
/** Optional title used to label the actions footer. */
|
|
@@ -1584,6 +1456,113 @@ declare class DynamicSelect implements OnInit, OnDestroy {
|
|
|
1584
1456
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicSelect, "acp-dynamic-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "selectedValue": { "alias": "selectedValue"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; "isSignal": true; }; "openOnEnter": { "alias": "openOnEnter"; "required": false; "isSignal": true; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; "isSignal": true; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; "isSignal": true; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "searchWhileComposing": { "alias": "searchWhileComposing"; "required": false; "isSignal": true; }; "minTermLength": { "alias": "minTermLength"; "required": false; "isSignal": true; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; "isSignal": true; }; "typeToSearchText": { "alias": "typeToSearchText"; "required": false; "isSignal": true; }; "addTagText": { "alias": "addTagText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "clearAllText": { "alias": "clearAllText"; "required": false; "isSignal": true; }; "notFoundText": { "alias": "notFoundText"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
1585
1457
|
}
|
|
1586
1458
|
|
|
1459
|
+
/** Property name or function that reads a value from an item. */
|
|
1460
|
+
type AcpSearchSelectAccessor<T, R> = keyof T | ((item: T) => R);
|
|
1461
|
+
/** Context of the `#option` template. */
|
|
1462
|
+
interface AcpSearchSelectOptionContext<T> {
|
|
1463
|
+
$implicit: T;
|
|
1464
|
+
group: T | null;
|
|
1465
|
+
}
|
|
1466
|
+
/** Payload of `optionSelected`. */
|
|
1467
|
+
interface AcpSearchSelectSelection<T, V = unknown> {
|
|
1468
|
+
value: V;
|
|
1469
|
+
item: T;
|
|
1470
|
+
group: T | null;
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
interface OptionVm<T> {
|
|
1474
|
+
key: string;
|
|
1475
|
+
label: string;
|
|
1476
|
+
value: unknown;
|
|
1477
|
+
source: T;
|
|
1478
|
+
group: T | null;
|
|
1479
|
+
}
|
|
1480
|
+
/** `label === null` holds loose options rendered without `mat-optgroup`. */
|
|
1481
|
+
interface GroupVm<T> {
|
|
1482
|
+
label: string | null;
|
|
1483
|
+
options: OptionVm<T>[];
|
|
1484
|
+
}
|
|
1485
|
+
/** Matches `1` with `'1'`, useful when ids come as strings from forms or query params. */
|
|
1486
|
+
declare const acpSearchSelectLooseEquals: (a: unknown, b: unknown) => boolean;
|
|
1487
|
+
/** Lowercase and strip accents, so "camion" matches "Camión". */
|
|
1488
|
+
declare const acpSearchSelectNormalize: (text: string) => string;
|
|
1489
|
+
/**
|
|
1490
|
+
* Searchable select built on `mat-autocomplete`. Accepts flat or one-level tree lists:
|
|
1491
|
+
* an item whose `children` is an array renders as a group.
|
|
1492
|
+
* Works with `ngModel`, reactive forms and `[(value)]`.
|
|
1493
|
+
*/
|
|
1494
|
+
declare class AcpSearchSelect<T = any> implements ControlValueAccessor, DoCheck {
|
|
1495
|
+
private readonly document;
|
|
1496
|
+
private readonly ngControl;
|
|
1497
|
+
private readonly parentForm;
|
|
1498
|
+
private readonly parentFormGroup;
|
|
1499
|
+
readonly items: _angular_core.InputSignal<T[] | null | undefined>;
|
|
1500
|
+
readonly bindLabel: _angular_core.InputSignal<AcpSearchSelectAccessor<T, string>>;
|
|
1501
|
+
readonly bindValue: _angular_core.InputSignal<AcpSearchSelectAccessor<T, unknown>>;
|
|
1502
|
+
readonly children: _angular_core.InputSignal<AcpSearchSelectAccessor<T, T[] | undefined>>;
|
|
1503
|
+
readonly groupLabel: _angular_core.InputSignal<AcpSearchSelectAccessor<T, string>>;
|
|
1504
|
+
readonly compareWith: _angular_core.InputSignal<(a: unknown, b: unknown) => boolean>;
|
|
1505
|
+
/** Custom match. Receives the item and the normalized query. */
|
|
1506
|
+
readonly filterFn: _angular_core.InputSignal<((item: T, query: string) => boolean) | null>;
|
|
1507
|
+
/** Set to `false` when `items` already come filtered from the server (see `searchChange`). */
|
|
1508
|
+
readonly localFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1509
|
+
/** Value written when the field is cleared, e.g. `0` for "all". */
|
|
1510
|
+
readonly emptyValue: _angular_core.InputSignal<unknown>;
|
|
1511
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1512
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1513
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1514
|
+
readonly errorText: _angular_core.InputSignal<string>;
|
|
1515
|
+
readonly noResultsText: _angular_core.InputSignal<string>;
|
|
1516
|
+
readonly loadingText: _angular_core.InputSignal<string>;
|
|
1517
|
+
readonly clearLabel: _angular_core.InputSignal<string>;
|
|
1518
|
+
readonly appearance: _angular_core.InputSignal<MatFormFieldAppearance>;
|
|
1519
|
+
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1520
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1521
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1522
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1523
|
+
readonly value: _angular_core.ModelSignal<unknown>;
|
|
1524
|
+
readonly optionSelected: _angular_core.OutputEmitterRef<AcpSearchSelectSelection<T, unknown>>;
|
|
1525
|
+
readonly cleared: _angular_core.OutputEmitterRef<void>;
|
|
1526
|
+
/** Raw text typed by the user; debounce it in the consumer for server-side search. */
|
|
1527
|
+
readonly searchChange: _angular_core.OutputEmitterRef<string>;
|
|
1528
|
+
private readonly input;
|
|
1529
|
+
private readonly trigger;
|
|
1530
|
+
private readonly inputEl;
|
|
1531
|
+
readonly optionTemplate: _angular_core.Signal<TemplateRef<AcpSearchSelectOptionContext<T>> | undefined>;
|
|
1532
|
+
/** Text typed by the user; `null` while not searching. */
|
|
1533
|
+
protected readonly query: _angular_core.WritableSignal<string | null>;
|
|
1534
|
+
private readonly formDisabled;
|
|
1535
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
1536
|
+
private onChange;
|
|
1537
|
+
private onTouched;
|
|
1538
|
+
protected readonly errorStateMatcher: ErrorStateMatcher;
|
|
1539
|
+
constructor();
|
|
1540
|
+
/** The inner `matInput` has no `NgControl`, so it never refreshes its error state by itself. */
|
|
1541
|
+
ngDoCheck(): void;
|
|
1542
|
+
private readonly groups;
|
|
1543
|
+
protected readonly filteredGroups: _angular_core.Signal<GroupVm<T>[]>;
|
|
1544
|
+
private readonly selected;
|
|
1545
|
+
protected readonly text: _angular_core.Signal<string>;
|
|
1546
|
+
protected readonly hasValue: _angular_core.Signal<boolean>;
|
|
1547
|
+
protected readonly displayWith: (option: OptionVm<T> | string | null) => string;
|
|
1548
|
+
/** Clears the selection and the search text. */
|
|
1549
|
+
clear(): void;
|
|
1550
|
+
protected selectAll(event: Event): void;
|
|
1551
|
+
protected onInput(event: Event): void;
|
|
1552
|
+
/** Leaving the field without picking drops the typed text and shows the selection again. */
|
|
1553
|
+
protected onBlur(): void;
|
|
1554
|
+
/** The panel also closes while typing (e.g. no results yet); keep the text in that case. */
|
|
1555
|
+
protected onClosed(): void;
|
|
1556
|
+
protected onSelected(event: MatAutocompleteSelectedEvent): void;
|
|
1557
|
+
writeValue(value: unknown): void;
|
|
1558
|
+
registerOnChange(fn: (value: unknown) => void): void;
|
|
1559
|
+
registerOnTouched(fn: () => void): void;
|
|
1560
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1561
|
+
private setValue;
|
|
1562
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpSearchSelect<any>, never>;
|
|
1563
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpSearchSelect<any>, "acp-search-select", ["acpSearchSelect"], { "items": { "alias": "items"; "required": true; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "children": { "alias": "children"; "required": false; "isSignal": true; }; "groupLabel": { "alias": "groupLabel"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "localFilter": { "alias": "localFilter"; "required": false; "isSignal": true; }; "emptyValue": { "alias": "emptyValue"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "optionSelected": "optionSelected"; "cleared": "cleared"; "searchChange": "searchChange"; }, ["optionTemplate"], never, true, never>;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1587
1566
|
declare class UserIcon {
|
|
1588
1567
|
size: _angular_core.InputSignal<string>;
|
|
1589
1568
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserIcon, never>;
|
|
@@ -4051,53 +4030,47 @@ declare class AcpCheckboxGroup implements AfterViewInit, OnDestroy, ControlValue
|
|
|
4051
4030
|
}
|
|
4052
4031
|
|
|
4053
4032
|
/**
|
|
4054
|
-
* Card appearance variants
|
|
4033
|
+
* Card appearance variants. Mirrors Angular Material's `MatCardAppearance`
|
|
4034
|
+
* (`elevated` maps to Material's `raised`).
|
|
4055
4035
|
*/
|
|
4056
|
-
type AcpCardAppearance = '
|
|
4036
|
+
type AcpCardAppearance = 'elevated' | 'outlined' | 'filled';
|
|
4057
4037
|
/**
|
|
4058
|
-
* Card elevation levels
|
|
4038
|
+
* Card elevation levels, mapped to `--mat-sys-level{n}`. Only applies to `elevated` cards.
|
|
4059
4039
|
*/
|
|
4060
4040
|
type AcpCardElevation = 0 | 1 | 2 | 3 | 4 | 5;
|
|
4061
4041
|
/**
|
|
4062
|
-
*
|
|
4042
|
+
* Content padding options.
|
|
4063
4043
|
*/
|
|
4064
4044
|
type AcpCardPadding = 'none' | 'small' | 'medium' | 'large';
|
|
4065
4045
|
/**
|
|
4066
|
-
* Card
|
|
4046
|
+
* Card color variants based on Material Design 3 system roles.
|
|
4067
4047
|
*/
|
|
4068
|
-
type
|
|
4048
|
+
type AcpCardColor = 'primary' | 'primary-container' | 'secondary' | 'secondary-container' | 'tertiary' | 'tertiary-container' | 'error' | 'error-container' | 'surface' | 'surface-variant' | 'surface-container-highest' | 'surface-container-high' | 'surface-container' | 'surface-container-low' | 'surface-container-lowest' | 'inverse-surface' | 'disabled-bg';
|
|
4069
4049
|
/**
|
|
4070
|
-
*
|
|
4050
|
+
* Media aspect ratio.
|
|
4071
4051
|
*/
|
|
4072
4052
|
type AcpCardImageRatio = '1:1' | '4:3' | '16:9' | '21:9' | '3:2' | '3:4';
|
|
4073
4053
|
/**
|
|
4074
|
-
*
|
|
4054
|
+
* Horizontal alignment of the actions slot (same as `mat-card-actions[align]`).
|
|
4055
|
+
*/
|
|
4056
|
+
type AcpCardActionsAlign = 'start' | 'end';
|
|
4057
|
+
/**
|
|
4058
|
+
* Application-wide or subtree defaults for `acp-card`.
|
|
4059
|
+
* Provide them with `provideAcpCardDefaults()` or the `ACP_CARD_DEFAULT_OPTIONS` token.
|
|
4060
|
+
* Inputs set on an individual card always win.
|
|
4075
4061
|
*/
|
|
4076
4062
|
interface AcpCardConfig {
|
|
4077
4063
|
appearance?: AcpCardAppearance;
|
|
4078
4064
|
elevation?: AcpCardElevation;
|
|
4079
4065
|
rounded?: boolean | number;
|
|
4080
|
-
hover?: boolean;
|
|
4081
|
-
clickable?: boolean;
|
|
4082
|
-
outlined?: boolean;
|
|
4083
|
-
loading?: boolean;
|
|
4084
|
-
disabled?: boolean;
|
|
4085
4066
|
padding?: AcpCardPadding;
|
|
4067
|
+
color?: AcpCardColor;
|
|
4068
|
+
hoverable?: boolean;
|
|
4069
|
+
actionsAlign?: AcpCardActionsAlign;
|
|
4086
4070
|
imageRatio?: AcpCardImageRatio;
|
|
4087
|
-
fullHeight?: boolean;
|
|
4088
|
-
fullWidth?: boolean;
|
|
4089
|
-
}
|
|
4090
|
-
/**
|
|
4091
|
-
* Card badge configuration
|
|
4092
|
-
*/
|
|
4093
|
-
interface AcpCardBadge {
|
|
4094
|
-
content: string | number;
|
|
4095
|
-
color?: 'primary' | 'secondary' | 'accent' | 'error' | 'success' | 'warning' | 'info';
|
|
4096
|
-
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
4097
4071
|
}
|
|
4098
4072
|
/**
|
|
4099
|
-
* Pass
|
|
4100
|
-
* Allows customization of classes, styles, and attributes for each section
|
|
4073
|
+
* Pass-through classes and styles for a single card section.
|
|
4101
4074
|
*/
|
|
4102
4075
|
interface AcpCardPassThroughSection {
|
|
4103
4076
|
class?: string | string[] | Record<string, boolean>;
|
|
@@ -4116,135 +4089,209 @@ interface AcpCardPassThroughOptions {
|
|
|
4116
4089
|
footer?: AcpCardPassThroughSection | undefined;
|
|
4117
4090
|
}
|
|
4118
4091
|
|
|
4092
|
+
/**
|
|
4093
|
+
* Defaults for every `acp-card` in the injector tree. Mirrors `MAT_CARD_CONFIG`.
|
|
4094
|
+
* Can also be provided at component level: `providers: [{ provide: ACP_CARD_DEFAULT_OPTIONS, useValue }]`.
|
|
4095
|
+
*/
|
|
4096
|
+
declare const ACP_CARD_DEFAULT_OPTIONS: InjectionToken<AcpCardConfig>;
|
|
4097
|
+
/**
|
|
4098
|
+
* Registers application-wide card defaults, e.g.:
|
|
4099
|
+
* `provideAcpCardDefaults({ appearance: 'outlined', rounded: 16 })`.
|
|
4100
|
+
*/
|
|
4101
|
+
declare function provideAcpCardDefaults(defaults: AcpCardConfig): EnvironmentProviders;
|
|
4102
|
+
|
|
4103
|
+
/**
|
|
4104
|
+
* Typed slot directives for `acp-card`. Preferred over `#title`-style template refs:
|
|
4105
|
+
* they are type-checked, discoverable and never collide with refs of nested components.
|
|
4106
|
+
*
|
|
4107
|
+
* @example
|
|
4108
|
+
* ```html
|
|
4109
|
+
* <acp-card>
|
|
4110
|
+
* <ng-template acpCardTitle>Order #123</ng-template>
|
|
4111
|
+
* <p>Body</p>
|
|
4112
|
+
* <ng-template acpCardActions><acp-button text="Open" /></ng-template>
|
|
4113
|
+
* </acp-card>
|
|
4114
|
+
* ```
|
|
4115
|
+
*/
|
|
4116
|
+
declare class AcpCardHeader {
|
|
4117
|
+
readonly templateRef: TemplateRef<any>;
|
|
4118
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardHeader, never>;
|
|
4119
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardHeader, "ng-template[acpCardHeader]", never, {}, {}, never, never, true, never>;
|
|
4120
|
+
}
|
|
4121
|
+
declare class AcpCardMedia {
|
|
4122
|
+
readonly templateRef: TemplateRef<any>;
|
|
4123
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardMedia, never>;
|
|
4124
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardMedia, "ng-template[acpCardMedia]", never, {}, {}, never, never, true, never>;
|
|
4125
|
+
}
|
|
4126
|
+
declare class AcpCardAvatar {
|
|
4127
|
+
readonly templateRef: TemplateRef<any>;
|
|
4128
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardAvatar, never>;
|
|
4129
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardAvatar, "ng-template[acpCardAvatar]", never, {}, {}, never, never, true, never>;
|
|
4130
|
+
}
|
|
4131
|
+
declare class AcpCardTitle {
|
|
4132
|
+
readonly templateRef: TemplateRef<any>;
|
|
4133
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardTitle, never>;
|
|
4134
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardTitle, "ng-template[acpCardTitle]", never, {}, {}, never, never, true, never>;
|
|
4135
|
+
}
|
|
4136
|
+
declare class AcpCardSubtitle {
|
|
4137
|
+
readonly templateRef: TemplateRef<any>;
|
|
4138
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardSubtitle, never>;
|
|
4139
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardSubtitle, "ng-template[acpCardSubtitle]", never, {}, {}, never, never, true, never>;
|
|
4140
|
+
}
|
|
4141
|
+
declare class AcpCardActions {
|
|
4142
|
+
readonly templateRef: TemplateRef<any>;
|
|
4143
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardActions, never>;
|
|
4144
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardActions, "ng-template[acpCardActions]", never, {}, {}, never, never, true, never>;
|
|
4145
|
+
}
|
|
4146
|
+
declare class AcpCardFooter {
|
|
4147
|
+
readonly templateRef: TemplateRef<any>;
|
|
4148
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCardFooter, never>;
|
|
4149
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AcpCardFooter, "ng-template[acpCardFooter]", never, {}, {}, never, never, true, never>;
|
|
4150
|
+
}
|
|
4151
|
+
declare const ACP_CARD_SLOTS: readonly [typeof AcpCardHeader, typeof AcpCardMedia, typeof AcpCardAvatar, typeof AcpCardTitle, typeof AcpCardSubtitle, typeof AcpCardActions, typeof AcpCardFooter];
|
|
4152
|
+
|
|
4119
4153
|
declare class AcpCard {
|
|
4120
|
-
readonly
|
|
4121
|
-
readonly
|
|
4122
|
-
readonly
|
|
4123
|
-
readonly
|
|
4154
|
+
private readonly defaults;
|
|
4155
|
+
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
4156
|
+
readonly subtitle: _angular_core.InputSignal<string | undefined>;
|
|
4157
|
+
readonly appearance: _angular_core.InputSignal<AcpCardAppearance | undefined>;
|
|
4158
|
+
readonly color: _angular_core.InputSignal<AcpCardColor | undefined>;
|
|
4159
|
+
readonly elevation: _angular_core.InputSignal<AcpCardElevation | undefined>;
|
|
4160
|
+
/** `true` = theme radius, `false` = square, number = radius in px. */
|
|
4161
|
+
readonly rounded: _angular_core.InputSignal<number | boolean | undefined>;
|
|
4162
|
+
readonly padding: _angular_core.InputSignal<AcpCardPadding | undefined>;
|
|
4163
|
+
readonly hoverable: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
|
|
4164
|
+
readonly actionsAlign: _angular_core.InputSignal<AcpCardActionsAlign | undefined>;
|
|
4165
|
+
/** Aspect ratio applied to the media slot. Media keeps its natural size when unset. */
|
|
4166
|
+
readonly imageRatio: _angular_core.InputSignal<AcpCardImageRatio | undefined>;
|
|
4124
4167
|
readonly clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4125
|
-
readonly outlined: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4126
4168
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4127
|
-
readonly
|
|
4128
|
-
readonly imageRatio: _angular_core.InputSignal<AcpCardImageRatio>;
|
|
4169
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4129
4170
|
readonly fullHeight: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4130
4171
|
readonly fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4131
|
-
readonly
|
|
4172
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
4132
4173
|
readonly passThrough: _angular_core.InputSignal<AcpCardPassThroughOptions>;
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4174
|
+
/** Emitted on click, Enter or Space when `clickable` and not disabled/loading. */
|
|
4175
|
+
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
|
|
4176
|
+
private readonly headerDir;
|
|
4177
|
+
private readonly mediaDir;
|
|
4178
|
+
private readonly avatarDir;
|
|
4179
|
+
private readonly titleDir;
|
|
4180
|
+
private readonly subtitleDir;
|
|
4181
|
+
private readonly actionsDir;
|
|
4182
|
+
private readonly footerDir;
|
|
4183
|
+
private readonly headerRef;
|
|
4184
|
+
private readonly mediaRef;
|
|
4185
|
+
private readonly avatarRef;
|
|
4186
|
+
private readonly titleRef;
|
|
4187
|
+
private readonly subtitleRef;
|
|
4188
|
+
private readonly actionsRef;
|
|
4189
|
+
private readonly footerRef;
|
|
4190
|
+
readonly headerTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4191
|
+
readonly mediaTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4192
|
+
readonly avatarTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4193
|
+
readonly titleTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4194
|
+
readonly subtitleTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4195
|
+
readonly actionsTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4196
|
+
readonly footerTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4197
|
+
readonly hasTitleGroup: _angular_core.Signal<boolean>;
|
|
4198
|
+
readonly resolvedAppearance: _angular_core.Signal<AcpCardAppearance>;
|
|
4199
|
+
readonly matAppearance: _angular_core.Signal<"filled" | "outlined" | "raised">;
|
|
4200
|
+
readonly resolvedPadding: _angular_core.Signal<AcpCardPadding>;
|
|
4201
|
+
readonly resolvedColor: _angular_core.Signal<AcpCardColor | undefined>;
|
|
4202
|
+
readonly resolvedHoverable: _angular_core.Signal<boolean>;
|
|
4203
|
+
readonly resolvedActionsAlign: _angular_core.Signal<AcpCardActionsAlign>;
|
|
4204
|
+
readonly mediaRatio: _angular_core.Signal<string | undefined>;
|
|
4205
|
+
readonly interactive: _angular_core.Signal<boolean>;
|
|
4206
|
+
readonly shape: _angular_core.Signal<string | null>;
|
|
4207
|
+
readonly elevationShadow: _angular_core.Signal<string | null>;
|
|
4208
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
4209
|
+
onActivate(event: MouseEvent): void;
|
|
4210
|
+
onKeyActivate(event: Event): void;
|
|
4143
4211
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpCard, never>;
|
|
4144
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpCard, "acp-card",
|
|
4212
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpCard, "acp-card", ["acpCard"], { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "actionsAlign": { "alias": "actionsAlign"; "required": false; "isSignal": true; }; "imageRatio": { "alias": "imageRatio"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullHeight": { "alias": "fullHeight"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "passThrough": { "alias": "passThrough"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, ["headerDir", "mediaDir", "avatarDir", "titleDir", "subtitleDir", "actionsDir", "footerDir", "headerRef", "mediaRef", "avatarRef", "titleRef", "subtitleRef", "actionsRef", "footerRef"], ["*"], true, never>;
|
|
4145
4213
|
}
|
|
4146
4214
|
|
|
4147
|
-
type AcpKpiCardColor = 'primary' | 'secondary' | 'success' | 'success-light' | 'warning' | 'warning-light' | 'error' | 'error-light' | 'info' | 'info-light' | 'neutral' | '
|
|
4215
|
+
type AcpKpiCardColor = 'primary' | 'secondary' | 'success' | 'success-light' | 'warning' | 'warning-light' | 'error' | 'error-light' | 'info' | 'info-light' | 'neutral' | 'surface' | 'custom';
|
|
4148
4216
|
type AcpKpiCardVariant = 'default' | 'elevated' | 'outlined' | 'filled' | 'tonal';
|
|
4149
4217
|
type AcpKpiCardSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
4218
|
+
/** Horizontal alignment of header, value and text. */
|
|
4219
|
+
type AcpKpiCardAlign = 'start' | 'center' | 'end';
|
|
4220
|
+
/** Direction of the change. `none` hides the trend icon. */
|
|
4150
4221
|
type AcpKpiCardTrend = 'up' | 'down' | 'neutral' | 'none';
|
|
4222
|
+
/** Whether the change is good or bad for the business; drives the delta badge color. */
|
|
4223
|
+
type AcpKpiCardTrendSentiment = 'positive' | 'negative' | 'neutral';
|
|
4151
4224
|
interface AcpKpiCardTrendConfig {
|
|
4152
4225
|
icon: string;
|
|
4153
|
-
color: AcpKpiCardColor;
|
|
4154
4226
|
ariaLabel: string;
|
|
4155
4227
|
}
|
|
4156
|
-
interface AcpKpiCardLayout {
|
|
4157
|
-
title: boolean;
|
|
4158
|
-
subtitle: boolean;
|
|
4159
|
-
value: boolean;
|
|
4160
|
-
description: boolean;
|
|
4161
|
-
trend: boolean;
|
|
4162
|
-
percentage: boolean;
|
|
4163
|
-
icon: boolean;
|
|
4164
|
-
avatar: boolean;
|
|
4165
|
-
actions: boolean;
|
|
4166
|
-
footer: boolean;
|
|
4167
|
-
progress: boolean;
|
|
4168
|
-
}
|
|
4169
4228
|
|
|
4170
4229
|
declare class AcpKpiCard {
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4230
|
+
private readonly defaultLocale;
|
|
4231
|
+
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
4232
|
+
readonly subtitle: _angular_core.InputSignal<string | undefined>;
|
|
4233
|
+
/** Numbers are formatted with `Intl.NumberFormat`; strings are shown as-is. */
|
|
4234
|
+
readonly value: _angular_core.InputSignal<string | number | null | undefined>;
|
|
4235
|
+
readonly valueFormat: _angular_core.InputSignal<Intl.NumberFormatOptions | undefined>;
|
|
4236
|
+
readonly prefix: _angular_core.InputSignal<string | undefined>;
|
|
4237
|
+
readonly suffix: _angular_core.InputSignal<string | undefined>;
|
|
4238
|
+
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
4239
|
+
readonly footer: _angular_core.InputSignal<string | undefined>;
|
|
4240
|
+
/** BCP 47 locale for number formatting. Defaults to the app `LOCALE_ID`. */
|
|
4241
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
4242
|
+
readonly variant: _angular_core.InputSignal<AcpKpiCardVariant>;
|
|
4243
|
+
readonly color: _angular_core.InputSignal<AcpKpiCardColor>;
|
|
4244
|
+
readonly size: _angular_core.InputSignal<AcpKpiCardSize>;
|
|
4245
|
+
readonly align: _angular_core.InputSignal<AcpKpiCardAlign>;
|
|
4246
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
4247
|
+
readonly svgIcon: _angular_core.InputSignal<string | undefined>;
|
|
4248
|
+
readonly avatar: _angular_core.InputSignal<string | undefined>;
|
|
4249
|
+
readonly avatarInitials: _angular_core.InputSignal<string | undefined>;
|
|
4250
|
+
readonly percentage: _angular_core.InputSignal<string | number | null | undefined>;
|
|
4251
|
+
readonly percentageFormat: _angular_core.InputSignal<"number" | "percent">;
|
|
4252
|
+
/** Direction of the change. Inferred from the sign of `percentage` when unset. */
|
|
4253
|
+
readonly trend: _angular_core.InputSignal<AcpKpiCardTrend | undefined>;
|
|
4254
|
+
/** Invert the badge color for metrics where a decrease is good (costs, churn, errors). */
|
|
4255
|
+
readonly lowerIsBetter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4256
|
+
/** Comparison context shown next to the change, e.g. "vs last month". */
|
|
4257
|
+
readonly trendLabel: _angular_core.InputSignal<string | undefined>;
|
|
4258
|
+
/** Show the trend arrow inside the change badge. */
|
|
4259
|
+
readonly showTrendIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4260
|
+
readonly progress: _angular_core.InputSignal<number | undefined>;
|
|
4261
|
+
readonly progressColor: _angular_core.InputSignal<AcpKpiCardColor | undefined>;
|
|
4262
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4263
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4264
|
+
readonly clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4265
|
+
readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4266
|
+
readonly routerLink: _angular_core.InputSignal<string | any[] | null>;
|
|
4267
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
4268
|
+
readonly menuAriaLabel: _angular_core.InputSignal<string>;
|
|
4269
|
+
readonly tooltip: _angular_core.InputSignal<string | undefined>;
|
|
4270
|
+
/** Emitted on click, Enter or Space when `clickable`. */
|
|
4271
|
+
readonly clicked: _angular_core.OutputEmitterRef<void>;
|
|
4272
|
+
readonly iconTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4273
|
+
readonly avatarTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4274
|
+
readonly footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4275
|
+
readonly actionsTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
4276
|
+
private readonly resolvedLocale;
|
|
4277
|
+
readonly formattedValue: _angular_core.Signal<string | null>;
|
|
4278
|
+
readonly formattedDelta: _angular_core.Signal<string | null>;
|
|
4279
|
+
readonly resolvedTrend: _angular_core.Signal<AcpKpiCardTrend>;
|
|
4280
|
+
readonly trendConfig: _angular_core.Signal<_acontplus_ng_components.AcpKpiCardTrendConfig>;
|
|
4281
|
+
readonly sentiment: _angular_core.Signal<AcpKpiCardTrendSentiment>;
|
|
4282
|
+
readonly hasHeader: _angular_core.Signal<boolean>;
|
|
4283
|
+
readonly hasFooter: _angular_core.Signal<boolean>;
|
|
4284
|
+
readonly interactive: _angular_core.Signal<boolean>;
|
|
4285
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
4211
4286
|
onCardClick(): void;
|
|
4212
|
-
|
|
4213
|
-
onMouseEnter(): void;
|
|
4214
|
-
onMouseLeave(): void;
|
|
4287
|
+
onCardKey(event: Event): void;
|
|
4215
4288
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpKpiCard, never>;
|
|
4216
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpKpiCard, "acp-kpi-card", ["acpKpiCard"], { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "svgIcon": { "alias": "svgIcon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "
|
|
4289
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpKpiCard, "acp-kpi-card", ["acpKpiCard"], { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "svgIcon": { "alias": "svgIcon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "percentage": { "alias": "percentage"; "required": false; "isSignal": true; }; "percentageFormat": { "alias": "percentageFormat"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "lowerIsBetter": { "alias": "lowerIsBetter"; "required": false; "isSignal": true; }; "trendLabel": { "alias": "trendLabel"; "required": false; "isSignal": true; }; "showTrendIcon": { "alias": "showTrendIcon"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "progressColor": { "alias": "progressColor"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, ["iconTemplate", "avatarTemplate", "footerTemplate", "actionsTemplate"], never, true, never>;
|
|
4217
4290
|
}
|
|
4218
4291
|
|
|
4219
4292
|
declare const KPI_CARD_TREND_CONFIGS: Record<AcpKpiCardTrend, AcpKpiCardTrendConfig>;
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
declare const KPI_CARD_TOKENS: {
|
|
4223
|
-
SIZE_SM: string;
|
|
4224
|
-
SIZE_MD: string;
|
|
4225
|
-
SIZE_LG: string;
|
|
4226
|
-
VARIANT_DEFAULT: string;
|
|
4227
|
-
VARIANT_ELEVATED: string;
|
|
4228
|
-
VARIANT_OUTLINED: string;
|
|
4229
|
-
VARIANT_FILLED: string;
|
|
4230
|
-
VARIANT_TONAL: string;
|
|
4231
|
-
COLOR_PRIMARY: string;
|
|
4232
|
-
COLOR_SECONDARY: string;
|
|
4233
|
-
COLOR_SUCCESS: string;
|
|
4234
|
-
COLOR_SUCCESS_LIGHT: string;
|
|
4235
|
-
COLOR_WARNING: string;
|
|
4236
|
-
COLOR_WARNING_LIGHT: string;
|
|
4237
|
-
COLOR_ERROR: string;
|
|
4238
|
-
COLOR_ERROR_LIGHT: string;
|
|
4239
|
-
COLOR_INFO: string;
|
|
4240
|
-
COLOR_INFO_LIGHT: string;
|
|
4241
|
-
COLOR_NEUTRAL: string;
|
|
4242
|
-
COLOR_CUSTOM: string;
|
|
4243
|
-
TREND_UP: string;
|
|
4244
|
-
TREND_DOWN: string;
|
|
4245
|
-
TREND_NEUTRAL: string;
|
|
4246
|
-
TREND_NONE: string;
|
|
4247
|
-
};
|
|
4293
|
+
/** Infers the trend direction from a numeric or numeric-string delta (`'+12.5'`, `-3`). */
|
|
4294
|
+
declare function inferKpiTrend(delta: number | string | null | undefined): AcpKpiCardTrend;
|
|
4248
4295
|
|
|
4249
4296
|
declare class Branding {
|
|
4250
4297
|
readonly logo: _angular_core.InputSignal<string | null>;
|
|
@@ -5394,5 +5441,5 @@ declare class StatusDisplayPipe implements PipeTransform {
|
|
|
5394
5441
|
static ɵpipe: _angular_core.ɵɵPipeDeclaration<StatusDisplayPipe, "statusDisplay", true>;
|
|
5395
5442
|
}
|
|
5396
5443
|
|
|
5397
|
-
export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_BADGE_COLORS, ACP_BADGE_SHAPES, ACP_BADGE_SIZES, ACP_BADGE_VARIANTS, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DIALOG_ACTIONS, ACP_DIALOG_DATA, ACP_DIALOG_DEFAULT_OPTIONS, ACP_DIALOG_TITLEBAR, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AcpAlert, AcpBadge, AcpButton, AcpCard, AcpCheckboxBase, AcpCheckboxGroup, AcpContextMenu, AcpContextMenuDirective, AcpContextMenuPanel, AcpContextMenuService, AcpDateRangeInput, AcpDialog, AcpDialogActions, AcpDialogContainer, AcpDialogContent, AcpDialogRef, AcpDialogService, AcpDialogTitlebar, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpHeader, AcpHeaderActions, AcpHeaderBranding, AcpHeaderCenter, AcpHeaderEnd, AcpHeaderLanguage, AcpHeaderNotifications, AcpHeaderStart, AcpHeaderTheme, AcpHeaderWorkspace, AcpKpiCard, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSelectDateOption, AcpShellLayout, AcpShellSlotHeader, AcpShellSlotSidebar, AcpShellSlotSidebarFooter, AcpShellSlotToolbar, AcpShellSlotTopmenu, AcpSidebar, AcpSidebarBranding, AcpSidebarContent, AcpSidebarHeader, AcpSidebarToggle, AcpSidebarUserPanel, AcpTopmenu, AcpTopmenuPanel, AdvancedDialogService, Branding, Button, CONTEXT_MENU_DATA, CONTEXT_MENU_ITEMS, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService,
|
|
5398
|
-
export type { AcpAlertType, AcpBadgeColor, AcpBadgeShape, AcpBadgeSize, AcpBadgeTrend, AcpBadgeTrendConfig, AcpBadgeVariant, AcpButtonAppearance$1 as AcpButtonAppearance, AcpButtonColor$1 as AcpButtonColor, AcpButtonSize, AcpButtonType$1 as AcpButtonType, AcpButtonVariant$1 as AcpButtonVariant,
|
|
5444
|
+
export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_BADGE_COLORS, ACP_BADGE_SHAPES, ACP_BADGE_SIZES, ACP_BADGE_VARIANTS, ACP_CARD_DEFAULT_OPTIONS, ACP_CARD_SLOTS, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DIALOG_ACTIONS, ACP_DIALOG_DATA, ACP_DIALOG_DEFAULT_OPTIONS, ACP_DIALOG_TITLEBAR, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AcpAlert, AcpBadge, AcpButton, AcpCard, AcpCardActions, AcpCardAvatar, AcpCardFooter, AcpCardHeader, AcpCardMedia, AcpCardSubtitle, AcpCardTitle, AcpCheckboxBase, AcpCheckboxGroup, AcpContextMenu, AcpContextMenuDirective, AcpContextMenuPanel, AcpContextMenuService, AcpDateRangeInput, AcpDialog, AcpDialogActions, AcpDialogContainer, AcpDialogContent, AcpDialogRef, AcpDialogService, AcpDialogTitlebar, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpHeader, AcpHeaderActions, AcpHeaderBranding, AcpHeaderCenter, AcpHeaderEnd, AcpHeaderLanguage, AcpHeaderNotifications, AcpHeaderStart, AcpHeaderTheme, AcpHeaderWorkspace, AcpKpiCard, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSearchSelect, AcpSelectDateOption, AcpShellLayout, AcpShellSlotHeader, AcpShellSlotSidebar, AcpShellSlotSidebarFooter, AcpShellSlotToolbar, AcpShellSlotTopmenu, AcpSidebar, AcpSidebarBranding, AcpSidebarContent, AcpSidebarHeader, AcpSidebarToggle, AcpSidebarUserPanel, AcpTopmenu, AcpTopmenuPanel, AdvancedDialogService, Branding, Button, CONTEXT_MENU_DATA, CONTEXT_MENU_ITEMS, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService, DynamicSelect, GetTotalPipe, IconRegistryService, InputChip, KPI_CARD_TREND_CONFIGS, KeyboardNavigationService, NavAccordionDirective, NavAccordionItemDirective, NavAccordionToggleDirective, OverlayService, Pagination, SidemenuComponent, Spinner, StatusDisplayPipe, SvgIcon, TREND_CONFIGS, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, UserMenu, UserPanel, _AcpPopoverContentBase, acpSearchSelectLooseEquals, acpSearchSelectNormalize, inferKpiTrend, provideAcpCardDefaults, provideAcpDialogDefaults };
|
|
5445
|
+
export type { AcpAlertType, AcpBadgeColor, AcpBadgeShape, AcpBadgeSize, AcpBadgeTrend, AcpBadgeTrendConfig, AcpBadgeVariant, AcpButtonAppearance$1 as AcpButtonAppearance, AcpButtonColor$1 as AcpButtonColor, AcpButtonSize, AcpButtonType$1 as AcpButtonType, AcpButtonVariant$1 as AcpButtonVariant, AcpCardActionsAlign, AcpCardAppearance, AcpCardColor, AcpCardConfig, AcpCardElevation, AcpCardImageRatio, AcpCardPadding, AcpCardPassThroughOptions, AcpCardPassThroughSection, AcpCheckboxGroupOption, AcpContextMenuItem, AcpContextMenuItemContext, AcpContextMenuOpenConfig, AcpContextMenuPosition, AcpContextMenuRef, AcpContextMenuTriggerConfig, AcpDialogAction, AcpDialogActionClick, AcpDialogActionState, AcpDialogActionsOutlet, AcpDialogCloseConfig, AcpDialogComponentLoader, AcpDialogConfig, AcpDialogContainerData, AcpDialogContentFunction, AcpDialogContentInput, AcpDialogDirection, AcpDialogHeaderConfig, AcpDialogResolvedContent, AcpDialogRestoreFocus, AcpDialogSize, AcpDialogTitlebarOutlet, AcpDir, AcpHeaderAction, AcpHeaderActionEvent, AcpHeaderBrandingConfig, AcpHeaderConfig, AcpHeaderPos, AcpHeaderUserMenuConfig, AcpHeaderUserMenuItem, AcpHeaderUserMenuItemEvent, AcpKpiCardAlign, AcpKpiCardColor, AcpKpiCardSize, AcpKpiCardTrend, AcpKpiCardTrendConfig, AcpKpiCardTrendSentiment, AcpKpiCardVariant, AcpLanguageItem, AcpNavPos, AcpNotificationItem, AcpPopoverDefaultOptions, AcpPopoverPanel, AcpPopoverPosition, AcpPopoverPositionEnd, AcpPopoverPositionStart, AcpPopoverTriggerEvent, AcpSearchSelectAccessor, AcpSearchSelectOptionContext, AcpSearchSelectSelection, AcpSelectedDateEvent, AcpThemeVariant, AcpTopmenuChildItem, AcpTopmenuItem, AcpTopmenuPermissions, AcpTopmenuTag, AcpWorkspaceItem, AutoFocusTarget, DataGridButtonType, DataGridCellTemplate, DataGridColumn, DataGridColumnButton, DataGridColumnButtonBadge, DataGridColumnButtonPop, DataGridColumnButtonTooltip, DataGridColumnPinOption, DataGridColumnPinValue, DataGridColumnTag, DataGridColumnTagValue, DataGridColumnType, DataGridColumnTypeParameter, DataGridDefaultOptions, DataGridMenuItem, DataGridRowClassFormatter, DataGridRowSelectionFormatter, DataGridSortProp, DateRangePickerOptions, DateRangeValue, DialogSize, DialogType, DialogWrapperConfig, DrawerPosition, FocusableElement, IAcpSelectDateOption, IconRegistryConfig, MatCustomDialogConfig, MenuItem, MenuPermissions, MenuTag, PaginationOptions, PopoverCloseReason, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme, UserMenuItem, UserMenuSelectedEvent, UserProfile };
|