flicker-alerts 1.0.4 → 1.0.5

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 (2) hide show
  1. package/index.js +50 -40
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1,47 +1,57 @@
1
1
  const FlickerAlerts = {
2
2
  showAlert: function ({ type, title, message, timer = 3000 }) {
3
- // Criação do alerta
4
- const alertBox = document.createElement('div');
5
- alertBox.className = `alert-custom alert-${type}`;
6
-
7
- // Ícone
8
- const icon = document.createElement('div');
9
- icon.className = 'icon';
10
- const iconClass = {
11
- success: 'fa-check',
12
- info: 'fa-info',
13
- warning: 'fa-exclamation',
14
- danger: 'fa-times'
15
- }[type];
16
- icon.innerHTML = `<i class="fas ${iconClass}"></i>`;
17
- alertBox.appendChild(icon);
18
-
19
- // Conteúdo
20
- const content = document.createElement('div');
21
- content.innerHTML = `<strong>${title}</strong><div>${message}</div>`;
22
- alertBox.appendChild(content);
23
-
24
- // Botão de fechamento
25
- const closeButton = document.createElement('div');
26
- closeButton.className = 'close';
27
- closeButton.innerHTML = '<i class="fas fa-times"></i>';
28
- closeButton.onclick = () => alertBox.remove();
29
- alertBox.appendChild(closeButton);
30
-
31
- // Barra de progresso
32
- const progressBar = document.createElement('div');
33
- progressBar.className = `progress-bar progress-bar-${type}`;
34
- alertBox.appendChild(progressBar);
35
-
36
- // Adicionar ao container
37
- const container = document.getElementById('alerts-container');
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
+ }
7
+
8
+ // Criação do alerta
9
+ const alertBox = document.createElement('div');
10
+ alertBox.className = `alert-custom alert-${type}`;
11
+
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);
23
+
24
+ // Conteúdo
25
+ const content = document.createElement('div');
26
+ content.innerHTML = `<strong>${title}</strong><div>${message}</div>`;
27
+ alertBox.appendChild(content);
28
+
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);
35
+
36
+ // Barra de progresso
37
+ const progressBar = document.createElement('div');
38
+ progressBar.className = `progress-bar progress-bar-${type}`;
39
+ alertBox.appendChild(progressBar);
40
+
41
+ // Adicionar ao container
42
+ const container = document.getElementById('alerts-container');
43
+ if (container) {
38
44
  container.appendChild(alertBox);
39
-
40
- // Remoção automática
41
- setTimeout(() => alertBox.remove(), timer);
45
+ }
46
+
47
+ // Remoção automática
48
+ setTimeout(() => alertBox.remove(), timer);
42
49
  }
43
- };
44
-
50
+ };
51
+
52
+ // Exportação
53
+ export default FlickerAlerts;
54
+
45
55
  // Botões de teste
46
56
  document.getElementById('success-btn').addEventListener('click', () => {
47
57
  FlickerAlerts.showAlert({ type: 'success', title: 'Sucesso', message: 'A operação foi concluída com êxito!' });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flicker-alerts",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Biblioteca para alertas animados",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",