@pipelinesolucoes/menu 1.0.3-beta.8 → 1.0.3-beta.9
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.
|
@@ -24,10 +24,21 @@ interface ItemMenuProps extends ColorProps, BorderProps, LayoutProps {
|
|
|
24
24
|
* borda e hover, além de suportar comportamento de **scroll suave** para âncoras.
|
|
25
25
|
*
|
|
26
26
|
* Regras de navegação:
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
27
|
+
* 1. Link externo:
|
|
28
|
+
* - Se `url` contém `"http"` → abre em nova aba
|
|
29
|
+
* (`target="_blank"` + `rel="noopener noreferrer"`).
|
|
30
|
+
* 2. Navegação entre páginas (com ou sem âncora):
|
|
31
|
+
* - Se `url` começa com `"/"` (ex.: "/midia" ou "/midia#midia")
|
|
32
|
+
* → navegação normal do Next.js (não intercepta clique).
|
|
33
|
+
* - O scroll para `#ancora` será tratado na página de destino.
|
|
34
|
+
* 3. Âncora na mesma página:
|
|
35
|
+
* - Se `url` começa com `"#"` (ex.: "#midia")
|
|
36
|
+
* → intercepta o clique e faz scroll suave com `scrollIntoView`.
|
|
37
|
+
* - Se `afterClick` existir:
|
|
38
|
+
* → executa `afterClick()` (ex: fechar menu)
|
|
39
|
+
* → aplica um pequeno delay antes do scroll (evita reflow/layout shift).
|
|
40
|
+
* 4. Fallback:
|
|
41
|
+
* - Qualquer outro formato é tratado como link padrão.
|
|
31
42
|
*
|
|
32
43
|
* @param {string} url URL de destino. Pode ser externa (`https://...`), interna (`/rota` ou `/#secao`) ou âncora (`#secao`). Obrigatório.
|
|
33
44
|
* @param {boolean} [abrirHTTPNovaAba='True'] Abrir uma url externa (`https://...`) em uma nova aba`.
|
|
@@ -39,10 +39,21 @@ const ButtonStyled = styled('a', {
|
|
|
39
39
|
* borda e hover, além de suportar comportamento de **scroll suave** para âncoras.
|
|
40
40
|
*
|
|
41
41
|
* Regras de navegação:
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
42
|
+
* 1. Link externo:
|
|
43
|
+
* - Se `url` contém `"http"` → abre em nova aba
|
|
44
|
+
* (`target="_blank"` + `rel="noopener noreferrer"`).
|
|
45
|
+
* 2. Navegação entre páginas (com ou sem âncora):
|
|
46
|
+
* - Se `url` começa com `"/"` (ex.: "/midia" ou "/midia#midia")
|
|
47
|
+
* → navegação normal do Next.js (não intercepta clique).
|
|
48
|
+
* - O scroll para `#ancora` será tratado na página de destino.
|
|
49
|
+
* 3. Âncora na mesma página:
|
|
50
|
+
* - Se `url` começa com `"#"` (ex.: "#midia")
|
|
51
|
+
* → intercepta o clique e faz scroll suave com `scrollIntoView`.
|
|
52
|
+
* - Se `afterClick` existir:
|
|
53
|
+
* → executa `afterClick()` (ex: fechar menu)
|
|
54
|
+
* → aplica um pequeno delay antes do scroll (evita reflow/layout shift).
|
|
55
|
+
* 4. Fallback:
|
|
56
|
+
* - Qualquer outro formato é tratado como link padrão.
|
|
46
57
|
*
|
|
47
58
|
* @param {string} url URL de destino. Pode ser externa (`https://...`), interna (`/rota` ou `/#secao`) ou âncora (`#secao`). Obrigatório.
|
|
48
59
|
* @param {boolean} [abrirHTTPNovaAba='True'] Abrir uma url externa (`https://...`) em uma nova aba`.
|
|
@@ -110,6 +121,8 @@ const ItemMenu = ({ url, aria_label, background, backgroundHover, colorText, col
|
|
|
110
121
|
const borderColorUnderline = (text_decoration == 'underline') ? colorText : (borderColor !== null && borderColor !== void 0 ? borderColor : 'transparent');
|
|
111
122
|
const handleClick = (e) => {
|
|
112
123
|
var _a;
|
|
124
|
+
if (!url.startsWith("#"))
|
|
125
|
+
return;
|
|
113
126
|
e.preventDefault();
|
|
114
127
|
const id = url.replace('#', '');
|
|
115
128
|
if (afterClick) {
|
|
@@ -128,14 +141,14 @@ const ItemMenu = ({ url, aria_label, background, backgroundHover, colorText, col
|
|
|
128
141
|
if (url.indexOf('http') != -1 && abrirHTTPNovaAba) {
|
|
129
142
|
return (_jsx(ButtonStyled, { href: url, width: width, background_color: backgroundColor, background_color_hover: backgroundColorHover, color: colorText, color_hover: colorHover, border_radius: border_radius, border_color: border_color, border_color_underline: borderColorUnderline, padding: paddingLayout, margin: marginButton, "aria-label": aria_label, target: "_blank", rel: "noopener noreferrer", children: children }));
|
|
130
143
|
}
|
|
131
|
-
else if (url.
|
|
144
|
+
else if (url.includes('/#') || url.startsWith('/') || (url.indexOf('http') != -1 && !abrirHTTPNovaAba)) {
|
|
132
145
|
return (_jsx(ButtonStyled, { href: url, width: width, background_color: backgroundColor, background_color_hover: backgroundColorHover, color: colorText, color_hover: colorHover, border_radius: border_radius, border_color: border_color, border_color_underline: borderColorUnderline, padding: paddingLayout, margin: marginButton, "aria-label": aria_label, children: children }));
|
|
133
146
|
}
|
|
134
147
|
else {
|
|
135
148
|
return (_jsx(ButtonStyled, { href: url, onClick: handleClick, width: width, background_color: backgroundColor, background_color_hover: backgroundColorHover, color: colorText, color_hover: colorHover, border_radius: border_radius, border_color: border_color, border_color_underline: borderColorUnderline, padding: paddingLayout, margin: marginButton, "aria-label": aria_label, children: children }));
|
|
136
149
|
}
|
|
137
150
|
};
|
|
138
|
-
ItemMenu.displayName = "ItemMenu";
|
|
139
|
-
ItemMenu.typeName = "ItemMenu";
|
|
151
|
+
ItemMenu.displayName = "ItemMenu";
|
|
152
|
+
ItemMenu.typeName = "ItemMenu";
|
|
140
153
|
export default ItemMenu;
|
|
141
154
|
//# sourceMappingURL=ItemMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemMenu.js","sourceRoot":"","sources":["../../src/components/ItemMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,CAAC;QACC,kBAAkB;QAClB,wBAAwB;QACxB,OAAO;QACP,aAAa;QACb,SAAS;QACT,eAAe;QACf,cAAc;QACd,wBAAwB;QACxB,OAAO;QACP,QAAQ;KACT,CAAC,QAAQ,CAAC,IAAc,CAAC;CAC7B,CAAC,CAWC,CAAC,EACF,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,KAAK,EACL,MAAM,GACP,EAAE,EAAE,CAAC,CAAC;IACL,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,gBAAgB;IACjC,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,aAAa,YAAY,EAAE;IACnC,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IAEd,SAAS,EAAE;QACT,eAAe,EAAE,sBAAsB;QACvC,YAAY,EAAE,aAAa,sBAAsB,EAAE;QACnD,KAAK,EAAE,WAAW;KACnB;CACF,CAAC,CAAC,CAAC;AAwBJ
|
|
1
|
+
{"version":3,"file":"ItemMenu.js","sourceRoot":"","sources":["../../src/components/ItemMenu.tsx"],"names":[],"mappings":"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"}
|