ilibras-widget 1.5.0 → 1.5.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,88 @@ Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.5.3] - 2026-09-18
8
+
9
+ ### 🩹 Conserta o widget que sumiu da tela na 1.5.1
10
+
11
+ A 1.5.1 escopou o estilo ao container para o tema do site não pintar o widget —
12
+ e escopou demais.
13
+
14
+ As classes de posição (`.ilibras-widget-bottom-right` e irmãs) ficam no
15
+ **próprio** container, não num descendente dele. Viraram
16
+ `#ilibras-widget-container .ilibras-widget-bottom-right`, com espaço, que não
17
+ casa com nada: o container perdeu `bottom` e `right`, ficou `fixed` sem âncora
18
+ e foi parar onde o fluxo o largou — milhares de pixels abaixo da tela. O widget
19
+ sumiu de um site em produção.
20
+
21
+ Agora o escopo dessas quatro é composto — `#ilibras-widget-container.classe` —
22
+ e o das demais segue descendente.
23
+
24
+ A mesma passagem trazia outros dois furos, dos quais só este deu as caras:
25
+
26
+ - listas de seletores quebradas em várias linhas tinham só a última linha
27
+ escopada, e as demais ficavam expostas ao tema;
28
+ - blocos `@media` inteiros passaram sem escopo, porque a regra logo depois da
29
+ chave do `@media` não era reconhecida.
30
+
31
+ Os três estão cobertos por teste agora: 124 seletores escopados, 16 deles
32
+ compostos, nenhum solto.
33
+
34
+ ---
35
+
36
+ ## [1.5.2] - 2026-09-18
37
+
38
+ ### 🗂️ Uma aba, não duas
39
+
40
+ Ao criar o atendimento, o widget abria a aba nova **e** trocava a página da aba
41
+ atual. A pessoa terminava com duas.
42
+
43
+ A causa estava no plano B para pop-up bloqueado:
44
+
45
+ ```js
46
+ const aba = window.open(destino, '_blank', 'noopener');
47
+ if (!aba) window.location.assign(destino);
48
+ ```
49
+
50
+ A especificação manda `window.open` devolver `null` sempre que `noopener` está
51
+ presente — **mesmo quando a aba abre**. O teste lia esse `null` como pop-up
52
+ bloqueado, e a segunda linha disparava sempre.
53
+
54
+ Agora a chamada vai sem a feature e a proteção é feita na mão
55
+ (`aba.opener = null`), o que dá o mesmo isolamento e preserva o retorno — que é
56
+ justamente o que distingue aba aberta de aba barrada. O plano B continua de pé
57
+ para quando o pop-up é realmente bloqueado: melhor trocar de página do que
58
+ sumir com um atendimento já criado.
59
+
60
+ ---
61
+
62
+ ## [1.5.1] - 2026-09-18
63
+
64
+ ### 🎨 O tema do site não pinta mais o widget
65
+
66
+ Todas as regras de estilo passaram a ser escopadas por
67
+ `#ilibras-widget-container`.
68
+
69
+ O widget usava seletores de uma classe só — `.ilibras-widget-submit` tem
70
+ especificidade (0,1,0) e perde para qualquer tema que estilize botões com dois
71
+ níveis. Um `.elementor-kit-275 button` é (0,1,1) e vencia.
72
+
73
+ O estrago aparecia num site real: botões verdes, cantos arredondados em 30px e
74
+ o "X" de fechar virado pílula — dentro de um widget cuja promessa é justamente
75
+ se bastar no site dos outros. O botão principal escapava por acidente, porque o
76
+ gradiente dele pintava por cima da cor do tema; o de agendar, sem gradiente,
77
+ ficava verde.
78
+
79
+ Com o prefixo, as regras vão a (1,1,0): ganham de qualquer seletor de tema
80
+ **sem recorrer a `!important`**, e continuam perdendo para o `!important` que o
81
+ README ensina o cliente a usar quando quer customizar de propósito. Quem
82
+ customiza sem `!important` precisa passar a usá-lo.
83
+
84
+ Problema antigo, anterior à v1.5.0 — só ficou visível quando o segundo botão
85
+ entrou no formulário.
86
+
87
+ ---
88
+
7
89
  ## [1.5.0] - 2026-09-18
8
90
 
9
91
  ### 🙋 O formulário pede só o nome