ui-core-abv 0.9.8 → 0.10.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.
@@ -2,7 +2,7 @@ import { NgZone, OnDestroy } from '@angular/core';
2
2
  import { AbstractControl, FormArray, FormGroup } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
4
  import { ButtonColor } from '../../button/button.component';
5
- import { FormField, SelectOptionsResolver } from '../form.models';
5
+ import { FormField, FormIconMode, SelectOptionsResolver } from '../form.models';
6
6
  import * as i0 from "@angular/core";
7
7
  interface DynamicFieldState {
8
8
  field: FormField;
@@ -36,6 +36,7 @@ export declare class UicDynamicFormComponent implements OnDestroy {
36
36
  fieldBlur: import("@angular/core").OutputEmitterRef<string>;
37
37
  voiceToTextSilenceMs: number;
38
38
  cols: number;
39
+ iconMode?: FormIconMode;
39
40
  fileUidResolverFn?: (fileUid: string, fileName: string, fieldLabel: string) => void;
40
41
  selectOptionsResolver?: SelectOptionsResolver;
41
42
  parentFormValues?: Record<string, any>;
@@ -45,6 +46,7 @@ export declare class UicDynamicFormComponent implements OnDestroy {
45
46
  private readonly formSyncEffect;
46
47
  private readonly fieldStateSyncEffect;
47
48
  readonly colorToIcon: Record<string, string>;
49
+ private readonly checklistIcon;
48
50
  constructor(ngZone: NgZone);
49
51
  ngOnDestroy(): void;
50
52
  getGridColumn(field: FormField): string;
@@ -64,6 +66,10 @@ export declare class UicDynamicFormComponent implements OnDestroy {
64
66
  asFormArray(control: AbstractControl | null): FormArray;
65
67
  isListening(fieldName: string): boolean;
66
68
  private readonly errorMessages;
69
+ getFieldIcon(field: FormField): string;
70
+ getFieldIconColor(field: FormField, control: AbstractControl | null, value: any): ButtonColor;
71
+ private getChecklistColor;
72
+ private isFieldComplete;
67
73
  getInputColor(field: FormField, value: string | number): ButtonColor;
68
74
  getIconByColor(field: FormField, color: string): ButtonColor;
69
75
  getSearcherFn(field: FormField): ((query: string) => Observable<any[]>) | undefined;
@@ -79,6 +85,6 @@ export declare class UicDynamicFormComponent implements OnDestroy {
79
85
  private scheduleVoiceStop;
80
86
  voiceToText(target: HTMLTextAreaElement, fieldName: string): void;
81
87
  static ɵfac: i0.ɵɵFactoryDeclaration<UicDynamicFormComponent, never>;
82
- static ɵcmp: i0.ɵɵComponentDeclaration<UicDynamicFormComponent, "ui-dynamic-form", never, { "fields": { "alias": "fields"; "required": false; }; "isSubForm": { "alias": "isSubForm"; "required": false; }; "form": { "alias": "form"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "externalValidationStates": { "alias": "externalValidationStates"; "required": false; }; "voiceToTextSilenceMs": { "alias": "voiceToTextSilenceMs"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; "selectOptionsResolver": { "alias": "selectOptionsResolver"; "required": false; }; "parentFormValues": { "alias": "parentFormValues"; "required": false; }; }, { "fieldBlur": "fieldBlur"; }, never, never, true, never>;
88
+ static ɵcmp: i0.ɵɵComponentDeclaration<UicDynamicFormComponent, "ui-dynamic-form", never, { "fields": { "alias": "fields"; "required": false; }; "isSubForm": { "alias": "isSubForm"; "required": false; }; "form": { "alias": "form"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "externalValidationStates": { "alias": "externalValidationStates"; "required": false; }; "voiceToTextSilenceMs": { "alias": "voiceToTextSilenceMs"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "iconMode": { "alias": "iconMode"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; "selectOptionsResolver": { "alias": "selectOptionsResolver"; "required": false; }; "parentFormValues": { "alias": "parentFormValues"; "required": false; }; }, { "fieldBlur": "fieldBlur"; }, never, never, true, never>;
83
89
  }
84
90
  export {};
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { AppSelectOption } from '../../inputs/select/select.component';
4
- import { ComputedFieldResolver, ExternalValidatorResolver, FormField, FormResult, FormSchema, SelectOptionsResolver, SelectOptionsSource, uicFormValuesRecord } from '../form.models';
4
+ import { ComputedFieldResolver, ExternalValidatorResolver, FormField, FormIconMode, FormResult, FormSchema, SelectOptionsResolver, SelectOptionsSource, uicFormValuesRecord } from '../form.models';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class UicFormWrapperComponent implements OnInit, OnChanges, OnDestroy {
7
7
  private readonly fb;
@@ -22,6 +22,7 @@ export declare class UicFormWrapperComponent implements OnInit, OnChanges, OnDes
22
22
  loading: boolean;
23
23
  disabled: boolean;
24
24
  showButtons: boolean;
25
+ iconMode?: FormIconMode;
25
26
  fillSelects: boolean;
26
27
  initialValues: uicFormValuesRecord;
27
28
  focusFieldName: string | null;
@@ -137,5 +138,5 @@ export declare class UicFormWrapperComponent implements OnInit, OnChanges, OnDes
137
138
  private setNestedValue;
138
139
  private syncEffectiveSchema;
139
140
  static ɵfac: i0.ɵɵFactoryDeclaration<UicFormWrapperComponent, never>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<UicFormWrapperComponent, "ui-form-wrapper", never, { "schema": { "alias": "schema"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "externalData": { "alias": "externalData"; "required": false; }; "selectOptionsResolver": { "alias": "selectOptionsResolver"; "required": false; }; "computedFieldResolver": { "alias": "computedFieldResolver"; "required": false; }; "externalValidatorResolver": { "alias": "externalValidatorResolver"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showButtons": { "alias": "showButtons"; "required": false; }; "fillSelects": { "alias": "fillSelects"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "focusFieldName": { "alias": "focusFieldName"; "required": false; }; "focusFieldTrigger": { "alias": "focusFieldTrigger"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "optionsSourceError": "optionsSourceError"; }, never, never, true, never>;
141
+ static ɵcmp: i0.ɵɵComponentDeclaration<UicFormWrapperComponent, "ui-form-wrapper", never, { "schema": { "alias": "schema"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "externalData": { "alias": "externalData"; "required": false; }; "selectOptionsResolver": { "alias": "selectOptionsResolver"; "required": false; }; "computedFieldResolver": { "alias": "computedFieldResolver"; "required": false; }; "externalValidatorResolver": { "alias": "externalValidatorResolver"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showButtons": { "alias": "showButtons"; "required": false; }; "iconMode": { "alias": "iconMode"; "required": false; }; "fillSelects": { "alias": "fillSelects"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "focusFieldName": { "alias": "focusFieldName"; "required": false; }; "focusFieldTrigger": { "alias": "focusFieldTrigger"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "optionsSourceError": "optionsSourceError"; }, never, never, true, never>;
141
142
  }
@@ -1,6 +1,7 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { AppSelectOption } from "../inputs/select/select.component";
3
3
  import { ButtonColor } from "../button/button.component";
4
+ export type FormIconMode = 'checklist';
4
5
  export interface FormStep {
5
6
  title: string;
6
7
  form: FormSchema;
@@ -106,6 +107,9 @@ export interface FormField {
106
107
  maxDate?: string;
107
108
  timeInterval?: number;
108
109
  fileTypes?: string[] | string;
110
+ templateUrl?: string;
111
+ templateText?: string;
112
+ templateLinkLabel?: string;
109
113
  poolEnabledListView?: boolean;
110
114
  poolTitle?: string;
111
115
  options?: AppSelectOption[];
@@ -31,6 +31,9 @@ export declare class UicFileInputComponent extends base {
31
31
  multy: boolean;
32
32
  fileTypes: string[] | string | null;
33
33
  fileUidResolverFn?: (fileUid: string, fileName: string, fieldLabel: string) => void;
34
+ templateUrl: string;
35
+ templateText: string;
36
+ templateLinkLabel: string;
34
37
  private fileInput?;
35
38
  private readonly push;
36
39
  value: UicFileInputValue[];
@@ -55,6 +58,6 @@ export declare class UicFileInputComponent extends base {
55
58
  private isWordType;
56
59
  downloadFile(item: UicFileInputValue): void;
57
60
  static ɵfac: i0.ɵɵFactoryDeclaration<UicFileInputComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<UicFileInputComponent, "ui-file-input", never, { "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "internalIcon": { "alias": "internalIcon"; "required": false; }; "internalIconColor": { "alias": "internalIconColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "error": { "alias": "error"; "required": false; }; "tip": { "alias": "tip"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "multy": { "alias": "multy"; "required": false; }; "fileTypes": { "alias": "fileTypes"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; }, {}, never, never, true, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<UicFileInputComponent, "ui-file-input", never, { "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "internalIcon": { "alias": "internalIcon"; "required": false; }; "internalIconColor": { "alias": "internalIconColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "error": { "alias": "error"; "required": false; }; "tip": { "alias": "tip"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "multy": { "alias": "multy"; "required": false; }; "fileTypes": { "alias": "fileTypes"; "required": false; }; "fileUidResolverFn": { "alias": "fileUidResolverFn"; "required": false; }; "templateUrl": { "alias": "templateUrl"; "required": false; }; "templateText": { "alias": "templateText"; "required": false; }; "templateLinkLabel": { "alias": "templateLinkLabel"; "required": false; }; }, {}, never, never, true, never>;
59
62
  }
60
63
  export {};
@@ -1,5 +1,6 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
+ import { ButtonColor } from '../../button/button.component';
3
4
  import * as i0 from "@angular/core";
4
5
  type MultySearcherValue = Record<string, any>[];
5
6
  declare const base: abstract new () => {
@@ -15,7 +16,7 @@ declare const base: abstract new () => {
15
16
  };
16
17
  export declare class UicMultySearcherComponent extends base {
17
18
  icon: string;
18
- iconColor: 'primary' | 'secondary';
19
+ iconColor: ButtonColor;
19
20
  internalIcon: string;
20
21
  label: string;
21
22
  error: string;
@@ -16,7 +16,7 @@ declare const base: abstract new () => {
16
16
  };
17
17
  export declare class UicMultySelectComponent extends base {
18
18
  icon: string;
19
- iconColor: 'primary' | 'secondary';
19
+ iconColor: ButtonColor;
20
20
  internalIcon: string;
21
21
  internalIconColor: ButtonColor;
22
22
  size: 's' | 'm' | 'l';
@@ -14,7 +14,7 @@ declare const base: abstract new () => {
14
14
  };
15
15
  export declare class UicTimePickerComponent extends base {
16
16
  icon: string;
17
- iconColor: 'primary' | 'secondary';
17
+ iconColor: ButtonColor;
18
18
  internalIcon: string;
19
19
  internalIconColor: ButtonColor;
20
20
  disabled: boolean;
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
+ import { ButtonColor } from '../../button/button.component';
3
4
  import * as i0 from "@angular/core";
4
5
  declare const base: abstract new () => {
5
6
  value: Record<string, any> | null;
@@ -14,7 +15,7 @@ declare const base: abstract new () => {
14
15
  };
15
16
  export declare class UicSearcherComponent extends base {
16
17
  icon: string;
17
- iconColor: 'primary' | 'secondary';
18
+ iconColor: ButtonColor;
18
19
  internalIcon: string;
19
20
  size: 's' | 'm' | 'l';
20
21
  label: string;
@@ -1,5 +1,6 @@
1
1
  import { SimpleChanges } from '@angular/core';
2
2
  import { AppSelectOption } from '../inputs/select/select.component';
3
+ import { ButtonColor } from '../button/button.component';
3
4
  import * as i0 from "@angular/core";
4
5
  type selectId = number | string;
5
6
  type selectedDetailed = {
@@ -19,7 +20,7 @@ declare const base: abstract new () => {
19
20
  };
20
21
  export declare class UicPoolOptionsComponent extends base {
21
22
  icon: string;
22
- iconColor: 'primary' | 'secondary';
23
+ iconColor: ButtonColor;
23
24
  size: 's' | 'm' | 'l';
24
25
  label: string;
25
26
  error: string;
@@ -234,6 +234,12 @@ export declare const DICTIONARY_EN: {
234
234
  readonly timeInterval_tip: "Minute step";
235
235
  readonly fileTypes: "File types";
236
236
  readonly fileTypes_tip: "Comma-separated extensions";
237
+ readonly templateUrl: "Template URL";
238
+ readonly templateUrl_tip: "Link to the downloadable file the user must fill in";
239
+ readonly templateText: "Description text";
240
+ readonly templateText_tip: "Text shown before the download link";
241
+ readonly templateLinkLabel: "Link text";
242
+ readonly templateLinkLabel_tip: "Clickable text shown to download the template";
237
243
  readonly poolEnabledListView: "Enable list view";
238
244
  readonly poolEnabledListView_tip: "Show pool in list mode";
239
245
  readonly poolTitle: "List title";
@@ -234,6 +234,12 @@ export declare const DICTIONARY_ES: {
234
234
  readonly timeInterval_tip: "Paso en minutos";
235
235
  readonly fileTypes: "Tipos de archivo";
236
236
  readonly fileTypes_tip: "Extensiones separadas por coma";
237
+ readonly templateUrl: "URL del formato";
238
+ readonly templateUrl_tip: "Enlace al archivo descargable que el usuario debe completar";
239
+ readonly templateText: "Texto descriptivo";
240
+ readonly templateText_tip: "Texto que precede al enlace de descarga";
241
+ readonly templateLinkLabel: "Texto del enlace";
242
+ readonly templateLinkLabel_tip: "Texto clickeable que se muestra para descargar el formato";
237
243
  readonly poolEnabledListView: "Ver lista habilitada";
238
244
  readonly poolEnabledListView_tip: "Mostrar opciones en lista";
239
245
  readonly poolTitle: "Título del listado";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ui-core-abv",
3
- "version": "0.9.8",
3
+ "version": "0.10.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.2.0 <21.0.0",
6
6
  "@angular/core": ">=19.2.0 <21.0.0",