ilibras-widget 1.4.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/index.d.ts ADDED
@@ -0,0 +1,118 @@
1
+ /**
2
+ * iLibras Widget — tipos.
3
+ *
4
+ * Escritos à mão: o pacote é JavaScript puro e não vale arrastar um
5
+ * compilador TypeScript para dentro dele só para gerar isto.
6
+ */
7
+
8
+ /** Canais alternativos, mostrados quando a API não responde. */
9
+ export interface ILibrasFallback {
10
+ telefone?: string;
11
+ email?: string;
12
+ url?: string;
13
+ /** Frase acima da lista. Padrão: "Enquanto isso, você pode falar com a gente por aqui:". */
14
+ texto?: string;
15
+ }
16
+
17
+ export interface ILibrasConfig {
18
+ /** Token de autenticação do contrato. **Obrigatório** — sem ele o widget não envia nada. */
19
+ token: string;
20
+
21
+ /** Canto da tela. Padrão: `'bottom-right'`. */
22
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
23
+
24
+ /** Título do cabeçalho. Padrão: `'iLibras'`. */
25
+ title?: string;
26
+
27
+ /** Mensagem de boas-vindas. */
28
+ message?: string;
29
+
30
+ /** Texto do botão que leva à fila ao vivo. Padrão: `'Iniciar atendimento em Libras'`. */
31
+ buttonText?: string;
32
+
33
+ /**
34
+ * Mostra o botão que leva direto à escolha de data e horário, sem passar
35
+ * pela fila ao vivo. Padrão: `true`.
36
+ *
37
+ * Deixe `false` no site que só atende ao vivo — um botão que leva a uma
38
+ * agenda que ninguém cobre é pior do que não ter o botão.
39
+ */
40
+ agendamento?: boolean;
41
+
42
+ /** Texto do botão de agendamento. Padrão: `'Agendar uma conversa'`. */
43
+ scheduleButtonText?: string;
44
+
45
+ /** Empilhamento. Padrão: `9999`. */
46
+ zIndex?: number;
47
+
48
+ /** Endpoint de cadastro. Troque apenas para apontar a um ambiente de homologação. */
49
+ apiUrl?: string;
50
+
51
+ /** Prazo de cada tentativa, em milissegundos. Padrão: `15000`. */
52
+ timeoutMs?: number;
53
+
54
+ /**
55
+ * Quantas vezes tentar quando a falha é de rede ou do servidor. Padrão: `2`.
56
+ * Erro de validação e limite de uso nunca são repetidos.
57
+ */
58
+ tentativas?: number;
59
+
60
+ fallback?: ILibrasFallback;
61
+
62
+ /** @deprecated Sem efeito. Mantido para não quebrar configuração existente. */
63
+ redirectUrl?: string;
64
+
65
+ /** @deprecated Sem efeito. Mantido para não quebrar configuração existente. */
66
+ primaryColor?: string;
67
+ }
68
+
69
+ /** Falha com causa identificada, para a tela poder dizer o que houve. */
70
+ export declare class FalhaDeServico extends Error {
71
+ readonly name: 'FalhaDeServico';
72
+ readonly tipo:
73
+ | 'offline'
74
+ | 'rede'
75
+ | 'timeout'
76
+ | 'servidor'
77
+ | 'autorizacao'
78
+ | 'limite'
79
+ | 'validacao'
80
+ | 'resposta_inesperada'
81
+ | 'desconhecido';
82
+ readonly detalhe: {
83
+ mensagem?: string;
84
+ erros?: Record<string, string | string[]> | null;
85
+ esperarSegundos?: number;
86
+ };
87
+ }
88
+
89
+ export declare class ILibrasWidget {
90
+ constructor(config: ILibrasConfig);
91
+
92
+ readonly isOpen: boolean;
93
+
94
+ openWidget(): void;
95
+ closeWidget(): void;
96
+ toggleWidget(): void;
97
+
98
+ /**
99
+ * Remove o widget e o estilo da página.
100
+ *
101
+ * Em React, Vue e Angular, chame na desmontagem: sem isso cada montagem
102
+ * deixa um widget para trás e o site acumula botões flutuantes.
103
+ */
104
+ destroy(): void;
105
+ }
106
+
107
+ export default ILibrasWidget;
108
+
109
+ declare global {
110
+ interface Window {
111
+ /** Disponível na build de `<script src>`. */
112
+ ILibrasWidget?: typeof ILibrasWidget;
113
+ /** Preenchida antes do `<script>` para o widget se criar sozinho. */
114
+ iLibrasWidgetConfig?: ILibrasConfig;
115
+ /** A instância criada a partir de `iLibrasWidgetConfig`. */
116
+ iLibrasWidgetInstance?: ILibrasWidget;
117
+ }
118
+ }
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "ilibras-widget",
3
+ "version": "1.4.0",
4
+ "description": "Widget de acessibilidade em Libras: formulário embarcável que leva a pessoa surda ao atendimento com intérprete, ao vivo ou agendado",
5
+ "type": "module",
6
+ "main": "./dist/ilibras-widget.cjs",
7
+ "module": "./dist/ilibras-widget.mjs",
8
+ "types": "./index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./index.d.ts",
12
+ "import": "./dist/ilibras-widget.mjs",
13
+ "require": "./dist/ilibras-widget.cjs",
14
+ "default": "./dist/ilibras-widget.mjs"
15
+ },
16
+ "./dist/ilibras-widget.js": "./dist/ilibras-widget.js",
17
+ "./package.json": "./package.json"
18
+ },
19
+ "unpkg": "./dist/ilibras-widget.js",
20
+ "jsdelivr": "./dist/ilibras-widget.js",
21
+ "sideEffects": false,
22
+ "files": [
23
+ "dist/",
24
+ "index.d.ts",
25
+ "LICENSE",
26
+ "README.md",
27
+ "CHANGELOG.md"
28
+ ],
29
+ "scripts": {
30
+ "gerar-assets": "node scripts/gerar-assets.mjs",
31
+ "build": "npm run gerar-assets && node scripts/build.mjs",
32
+ "prepublishOnly": "npm run build",
33
+ "test": "node --test tests/**/*.test.mjs"
34
+ },
35
+ "keywords": [
36
+ "libras",
37
+ "acessibilidade",
38
+ "accessibility",
39
+ "surdos",
40
+ "sign-language",
41
+ "lsb",
42
+ "widget",
43
+ "a11y",
44
+ "ilibras"
45
+ ],
46
+ "author": "Dimendes Soluções",
47
+ "license": "MIT",
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/Dimendes-Solucoes/Ilibras_widget.git"
51
+ },
52
+ "bugs": {
53
+ "url": "https://github.com/Dimendes-Solucoes/Ilibras_widget/issues"
54
+ },
55
+ "homepage": "https://github.com/Dimendes-Solucoes/Ilibras_widget#readme",
56
+ "devDependencies": {
57
+ "esbuild": "^0.28.2"
58
+ }
59
+ }