import { DomSanitizer } from '@angular/platform-browser'; import { PoLanguageService } from '../../services/po-language/po-language.service'; import { PoUserGuideBaseService } from './po-user-guide-base.service'; import { PoUserGuideOptions, PoUserGuideStep } from './interfaces'; /** * @docsExtends PoUserGuideBaseService * * @example * * * * * * * * * * * * * * * */ export declare class PoUserGuideService extends PoUserGuideBaseService { private readonly sanitizer; private driverFactoryCache; private driverInstance; private pendingEndReason; private readonly scrollLock; private activeScrollLockEnabled; private static stylesInjected; constructor(languageService: PoLanguageService, sanitizer: DomSanitizer); private isBrowser; protected importDriver(): Promise; private loadDriverFactory; private injectStyles; private sanitizeText; private mapStepsToDriveSteps; private handlePopoverRender; private focusPopoverDescription; private applyDoneButtonLabel; private applyPoButtonStyles; /** * Substitui o `×` nativo do Driver.js pelo ícone de fechar do PO UI (`ICON_CLOSE`). * * O ícone é referenciado pela classe da fonte (`an an-x`) via `AnimaliaIconDictionary`, * evitando duplicar o codepoint da fonte Animalia diretamente no CSS. */ private applyCloseButtonIcon; private buildDriverConfig; private handleHighlightStarted; private resolveActiveIndex; private resolveShowButtons; private handleDestroyed; private handleCloseClick; /** * @description * * Configura a lista de passos que serão exibidos durante a execução do tour guiado. * * @param {Array} steps Lista de passos do tour a ser configurada. Deve conter ao menos um * passo válido com a propriedade `content` definida. * * @returns {this} A própria instância do serviço, possibilitando o encadeamento fluente de chamadas. * * @throws {Error} Quando `steps` é `null`, `undefined`, não é um `Array`, está vazio, contém um passo * inválido, contém um passo sem a propriedade `content` definida ou contém um passo cujo `element` é * uma string com sintaxe de seletor CSS inválida. */ setSteps(steps: Array): this; /** * @description * * Configura as opções globais que serão aplicadas durante a execução do tour guiado. * * @param {PoUserGuideOptions} [options] Objeto com as opções globais do tour a ser configurado. Quando * omitido ou `undefined`, apenas os valores padrão do PO UI são aplicados. * * @returns {this} A própria instância do serviço, possibilitando o encadeamento fluente de chamadas. */ setOptions(options?: PoUserGuideOptions): this; /** * @description * * Inicia a execução do tour previamente configurado por meio de `setSteps` e, opcionalmente, `setOptions`. * * @override * * @param {number} [startIndex=0] Índice, com base zero, do passo a partir do qual o tour deve iniciar. * Deve ser um inteiro contido no intervalo `[0, steps.length - 1]`. * * @throws {Error} Quando a lista de passos ainda não foi configurada via `setSteps` ou está vazia. * @throws {Error} Quando `startIndex` não é um número inteiro contido em `[0, steps.length - 1]`. * * @returns {Promise} `Promise` que é resolvida quando o tour é iniciado com sucesso e * rejeitada com um `Error` de mensagem padronizada quando ocorre falha na carga da dependência * `driver.js` ou na inicialização do tour. */ start(startIndex?: number): Promise; /** * @description * * Encerra o tour em execução, disparando, em sequência, o ciclo de limpeza de estado e a emissão de * `tourEnd$`. * * @override */ close(): void; /** * @description * * Encerra o tour em execução. * * @override */ exit(): void; /** * @description * * Avança o tour em execução para o próximo passo. * * @override */ next(): void; /** * @description * * Retrocede o tour em execução para o passo anterior. * * @override */ previous(): void; /** * @description * * Move o tour diretamente para o passo identificado pelo `index` informado, que deve ser um número inteiro contido em `[0, steps.length - 1]`. Se o tour ainda não estiver em execução, o método inicia o tour a partir do passo indicado por `index`. * * @override * * @param {number} index Índice, com base zero, do passo de destino. Deve ser um inteiro contido * em `[0, steps.length - 1]`. * * @throws {Error} Quando `index` não é um número inteiro contido em `[0, steps.length - 1]`. */ goTo(index: number): void; /** * @description * * Indica se há um tour em execução no momento da consulta. * * @returns {boolean} `true` quando existe um tour em execução; `false` em qualquer outro caso (antes do primeiro `start()`, * após `close()`/`exit()` ou após o encerramento natural do tour). */ isActive(): boolean; /** * @description * * Retorna o `PoUserGuideStep` correspondente ao passo ativo no momento da consulta. * * @returns {PoUserGuideStep | null} O passo ativo, quando há um tour em execução; `null` em qualquer * outro caso. */ getCurrentStep(): PoUserGuideStep | null; /** * @description * * Retorna o índice, com base zero, do passo ativo no momento da consulta. * * @returns {number} O índice, com base zero, do passo ativo, contido em `[0, steps.length - 1]`, * quando há um tour em execução; `-1` em qualquer outro caso. */ getCurrentIndex(): number; }