@pipelinesolucoes/button 1.2.0-beta.10 → 1.2.0-beta.11

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/README.md CHANGED
@@ -22,8 +22,12 @@ A biblioteca inclui os seguintes componentes:
22
22
  - **SubmitButton**
23
23
  Botão de submit estilizado, baseado no tema e com tipografia configurável via `variant`.
24
24
 
25
- - **NavigationButton**
26
- Botão de navegação reutilizável baseado em link (`<a>`), estilizado com Material UI.
25
+ - **WhatsAppFlutuante**
26
+ Componente flutuante de ação rápida para contato via WhatsApp.
27
+ Renderiza um botão circular fixo na tela utilizando o `Fab` do Material UI,
28
+ contendo o ícone oficial do WhatsApp. Ao ser clicado, abre uma nova aba
29
+ direcionando para a URL `https://wa.me/{whatsapp}`, iniciando a conversa
30
+ com o número informado.
27
31
 
28
32
  - **NavigationLink**
29
33
  Link de navegação reutilizável, estilizado com Material UI.
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ /**
3
+ * Propriedades do componente `WhatsAppIcon`.
4
+ */
5
+ export interface WhatsAppFlutuanteProps {
6
+ whatsapp: string;
7
+ right?: string;
8
+ }
9
+ /**
10
+ * Componente flutuante de ação rápida para contato via WhatsApp.
11
+ *
12
+ * Renderiza um botão circular fixo na tela utilizando o `Fab` do Material UI,
13
+ * contendo o ícone oficial do WhatsApp. Ao ser clicado, abre uma nova aba
14
+ * direcionando para a URL `https://wa.me/{whatsapp}`, iniciando a conversa
15
+ * com o número informado.
16
+ *
17
+ * Principais funcionalidades:
18
+ * - Exibição de botão flutuante fixado no viewport.
19
+ * - Abertura segura de nova aba (`noopener,noreferrer`) para o WhatsApp.
20
+ * - Posicionamento horizontal configurável.
21
+ * - Aplicação de cor oficial do WhatsApp.
22
+ * - Controle de sobreposição via `z-index` elevado.
23
+ *
24
+ * @param {string} whatsapp
25
+ * Número de telefone que será utilizado para iniciar a conversa no WhatsApp.
26
+ *
27
+ * Regras obrigatórias:
28
+ * - Informar apenas dígitos.
29
+ * - Incluir código do país (DDI).
30
+ * - Não utilizar espaços, parênteses ou caracteres especiais.
31
+ *
32
+ * Exemplo válido (Brasil):
33
+ * `"5511999999999"`
34
+ *
35
+ * @param {string} [right='24px']
36
+ * Define a distância horizontal entre o botão e a borda direita da viewport.
37
+ *
38
+ * Aceita qualquer valor CSS válido:
39
+ * - `"24px"`
40
+ * - `"2rem"`
41
+ * - `"5%"`
42
+ *
43
+ * Ordem de prioridade:
44
+ * `right` → `'24px'`
45
+ *
46
+ * ─────────────────────────────────────────────
47
+ * @example Ajustando posição horizontal
48
+ *
49
+ * ```tsx
50
+ * <WhatsAppFlutuante
51
+ * whatsapp="5511999999999"
52
+ * right="40px"
53
+ * />
54
+ * ```
55
+ */
56
+ declare const WhatsAppFlutuante: React.FC<WhatsAppFlutuanteProps>;
57
+ export default WhatsAppFlutuante;
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Fab } from '@mui/material';
4
+ import WhatsAppIcon from '@mui/icons-material/WhatsApp';
5
+ /**
6
+ * Componente flutuante de ação rápida para contato via WhatsApp.
7
+ *
8
+ * Renderiza um botão circular fixo na tela utilizando o `Fab` do Material UI,
9
+ * contendo o ícone oficial do WhatsApp. Ao ser clicado, abre uma nova aba
10
+ * direcionando para a URL `https://wa.me/{whatsapp}`, iniciando a conversa
11
+ * com o número informado.
12
+ *
13
+ * Principais funcionalidades:
14
+ * - Exibição de botão flutuante fixado no viewport.
15
+ * - Abertura segura de nova aba (`noopener,noreferrer`) para o WhatsApp.
16
+ * - Posicionamento horizontal configurável.
17
+ * - Aplicação de cor oficial do WhatsApp.
18
+ * - Controle de sobreposição via `z-index` elevado.
19
+ *
20
+ * @param {string} whatsapp
21
+ * Número de telefone que será utilizado para iniciar a conversa no WhatsApp.
22
+ *
23
+ * Regras obrigatórias:
24
+ * - Informar apenas dígitos.
25
+ * - Incluir código do país (DDI).
26
+ * - Não utilizar espaços, parênteses ou caracteres especiais.
27
+ *
28
+ * Exemplo válido (Brasil):
29
+ * `"5511999999999"`
30
+ *
31
+ * @param {string} [right='24px']
32
+ * Define a distância horizontal entre o botão e a borda direita da viewport.
33
+ *
34
+ * Aceita qualquer valor CSS válido:
35
+ * - `"24px"`
36
+ * - `"2rem"`
37
+ * - `"5%"`
38
+ *
39
+ * Ordem de prioridade:
40
+ * `right` → `'24px'`
41
+ *
42
+ * ─────────────────────────────────────────────
43
+ * @example Ajustando posição horizontal
44
+ *
45
+ * ```tsx
46
+ * <WhatsAppFlutuante
47
+ * whatsapp="5511999999999"
48
+ * right="40px"
49
+ * />
50
+ * ```
51
+ */
52
+ const WhatsAppFlutuante = ({ whatsapp, right = '24px' }) => {
53
+ return (_jsx(Fab, { "aria-label": "button whatsapp", onClick: () => window.open(`https://wa.me/${whatsapp}`, '_blank', 'noopener,noreferrer'), sx: {
54
+ position: 'fixed',
55
+ right: right,
56
+ bottom: 24,
57
+ zIndex: 1300,
58
+ bgcolor: '#25D366',
59
+ '&:hover': { bgcolor: '#1ebe5d' },
60
+ }, children: _jsx(WhatsAppIcon, { sx: { color: 'white' } }) }));
61
+ };
62
+ export default WhatsAppFlutuante;
63
+ //# sourceMappingURL=WhatsAppFlutuante.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhatsAppFlutuante.js","sourceRoot":"","sources":["../../src/components/WhatsAppFlutuante.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAWxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,iBAAiB,GAAqC,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,KAAC,GAAG,kBACS,iBAAiB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EACxF,EAAE,EAAE;YACF,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;SAClC,YAED,KAAC,YAAY,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,GACpC,CACP,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { default as DownloadButton } from './components/DownloadButton';
5
5
  export { default as NavigationLink } from './components/NavigationLink';
6
6
  export { default as ScrollToTopButton } from './components/ScrollToTopButton';
7
7
  export { default as WhatsAppButton } from './components/WhatsAppButton';
8
- export { default as WhatsAppIcon } from './components/WhatsAppIcon';
8
+ export { default as WhatsAppFlutuante } from './components/WhatsAppFlutuante';
9
9
  export { default as ActionButton } from "./components/ActionButton";
10
10
  export { default as SubmitButton } from "./components/SubmitButton";
11
11
  export type { CommonStyleProps } from "./types/style/CommonStyleProps";
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { default as DownloadButton } from './components/DownloadButton';
5
5
  export { default as NavigationLink } from './components/NavigationLink';
6
6
  export { default as ScrollToTopButton } from './components/ScrollToTopButton';
7
7
  export { default as WhatsAppButton } from './components/WhatsAppButton';
8
- export { default as WhatsAppIcon } from './components/WhatsAppIcon';
8
+ export { default as WhatsAppFlutuante } from './components/WhatsAppFlutuante';
9
9
  export { default as ActionButton } from "./components/ActionButton";
10
10
  export { default as SubmitButton } from "./components/SubmitButton";
11
11
  export { COMMON_STYLE_FORWARD_PROPS } from './types/CommonForwardProps';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,cAAc,2BAA2B,CAAC"}