@po-ui/ng-components 21.17.0 → 21.19.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.
- package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-BkH0bb8j.mjs → po-ui-ng-components-po-chart-modal-table.component-CzvA7U-U.mjs} +4 -4
- package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-BkH0bb8j.mjs.map → po-ui-ng-components-po-chart-modal-table.component-CzvA7U-U.mjs.map} +1 -1
- package/fesm2022/po-ui-ng-components.mjs +14353 -11386
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-calendar/po-calendar-base.component.d.ts +54 -44
- package/lib/components/po-calendar/po-calendar-mode.enum.d.ts +2 -1
- package/lib/components/po-calendar/po-calendar.component.d.ts +7 -2
- package/lib/components/po-calendar/services/po-calendar.service.d.ts +1 -0
- package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +28 -8
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +7 -0
- package/lib/components/po-field/index.d.ts +2 -0
- package/lib/components/po-field/po-datetimepicker/po-datetimepicker-base.component.d.ts +509 -0
- package/lib/components/po-field/po-datetimepicker/po-datetimepicker.component.d.ts +130 -0
- package/lib/components/po-field/po-datetimepicker/po-datetimepicker.literals.d.ts +42 -0
- package/lib/components/po-field/po-datetimepicker/po-datetimepicker.module.d.ts +7 -0
- package/lib/components/po-field/po-field.module.d.ts +1 -1
- package/lib/components/po-timer/po-timer.component.d.ts +2 -2
- package/lib/services/index.d.ts +1 -0
- package/lib/services/po-theme/helpers/types/po-theme-dark-defaults-AA.constant.d.ts +1 -0
- package/lib/services/po-theme/helpers/types/po-theme-dark-defaults.constant.d.ts +1 -0
- package/lib/services/po-user-guide/enums/index.d.ts +2 -0
- package/lib/services/po-user-guide/enums/po-user-guide-alignment.enum.d.ts +18 -0
- package/lib/services/po-user-guide/enums/po-user-guide-position.enum.d.ts +24 -0
- package/lib/services/po-user-guide/index.d.ts +6 -0
- package/lib/services/po-user-guide/interfaces/index.d.ts +6 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-end-event.interface.d.ts +46 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-literals.interface.d.ts +19 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-options.interface.d.ts +195 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-start-event.interface.d.ts +39 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-step-change-event.interface.d.ts +54 -0
- package/lib/services/po-user-guide/interfaces/po-user-guide-step.interface.d.ts +173 -0
- package/lib/services/po-user-guide/po-user-guide-base.service.d.ts +365 -0
- package/lib/services/po-user-guide/po-user-guide-scroll-lock.d.ts +55 -0
- package/lib/services/po-user-guide/po-user-guide.literals.d.ts +7 -0
- package/lib/services/po-user-guide/po-user-guide.module.d.ts +2 -0
- package/lib/services/po-user-guide/po-user-guide.service.d.ts +174 -0
- package/package.json +5 -4
- package/po-ui-ng-components-21.19.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +2 -2
- package/schematics/ng-update/v19/index.js +2 -2
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v20/index.js +2 -2
- package/schematics/ng-update/v21/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/types/po-ui-ng-components.d.ts +17321 -15514
- package/po-ui-ng-components-21.17.0.tgz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PoButtonComponent } from '../po-button/po-button.component';
|
|
1
|
+
import { OnInit, OnChanges, OnDestroy, QueryList, ElementRef, EventEmitter, SimpleChanges, AfterViewInit, AfterViewChecked } from '@angular/core';
|
|
3
2
|
import { PoTimerBaseComponent } from './po-timer-base.component';
|
|
3
|
+
import { PoButtonComponent } from '../po-button/po-button.component';
|
|
4
4
|
/** Tipo dos eixos das colunas. */
|
|
5
5
|
type PoTimerColumnType = 'hour' | 'minute' | 'second' | 'period';
|
|
6
6
|
/**
|
package/lib/services/index.d.ts
CHANGED
|
@@ -85,6 +85,7 @@ declare const poThemeDefaultDarkValuesAA: {
|
|
|
85
85
|
'--color-black-alpha-10': string;
|
|
86
86
|
'--color-black-alpha-15': string;
|
|
87
87
|
'--color-black-alpha-30': string;
|
|
88
|
+
'--color-po-user-guide-overlay': string;
|
|
88
89
|
'--color-primary-light-80': string;
|
|
89
90
|
'--color-primary-light-95': string;
|
|
90
91
|
'--color-primary-alpha-50': string;
|
|
@@ -89,6 +89,7 @@ declare const poThemeDefaultDarkValues: {
|
|
|
89
89
|
'--color-black-alpha-10': string;
|
|
90
90
|
'--color-black-alpha-15': string;
|
|
91
91
|
'--color-black-alpha-30': string;
|
|
92
|
+
'--color-po-user-guide-overlay': string;
|
|
92
93
|
'--color-primary-light-80': string;
|
|
93
94
|
'--color-primary-light-95': string;
|
|
94
95
|
'--color-primary-alpha-50': string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @usedBy PoUserGuideService
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* *Enum* que define o alinhamento do popover do tour ao longo do eixo da posição configurada,
|
|
7
|
+
* utilizado na propriedade `align` de `PoUserGuideStep`.
|
|
8
|
+
*
|
|
9
|
+
* > Quando o valor não é informado, é aplicado o padrão `PoUserGuideAlignment.Start`.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum PoUserGuideAlignment {
|
|
12
|
+
/** O popover é alinhado ao início do eixo da posição (topo ou esquerda, conforme a `PoUserGuidePosition`). */
|
|
13
|
+
Start = "start",
|
|
14
|
+
/** O popover é alinhado ao centro do eixo da posição. */
|
|
15
|
+
Center = "center",
|
|
16
|
+
/** O popover é alinhado ao final do eixo da posição (rodapé ou direita, conforme a `PoUserGuidePosition`). */
|
|
17
|
+
End = "end"
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @usedBy PoUserGuideService
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* *Enum* que define a posição preferida do popover do tour em relação ao elemento destacado,
|
|
7
|
+
* utilizado na propriedade `position` de `PoUserGuideStep`.
|
|
8
|
+
*
|
|
9
|
+
* > Quando o valor não é informado, é aplicado o padrão `PoUserGuidePosition.Auto`.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum PoUserGuidePosition {
|
|
12
|
+
/** O popover é renderizado acima do elemento destacado. */
|
|
13
|
+
Top = "top",
|
|
14
|
+
/** O popover é renderizado à direita do elemento destacado. */
|
|
15
|
+
Right = "right",
|
|
16
|
+
/** O popover é renderizado abaixo do elemento destacado. */
|
|
17
|
+
Bottom = "bottom",
|
|
18
|
+
/** O popover é renderizado à esquerda do elemento destacado. */
|
|
19
|
+
Left = "left",
|
|
20
|
+
/** O popover é renderizado sobreposto ao elemento destacado. */
|
|
21
|
+
Over = "over",
|
|
22
|
+
/** A posição é calculada automaticamente conforme o espaço disponível na viewport. */
|
|
23
|
+
Auto = "auto"
|
|
24
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './po-user-guide-end-event.interface';
|
|
2
|
+
export * from './po-user-guide-literals.interface';
|
|
3
|
+
export * from './po-user-guide-options.interface';
|
|
4
|
+
export * from './po-user-guide-start-event.interface';
|
|
5
|
+
export * from './po-user-guide-step-change-event.interface';
|
|
6
|
+
export * from './po-user-guide-step.interface';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @usedBy PoUserGuideService
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* Interface que descreve o evento emitido pelo `PoUserGuideService` no encerramento da execução de um tour guiado.
|
|
7
|
+
*
|
|
8
|
+
* É publicado no `Observable` `PoUserGuideService.tourEnd$` exatamente uma vez por execução, sempre após a
|
|
9
|
+
* emissão do último `PoUserGuideStepChangeEvent` em `PoUserGuideService.stepChange$` e após a limpeza do estado
|
|
10
|
+
* interno do serviço.
|
|
11
|
+
*
|
|
12
|
+
* As aplicações consumidoras podem assinar `tourEnd$` para registrar telemetria de conclusão ou de
|
|
13
|
+
* abandono do tour, executar limpezas de UI ou disparar lógica de negócio dependente do encerramento
|
|
14
|
+
* da jornada do usuário.
|
|
15
|
+
*/
|
|
16
|
+
export interface PoUserGuideEndEvent {
|
|
17
|
+
/**
|
|
18
|
+
* @description
|
|
19
|
+
*
|
|
20
|
+
* Motivo do encerramento do tour.
|
|
21
|
+
*
|
|
22
|
+
* Valores aceitos:
|
|
23
|
+
*
|
|
24
|
+
* - `completed`: o usuário avançou além do último passo do tour, concluindo a jornada por completo.
|
|
25
|
+
* - `closed`: o tour foi encerrado antes da conclusão, seja pelo usuário (tecla `Esc`, botão "Fechar"
|
|
26
|
+
* ou clique fora do popover quando `PoUserGuideOptions.allowClose` está habilitado) ou pela aplicação
|
|
27
|
+
* consumidora através das chamadas a `PoUserGuideService.close` ou `PoUserGuideService.exit`.
|
|
28
|
+
*/
|
|
29
|
+
reason: 'completed' | 'closed';
|
|
30
|
+
/**
|
|
31
|
+
* @description
|
|
32
|
+
*
|
|
33
|
+
* Índice, com base zero, do último passo ativo antes do encerramento do tour.
|
|
34
|
+
*
|
|
35
|
+
* Quando `reason` é `'completed'`, corresponde ao índice do último passo da lista (`totalSteps - 1`).
|
|
36
|
+
* Quando `reason` é `'closed'`, corresponde ao índice do passo que estava em exibição
|
|
37
|
+
* no momento do encerramento.
|
|
38
|
+
*/
|
|
39
|
+
lastIndex: number;
|
|
40
|
+
/**
|
|
41
|
+
* @description
|
|
42
|
+
*
|
|
43
|
+
* Total de passos configurados no tour, equivalente ao tamanho do array passado a `PoUserGuideService.setSteps`.
|
|
44
|
+
*/
|
|
45
|
+
totalSteps: number;
|
|
46
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @usedBy PoUserGuideService
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* Interface para definição das literais usadas no `po-user-guide`.
|
|
7
|
+
*/
|
|
8
|
+
export interface PoUserGuideLiterals {
|
|
9
|
+
/** Label padrão do botão "Próximo" aplicado a todos os passos do tour. */
|
|
10
|
+
next?: string;
|
|
11
|
+
/** Label padrão do botão "Anterior" aplicado a todos os passos do tour. */
|
|
12
|
+
previous?: string;
|
|
13
|
+
/** Label padrão do botão "Finalizar" aplicado ao último passo do tour. */
|
|
14
|
+
done?: string;
|
|
15
|
+
/** Label padrão do botão "Fechar" (X) exibido no canto do popover do tour. */
|
|
16
|
+
close?: string;
|
|
17
|
+
/** Template padrão do texto de progresso exibido no popover (ex: `{ {current} } de { {total} }`). */
|
|
18
|
+
progressTemplate?: string;
|
|
19
|
+
}
|
|
@@ -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,173 @@
|
|
|
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
|
+
* > **Recomendação:** ao destacar componentes do PO UI, prefira selecionar pela *tag* do componente
|
|
28
|
+
* > (por exemplo, `'po-button'`) em vez de classes internas (como `'.po-button'`). As classes internas
|
|
29
|
+
* > são detalhes de implementação e podem ser alteradas ou removidas entre versões, quebrando o tour.
|
|
30
|
+
*
|
|
31
|
+
* Quando a propriedade é omitida, o popover é exibido como um modal centralizado na viewport, sem destacar
|
|
32
|
+
* nenhum elemento da página.
|
|
33
|
+
*/
|
|
34
|
+
element?: string | HTMLElement;
|
|
35
|
+
/**
|
|
36
|
+
* @optional
|
|
37
|
+
*
|
|
38
|
+
* @description
|
|
39
|
+
*
|
|
40
|
+
* Título exibido no cabeçalho do popover do passo.
|
|
41
|
+
*
|
|
42
|
+
* Quando omitido, o popover é renderizado apenas com o conteúdo definido em `content`.
|
|
43
|
+
*/
|
|
44
|
+
title?: string;
|
|
45
|
+
/**
|
|
46
|
+
* @description
|
|
47
|
+
*
|
|
48
|
+
* Conteúdo principal do passo, exibido no corpo do popover. Aceita texto puro ou HTML.
|
|
49
|
+
*
|
|
50
|
+
* > **Aviso de segurança:** por padrão, o PO UI sanitiza o conteúdo HTML recebido antes de repassá-lo
|
|
51
|
+
* > ao popover do tour, reduzindo o risco de vulnerabilidades de *Cross-Site Scripting* (XSS).
|
|
52
|
+
* >
|
|
53
|
+
* > Mesmo com essa proteção, recomenda-se que aplicações consumidoras evitem enviar conteúdo HTML
|
|
54
|
+
* > proveniente de fontes não confiáveis sem validação prévia, como entradas de usuário ou dados externos.
|
|
55
|
+
* > A sanitização realizada pelo PO UI atua como uma camada de segurança, mas não substitui boas práticas
|
|
56
|
+
* > de validação e controle dos dados na origem.
|
|
57
|
+
*/
|
|
58
|
+
content: string;
|
|
59
|
+
/**
|
|
60
|
+
* @optional
|
|
61
|
+
*
|
|
62
|
+
* @description
|
|
63
|
+
*
|
|
64
|
+
* Posição preferida do popover em relação ao elemento destacado.
|
|
65
|
+
*
|
|
66
|
+
* Valores aceitos:
|
|
67
|
+
*
|
|
68
|
+
* - `top`: o popover é renderizado acima do elemento destacado.
|
|
69
|
+
* - `right`: o popover é renderizado à direita do elemento destacado.
|
|
70
|
+
* - `bottom`: o popover é renderizado abaixo do elemento destacado.
|
|
71
|
+
* - `left`: o popover é renderizado à esquerda do elemento destacado.
|
|
72
|
+
* - `over`: o popover é renderizado sobreposto ao elemento destacado.
|
|
73
|
+
* - `auto`: a posição é calculada automaticamente conforme o espaço disponível na viewport.
|
|
74
|
+
*
|
|
75
|
+
* @default auto`
|
|
76
|
+
*/
|
|
77
|
+
position?: PoUserGuidePosition;
|
|
78
|
+
/**
|
|
79
|
+
* @optional
|
|
80
|
+
*
|
|
81
|
+
* @description
|
|
82
|
+
*
|
|
83
|
+
* Alinhamento do popover ao longo do eixo da posição configurada em `position`.
|
|
84
|
+
*
|
|
85
|
+
* Valores aceitos: 'start' | 'center' | 'end'
|
|
86
|
+
*
|
|
87
|
+
* @default `start`
|
|
88
|
+
*/
|
|
89
|
+
align?: PoUserGuideAlignment;
|
|
90
|
+
/**
|
|
91
|
+
* @optional
|
|
92
|
+
*
|
|
93
|
+
* @description
|
|
94
|
+
*
|
|
95
|
+
* Sobrescreve o *label* do botão "Próximo" exclusivamente para este passo.
|
|
96
|
+
*
|
|
97
|
+
* Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.nextLabel` ou o padrão do PO UI (`Próximo`).
|
|
98
|
+
*/
|
|
99
|
+
nextLabel?: string;
|
|
100
|
+
/**
|
|
101
|
+
* @optional
|
|
102
|
+
*
|
|
103
|
+
* @description
|
|
104
|
+
*
|
|
105
|
+
* Sobrescreve o *label* do botão "Anterior" exclusivamente para este passo.
|
|
106
|
+
*
|
|
107
|
+
* Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.previousLabel` ou o padrão do PO UI (`Anterior`).
|
|
108
|
+
*/
|
|
109
|
+
previousLabel?: string;
|
|
110
|
+
/**
|
|
111
|
+
* @optional
|
|
112
|
+
*
|
|
113
|
+
* @description
|
|
114
|
+
*
|
|
115
|
+
* Sobrescreve o *label* do botão "Finalizar" exclusivamente para este passo.
|
|
116
|
+
*
|
|
117
|
+
* Quando omitido, é utilizado o valor configurado em `PoUserGuideOptions.doneLabel` ou o padrão do PO UI (`Finalizar`).
|
|
118
|
+
*/
|
|
119
|
+
doneLabel?: string;
|
|
120
|
+
/**
|
|
121
|
+
* @optional
|
|
122
|
+
*
|
|
123
|
+
* @description
|
|
124
|
+
*
|
|
125
|
+
* Lista que filtra quais botões de navegação devem ser exibidos no popover deste passo.
|
|
126
|
+
*
|
|
127
|
+
* Aceita qualquer combinação dos valores `'next'`, `'previous'` e `'close'`. Apenas os botões presentes
|
|
128
|
+
* na lista são renderizados, permitindo, por exemplo, ocultar o botão "Anterior" no primeiro passo
|
|
129
|
+
* ou exibir somente o botão "Fechar" em um passo final.
|
|
130
|
+
*
|
|
131
|
+
* Quando a propriedade é omitida, todos os botões padrão (`'next'`, `'previous'` e `'close'`) são exibidos.
|
|
132
|
+
* Quando informada como array vazio, nenhum botão de navegação é exibido — o controle do tour passa a ser
|
|
133
|
+
* 100% programático via `next()`, `previous()`, `goTo()` e `close()` do `PoUserGuideService`.
|
|
134
|
+
*/
|
|
135
|
+
showButtons?: Array<'next' | 'previous' | 'close'>;
|
|
136
|
+
/**
|
|
137
|
+
* @optional
|
|
138
|
+
*
|
|
139
|
+
* @description
|
|
140
|
+
*
|
|
141
|
+
* *Hook* executado imediatamente antes de o passo ser destacado na página, sincronamente à transição.
|
|
142
|
+
*
|
|
143
|
+
* Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos
|
|
144
|
+
* configurada via `PoUserGuideService.setSteps`.
|
|
145
|
+
*
|
|
146
|
+
* Útil para preparar a UI antes do destaque (por exemplo, abrir um menu lateral que contém o elemento alvo).
|
|
147
|
+
*/
|
|
148
|
+
onBeforeHighlight?: (step: PoUserGuideStep, index: number) => void;
|
|
149
|
+
/**
|
|
150
|
+
* @optional
|
|
151
|
+
*
|
|
152
|
+
* @description
|
|
153
|
+
*
|
|
154
|
+
* *Hook* executado imediatamente após o passo ser destacado na página.
|
|
155
|
+
*
|
|
156
|
+
* Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos.
|
|
157
|
+
*
|
|
158
|
+
* Útil para registrar telemetria de visualização ou disparar lógica de negócio dependente da exibição do passo.
|
|
159
|
+
*/
|
|
160
|
+
onHighlighted?: (step: PoUserGuideStep, index: number) => void;
|
|
161
|
+
/**
|
|
162
|
+
* @optional
|
|
163
|
+
*
|
|
164
|
+
* @description
|
|
165
|
+
*
|
|
166
|
+
* *Hook* executado quando o passo deixa de estar ativo, seja por avanço, retrocesso ou encerramento do tour.
|
|
167
|
+
*
|
|
168
|
+
* Recebe como argumentos o próprio passo (`step`) e o seu índice (`index`, com base zero) na lista de passos.
|
|
169
|
+
*
|
|
170
|
+
* Útil para reverter alterações de UI realizadas em `onBeforeHighlight` ou `onHighlighted`.
|
|
171
|
+
*/
|
|
172
|
+
onDeselected?: (step: PoUserGuideStep, index: number) => void;
|
|
173
|
+
}
|