@po-ui/ng-components 21.8.0 → 21.9.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 (50) hide show
  1. package/fesm2022/po-ui-ng-components.mjs +4720 -351
  2. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  3. package/lib/components/index.d.ts +1 -0
  4. package/lib/components/po-button/po-button-base.component.d.ts +10 -0
  5. package/lib/components/po-calendar/constants/po-calendar-range-presets.constant.d.ts +2 -0
  6. package/lib/components/po-calendar/index.d.ts +2 -0
  7. package/lib/components/po-calendar/interfaces/po-calendar-range-preset.interface.d.ts +16 -0
  8. package/lib/components/po-calendar/po-calendar-base.component.d.ts +54 -0
  9. package/lib/components/po-calendar/po-calendar-footer/po-calendar-footer.component.d.ts +16 -0
  10. package/lib/components/po-calendar/po-calendar-preset-list/po-calendar-preset-list.component.d.ts +28 -0
  11. package/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.d.ts +9 -3
  12. package/lib/components/po-calendar/po-calendar.component.d.ts +28 -3
  13. package/lib/components/po-calendar/services/po-calendar.lang.service.d.ts +2 -0
  14. package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +58 -7
  15. package/lib/components/po-field/index.d.ts +3 -0
  16. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +54 -0
  17. package/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.d.ts +18 -0
  18. package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +2 -1
  19. package/lib/components/po-field/po-timepicker/enums/po-timepicker-iso-format.enum.d.ts +13 -0
  20. package/lib/components/po-field/po-timepicker/index.d.ts +3 -0
  21. package/lib/components/po-field/po-timepicker/po-timepicker-base.component.d.ts +374 -0
  22. package/lib/components/po-field/po-timepicker/po-timepicker.component.d.ts +206 -0
  23. package/lib/components/po-field/po-timepicker/po-timepicker.literals.d.ts +46 -0
  24. package/lib/components/po-field/po-timepicker/po-timepicker.module.d.ts +7 -0
  25. package/lib/components/po-search/po-search.component.d.ts +0 -1
  26. package/lib/components/po-timer/enums/po-timer-format.enum.d.ts +13 -0
  27. package/lib/components/po-timer/index.d.ts +4 -0
  28. package/lib/components/po-timer/po-timer-base.component.d.ts +255 -0
  29. package/lib/components/po-timer/po-timer-scroll.helper.d.ts +40 -0
  30. package/lib/components/po-timer/po-timer.component.d.ts +208 -0
  31. package/lib/components/po-timer/po-timer.literals.d.ts +22 -0
  32. package/lib/components/po-timer/po-timer.module.d.ts +6 -0
  33. package/package.json +4 -4
  34. package/po-ui-ng-components-21.9.0.tgz +0 -0
  35. package/schematics/ng-add/index.js +1 -1
  36. package/schematics/ng-update/v14/index.js +1 -1
  37. package/schematics/ng-update/v15/index.js +1 -1
  38. package/schematics/ng-update/v16/index.js +1 -1
  39. package/schematics/ng-update/v17/index.js +1 -1
  40. package/schematics/ng-update/v18/index.js +2 -2
  41. package/schematics/ng-update/v19/index.js +2 -2
  42. package/schematics/ng-update/v2/index.js +1 -1
  43. package/schematics/ng-update/v20/index.js +2 -2
  44. package/schematics/ng-update/v21/index.js +1 -1
  45. package/schematics/ng-update/v3/index.js +1 -1
  46. package/schematics/ng-update/v4/index.js +1 -1
  47. package/schematics/ng-update/v5/index.js +1 -1
  48. package/schematics/ng-update/v6/index.js +1 -1
  49. package/types/po-ui-ng-components.d.ts +1533 -164
  50. package/po-ui-ng-components-21.8.0.tgz +0 -0
@@ -50,3 +50,4 @@ export * from './po-search/index';
50
50
  export * from './po-skeleton/index';
51
51
  export * from './po-toaster/index';
52
52
  export * from './po-header/index';
53
+ export * from './po-timer/index';
@@ -181,6 +181,16 @@ export declare class PoButtonBaseComponent {
181
181
  */
182
182
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
183
183
  ariaExpanded?: boolean;
184
+ /**
185
+ * @optional
186
+ *
187
+ * @description
188
+ *
189
+ * Define o `tabindex` do elemento `<button>` nativo interno.
190
+ *
191
+ * Use `[tabindex]="-1"` para remover o botão da ordem de foco do teclado.
192
+ */
193
+ tabindex?: number | string;
184
194
  /**
185
195
  * @optional
186
196
  *
@@ -0,0 +1,2 @@
1
+ import { PoCalendarRangePreset } from '../interfaces/po-calendar-range-preset.interface';
2
+ export declare const PO_CALENDAR_DEFAULT_RANGE_PRESETS: Array<PoCalendarRangePreset>;
@@ -1,3 +1,5 @@
1
1
  export * from './po-calendar-mode.enum';
2
2
  export * from './po-calendar.component';
3
3
  export * from './po-calendar.module';
4
+ export * from './interfaces/po-calendar-range-preset.interface';
5
+ export * from './constants/po-calendar-range-presets.constant';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Interface para definir um preset de intervalo de datas no calendário.
3
+ *
4
+ * Cada preset possui um rótulo identificador e uma função que calcula
5
+ * dinamicamente o intervalo de datas com base na data atual.
6
+ */
7
+ export interface PoCalendarRangePreset {
8
+ /** Identificador/rótulo de exibição do preset. */
9
+ label: string;
10
+ /** Função que calcula dinamicamente o intervalo de datas relativo à data informada. */
11
+ dateRange: (today: Date) => {
12
+ start: Date;
13
+ end: Date;
14
+ };
15
+ isDisabled?: boolean;
16
+ }
@@ -2,6 +2,7 @@ import { EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { PoDateService } from '../../services/po-date';
3
3
  import { PoLanguageService } from '../../services/po-language/po-language.service';
4
4
  import { PoCalendarMode } from './po-calendar-mode.enum';
5
+ import { PoCalendarRangePreset } from './interfaces/po-calendar-range-preset.interface';
5
6
  /**
6
7
  * @description
7
8
  *
@@ -118,6 +119,7 @@ export declare class PoCalendarBaseComponent {
118
119
  changeMonthYear: EventEmitter<any>;
119
120
  close: EventEmitter<void>;
120
121
  activateDate: any;
122
+ selectedPresetLabel: string | null;
121
123
  value: any;
122
124
  protected onTouched: any;
123
125
  protected propagateChange: any;
@@ -206,6 +208,57 @@ export declare class PoCalendarBaseComponent {
206
208
  get mode(): PoCalendarMode;
207
209
  get isRange(): boolean;
208
210
  headerTemplate?: TemplateRef<any>;
211
+ /**
212
+ * @optional
213
+ *
214
+ * @description
215
+ *
216
+ * Habilita a exibição dos presets padrão de intervalos de data no painel lateral do calendário em modo *range*.
217
+ *
218
+ * Aceita os seguintes valores:
219
+ * - `true`: exibe todos os presets padrão (Amanhã, Hoje, Ontem, Últimos 7 dias, Últimos 14 dias, Últimos 30 dias, Últimos 3 meses, Últimos 6 meses).
220
+ * - `false`: não exibe os presets padrão.
221
+ * - `Array<string>`: exibe apenas os presets padrão cujos labels estejam no array informado.
222
+ * O preset "today" é obrigatório e será incluído automaticamente mesmo que não esteja no array.
223
+ *
224
+ * Caso `p-range-preset-options` também seja informado, os presets customizados serão exibidos junto aos presets padrão,
225
+ * ordenados automaticamente por temporalidade com base na data início (Futuro → Presente → Passado).
226
+ *
227
+ * @default `false`
228
+ */
229
+ set rangePresets(value: boolean | Array<string> | string);
230
+ get rangePresets(): boolean | Array<string>;
231
+ private _rangePresets;
232
+ /**
233
+ * @optional
234
+ *
235
+ * @description
236
+ *
237
+ * Lista de presets customizados de intervalos de data exibidos no painel lateral do calendário em modo *range*.
238
+ *
239
+ * Quando informado sem `p-range-presets`, exibe apenas os presets customizados.
240
+ * Quando informado junto com `p-range-presets` habilitado, os presets customizados serão exibidos junto aos presets padrão,
241
+ * ordenados automaticamente por temporalidade com base na data início (Futuro → Presente → Passado).
242
+ *
243
+ * Para utilizar presets customizados, informe um array de objetos que implementam a interface `PoCalendarRangePreset`.
244
+ */
245
+ rangePresetOptions?: Array<PoCalendarRangePreset>;
246
+ /**
247
+ * @optional
248
+ *
249
+ * @description
250
+ *
251
+ * Define a ordenação dos presets na lista.
252
+ *
253
+ * Valores aceitos:
254
+ * - `'asc'` (padrão): presets mais próximos de hoje aparecem primeiro.
255
+ * - `'desc'`: presets mais distantes de hoje aparecem primeiro.
256
+ *
257
+ * A ordenação é aplicada dentro de cada grupo de temporalidade com base na data início (Futuro → Presente → Passado).
258
+ *
259
+ * @default `asc`
260
+ */
261
+ rangePresetsOrder: 'asc' | 'desc';
209
262
  /**
210
263
  * @optional
211
264
  *
@@ -220,6 +273,7 @@ export declare class PoCalendarBaseComponent {
220
273
  */
221
274
  set size(value: string);
222
275
  get size(): string;
276
+ widthWithPresets?: boolean;
223
277
  constructor(poDate: PoDateService, languageService: PoLanguageService);
224
278
  protected onThemeChange(): void;
225
279
  protected setActivateDate(date?: Date | string): void;
@@ -0,0 +1,16 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ export declare class PoCalendarFooterComponent {
3
+ size: string;
4
+ labelClear: string;
5
+ labelToday: string;
6
+ responsive: boolean;
7
+ todayDisabled: boolean;
8
+ hideTodayButton: boolean;
9
+ clear: EventEmitter<void>;
10
+ selectToday: EventEmitter<void>;
11
+ closeCalendar: EventEmitter<void>;
12
+ onClear(): void;
13
+ onSelectToday(): void;
14
+ onClearKeydown(event: KeyboardEvent): void;
15
+ onTodayKeydown(event: KeyboardEvent): void;
16
+ }
@@ -0,0 +1,28 @@
1
+ import { EventEmitter, QueryList } from '@angular/core';
2
+ import { PoCalendarRangePreset } from '../interfaces/po-calendar-range-preset.interface';
3
+ export declare class PoCalendarPresetListComponent {
4
+ private readonly poCalendarLangService;
5
+ private _locale;
6
+ size: string;
7
+ presets: Array<PoCalendarRangePreset>;
8
+ selectedPreset: string | null;
9
+ responsive: boolean;
10
+ set locale(value: string);
11
+ get locale(): string;
12
+ closeCalendar: EventEmitter<void>;
13
+ selectPreset: EventEmitter<{
14
+ label: string;
15
+ start: Date;
16
+ end: Date;
17
+ }>;
18
+ presetButtons: QueryList<HTMLButtonElement>;
19
+ focusedIndex: number;
20
+ getDisplayLabel(preset: PoCalendarRangePreset): string;
21
+ isSelected(preset: PoCalendarRangePreset): boolean;
22
+ onKeydown(event: KeyboardEvent, index: number): void;
23
+ resetFocusToFirst(): void;
24
+ isPresetDisabled(preset: PoCalendarRangePreset): boolean;
25
+ onPresetClick(preset: PoCalendarRangePreset): void;
26
+ private focusPreset;
27
+ private getPresetButtons;
28
+ }
@@ -17,6 +17,8 @@ export declare class PoCalendarWrapperComponent implements OnInit, OnChanges {
17
17
  maxDate: any;
18
18
  hoverValue: Date;
19
19
  size: string;
20
+ hideTodayButton: boolean;
21
+ hasPresets: boolean;
20
22
  headerTemplate?: TemplateRef<any>;
21
23
  private _locale;
22
24
  set locale(value: string);
@@ -72,6 +74,12 @@ export declare class PoCalendarWrapperComponent implements OnInit, OnChanges {
72
74
  private updateTemplateContext;
73
75
  updateDate(year: number, month: number, comboComponent?: any): void;
74
76
  onComboBlur(comboComponent?: any): void;
77
+ private handleComboBlur;
78
+ private syncInputValue;
79
+ private applySelectedValue;
80
+ private ensureValidDisplay;
81
+ private isMonthInvalid;
82
+ private isYearInvalid;
75
83
  private updateDisplay;
76
84
  private setInitialFocusedDay;
77
85
  private ensureValidFocusedDay;
@@ -86,11 +94,9 @@ export declare class PoCalendarWrapperComponent implements OnInit, OnChanges {
86
94
  onMouseEnter(day: any): void;
87
95
  onMouseLeave(): void;
88
96
  onSelectToday(): void;
89
- onTodayKeydown(event: KeyboardEvent): void;
97
+ onFooterCloseCalendar(): void;
90
98
  onHostKeydown(event: KeyboardEvent): void;
91
99
  private restoreOriginalDisplay;
92
- onTodayKeydownEnter(event: KeyboardEvent): void;
93
- onTodayKeydownSpace(event: KeyboardEvent): void;
94
100
  onDayKeydown(event: KeyboardEvent, day: Date, index: number): void;
95
101
  private isSelectionKey;
96
102
  private handleSelectKey;
@@ -1,6 +1,7 @@
1
- import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { DoCheck, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
3
  import { PoCalendarBaseComponent } from './po-calendar-base.component';
4
+ import { PoCalendarRangePreset } from './interfaces/po-calendar-range-preset.interface';
4
5
  /**
5
6
  * @docsExtends PoCalendarBaseComponent
6
7
  *
@@ -11,6 +12,11 @@ import { PoCalendarBaseComponent } from './po-calendar-base.component';
11
12
  * <file name="sample-po-calendar-basic/sample-po-calendar-basic.component.ts"> </file>
12
13
  * </example>
13
14
  *
15
+ * <example name="po-calendar-range-presets" title="PO Calendar - Range and Presets" >
16
+ * <file name="sample-po-calendar-range-presets/sample-po-calendar-range-presets.component.html"> </file>
17
+ * <file name="sample-po-calendar-range-presets/sample-po-calendar-range-presets.component.ts"> </file>
18
+ * </example>
19
+ *
14
20
  * <example name="po-calendar-labs" title="PO Calendar Labs" >
15
21
  * <file name="sample-po-calendar-labs/sample-po-calendar-labs.component.html"> </file>
16
22
  * <file name="sample-po-calendar-labs/sample-po-calendar-labs.component.ts"> </file>
@@ -21,13 +27,23 @@ import { PoCalendarBaseComponent } from './po-calendar-base.component';
21
27
  * <file name="sample-po-calendar-ticket-sales/sample-po-calendar-ticket-sales.component.ts"> </file>
22
28
  * </example>
23
29
  */
24
- export declare class PoCalendarComponent extends PoCalendarBaseComponent implements OnInit, OnChanges {
30
+ export declare class PoCalendarComponent extends PoCalendarBaseComponent implements OnInit, OnChanges, DoCheck {
25
31
  private readonly changeDetector;
32
+ private readonly poCalendarLangService;
26
33
  hoverValue: Date;
34
+ displayToClean: string;
35
+ private readonly _isRange;
36
+ private readonly _rangePresetsValue;
37
+ private readonly _rangePresetOptionsValue;
38
+ private readonly _rangePresetsOrderValue;
39
+ private readonly _minDateValue;
40
+ private readonly _maxDateValue;
41
+ readonly effectivePresets: import("@angular/core").Signal<PoCalendarRangePreset[]>;
27
42
  constructor();
28
- get isResponsive(): boolean;
43
+ get isResponsive(): RegExpMatchArray;
29
44
  ngOnInit(): void;
30
45
  ngOnChanges(changes: SimpleChanges): void;
46
+ ngDoCheck(): void;
31
47
  getActivateDate(partType: any): any;
32
48
  getValue(partType: any): any;
33
49
  onSelectDate(selectedDate: any, partType?: any): void;
@@ -43,6 +59,15 @@ export declare class PoCalendarComponent extends PoCalendarBaseComponent impleme
43
59
  [key: string]: any;
44
60
  };
45
61
  writeValue(value: any): void;
62
+ onPresetSelected(event: {
63
+ label: string;
64
+ start: Date;
65
+ end: Date;
66
+ }): void;
67
+ private sortPresetsByTemporality;
68
+ private normalizeDate;
69
+ private enrichPresetsWithDisabledState;
70
+ private clampDate;
46
71
  private getValidateStartDate;
47
72
  private getValueFromSelectedDate;
48
73
  private updateActivateDateFromHeaderChange;
@@ -13,6 +13,7 @@ export declare class PoCalendarLangService {
13
13
  es: string;
14
14
  ru: string;
15
15
  };
16
+ private readonly presetLabels;
16
17
  getMonth(month: number): any;
17
18
  getMonthLabel(): any;
18
19
  getMonthsArray(): any[];
@@ -23,5 +24,6 @@ export declare class PoCalendarLangService {
23
24
  getPreviousMonthLabel(): any;
24
25
  getNextMonthLabel(): any;
25
26
  getToCleanLabel(): any;
27
+ getPresetLabel(key: string): string;
26
28
  setLanguage(language: string): void;
27
29
  }
@@ -1,5 +1,5 @@
1
1
  import { TemplateRef } from '@angular/core';
2
- import { ErrorAsyncProperties, PoCheckboxGroupOption, PoComboFilter, PoComboLiterals, PoDatepickerIsoFormat, PoDatepickerRangeLiterals, PoLookupFilter, PoLookupLiterals, PoMultiselectFilter, PoMultiselectFilterMode, PoMultiselectLiterals, PoSwitchLabelPosition, PoUploadFile, PoUploadFileRestrictions, PoUploadLiterals } from '../../../po-field';
2
+ import { ErrorAsyncProperties, PoCheckboxGroupOption, PoComboFilter, PoComboLiterals, PoDatepickerIsoFormat, PoDatepickerRangeLiterals, PoTimepickerModelFormat, PoLookupFilter, PoLookupLiterals, PoMultiselectFilter, PoMultiselectFilterMode, PoMultiselectLiterals, PoSwitchLabelPosition, PoUploadFile, PoUploadFileRestrictions, PoUploadLiterals } from '../../../po-field';
3
3
  import { PoLookupAdvancedFilter } from '../../../po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface';
4
4
  import { PoLookupColumn } from '../../../po-field/po-lookup/interfaces/po-lookup-column.interface';
5
5
  import { PoMultiselectOption } from '../../../po-field/po-multiselect/interfaces/po-multiselect-option.interface';
@@ -214,15 +214,29 @@ export interface PoDynamicFormField extends PoDynamicField {
214
214
  */
215
215
  listboxControlPosition?: 'top' | 'bottom';
216
216
  /**
217
- * Valor máximo a ser informado no componente, podendo ser utilizado quando o tipo de dado por *number*, *date* ou *dateTime*.
217
+ * Habilita um estado de carregamento no componente, desabilitando-o e exibindo um ícone de carregamento.
218
218
  *
219
- * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-number`, `po-decimal`
219
+ * > Por padrão é `false`.
220
+ *
221
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-number`, `po-decimal`,
222
+ * `po-input`, `po-select`, `po-switch`, `po-combo`, `po-lookup`, `po-multiselect`,
223
+ * `po-textarea`, `po-password`, `po-upload`.
224
+ */
225
+ loading?: boolean;
226
+ /**
227
+ * Valor máximo a ser informado no componente, podendo ser utilizado quando o tipo de dado por *number*, *date*, *dateTime* ou *time*.
228
+ *
229
+ * > Para `po-timepicker`, o valor deve estar no formato `HH:mm` ou `HH:mm:ss`.
230
+ *
231
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-number`, `po-decimal`, `po-timepicker`
220
232
  * */
221
233
  maxValue?: string | number;
222
234
  /**
223
- * Valor mínimo a ser informado no componente, podendo ser utilizado quando o tipo de dado por *number*, *date* ou *dateTime*.
235
+ * Valor mínimo a ser informado no componente, podendo ser utilizado quando o tipo de dado por *number*, *date*, *dateTime* ou *time*.
236
+ *
237
+ * > Para `po-timepicker`, o valor deve estar no formato `HH:mm` ou `HH:mm:ss`.
224
238
  *
225
- * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-number`, `po-decimal`
239
+ * **Componentes compatíveis:** `po-datepicker`, `po-datepicker-range`, `po-number`, `po-decimal`, `po-timepicker`
226
240
  */
227
241
  minValue?: string | number;
228
242
  /** Quantidade de linhas exibidas no `po-textarea`. */
@@ -340,6 +354,11 @@ export interface PoDynamicFormField extends PoDynamicField {
340
354
  * - mm/dd/yyyy
341
355
  * - yyyy/mm/dd
342
356
  *
357
+ * Ao utilizar com o `type` *PoDynamicFieldType.Time*, define o formato de exibição do horário:
358
+ *
359
+ * Valores válidos:
360
+ * - `24`: formato de 24 horas (padrão)
361
+ * - `12`: formato de 12 horas com indicador AM/PM
343
362
  *
344
363
  * Também pode-se utilizar em conjunto com `searchService`, informando uma lista de propriedades que será utilizado
345
364
  * para formatação da exibição no campo, por exemplo: ["id", "name"].
@@ -447,12 +466,20 @@ export interface PoDynamicFormField extends PoDynamicField {
447
466
  * Permite esconder a função de espiar a senha digitada no `po-password`.
448
467
  */
449
468
  hidePasswordPeek?: boolean;
469
+ /**
470
+ * Define o formato do valor do horário a ser utilizado no model do `po-timepicker`.
471
+ *
472
+ * > Veja os valores válidos no `PoTimepickerModelFormat`.
473
+ *
474
+ * **Componente compatível:** `po-timepicker`
475
+ */
476
+ modelFormat?: PoTimepickerModelFormat;
450
477
  /**
451
478
  * Padrão de formatação para saída do model, independentemente do formato de entrada.
452
479
  *
453
- * > Veja os valores válidos no `enumPoDatepickerIsoFormat`.
480
+ * > Veja os valores válidos no `PoDatepickerIsoFormat`.
454
481
  *
455
- * **Componente compatível:** po-datepicker
482
+ * **Componente compatível:** `po-datepicker`
456
483
  */
457
484
  isoFormat?: PoDatepickerIsoFormat;
458
485
  /**
@@ -487,6 +514,30 @@ export interface PoDynamicFormField extends PoDynamicField {
487
514
  * Intervalo utilizado no `po-number`.
488
515
  */
489
516
  step?: number;
517
+ /**
518
+ * Exibe a coluna de segundos no painel do timepicker.
519
+ *
520
+ * @default `false`
521
+ *
522
+ * **Componente compatível:** `po-timepicker`
523
+ */
524
+ showSeconds?: boolean;
525
+ /**
526
+ * Define o intervalo entre os minutos exibidos no painel do timepicker.
527
+ *
528
+ * @default `5`
529
+ *
530
+ * **Componente compatível:** `po-timepicker`
531
+ */
532
+ minuteInterval?: number;
533
+ /**
534
+ * Define o intervalo entre os segundos exibidos no painel do timepicker.
535
+ *
536
+ * @default `1`
537
+ *
538
+ * **Componente compatível:** `po-timepicker`
539
+ */
540
+ secondInterval?: number;
490
541
  /**
491
542
  * Define o modo de pesquisa utilizado no filtro da lista de seleção: `startsWith`, `contains` ou `endsWith`.
492
543
  * > Quando utilizar a propriedade p-filter-service esta propriedade será ignorada.
@@ -12,6 +12,9 @@ export * from './po-combo/po-combo-option-template/po-combo-option-template.dire
12
12
  export * from './po-combo/po-combo.component';
13
13
  export * from './po-datepicker/enums/po-datepicker-iso-format.enum';
14
14
  export * from './po-datepicker/po-datepicker.component';
15
+ export * from './po-timepicker/enums/po-timepicker-iso-format.enum';
16
+ export * from './po-timepicker/po-timepicker.component';
17
+ export * from './po-timepicker/po-timepicker.module';
15
18
  export * from './po-datepicker-range/interfaces/po-datepicker-range.interface';
16
19
  export * from './po-datepicker-range/interfaces/po-datepicker-range-literals.interface';
17
20
  export * from './po-datepicker-range/po-datepicker-range.component';
@@ -6,6 +6,7 @@ import { PoDateService } from './../../../services/po-date/po-date.service';
6
6
  import { PoDatepickerRangeLiterals } from './interfaces/po-datepicker-range-literals.interface';
7
7
  import { PoDatepickerRange } from './interfaces/po-datepicker-range.interface';
8
8
  import { PoHelperOptions } from '../../po-helper';
9
+ import { PoCalendarRangePreset } from '../../po-calendar/interfaces/po-calendar-range-preset.interface';
9
10
  /**
10
11
  * @description
11
12
  *
@@ -130,6 +131,59 @@ export declare abstract class PoDatepickerRangeBaseComponent implements ControlV
130
131
  * @default `false`
131
132
  */
132
133
  compactLabel: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
134
+ /**
135
+ * @optional
136
+ *
137
+ * @description
138
+ *
139
+ * Habilita a exibição dos presets padrão de intervalos de data no painel lateral do calendário.
140
+ *
141
+ * Aceita os seguintes valores:
142
+ * - `true`: exibe todos os presets padrão (Amanhã, Hoje, Ontem, Últimos 7 dias, Últimos 14 dias, Últimos 30 dias, Últimos 3 meses, Últimos 6 meses).
143
+ * - `false`: não exibe os presets padrão.
144
+ * - `Array<string>`: exibe apenas os presets padrão cujos labels estejam no array informado.
145
+ * > Label dos presets: tomorrow, today, yesterday, 7days, 14days, 30days, 3months, 6months.
146
+ *
147
+ * O preset "today" é obrigatório e será incluído automaticamente mesmo que não esteja no array.
148
+ *
149
+ * Caso `p-range-preset-options` também seja informado, os presets customizados serão exibidos junto aos presets padrão,
150
+ * ordenados automaticamente por temporalidade com base na data início (Futuro → Presente → Passado).
151
+ *
152
+ * @default `false`
153
+ */
154
+ set rangePresets(value: boolean | Array<string> | string);
155
+ get rangePresets(): boolean | Array<string>;
156
+ private _rangePresets;
157
+ /**
158
+ * @optional
159
+ *
160
+ * @description
161
+ *
162
+ * Lista de presets customizados de intervalos de data exibidos no painel lateral do calendário.
163
+ *
164
+ * Quando informado sem `p-range-presets`, exibe apenas os presets customizados.
165
+ * Quando informado junto com `p-range-presets` habilitado, os presets customizados serão exibidos junto aos presets padrão,
166
+ * ordenados automaticamente por temporalidade com base na data início (Futuro → Presente → Passado).
167
+ *
168
+ * Para utilizar presets customizados, informe um array de objetos que implementam a interface `PoCalendarRangePreset`.
169
+ */
170
+ rangePresetOptions?: Array<PoCalendarRangePreset>;
171
+ /**
172
+ * @optional
173
+ *
174
+ * @description
175
+ *
176
+ * Define a ordenação dos presets na lista.
177
+ *
178
+ * Valores aceitos:
179
+ * - `'asc'` (padrão): presets mais próximos de hoje aparecem primeiro.
180
+ * - `'desc'`: presets mais distantes de hoje aparecem primeiro.
181
+ *
182
+ * A ordenação é aplicada dentro de cada grupo de temporalidade com base na data início (Futuro → Presente → Passado).
183
+ *
184
+ * @default `asc`
185
+ */
186
+ rangePresetsOrder: 'asc' | 'desc';
133
187
  /**
134
188
  * @optional
135
189
  *
@@ -13,6 +13,11 @@ import { PoButtonComponent } from '../../po-button';
13
13
  * <file name="sample-po-datepicker-range-basic/sample-po-datepicker-range-basic.component.ts"> </file>
14
14
  * </example>
15
15
  *
16
+ * <example name="po-datepicker-range-presets" title="PO Datepicker Range - Presets">
17
+ * <file name="sample-po-datepicker-range-presets/sample-po-datepicker-range-presets.component.html"> </file>
18
+ * <file name="sample-po-datepicker-range-presets/sample-po-datepicker-range-presets.component.ts"> </file>
19
+ * </example>
20
+ *
16
21
  * <example name="po-datepicker-range-labs" title="PO Datepicker Range Labs">
17
22
  * <file name="sample-po-datepicker-range-labs/sample-po-datepicker-range-labs.component.html"> </file>
18
23
  * <file name="sample-po-datepicker-range-labs/sample-po-datepicker-range-labs.component.ts"> </file>
@@ -44,9 +49,11 @@ export declare class PoDatepickerRangeComponent extends PoDatepickerRangeBaseCom
44
49
  iconClean: ElementRef<HTMLElement>;
45
50
  id: string;
46
51
  isCalendarVisible: boolean;
52
+ widthWithPresets: boolean;
47
53
  private clickListener;
48
54
  private eventResizeListener;
49
55
  private readonly poDatepickerRangeElement;
56
+ private readonly MIN_CALENDAR_WIDTH_WITH_PRESETS;
50
57
  get autocomplete(): "off" | "on";
51
58
  get enableCleaner(): boolean;
52
59
  get endDateInputName(): string;
@@ -95,6 +102,12 @@ export declare class PoDatepickerRangeComponent extends PoDatepickerRangeBaseCom
95
102
  onFocus(event: any): void;
96
103
  onKeydown(event?: any): void;
97
104
  onKeyPress(event: any): void;
105
+ private handleShiftTabWithCleaner;
106
+ private handleShiftTabWithoutCleaner;
107
+ private handleTabWithCalendarVisible;
108
+ private handleMobileNavigation;
109
+ private handlePresetNavigation;
110
+ private handleComboNavigation;
98
111
  onKeydownDatepickerRange($event?: any): void;
99
112
  onKeyup(event: any): void;
100
113
  resetDateRangeInputValidation(): void;
@@ -124,6 +137,7 @@ export declare class PoDatepickerRangeComponent extends PoDatepickerRangeBaseCom
124
137
  * ```
125
138
  */
126
139
  showAdditionalHelp(): boolean;
140
+ enableHorizontalMouseWheel(): void;
127
141
  toggleCalendar(): void;
128
142
  updateScreenByModel(model: PoDatepickerRange): void;
129
143
  onCalendarKeyDown(event: KeyboardEvent): void;
@@ -131,6 +145,10 @@ export declare class PoDatepickerRangeComponent extends PoDatepickerRangeBaseCom
131
145
  hideAdditionalHelp: boolean;
132
146
  helperSettings?: any;
133
147
  };
148
+ onResize(): void;
149
+ private calculateWidthWithPresets;
150
+ private updateWidthWithPresets;
151
+ verifyMobile(): RegExpMatchArray;
134
152
  setCalendarPosition(): void;
135
153
  private applyFocusOnDatePickerRangeField;
136
154
  private formatDate;
@@ -30,6 +30,7 @@ import { PoHelperComponent } from '../../po-helper';
30
30
  export declare class PoTextareaComponent extends PoTextareaBaseComponent implements AfterViewInit, OnChanges, OnDestroy {
31
31
  private readonly el;
32
32
  inputEl: ElementRef;
33
+ textareaBodyEl: ElementRef;
33
34
  helperEl?: PoHelperComponent;
34
35
  id: string;
35
36
  valueBeforeChange: any;
@@ -104,6 +105,6 @@ export declare class PoTextareaComponent extends PoTextareaBaseComponent impleme
104
105
  };
105
106
  private readonly onWindowResize;
106
107
  private checkScrollState;
107
- private calculateTextareaHeight;
108
+ private syncContainerWidth;
108
109
  private initResizeObserver;
109
110
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @usedBy PoTimepickerComponent
3
+ *
4
+ * @description
5
+ *
6
+ * *Enum* que define o padrão de formatação do model de saída do timepicker.
7
+ */
8
+ export declare enum PoTimepickerModelFormat {
9
+ /** Formato básico `HH:mm` (ex: `14:30`). */
10
+ HourMinute = "HH:mm",
11
+ /** Formato com segundos `HH:mm:ss` (ex: `14:30:00`). */
12
+ HourMinuteSecond = "HH:mm:ss"
13
+ }
@@ -0,0 +1,3 @@
1
+ export * from './enums/po-timepicker-iso-format.enum';
2
+ export * from './po-timepicker.component';
3
+ export * from './po-timepicker.module';