@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
- * - Se `url` contém `"http"`, abre como link externo (com `target="_blank"` e `rel="noopener noreferrer"`).
28
- * - Se `url` contém `"/#"` ou começa com `"/"`, renderiza como link interno padrão (sem interceptar o clique).
29
- * - Caso contrário, assume âncora (ex.: `"#section"`) e faz `scrollIntoView` suave; se `afterClick` existir,
30
- * chama primeiro `afterClick()` e aplica um `setTimeout` para evitar reflow pesado antes do scroll.
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
- * - Se `url` contém `"http"`, abre como link externo (com `target="_blank"` e `rel="noopener noreferrer"`).
43
- * - Se `url` contém `"/#"` ou começa com `"/"`, renderiza como link interno padrão (sem interceptar o clique).
44
- * - Caso contrário, assume âncora (ex.: `"#section"`) e faz `scrollIntoView` suave; se `afterClick` existir,
45
- * chama primeiro `afterClick()` e aplica um `setTimeout` para evitar reflow pesado antes do scroll.
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.indexOf('/#') != -1 || url.startsWith('/') || (url.indexOf('http') != -1 && !abrirHTTPNovaAba)) {
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"; // para DevTools
139
- ItemMenu.typeName = "ItemMenu"; // para seu código
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":"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"}
1
+ {"version":3,"file":"ItemMenu.js","sourceRoot":"","sources":["../../src/components/ItemMenu.tsx"],"names":[],"mappings":"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"}