@po-ui/ng-components 21.11.0 → 21.13.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.
Files changed (56) hide show
  1. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-CKJDZQRS.mjs → po-ui-ng-components-po-chart-modal-table.component-BPYsbMKd.mjs} +4 -4
  2. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-CKJDZQRS.mjs.map → po-ui-ng-components-po-chart-modal-table.component-BPYsbMKd.mjs.map} +1 -1
  3. package/fesm2022/po-ui-ng-components.mjs +2826 -1478
  4. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  5. package/lib/components/po-button/po-button.component.d.ts +2 -0
  6. package/lib/components/po-calendar/po-calendar-base.component.d.ts +3 -0
  7. package/lib/components/po-calendar/po-calendar-mode.enum.d.ts +3 -1
  8. package/lib/components/po-calendar/po-calendar.component.d.ts +22 -1
  9. package/lib/components/po-chart/interfaces/po-chart-options.interface.d.ts +15 -0
  10. package/lib/components/po-chart/po-chart-base.component.d.ts +2 -0
  11. package/lib/components/po-dropdown/po-dropdown-action.interface.d.ts +7 -6
  12. package/lib/components/po-dropdown/po-dropdown-base.component.d.ts +29 -0
  13. package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +89 -10
  14. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +30 -0
  15. package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +21 -31
  16. package/lib/components/po-field/po-timepicker/enums/po-timepicker-iso-format.enum.d.ts +1 -1
  17. package/lib/components/po-field/po-timepicker/po-timepicker.component.d.ts +22 -2
  18. package/lib/components/po-page/index.d.ts +2 -0
  19. package/lib/components/po-page/interfaces/po-page-action.interface.d.ts +26 -4
  20. package/lib/components/po-page/po-page-content/po-page-content.component.d.ts +10 -4
  21. package/lib/components/po-page/po-page-default/enums/po-page-actions-layout.enum.d.ts +26 -0
  22. package/lib/components/po-page/po-page-default/enums/po-page-header-type.enum.d.ts +25 -0
  23. package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +109 -36
  24. package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +8 -2
  25. package/lib/components/po-page/po-page-header/po-page-header-base.component.d.ts +2 -0
  26. package/lib/components/po-page/po-page.module.d.ts +3 -2
  27. package/lib/components/po-popup/po-popup-action.interface.d.ts +32 -57
  28. package/lib/components/po-progress/enums/po-progress-shape.enum.d.ts +13 -0
  29. package/lib/components/po-progress/enums/po-progress-status.enum.d.ts +1 -1
  30. package/lib/components/po-progress/index.d.ts +1 -0
  31. package/lib/components/po-progress/po-progress-bar/po-progress-bar.component.d.ts +1 -0
  32. package/lib/components/po-progress/po-progress-base.component.d.ts +70 -0
  33. package/lib/components/po-progress/po-progress-circle/po-progress-circle.component.d.ts +31 -0
  34. package/lib/components/po-progress/po-progress.component.d.ts +19 -2
  35. package/lib/components/po-timer/po-timer-base.component.d.ts +5 -0
  36. package/lib/components/po-timer/po-timer.component.d.ts +25 -9
  37. package/lib/services/po-theme/helpers/types/po-theme-dark-defaults-AA.constant.d.ts +1 -1
  38. package/lib/services/po-theme/helpers/types/po-theme-dark-defaults.constant.d.ts +1 -1
  39. package/package.json +4 -4
  40. package/po-ui-ng-components-21.13.0.tgz +0 -0
  41. package/schematics/ng-add/index.js +1 -1
  42. package/schematics/ng-update/v14/index.js +1 -1
  43. package/schematics/ng-update/v15/index.js +1 -1
  44. package/schematics/ng-update/v16/index.js +1 -1
  45. package/schematics/ng-update/v17/index.js +1 -1
  46. package/schematics/ng-update/v18/index.js +2 -2
  47. package/schematics/ng-update/v19/index.js +2 -2
  48. package/schematics/ng-update/v2/index.js +1 -1
  49. package/schematics/ng-update/v20/index.js +2 -2
  50. package/schematics/ng-update/v21/index.js +1 -1
  51. package/schematics/ng-update/v3/index.js +1 -1
  52. package/schematics/ng-update/v4/index.js +1 -1
  53. package/schematics/ng-update/v5/index.js +1 -1
  54. package/schematics/ng-update/v6/index.js +1 -1
  55. package/types/po-ui-ng-components.d.ts +656 -178
  56. package/po-ui-ng-components-21.11.0.tgz +0 -0
@@ -21,7 +21,9 @@ import { PoButtonBaseComponent } from './po-button-base.component';
21
21
  * </example>
22
22
  */
23
23
  export declare class PoButtonComponent extends PoButtonBaseComponent {
24
+ elementRef: ElementRef;
24
25
  buttonElement: ElementRef;
26
+ constructor(elementRef: ElementRef);
25
27
  onBlur(): void;
26
28
  /**
27
29
  * Função que atribui foco ao componente.
@@ -207,6 +207,9 @@ export declare class PoCalendarBaseComponent {
207
207
  set mode(value: PoCalendarMode);
208
208
  get mode(): PoCalendarMode;
209
209
  get isRange(): boolean;
210
+ get isMonthYear(): boolean;
211
+ get isYear(): boolean;
212
+ yearRangeLimit?: number;
210
213
  headerTemplate?: TemplateRef<any>;
211
214
  /**
212
215
  * @optional
@@ -7,5 +7,7 @@
7
7
  */
8
8
  export declare enum PoCalendarMode {
9
9
  /** Modo de seleção de intervalo (data inicial e final). */
10
- Range = "range"
10
+ Range = "range",
11
+ MonthYear = "month-year",
12
+ Year = "year"
11
13
  }
@@ -1,5 +1,6 @@
1
- import { DoCheck, OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { DoCheck, OnChanges, OnInit, SimpleChanges, QueryList } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
+ import { PoButtonComponent } from '../po-button';
3
4
  import { PoCalendarBaseComponent } from './po-calendar-base.component';
4
5
  import { PoCalendarRangePreset } from './interfaces/po-calendar-range-preset.interface';
5
6
  /**
@@ -28,10 +29,19 @@ import { PoCalendarRangePreset } from './interfaces/po-calendar-range-preset.int
28
29
  * </example>
29
30
  */
30
31
  export declare class PoCalendarComponent extends PoCalendarBaseComponent implements OnInit, OnChanges, DoCheck {
32
+ monthOptions: QueryList<PoButtonComponent>;
33
+ yearOptions: QueryList<PoButtonComponent>;
31
34
  private readonly changeDetector;
32
35
  private readonly poCalendarLangService;
33
36
  hoverValue: Date;
34
37
  displayToClean: string;
38
+ displayMonths: Array<string>;
39
+ displayYears: Array<number>;
40
+ focusedIndex: number;
41
+ selectedIndexMonth: number | null;
42
+ selectedIndexYear: number | null;
43
+ selectedMonth: number | null;
44
+ selectedYear: number | null;
35
45
  private readonly _isRange;
36
46
  private readonly _rangePresetsValue;
37
47
  private readonly _rangePresetOptionsValue;
@@ -44,6 +54,15 @@ export declare class PoCalendarComponent extends PoCalendarBaseComponent impleme
44
54
  ngOnInit(): void;
45
55
  ngOnChanges(changes: SimpleChanges): void;
46
56
  ngDoCheck(): void;
57
+ isMonthDisabled(monthIndex: number): boolean;
58
+ isYearDisabled(year: number): boolean;
59
+ onKeydownMonth(event: KeyboardEvent, index: number): void;
60
+ onKeydownYear(event: KeyboardEvent, index: number): void;
61
+ selectMonth(index: number, event?: KeyboardEvent, selected?: boolean): void;
62
+ selectYear(index: number, event?: KeyboardEvent, selected?: boolean, year?: any): void;
63
+ private getMonthOptions;
64
+ private getYearOptions;
65
+ private initializeYearAndMonthMode;
47
66
  getActivateDate(partType: any): any;
48
67
  getValue(partType: any): any;
49
68
  onSelectDate(selectedDate: any, partType?: any): void;
@@ -75,5 +94,7 @@ export declare class PoCalendarComponent extends PoCalendarBaseComponent impleme
75
94
  private convertDateToISO;
76
95
  private convertDateFromIso;
77
96
  private updateModel;
97
+ private setMonth;
98
+ private setYear;
78
99
  private writeDate;
79
100
  }
@@ -122,6 +122,21 @@ export interface PoChartOptions {
122
122
  * @default `center`
123
123
  */
124
124
  legendPosition?: 'left' | 'center' | 'right';
125
+ /**
126
+ * @optional
127
+ *
128
+ * @description
129
+ *
130
+ * Define o tipo da legenda.
131
+ *
132
+ * - `plain`: exibe todas as legendas de forma estática.
133
+ * - `scroll`: habilita rolagem quando a quantidade de legendas exceder o espaço disponível no gráfico.
134
+ *
135
+ * > Propriedade inválida para o gráfico do tipo `Gauge`.
136
+ *
137
+ * @default `plain`
138
+ */
139
+ legendType?: 'plain' | 'scroll';
125
140
  /**
126
141
  * @optional
127
142
  *
@@ -52,6 +52,8 @@ import { PoPopupAction } from '../po-popup';
52
52
  * | `--font-size-grid` | Tamanho da fonte usada nos valores dos eixos | `var(--font-size-xs)` |
53
53
  * | `--font-weight-grid` | Peso da fonte usada nos valores dos eixos | `var(--font-weight-normal)` |
54
54
  * | `--color-legend` | Cor da fonte da legenda | `var(--color-neutral-dark-70)` |
55
+ * | `--color-legend-scroll-icon-active` | Cor do ícone de scroll da legenda no estado ativo, pro tipo `scroll` | `var(--color-action-default)` |
56
+ * | `--color-legend-scroll-icon-inactive` | Cor do ícone de scroll da legenda no estado inativo, pro tipo `scroll` | `var(--color-action-disabled)` |
55
57
  * | `--border-radius-bar` | Tamanho da borda nos graficos `Bar` e `Column` | `var(--border-radius-none)` |
56
58
  * | `--border-color` | Cor da borda do gráfico nos Gráficos `Donut` e `Pie` | `var(--color-neutral-light-00)` |
57
59
  * | `--color-hightlight-value` | Cor do valor de destaque nos Gráficos `Donut` e `Gauge` | `var(--color-neutral-dark-70)` |
@@ -1,7 +1,8 @@
1
1
  import { PoPopupAction } from '../po-popup/po-popup-action.interface';
2
2
  /**
3
3
  * @description
4
- * Interface do componente po-dropdown
4
+ *
5
+ * Interface para as ações do componente `po-dropdown`.
5
6
  *
6
7
  * @docsExtends PoPopupAction
7
8
  *
@@ -9,13 +10,13 @@ import { PoPopupAction } from '../po-popup/po-popup-action.interface';
9
10
  */
10
11
  export interface PoDropdownAction extends PoPopupAction {
11
12
  /**
12
- * Array de ações (`PoDropdownAction`) usado para criar agrupadores de subitens.
13
+ * @optional
14
+ *
15
+ * @description
13
16
  *
14
- * - Permite a criação de menus aninhados (submenus).
17
+ * Array de ações (`PoDropdownAction`) usado para criar agrupadores de subitens (submenus).
15
18
  *
16
- * > Boas práticas de desenvolvimento:
17
- * Recomenda-se limitar a navegação a, no máximo, três níveis hierárquicos.
18
- * Isso evita sobrecarga cognitiva, facilita a memorização da estrutura e garante uma melhor experiência de uso.
19
+ * > Recomenda-se limitar a navegação a, no máximo, três níveis hierárquicos.
19
20
  */
20
21
  subItems?: Array<PoDropdownAction>;
21
22
  }
@@ -67,6 +67,7 @@ export declare class PoDropdownBaseComponent {
67
67
  private _disabled;
68
68
  private _size?;
69
69
  private _initialSize?;
70
+ private _position;
70
71
  /** Lista de ações que serão exibidas no componente. */
71
72
  set actions(value: Array<PoDropdownAction>);
72
73
  get actions(): Array<PoDropdownAction>;
@@ -97,6 +98,34 @@ export declare class PoDropdownBaseComponent {
97
98
  */
98
99
  set size(value: string);
99
100
  get size(): string;
101
+ /**
102
+ * @optional
103
+ *
104
+ * @description
105
+ *
106
+ * Define a posição preferencial de abertura do popup do dropdown em relação ao botão.
107
+ *
108
+ * Posições válidas:
109
+ * - `right`: No lado direito.
110
+ * - `right-bottom`: No lado direito inferior.
111
+ * - `right-top`: No lado direito superior.
112
+ * - `bottom`: Abaixo.
113
+ * - `bottom-left`: Abaixo e à esquerda (padrão).
114
+ * - `bottom-right`: Abaixo e à direita.
115
+ * - `left`: No lado esquerdo.
116
+ * - `left-top`: No lado esquerdo superior.
117
+ * - `left-bottom`: No lado esquerdo inferior.
118
+ * - `top`: Acima.
119
+ * - `top-right`: Acima e à direita.
120
+ * - `top-left`: Acima e à esquerda.
121
+ *
122
+ * > O popup será rotacionado automaticamente caso não caiba na posição definida.
123
+ *
124
+ * @default `bottom-left`
125
+ */
126
+ set position(value: string);
127
+ get position(): string;
128
+ get popupCustomPositions(): Array<string>;
100
129
  protected onThemeChange(): void;
101
130
  private applySizeBasedOnA11y;
102
131
  }
@@ -9,6 +9,7 @@ import { ForceBooleanComponentEnum, ForceOptionComponentEnum } from '../../enums
9
9
  import { Observable } from 'rxjs';
10
10
  import { PoDynamicField } from '../../po-dynamic-field.interface';
11
11
  import { PoHelperOptions } from '../../../po-helper';
12
+ import { PoCalendarRangePreset } from '../../../po-calendar/interfaces/po-calendar-range-preset.interface';
12
13
  /**
13
14
  * @usedBy PoDynamicFormComponent, PoAdvancedFilterComponent, PoPageDynamicSearchComponent
14
15
  *
@@ -55,7 +56,13 @@ export interface PoDynamicFormField extends PoDynamicField {
55
56
  * Retorna um objeto `KeyboardEvent` com informações sobre a tecla.
56
57
  */
57
58
  keydown?: Function;
58
- /** Define a obrigatoriedade do campo. */
59
+ /**
60
+ * Define a obrigatoriedade do campo.
61
+ *
62
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-timepicker`, `po-input`, `po-number`,
63
+ * `po-decimal`, `po-select`, `po-radio-group`, `po-combo`, `po-lookup`, `po-checkbox-group`, `po-multiselect`,
64
+ * `po-textarea`, `po-password``, `po-upload`.
65
+ */
59
66
  required?: boolean;
60
67
  /**
61
68
  *
@@ -63,7 +70,7 @@ export interface PoDynamicFormField extends PoDynamicField {
63
70
  *
64
71
  * > Necessário que a propriedade `required` esteja habilitada.
65
72
  *
66
- * **Componentes compatíveis:** `po-datepicker`, `po-input`, `po-number`, `po-decimal`, `po-password`.
73
+ * **Componentes compatíveis:** `po-datepicker`, `po-timepicker`, `po-input`, `po-number`, `po-decimal`, `po-password`.
67
74
  */
68
75
  requiredFieldErrorMessage?: boolean;
69
76
  /**
@@ -72,6 +79,10 @@ export interface PoDynamicFormField extends PoDynamicField {
72
79
  * > A indicação não será exibida, se:
73
80
  * - O campo for `required`, ou;
74
81
  * - Não possuir `help` e `label`.
82
+ *
83
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-timepicker`, `po-input`, `po-number`,
84
+ * `po-decimal`, `po-select`, `po-radio-group`, `po-combo`, `po-lookup`, `po-checkbox-group`, `po-multiselect`,
85
+ * `po-textarea`, `po-password`.
75
86
  */
76
87
  optional?: boolean;
77
88
  /**
@@ -300,14 +311,15 @@ export interface PoDynamicFormField extends PoDynamicField {
300
311
  * - required;
301
312
  *
302
313
  * > Esta mensagem pode ser exibida quando o campo estiver vazio, caso seja requerido. Em casos de componentes como
303
- * `po-datepicker`, `po-input`, `po-number`, `po-decimal`, `po-password`, é necessário que a propriedade
314
+ * `po-datepicker`, `po-input`, `po-number`, `po-decimal`, `po-password`, `po-timepicker`, é necessário que a propriedade
304
315
  * `requiredFieldErrorMessage` esteja como `true` para que a mensagem seja exibida com o campo vazio. Componentes
305
316
  * como `po-datepicker-range`, `po-select`, `po-checkbox-group`, `po-radio-group`, `po-multiselect`, `po-combo`,
306
317
  * `po-lookup` e `po-textarea` não é necessário passar a propriedade `requiredFieldErrorMessage`.
307
318
  *
308
319
  *
309
320
  * **Componentes compatíveis:** `po-checkbox-group`, `po-combo`, `po-datepicker`, `po-datepicker-range`,
310
- * `po-decimal`, `po-input`, `po-lookup`, `po-multiselect`, `po-number`, `po-password`, `po-radio-group`, `po-select`, `po-switch`, `po-textarea`.
321
+ * `po-decimal`, `po-input`, `po-lookup`, `po-multiselect`, `po-number`, `po-password`, `po-radio-group`, `po-select`,
322
+ * `po-switch`, `po-textarea`, `po-timepicker`.
311
323
  */
312
324
  errorMessage?: string;
313
325
  /**
@@ -321,7 +333,8 @@ export interface PoDynamicFormField extends PoDynamicField {
321
333
  * e um tooltip será exibido ao passar o mouse sobre a mensagem para mostrar o conteúdo completo.
322
334
  *
323
335
  * **Componentes compatíveis:** `po-checkbox-group`, `po-combo`, `po-datepicker`, `po-datepicker-range`,
324
- * `po-decimal`, `po-input`, `po-lookup`, `po-multiselect`, `po-number`, `po-password`, `po-radio-group`, `po-select`, `po-switch`, `po-textarea`.
336
+ * `po-decimal`, `po-input`, `po-lookup`, `po-multiselect`, `po-number`, `po-password`, `po-radio-group`, `po-select`,
337
+ * `po-switch`, `po-textarea`, `po-timepicker`.
325
338
  *
326
339
  * @default `false`
327
340
  */
@@ -362,6 +375,8 @@ export interface PoDynamicFormField extends PoDynamicField {
362
375
  *
363
376
  * Também pode-se utilizar em conjunto com `searchService`, informando uma lista de propriedades que será utilizado
364
377
  * para formatação da exibição no campo, por exemplo: ["id", "name"].
378
+ *
379
+ * **Componentes compatíveis:** `po-datepicker`, `po-timepicker`, `po-lookup`.
365
380
  */
366
381
  format?: string | Array<string>;
367
382
  /**
@@ -411,7 +426,12 @@ export interface PoDynamicFormField extends PoDynamicField {
411
426
  * array.
412
427
  */
413
428
  order?: number;
414
- /** Mensagem que será exibida enquanto o campo não estiver preenchido. */
429
+ /**
430
+ * Mensagem que será exibida enquanto o campo não estiver preenchido.
431
+ *
432
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-timepicker`, `po-input`, `po-number`,
433
+ * `po-decimal`, `po-select`, `po-combo`, `po-lookup`, `po-multiselect`, `po-textarea`, `po-password`.
434
+ */
415
435
  placeholder?: string;
416
436
  /**
417
437
  * Define a localidade a ser utilizada no componente.
@@ -426,7 +446,8 @@ export interface PoDynamicFormField extends PoDynamicField {
426
446
  * ```
427
447
  *
428
448
  * > Para ver quais linguagens suportadas acesse [`I18n`](documentation/po-i18n)
429
- * > A propriedade será repassada para os componentes que suportam a mesma.
449
+ *
450
+ * **Componentes compatíveis:** `po-datepicker`, `po-decimal`, `po-timepicker`.
430
451
  */
431
452
  locale?: string;
432
453
  /**
@@ -437,7 +458,8 @@ export interface PoDynamicFormField extends PoDynamicField {
437
458
  range?: boolean;
438
459
  /** Indica que o campo será somente leitura.
439
460
  *
440
- * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-input`, `po-number`, `po-decimal`, `po-select`, `po-textarea`, `po-password`
461
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-timepicker`, `po-input`, `po-number`,
462
+ * `po-decimal`, `po-select`, `po-textarea`, `po-password`.
441
463
  */
442
464
  readonly?: boolean;
443
465
  /**
@@ -448,13 +470,15 @@ export interface PoDynamicFormField extends PoDynamicField {
448
470
  multiple?: boolean;
449
471
  /** Se verdadeiro, o campo receberá um botão para ser limpo.
450
472
  *
451
- * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-input`, `po-number`, `po-decimal`, `po-combo`, `po-lookup`, `po-password`
473
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-input`, `po-number`, `po-decimal`,
474
+ * `po-combo`, `po-lookup`, `po-password`, `po-timepicker`.
452
475
  */
453
476
  clean?: boolean;
454
477
  /**
455
478
  * Define a propriedade nativa `autocomplete` do campo como off.
456
479
  *
457
- * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-input`, `po-number`, `po-decimal`, `po-lookup`, `po-password`
480
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-input`, `po-number`, `po-decimal`,
481
+ * `po-lookup`, `po-password`, `po-timepicker`.
458
482
  */
459
483
  noAutocomplete?: boolean;
460
484
  /**
@@ -727,6 +751,10 @@ export interface PoDynamicFormField extends PoDynamicField {
727
751
  *
728
752
  * > Não será exibida a indicação se:
729
753
  * - Não possuir `p-help` e/ou `p-label`.
754
+ *
755
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-timepicker`, `po-input`, `po-number`,
756
+ * `po-decimal`, `po-select`, `po-radio-group`, `po-combo`, `po-lookup`, `po-checkbox-group`, `po-multiselect`,
757
+ * `po-textarea`, `po-password`, `po-upload`.
730
758
  */
731
759
  showRequired?: boolean;
732
760
  /**
@@ -868,4 +896,55 @@ export interface PoDynamicFormField extends PoDynamicField {
868
896
  * **Compatível com todos os componentes**
869
897
  */
870
898
  compactLabel?: boolean;
899
+ /**
900
+ * Define o modo de seleção do `po-datepicker`.
901
+ *
902
+ * Valores aceitos:
903
+ * - `'month-year'`: exibe seleção de mês e ano (formato `MM/YYYY`)
904
+ * - `'year'`: exibe seleção apenas de ano (formato `YYYY`)
905
+ *
906
+ * **Componente compatível:** `po-datepicker`
907
+ */
908
+ mode?: 'month-year' | 'year';
909
+ /**
910
+ * Define o limite de anos exibidos na lista de anos do `po-datepicker` nos modos `month-year` e `year`.
911
+ *
912
+ * @default `150`
913
+ *
914
+ * **Componente compatível:** `po-datepicker`
915
+ */
916
+ yearRangeLimit?: number;
917
+ /**
918
+ * Habilita a exibição dos presets padrão de intervalos de data no painel lateral do calendário.
919
+ *
920
+ * Aceita os seguintes valores:
921
+ * - `true`: exibe todos os presets padrão.
922
+ * - `false`: não exibe os presets padrão.
923
+ * - `Array<string>`: exibe apenas os presets padrão cujos labels estejam no array informado.
924
+ *
925
+ * **Componente compatível:** `po-datepicker-range`
926
+ *
927
+ * @default `false`
928
+ */
929
+ rangePresets?: boolean | Array<string>;
930
+ /**
931
+ * Lista de presets customizados de intervalos de data exibidos no painel lateral do calendário.
932
+ *
933
+ * Para utilizar presets customizados, informe um array de objetos que implementam a interface `PoCalendarRangePreset`.
934
+ *
935
+ * **Componente compatível:** `po-datepicker-range`
936
+ */
937
+ rangePresetOptions?: Array<PoCalendarRangePreset>;
938
+ /**
939
+ * Define a ordenação dos presets na lista.
940
+ *
941
+ * Valores aceitos:
942
+ * - `'asc'`: ordenação crescente (passado → futuro)
943
+ * - `'desc'`: ordenação decrescente (futuro → passado)
944
+ *
945
+ * **Componente compatível:** `po-datepicker-range`
946
+ *
947
+ * @default `'asc'`
948
+ */
949
+ rangePresetsOrder?: 'asc' | 'desc';
871
950
  }
@@ -82,6 +82,28 @@ export declare abstract class PoDatepickerBaseComponent implements ControlValueA
82
82
  protected languageService: PoLanguageService;
83
83
  protected cd: ChangeDetectorRef;
84
84
  additionalHelpEventTrigger: string | undefined;
85
+ /** Rótulo do campo. */
86
+ label?: string;
87
+ /** Texto de apoio do campo. */
88
+ help?: string;
89
+ /**
90
+ * Define o modo de operação do datepicker.
91
+ *
92
+ * Permite configurar o componente para seleção de:
93
+ * - Mês e ano (`month-year`);
94
+ * - Apenas ano (`year`).
95
+ */
96
+ mode?: 'month-year' | 'year';
97
+ /**
98
+ * Define o limite de anos exibidos nas variações `month-year` e `year`,
99
+ * considerando a data atual como referência.
100
+ *
101
+ * O valor informado determina o intervalo de anos anterior e posterior
102
+ * à data corrente que será disponibilizado para seleção.
103
+ *
104
+ * @default 150
105
+ */
106
+ yearRangeLimit?: number;
85
107
  /**
86
108
  *
87
109
  * @deprecated v23.x.x use `p-helper`
@@ -380,6 +402,8 @@ export declare abstract class PoDatepickerBaseComponent implements ControlValueA
380
402
  * - `mm/dd/yyyy`
381
403
  * - `yyyy/mm/dd`
382
404
  *
405
+ * Propriedade incompatível com as variações month-year e year.
406
+ *
383
407
  * @default `dd/mm/yyyy`
384
408
  */
385
409
  set format(value: string);
@@ -392,6 +416,8 @@ export declare abstract class PoDatepickerBaseComponent implements ControlValueA
392
416
  * Padrão de formatação para saída do *model*, independentemente do formato de entrada.
393
417
  *
394
418
  * > Veja os valores válidos no *enum* `PoDatepickerIsoFormat`.
419
+ *
420
+ * Propriedade incompatível com as variações month-year e year.
395
421
  */
396
422
  set isoFormat(value: PoDatepickerIsoFormat);
397
423
  get isoFormat(): PoDatepickerIsoFormat;
@@ -450,6 +476,10 @@ export declare abstract class PoDatepickerBaseComponent implements ControlValueA
450
476
  validate(c: AbstractControl): {
451
477
  [key: string]: any;
452
478
  };
479
+ private isMonthYearOrYearInvalid;
480
+ private isDateRangeValidForMode;
481
+ private validateMonthYearRange;
482
+ private validateYearRange;
453
483
  protected validateModel(model: any): void;
454
484
  protected buildMask(format?: string): PoMask;
455
485
  formatTimezoneAndHour(offset: number): void;
@@ -3,31 +3,6 @@ import { PoButtonComponent } from '../../po-button/po-button.component';
3
3
  import { PoCalendarComponent } from '../../po-calendar/po-calendar.component';
4
4
  import { PoDatepickerBaseComponent } from './po-datepicker-base.component';
5
5
  import { PoHelperComponent } from '../../po-helper';
6
- /**
7
- * @docsExtends PoDatepickerBaseComponent
8
- *
9
- * @example
10
- *
11
- * <example name="po-datepicker-basic" title="PO Datepicker Basic">
12
- * <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.html"> </file>
13
- * <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.ts"> </file>
14
- * </example>
15
- *
16
- * <example name="po-datepicker-labs" title="PO Datepicker Labs">
17
- * <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.html"> </file>
18
- * <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.ts"> </file>
19
- * </example>
20
- *
21
- * <example name="po-datepicker-airfare" title="PO Datepicker - Airfare">
22
- * <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.html"> </file>
23
- * <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.ts"> </file>
24
- * </example>
25
- *
26
- * <example name="po-datepicker-airfare-reactive-form" title="PO Datepicker - Airfare Reactive Form">
27
- * <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.html"> </file>
28
- * <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.ts"> </file>
29
- * </example>
30
- */
31
6
  export declare class PoDatepickerComponent extends PoDatepickerBaseComponent implements AfterViewInit, OnDestroy, OnChanges {
32
7
  private readonly controlPosition;
33
8
  private readonly renderer;
@@ -37,10 +12,6 @@ export declare class PoDatepickerComponent extends PoDatepickerBaseComponent imp
37
12
  inputEl: ElementRef;
38
13
  iconClean: ElementRef<HTMLElement>;
39
14
  helperEl?: PoHelperComponent;
40
- /** Rótulo do campo. */
41
- label?: string;
42
- /** Texto de apoio do campo. */
43
- help?: string;
44
15
  displayAdditionalHelp: boolean;
45
16
  el: ElementRef;
46
17
  hour: string;
@@ -85,7 +56,7 @@ export declare class PoDatepickerComponent extends PoDatepickerBaseComponent imp
85
56
  getAdditionalHelpTooltip(): string;
86
57
  togglePicker(focusInput?: boolean): void;
87
58
  closeCalendar(focusInput?: boolean): void;
88
- dateSelected(event?: string): void;
59
+ dateSelected(event?: any): void;
89
60
  wasClickedOnPicker(event: any): void;
90
61
  hasInvalidClass(): boolean;
91
62
  getErrorPattern(): string;
@@ -95,7 +66,7 @@ export declare class PoDatepickerComponent extends PoDatepickerBaseComponent imp
95
66
  eventOnClick($event: any): void;
96
67
  onKeyDown(event: KeyboardEvent): void;
97
68
  onKeyPress(event: any): void;
98
- formatToDate(value: Date): string;
69
+ formatToDate(value: any): string;
99
70
  refreshValue(value: Date): void;
100
71
  /**
101
72
  * Método que exibe `p-helper` ou executa a ação definida em `p-helper{eventOnClick}` ou em `p-additionalHelp`.
@@ -123,13 +94,32 @@ export declare class PoDatepickerComponent extends PoDatepickerBaseComponent imp
123
94
  * ```
124
95
  */
125
96
  showAdditionalHelp(): boolean;
97
+ private handleSpecialModes;
98
+ private processValue;
99
+ private handleDateInstance;
100
+ private handleIsoString;
101
+ private clearValue;
102
+ private resetInput;
103
+ private finalizeWrite;
126
104
  writeValue(value: any): void;
127
105
  isValidDateIso(value: string): boolean;
128
106
  isValidExtendedIso(value: any): boolean;
129
107
  hasOverlayClass(element: any): any;
130
108
  verifyErrorAsync(value: any): void;
131
109
  verifyMobile(): RegExpMatchArray;
110
+ private handleMonthYearKeyup;
111
+ private handleYearKeyup;
112
+ private handleMonthYearBlur;
113
+ private handleYearBlur;
114
+ private applyMonthYearValue;
115
+ private applyYearValue;
116
+ private parseMonthYearInput;
117
+ private syncCalendarMonthYear;
118
+ private syncCalendarYear;
119
+ private writeMonthYearValue;
120
+ private writeYearValue;
132
121
  private controlChangeEmitter;
122
+ private isValidInputForMode;
133
123
  private hasAttrCalendar;
134
124
  private initializeListeners;
135
125
  private isAdditionalHelpEventTriggered;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @usedBy PoTimepickerComponent
2
+ * @usedBy PoTimepickerComponent, PoDynamicFormComponent
3
3
  *
4
4
  * @description
5
5
  *
@@ -71,6 +71,7 @@ export declare class PoTimepickerComponent extends PoTimepickerBaseComponent imp
71
71
  get hourPlaceholder(): string;
72
72
  get minutePlaceholder(): string;
73
73
  get secondPlaceholder(): string;
74
+ get isPlaceholder(): boolean;
74
75
  private get customPlaceholderSegments();
75
76
  private getCustomPlaceholderSegment;
76
77
  onHostFocusOut(event: FocusEvent): void;
@@ -130,6 +131,7 @@ export declare class PoTimepickerComponent extends PoTimepickerBaseComponent imp
130
131
  writeValue(value: any): void;
131
132
  verifyMobile(): RegExpMatchArray;
132
133
  handleCleanKeyboardTab(event: KeyboardEvent): void;
134
+ handleTimepickerButtonKeyboardTab(event: KeyboardEvent): void;
133
135
  onTimerKeyDown(event: KeyboardEvent): void;
134
136
  onTimerBoundaryTab(payload: {
135
137
  direction: 'forward' | 'backward';
@@ -156,9 +158,22 @@ export declare class PoTimepickerComponent extends PoTimepickerBaseComponent imp
156
158
  private getDefaultPeriodDisplay;
157
159
  /** Sincroniza os valores dos elementos input nativos com as propriedades de exibicao. */
158
160
  private syncSegmentInputElements;
159
- /** Avanca o foco para o proximo input de segmento. */
161
+ /**
162
+ * Avança o foco para o próximo input de segmento ou elemento focável interno.
163
+ * Retorna `true` se o foco foi movido, `false` se não há próximo elemento focável.
164
+ */
160
165
  private advanceToNextSegment;
161
- /** Avanca o foco para o input de segmento anterior. */
166
+ /**
167
+ * Tenta focar o botão de limpar ou o botão do timer.
168
+ * Retorna `true` se o foco foi movido, `false` se nenhum elemento está focável.
169
+ */
170
+ private focusCleanOrButton;
171
+ private focusPreviousPeriodSegment;
172
+ private focusNextPeriodSegment;
173
+ /**
174
+ * Retorna o foco para o input de segmento anterior.
175
+ * Retorna `true` se o foco foi movido, `false` se não há segmento anterior focável.
176
+ */
162
177
  private advanceToPreviousSegment;
163
178
  /** Foca o ultimo input de segmento visivel. */
164
179
  private focusLastSegment;
@@ -166,6 +181,11 @@ export declare class PoTimepickerComponent extends PoTimepickerBaseComponent imp
166
181
  private isLastSegment;
167
182
  /** Alterna entre AM e PM no display de periodo e atualiza o modelo. */
168
183
  private togglePeriod;
184
+ /**
185
+ * Verifica se um período (AM/PM) está completamente fora do range min/max.
186
+ * AM corresponde às horas 0-11 em 24h, PM às horas 12-23.
187
+ */
188
+ private isPeriodBlocked;
169
189
  /** Incrementa ou decrementa o valor de um segmento na direcao indicada (+1 ou -1), respeitando limites e intervalos. */
170
190
  private incrementSegment;
171
191
  private incrementHourSegment;
@@ -1,3 +1,5 @@
1
+ export * from './po-page-default/enums/po-page-actions-layout.enum';
2
+ export * from './po-page-default/enums/po-page-header-type.enum';
1
3
  export * from './po-page-default/po-page-default.component';
2
4
  export * from './po-page-default/po-page-default.interface';
3
5
  export * from './po-page-default/po-page-default-literals.interface';
@@ -1,11 +1,14 @@
1
1
  import { PoDropdownAction } from '../../po-dropdown';
2
2
  /**
3
3
  * @description
4
- * Interface para as ações dos componentes po-page-default e po-page-list.
5
4
  *
6
- * > Quando o array de actions possui quatro ou mais registros, os dois últimos e os seguintes são automaticamente agrupados no po-dropdown.
7
- * A partir desse ponto, as propriedades `selected`, `separator`, `type` e `subItems` passam a ter efeito apenas nas ações exibidas dentro do dropdown, ou seja, a partir da terceira ação.
8
- * Dessa forma, o uso de subItems (agrupadores dentro do dropdown) terá efeito quando houver pelo menos quatro ações definidas.
5
+ * Interface para as ações dos componentes `po-page-default` e `po-page-list`.
6
+ *
7
+ * As ações podem ser exibidas como botões no cabeçalho ou agrupadas em um *dropdown*,
8
+ * conforme o `PoPageActionsLayout` e o tamanho da tela.
9
+ *
10
+ * > As propriedades `separator`, `selected` e `subItems` possuem efeito apenas quando
11
+ * a ação é exibida dentro do *dropdown*.
9
12
  *
10
13
  * @docsExtends PoDropdownAction
11
14
  *
@@ -14,4 +17,23 @@ import { PoDropdownAction } from '../../po-dropdown';
14
17
  * @usedBy PoPageDefaultComponent, PoPageListComponent
15
18
  */
16
19
  export interface PoPageAction extends PoDropdownAction {
20
+ /**
21
+ * @optional
22
+ *
23
+ * @description
24
+ *
25
+ * Define o estilo visual da ação quando exibida como botão fora do *dropdown*.
26
+ *
27
+ * Valores permitidos:
28
+ * - `primary`: botão com maior destaque visual.
29
+ * - `secondary`: estilo padrão.
30
+ *
31
+ * > Valores inválidos são ignorados e o componente aplica o estilo padrão da posição.
32
+ *
33
+ * > Somente uma ação pode ter `kind` igual a `primary`. Caso mais de uma defina `primary`,
34
+ * apenas a primeira será mantida e as demais receberão `secondary`.
35
+ *
36
+ * > Quando não definido, o estilo é determinado pelo `PoPageActionsLayout`.
37
+ */
38
+ kind?: string;
17
39
  }