@maro-tech/form 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/maro-tech-form.mjs +2304 -2311
- package/fesm2022/maro-tech-form.mjs.map +1 -1
- package/package.json +1 -1
- package/types/maro-tech-form.d.ts +130 -129
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { OnChanges, EventEmitter, ElementRef, SimpleChanges, InjectionToken, OnInit, OnDestroy, Type, AfterViewInit } from '@angular/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { UiSelectOption as UiSelectOption$1 } from '@forms/inputs/select/ui-select.component';
|
|
5
|
-
import { UiFormContext as UiFormContext$1 } from '@forms/context/form-context.service';
|
|
6
|
-
import { UiDynamicFormFieldAction as UiDynamicFormFieldAction$1, UiDynamicFormField as UiDynamicFormField$1, UiDynamicFormValue as UiDynamicFormValue$1 } from '@forms/dynamic/ui-dynamic-form.models';
|
|
7
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
8
|
-
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
9
4
|
import * as lucide_angular from 'lucide-angular';
|
|
5
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
10
6
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
7
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
11
8
|
|
|
12
9
|
type UiFormValue = Record<string, unknown>;
|
|
13
10
|
type UiFormErrors = Record<string, string>;
|
|
@@ -36,8 +33,98 @@ declare class MaroFormsApiService {
|
|
|
36
33
|
static ɵprov: i0.ɵɵInjectableDeclaration<MaroFormsApiService>;
|
|
37
34
|
}
|
|
38
35
|
|
|
36
|
+
interface UiSelectOption {
|
|
37
|
+
label: string;
|
|
38
|
+
value: string | null;
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
imageUrl?: string;
|
|
41
|
+
}
|
|
42
|
+
type UiSelectValue = string | string[] | null;
|
|
43
|
+
declare class UiSelectComponent implements ControlValueAccessor, OnChanges {
|
|
44
|
+
readonly closeIcon: lucide_angular.LucideIconData;
|
|
45
|
+
readonly chevronDownIcon: lucide_angular.LucideIconData;
|
|
46
|
+
readonly checkIcon: lucide_angular.LucideIconData;
|
|
47
|
+
private static openInstance;
|
|
48
|
+
private readonly cdr;
|
|
49
|
+
private readonly destroyRef;
|
|
50
|
+
private readonly http;
|
|
51
|
+
label?: string;
|
|
52
|
+
placeholder?: string;
|
|
53
|
+
name?: string;
|
|
54
|
+
data?: string;
|
|
55
|
+
required: boolean;
|
|
56
|
+
fullWidth: boolean;
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
multiple: boolean;
|
|
59
|
+
includeBlankOption: boolean;
|
|
60
|
+
blankOptionLabel: string;
|
|
61
|
+
emptyStateLabel: string;
|
|
62
|
+
searchable: boolean;
|
|
63
|
+
remoteSearch: boolean;
|
|
64
|
+
searchPlaceholder: string;
|
|
65
|
+
private _options;
|
|
66
|
+
set options(value: UiSelectOption[]);
|
|
67
|
+
get options(): UiSelectOption[];
|
|
68
|
+
error?: string;
|
|
69
|
+
hint?: string;
|
|
70
|
+
triggerClass: string;
|
|
71
|
+
panelClass: string;
|
|
72
|
+
valueChange: EventEmitter<UiSelectValue>;
|
|
73
|
+
searchChange: EventEmitter<string>;
|
|
74
|
+
dropdownTrigger?: ElementRef<HTMLButtonElement>;
|
|
75
|
+
readonly dropdownPositions: ConnectedPosition[];
|
|
76
|
+
isOpen: boolean;
|
|
77
|
+
triggerWidth: number;
|
|
78
|
+
value: string | null;
|
|
79
|
+
multiValue: string[];
|
|
80
|
+
selectedOptions: UiSelectOption[];
|
|
81
|
+
searchTerm: string;
|
|
82
|
+
isDictionaryLoading: boolean;
|
|
83
|
+
private readonly searchChanges$;
|
|
84
|
+
private readonly dictionaryRequestVersions;
|
|
85
|
+
private dictionaryOptions;
|
|
86
|
+
private onChange;
|
|
87
|
+
onTouched: () => void;
|
|
88
|
+
constructor();
|
|
89
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
90
|
+
writeValue(value: UiSelectValue): void;
|
|
91
|
+
registerOnChange(fn: (value: UiSelectValue) => void): void;
|
|
92
|
+
registerOnTouched(fn: () => void): void;
|
|
93
|
+
setDisabledState(isDisabled: boolean): void;
|
|
94
|
+
toggleDropdown(event: Event): void;
|
|
95
|
+
selectOption(option: UiSelectOption, event: Event): void;
|
|
96
|
+
markTouched(): void;
|
|
97
|
+
closeDropdown(): void;
|
|
98
|
+
get displayLabel(): string;
|
|
99
|
+
isSelected(option: UiSelectOption): boolean;
|
|
100
|
+
getOptionValue(option: UiSelectOption): string;
|
|
101
|
+
trackOption(index: number, option: UiSelectOption): string;
|
|
102
|
+
get visibleOptions(): UiSelectOption[];
|
|
103
|
+
onSearchChange(value: string): void;
|
|
104
|
+
removeOption(option: UiSelectOption, event: Event): void;
|
|
105
|
+
private updateSelectionFromValue;
|
|
106
|
+
private getRenderOptions;
|
|
107
|
+
private mergeOptions;
|
|
108
|
+
private isBlankOption;
|
|
109
|
+
private getDictionaryName;
|
|
110
|
+
private reloadDictionaryOptions;
|
|
111
|
+
private loadDictionaryOptions;
|
|
112
|
+
private ensureSelectedDictionaryOptionsLoaded;
|
|
113
|
+
private normalizeSuggestItems;
|
|
114
|
+
private normalizeSuggestItem;
|
|
115
|
+
private loadSuggestItems;
|
|
116
|
+
private loadSuggestItem;
|
|
117
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectComponent, never>;
|
|
118
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiSelectComponent, "forms-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "data": { "alias": "data"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "includeBlankOption": { "alias": "includeBlankOption"; "required": false; }; "blankOptionLabel": { "alias": "blankOptionLabel"; "required": false; }; "emptyStateLabel": { "alias": "emptyStateLabel"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "remoteSearch": { "alias": "remoteSearch"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "error": { "alias": "error"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "triggerClass": { "alias": "triggerClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "valueChange": "valueChange"; "searchChange": "searchChange"; }, never, never, true, never>;
|
|
119
|
+
static ngAcceptInputType_multiple: unknown;
|
|
120
|
+
}
|
|
121
|
+
|
|
39
122
|
type ApiPluginMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
40
|
-
|
|
123
|
+
declare const ACTION_PRINT: "ACTION_PRINT";
|
|
124
|
+
declare const ACTION_FORM: "ACTION_FORM";
|
|
125
|
+
declare const ACTION_API: "ACTION_API";
|
|
126
|
+
declare const ACTION_SUBMIT: "ACTION_SUBMIT";
|
|
127
|
+
type ActionType = typeof ACTION_PRINT | typeof ACTION_FORM | typeof ACTION_API | typeof ACTION_SUBMIT;
|
|
41
128
|
type UiDynamicFieldType = 'text' | 'number' | 'date' | 'datetime' | 'email' | 'password' | 'textarea' | 'select' | 'barcode' | 'checkbox' | 'color' | 'range' | 'slug' | 'file' | 'photo' | 'container' | 'template';
|
|
42
129
|
interface UiDynamicFormFieldAction {
|
|
43
130
|
id: string;
|
|
@@ -67,7 +154,7 @@ interface UiDynamicFormBaseField {
|
|
|
67
154
|
readonly?: boolean;
|
|
68
155
|
data?: string;
|
|
69
156
|
optionsSource?: string;
|
|
70
|
-
options?: UiSelectOption
|
|
157
|
+
options?: UiSelectOption[];
|
|
71
158
|
searchable?: boolean;
|
|
72
159
|
rows?: number;
|
|
73
160
|
fullWidth?: boolean;
|
|
@@ -129,14 +216,14 @@ interface UiDynamicFormOptionsSourceContext {
|
|
|
129
216
|
}
|
|
130
217
|
interface UiDynamicFormOptionsSourceResolver {
|
|
131
218
|
source: string;
|
|
132
|
-
resolve(context: UiDynamicFormOptionsSourceContext): Observable<UiSelectOption
|
|
219
|
+
resolve(context: UiDynamicFormOptionsSourceContext): Observable<UiSelectOption[]>;
|
|
133
220
|
}
|
|
134
221
|
declare const UI_DYNAMIC_FORM_OPTIONS_SOURCE_RESOLVERS: InjectionToken<UiDynamicFormOptionsSourceResolver[]>;
|
|
135
222
|
|
|
136
223
|
declare class UiDynamicFormComponent implements OnInit, OnChanges, OnDestroy {
|
|
137
224
|
private readonly formsApi;
|
|
138
225
|
private readonly lookupService;
|
|
139
|
-
readonly formContext: UiFormContext
|
|
226
|
+
readonly formContext: UiFormContext;
|
|
140
227
|
private readonly optionsSourceResolvers;
|
|
141
228
|
fields: UiDynamicFormField[];
|
|
142
229
|
value: UiDynamicFormValue;
|
|
@@ -163,7 +250,7 @@ declare class UiDynamicFormComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
163
250
|
action: UiDynamicFormFieldAction;
|
|
164
251
|
}>;
|
|
165
252
|
readonly modelSignal: i0.WritableSignal<UiDynamicFormValue>;
|
|
166
|
-
readonly dictionaryOptionsSignal: i0.WritableSignal<Record<string, UiSelectOption
|
|
253
|
+
readonly dictionaryOptionsSignal: i0.WritableSignal<Record<string, UiSelectOption[]>>;
|
|
167
254
|
readonly lookupLoadingSignal: i0.WritableSignal<Record<string, boolean>>;
|
|
168
255
|
readonly lookupErrorsSignal: i0.WritableSignal<Record<string, string>>;
|
|
169
256
|
private readonly selectSearchChanges;
|
|
@@ -194,7 +281,7 @@ declare class UiDynamicFormComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
194
281
|
isTemplateField(field: UiDynamicFormField): boolean;
|
|
195
282
|
isFieldVisible(field: UiDynamicFormField): boolean;
|
|
196
283
|
resolveInputType(field: UiDynamicFormField): string;
|
|
197
|
-
resolveSelectOptions(field: UiDynamicFormField): UiSelectOption
|
|
284
|
+
resolveSelectOptions(field: UiDynamicFormField): UiSelectOption[];
|
|
198
285
|
renderTemplate(field: UiDynamicFormField): string;
|
|
199
286
|
getContainerTag(field: UiDynamicFormField): 'div' | 'section' | 'aside' | 'fieldset';
|
|
200
287
|
getContainerClass(field: UiDynamicFormField): string;
|
|
@@ -213,7 +300,7 @@ declare class UiDynamicFormComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
213
300
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiDynamicFormComponent, "forms-dynamic-form", never, { "fields": { "alias": "fields"; "required": false; }; "value": { "alias": "value"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; "submitLabel": { "alias": "submitLabel"; "required": false; }; "showSubmit": { "alias": "showSubmit"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "uploadPhoto": { "alias": "uploadPhoto"; "required": false; }; }, { "valueChange": "valueChange"; "lookupCompleted": "lookupCompleted"; "submitted": "submitted"; "filesChange": "filesChange"; "uploadingChange": "uploadingChange"; "fieldActionTriggered": "fieldActionTriggered"; }, never, never, true, never>;
|
|
214
301
|
}
|
|
215
302
|
|
|
216
|
-
interface MaroFormViewAction extends UiDynamicFormFieldAction
|
|
303
|
+
interface MaroFormViewAction extends UiDynamicFormFieldAction {
|
|
217
304
|
redirectTo?: string;
|
|
218
305
|
}
|
|
219
306
|
interface MaroFormViewResponse {
|
|
@@ -221,7 +308,7 @@ interface MaroFormViewResponse {
|
|
|
221
308
|
api?: string;
|
|
222
309
|
defaults?: Record<string, unknown>;
|
|
223
310
|
redirectTo?: string;
|
|
224
|
-
fields: UiDynamicFormField
|
|
311
|
+
fields: UiDynamicFormField[];
|
|
225
312
|
actions?: MaroFormViewAction[];
|
|
226
313
|
item?: Record<string, unknown> | null;
|
|
227
314
|
}
|
|
@@ -238,18 +325,18 @@ declare class UiActionFormModalComponent implements OnChanges {
|
|
|
238
325
|
readonly isLoading: i0.WritableSignal<boolean>;
|
|
239
326
|
readonly isSubmitting: i0.WritableSignal<boolean>;
|
|
240
327
|
readonly formConfig: i0.WritableSignal<MaroFormViewResponse | null>;
|
|
241
|
-
readonly formValue: i0.WritableSignal<UiDynamicFormValue
|
|
242
|
-
readonly fields: i0.Signal<UiDynamicFormField
|
|
328
|
+
readonly formValue: i0.WritableSignal<UiDynamicFormValue>;
|
|
329
|
+
readonly fields: i0.Signal<UiDynamicFormField[]>;
|
|
243
330
|
readonly submitAction: i0.Signal<MaroFormViewAction | undefined>;
|
|
244
331
|
readonly submitLabel: i0.Signal<string | true>;
|
|
245
332
|
private readonly http;
|
|
246
333
|
private readonly router;
|
|
247
334
|
ngOnChanges(changes: SimpleChanges): void;
|
|
248
335
|
close(): void;
|
|
249
|
-
onValueChange(value: UiDynamicFormValue
|
|
336
|
+
onValueChange(value: UiDynamicFormValue): void;
|
|
250
337
|
onFieldActionTriggered(event: {
|
|
251
338
|
fieldId: string;
|
|
252
|
-
action: UiDynamicFormFieldAction
|
|
339
|
+
action: UiDynamicFormFieldAction;
|
|
253
340
|
}): void;
|
|
254
341
|
confirm(): void;
|
|
255
342
|
private loadForm;
|
|
@@ -390,12 +477,12 @@ declare class UiDateInputComponent implements ControlValueAccessor {
|
|
|
390
477
|
readonly: boolean;
|
|
391
478
|
pattern?: string;
|
|
392
479
|
error?: string;
|
|
393
|
-
actions: UiDynamicFormFieldAction
|
|
480
|
+
actions: UiDynamicFormFieldAction[];
|
|
394
481
|
disabled: boolean;
|
|
395
482
|
value: string | number | null;
|
|
396
483
|
private static nextId;
|
|
397
484
|
private readonly generatedId;
|
|
398
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
485
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
399
486
|
get controlId(): string;
|
|
400
487
|
private onChange;
|
|
401
488
|
onTouched: () => void;
|
|
@@ -404,7 +491,7 @@ declare class UiDateInputComponent implements ControlValueAccessor {
|
|
|
404
491
|
registerOnTouched(fn: () => void): void;
|
|
405
492
|
setDisabledState(isDisabled: boolean): void;
|
|
406
493
|
onValueChange(value: string): void;
|
|
407
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
494
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
408
495
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiDateInputComponent, never>;
|
|
409
496
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiDateInputComponent, "forms-date-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
410
497
|
}
|
|
@@ -426,12 +513,12 @@ declare class UiDatetimeInputComponent implements ControlValueAccessor {
|
|
|
426
513
|
readonly: boolean;
|
|
427
514
|
pattern?: string;
|
|
428
515
|
error?: string;
|
|
429
|
-
actions: UiDynamicFormFieldAction
|
|
516
|
+
actions: UiDynamicFormFieldAction[];
|
|
430
517
|
disabled: boolean;
|
|
431
518
|
value: string | number | null;
|
|
432
519
|
private static nextId;
|
|
433
520
|
private readonly generatedId;
|
|
434
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
521
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
435
522
|
get controlId(): string;
|
|
436
523
|
private onChange;
|
|
437
524
|
onTouched: () => void;
|
|
@@ -440,7 +527,7 @@ declare class UiDatetimeInputComponent implements ControlValueAccessor {
|
|
|
440
527
|
registerOnTouched(fn: () => void): void;
|
|
441
528
|
setDisabledState(isDisabled: boolean): void;
|
|
442
529
|
onValueChange(value: string): void;
|
|
443
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
530
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
444
531
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiDatetimeInputComponent, never>;
|
|
445
532
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiDatetimeInputComponent, "forms-datetime-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
446
533
|
}
|
|
@@ -462,12 +549,12 @@ declare class UiEmailInputComponent implements ControlValueAccessor {
|
|
|
462
549
|
readonly: boolean;
|
|
463
550
|
pattern?: string;
|
|
464
551
|
error?: string;
|
|
465
|
-
actions: UiDynamicFormFieldAction
|
|
552
|
+
actions: UiDynamicFormFieldAction[];
|
|
466
553
|
disabled: boolean;
|
|
467
554
|
value: string | number | null;
|
|
468
555
|
private static nextId;
|
|
469
556
|
private readonly generatedId;
|
|
470
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
557
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
471
558
|
get controlId(): string;
|
|
472
559
|
private onChange;
|
|
473
560
|
onTouched: () => void;
|
|
@@ -476,7 +563,7 @@ declare class UiEmailInputComponent implements ControlValueAccessor {
|
|
|
476
563
|
registerOnTouched(fn: () => void): void;
|
|
477
564
|
setDisabledState(isDisabled: boolean): void;
|
|
478
565
|
onValueChange(value: string): void;
|
|
479
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
566
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
480
567
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiEmailInputComponent, never>;
|
|
481
568
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiEmailInputComponent, "forms-email-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
482
569
|
}
|
|
@@ -514,12 +601,12 @@ declare class UiInputComponent implements ControlValueAccessor {
|
|
|
514
601
|
readonly: boolean;
|
|
515
602
|
pattern?: string;
|
|
516
603
|
error?: string;
|
|
517
|
-
actions: UiDynamicFormFieldAction
|
|
604
|
+
actions: UiDynamicFormFieldAction[];
|
|
518
605
|
disabled: boolean;
|
|
519
606
|
value: string | number | null;
|
|
520
607
|
private static nextId;
|
|
521
608
|
private readonly generatedId;
|
|
522
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
609
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
523
610
|
get controlId(): string;
|
|
524
611
|
private onChange;
|
|
525
612
|
onTouched: () => void;
|
|
@@ -528,7 +615,7 @@ declare class UiInputComponent implements ControlValueAccessor {
|
|
|
528
615
|
registerOnTouched(fn: () => void): void;
|
|
529
616
|
setDisabledState(isDisabled: boolean): void;
|
|
530
617
|
onValueChange(value: string): void;
|
|
531
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
618
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
532
619
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputComponent, never>;
|
|
533
620
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputComponent, "forms-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "element": { "alias": "element"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
534
621
|
}
|
|
@@ -551,11 +638,11 @@ declare class UiNumberInputComponent implements ControlValueAccessor {
|
|
|
551
638
|
disabled: boolean;
|
|
552
639
|
pattern?: string;
|
|
553
640
|
error?: string;
|
|
554
|
-
actions: UiDynamicFormFieldAction
|
|
641
|
+
actions: UiDynamicFormFieldAction[];
|
|
555
642
|
value: string | number | null;
|
|
556
643
|
private static nextId;
|
|
557
644
|
private readonly generatedId;
|
|
558
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
645
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
559
646
|
get controlId(): string;
|
|
560
647
|
private onChange;
|
|
561
648
|
onTouched: () => void;
|
|
@@ -564,7 +651,7 @@ declare class UiNumberInputComponent implements ControlValueAccessor {
|
|
|
564
651
|
registerOnTouched(fn: () => void): void;
|
|
565
652
|
setDisabledState(isDisabled: boolean): void;
|
|
566
653
|
onValueChange(value: string): void;
|
|
567
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
654
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
568
655
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiNumberInputComponent, never>;
|
|
569
656
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiNumberInputComponent, "forms-number-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
570
657
|
}
|
|
@@ -586,12 +673,12 @@ declare class UiPasswordInputComponent implements ControlValueAccessor {
|
|
|
586
673
|
readonly: boolean;
|
|
587
674
|
pattern?: string;
|
|
588
675
|
error?: string;
|
|
589
|
-
actions: UiDynamicFormFieldAction
|
|
676
|
+
actions: UiDynamicFormFieldAction[];
|
|
590
677
|
disabled: boolean;
|
|
591
678
|
value: string | number | null;
|
|
592
679
|
private static nextId;
|
|
593
680
|
private readonly generatedId;
|
|
594
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
681
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
595
682
|
get controlId(): string;
|
|
596
683
|
private onChange;
|
|
597
684
|
onTouched: () => void;
|
|
@@ -600,7 +687,7 @@ declare class UiPasswordInputComponent implements ControlValueAccessor {
|
|
|
600
687
|
registerOnTouched(fn: () => void): void;
|
|
601
688
|
setDisabledState(isDisabled: boolean): void;
|
|
602
689
|
onValueChange(value: string): void;
|
|
603
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
690
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
604
691
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiPasswordInputComponent, never>;
|
|
605
692
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiPasswordInputComponent, "forms-password-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
606
693
|
}
|
|
@@ -718,92 +805,6 @@ declare class UiRangeSliderComponent implements OnChanges, AfterViewInit {
|
|
|
718
805
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiRangeSliderComponent, "forms-range-slider", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "startValue": { "alias": "startValue"; "required": false; }; "endValue": { "alias": "endValue"; "required": false; }; "startLabel": { "alias": "startLabel"; "required": false; }; "endLabel": { "alias": "endLabel"; "required": false; }; }, { "startValueChange": "startValueChange"; "endValueChange": "endValueChange"; "interactionEnd": "interactionEnd"; }, never, never, true, never>;
|
|
719
806
|
}
|
|
720
807
|
|
|
721
|
-
interface UiSelectOption {
|
|
722
|
-
label: string;
|
|
723
|
-
value: string | null;
|
|
724
|
-
disabled?: boolean;
|
|
725
|
-
imageUrl?: string;
|
|
726
|
-
}
|
|
727
|
-
type UiSelectValue = string | string[] | null;
|
|
728
|
-
declare class UiSelectComponent implements ControlValueAccessor, OnChanges {
|
|
729
|
-
readonly closeIcon: lucide_angular.LucideIconData;
|
|
730
|
-
readonly chevronDownIcon: lucide_angular.LucideIconData;
|
|
731
|
-
readonly checkIcon: lucide_angular.LucideIconData;
|
|
732
|
-
private static openInstance;
|
|
733
|
-
private readonly cdr;
|
|
734
|
-
private readonly destroyRef;
|
|
735
|
-
private readonly http;
|
|
736
|
-
label?: string;
|
|
737
|
-
placeholder?: string;
|
|
738
|
-
name?: string;
|
|
739
|
-
data?: string;
|
|
740
|
-
required: boolean;
|
|
741
|
-
fullWidth: boolean;
|
|
742
|
-
disabled: boolean;
|
|
743
|
-
multiple: boolean;
|
|
744
|
-
includeBlankOption: boolean;
|
|
745
|
-
blankOptionLabel: string;
|
|
746
|
-
emptyStateLabel: string;
|
|
747
|
-
searchable: boolean;
|
|
748
|
-
remoteSearch: boolean;
|
|
749
|
-
searchPlaceholder: string;
|
|
750
|
-
private _options;
|
|
751
|
-
set options(value: UiSelectOption[]);
|
|
752
|
-
get options(): UiSelectOption[];
|
|
753
|
-
error?: string;
|
|
754
|
-
hint?: string;
|
|
755
|
-
triggerClass: string;
|
|
756
|
-
panelClass: string;
|
|
757
|
-
valueChange: EventEmitter<UiSelectValue>;
|
|
758
|
-
searchChange: EventEmitter<string>;
|
|
759
|
-
dropdownTrigger?: ElementRef<HTMLButtonElement>;
|
|
760
|
-
readonly dropdownPositions: ConnectedPosition[];
|
|
761
|
-
isOpen: boolean;
|
|
762
|
-
triggerWidth: number;
|
|
763
|
-
value: string | null;
|
|
764
|
-
multiValue: string[];
|
|
765
|
-
selectedOptions: UiSelectOption[];
|
|
766
|
-
searchTerm: string;
|
|
767
|
-
isDictionaryLoading: boolean;
|
|
768
|
-
private readonly searchChanges$;
|
|
769
|
-
private readonly dictionaryRequestVersions;
|
|
770
|
-
private dictionaryOptions;
|
|
771
|
-
private onChange;
|
|
772
|
-
onTouched: () => void;
|
|
773
|
-
constructor();
|
|
774
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
775
|
-
writeValue(value: UiSelectValue): void;
|
|
776
|
-
registerOnChange(fn: (value: UiSelectValue) => void): void;
|
|
777
|
-
registerOnTouched(fn: () => void): void;
|
|
778
|
-
setDisabledState(isDisabled: boolean): void;
|
|
779
|
-
toggleDropdown(event: Event): void;
|
|
780
|
-
selectOption(option: UiSelectOption, event: Event): void;
|
|
781
|
-
markTouched(): void;
|
|
782
|
-
closeDropdown(): void;
|
|
783
|
-
get displayLabel(): string;
|
|
784
|
-
isSelected(option: UiSelectOption): boolean;
|
|
785
|
-
getOptionValue(option: UiSelectOption): string;
|
|
786
|
-
trackOption(index: number, option: UiSelectOption): string;
|
|
787
|
-
get visibleOptions(): UiSelectOption[];
|
|
788
|
-
onSearchChange(value: string): void;
|
|
789
|
-
removeOption(option: UiSelectOption, event: Event): void;
|
|
790
|
-
private updateSelectionFromValue;
|
|
791
|
-
private getRenderOptions;
|
|
792
|
-
private mergeOptions;
|
|
793
|
-
private isBlankOption;
|
|
794
|
-
private getDictionaryName;
|
|
795
|
-
private reloadDictionaryOptions;
|
|
796
|
-
private loadDictionaryOptions;
|
|
797
|
-
private ensureSelectedDictionaryOptionsLoaded;
|
|
798
|
-
private normalizeSuggestItems;
|
|
799
|
-
private normalizeSuggestItem;
|
|
800
|
-
private loadSuggestItems;
|
|
801
|
-
private loadSuggestItem;
|
|
802
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectComponent, never>;
|
|
803
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UiSelectComponent, "forms-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "data": { "alias": "data"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "includeBlankOption": { "alias": "includeBlankOption"; "required": false; }; "blankOptionLabel": { "alias": "blankOptionLabel"; "required": false; }; "emptyStateLabel": { "alias": "emptyStateLabel"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "remoteSearch": { "alias": "remoteSearch"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "error": { "alias": "error"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "triggerClass": { "alias": "triggerClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "valueChange": "valueChange"; "searchChange": "searchChange"; }, never, never, true, never>;
|
|
804
|
-
static ngAcceptInputType_multiple: unknown;
|
|
805
|
-
}
|
|
806
|
-
|
|
807
808
|
declare class UiSlugInputComponent implements ControlValueAccessor {
|
|
808
809
|
label?: string;
|
|
809
810
|
hint?: string;
|
|
@@ -850,12 +851,12 @@ declare class UiTextInputComponent implements ControlValueAccessor {
|
|
|
850
851
|
readonly: boolean;
|
|
851
852
|
pattern?: string;
|
|
852
853
|
error?: string;
|
|
853
|
-
actions: UiDynamicFormFieldAction
|
|
854
|
+
actions: UiDynamicFormFieldAction[];
|
|
854
855
|
disabled: boolean;
|
|
855
856
|
value: string | number | null;
|
|
856
857
|
private static nextId;
|
|
857
858
|
private readonly generatedId;
|
|
858
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
859
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
859
860
|
get controlId(): string;
|
|
860
861
|
private onChange;
|
|
861
862
|
onTouched: () => void;
|
|
@@ -864,7 +865,7 @@ declare class UiTextInputComponent implements ControlValueAccessor {
|
|
|
864
865
|
registerOnTouched(fn: () => void): void;
|
|
865
866
|
setDisabledState(isDisabled: boolean): void;
|
|
866
867
|
onValueChange(value: string): void;
|
|
867
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
868
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
868
869
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiTextInputComponent, never>;
|
|
869
870
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiTextInputComponent, "forms-text-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
870
871
|
}
|
|
@@ -886,12 +887,12 @@ declare class UiTextareaInputComponent implements ControlValueAccessor {
|
|
|
886
887
|
readonly: boolean;
|
|
887
888
|
pattern?: string;
|
|
888
889
|
error?: string;
|
|
889
|
-
actions: UiDynamicFormFieldAction
|
|
890
|
+
actions: UiDynamicFormFieldAction[];
|
|
890
891
|
disabled: boolean;
|
|
891
892
|
value: string | number | null;
|
|
892
893
|
private static nextId;
|
|
893
894
|
private readonly generatedId;
|
|
894
|
-
actionTriggered: EventEmitter<UiDynamicFormFieldAction
|
|
895
|
+
actionTriggered: EventEmitter<UiDynamicFormFieldAction>;
|
|
895
896
|
get controlId(): string;
|
|
896
897
|
private onChange;
|
|
897
898
|
onTouched: () => void;
|
|
@@ -900,10 +901,10 @@ declare class UiTextareaInputComponent implements ControlValueAccessor {
|
|
|
900
901
|
registerOnTouched(fn: () => void): void;
|
|
901
902
|
setDisabledState(isDisabled: boolean): void;
|
|
902
903
|
onValueChange(value: string): void;
|
|
903
|
-
triggerAction(action: UiDynamicFormFieldAction
|
|
904
|
+
triggerAction(action: UiDynamicFormFieldAction): void;
|
|
904
905
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiTextareaInputComponent, never>;
|
|
905
906
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiTextareaInputComponent, "forms-textarea-input", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "required": { "alias": "required"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "error": { "alias": "error"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
|
|
906
907
|
}
|
|
907
908
|
|
|
908
|
-
export { MaroFormsApiService, UI_DYNAMIC_FORM_OPTIONS_SOURCE_RESOLVERS, UI_FORM_INPUT_REGISTRY, UiActionFormModalComponent, UiBarcodeScannerInputComponent, UiCheckboxInputComponent, UiColorInputComponent, UiDateInputComponent, UiDatetimeInputComponent, UiDynamicFormComponent, UiEmailInputComponent, UiFileInputComponent, UiFormContext, UiFormInputHostComponent, UiFormLookupService, UiInputComponent, UiNumberInputComponent, UiPasswordInputComponent, UiPhotoGalleryFieldComponent, UiPhotoInputComponent, UiRangeSliderComponent, UiSelectComponent, UiSlugInputComponent, UiTextInputComponent, UiTextareaInputComponent, flattenDynamicFormFields, isDynamicFormContainerField, isDynamicFormTemplateField };
|
|
909
|
+
export { ACTION_API, ACTION_FORM, ACTION_PRINT, ACTION_SUBMIT, MaroFormsApiService, UI_DYNAMIC_FORM_OPTIONS_SOURCE_RESOLVERS, UI_FORM_INPUT_REGISTRY, UiActionFormModalComponent, UiBarcodeScannerInputComponent, UiCheckboxInputComponent, UiColorInputComponent, UiDateInputComponent, UiDatetimeInputComponent, UiDynamicFormComponent, UiEmailInputComponent, UiFileInputComponent, UiFormContext, UiFormInputHostComponent, UiFormLookupService, UiInputComponent, UiNumberInputComponent, UiPasswordInputComponent, UiPhotoGalleryFieldComponent, UiPhotoInputComponent, UiRangeSliderComponent, UiSelectComponent, UiSlugInputComponent, UiTextInputComponent, UiTextareaInputComponent, flattenDynamicFormFields, isDynamicFormContainerField, isDynamicFormTemplateField };
|
|
909
910
|
export type { ActionType, ApiPluginMethod, MaroFormViewAction, MaroFormViewResponse, UiDynamicFieldType, UiDynamicFormBaseField, UiDynamicFormContainerField, UiDynamicFormField, UiDynamicFormFieldAction, UiDynamicFormOptionsSourceContext, UiDynamicFormOptionsSourceResolver, UiDynamicFormTemplateField, UiDynamicFormValue, UiFormErrors, UiFormInputType, UiFormSubmitState, UiFormValue, UiPhotoGalleryEntry, UiPhotoPreview, UiSelectOption, UiSelectValue };
|