@po-ui/ng-components 21.15.0 → 21.17.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-C4GP9pZp.mjs → po-ui-ng-components-po-chart-modal-table.component-ZnSFYVDt.mjs} +4 -4
  2. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-C4GP9pZp.mjs.map → po-ui-ng-components-po-chart-modal-table.component-ZnSFYVDt.mjs.map} +1 -1
  3. package/fesm2022/po-ui-ng-components.mjs +18352 -14823
  4. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  5. package/lib/components/index.d.ts +1 -0
  6. package/lib/components/po-calendar/po-calendar-base.component.d.ts +54 -44
  7. package/lib/components/po-calendar/po-calendar-mode.enum.d.ts +2 -1
  8. package/lib/components/po-calendar/po-calendar.component.d.ts +7 -2
  9. package/lib/components/po-calendar/services/po-calendar.service.d.ts +1 -0
  10. package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +28 -8
  11. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +7 -0
  12. package/lib/components/po-field/index.d.ts +2 -0
  13. package/lib/components/po-field/po-datetimepicker/po-datetimepicker-base.component.d.ts +509 -0
  14. package/lib/components/po-field/po-datetimepicker/po-datetimepicker.component.d.ts +130 -0
  15. package/lib/components/po-field/po-datetimepicker/po-datetimepicker.literals.d.ts +42 -0
  16. package/lib/components/po-field/po-datetimepicker/po-datetimepicker.module.d.ts +7 -0
  17. package/lib/components/po-field/po-field.module.d.ts +1 -1
  18. package/lib/components/po-filter-chip/index.d.ts +4 -0
  19. package/lib/components/po-filter-chip/interfaces/po-filter-chip-selected-change.interface.d.ts +13 -0
  20. package/lib/components/po-filter-chip/po-filter-chip-base.component.d.ts +91 -0
  21. package/lib/components/po-filter-chip/po-filter-chip.component.d.ts +31 -0
  22. package/lib/components/po-filter-chip/po-filter-chip.module.d.ts +7 -0
  23. package/lib/components/po-helper/interfaces/po-helper.interface.d.ts +10 -5
  24. package/lib/components/po-helper/po-helper.component.d.ts +2 -0
  25. package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +35 -1
  26. package/lib/components/po-page/po-page-detail/po-page-detail-base.component.d.ts +11 -1
  27. package/lib/components/po-page/po-page-edit/po-page-edit-base.component.d.ts +11 -1
  28. package/lib/components/po-page/po-page-header/po-page-header-base.component.d.ts +10 -2
  29. package/lib/components/po-page/po-page-list/po-page-list-base.component.d.ts +11 -1
  30. package/lib/components/po-popover/po-popover.component.d.ts +1 -0
  31. package/lib/components/po-table/po-table.component.d.ts +35 -4
  32. package/lib/components/po-timer/po-timer.component.d.ts +2 -2
  33. package/lib/services/index.d.ts +1 -0
  34. package/lib/services/po-theme/helpers/types/po-theme-dark-defaults-AA.constant.d.ts +1 -0
  35. package/lib/services/po-theme/helpers/types/po-theme-dark-defaults.constant.d.ts +1 -0
  36. package/lib/services/po-user-guide/enums/index.d.ts +2 -0
  37. package/lib/services/po-user-guide/enums/po-user-guide-alignment.enum.d.ts +18 -0
  38. package/lib/services/po-user-guide/enums/po-user-guide-position.enum.d.ts +24 -0
  39. package/lib/services/po-user-guide/index.d.ts +6 -0
  40. package/lib/services/po-user-guide/interfaces/index.d.ts +6 -0
  41. package/lib/services/po-user-guide/interfaces/po-user-guide-end-event.interface.d.ts +46 -0
  42. package/lib/services/po-user-guide/interfaces/po-user-guide-literals.interface.d.ts +19 -0
  43. package/lib/services/po-user-guide/interfaces/po-user-guide-options.interface.d.ts +195 -0
  44. package/lib/services/po-user-guide/interfaces/po-user-guide-start-event.interface.d.ts +39 -0
  45. package/lib/services/po-user-guide/interfaces/po-user-guide-step-change-event.interface.d.ts +54 -0
  46. package/lib/services/po-user-guide/interfaces/po-user-guide-step.interface.d.ts +169 -0
  47. package/lib/services/po-user-guide/po-user-guide-base.service.d.ts +365 -0
  48. package/lib/services/po-user-guide/po-user-guide-scroll-lock.d.ts +55 -0
  49. package/lib/services/po-user-guide/po-user-guide.literals.d.ts +7 -0
  50. package/lib/services/po-user-guide/po-user-guide.module.d.ts +2 -0
  51. package/lib/services/po-user-guide/po-user-guide.service.d.ts +174 -0
  52. package/lib/utils/safe-text-parser.d.ts +23 -0
  53. package/package.json +5 -4
  54. package/po-ui-ng-components-21.17.0-beta.1.tgz +0 -0
  55. package/schematics/ng-add/index.js +1 -1
  56. package/schematics/ng-update/v14/index.js +1 -1
  57. package/schematics/ng-update/v15/index.js +1 -1
  58. package/schematics/ng-update/v16/index.js +1 -1
  59. package/schematics/ng-update/v17/index.js +1 -1
  60. package/schematics/ng-update/v18/index.js +2 -2
  61. package/schematics/ng-update/v19/index.js +2 -2
  62. package/schematics/ng-update/v2/index.js +1 -1
  63. package/schematics/ng-update/v20/index.js +2 -2
  64. package/schematics/ng-update/v21/index.js +1 -1
  65. package/schematics/ng-update/v3/index.js +1 -1
  66. package/schematics/ng-update/v4/index.js +1 -1
  67. package/schematics/ng-update/v5/index.js +1 -1
  68. package/schematics/ng-update/v6/index.js +1 -1
  69. package/types/po-ui-ng-components.d.ts +17326 -15253
  70. package/po-ui-ng-components-21.15.0.tgz +0 -0
@@ -0,0 +1,195 @@
1
+ import { PoUserGuideLiterals } from './po-user-guide-literals.interface';
2
+ import { PoUserGuideStepChangeEvent } from './po-user-guide-step-change-event.interface';
3
+ /**
4
+ * @usedBy PoUserGuideService
5
+ *
6
+ * @description
7
+ *
8
+ * Interface que descreve as opções globais de configuração do tour guiado executado pelo `PoUserGuideService`.
9
+ *
10
+ * Os valores informados são aplicados a toda a execução do tour e podem ser sobrescritos pontualmente
11
+ * em cada `PoUserGuideStep` através das propriedades específicas de *labels* (`nextLabel`, `previousLabel`,
12
+ * `doneLabel`) — neste caso, o valor declarado no passo prevalece sobre o valor declarado nas opções globais.
13
+ *
14
+ */
15
+ export interface PoUserGuideOptions {
16
+ /**
17
+ * @optional
18
+ *
19
+ * @description
20
+ *
21
+ * Permite que o usuário encerre o tour clicando fora do popover ou utilizando o botão "Fechar" (X).
22
+ *
23
+ * Quando definido como `false`, o tour somente pode ser encerrado de forma programática (por exemplo,
24
+ * através do método `close()` do `PoUserGuideService`) ou ao avançar além do último passo.
25
+ *
26
+ * @default `true`
27
+ */
28
+ allowClose?: boolean;
29
+ /**
30
+ * @optional
31
+ *
32
+ * @description
33
+ *
34
+ * Quando `true`, mantém a rolagem da página totalmente livre durante o tour.
35
+ *
36
+ * O valor padrão `false` (ou a omissão da propriedade) preserva o comportamento padrão de
37
+ * bloqueio: a rolagem do `document.documentElement` e do `document.body` é desabilitada
38
+ * enquanto o tour estiver ativo e restaurada integralmente ao seu término.
39
+ *
40
+ * @default `false`
41
+ */
42
+ allowScroll?: boolean;
43
+ /**
44
+ * @optional
45
+ *
46
+ * @description
47
+ *
48
+ * Exibe o indicador textual de progresso do tour no popover (por exemplo, `1 de 5`).
49
+ *
50
+ * O texto pode ser personalizado através da propriedade `progressTemplate`.
51
+ *
52
+ * @default `true`
53
+ */
54
+ showProgress?: boolean;
55
+ /**
56
+ * @optional
57
+ *
58
+ * @description
59
+ *
60
+ * Habilita/desabilita o controle do tour por teclado (valor padrão: `true`).
61
+ * Se configurado como `false`, o controle por teclado é desabilitado.
62
+ *
63
+ * Quando ativo, são interpretadas as seguintes teclas:
64
+ *
65
+ * - `Esc`: encerra o tour (equivalente a `close()`).
66
+ * - `→` (seta para a direita) ou `Enter`: avança para o próximo passo (equivalente a `next()`).
67
+ * - `←` (seta para a esquerda): retrocede para o passo anterior (equivalente a `previous()`).
68
+ *
69
+ * @default `true`
70
+ */
71
+ keyboardControl?: boolean;
72
+ /**
73
+ * @optional
74
+ *
75
+ * @description
76
+ *
77
+ * Define a opacidade do *overlay* que escurece a página ao redor do elemento destacado.
78
+ *
79
+ * O valor deve estar contido no intervalo `[0, 1]`, sendo `0` totalmente transparente e `1` totalmente opaco.
80
+ * Valores fora deste intervalo são ajustados (*clamped*) para os limites mais próximos.
81
+ *
82
+ * @default `0.7`
83
+ */
84
+ overlayOpacity?: number;
85
+ /**
86
+ * @optional
87
+ *
88
+ * @description
89
+ *
90
+ * *Label* padrão do botão "Próximo" aplicado a todos os passos do tour.
91
+ *
92
+ * Pode ser sobrescrito individualmente por passo através de `PoUserGuideStep.nextLabel`.
93
+ *
94
+ * @default `Próximo`
95
+ */
96
+ nextLabel?: string;
97
+ /**
98
+ * @optional
99
+ *
100
+ * @description
101
+ *
102
+ * *Label* padrão do botão "Anterior" aplicado a todos os passos do tour.
103
+ *
104
+ * Pode ser sobrescrito individualmente por passo através de `PoUserGuideStep.previousLabel`.
105
+ *
106
+ * @default `Anterior`
107
+ */
108
+ previousLabel?: string;
109
+ /**
110
+ * @optional
111
+ *
112
+ * @description
113
+ *
114
+ * *Label* padrão do botão "Finalizar" aplicado ao último passo do tour.
115
+ *
116
+ * Pode ser sobrescrito individualmente por passo através de `PoUserGuideStep.doneLabel`.
117
+ *
118
+ * @default `Finalizar`
119
+ */
120
+ doneLabel?: string;
121
+ /**
122
+ * @optional
123
+ *
124
+ * @description
125
+ *
126
+ * *Label* padrão do botão "Fechar" (X) exibido no canto do popover do tour.
127
+ *
128
+ * @default `Fechar`
129
+ */
130
+ closeLabel?: string;
131
+ /**
132
+ * @optional
133
+ *
134
+ * @description
135
+ *
136
+ * Template do texto de progresso exibido no popover quando `showProgress` está habilitado.
137
+ *
138
+ * Aceita os seguintes *placeholders*, que são substituídos em tempo de renderização:
139
+ *
140
+ * - `current`: número do passo atual, com base 1 (ou seja, o primeiro passo é exibido como `1`).
141
+ * - `total`: número total de passos do tour.
142
+ *
143
+ * Quando o template informado não contém nenhum dos *placeholders* suportados, o texto é exibido
144
+ * literalmente e um aviso é registrado em `console.warn`.
145
+ *
146
+ * @default `{ {current} } de { {total} }`
147
+ */
148
+ progressTemplate?: string;
149
+ /**
150
+ * @optional
151
+ *
152
+ * @description
153
+ *
154
+ * Classe CSS adicional aplicada ao elemento raiz do popover do tour.
155
+ *
156
+ * Útil para customizações pontuais sem alterar o tema global do PO UI. A classe padrão `po-user-guide-popover`
157
+ * é sempre aplicada e preservada — o valor informado é concatenado a ela.
158
+ */
159
+ popoverClass?: string;
160
+ /**
161
+ * @optional
162
+ *
163
+ * @description
164
+ *
165
+ * Objeto com as literais usadas no `po-user-guide`.
166
+ *
167
+ * Permite customizar os textos dos botões de navegação e o template de progresso do tour.
168
+ * Quando omitido, as literais são traduzidas automaticamente de acordo com o idioma do
169
+ * [`PoI18nService`](/documentation/po-i18n) ou do browser.
170
+ *
171
+ * Exemplo passando apenas as literais que deseja customizar:
172
+ *
173
+ * ```
174
+ * const customLiterals: PoUserGuideLiterals = {
175
+ * next: 'Avançar',
176
+ * done: 'Concluir'
177
+ * };
178
+ * ```
179
+ */
180
+ literals?: PoUserGuideLiterals;
181
+ /**
182
+ * @optional
183
+ *
184
+ * @description
185
+ *
186
+ * Função de *callback* invocada a cada mudança de passo durante a execução do tour.
187
+ *
188
+ * Recebe como argumento um evento `PoUserGuideStepChangeEvent` contendo o passo ativo, seu índice, a direção
189
+ * da transição (`'next'`, `'previous'`, `'goto'` ou `'start'`) e o total de passos do tour.
190
+ *
191
+ * O *callback* é executado antes da emissão do evento correspondente em `PoUserGuideService.stepChange$`,
192
+ * permitindo a aplicação consumidora reagir à transição antes que outros assinantes do `Observable` sejam notificados.
193
+ */
194
+ onStepChange?: (event: PoUserGuideStepChangeEvent) => void;
195
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @usedBy PoUserGuideService
3
+ *
4
+ * @description
5
+ *
6
+ * Interface que descreve o evento emitido pelo `PoUserGuideService` no início da execução de um tour guiado.
7
+ *
8
+ * É publicado no `Observable` `PoUserGuideService.tourStart$` exatamente uma vez por execução, imediatamente
9
+ * após a configuração da instância do tour e antes da emissão do primeiro `PoUserGuideStepChangeEvent` em
10
+ * `PoUserGuideService.stepChange$`.
11
+ *
12
+ * As aplicações consumidoras podem assinar `tourStart$` para registrar telemetria do início do tour,
13
+ * exibir mensagens contextuais ou disparar lógica de negócio dependente do início da jornada do usuário.
14
+ */
15
+ export interface PoUserGuideStartEvent {
16
+ /**
17
+ * @description
18
+ *
19
+ * Total de passos configurados no tour, equivalente ao tamanho do array passado a `PoUserGuideService.setSteps`.
20
+ */
21
+ totalSteps: number;
22
+ /**
23
+ * @description
24
+ *
25
+ * Índice do passo inicial do tour, com base zero.
26
+ *
27
+ * Corresponde ao argumento `startIndex` informado a `PoUserGuideService.start`. Quando o método é invocado
28
+ * sem argumentos, o valor é `0`.
29
+ */
30
+ startIndex: number;
31
+ /**
32
+ * @description
33
+ *
34
+ * Marca de tempo, em milissegundos, do momento de emissão do evento, obtida a partir de `Date.now()`.
35
+ *
36
+ * Útil para correlacionar o início do tour com outros eventos de telemetria da aplicação.
37
+ */
38
+ timestamp: number;
39
+ }
@@ -0,0 +1,54 @@
1
+ import { PoUserGuideStep } from './po-user-guide-step.interface';
2
+ /**
3
+ * @usedBy PoUserGuideService
4
+ *
5
+ * @description
6
+ *
7
+ * Interface que descreve o evento emitido pelo `PoUserGuideService` a cada mudança de passo durante a execução do tour.
8
+ *
9
+ * É publicado no `Observable` `PoUserGuideService.stepChange$` toda vez que o passo ativo é alterado, seja por
10
+ * interação do usuário (cliques nos botões "Próximo"/"Anterior" ou navegação por teclado) ou por chamada
11
+ * programática aos métodos `next`, `previous`, `goTo` e `start` do `PoUserGuideService`.
12
+ *
13
+ * As aplicações consumidoras podem assinar `stepChange$` para reagir à navegação do usuário, atualizar a
14
+ * UI conforme o passo ativo, registrar telemetria de progresso ou disparar lógica de negócio contextual.
15
+ */
16
+ export interface PoUserGuideStepChangeEvent {
17
+ /**
18
+ * @description
19
+ *
20
+ * Passo do tour que se tornou ativo após a transição.
21
+ *
22
+ * Corresponde ao elemento da lista `steps` (configurada via `PoUserGuideService.setSteps`) cujo índice é
23
+ * igual ao valor de `index` neste evento.
24
+ */
25
+ step: PoUserGuideStep;
26
+ /**
27
+ * @description
28
+ *
29
+ * Índice, com base zero, do passo ativo após a transição.
30
+ *
31
+ * Está sempre contido no intervalo `[0, totalSteps - 1]`.
32
+ */
33
+ index: number;
34
+ /**
35
+ * @description
36
+ *
37
+ * Direção da transição que originou a mudança de passo.
38
+ *
39
+ * Valores aceitos:
40
+ *
41
+ * - `next`: a transição foi originada pelo método `PoUserGuideService.next` ou pelo botão "Próximo" do popover.
42
+ * - `previous`: a transição foi originada pelo método `PoUserGuideService.previous` ou pelo botão "Anterior" do popover.
43
+ * - `goto`: a transição foi originada pela chamada ao método `PoUserGuideService.goTo` com um índice arbitrário.
44
+ * - `start`: a transição corresponde à exibição do primeiro passo logo após a inicialização do tour
45
+ * pelo método `PoUserGuideService.start`.
46
+ */
47
+ direction: 'next' | 'previous' | 'goto' | 'start';
48
+ /**
49
+ * @description
50
+ *
51
+ * Total de passos configurados no tour, equivalente ao tamanho do array passado a `PoUserGuideService.setSteps`.
52
+ */
53
+ totalSteps: number;
54
+ }
@@ -0,0 +1,169 @@
1
+ import { PoUserGuideAlignment } from '../enums/po-user-guide-alignment.enum';
2
+ import { PoUserGuidePosition } from '../enums/po-user-guide-position.enum';
3
+ /**
4
+ * @usedBy PoUserGuideService
5
+ *
6
+ * @description
7
+ *
8
+ * Interface que descreve um passo individual do tour guiado executado pelo `PoUserGuideService`.
9
+ *
10
+ * Cada passo representa uma parada do tour, com um elemento opcional a ser destacado na página,
11
+ * conteúdo textual ou em HTML, configurações de posicionamento do popover, *labels* específicos
12
+ * dos botões de navegação e *hooks* de ciclo de vida do passo.
13
+ *
14
+ * > A propriedade `content` é a única obrigatória e corresponde ao corpo do popover apresentado ao usuário.
15
+ */
16
+ export interface PoUserGuideStep {
17
+ /**
18
+ * @optional
19
+ *
20
+ * @description
21
+ *
22
+ * Elemento da página que o passo deve destacar.
23
+ *
24
+ * Aceita um seletor CSS válido (`'#id'`, `'.class'`, `'tag'`, `'.container > .item'`) ou uma referência direta a um `HTMLElement`
25
+ * (por exemplo, obtida via `@ViewChild` ou `ElementRef.nativeElement`).
26
+ *
27
+ * Quando a propriedade é omitida, o popover é exibido como um modal centralizado na viewport, sem destacar
28
+ * nenhum elemento da página.
29
+ */
30
+ element?: string | HTMLElement;
31
+ /**
32
+ * @optional
33
+ *
34
+ * @description
35
+ *
36
+ * Título exibido no cabeçalho do popover do passo.
37
+ *
38
+ * Quando omitido, o popover é renderizado apenas com o conteúdo definido em `content`.
39
+ */
40
+ title?: string;
41
+ /**
42
+ * @description
43
+ *
44
+ * Conteúdo principal do passo, exibido no corpo do popover. Aceita texto puro ou HTML.
45
+ *
46
+ * > **Aviso de segurança:** por padrão, o PO UI sanitiza o conteúdo HTML recebido antes de repassá-lo
47
+ * > ao popover do tour, reduzindo o risco de vulnerabilidades de *Cross-Site Scripting* (XSS).
48
+ * >
49
+ * > Mesmo com essa proteção, recomenda-se que aplicações consumidoras evitem enviar conteúdo HTML
50
+ * > proveniente de fontes não confiáveis sem validação prévia, como entradas de usuário ou dados externos.
51
+ * > A sanitização realizada pelo PO UI atua como uma camada de segurança, mas não substitui boas práticas
52
+ * > de validação e controle dos dados na origem.
53
+ */
54
+ content: string;
55
+ /**
56
+ * @optional
57
+ *
58
+ * @description
59
+ *
60
+ * Posição preferida do popover em relação ao elemento destacado.
61
+ *
62
+ * Valores aceitos:
63
+ *
64
+ * - `top`: o popover é renderizado acima do elemento destacado.
65
+ * - `right`: o popover é renderizado à direita do elemento destacado.
66
+ * - `bottom`: o popover é renderizado abaixo do elemento destacado.
67
+ * - `left`: o popover é renderizado à esquerda do elemento destacado.
68
+ * - `over`: o popover é renderizado sobreposto ao elemento destacado.
69
+ * - `auto`: a posição é calculada automaticamente conforme o espaço disponível na viewport.
70
+ *
71
+ * @default auto`
72
+ */
73
+ position?: PoUserGuidePosition;
74
+ /**
75
+ * @optional
76
+ *
77
+ * @description
78
+ *
79
+ * Alinhamento do popover ao longo do eixo da posição configurada em `position`.
80
+ *
81
+ * Valores aceitos: 'start' | 'center' | 'end'
82
+ *
83
+ * @default `start`
84
+ */
85
+ align?: PoUserGuideAlignment;
86
+ /**
87
+ * @optional
88
+ *
89
+ * @description
90
+ *
91
+ * Sobrescreve o *label* do botão "Próximo" exclusivamente para este passo.
92
+ *
93
+ * Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.nextLabel` ou o padrão do PO UI (`Próximo`).
94
+ */
95
+ nextLabel?: string;
96
+ /**
97
+ * @optional
98
+ *
99
+ * @description
100
+ *
101
+ * Sobrescreve o *label* do botão "Anterior" exclusivamente para este passo.
102
+ *
103
+ * Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.previousLabel` ou o padrão do PO UI (`Anterior`).
104
+ */
105
+ previousLabel?: string;
106
+ /**
107
+ * @optional
108
+ *
109
+ * @description
110
+ *
111
+ * Sobrescreve o *label* do botão "Finalizar" exclusivamente para este passo.
112
+ *
113
+ * Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.doneLabel` ou o padrão do PO UI (`Finalizar`).
114
+ */
115
+ doneLabel?: string;
116
+ /**
117
+ * @optional
118
+ *
119
+ * @description
120
+ *
121
+ * Lista que filtra quais botões de navegação devem ser exibidos no popover deste passo.
122
+ *
123
+ * Aceita qualquer combinação dos valores `'next'`, `'previous'` e `'close'`. Apenas os botões presentes
124
+ * na lista são renderizados, permitindo, por exemplo, ocultar o botão "Anterior" no primeiro passo
125
+ * ou exibir somente o botão "Fechar" em um passo final.
126
+ *
127
+ * Quando a propriedade é omitida, todos os botões padrão (`'next'`, `'previous'` e `'close'`) são exibidos.
128
+ * Quando informada como array vazio, nenhum botão de navegação é exibido — o controle do tour passa a ser
129
+ * 100% programático via `next()`, `previous()`, `goTo()` e `close()` do `PoUserGuideService`.
130
+ */
131
+ showButtons?: Array<'next' | 'previous' | 'close'>;
132
+ /**
133
+ * @optional
134
+ *
135
+ * @description
136
+ *
137
+ * *Hook* executado imediatamente antes de o passo ser destacado na página, sincronamente à transição.
138
+ *
139
+ * Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos
140
+ * configurada via `PoUserGuideService.setSteps`.
141
+ *
142
+ * Útil para preparar a UI antes do destaque (por exemplo, abrir um menu lateral que contém o elemento alvo).
143
+ */
144
+ onBeforeHighlight?: (step: PoUserGuideStep, index: number) => void;
145
+ /**
146
+ * @optional
147
+ *
148
+ * @description
149
+ *
150
+ * *Hook* executado imediatamente após o passo ser destacado na página.
151
+ *
152
+ * Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos.
153
+ *
154
+ * Útil para registrar telemetria de visualização ou disparar lógica de negócio dependente da exibição do passo.
155
+ */
156
+ onHighlighted?: (step: PoUserGuideStep, index: number) => void;
157
+ /**
158
+ * @optional
159
+ *
160
+ * @description
161
+ *
162
+ * *Hook* executado quando o passo deixa de estar ativo, seja por avanço, retrocesso ou encerramento do tour.
163
+ *
164
+ * Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos.
165
+ *
166
+ * Útil para reverter alterações de UI realizadas em `onBeforeHighlight` ou `onHighlighted`.
167
+ */
168
+ onDeselected?: (step: PoUserGuideStep, index: number) => void;
169
+ }