@po-ui/ng-components 21.7.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 (198) hide show
  1. package/fesm2022/po-ui-ng-components.mjs +5175 -564
  2. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  3. package/lib/components/index.d.ts +2 -0
  4. package/lib/components/po-accordion/po-accordion-base.component.d.ts +1 -1
  5. package/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.d.ts +3 -3
  6. package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +1 -1
  7. package/lib/components/po-accordion/po-accordion.component.d.ts +1 -1
  8. package/lib/components/po-accordion/services/po-accordion.service.d.ts +1 -1
  9. package/lib/components/po-badge/po-badge.component.d.ts +1 -1
  10. package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.d.ts +2 -2
  11. package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.d.ts +1 -1
  12. package/lib/components/po-breadcrumb/po-breadcrumb.component.d.ts +2 -2
  13. package/lib/components/po-button/po-button-base.component.d.ts +10 -8
  14. package/lib/components/po-button-group/po-button-group-base.component.d.ts +0 -2
  15. package/lib/components/po-calendar/constants/po-calendar-range-presets.constant.d.ts +2 -0
  16. package/lib/components/po-calendar/index.d.ts +2 -0
  17. package/lib/components/po-calendar/interfaces/po-calendar-range-preset.interface.d.ts +16 -0
  18. package/lib/components/po-calendar/po-calendar-base.component.d.ts +56 -2
  19. package/lib/components/po-calendar/po-calendar-footer/po-calendar-footer.component.d.ts +16 -0
  20. package/lib/components/po-calendar/po-calendar-preset-list/po-calendar-preset-list.component.d.ts +28 -0
  21. package/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.d.ts +12 -6
  22. package/lib/components/po-calendar/po-calendar.component.d.ts +29 -4
  23. package/lib/components/po-calendar/services/po-calendar.lang.service.d.ts +9 -7
  24. package/lib/components/po-context-menu/index.d.ts +3 -0
  25. package/lib/components/po-context-menu/po-context-menu-base.component.d.ts +92 -0
  26. package/lib/components/po-context-menu/po-context-menu-item.interface.d.ts +15 -0
  27. package/lib/components/po-context-menu/po-context-menu.component.d.ts +51 -0
  28. package/lib/components/po-context-menu/po-context-menu.module.d.ts +7 -0
  29. package/lib/components/po-disclaimer/po-disclaimer-base.component.d.ts +1 -1
  30. package/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.d.ts +1 -1
  31. package/lib/components/po-disclaimer-group/po-disclaimer-group.component.d.ts +1 -1
  32. package/lib/components/po-dropdown/po-dropdown.component.d.ts +3 -3
  33. package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +58 -7
  34. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +1 -1
  35. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.d.ts +1 -1
  36. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.d.ts +4 -4
  37. package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +5 -5
  38. package/lib/components/po-dynamic/po-dynamic-view/services/po-dynamic-view.service.d.ts +1 -1
  39. package/lib/components/po-field/index.d.ts +3 -0
  40. package/lib/components/po-field/po-checkbox/po-checkbox-base.component.d.ts +0 -6
  41. package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +0 -6
  42. package/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.d.ts +2 -2
  43. package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +1 -7
  44. package/lib/components/po-field/po-combo/po-combo-filter.service.d.ts +1 -1
  45. package/lib/components/po-field/po-combo/po-combo.component.d.ts +3 -3
  46. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +0 -6
  47. package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +3 -3
  48. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +56 -8
  49. package/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.d.ts +24 -6
  50. package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +4 -4
  51. package/lib/components/po-field/po-email/po-email.component.d.ts +1 -1
  52. package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +1 -1
  53. package/lib/components/po-field/po-field-container/po-field-container.component.d.ts +0 -2
  54. package/lib/components/po-field/po-input/po-input-base.component.d.ts +0 -6
  55. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +0 -6
  56. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +1 -1
  57. package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +3 -3
  58. package/lib/components/po-field/po-lookup/services/po-lookup-filter.service.d.ts +1 -1
  59. package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +1 -1
  60. package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +1 -7
  61. package/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.d.ts +1 -1
  62. package/lib/components/po-field/po-multiselect/po-multiselect-filter.service.d.ts +2 -2
  63. package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +5 -5
  64. package/lib/components/po-field/po-radio/po-radio.component.d.ts +2 -2
  65. package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +1 -7
  66. package/lib/components/po-field/po-radio-group/po-radio-group.component.d.ts +1 -1
  67. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +0 -6
  68. package/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.d.ts +2 -2
  69. package/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.d.ts +1 -1
  70. package/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.d.ts +1 -1
  71. package/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.d.ts +1 -1
  72. package/lib/components/po-field/po-rich-text/po-rich-text.component.d.ts +2 -2
  73. package/lib/components/po-field/po-rich-text/po-rich-text.service.d.ts +1 -1
  74. package/lib/components/po-field/po-select/po-select.component.d.ts +1 -7
  75. package/lib/components/po-field/po-switch/po-switch.component.d.ts +0 -7
  76. package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +0 -6
  77. package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +3 -2
  78. package/lib/components/po-field/po-timepicker/enums/po-timepicker-iso-format.enum.d.ts +13 -0
  79. package/lib/components/po-field/po-timepicker/index.d.ts +3 -0
  80. package/lib/components/po-field/po-timepicker/po-timepicker-base.component.d.ts +374 -0
  81. package/lib/components/po-field/po-timepicker/po-timepicker.component.d.ts +206 -0
  82. package/lib/components/po-field/po-timepicker/po-timepicker.literals.d.ts +46 -0
  83. package/lib/components/po-field/po-timepicker/po-timepicker.module.d.ts +7 -0
  84. package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +1 -7
  85. package/lib/components/po-field/po-upload/po-upload-base.service.d.ts +1 -1
  86. package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.d.ts +1 -1
  87. package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.d.ts +1 -1
  88. package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.d.ts +2 -2
  89. package/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.d.ts +2 -2
  90. package/lib/components/po-field/po-upload/po-upload.component.d.ts +4 -4
  91. package/lib/components/po-field/po-url/po-url.component.d.ts +1 -1
  92. package/lib/components/po-grid/po-grid-cell/po-grid-cell.component.d.ts +1 -1
  93. package/lib/components/po-grid/po-grid.component.d.ts +3 -3
  94. package/lib/components/po-header/po-header-base.component.d.ts +31 -5
  95. package/lib/components/po-header/po-header-brand/po-header-brand.component.d.ts +3 -2
  96. package/lib/components/po-header/po-header-customer/po-header-customer.component.d.ts +1 -0
  97. package/lib/components/po-header/po-header-menu-item/po-header-menu-item.component.d.ts +3 -2
  98. package/lib/components/po-header/po-header-tools/po-header-tools.component.d.ts +3 -2
  99. package/lib/components/po-header/po-header.component.d.ts +4 -4
  100. package/lib/components/po-helper/po-helper-base.component.d.ts +0 -8
  101. package/lib/components/po-icon/po-icon.component.d.ts +1 -1
  102. package/lib/components/po-list-view/po-list-view-base.component.d.ts +1 -1
  103. package/lib/components/po-list-view/po-list-view.component.d.ts +2 -2
  104. package/lib/components/po-listbox/po-item-list/po-item-list-base.component.d.ts +2 -2
  105. package/lib/components/po-listbox/po-listbox-base.component.d.ts +1 -1
  106. package/lib/components/po-listbox/po-search-list/po-search-list.component.d.ts +1 -1
  107. package/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.d.ts +1 -1
  108. package/lib/components/po-menu/po-menu-base.component.d.ts +13 -1
  109. package/lib/components/po-menu/po-menu-item/po-menu-item.component.d.ts +1 -1
  110. package/lib/components/po-menu/po-menu.component.d.ts +5 -4
  111. package/lib/components/po-menu/services/po-menu-global.service.d.ts +5 -5
  112. package/lib/components/po-menu/services/po-menu-items.service.d.ts +2 -2
  113. package/lib/components/po-menu/services/po-menu.service.d.ts +1 -1
  114. package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.d.ts +1 -1
  115. package/lib/components/po-menu-panel/po-menu-panel.component.d.ts +3 -3
  116. package/lib/components/po-menu-panel/services/po-menu-panel-items.service.d.ts +2 -2
  117. package/lib/components/po-modal/po-modal.component.d.ts +3 -3
  118. package/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.d.ts +1 -1
  119. package/lib/components/po-navbar/po-navbar-base.component.d.ts +1 -1
  120. package/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.d.ts +1 -1
  121. package/lib/components/po-navbar/po-navbar.component.d.ts +7 -7
  122. package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +3 -3
  123. package/lib/components/po-page/po-page-detail/po-page-detail-base.component.d.ts +1 -1
  124. package/lib/components/po-page/po-page-edit/po-page-edit-base.component.d.ts +1 -1
  125. package/lib/components/po-page/po-page-list/po-page-list.component.d.ts +3 -3
  126. package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +4 -4
  127. package/lib/components/po-popover/po-popover-base.component.d.ts +0 -2
  128. package/lib/components/po-popover/po-popover.component.d.ts +2 -1
  129. package/lib/components/po-popup/po-popup.component.d.ts +4 -4
  130. package/lib/components/po-progress/po-progress.component.d.ts +2 -2
  131. package/lib/components/po-search/po-search.component.d.ts +0 -1
  132. package/lib/components/po-skeleton/po-skeleton-base.component.d.ts +0 -23
  133. package/lib/components/po-slide/po-slide.component.d.ts +4 -4
  134. package/lib/components/po-stepper/po-step/po-step.component.d.ts +1 -1
  135. package/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.d.ts +3 -3
  136. package/lib/components/po-stepper/po-stepper.component.d.ts +1 -1
  137. package/lib/components/po-table/po-table-base.component.d.ts +3 -3
  138. package/lib/components/po-table/po-table-column-frozen/po-table-column-frozen.directive.d.ts +2 -2
  139. package/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.d.ts +2 -2
  140. package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +1 -1
  141. package/lib/components/po-table/po-table-list-manager/po-table-list-manager.component.d.ts +2 -2
  142. package/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.d.ts +1 -1
  143. package/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.d.ts +1 -1
  144. package/lib/components/po-table/po-table.component.d.ts +6 -6
  145. package/lib/components/po-table/services/po-table.service.d.ts +1 -1
  146. package/lib/components/po-tabs/po-tab/po-tab-base.component.d.ts +11 -1
  147. package/lib/components/po-tabs/po-tab/po-tab.component.d.ts +1 -1
  148. package/lib/components/po-tabs/po-tab-button/po-tab-button.component.d.ts +1 -1
  149. package/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.d.ts +1 -1
  150. package/lib/components/po-tabs/po-tabs.component.d.ts +22 -2
  151. package/lib/components/po-tabs/po-tabs.service.d.ts +2 -2
  152. package/lib/components/po-tag/po-tag-base.component.d.ts +1 -1
  153. package/lib/components/po-tag/po-tag.component.d.ts +2 -2
  154. package/lib/components/po-timer/enums/po-timer-format.enum.d.ts +13 -0
  155. package/lib/components/po-timer/index.d.ts +4 -0
  156. package/lib/components/po-timer/po-timer-base.component.d.ts +255 -0
  157. package/lib/components/po-timer/po-timer-scroll.helper.d.ts +40 -0
  158. package/lib/components/po-timer/po-timer.component.d.ts +208 -0
  159. package/lib/components/po-timer/po-timer.literals.d.ts +22 -0
  160. package/lib/components/po-timer/po-timer.module.d.ts +6 -0
  161. package/lib/components/po-toaster/po-toaster-base.component.d.ts +1 -1
  162. package/lib/components/po-toaster/po-toaster.component.d.ts +1 -1
  163. package/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.d.ts +1 -1
  164. package/lib/components/po-toolbar/po-toolbar.component.d.ts +1 -1
  165. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +1 -1
  166. package/lib/components/po-tree-view/po-tree-view.component.d.ts +1 -1
  167. package/lib/components/po-tree-view/services/po-tree-view.service.d.ts +2 -2
  168. package/lib/components/po-widget/po-widget-base.component.d.ts +0 -4
  169. package/lib/directives/po-tooltip/po-tooltip.directive.d.ts +4 -4
  170. package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +3 -3
  171. package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.d.ts +3 -3
  172. package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +2 -2
  173. package/lib/services/po-component-injector/po-component-injector.service.d.ts +3 -3
  174. package/lib/services/po-control-position/po-control-position.service.d.ts +2 -2
  175. package/lib/services/po-dialog/po-dialog.component.d.ts +1 -1
  176. package/lib/services/po-dialog/po-dialog.service.d.ts +1 -1
  177. package/lib/services/po-i18n/po-i18n-base.service.d.ts +3 -3
  178. package/lib/services/po-media-query/po-media-query.service.d.ts +1 -1
  179. package/lib/services/po-notification/po-notification.service.d.ts +1 -1
  180. package/lib/services/po-theme/po-theme.service.d.ts +2 -2
  181. package/package.json +4 -4
  182. package/po-ui-ng-components-21.9.0.tgz +0 -0
  183. package/schematics/ng-add/index.js +1 -1
  184. package/schematics/ng-update/v14/index.js +1 -1
  185. package/schematics/ng-update/v15/index.js +1 -1
  186. package/schematics/ng-update/v16/index.js +1 -1
  187. package/schematics/ng-update/v17/index.js +1 -1
  188. package/schematics/ng-update/v18/index.js +2 -2
  189. package/schematics/ng-update/v19/index.js +2 -2
  190. package/schematics/ng-update/v2/index.js +1 -1
  191. package/schematics/ng-update/v20/index.js +2 -2
  192. package/schematics/ng-update/v21/index.js +1 -1
  193. package/schematics/ng-update/v3/index.js +1 -1
  194. package/schematics/ng-update/v4/index.js +1 -1
  195. package/schematics/ng-update/v5/index.js +1 -1
  196. package/schematics/ng-update/v6/index.js +1 -1
  197. package/types/po-ui-ng-components.d.ts +1914 -419
  198. package/po-ui-ng-components-21.7.0.tgz +0 -0
@@ -0,0 +1,255 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { PoLanguageService } from '../../services/po-language/po-language.service';
4
+ import { PoTimerFormat } from './enums/po-timer-format.enum';
5
+ /**
6
+ * @docsPrivate
7
+ *
8
+ * @description
9
+ *
10
+ * O `po-timer` é um componente de seleção de horário que apresenta colunas de horas, minutos e, opcionalmente, segundos
11
+ * para que a pessoa usuária escolha um horário de forma intuitiva.
12
+ *
13
+ * O componente é recomendado para cenários onde é necessário selecionar um horário específico, podendo ser utilizado
14
+ * de forma independente ou integrado ao `po-timepicker` como painel flutuante de seleção.
15
+ *
16
+ * O valor de saída segue o formato ISO 8601 para horários (`HH:mm` ou `HH:mm:ss`).
17
+ *
18
+ * **Importante:**
19
+ * - Horários fora do intervalo (`p-min-time` / `p-max-time`) aparecem desabilitados sem alterar o *model*.
20
+ *
21
+ * #### Boas práticas
22
+ *
23
+ * - Utilize o formato de 24 horas quando o contexto for profissional ou técnico (ex: agendamentos, logs).
24
+ * - Utilize o formato de 12 horas (AM/PM) quando o público-alvo estiver habituado a esse padrão.
25
+ * - Defina intervalos de minutos adequados ao contexto: intervalos de 5 minutos para agendamentos gerais,
26
+ * intervalos de 15 minutos para reuniões, ou intervalos de 1 minuto para precisão.
27
+ * - Configure limites mínimo e máximo para impedir seleção de horários inválidos no contexto da aplicação.
28
+ *
29
+ * #### Acessibilidade tratada no componente
30
+ *
31
+ * Algumas diretrizes de acessibilidade já são tratadas no componente, internamente, e não podem ser alteradas pelo
32
+ * proprietário do conteúdo. São elas:
33
+ *
34
+ * - Navegação por teclado: O componente permite interação via tecla Tab entre as colunas e navegação nas células
35
+ * por meio das setas direcionais (Arrow Up/Down).
36
+ * - Foco visual: A área de foco possui espessura de pelo menos 2 pixels CSS e não é sobreposta por outros elementos da tela,
37
+ * garantindo visibilidade para usuários que utilizam teclado.
38
+ * [WCAG 2.4.12: Focus Appearance](https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance-enhanced)
39
+ * - Leitores de tela: Cada coluna e célula possui atributos ARIA para correta leitura por leitores de tela
40
+ * como NVDA e VoiceOver.
41
+ *
42
+ * #### Tokens customizáveis
43
+ *
44
+ * É possível alterar o estilo do componente usando os seguintes tokens (CSS):
45
+ *
46
+ * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
47
+ *
48
+ * | Propriedade | Descrição | Valor Padrão |
49
+ * |--------------------------------|------------------------------------------------------|-----------------------------------|
50
+ * | **Base** | | |
51
+ * | `--background` | Cor de fundo | `var(--color-neutral-light-00)` |
52
+ * | `--border-color` | Cor da borda | `var(--color-neutral-light-20)` |
53
+ * | `--border-radius` | Raio da borda | `var(--border-radius-md)` |
54
+ * | `--border-width` | Largura da borda | `var(--border-width-sm)` |
55
+ * | `--shadow` | Contém o valor da sombra do elemento | `var(--shadow-md)` |
56
+ * | **Display** | | |
57
+ * | `--color-display` | Cor da fonte do display | `var(--color-brand-01-base)` |
58
+ * | `--font-weight-display` | Peso da fonte do display | `var(--font-weight-bold)` |
59
+ * | `--border-radius-display` | Raio da borda do display | `var(--border-radius-md)` |
60
+ * | **Hover** | | |
61
+ * | `--color-hover-display` | Cor da fonte do display ao passar o mouse | `var(--color-brand-01-darkest)` |
62
+ * | `--background-hover-display` | Cor de fundo do display ao passar o mouse | `var(--color-brand-01-lighter)` |
63
+ * | **Focus** | | |
64
+ * | `--outline-color-focused-display` | Cor do outline do estado de focus | `var(--color-brand-01-darkest)` |
65
+ * | **Pressed** | | |
66
+ * | `--background-pressed-display` | Cor de fundo do display ao pressionar | `var(--color-brand-01-light)` |
67
+ * | **Disabled** | | |
68
+ * | `--color-disabled-display` | Cor da fonte do display desabilitado | `var(--color-neutral-light-30)` |
69
+ * | **Transitions** | | |
70
+ * | `--transition-duration` | Duração da transição do display | `var(--duration-extra-fast)` |
71
+ * | `--transition-property` | Atributo da transição do display | `all` |
72
+ * | `--transition-timing` | Tipo de transição do display | `var(--timing-standart)` |
73
+ */
74
+ export declare class PoTimerBaseComponent implements ControlValueAccessor {
75
+ protected languageService: PoLanguageService;
76
+ private _format;
77
+ private _locale;
78
+ private _maxTime;
79
+ private _minTime;
80
+ private _minuteInterval;
81
+ private _secondInterval;
82
+ private _showSeconds;
83
+ private _size?;
84
+ private _initialSize;
85
+ private readonly shortLanguage;
86
+ protected onChangePropagate: (value: string) => void;
87
+ protected onTouched: () => void;
88
+ /**
89
+ * @optional
90
+ *
91
+ * @description
92
+ *
93
+ * Evento disparado ao selecionar um horário.
94
+ * Retorna uma `string` no formato ISO 8601 (`HH:mm` ou `HH:mm:ss`).
95
+ */
96
+ change: EventEmitter<string>;
97
+ /**
98
+ * @optional
99
+ *
100
+ * @description
101
+ *
102
+ * Define um valor inicial para o componente no formato ISO 8601 (`HH:mm` ou `HH:mm:ss`).
103
+ */
104
+ set value(value: string);
105
+ get value(): string;
106
+ /**
107
+ * @optional
108
+ *
109
+ * @description
110
+ *
111
+ * Define o formato de exibição do timer.
112
+ *
113
+ * Valores válidos:
114
+ * - `24`: formato de 24 horas (padrão)
115
+ * - `12`: formato de 12 horas com indicador AM/PM
116
+ *
117
+ * @default `24`
118
+ */
119
+ set format(value: PoTimerFormat);
120
+ get format(): PoTimerFormat;
121
+ /**
122
+ * @optional
123
+ *
124
+ * @description
125
+ *
126
+ * Idioma do componente.
127
+ *
128
+ * > O locale padrão será recuperado com base no [`PoI18nService`](/documentation/po-i18n) ou *browser*.
129
+ */
130
+ set locale(locale: string);
131
+ get locale(): string;
132
+ /**
133
+ * @optional
134
+ *
135
+ * @description
136
+ *
137
+ * Define o horário máximo permitido para seleção.
138
+ * Horários posteriores ao limite ficam desabilitados.
139
+ *
140
+ * Formato aceito: `HH:mm` ou `HH:mm:ss`.
141
+ */
142
+ set maxTime(value: string);
143
+ get maxTime(): string;
144
+ /**
145
+ * @optional
146
+ *
147
+ * @description
148
+ *
149
+ * Define o horário mínimo permitido para seleção.
150
+ * Horários anteriores ao limite ficam desabilitados.
151
+ *
152
+ * Formato aceito: `HH:mm` ou `HH:mm:ss`.
153
+ */
154
+ set minTime(value: string);
155
+ get minTime(): string;
156
+ /**
157
+ * @optional
158
+ *
159
+ * @description
160
+ *
161
+ * Define o intervalo entre os minutos exibidos no painel.
162
+ *
163
+ * @default `5`
164
+ */
165
+ set minuteInterval(value: number);
166
+ get minuteInterval(): number;
167
+ /**
168
+ * @optional
169
+ *
170
+ * @description
171
+ *
172
+ * Define o intervalo entre os segundos exibidos no painel.
173
+ * Utilizado apenas quando `p-show-seconds` está ativo.
174
+ *
175
+ * @default `1`
176
+ */
177
+ set secondInterval(value: number);
178
+ get secondInterval(): number;
179
+ /**
180
+ * @optional
181
+ *
182
+ * @description
183
+ *
184
+ * Exibe a coluna de segundos no painel de seleção.
185
+ *
186
+ * @default `false`
187
+ */
188
+ set showSeconds(value: boolean);
189
+ get showSeconds(): boolean;
190
+ /**
191
+ * @optional
192
+ *
193
+ * @description
194
+ *
195
+ * Define o tamanho do componente.
196
+ *
197
+ * > Caso a acessibilidade AA não esteja configurada, o tamanho `medium` será mantido.
198
+ * Para mais detalhes, consulte a documentação do [po-theme](https://po-ui.io/documentation/po-theme).
199
+ *
200
+ * @default `medium`
201
+ */
202
+ set size(value: string);
203
+ get size(): string;
204
+ literals: {
205
+ hours: string;
206
+ minutes: string;
207
+ seconds: string;
208
+ };
209
+ hours: Array<number>;
210
+ minutes: Array<number>;
211
+ seconds: Array<number>;
212
+ selectedHour: number;
213
+ selectedMinute: number;
214
+ selectedSecond: number;
215
+ period: string;
216
+ constructor(languageService: PoLanguageService);
217
+ get is12HourFormat(): boolean;
218
+ protected onThemeChange(): void;
219
+ /** Gera a lista de horas disponíveis de acordo com o formato. */
220
+ protected generateHours(): void;
221
+ /** Gera a lista de minutos de acordo com o intervalo configurado. */
222
+ protected generateMinutes(): void;
223
+ /** Gera a lista de segundos de acordo com o intervalo configurado. */
224
+ protected generateSeconds(): void;
225
+ /** Formata um número com dois dígitos. */
226
+ protected formatValue(value: number): string;
227
+ /** Verifica se uma hora está desabilitada com base nos limites min/max. */
228
+ protected isHourDisabled(hour: number): boolean;
229
+ /** Verifica se um minuto está desabilitado com base nos limites min/max e hora selecionada. */
230
+ protected isMinuteDisabled(minute: number): boolean;
231
+ /** Verifica se um segundo está desabilitado com base nos limites min/max, hora e minuto selecionados. */
232
+ protected isSecondDisabled(second: number): boolean;
233
+ protected isMinuteAllowedForHour(hour: number, minute: number): boolean;
234
+ protected isSecondAllowed(hour: number, minute: number, second: number): boolean;
235
+ /** Gera o valor ISO 8601 com base na seleção atual. */
236
+ protected buildTimeValue(): string;
237
+ /** Define o horário a partir de uma string ISO. */
238
+ setTimeFromString(time: string): void;
239
+ /** Converte hora 24h para formato de exibicao 12h com periodo. */
240
+ private convertTo12HourDisplay;
241
+ writeValue(value: any): void;
242
+ registerOnChange(fn: (value: string) => void): void;
243
+ registerOnTouched(fn: () => void): void;
244
+ setDisabledState(_isDisabled: boolean): void;
245
+ protected emitChange(): void;
246
+ protected callOnTouched(): void;
247
+ private updateModel;
248
+ /** Converte hora no formato atual para formato de 24 horas. */
249
+ protected convertTo24Hour(hour: number): number;
250
+ /** Extrai componente do tempo (hora, minuto ou segundo) de uma string. */
251
+ protected parseTimeComponent(time: string, component: 'hour' | 'minute' | 'second'): number;
252
+ private applySizeBasedOnA11y;
253
+ private isValidTimeString;
254
+ private setLiterals;
255
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @docsPrivate
3
+ *
4
+ * Helper com funcoes puras de matematica e layout para o infinity scroll
5
+ * do po-timer. Nenhuma dessas funcoes acessa estado do componente — recebem
6
+ * e devolvem apenas valores, facilitando testes unitarios isolados.
7
+ */
8
+ export declare class PoTimerScrollHelper {
9
+ /**
10
+ * Normaliza o offset para o intervalo [sectionHeight, 2 * sectionHeight).
11
+ *
12
+ * Matematica:
13
+ * mod = ((offset - sH) % sH + sH) % sH → resultado em [0, sH)
14
+ * retorno = mod + sH → resultado em [sH, 2*sH)
15
+ *
16
+ * Funciona para qualquer valor de offset (positivo, negativo, multiplos).
17
+ */
18
+ static wrapOffset(offset: number, sectionHeight: number): number;
19
+ /**
20
+ * Calcula o passo (em px) por item, incluindo o gap entre itens.
21
+ *
22
+ * Para N itens num flex-column com altura H, gap G e padding P:
23
+ * scrollHeight = N*H + (N-1)*G + 2*P
24
+ * passo = H + G = (scrollHeight - 2*P + G) / N
25
+ */
26
+ static getCellStep(itemsEl: HTMLElement, displayCount: number): number;
27
+ /**
28
+ * Calcula o indice no displayArray do item visivel no topo a partir do offset.
29
+ * Usa Math.round para snap ao item mais proximo.
30
+ */
31
+ static computeTopDisplayIndex(offset: number, step: number, displayLength: number): number;
32
+ /**
33
+ * Repete o array fonte o numero necessario de vezes para manter
34
+ * o infinity scroll com pelo menos INFINITY_SCROLL_MIN_ITEMS itens.
35
+ *
36
+ * Quando o array fonte tem menos de 6 itens, retorna uma copia simples
37
+ * (sem repeticao), pois o infinity scroll nao e utilizado.
38
+ */
39
+ static repeatArray(source: Array<number>): Array<number>;
40
+ }
@@ -0,0 +1,208 @@
1
+ import { AfterViewInit, AfterViewChecked, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
+ import { PoTimerBaseComponent } from './po-timer-base.component';
3
+ /** Tipo dos eixos das colunas. */
4
+ type PoTimerColumnType = 'hour' | 'minute' | 'second' | 'period';
5
+ /**
6
+ * @docsPrivate
7
+ *
8
+ * @docsExtends PoTimerBaseComponent
9
+ *
10
+ * @example
11
+ *
12
+ * <example name="po-timer-basic" title="PO Timer Basic">
13
+ * <file name="sample-po-timer-basic/sample-po-timer-basic.component.html"> </file>
14
+ * <file name="sample-po-timer-basic/sample-po-timer-basic.component.ts"> </file>
15
+ * </example>
16
+ *
17
+ * <example name="po-timer-labs" title="PO Timer Labs">
18
+ * <file name="sample-po-timer-labs/sample-po-timer-labs.component.html"> </file>
19
+ * <file name="sample-po-timer-labs/sample-po-timer-labs.component.ts"> </file>
20
+ * </example>
21
+ *
22
+ * <example name="po-timer-alarm" title="PO Timer - Alarm">
23
+ * <file name="sample-po-timer-alarm/sample-po-timer-alarm.component.html"> </file>
24
+ * <file name="sample-po-timer-alarm/sample-po-timer-alarm.component.ts"> </file>
25
+ * </example>
26
+ *
27
+ * <example name="po-timer-shift" title="PO Timer - Shift">
28
+ * <file name="sample-po-timer-shift/sample-po-timer-shift.component.html"> </file>
29
+ * <file name="sample-po-timer-shift/sample-po-timer-shift.component.ts"> </file>
30
+ * </example>
31
+ */
32
+ export declare class PoTimerComponent extends PoTimerBaseComponent implements OnInit, OnChanges, AfterViewInit, AfterViewChecked, OnDestroy {
33
+ hourCells: QueryList<ElementRef>;
34
+ minuteCells: QueryList<ElementRef>;
35
+ secondCells: QueryList<ElementRef>;
36
+ periodCells: QueryList<ElementRef>;
37
+ hourItemsRefs: QueryList<ElementRef<HTMLElement>>;
38
+ minuteItemsRefs: QueryList<ElementRef<HTMLElement>>;
39
+ secondItemsRefs: QueryList<ElementRef<HTMLElement>>;
40
+ displayHours: Array<number>;
41
+ displayMinutes: Array<number>;
42
+ displaySeconds: Array<number>;
43
+ boundaryTab: EventEmitter<{
44
+ direction: "forward" | "backward";
45
+ event: KeyboardEvent;
46
+ column: PoTimerColumnType;
47
+ }>;
48
+ private readonly changeDetector;
49
+ private readonly ngZone;
50
+ private readonly domDocument;
51
+ private hasViewInitialized;
52
+ private currentRenderedSize;
53
+ /** ID do requestAnimationFrame pendente para throttle do wheel. */
54
+ private wheelRafId;
55
+ /**
56
+ * Offset atual (em px) de cada coluna, mantido em JS.
57
+ * O container de itens e posicionado via translateY(-offset).
58
+ * O offset e mantido sempre no intervalo [sectionHeight, 2*sectionHeight)
59
+ * para que o salto de reposicionamento seja sempre invisivel (as secoes
60
+ * sao identicas por serem copias do mesmo array fonte).
61
+ */
62
+ private columnOffsets;
63
+ /**
64
+ * Indice no displayArray do item focado em cada coluna.
65
+ * Usado para redirecionar o foco ao botao correto ao entrar na coluna via Tab.
66
+ */
67
+ private focusedDisplayIndex;
68
+ activeDescendantIds: Record<PoTimerColumnType, string>;
69
+ disabledMinuteCache: Set<number>;
70
+ disabledSecondCache: Set<number>;
71
+ constructor();
72
+ ngOnInit(): void;
73
+ ngOnChanges(changes: SimpleChanges): void;
74
+ ngAfterViewInit(): void;
75
+ ngAfterViewChecked(): void;
76
+ ngOnDestroy(): void;
77
+ onSelectHour(hour: number): void;
78
+ onSelectMinute(minute: number): void;
79
+ onSelectSecond(second: number): void;
80
+ onSelectPeriod(newPeriod: string): void;
81
+ onCellFocus(type: PoTimerColumnType, displayIndex: number): void;
82
+ getCellTabIndex(type: PoTimerColumnType, displayIndex: number): number;
83
+ onCellKeydown(event: KeyboardEvent, type: PoTimerColumnType): void;
84
+ onPeriodKeydown(event: KeyboardEvent): void;
85
+ onColumnWheel(event: WheelEvent, type: PoTimerColumnType): void;
86
+ writeValue(time: string): void;
87
+ trackByIndex(index: number, _item: number): number;
88
+ focusFirstVisibleCell(): void;
89
+ focusLastVisibleCell(): void;
90
+ initAllColumnOffsets(): void;
91
+ /**
92
+ * Posiciona o container de itens na secao do meio do array repetido,
93
+ * alinhando o item selecionado ao topo da janela visivel.
94
+ *
95
+ * Estrutura do array repetido (exemplo sourceLength = 24, repeats = 3):
96
+ * [secao 0: itens 0-23] [secao 1: itens 0-23] [secao 2: itens 0-23]
97
+ * ^--- usuario fica aqui (offset em [sH, 2*sH))
98
+ *
99
+ * Usar a secao do meio garante que qualquer deslize para cima ou para baixo
100
+ * tem espaco antes de precisar fazer o wrap.
101
+ */
102
+ private initColumnOffset;
103
+ private getFirstAvailableIndexByType;
104
+ private getReferenceHourForConstraints;
105
+ private getReferenceMinuteForConstraints;
106
+ private isValueDisabledByType;
107
+ /**
108
+ * Desloca a coluna pelo numero de passos indicado e aplica o wrap modular.
109
+ *
110
+ * O wrap mantem o offset em [sectionHeight, 2*sectionHeight), aproveitando
111
+ * o fato de que as secoes sao identicas — o salto e impercetivel visualmente.
112
+ */
113
+ private scrollColumnByStep;
114
+ private wrapOffset;
115
+ private getCellStep;
116
+ /**
117
+ * Foca o botao nativo (<button> interno ao po-button) no indice indicado
118
+ * do displayArray da coluna. O po-button tem tabindex=-1 para nao aparecer
119
+ * no fluxo natural do Tab, mas pode receber foco programatico.
120
+ */
121
+ private focusButtonAt;
122
+ private focusActiveButton;
123
+ private computeTopDisplayIndex;
124
+ /**
125
+ * Foca a proxima coluna visivel do componente.
126
+ * Se a coluna atual for a ultima, nao cancela o evento e deixa o browser
127
+ * mover o foco para o proximo elemento focavel apos o componente.
128
+ */
129
+ private focusNextColumn;
130
+ /**
131
+ * Foca a coluna anterior visivel do componente.
132
+ * Se a coluna atual for a primeira, nao cancela o evento e deixa o browser
133
+ * mover o foco para o elemento focavel antes do componente.
134
+ */
135
+ private focusPreviousColumn;
136
+ /**
137
+ * Retorna, em ordem DOM, os elementos focaveis de todas as colunas visiveis.
138
+ * Inclui o div da coluna AM/PM (se visivel), cujos botoes internos recebem
139
+ * o foco diretamente pois nao usam o padrao de roving focus.
140
+ */
141
+ private getVisibleColumnTypes;
142
+ private getCellsForType;
143
+ /** Atualiza aria-activedescendant para o indice focado no displayArray. */
144
+ private updateActiveDescendant;
145
+ /**
146
+ * Move o foco para o proximo item habilitado na direcao indicada.
147
+ * So aplica translate quando o item focado fica parcial ou totalmente fora da viewport.
148
+ */
149
+ private moveFocusByStep;
150
+ private movePeriodFocusByStep;
151
+ private selectFocusedPeriod;
152
+ private getFocusableDisplayIndex;
153
+ /** Seleciona o item atualmente focado na coluna. */
154
+ private selectFocusedItem;
155
+ private shouldTranslateToRevealFocusedItem;
156
+ private getStepsToRevealFocusedItem;
157
+ private getColumnViewportHeight;
158
+ private getNextEnabledDisplayIndex;
159
+ private getForwardDistance;
160
+ private getNormalizedDisplayIndex;
161
+ private getDisplayIndexForSourceNearViewport;
162
+ private getItemsElement;
163
+ private normalizeFocusedIndex;
164
+ private getNormalizedFocusedIndex;
165
+ private getCurrentFocusedDisplayIndex;
166
+ private getDomFocusedDisplayIndex;
167
+ private isDisplayIndexDisabled;
168
+ private getSelectedValue;
169
+ private buildDisplayArrays;
170
+ /** Reconstroi os caches de minutos e segundos desabilitados. */
171
+ private rebuildDisabledCaches;
172
+ private getFirstAvailableMinuteForCurrentHour;
173
+ private getFirstAvailableSecondForCurrentHourAndMinute;
174
+ private realignColumnsToSelection;
175
+ private refreshRovingTabIndex;
176
+ private repeatArray;
177
+ private getSourceArray;
178
+ private getDisplayArray;
179
+ /**
180
+ * Propaga atributos ARIA (role, aria-selected, aria-setsize, aria-posinset)
181
+ * dos elementos host <po-button> para os elementos nativos <button> internos,
182
+ * garantindo que leitores de tela como NVDA recebam a semantica correta.
183
+ *
184
+ * Usa a secao fixa do meio [sourceLength, 2*sourceLength) como canonica.
185
+ * Quando o item focado esta fora dessa secao (na fronteira do infinity scroll),
186
+ * ele substitui o item equivalente na secao fixa para manter exatamente
187
+ * sourceLength itens com role="option".
188
+ *
189
+ * Duplicatas recebem aria-hidden="true" e role="none" no <button> nativo
190
+ * (nao apenas no host <po-button>), pois NVDA ignora aria-hidden em
191
+ * elementos customizados e conta <button> filhos de role="listbox".
192
+ */
193
+ private syncAriaToNativeButtons;
194
+ /**
195
+ * Determina se um item do displayArray e canonico para fins de ARIA.
196
+ *
197
+ * - Sem infinity scroll: todos sao canonicos.
198
+ * - Com infinity scroll: a secao que contem o item focado e canonica.
199
+ */
200
+ private isCanonicalDisplayItem;
201
+ /**
202
+ * Sincroniza os atributos ARIA de um unico par host/nativeButton.
203
+ * Chamado tanto por syncAriaToNativeButtons (batch) quanto por
204
+ * focusButtonAt (antes do .focus()) para evitar leitura duplicada.
205
+ */
206
+ private syncSingleButtonAria;
207
+ }
208
+ export {};
@@ -0,0 +1,22 @@
1
+ export declare const poTimerLiterals: {
2
+ en: {
3
+ hours: string;
4
+ minutes: string;
5
+ seconds: string;
6
+ };
7
+ es: {
8
+ hours: string;
9
+ minutes: string;
10
+ seconds: string;
11
+ };
12
+ pt: {
13
+ hours: string;
14
+ minutes: string;
15
+ seconds: string;
16
+ };
17
+ ru: {
18
+ hours: string;
19
+ minutes: string;
20
+ seconds: string;
21
+ };
22
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @description
3
+ * Módulo do componente `po-timer`.
4
+ */
5
+ export declare class PoTimerModule {
6
+ }
@@ -51,7 +51,7 @@ import { PoToaster } from './interface/po-toaster.interface';
51
51
  *
52
52
  */
53
53
  export declare abstract class PoToasterBaseComponent {
54
- private _isHide;
54
+ private readonly _isHide;
55
55
  private _sizeActions;
56
56
  private _initialSizeActions;
57
57
  /**
@@ -20,7 +20,7 @@ import { PoToasterBaseComponent } from './po-toaster-base.component';
20
20
  */
21
21
  export declare class PoToasterComponent extends PoToasterBaseComponent implements AfterViewInit, OnDestroy, OnChanges {
22
22
  changeDetector: ChangeDetectorRef;
23
- private renderer;
23
+ private readonly renderer;
24
24
  toaster: ElementRef;
25
25
  buttonClose: PoButtonComponent;
26
26
  alive: boolean;
@@ -14,7 +14,7 @@ import { PoToolbarAction } from '../po-toolbar-action.interface';
14
14
  * ícone de notificações.
15
15
  */
16
16
  export declare class PoToolbarNotificationComponent implements AfterViewInit {
17
- private cdr;
17
+ private readonly cdr;
18
18
  notificationRef: ElementRef;
19
19
  notificationActions?: Array<PoToolbarAction>;
20
20
  private _notificationNumber?;
@@ -21,7 +21,7 @@ import { PoToolbarBaseComponent } from './po-toolbar-base.component';
21
21
  * </example>
22
22
  */
23
23
  export declare class PoToolbarComponent extends PoToolbarBaseComponent implements OnInit {
24
- private titleService;
24
+ private readonly titleService;
25
25
  ngOnInit(): void;
26
26
  private setTitle;
27
27
  }
@@ -1,6 +1,6 @@
1
1
  import { PoTreeViewItem } from './po-tree-view-item.interface';
2
2
  export declare class PoTreeViewItemComponent {
3
- private treeViewService;
3
+ private readonly treeViewService;
4
4
  componentsSize: string;
5
5
  item: PoTreeViewItem;
6
6
  selectable: boolean;
@@ -26,7 +26,7 @@ import { PoTreeViewBaseComponent } from './po-tree-view-base.component';
26
26
  * </example>
27
27
  */
28
28
  export declare class PoTreeViewComponent extends PoTreeViewBaseComponent implements OnInit, OnChanges {
29
- private treeViewService;
29
+ private readonly treeViewService;
30
30
  get hasItems(): boolean;
31
31
  ngOnInit(): void;
32
32
  ngOnChanges(changes?: SimpleChanges): void;
@@ -1,7 +1,7 @@
1
1
  import { PoTreeViewItem } from '../po-tree-view-item/po-tree-view-item.interface';
2
2
  export declare class PoTreeViewService {
3
- private expandedEvent;
4
- private selectedEvent;
3
+ private readonly expandedEvent;
4
+ private readonly selectedEvent;
5
5
  emitExpandedEvent(treeViewItem: PoTreeViewItem): void;
6
6
  emitSelectedEvent(treeViewItem: PoTreeViewItem): void;
7
7
  onExpand(): import("rxjs").Observable<PoTreeViewItem>;
@@ -171,8 +171,6 @@ export declare class PoWidgetBaseComponent {
171
171
  */
172
172
  tagIcon: string | TemplateRef<void>;
173
173
  /**
174
- * @Input p-tag-position
175
- *
176
174
  * @optional
177
175
  *
178
176
  * @description
@@ -210,8 +208,6 @@ export declare class PoWidgetBaseComponent {
210
208
  set size(value: string);
211
209
  get size(): string;
212
210
  /**
213
- * @Input p-avatar
214
- *
215
211
  * @optional
216
212
  *
217
213
  * @description
@@ -24,9 +24,9 @@ import { DomSanitizer } from '@angular/platform-browser';
24
24
  *
25
25
  */
26
26
  export declare class PoTooltipDirective extends PoTooltipBaseDirective implements OnInit, OnDestroy {
27
- private elementRef;
28
- private renderer;
29
- private poControlPosition;
27
+ private readonly elementRef;
28
+ private readonly renderer;
29
+ private readonly poControlPosition;
30
30
  private readonly sanitizer;
31
31
  private arrowDirection;
32
32
  private divArrow;
@@ -34,7 +34,7 @@ export declare class PoTooltipDirective extends PoTooltipBaseDirective implement
34
34
  private isHidden;
35
35
  private lastTooltipText;
36
36
  private textContent;
37
- private tooltipOffset;
37
+ private readonly tooltipOffset;
38
38
  private eventListenerFunction;
39
39
  constructor(elementRef: ElementRef, renderer: Renderer2, poControlPosition: PoTooltipControlPositionService, sanitizer: DomSanitizer);
40
40
  ngOnDestroy(): void;
@@ -165,9 +165,9 @@ import { PoLanguageService } from '../../services/po-language/po-language.servic
165
165
  *
166
166
  */
167
167
  export declare abstract class PoHttpInterceptorBaseService implements HttpInterceptor {
168
- private componentInjector;
169
- private notification;
170
- private languageService;
168
+ private readonly componentInjector;
169
+ private readonly notification;
170
+ private readonly languageService;
171
171
  notificationTypes: string[];
172
172
  literals: any;
173
173
  private httpInterceptorDetailComponent;