@area8975/ui 0.2.2-dev.49 → 0.2.2-dev.50
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 +3 -2
- package/fesm2022/area8975-ui-alert.mjs +113 -0
- package/fesm2022/area8975-ui-alert.mjs.map +1 -0
- package/fesm2022/area8975-ui-avatar.mjs +157 -0
- package/fesm2022/area8975-ui-avatar.mjs.map +1 -0
- package/fesm2022/area8975-ui-badge.mjs +116 -0
- package/fesm2022/area8975-ui-badge.mjs.map +1 -0
- package/fesm2022/area8975-ui-button.mjs +314 -0
- package/fesm2022/area8975-ui-button.mjs.map +1 -0
- package/fesm2022/area8975-ui-calendar.mjs +549 -0
- package/fesm2022/area8975-ui-calendar.mjs.map +1 -0
- package/fesm2022/area8975-ui-card-header.mjs +96 -0
- package/fesm2022/area8975-ui-card-header.mjs.map +1 -0
- package/fesm2022/area8975-ui-card.mjs +73 -0
- package/fesm2022/area8975-ui-card.mjs.map +1 -0
- package/fesm2022/area8975-ui-chart-palette.mjs +225 -0
- package/fesm2022/area8975-ui-chart-palette.mjs.map +1 -0
- package/fesm2022/area8975-ui-charts.mjs +2813 -0
- package/fesm2022/area8975-ui-charts.mjs.map +1 -0
- package/fesm2022/area8975-ui-checkbox.mjs +202 -0
- package/fesm2022/area8975-ui-checkbox.mjs.map +1 -0
- package/fesm2022/area8975-ui-colour.mjs +200 -0
- package/fesm2022/area8975-ui-colour.mjs.map +1 -0
- package/fesm2022/area8975-ui-container.mjs +40 -0
- package/fesm2022/area8975-ui-container.mjs.map +1 -0
- package/fesm2022/area8975-ui-counter.mjs +246 -0
- package/fesm2022/area8975-ui-counter.mjs.map +1 -0
- package/fesm2022/area8975-ui-date-range-picker.mjs +554 -0
- package/fesm2022/area8975-ui-date-range-picker.mjs.map +1 -0
- package/fesm2022/area8975-ui-datepicker.mjs +547 -0
- package/fesm2022/area8975-ui-datepicker.mjs.map +1 -0
- package/fesm2022/area8975-ui-disclosure.mjs +279 -0
- package/fesm2022/area8975-ui-disclosure.mjs.map +1 -0
- package/fesm2022/area8975-ui-drawer.mjs +106 -0
- package/fesm2022/area8975-ui-drawer.mjs.map +1 -0
- package/fesm2022/area8975-ui-dropdown-button.mjs +141 -0
- package/fesm2022/area8975-ui-dropdown-button.mjs.map +1 -0
- package/fesm2022/area8975-ui-dropdown-menu.mjs +96 -0
- package/fesm2022/area8975-ui-dropdown-menu.mjs.map +1 -0
- package/fesm2022/area8975-ui-dropdown.mjs +208 -0
- package/fesm2022/area8975-ui-dropdown.mjs.map +1 -0
- package/fesm2022/area8975-ui-dropzone.mjs +332 -0
- package/fesm2022/area8975-ui-dropzone.mjs.map +1 -0
- package/fesm2022/area8975-ui-field.mjs +191 -0
- package/fesm2022/area8975-ui-field.mjs.map +1 -0
- package/fesm2022/area8975-ui-file-input.mjs +340 -0
- package/fesm2022/area8975-ui-file-input.mjs.map +1 -0
- package/fesm2022/area8975-ui-file.mjs +47 -0
- package/fesm2022/area8975-ui-file.mjs.map +1 -0
- package/fesm2022/area8975-ui-format.mjs +70 -0
- package/fesm2022/area8975-ui-format.mjs.map +1 -0
- package/fesm2022/area8975-ui-input-addon.mjs +42 -0
- package/fesm2022/area8975-ui-input-addon.mjs.map +1 -0
- package/fesm2022/area8975-ui-input-group.mjs +86 -0
- package/fesm2022/area8975-ui-input-group.mjs.map +1 -0
- package/fesm2022/area8975-ui-input.mjs +682 -0
- package/fesm2022/area8975-ui-input.mjs.map +1 -0
- package/fesm2022/area8975-ui-kpi.mjs +167 -0
- package/fesm2022/area8975-ui-kpi.mjs.map +1 -0
- package/fesm2022/area8975-ui-layout.mjs +63 -0
- package/fesm2022/area8975-ui-layout.mjs.map +1 -0
- package/fesm2022/area8975-ui-loading.mjs +76 -0
- package/fesm2022/area8975-ui-loading.mjs.map +1 -0
- package/fesm2022/area8975-ui-modal-close-btn.mjs +89 -0
- package/fesm2022/area8975-ui-modal-close-btn.mjs.map +1 -0
- package/fesm2022/area8975-ui-modal.mjs +235 -0
- package/fesm2022/area8975-ui-modal.mjs.map +1 -0
- package/fesm2022/area8975-ui-money.mjs +230 -0
- package/fesm2022/area8975-ui-money.mjs.map +1 -0
- package/fesm2022/area8975-ui-overlay.mjs +317 -0
- package/fesm2022/area8975-ui-overlay.mjs.map +1 -0
- package/fesm2022/area8975-ui-pagination.mjs +152 -0
- package/fesm2022/area8975-ui-pagination.mjs.map +1 -0
- package/fesm2022/area8975-ui-private.mjs +63 -0
- package/fesm2022/area8975-ui-private.mjs.map +1 -0
- package/fesm2022/area8975-ui-progress.mjs +307 -0
- package/fesm2022/area8975-ui-progress.mjs.map +1 -0
- package/fesm2022/area8975-ui-radio.mjs +199 -0
- package/fesm2022/area8975-ui-radio.mjs.map +1 -0
- package/fesm2022/area8975-ui-rich-text-editor.mjs +778 -0
- package/fesm2022/area8975-ui-rich-text-editor.mjs.map +1 -0
- package/fesm2022/area8975-ui-search.mjs +266 -0
- package/fesm2022/area8975-ui-search.mjs.map +1 -0
- package/fesm2022/area8975-ui-segmented.mjs +118 -0
- package/fesm2022/area8975-ui-segmented.mjs.map +1 -0
- package/fesm2022/area8975-ui-select.mjs +926 -0
- package/fesm2022/area8975-ui-select.mjs.map +1 -0
- package/fesm2022/area8975-ui-sidebar-group.mjs +60 -0
- package/fesm2022/area8975-ui-sidebar-group.mjs.map +1 -0
- package/fesm2022/area8975-ui-sidebar-item.mjs +107 -0
- package/fesm2022/area8975-ui-sidebar-item.mjs.map +1 -0
- package/fesm2022/area8975-ui-sidebar.mjs +109 -0
- package/fesm2022/area8975-ui-sidebar.mjs.map +1 -0
- package/fesm2022/area8975-ui-skeleton.mjs +116 -0
- package/fesm2022/area8975-ui-skeleton.mjs.map +1 -0
- package/fesm2022/area8975-ui-stat.mjs +55 -0
- package/fesm2022/area8975-ui-stat.mjs.map +1 -0
- package/fesm2022/area8975-ui-switch.mjs +132 -0
- package/fesm2022/area8975-ui-switch.mjs.map +1 -0
- package/fesm2022/area8975-ui-tab.mjs +217 -0
- package/fesm2022/area8975-ui-tab.mjs.map +1 -0
- package/fesm2022/area8975-ui-table-filters.mjs +499 -0
- package/fesm2022/area8975-ui-table-filters.mjs.map +1 -0
- package/fesm2022/area8975-ui-table.mjs +1237 -0
- package/fesm2022/area8975-ui-table.mjs.map +1 -0
- package/fesm2022/area8975-ui-textarea.mjs +375 -0
- package/fesm2022/area8975-ui-textarea.mjs.map +1 -0
- package/fesm2022/area8975-ui-theme.mjs +246 -0
- package/fesm2022/area8975-ui-theme.mjs.map +1 -0
- package/fesm2022/area8975-ui-time-select.mjs +170 -0
- package/fesm2022/area8975-ui-time-select.mjs.map +1 -0
- package/fesm2022/area8975-ui-toast.mjs +269 -0
- package/fesm2022/area8975-ui-toast.mjs.map +1 -0
- package/fesm2022/area8975-ui-toaster.mjs +117 -0
- package/fesm2022/area8975-ui-toaster.mjs.map +1 -0
- package/fesm2022/area8975-ui-tooltip.mjs +196 -0
- package/fesm2022/area8975-ui-tooltip.mjs.map +1 -0
- package/fesm2022/area8975-ui-user-menu.mjs +186 -0
- package/fesm2022/area8975-ui-user-menu.mjs.map +1 -0
- package/fesm2022/area8975-ui.mjs +0 -16520
- package/package.json +237 -1
- package/types/area8975-ui-alert.d.ts +25 -0
- package/types/area8975-ui-avatar.d.ts +40 -0
- package/types/area8975-ui-badge.d.ts +31 -0
- package/types/area8975-ui-button.d.ts +129 -0
- package/types/area8975-ui-calendar.d.ts +177 -0
- package/types/area8975-ui-card-header.d.ts +28 -0
- package/types/area8975-ui-card.d.ts +18 -0
- package/types/area8975-ui-chart-palette.d.ts +176 -0
- package/types/area8975-ui-charts.d.ts +747 -0
- package/types/area8975-ui-checkbox.d.ts +61 -0
- package/types/area8975-ui-colour.d.ts +31 -0
- package/types/area8975-ui-container.d.ts +5 -0
- package/types/area8975-ui-counter.d.ts +43 -0
- package/types/area8975-ui-date-range-picker.d.ts +132 -0
- package/types/area8975-ui-datepicker.d.ts +124 -0
- package/types/area8975-ui-disclosure.d.ts +79 -0
- package/types/area8975-ui-drawer.d.ts +25 -0
- package/types/area8975-ui-dropdown-button.d.ts +32 -0
- package/types/area8975-ui-dropdown-menu.d.ts +25 -0
- package/types/area8975-ui-dropdown.d.ts +56 -0
- package/types/area8975-ui-dropzone.d.ts +96 -0
- package/types/area8975-ui-field.d.ts +72 -0
- package/types/area8975-ui-file-input.d.ts +72 -0
- package/types/area8975-ui-file.d.ts +21 -0
- package/types/area8975-ui-format.d.ts +37 -0
- package/types/area8975-ui-input-addon.d.ts +10 -0
- package/types/area8975-ui-input-group.d.ts +18 -0
- package/types/area8975-ui-input.d.ts +224 -0
- package/types/area8975-ui-kpi.d.ts +36 -0
- package/types/area8975-ui-layout.d.ts +7 -0
- package/types/area8975-ui-loading.d.ts +16 -0
- package/types/area8975-ui-modal-close-btn.d.ts +14 -0
- package/types/area8975-ui-modal.d.ts +45 -0
- package/types/area8975-ui-money.d.ts +77 -0
- package/types/area8975-ui-overlay.d.ts +75 -0
- package/types/area8975-ui-pagination.d.ts +27 -0
- package/types/area8975-ui-private.d.ts +20 -0
- package/types/area8975-ui-progress.d.ts +127 -0
- package/types/area8975-ui-radio.d.ts +61 -0
- package/types/area8975-ui-rich-text-editor.d.ts +165 -0
- package/types/area8975-ui-search.d.ts +56 -0
- package/types/area8975-ui-segmented.d.ts +41 -0
- package/types/area8975-ui-select.d.ts +293 -0
- package/types/area8975-ui-sidebar-group.d.ts +15 -0
- package/types/area8975-ui-sidebar-item.d.ts +20 -0
- package/types/area8975-ui-sidebar.d.ts +16 -0
- package/types/area8975-ui-skeleton.d.ts +35 -0
- package/types/area8975-ui-stat.d.ts +13 -0
- package/types/area8975-ui-switch.d.ts +32 -0
- package/types/area8975-ui-tab.d.ts +45 -0
- package/types/area8975-ui-table-filters.d.ts +138 -0
- package/types/area8975-ui-table.d.ts +371 -0
- package/types/area8975-ui-textarea.d.ts +126 -0
- package/types/area8975-ui-theme.d.ts +61 -0
- package/types/area8975-ui-time-select.d.ts +35 -0
- package/types/area8975-ui-toast.d.ts +78 -0
- package/types/area8975-ui-toaster.d.ts +23 -0
- package/types/area8975-ui-tooltip.d.ts +47 -0
- package/types/area8975-ui-user-menu.d.ts +39 -0
- package/types/area8975-ui.d.ts +1 -4546
- package/fesm2022/area8975-ui.mjs.map +0 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { FileRejection } from "@area8975/ui/file";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class UiDropzoneComponent {
|
|
4
|
+
readonly value: import("@angular/core").ModelSignal<File[]>;
|
|
5
|
+
readonly id: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly accept: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
8
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly describedBy: import("@angular/core").InputSignal<string>;
|
|
11
|
+
/** Max size per file in bytes. */
|
|
12
|
+
readonly maxSize: import("@angular/core").InputSignal<number | null>;
|
|
13
|
+
readonly title: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly hint: import("@angular/core").InputSignal<string>;
|
|
15
|
+
readonly icon: import("@angular/core").InputSignal<keyof import("@ng-icons/core").NgIconNameMap>;
|
|
16
|
+
readonly rejected: import("@angular/core").OutputEmitterRef<FileRejection[]>;
|
|
17
|
+
private readonly picker;
|
|
18
|
+
private dragDepth;
|
|
19
|
+
protected readonly isDragging: import("@angular/core").WritableSignal<boolean>;
|
|
20
|
+
protected readonly hasRejection: import("@angular/core").WritableSignal<boolean>;
|
|
21
|
+
protected readonly displayTitle: import("@angular/core").Signal<string>;
|
|
22
|
+
protected readonly files: import("@angular/core").Signal<{
|
|
23
|
+
name: string;
|
|
24
|
+
size: string;
|
|
25
|
+
}[]>;
|
|
26
|
+
protected openPicker(): void;
|
|
27
|
+
protected handleKeydown(event: KeyboardEvent): void;
|
|
28
|
+
protected handlePick(event: Event): void;
|
|
29
|
+
protected handleDragEnter(event: DragEvent): void;
|
|
30
|
+
protected handleDragOver(event: DragEvent): void;
|
|
31
|
+
protected handleDragLeave(): void;
|
|
32
|
+
protected handleDrop(event: DragEvent): void;
|
|
33
|
+
protected clear(): void;
|
|
34
|
+
private addFiles;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiDropzoneComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiDropzoneComponent, "ui-dropzone", never, {
|
|
37
|
+
"value": {
|
|
38
|
+
"alias": "value";
|
|
39
|
+
"required": false;
|
|
40
|
+
"isSignal": true;
|
|
41
|
+
};
|
|
42
|
+
"id": {
|
|
43
|
+
"alias": "id";
|
|
44
|
+
"required": false;
|
|
45
|
+
"isSignal": true;
|
|
46
|
+
};
|
|
47
|
+
"accept": {
|
|
48
|
+
"alias": "accept";
|
|
49
|
+
"required": false;
|
|
50
|
+
"isSignal": true;
|
|
51
|
+
};
|
|
52
|
+
"multiple": {
|
|
53
|
+
"alias": "multiple";
|
|
54
|
+
"required": false;
|
|
55
|
+
"isSignal": true;
|
|
56
|
+
};
|
|
57
|
+
"disabled": {
|
|
58
|
+
"alias": "disabled";
|
|
59
|
+
"required": false;
|
|
60
|
+
"isSignal": true;
|
|
61
|
+
};
|
|
62
|
+
"ariaLabel": {
|
|
63
|
+
"alias": "ariaLabel";
|
|
64
|
+
"required": false;
|
|
65
|
+
"isSignal": true;
|
|
66
|
+
};
|
|
67
|
+
"describedBy": {
|
|
68
|
+
"alias": "describedBy";
|
|
69
|
+
"required": false;
|
|
70
|
+
"isSignal": true;
|
|
71
|
+
};
|
|
72
|
+
"maxSize": {
|
|
73
|
+
"alias": "maxSize";
|
|
74
|
+
"required": false;
|
|
75
|
+
"isSignal": true;
|
|
76
|
+
};
|
|
77
|
+
"title": {
|
|
78
|
+
"alias": "title";
|
|
79
|
+
"required": false;
|
|
80
|
+
"isSignal": true;
|
|
81
|
+
};
|
|
82
|
+
"hint": {
|
|
83
|
+
"alias": "hint";
|
|
84
|
+
"required": false;
|
|
85
|
+
"isSignal": true;
|
|
86
|
+
};
|
|
87
|
+
"icon": {
|
|
88
|
+
"alias": "icon";
|
|
89
|
+
"required": false;
|
|
90
|
+
"isSignal": true;
|
|
91
|
+
};
|
|
92
|
+
}, {
|
|
93
|
+
"value": "valueChange";
|
|
94
|
+
"rejected": "rejected";
|
|
95
|
+
}, never, never, true, never>;
|
|
96
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class UiFieldComponent {
|
|
3
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
4
|
+
readonly hint: import("@angular/core").InputSignal<string>;
|
|
5
|
+
/**
|
|
6
|
+
* Shows a "*" marker next to the label.
|
|
7
|
+
*/
|
|
8
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* An error message, shown instead of `hint` when present.
|
|
11
|
+
*/
|
|
12
|
+
readonly error: import("@angular/core").InputSignal<string>;
|
|
13
|
+
readonly for: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly hintId: import("@angular/core").InputSignal<string>;
|
|
15
|
+
readonly errorId: import("@angular/core").InputSignal<string>;
|
|
16
|
+
/**
|
|
17
|
+
* The label's id, `${for}-label`. Controls that a `<label for>` can't
|
|
18
|
+
* reach (e.g. `ui-rich-text-editor`) point `aria-labelledby` at it.
|
|
19
|
+
*/
|
|
20
|
+
readonly labelId: import("@angular/core").Signal<string>;
|
|
21
|
+
private readonly document;
|
|
22
|
+
protected get forAttr(): string | null;
|
|
23
|
+
protected get labelIdAttr(): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* A label click is passed on to its control as a click, which opens a
|
|
26
|
+
* `ui-select` or `ui-datepicker` rather than just focusing it, and does
|
|
27
|
+
* nothing at all for controls a label can't target (a contenteditable,
|
|
28
|
+
* a `role="button"` div). So apart from checkboxes and radios, where the
|
|
29
|
+
* click is the point, the label just focuses its control.
|
|
30
|
+
*/
|
|
31
|
+
protected onClick(event: MouseEvent): void;
|
|
32
|
+
protected get hintAttr(): string | null;
|
|
33
|
+
protected get errorAttr(): string | null;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiFieldComponent, "ui-field", never, {
|
|
36
|
+
"label": {
|
|
37
|
+
"alias": "label";
|
|
38
|
+
"required": false;
|
|
39
|
+
"isSignal": true;
|
|
40
|
+
};
|
|
41
|
+
"hint": {
|
|
42
|
+
"alias": "hint";
|
|
43
|
+
"required": false;
|
|
44
|
+
"isSignal": true;
|
|
45
|
+
};
|
|
46
|
+
"required": {
|
|
47
|
+
"alias": "required";
|
|
48
|
+
"required": false;
|
|
49
|
+
"isSignal": true;
|
|
50
|
+
};
|
|
51
|
+
"error": {
|
|
52
|
+
"alias": "error";
|
|
53
|
+
"required": false;
|
|
54
|
+
"isSignal": true;
|
|
55
|
+
};
|
|
56
|
+
"for": {
|
|
57
|
+
"alias": "for";
|
|
58
|
+
"required": false;
|
|
59
|
+
"isSignal": true;
|
|
60
|
+
};
|
|
61
|
+
"hintId": {
|
|
62
|
+
"alias": "hintId";
|
|
63
|
+
"required": false;
|
|
64
|
+
"isSignal": true;
|
|
65
|
+
};
|
|
66
|
+
"errorId": {
|
|
67
|
+
"alias": "errorId";
|
|
68
|
+
"required": false;
|
|
69
|
+
"isSignal": true;
|
|
70
|
+
};
|
|
71
|
+
}, {}, never, ["*"], true, never>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { FileRejection } from "@area8975/ui/file";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class UiFileInputComponent {
|
|
4
|
+
readonly value: import("@angular/core").ModelSignal<File[]>;
|
|
5
|
+
readonly id: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly accept: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
8
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
readonly describedBy: import("@angular/core").InputSignal<string>;
|
|
10
|
+
/** Max size per file in bytes. */
|
|
11
|
+
readonly maxSize: import("@angular/core").InputSignal<number | null>;
|
|
12
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
13
|
+
readonly buttonLabel: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly rejected: import("@angular/core").OutputEmitterRef<FileRejection[]>;
|
|
15
|
+
private readonly picker;
|
|
16
|
+
protected readonly hasRejection: import("@angular/core").WritableSignal<boolean>;
|
|
17
|
+
protected readonly summary: import("@angular/core").Signal<string>;
|
|
18
|
+
protected openPicker(): void;
|
|
19
|
+
protected handlePick(event: Event): void;
|
|
20
|
+
protected clear(event: Event): void;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFileInputComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiFileInputComponent, "ui-file-input", never, {
|
|
23
|
+
"value": {
|
|
24
|
+
"alias": "value";
|
|
25
|
+
"required": false;
|
|
26
|
+
"isSignal": true;
|
|
27
|
+
};
|
|
28
|
+
"id": {
|
|
29
|
+
"alias": "id";
|
|
30
|
+
"required": false;
|
|
31
|
+
"isSignal": true;
|
|
32
|
+
};
|
|
33
|
+
"accept": {
|
|
34
|
+
"alias": "accept";
|
|
35
|
+
"required": false;
|
|
36
|
+
"isSignal": true;
|
|
37
|
+
};
|
|
38
|
+
"multiple": {
|
|
39
|
+
"alias": "multiple";
|
|
40
|
+
"required": false;
|
|
41
|
+
"isSignal": true;
|
|
42
|
+
};
|
|
43
|
+
"disabled": {
|
|
44
|
+
"alias": "disabled";
|
|
45
|
+
"required": false;
|
|
46
|
+
"isSignal": true;
|
|
47
|
+
};
|
|
48
|
+
"describedBy": {
|
|
49
|
+
"alias": "describedBy";
|
|
50
|
+
"required": false;
|
|
51
|
+
"isSignal": true;
|
|
52
|
+
};
|
|
53
|
+
"maxSize": {
|
|
54
|
+
"alias": "maxSize";
|
|
55
|
+
"required": false;
|
|
56
|
+
"isSignal": true;
|
|
57
|
+
};
|
|
58
|
+
"placeholder": {
|
|
59
|
+
"alias": "placeholder";
|
|
60
|
+
"required": false;
|
|
61
|
+
"isSignal": true;
|
|
62
|
+
};
|
|
63
|
+
"buttonLabel": {
|
|
64
|
+
"alias": "buttonLabel";
|
|
65
|
+
"required": false;
|
|
66
|
+
"isSignal": true;
|
|
67
|
+
};
|
|
68
|
+
}, {
|
|
69
|
+
"value": "valueChange";
|
|
70
|
+
"rejected": "rejected";
|
|
71
|
+
}, never, never, true, never>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Why a file was turned away by a file picker. */
|
|
2
|
+
export declare const FileRejectionReasons: readonly ["type", "size"];
|
|
3
|
+
/** @see {@link FileRejectionReasons} */
|
|
4
|
+
export type FileRejectionReason = typeof FileRejectionReasons[number];
|
|
5
|
+
export interface FileRejection {
|
|
6
|
+
file: File;
|
|
7
|
+
reason: FileRejectionReason;
|
|
8
|
+
}
|
|
9
|
+
export interface FileSelection {
|
|
10
|
+
accepted: File[];
|
|
11
|
+
rejected: FileRejection[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Checks a file against a native `accept` string, e.g. ".csv,image/*".
|
|
15
|
+
* Dropped files skip the browser's own accept check, so we do it ourselves.
|
|
16
|
+
*/
|
|
17
|
+
export declare function matchesAccept(file: File, accept: string): boolean;
|
|
18
|
+
/** Splits files into ones that pass the accept and size rules and ones that don't. */
|
|
19
|
+
export declare function selectFiles(files: File[], accept: string, maxSize: number | null): FileSelection;
|
|
20
|
+
/** Human readable size, e.g. 1536 -> "1.5 KB". */
|
|
21
|
+
export declare function formatFileSize(bytes: number): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { InjectionToken, Provider, Signal } from "@angular/core";
|
|
2
|
+
export interface UiFormat {
|
|
3
|
+
/** ISO 4217 code, e.g. "GBP". */
|
|
4
|
+
currency: string;
|
|
5
|
+
/** BCP 47 tag, e.g. "en-GB". */
|
|
6
|
+
locale: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const UI_FORMAT_DEFAULTS: UiFormat;
|
|
9
|
+
export declare const UI_FORMAT: InjectionToken<UiFormat>;
|
|
10
|
+
export declare function provideUiFormat(format: Partial<UiFormat>): Provider;
|
|
11
|
+
export interface MoneyFormatterParts {
|
|
12
|
+
format: (value: number) => string;
|
|
13
|
+
mask: string;
|
|
14
|
+
}
|
|
15
|
+
/** The unmasked formatter and mask behind a formatter from `injectMoneyFormatter`, null for any other function. */
|
|
16
|
+
export declare function moneyFormatterParts(formatter: (value: number) => string): MoneyFormatterParts | null;
|
|
17
|
+
/** Needs an injection context. Reads `UI_PRIVACY` on every call, so a template or computed calling it follows the mode. */
|
|
18
|
+
export declare function injectMoneyFormatter(options?: Intl.NumberFormatOptions): (value: number) => string;
|
|
19
|
+
export declare const UiPrivacies: readonly ["visible", "discreet", "hidden"];
|
|
20
|
+
/** Discreet hides amounts but keeps their shape, hidden hides everything about them. */
|
|
21
|
+
export type UiPrivacy = typeof UiPrivacies[number];
|
|
22
|
+
export declare const UI_PRIVACY: InjectionToken<Signal<"visible" | "discreet" | "hidden">>;
|
|
23
|
+
/** The factory runs in an injection context, so it can return a signal from an app service. */
|
|
24
|
+
export declare function provideUiPrivacy(privacy: () => Signal<UiPrivacy>): Provider;
|
|
25
|
+
/** The fixed mask for private text, e.g. a transaction's description. */
|
|
26
|
+
export declare const PRIVATE_TEXT_MASK = "- - -";
|
|
27
|
+
/** What screen readers hear in place of private text. */
|
|
28
|
+
export declare const PRIVATE_TEXT_LABEL = "text hidden";
|
|
29
|
+
export declare function maskMoney(currency: string, locale: string): string;
|
|
30
|
+
export interface PrivateTextFormatter {
|
|
31
|
+
/** The text, or `PRIVATE_TEXT_MASK`. For visible attributes like `title`. */
|
|
32
|
+
(text: string | null | undefined): string;
|
|
33
|
+
/** The text, or `PRIVATE_TEXT_LABEL`. For `aria-*`, so screen readers don't read out dashes. */
|
|
34
|
+
label: (text: string | null | undefined) => string;
|
|
35
|
+
}
|
|
36
|
+
/** Needs an injection context. Reads `UI_PRIVACY` on every call, so a template or computed calling it follows the mode. */
|
|
37
|
+
export declare function injectPrivateText(): PrivateTextFormatter;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* A static and non-interactable text or symbol that can be combined with
|
|
4
|
+
* a `ui-input` inside of a `ui-input-group`. Example: this could represent
|
|
5
|
+
* a currency symbol or unit of measurement.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UiInputAddonComponent {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputAddonComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputAddonComponent, "ui-input-addon", never, {}, {}, never, ["*"], true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InputValidation, UiInputComponent } from "@area8975/ui/input";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class UiInputGroupComponent {
|
|
4
|
+
readonly inputs: import("@angular/core").Signal<readonly UiInputComponent<any>[]>;
|
|
5
|
+
/** true/false shows valid/invalid styling. null means not validated yet. */
|
|
6
|
+
readonly validationState: import("@angular/core").ModelSignal<InputValidation>;
|
|
7
|
+
constructor();
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputGroupComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputGroupComponent, "ui-input-group", never, {
|
|
10
|
+
"validationState": {
|
|
11
|
+
"alias": "validationState";
|
|
12
|
+
"required": false;
|
|
13
|
+
"isSignal": true;
|
|
14
|
+
};
|
|
15
|
+
}, {
|
|
16
|
+
"validationState": "validationStateChange";
|
|
17
|
+
}, ["inputs"], ["*"], true, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { TemplateRef } from "@angular/core";
|
|
3
|
+
/** Native type values ui-input supports. File/checkbox/radio/range need their own components. */
|
|
4
|
+
export declare const InputTypes: readonly ["text", "email", "tel", "url", "search", "password", "number", "date", "time", "datetime-local", "month", "week", "color"];
|
|
5
|
+
/** @see {@link InputTypes} */
|
|
6
|
+
export type InputType = typeof InputTypes[number];
|
|
7
|
+
/** Native inputmode values, hinting at the virtual keyboard to show. */
|
|
8
|
+
export declare const InputModes: readonly ["none", "text", "decimal", "numeric", "tel", "search", "email", "url"];
|
|
9
|
+
/** @see {@link InputModes} */
|
|
10
|
+
export type InputMode = typeof InputModes[number];
|
|
11
|
+
/** true is valid, false is invalid, null is not yet validated. */
|
|
12
|
+
export type InputValidation = boolean | null;
|
|
13
|
+
/** Native aria-autocomplete values, for inputs that suggest as you type. */
|
|
14
|
+
export declare const InputAriaAutocompletes: readonly ["none", "inline", "list", "both"];
|
|
15
|
+
/** @see {@link InputAriaAutocompletes} */
|
|
16
|
+
export type InputAriaAutocomplete = typeof InputAriaAutocompletes[number];
|
|
17
|
+
/** Native aria-haspopup values, for inputs that open something. */
|
|
18
|
+
export declare const InputAriaHasPopups: readonly ["listbox", "dialog", "grid", "menu", "tree"];
|
|
19
|
+
/** @see {@link InputAriaHasPopups} */
|
|
20
|
+
export type InputAriaHasPopup = typeof InputAriaHasPopups[number];
|
|
21
|
+
export declare class UiInputComponent<ValueType = string> {
|
|
22
|
+
readonly value: import("@angular/core").ModelSignal<ValueType>;
|
|
23
|
+
readonly classes: import("@angular/core").InputSignal<string>;
|
|
24
|
+
readonly type: import("@angular/core").InputSignal<"number" | "text" | "email" | "tel" | "url" | "search" | "password" | "date" | "time" | "datetime-local" | "month" | "week" | "color">;
|
|
25
|
+
readonly id: import("@angular/core").InputSignal<string>;
|
|
26
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
27
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
28
|
+
readonly autocomplete: import("@angular/core").InputSignal<string>;
|
|
29
|
+
readonly inputmode: import("@angular/core").InputSignal<"" | "text" | "email" | "tel" | "url" | "search" | "none" | "decimal" | "numeric">;
|
|
30
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
31
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
32
|
+
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
/** true/false shows valid/invalid styling. null means not validated yet. */
|
|
34
|
+
readonly validationState: import("@angular/core").ModelSignal<InputValidation>;
|
|
35
|
+
readonly min: import("@angular/core").InputSignal<string | number>;
|
|
36
|
+
readonly max: import("@angular/core").InputSignal<string | number>;
|
|
37
|
+
readonly step: import("@angular/core").InputSignal<string | number>;
|
|
38
|
+
readonly pattern: import("@angular/core").InputSignal<string>;
|
|
39
|
+
readonly minlength: import("@angular/core").InputSignal<number | null>;
|
|
40
|
+
readonly maxlength: import("@angular/core").InputSignal<number | null>;
|
|
41
|
+
readonly autofocus: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
|
+
readonly spellcheck: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
|
+
/** With `type="password"`, adds a button to show and hide what's been typed. */
|
|
44
|
+
readonly revealable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
|
+
readonly list: import("@angular/core").InputSignal<string>;
|
|
46
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
47
|
+
readonly describedBy: import("@angular/core").InputSignal<string>;
|
|
48
|
+
readonly inputRole: import("@angular/core").InputSignal<string>;
|
|
49
|
+
readonly ariaExpanded: import("@angular/core").InputSignal<boolean | null>;
|
|
50
|
+
readonly ariaControls: import("@angular/core").InputSignal<string>;
|
|
51
|
+
readonly ariaActiveDescendant: import("@angular/core").InputSignal<string | null>;
|
|
52
|
+
readonly ariaAutocomplete: import("@angular/core").InputSignal<"" | "none" | "inline" | "list" | "both">;
|
|
53
|
+
readonly ariaHasPopup: import("@angular/core").InputSignal<"" | "listbox" | "dialog" | "grid" | "menu" | "tree">;
|
|
54
|
+
readonly focused: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
55
|
+
readonly blurred: import("@angular/core").OutputEmitterRef<FocusEvent>;
|
|
56
|
+
readonly leadingElement: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
|
|
57
|
+
readonly trailingElement: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
|
|
58
|
+
protected readonly revealed: import("@angular/core").WritableSignal<boolean>;
|
|
59
|
+
protected readonly canReveal: import("@angular/core").Signal<boolean>;
|
|
60
|
+
protected readonly shownType: import("@angular/core").Signal<"number" | "text" | "email" | "tel" | "url" | "search" | "password" | "date" | "time" | "datetime-local" | "month" | "week" | "color">;
|
|
61
|
+
readonly generatedClasses: import("@angular/core").Signal<string>;
|
|
62
|
+
protected handleInput(event: Event): void;
|
|
63
|
+
protected handleFocus(event: FocusEvent): void;
|
|
64
|
+
protected handleBlur(event: FocusEvent): void;
|
|
65
|
+
private parseValue;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputComponent<any>, never>;
|
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputComponent<any>, "ui-input", never, {
|
|
68
|
+
"value": {
|
|
69
|
+
"alias": "value";
|
|
70
|
+
"required": true;
|
|
71
|
+
"isSignal": true;
|
|
72
|
+
};
|
|
73
|
+
"classes": {
|
|
74
|
+
"alias": "classes";
|
|
75
|
+
"required": false;
|
|
76
|
+
"isSignal": true;
|
|
77
|
+
};
|
|
78
|
+
"type": {
|
|
79
|
+
"alias": "type";
|
|
80
|
+
"required": false;
|
|
81
|
+
"isSignal": true;
|
|
82
|
+
};
|
|
83
|
+
"id": {
|
|
84
|
+
"alias": "id";
|
|
85
|
+
"required": false;
|
|
86
|
+
"isSignal": true;
|
|
87
|
+
};
|
|
88
|
+
"name": {
|
|
89
|
+
"alias": "name";
|
|
90
|
+
"required": false;
|
|
91
|
+
"isSignal": true;
|
|
92
|
+
};
|
|
93
|
+
"placeholder": {
|
|
94
|
+
"alias": "placeholder";
|
|
95
|
+
"required": false;
|
|
96
|
+
"isSignal": true;
|
|
97
|
+
};
|
|
98
|
+
"autocomplete": {
|
|
99
|
+
"alias": "autocomplete";
|
|
100
|
+
"required": false;
|
|
101
|
+
"isSignal": true;
|
|
102
|
+
};
|
|
103
|
+
"inputmode": {
|
|
104
|
+
"alias": "inputmode";
|
|
105
|
+
"required": false;
|
|
106
|
+
"isSignal": true;
|
|
107
|
+
};
|
|
108
|
+
"required": {
|
|
109
|
+
"alias": "required";
|
|
110
|
+
"required": false;
|
|
111
|
+
"isSignal": true;
|
|
112
|
+
};
|
|
113
|
+
"disabled": {
|
|
114
|
+
"alias": "disabled";
|
|
115
|
+
"required": false;
|
|
116
|
+
"isSignal": true;
|
|
117
|
+
};
|
|
118
|
+
"readonly": {
|
|
119
|
+
"alias": "readonly";
|
|
120
|
+
"required": false;
|
|
121
|
+
"isSignal": true;
|
|
122
|
+
};
|
|
123
|
+
"validationState": {
|
|
124
|
+
"alias": "validationState";
|
|
125
|
+
"required": false;
|
|
126
|
+
"isSignal": true;
|
|
127
|
+
};
|
|
128
|
+
"min": {
|
|
129
|
+
"alias": "min";
|
|
130
|
+
"required": false;
|
|
131
|
+
"isSignal": true;
|
|
132
|
+
};
|
|
133
|
+
"max": {
|
|
134
|
+
"alias": "max";
|
|
135
|
+
"required": false;
|
|
136
|
+
"isSignal": true;
|
|
137
|
+
};
|
|
138
|
+
"step": {
|
|
139
|
+
"alias": "step";
|
|
140
|
+
"required": false;
|
|
141
|
+
"isSignal": true;
|
|
142
|
+
};
|
|
143
|
+
"pattern": {
|
|
144
|
+
"alias": "pattern";
|
|
145
|
+
"required": false;
|
|
146
|
+
"isSignal": true;
|
|
147
|
+
};
|
|
148
|
+
"minlength": {
|
|
149
|
+
"alias": "minlength";
|
|
150
|
+
"required": false;
|
|
151
|
+
"isSignal": true;
|
|
152
|
+
};
|
|
153
|
+
"maxlength": {
|
|
154
|
+
"alias": "maxlength";
|
|
155
|
+
"required": false;
|
|
156
|
+
"isSignal": true;
|
|
157
|
+
};
|
|
158
|
+
"autofocus": {
|
|
159
|
+
"alias": "autofocus";
|
|
160
|
+
"required": false;
|
|
161
|
+
"isSignal": true;
|
|
162
|
+
};
|
|
163
|
+
"spellcheck": {
|
|
164
|
+
"alias": "spellcheck";
|
|
165
|
+
"required": false;
|
|
166
|
+
"isSignal": true;
|
|
167
|
+
};
|
|
168
|
+
"revealable": {
|
|
169
|
+
"alias": "revealable";
|
|
170
|
+
"required": false;
|
|
171
|
+
"isSignal": true;
|
|
172
|
+
};
|
|
173
|
+
"list": {
|
|
174
|
+
"alias": "list";
|
|
175
|
+
"required": false;
|
|
176
|
+
"isSignal": true;
|
|
177
|
+
};
|
|
178
|
+
"ariaLabel": {
|
|
179
|
+
"alias": "ariaLabel";
|
|
180
|
+
"required": false;
|
|
181
|
+
"isSignal": true;
|
|
182
|
+
};
|
|
183
|
+
"describedBy": {
|
|
184
|
+
"alias": "describedBy";
|
|
185
|
+
"required": false;
|
|
186
|
+
"isSignal": true;
|
|
187
|
+
};
|
|
188
|
+
"inputRole": {
|
|
189
|
+
"alias": "inputRole";
|
|
190
|
+
"required": false;
|
|
191
|
+
"isSignal": true;
|
|
192
|
+
};
|
|
193
|
+
"ariaExpanded": {
|
|
194
|
+
"alias": "ariaExpanded";
|
|
195
|
+
"required": false;
|
|
196
|
+
"isSignal": true;
|
|
197
|
+
};
|
|
198
|
+
"ariaControls": {
|
|
199
|
+
"alias": "ariaControls";
|
|
200
|
+
"required": false;
|
|
201
|
+
"isSignal": true;
|
|
202
|
+
};
|
|
203
|
+
"ariaActiveDescendant": {
|
|
204
|
+
"alias": "ariaActiveDescendant";
|
|
205
|
+
"required": false;
|
|
206
|
+
"isSignal": true;
|
|
207
|
+
};
|
|
208
|
+
"ariaAutocomplete": {
|
|
209
|
+
"alias": "ariaAutocomplete";
|
|
210
|
+
"required": false;
|
|
211
|
+
"isSignal": true;
|
|
212
|
+
};
|
|
213
|
+
"ariaHasPopup": {
|
|
214
|
+
"alias": "ariaHasPopup";
|
|
215
|
+
"required": false;
|
|
216
|
+
"isSignal": true;
|
|
217
|
+
};
|
|
218
|
+
}, {
|
|
219
|
+
"value": "valueChange";
|
|
220
|
+
"validationState": "validationStateChange";
|
|
221
|
+
"focused": "focused";
|
|
222
|
+
"blurred": "blurred";
|
|
223
|
+
}, ["leadingElement", "trailingElement"], never, true, never>;
|
|
224
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class UiKpiComponent {
|
|
3
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
4
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
5
|
+
readonly hint: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly icon: import("@angular/core").InputSignal<keyof import("@ng-icons/core").NgIconNameMap | undefined>;
|
|
7
|
+
readonly iconPosition: import("@angular/core").InputSignal<"left" | "right">;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiKpiComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiKpiComponent, "ui-kpi", never, {
|
|
10
|
+
"label": {
|
|
11
|
+
"alias": "label";
|
|
12
|
+
"required": false;
|
|
13
|
+
"isSignal": true;
|
|
14
|
+
};
|
|
15
|
+
"value": {
|
|
16
|
+
"alias": "value";
|
|
17
|
+
"required": false;
|
|
18
|
+
"isSignal": true;
|
|
19
|
+
};
|
|
20
|
+
"hint": {
|
|
21
|
+
"alias": "hint";
|
|
22
|
+
"required": false;
|
|
23
|
+
"isSignal": true;
|
|
24
|
+
};
|
|
25
|
+
"icon": {
|
|
26
|
+
"alias": "icon";
|
|
27
|
+
"required": false;
|
|
28
|
+
"isSignal": true;
|
|
29
|
+
};
|
|
30
|
+
"iconPosition": {
|
|
31
|
+
"alias": "iconPosition";
|
|
32
|
+
"required": false;
|
|
33
|
+
"isSignal": true;
|
|
34
|
+
};
|
|
35
|
+
}, {}, never, ["[kpi-value]", "[kpi-badge]"], true, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { TemplateRef } from "@angular/core";
|
|
3
|
+
export declare class UiLayoutComponent {
|
|
4
|
+
readonly sidebar: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiLayoutComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiLayoutComponent, "ui-layout", never, {}, {}, ["sidebar"], ["*"], true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class UiLoadingComponent {
|
|
3
|
+
readonly type: import("@angular/core").InputSignal<"spinner" | "throbber" | "pulse-ring" | "pulse-dot" | "wave" | "equaliser" | "terminal" | "blinking-caret" | "shimmer-text" | "loading-dots" | "bouncing-dots" | "fading-dots">;
|
|
4
|
+
protected readonly hasText: import("@angular/core").Signal<boolean>;
|
|
5
|
+
protected readonly throbberSpokes: number[];
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiLoadingComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiLoadingComponent, "ui-loading", never, {
|
|
8
|
+
"type": {
|
|
9
|
+
"alias": "type";
|
|
10
|
+
"required": false;
|
|
11
|
+
"isSignal": true;
|
|
12
|
+
};
|
|
13
|
+
}, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
15
|
+
export declare const UI_LOADING_TYPES: ["spinner", "throbber", "pulse-ring", "pulse-dot", "wave", "equaliser", "terminal", "blinking-caret", "shimmer-text", "loading-dots", "bouncing-dots", "fading-dots"];
|
|
16
|
+
export type UiLoadingType = typeof UI_LOADING_TYPES[number];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class UiModalCloseButtonComponent {
|
|
3
|
+
readonly isOpen: import("@angular/core").ModelSignal<boolean>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiModalCloseButtonComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiModalCloseButtonComponent, "ui-modal-close-btn", never, {
|
|
6
|
+
"isOpen": {
|
|
7
|
+
"alias": "isOpen";
|
|
8
|
+
"required": true;
|
|
9
|
+
"isSignal": true;
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
"isOpen": "isOpenChange";
|
|
13
|
+
}, never, never, true, never>;
|
|
14
|
+
}
|