@seniorsistemas/components-ai 2.4.0 → 2.4.1

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.
@@ -4,6 +4,13 @@ import { TranslationService } from '../../../services/translation.service';
4
4
  import { LocaleService } from '../../../services/locale.service';
5
5
  import { DynamicFieldBaseComponent } from './dynamic-field-base.component';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * DynamicFieldDateComponent
9
+ *
10
+ * O FormControl.value SEMPRE armazena a data no formato ISO: "yyyy-MM-dd" (ex: "2026-05-18").
11
+ * A variável `displayValue` mantém o valor formatado no locale do usuário para exibição no input.
12
+ * Isso garante que qualquer componente que acesse form.value receba o valor pronto para o backend.
13
+ */
7
14
  export declare class DynamicFieldDateComponent extends DynamicFieldBaseComponent implements OnInit, OnDestroy {
8
15
  private localeService;
9
16
  private cdr;
@@ -11,20 +18,45 @@ export declare class DynamicFieldDateComponent extends DynamicFieldBaseComponent
11
18
  currentDateFormat: string;
12
19
  dateMask: string;
13
20
  calendarValue: Date | null;
21
+ /** Valor de exibição no formato locale (ex: "18/05/2026" para pt-BR) */
22
+ displayValue: string | null;
23
+ /** Controla a renderização do p-calendar (só existe no DOM quando necessário) */
24
+ showCalendar: boolean;
14
25
  private langSub?;
15
26
  private valueSub?;
16
27
  private currentLocale;
28
+ private updatingFromControl;
17
29
  constructor(translationService: TranslationService, localeService: LocaleService, cdr: ChangeDetectorRef);
18
30
  ngOnInit(): void;
19
31
  ngOnDestroy(): void;
20
- private initializeValue;
32
+ /**
33
+ * Sincroniza o displayValue a partir do valor ISO do FormControl.
34
+ * Aceita: "yyyy-MM-dd", Date, locale string "dd/MM/yyyy", ou null.
35
+ */
36
+ private syncDisplayFromControl;
37
+ /** Chamado quando o usuário completa a digitação da máscara */
38
+ onDisplayValueComplete(): void;
39
+ /** Chamado quando o input perde foco */
40
+ onDisplayValueBlur(): void;
41
+ /**
42
+ * Converte o displayValue (locale) para ISO e seta no FormControl.
43
+ */
44
+ private syncControlFromDisplay;
45
+ /** Seta o valor no control sem disparar o subscriber interno */
46
+ private setControlValue;
47
+ /** Converte ISO "yyyy-MM-dd" para locale string */
48
+ private isoToLocale;
49
+ /** Converte locale string para ISO "yyyy-MM-dd" */
50
+ private localeToIso;
51
+ /** Converte Date para ISO "yyyy-MM-dd" */
52
+ private dateToIso;
53
+ /** Converte locale string para Date */
54
+ private localeToDate;
21
55
  private updateDateFormat;
22
- private convertValueToNewLocale;
23
- private dateToString;
24
- private stringToDate;
25
56
  toggleCalendar(event: Event): void;
26
57
  onCalendarSelect(date: Date): void;
27
58
  onCalendarClear(): void;
59
+ isControlDisabled(): boolean;
28
60
  getPlaceholder(): string;
29
61
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldDateComponent, never>;
30
62
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldDateComponent, "sia-dynamic-field-date", never, {}, {}, never, never, true, never>;
@@ -4,6 +4,13 @@ import { TranslationService } from '../../../services/translation.service';
4
4
  import { LocaleService } from '../../../services/locale.service';
5
5
  import { DynamicFieldBaseComponent } from './dynamic-field-base.component';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * DynamicFieldDatetimeComponent
9
+ *
10
+ * O FormControl.value SEMPRE armazena o datetime no formato ISO: "yyyy-MM-ddTHH:mm:ss.sssZ".
11
+ * A variável `displayValue` mantém o valor formatado no locale do usuário para exibição no input.
12
+ * Isso garante que qualquer componente que acesse form.value receba o valor pronto para o backend.
13
+ */
7
14
  export declare class DynamicFieldDatetimeComponent extends DynamicFieldBaseComponent implements OnInit, OnDestroy {
8
15
  private localeService;
9
16
  private cdr;
@@ -11,20 +18,43 @@ export declare class DynamicFieldDatetimeComponent extends DynamicFieldBaseCompo
11
18
  currentDateFormat: string;
12
19
  datetimeMask: string;
13
20
  calendarValue: Date | null;
21
+ /** Valor de exibição no formato locale (ex: "18/05/2026 14:30" para pt-BR) */
22
+ displayValue: string | null;
23
+ /** Controla a renderização do p-calendar (só existe no DOM quando necessário) */
24
+ showCalendar: boolean;
14
25
  private langSub?;
15
26
  private valueSub?;
16
27
  private currentLocale;
28
+ private updatingFromControl;
17
29
  constructor(translationService: TranslationService, localeService: LocaleService, cdr: ChangeDetectorRef);
18
30
  ngOnInit(): void;
19
31
  ngOnDestroy(): void;
20
- private initializeValue;
32
+ /**
33
+ * Sincroniza o displayValue a partir do valor ISO do FormControl.
34
+ * Aceita: ISO string, Date, locale string, ou null.
35
+ */
36
+ private syncDisplayFromControl;
37
+ /** Chamado quando o usuário completa a digitação da máscara */
38
+ onDisplayValueComplete(): void;
39
+ /** Chamado quando o input perde foco */
40
+ onDisplayValueBlur(): void;
41
+ /**
42
+ * Converte o displayValue (locale) para ISO e seta no FormControl.
43
+ */
44
+ private syncControlFromDisplay;
45
+ /** Seta o valor no control sem disparar o subscriber interno */
46
+ private setControlValue;
47
+ /** Converte Date para locale display string */
48
+ private isoToLocale;
49
+ /** Converte locale string para ISO datetime string */
50
+ private localeToIso;
51
+ /** Converte locale string para Date */
52
+ private localeToDate;
21
53
  private updateDatetimeFormat;
22
- private convertValueToNewLocale;
23
- private dateToString;
24
- private stringToDate;
25
54
  toggleCalendar(event: Event): void;
26
55
  onCalendarSelect(date: Date): void;
27
56
  onCalendarClear(): void;
57
+ isControlDisabled(): boolean;
28
58
  getPlaceholder(): string;
29
59
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldDatetimeComponent, never>;
30
60
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldDatetimeComponent, "sia-dynamic-field-datetime", never, {}, {}, never, never, true, never>;
@@ -3,17 +3,45 @@ import { Calendar } from 'primeng/calendar';
3
3
  import { TranslationService } from '../../../services/translation.service';
4
4
  import { DynamicFieldBaseComponent } from './dynamic-field-base.component';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * DynamicFieldTimeComponent
8
+ *
9
+ * O FormControl.value armazena o horário no formato "HH:mm" (ex: "14:30").
10
+ * A variável `displayValue` mantém o valor formatado para exibição no input.
11
+ * Aceita valores de entrada em "HH:mm" ou "HH:mm:ss" (truncando os segundos).
12
+ */
6
13
  export declare class DynamicFieldTimeComponent extends DynamicFieldBaseComponent implements OnInit, OnDestroy {
7
14
  timePicker: Calendar;
8
- timeValue: Date | null;
15
+ /** Valor de exibição "HH:mm" */
16
+ displayValue: string | null;
17
+ /** Valor do picker (Date) */
18
+ pickerValue: Date | null;
19
+ /** Controla a renderização do p-calendar */
20
+ showPicker: boolean;
9
21
  private valueSub?;
22
+ private updatingFromControl;
10
23
  constructor(translationService: TranslationService);
11
24
  ngOnInit(): void;
12
25
  ngOnDestroy(): void;
26
+ /**
27
+ * Sincroniza o displayValue a partir do valor do FormControl.
28
+ * Aceita: "HH:mm", "HH:mm:ss", Date, ou null.
29
+ */
30
+ private syncDisplayFromControl;
31
+ /** Chamado quando o usuário completa a digitação da máscara */
32
+ onDisplayValueComplete(): void;
33
+ /** Chamado quando o input perde foco */
34
+ onDisplayValueBlur(): void;
35
+ /** Converte o displayValue para o FormControl */
36
+ private syncControlFromDisplay;
37
+ /** Seta o valor no control sem disparar o subscriber interno */
38
+ private setControlValue;
13
39
  private dateToTimeString;
14
- private stringToDate;
40
+ private timeStringToDate;
41
+ private isValidTime;
15
42
  toggleTimePicker(event: Event): void;
16
43
  onTimeSelect(date: Date): void;
44
+ isControlDisabled(): boolean;
17
45
  getPlaceholder(): string;
18
46
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldTimeComponent, never>;
19
47
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldTimeComponent, "sia-dynamic-field-time", never, {}, {}, never, never, true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seniorsistemas/components-ai",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "Biblioteca de componentes reutilizáveis com IA para aplicações Angular da Senior Sistemas",
5
5
  "keywords": [
6
6
  "angular",