flicker-alerts 1.0.5 → 1.0.7

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 (3) hide show
  1. package/index.d.ts +1 -2
  2. package/index.js +57 -56
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -9,5 +9,4 @@ declare module 'flicker-alerts' {
9
9
  export default class FlickerAlerts {
10
10
  static showAlert(options: AlertOptions): void;
11
11
  }
12
- }
13
-
12
+ }
package/index.js CHANGED
@@ -1,70 +1,71 @@
1
1
  const FlickerAlerts = {
2
2
  showAlert: function ({ type, title, message, timer = 3000 }) {
3
- // Verifique se está no ambiente do navegador (client-side)
4
- if (typeof document === 'undefined') {
5
- return; // Evita erros no servidor ou no ambiente sem DOM
6
- }
3
+ // Verifique se está no ambiente do navegador (client-side) antes de tentar manipular o DOM
4
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
5
+ // Criação do alerta
6
+ const alertBox = document.createElement('div');
7
+ alertBox.className = `alert-custom alert-${type}`;
7
8
 
8
- // Criação do alerta
9
- const alertBox = document.createElement('div');
10
- alertBox.className = `alert-custom alert-${type}`;
9
+ // Ícone
10
+ const icon = document.createElement('div');
11
+ icon.className = 'icon';
12
+ const iconClass = {
13
+ success: 'fa-check',
14
+ info: 'fa-info',
15
+ warning: 'fa-exclamation',
16
+ danger: 'fa-times'
17
+ }[type];
18
+ icon.innerHTML = `<i class="fas ${iconClass}"></i>`;
19
+ alertBox.appendChild(icon);
11
20
 
12
- // Ícone
13
- const icon = document.createElement('div');
14
- icon.className = 'icon';
15
- const iconClass = {
16
- success: 'fa-check',
17
- info: 'fa-info',
18
- warning: 'fa-exclamation',
19
- danger: 'fa-times'
20
- }[type];
21
- icon.innerHTML = `<i class="fas ${iconClass}"></i>`;
22
- alertBox.appendChild(icon);
21
+ // Conteúdo
22
+ const content = document.createElement('div');
23
+ content.innerHTML = `<strong>${title}</strong><div>${message}</div>`;
24
+ alertBox.appendChild(content);
23
25
 
24
- // Conteúdo
25
- const content = document.createElement('div');
26
- content.innerHTML = `<strong>${title}</strong><div>${message}</div>`;
27
- alertBox.appendChild(content);
26
+ // Botão de fechamento
27
+ const closeButton = document.createElement('div');
28
+ closeButton.className = 'close';
29
+ closeButton.innerHTML = '<i class="fas fa-times"></i>';
30
+ closeButton.onclick = () => alertBox.remove();
31
+ alertBox.appendChild(closeButton);
28
32
 
29
- // Botão de fechamento
30
- const closeButton = document.createElement('div');
31
- closeButton.className = 'close';
32
- closeButton.innerHTML = '<i class="fas fa-times"></i>';
33
- closeButton.onclick = () => alertBox.remove();
34
- alertBox.appendChild(closeButton);
33
+ // Barra de progresso
34
+ const progressBar = document.createElement('div');
35
+ progressBar.className = `progress-bar progress-bar-${type}`;
36
+ alertBox.appendChild(progressBar);
35
37
 
36
- // Barra de progresso
37
- const progressBar = document.createElement('div');
38
- progressBar.className = `progress-bar progress-bar-${type}`;
39
- alertBox.appendChild(progressBar);
38
+ // Adicionar ao container
39
+ const container = document.getElementById('alerts-container');
40
+ if (container) {
41
+ container.appendChild(alertBox);
42
+ }
40
43
 
41
- // Adicionar ao container
42
- const container = document.getElementById('alerts-container');
43
- if (container) {
44
- container.appendChild(alertBox);
44
+ // Remoção automática após o tempo especificado
45
+ setTimeout(() => alertBox.remove(), timer);
45
46
  }
46
-
47
- // Remoção automática
48
- setTimeout(() => alertBox.remove(), timer);
49
47
  }
50
48
  };
51
49
 
50
+ // Botões de teste - Eles podem ser removidos se não forem necessários
51
+ if (typeof document !== 'undefined') {
52
+ document.getElementById('success-btn')?.addEventListener('click', () => {
53
+ FlickerAlerts.showAlert({ type: 'success', title: 'Sucesso', message: 'A operação foi concluída com êxito!' });
54
+ });
55
+
56
+ document.getElementById('info-btn')?.addEventListener('click', () => {
57
+ FlickerAlerts.showAlert({ type: 'info', title: 'Informação', message: 'Aqui está uma informação importante.' });
58
+ });
59
+
60
+ document.getElementById('warning-btn')?.addEventListener('click', () => {
61
+ FlickerAlerts.showAlert({ type: 'warning', title: 'Alerta', message: 'Por favor, preste atenção nisso!' });
62
+ });
63
+
64
+ document.getElementById('error-btn')?.addEventListener('click', () => {
65
+ FlickerAlerts.showAlert({ type: 'danger', title: 'Erro', message: 'Ocorreu um erro inesperado!' });
66
+ });
67
+ }
68
+
52
69
  // Exportação
53
70
  export default FlickerAlerts;
54
-
55
- // Botões de teste
56
- document.getElementById('success-btn').addEventListener('click', () => {
57
- FlickerAlerts.showAlert({ type: 'success', title: 'Sucesso', message: 'A operação foi concluída com êxito!' });
58
- });
59
-
60
- document.getElementById('info-btn').addEventListener('click', () => {
61
- FlickerAlerts.showAlert({ type: 'info', title: 'Informação', message: 'Aqui está uma informação importante.' });
62
- });
63
-
64
- document.getElementById('warning-btn').addEventListener('click', () => {
65
- FlickerAlerts.showAlert({ type: 'warning', title: 'Alerta', message: 'Por favor, preste atenção nisso!' });
66
- });
67
-
68
- document.getElementById('error-btn').addEventListener('click', () => {
69
- FlickerAlerts.showAlert({ type: 'danger', title: 'Erro', message: 'Ocorreu um erro inesperado!' });
70
- });
71
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flicker-alerts",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Biblioteca para alertas animados",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",