Merge remote-tracking branch 'origin/develop'
This commit is contained in:
+27
@@ -5,6 +5,33 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
|
||||||
|
<!-- DETECAO DE AMBIENTE - Inline (executa antes de tudo) -->
|
||||||
|
<script>
|
||||||
|
(function() {
|
||||||
|
var h = location.hostname;
|
||||||
|
var IS_PROD = h === 'avanzato.com.br' || h === 'www.avanzato.com.br';
|
||||||
|
|
||||||
|
// Se NAO for producao, desativa tracking globalmente
|
||||||
|
if (!IS_PROD) {
|
||||||
|
window.__AVANZATO_ENV__ = h === 'hml.avanzato.com.br' ? 'homologation' : 'development';
|
||||||
|
|
||||||
|
// Bloqueia gtag
|
||||||
|
window.dataLayer = { push: function(){} };
|
||||||
|
window.gtag = function(){};
|
||||||
|
|
||||||
|
// Bloqueia fbq (Facebook Pixel)
|
||||||
|
window.fbq = function(){};
|
||||||
|
|
||||||
|
// Bloqueia Mautic
|
||||||
|
window.MauticSDKLoaded = true;
|
||||||
|
|
||||||
|
console.log('[Avanzato] Ambiente: ' + window.__AVANZATO_ENV__ + ' | Tracking bloqueado');
|
||||||
|
} else {
|
||||||
|
window.__AVANZATO_ENV__ = 'production';
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- Google tag (gtag.js) - Ads + Analytics -->
|
<!-- Google tag (gtag.js) - Ads + Analytics -->
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-16714813566"></script>
|
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-16714813566"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,33 +0,0 @@
|
|||||||
# Release HML
|
|
||||||
|
|
||||||
Data: sáb 30 mai 2026 23:14:48 -03
|
|
||||||
|
|
||||||
Ambiente:
|
|
||||||
HML
|
|
||||||
|
|
||||||
Descrição:
|
|
||||||
Favivon - Correção
|
|
||||||
|
|
||||||
Branch:
|
|
||||||
develop
|
|
||||||
|
|
||||||
Arquivos alterados antes do commit:
|
|
||||||
M package-lock.json
|
|
||||||
M src/sections/Footer.tsx
|
|
||||||
?? infra/releases/2026-05-30_23-14-47_HML.md
|
|
||||||
?? public/favicon.png
|
|
||||||
|
|
||||||
Status:
|
|
||||||
Preparado para publicação
|
|
||||||
|
|
||||||
Commit:
|
|
||||||
643f4a3f
|
|
||||||
|
|
||||||
Arquivos no commit:
|
|
||||||
infra/releases/2026-05-30_23-14-47_HML.md
|
|
||||||
package-lock.json
|
|
||||||
public/favicon.png
|
|
||||||
src/sections/Footer.tsx
|
|
||||||
|
|
||||||
Status final:
|
|
||||||
Publicado no Gitea / aguardando pipeline HML
|
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
# Release HML
|
||||||
|
|
||||||
|
Data: sáb 30 mai 2026 23:54:46 -03
|
||||||
|
|
||||||
|
Ambiente:
|
||||||
|
HML
|
||||||
|
|
||||||
|
Descrição:
|
||||||
|
Revisão Logo, Favicon, Robots
|
||||||
|
|
||||||
|
Branch:
|
||||||
|
develop
|
||||||
|
|
||||||
|
Arquivos alterados antes do commit:
|
||||||
|
D .github/workflows/README-CI-CD.md
|
||||||
|
D .github/workflows/deploy.yml
|
||||||
|
D .gitignore
|
||||||
|
M index.html
|
||||||
|
D infra/releases/2026-05-30_23-52-07_HML.md
|
||||||
|
M node_modules/.package-lock.json
|
||||||
|
M node_modules/.vite/deps/@radix-ui_react-dialog.js
|
||||||
|
M node_modules/.vite/deps/@radix-ui_react-radio-group.js
|
||||||
|
M node_modules/.vite/deps/@radix-ui_react-select.js
|
||||||
|
M node_modules/.vite/deps/_metadata.json
|
||||||
|
M package-lock.json
|
||||||
|
M package.json
|
||||||
|
M public/robots.txt
|
||||||
|
M public/sitemap.xml
|
||||||
|
M scripts/dev.sh
|
||||||
|
M src/App.tsx
|
||||||
|
M src/components/HomologationBanner.tsx
|
||||||
|
M src/config/mautic.ts
|
||||||
|
M src/config/site.ts
|
||||||
|
M src/main.tsx
|
||||||
|
M src/pages/Blog.tsx
|
||||||
|
M src/pages/Cases.tsx
|
||||||
|
M src/pages/Condominios.tsx
|
||||||
|
M src/pages/Privacidade.tsx
|
||||||
|
M src/pages/Sobre.tsx
|
||||||
|
M src/pages/Tecnologias.tsx
|
||||||
|
M src/pages/Termos.tsx
|
||||||
|
M src/pages/nichos/Advocacia.tsx
|
||||||
|
M src/pages/nichos/BackupCorporativo.tsx
|
||||||
|
M src/pages/nichos/Contabilidade.tsx
|
||||||
|
M src/pages/nichos/FirewallPfSense.tsx
|
||||||
|
M src/pages/nichos/Monitoramento.tsx
|
||||||
|
M src/pages/nichos/VoipEmpresarial.tsx
|
||||||
|
M src/pages/services/Backup.tsx
|
||||||
|
M src/pages/services/CloudComputing.tsx
|
||||||
|
M src/pages/services/Consultoria.tsx
|
||||||
|
M src/pages/services/Noc.tsx
|
||||||
|
M src/pages/services/Pabx.tsx
|
||||||
|
M src/pages/services/Redes.tsx
|
||||||
|
M src/pages/services/Seguranca.tsx
|
||||||
|
M src/pages/services/Servidores.tsx
|
||||||
|
M src/pages/services/Suporte.tsx
|
||||||
|
M src/pages/services/TiGerenciada.tsx
|
||||||
|
M src/pages/tech/Cisco.tsx
|
||||||
|
M src/pages/tech/Linux.tsx
|
||||||
|
M src/pages/tech/PfSense.tsx
|
||||||
|
M src/pages/tech/Proxmox.tsx
|
||||||
|
M src/pages/tech/Sharepoint.tsx
|
||||||
|
M src/pages/tech/Vmware.tsx
|
||||||
|
M src/pages/tech/WindowsServer.tsx
|
||||||
|
M src/sections/Footer.tsx
|
||||||
|
M src/sections/Navigation.tsx
|
||||||
|
M vite.config.ts
|
||||||
|
?? DEPLOY-DOCKER.md
|
||||||
|
?? GUIA-NGINX.md
|
||||||
|
?? infra/releases/2026-05-30_23-54-46_HML.md
|
||||||
|
?? nginx-docker.conf
|
||||||
|
?? node_modules/.vite/deps/chunk-INCCO7S4.js
|
||||||
|
?? node_modules/.vite/deps/chunk-INCCO7S4.js.map
|
||||||
|
?? node_modules/.vite/deps/chunk-L2OGOWTU.js
|
||||||
|
?? node_modules/.vite/deps/chunk-L2OGOWTU.js.map
|
||||||
|
?? node_modules/.vite/deps/chunk-LIWCVBQK.js
|
||||||
|
?? node_modules/.vite/deps/chunk-LIWCVBQK.js.map
|
||||||
|
?? node_modules/.vite/deps/chunk-MOFDO34C.js
|
||||||
|
?? node_modules/.vite/deps/chunk-MOFDO34C.js.map
|
||||||
|
?? node_modules/.vite/deps/react-helmet-async.js
|
||||||
|
?? node_modules/.vite/deps/react-helmet-async.js.map
|
||||||
|
?? node_modules/invariant/
|
||||||
|
?? node_modules/react-fast-compare/
|
||||||
|
?? node_modules/react-helmet-async/
|
||||||
|
?? node_modules/shallowequal/
|
||||||
|
?? public/version.json
|
||||||
|
?? scripts/build-static-routes.sh
|
||||||
|
?? src/components/SEO.tsx
|
||||||
|
?? src/config/environment.ts
|
||||||
|
|
||||||
|
Status:
|
||||||
|
Preparado para publicação
|
||||||
|
|
||||||
|
Commit:
|
||||||
|
4e26c132
|
||||||
|
|
||||||
|
Arquivos no commit:
|
||||||
|
.github/workflows/README-CI-CD.md
|
||||||
|
.github/workflows/deploy.yml
|
||||||
|
.gitignore
|
||||||
|
DEPLOY-DOCKER.md
|
||||||
|
GUIA-NGINX.md
|
||||||
|
index.html
|
||||||
|
infra/releases/2026-05-30_23-52-07_HML.md
|
||||||
|
infra/releases/2026-05-30_23-54-46_HML.md
|
||||||
|
nginx-docker.conf
|
||||||
|
node_modules/.package-lock.json
|
||||||
|
node_modules/.vite/deps/@radix-ui_react-dialog.js
|
||||||
|
node_modules/.vite/deps/@radix-ui_react-radio-group.js
|
||||||
|
node_modules/.vite/deps/@radix-ui_react-select.js
|
||||||
|
node_modules/.vite/deps/_metadata.json
|
||||||
|
node_modules/.vite/deps/chunk-INCCO7S4.js
|
||||||
|
node_modules/.vite/deps/chunk-INCCO7S4.js.map
|
||||||
|
node_modules/.vite/deps/chunk-L2OGOWTU.js
|
||||||
|
node_modules/.vite/deps/chunk-L2OGOWTU.js.map
|
||||||
|
node_modules/.vite/deps/chunk-LIWCVBQK.js
|
||||||
|
node_modules/.vite/deps/chunk-LIWCVBQK.js.map
|
||||||
|
node_modules/.vite/deps/chunk-MOFDO34C.js
|
||||||
|
node_modules/.vite/deps/chunk-MOFDO34C.js.map
|
||||||
|
node_modules/.vite/deps/react-helmet-async.js
|
||||||
|
node_modules/.vite/deps/react-helmet-async.js.map
|
||||||
|
node_modules/invariant/CHANGELOG.md
|
||||||
|
node_modules/invariant/LICENSE
|
||||||
|
node_modules/invariant/README.md
|
||||||
|
node_modules/invariant/browser.js
|
||||||
|
node_modules/invariant/invariant.js
|
||||||
|
node_modules/invariant/invariant.js.flow
|
||||||
|
node_modules/invariant/package.json
|
||||||
|
node_modules/react-fast-compare/LICENSE
|
||||||
|
node_modules/react-fast-compare/README.md
|
||||||
|
node_modules/react-fast-compare/index.d.ts
|
||||||
|
node_modules/react-fast-compare/index.js
|
||||||
|
node_modules/react-fast-compare/package.json
|
||||||
|
node_modules/react-helmet-async/LICENSE
|
||||||
|
node_modules/react-helmet-async/README.md
|
||||||
|
node_modules/react-helmet-async/lib/Dispatcher.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/HelmetData.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/Provider.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/React19Dispatcher.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/client.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/constants.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/index.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/index.esm.js
|
||||||
|
node_modules/react-helmet-async/lib/index.js
|
||||||
|
node_modules/react-helmet-async/lib/reactVersion.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/server.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/types.d.ts
|
||||||
|
node_modules/react-helmet-async/lib/utils.d.ts
|
||||||
|
node_modules/react-helmet-async/package.json
|
||||||
|
node_modules/shallowequal/LICENSE
|
||||||
|
node_modules/shallowequal/README.md
|
||||||
|
node_modules/shallowequal/index.js
|
||||||
|
node_modules/shallowequal/index.js.flow
|
||||||
|
node_modules/shallowequal/index.original.js
|
||||||
|
node_modules/shallowequal/package.json
|
||||||
|
package-lock.json
|
||||||
|
package.json
|
||||||
|
public/robots.txt
|
||||||
|
public/sitemap.xml
|
||||||
|
public/version.json
|
||||||
|
scripts/build-static-routes.sh
|
||||||
|
scripts/dev.sh
|
||||||
|
src/App.tsx
|
||||||
|
src/components/HomologationBanner.tsx
|
||||||
|
src/components/SEO.tsx
|
||||||
|
src/config/environment.ts
|
||||||
|
src/config/mautic.ts
|
||||||
|
src/config/site.ts
|
||||||
|
src/main.tsx
|
||||||
|
src/pages/Blog.tsx
|
||||||
|
src/pages/Cases.tsx
|
||||||
|
src/pages/Condominios.tsx
|
||||||
|
src/pages/Privacidade.tsx
|
||||||
|
src/pages/Sobre.tsx
|
||||||
|
src/pages/Tecnologias.tsx
|
||||||
|
src/pages/Termos.tsx
|
||||||
|
src/pages/nichos/Advocacia.tsx
|
||||||
|
src/pages/nichos/BackupCorporativo.tsx
|
||||||
|
src/pages/nichos/Contabilidade.tsx
|
||||||
|
src/pages/nichos/FirewallPfSense.tsx
|
||||||
|
src/pages/nichos/Monitoramento.tsx
|
||||||
|
src/pages/nichos/VoipEmpresarial.tsx
|
||||||
|
src/pages/services/Backup.tsx
|
||||||
|
src/pages/services/CloudComputing.tsx
|
||||||
|
src/pages/services/Consultoria.tsx
|
||||||
|
src/pages/services/Noc.tsx
|
||||||
|
src/pages/services/Pabx.tsx
|
||||||
|
src/pages/services/Redes.tsx
|
||||||
|
src/pages/services/Seguranca.tsx
|
||||||
|
src/pages/services/Servidores.tsx
|
||||||
|
src/pages/services/Suporte.tsx
|
||||||
|
src/pages/services/TiGerenciada.tsx
|
||||||
|
src/pages/tech/Cisco.tsx
|
||||||
|
src/pages/tech/Linux.tsx
|
||||||
|
src/pages/tech/PfSense.tsx
|
||||||
|
src/pages/tech/Proxmox.tsx
|
||||||
|
src/pages/tech/Sharepoint.tsx
|
||||||
|
src/pages/tech/Vmware.tsx
|
||||||
|
src/pages/tech/WindowsServer.tsx
|
||||||
|
src/sections/Footer.tsx
|
||||||
|
src/sections/Navigation.tsx
|
||||||
|
vite.config.ts
|
||||||
|
|
||||||
|
Status final:
|
||||||
|
Publicado no Gitea / aguardando pipeline HML
|
||||||
+4
-4
@@ -1,7 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import {
|
import {
|
||||||
Presence
|
Presence
|
||||||
} from "./chunk-KKEH7IGY.js";
|
} from "./chunk-INCCO7S4.js";
|
||||||
import {
|
import {
|
||||||
Combination_default,
|
Combination_default,
|
||||||
DismissableLayer,
|
DismissableLayer,
|
||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
Portal,
|
Portal,
|
||||||
hideOthers,
|
hideOthers,
|
||||||
useFocusGuards
|
useFocusGuards
|
||||||
} from "./chunk-QF76HVLY.js";
|
} from "./chunk-LIWCVBQK.js";
|
||||||
import {
|
import {
|
||||||
Primitive,
|
Primitive,
|
||||||
composeEventHandlers,
|
composeEventHandlers,
|
||||||
@@ -17,12 +17,12 @@ import {
|
|||||||
createContextScope,
|
createContextScope,
|
||||||
useControllableState,
|
useControllableState,
|
||||||
useId
|
useId
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import "./chunk-YF4B4G2L.js";
|
|
||||||
import {
|
import {
|
||||||
composeRefs,
|
composeRefs,
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
|
import "./chunk-YF4B4G2L.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
|
|||||||
+1
-1
@@ -2,10 +2,10 @@
|
|||||||
import {
|
import {
|
||||||
createSlot
|
createSlot
|
||||||
} from "./chunk-YWBEB5PG.js";
|
} from "./chunk-YWBEB5PG.js";
|
||||||
|
import "./chunk-2VUH7NEY.js";
|
||||||
import {
|
import {
|
||||||
require_react_dom
|
require_react_dom
|
||||||
} from "./chunk-YF4B4G2L.js";
|
} from "./chunk-YF4B4G2L.js";
|
||||||
import "./chunk-2VUH7NEY.js";
|
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
|
|||||||
+6
-6
@@ -1,13 +1,13 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
import {
|
||||||
|
Presence
|
||||||
|
} from "./chunk-INCCO7S4.js";
|
||||||
import {
|
import {
|
||||||
createCollection,
|
createCollection,
|
||||||
useDirection,
|
useDirection,
|
||||||
usePrevious,
|
usePrevious,
|
||||||
useSize
|
useSize
|
||||||
} from "./chunk-D4MYACAJ.js";
|
} from "./chunk-L2OGOWTU.js";
|
||||||
import {
|
|
||||||
Presence
|
|
||||||
} from "./chunk-KKEH7IGY.js";
|
|
||||||
import {
|
import {
|
||||||
Primitive,
|
Primitive,
|
||||||
composeEventHandlers,
|
composeEventHandlers,
|
||||||
@@ -15,11 +15,11 @@ import {
|
|||||||
useCallbackRef,
|
useCallbackRef,
|
||||||
useControllableState,
|
useControllableState,
|
||||||
useId
|
useId
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import "./chunk-YF4B4G2L.js";
|
|
||||||
import {
|
import {
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
|
import "./chunk-YF4B4G2L.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
|
|||||||
+11
-11
@@ -1,10 +1,4 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import {
|
|
||||||
createCollection,
|
|
||||||
useDirection,
|
|
||||||
usePrevious,
|
|
||||||
useSize
|
|
||||||
} from "./chunk-D4MYACAJ.js";
|
|
||||||
import {
|
import {
|
||||||
Combination_default,
|
Combination_default,
|
||||||
DismissableLayer,
|
DismissableLayer,
|
||||||
@@ -12,7 +6,13 @@ import {
|
|||||||
Portal,
|
Portal,
|
||||||
hideOthers,
|
hideOthers,
|
||||||
useFocusGuards
|
useFocusGuards
|
||||||
} from "./chunk-QF76HVLY.js";
|
} from "./chunk-LIWCVBQK.js";
|
||||||
|
import {
|
||||||
|
createCollection,
|
||||||
|
useDirection,
|
||||||
|
usePrevious,
|
||||||
|
useSize
|
||||||
|
} from "./chunk-L2OGOWTU.js";
|
||||||
import {
|
import {
|
||||||
Primitive,
|
Primitive,
|
||||||
composeEventHandlers,
|
composeEventHandlers,
|
||||||
@@ -21,14 +21,14 @@ import {
|
|||||||
useControllableState,
|
useControllableState,
|
||||||
useId,
|
useId,
|
||||||
useLayoutEffect2
|
useLayoutEffect2
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import {
|
|
||||||
require_react_dom
|
|
||||||
} from "./chunk-YF4B4G2L.js";
|
|
||||||
import {
|
import {
|
||||||
composeRefs,
|
composeRefs,
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
|
import {
|
||||||
|
require_react_dom
|
||||||
|
} from "./chunk-YF4B4G2L.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
|
|||||||
+29
-29
@@ -7,109 +7,109 @@
|
|||||||
"react": {
|
"react": {
|
||||||
"src": "../../react/index.js",
|
"src": "../../react/index.js",
|
||||||
"file": "react.js",
|
"file": "react.js",
|
||||||
"fileHash": "5b37d437",
|
"fileHash": "d2a0cc23",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react-dom": {
|
"react-dom": {
|
||||||
"src": "../../react-dom/index.js",
|
"src": "../../react-dom/index.js",
|
||||||
"file": "react-dom.js",
|
"file": "react-dom.js",
|
||||||
"fileHash": "a8665bbc",
|
"fileHash": "e89a827d",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react/jsx-dev-runtime": {
|
"react/jsx-dev-runtime": {
|
||||||
"src": "../../react/jsx-dev-runtime.js",
|
"src": "../../react/jsx-dev-runtime.js",
|
||||||
"file": "react_jsx-dev-runtime.js",
|
"file": "react_jsx-dev-runtime.js",
|
||||||
"fileHash": "5962ef4b",
|
"fileHash": "9ce7ae60",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react/jsx-runtime": {
|
"react/jsx-runtime": {
|
||||||
"src": "../../react/jsx-runtime.js",
|
"src": "../../react/jsx-runtime.js",
|
||||||
"file": "react_jsx-runtime.js",
|
"file": "react_jsx-runtime.js",
|
||||||
"fileHash": "cc4583ea",
|
"fileHash": "8ba5f754",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"@radix-ui/react-dialog": {
|
"@radix-ui/react-dialog": {
|
||||||
"src": "../../@radix-ui/react-dialog/dist/index.mjs",
|
"src": "../../@radix-ui/react-dialog/dist/index.mjs",
|
||||||
"file": "@radix-ui_react-dialog.js",
|
"file": "@radix-ui_react-dialog.js",
|
||||||
"fileHash": "e65a7fe9",
|
"fileHash": "312e2a39",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"@radix-ui/react-label": {
|
"@radix-ui/react-label": {
|
||||||
"src": "../../@radix-ui/react-label/dist/index.mjs",
|
"src": "../../@radix-ui/react-label/dist/index.mjs",
|
||||||
"file": "@radix-ui_react-label.js",
|
"file": "@radix-ui_react-label.js",
|
||||||
"fileHash": "d5676393",
|
"fileHash": "3b607856",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"@radix-ui/react-radio-group": {
|
"@radix-ui/react-radio-group": {
|
||||||
"src": "../../@radix-ui/react-radio-group/dist/index.mjs",
|
"src": "../../@radix-ui/react-radio-group/dist/index.mjs",
|
||||||
"file": "@radix-ui_react-radio-group.js",
|
"file": "@radix-ui_react-radio-group.js",
|
||||||
"fileHash": "8a90e2b5",
|
"fileHash": "20509c2b",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"@radix-ui/react-select": {
|
"@radix-ui/react-select": {
|
||||||
"src": "../../@radix-ui/react-select/dist/index.mjs",
|
"src": "../../@radix-ui/react-select/dist/index.mjs",
|
||||||
"file": "@radix-ui_react-select.js",
|
"file": "@radix-ui_react-select.js",
|
||||||
"fileHash": "0b10fc7e",
|
"fileHash": "91be68ee",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"@radix-ui/react-slot": {
|
"@radix-ui/react-slot": {
|
||||||
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
||||||
"file": "@radix-ui_react-slot.js",
|
"file": "@radix-ui_react-slot.js",
|
||||||
"fileHash": "c8dbd881",
|
"fileHash": "ce1344ec",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"class-variance-authority": {
|
"class-variance-authority": {
|
||||||
"src": "../../class-variance-authority/dist/index.mjs",
|
"src": "../../class-variance-authority/dist/index.mjs",
|
||||||
"file": "class-variance-authority.js",
|
"file": "class-variance-authority.js",
|
||||||
"fileHash": "5acda8ac",
|
"fileHash": "0e5017ff",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"clsx": {
|
"clsx": {
|
||||||
"src": "../../clsx/dist/clsx.mjs",
|
"src": "../../clsx/dist/clsx.mjs",
|
||||||
"file": "clsx.js",
|
"file": "clsx.js",
|
||||||
"fileHash": "694a54a4",
|
"fileHash": "2dbad761",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"gsap": {
|
"gsap": {
|
||||||
"src": "../../gsap/index.js",
|
"src": "../../gsap/index.js",
|
||||||
"file": "gsap.js",
|
"file": "gsap.js",
|
||||||
"fileHash": "7ddb7298",
|
"fileHash": "1393a05a",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"gsap/ScrollTrigger": {
|
"gsap/ScrollTrigger": {
|
||||||
"src": "../../gsap/ScrollTrigger.js",
|
"src": "../../gsap/ScrollTrigger.js",
|
||||||
"file": "gsap_ScrollTrigger.js",
|
"file": "gsap_ScrollTrigger.js",
|
||||||
"fileHash": "a71932dd",
|
"fileHash": "965be7ec",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"lucide-react": {
|
"lucide-react": {
|
||||||
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
||||||
"file": "lucide-react.js",
|
"file": "lucide-react.js",
|
||||||
"fileHash": "6ea882ab",
|
"fileHash": "3db69029",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"react-dom/client": {
|
"react-dom/client": {
|
||||||
"src": "../../react-dom/client.js",
|
"src": "../../react-dom/client.js",
|
||||||
"file": "react-dom_client.js",
|
"file": "react-dom_client.js",
|
||||||
"fileHash": "f07d8307",
|
"fileHash": "8798ba07",
|
||||||
"needsInterop": true
|
"needsInterop": true
|
||||||
},
|
},
|
||||||
"react-helmet-async": {
|
"react-helmet-async": {
|
||||||
"src": "../../react-helmet-async/lib/index.esm.js",
|
"src": "../../react-helmet-async/lib/index.esm.js",
|
||||||
"file": "react-helmet-async.js",
|
"file": "react-helmet-async.js",
|
||||||
"fileHash": "b7d7d0af",
|
"fileHash": "60b58734",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"react-router-dom": {
|
"react-router-dom": {
|
||||||
"src": "../../react-router-dom/dist/index.mjs",
|
"src": "../../react-router-dom/dist/index.mjs",
|
||||||
"file": "react-router-dom.js",
|
"file": "react-router-dom.js",
|
||||||
"fileHash": "9ac7c1ba",
|
"fileHash": "03035af3",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
},
|
},
|
||||||
"tailwind-merge": {
|
"tailwind-merge": {
|
||||||
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
||||||
"file": "tailwind-merge.js",
|
"file": "tailwind-merge.js",
|
||||||
"fileHash": "0cfdfcd3",
|
"fileHash": "afbfe76d",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -117,27 +117,27 @@
|
|||||||
"chunk-U7P2NEEE": {
|
"chunk-U7P2NEEE": {
|
||||||
"file": "chunk-U7P2NEEE.js"
|
"file": "chunk-U7P2NEEE.js"
|
||||||
},
|
},
|
||||||
"chunk-D4MYACAJ": {
|
"chunk-INCCO7S4": {
|
||||||
"file": "chunk-D4MYACAJ.js"
|
"file": "chunk-INCCO7S4.js"
|
||||||
},
|
},
|
||||||
"chunk-YWBEB5PG": {
|
"chunk-YWBEB5PG": {
|
||||||
"file": "chunk-YWBEB5PG.js"
|
"file": "chunk-YWBEB5PG.js"
|
||||||
},
|
},
|
||||||
"chunk-KKEH7IGY": {
|
"chunk-LIWCVBQK": {
|
||||||
"file": "chunk-KKEH7IGY.js"
|
"file": "chunk-LIWCVBQK.js"
|
||||||
},
|
},
|
||||||
"chunk-QF76HVLY": {
|
"chunk-L2OGOWTU": {
|
||||||
"file": "chunk-QF76HVLY.js"
|
"file": "chunk-L2OGOWTU.js"
|
||||||
},
|
},
|
||||||
"chunk-X34PLQQA": {
|
"chunk-MOFDO34C": {
|
||||||
"file": "chunk-X34PLQQA.js"
|
"file": "chunk-MOFDO34C.js"
|
||||||
},
|
|
||||||
"chunk-YF4B4G2L": {
|
|
||||||
"file": "chunk-YF4B4G2L.js"
|
|
||||||
},
|
},
|
||||||
"chunk-2VUH7NEY": {
|
"chunk-2VUH7NEY": {
|
||||||
"file": "chunk-2VUH7NEY.js"
|
"file": "chunk-2VUH7NEY.js"
|
||||||
},
|
},
|
||||||
|
"chunk-YF4B4G2L": {
|
||||||
|
"file": "chunk-YF4B4G2L.js"
|
||||||
|
},
|
||||||
"chunk-2YVA4HRZ": {
|
"chunk-2YVA4HRZ": {
|
||||||
"file": "chunk-2YVA4HRZ.js"
|
"file": "chunk-2YVA4HRZ.js"
|
||||||
},
|
},
|
||||||
|
|||||||
Generated
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
useLayoutEffect2
|
useLayoutEffect2
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import {
|
import {
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
@@ -140,4 +140,4 @@ function getElementRef(element) {
|
|||||||
export {
|
export {
|
||||||
Presence
|
Presence
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-KKEH7IGY.js.map
|
//# sourceMappingURL=chunk-INCCO7S4.js.map
|
||||||
Generated
Vendored
Generated
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
createContextScope,
|
createContextScope,
|
||||||
useLayoutEffect2
|
useLayoutEffect2
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import {
|
import {
|
||||||
composeRefs,
|
composeRefs,
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
@@ -245,4 +245,4 @@ export {
|
|||||||
useSize,
|
useSize,
|
||||||
usePrevious
|
usePrevious
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-D4MYACAJ.js.map
|
//# sourceMappingURL=chunk-L2OGOWTU.js.map
|
||||||
Generated
Vendored
Generated
Vendored
+165
-165
@@ -4,13 +4,13 @@ import {
|
|||||||
dispatchDiscreteCustomEvent,
|
dispatchDiscreteCustomEvent,
|
||||||
useCallbackRef,
|
useCallbackRef,
|
||||||
useLayoutEffect2
|
useLayoutEffect2
|
||||||
} from "./chunk-X34PLQQA.js";
|
} from "./chunk-MOFDO34C.js";
|
||||||
import {
|
|
||||||
require_react_dom
|
|
||||||
} from "./chunk-YF4B4G2L.js";
|
|
||||||
import {
|
import {
|
||||||
useComposedRefs
|
useComposedRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
|
import {
|
||||||
|
require_react_dom
|
||||||
|
} from "./chunk-YF4B4G2L.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
@@ -244,42 +244,14 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-focus-guards/dist/index.mjs
|
|
||||||
var React3 = __toESM(require_react(), 1);
|
|
||||||
var count = 0;
|
|
||||||
function useFocusGuards() {
|
|
||||||
React3.useEffect(() => {
|
|
||||||
const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
|
|
||||||
document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
|
|
||||||
document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
|
|
||||||
count++;
|
|
||||||
return () => {
|
|
||||||
if (count === 1) {
|
|
||||||
document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
|
|
||||||
}
|
|
||||||
count--;
|
|
||||||
};
|
|
||||||
}, []);
|
|
||||||
}
|
|
||||||
function createFocusGuard() {
|
|
||||||
const element = document.createElement("span");
|
|
||||||
element.setAttribute("data-radix-focus-guard", "");
|
|
||||||
element.tabIndex = 0;
|
|
||||||
element.style.outline = "none";
|
|
||||||
element.style.opacity = "0";
|
|
||||||
element.style.position = "fixed";
|
|
||||||
element.style.pointerEvents = "none";
|
|
||||||
return element;
|
|
||||||
}
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
// node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
||||||
var React4 = __toESM(require_react(), 1);
|
var React3 = __toESM(require_react(), 1);
|
||||||
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
||||||
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
||||||
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
||||||
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
||||||
var FOCUS_SCOPE_NAME = "FocusScope";
|
var FOCUS_SCOPE_NAME = "FocusScope";
|
||||||
var FocusScope = React4.forwardRef((props, forwardedRef) => {
|
var FocusScope = React3.forwardRef((props, forwardedRef) => {
|
||||||
const {
|
const {
|
||||||
loop = false,
|
loop = false,
|
||||||
trapped = false,
|
trapped = false,
|
||||||
@@ -287,12 +259,12 @@ var FocusScope = React4.forwardRef((props, forwardedRef) => {
|
|||||||
onUnmountAutoFocus: onUnmountAutoFocusProp,
|
onUnmountAutoFocus: onUnmountAutoFocusProp,
|
||||||
...scopeProps
|
...scopeProps
|
||||||
} = props;
|
} = props;
|
||||||
const [container, setContainer] = React4.useState(null);
|
const [container, setContainer] = React3.useState(null);
|
||||||
const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
|
const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
|
||||||
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
||||||
const lastFocusedElementRef = React4.useRef(null);
|
const lastFocusedElementRef = React3.useRef(null);
|
||||||
const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));
|
const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));
|
||||||
const focusScope = React4.useRef({
|
const focusScope = React3.useRef({
|
||||||
paused: false,
|
paused: false,
|
||||||
pause() {
|
pause() {
|
||||||
this.paused = true;
|
this.paused = true;
|
||||||
@@ -301,7 +273,7 @@ var FocusScope = React4.forwardRef((props, forwardedRef) => {
|
|||||||
this.paused = false;
|
this.paused = false;
|
||||||
}
|
}
|
||||||
}).current;
|
}).current;
|
||||||
React4.useEffect(() => {
|
React3.useEffect(() => {
|
||||||
if (trapped) {
|
if (trapped) {
|
||||||
let handleFocusIn2 = function(event) {
|
let handleFocusIn2 = function(event) {
|
||||||
if (focusScope.paused || !container) return;
|
if (focusScope.paused || !container) return;
|
||||||
@@ -337,7 +309,7 @@ var FocusScope = React4.forwardRef((props, forwardedRef) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}, [trapped, container, focusScope.paused]);
|
}, [trapped, container, focusScope.paused]);
|
||||||
React4.useEffect(() => {
|
React3.useEffect(() => {
|
||||||
if (container) {
|
if (container) {
|
||||||
focusScopesStack.add(focusScope);
|
focusScopesStack.add(focusScope);
|
||||||
const previouslyFocusedElement = document.activeElement;
|
const previouslyFocusedElement = document.activeElement;
|
||||||
@@ -368,7 +340,7 @@ var FocusScope = React4.forwardRef((props, forwardedRef) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
|
}, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
|
||||||
const handleKeyDown = React4.useCallback(
|
const handleKeyDown = React3.useCallback(
|
||||||
(event) => {
|
(event) => {
|
||||||
if (!loop && !trapped) return;
|
if (!loop && !trapped) return;
|
||||||
if (focusScope.paused) return;
|
if (focusScope.paused) return;
|
||||||
@@ -477,139 +449,46 @@ function removeLinks(items) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-portal/dist/index.mjs
|
// node_modules/@radix-ui/react-portal/dist/index.mjs
|
||||||
var React5 = __toESM(require_react(), 1);
|
var React4 = __toESM(require_react(), 1);
|
||||||
var import_react_dom = __toESM(require_react_dom(), 1);
|
var import_react_dom = __toESM(require_react_dom(), 1);
|
||||||
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
|
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
|
||||||
var PORTAL_NAME = "Portal";
|
var PORTAL_NAME = "Portal";
|
||||||
var Portal = React5.forwardRef((props, forwardedRef) => {
|
var Portal = React4.forwardRef((props, forwardedRef) => {
|
||||||
const { container: containerProp, ...portalProps } = props;
|
const { container: containerProp, ...portalProps } = props;
|
||||||
const [mounted, setMounted] = React5.useState(false);
|
const [mounted, setMounted] = React4.useState(false);
|
||||||
useLayoutEffect2(() => setMounted(true), []);
|
useLayoutEffect2(() => setMounted(true), []);
|
||||||
const container = containerProp || mounted && globalThis?.document?.body;
|
const container = containerProp || mounted && globalThis?.document?.body;
|
||||||
return container ? import_react_dom.default.createPortal((0, import_jsx_runtime3.jsx)(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
return container ? import_react_dom.default.createPortal((0, import_jsx_runtime3.jsx)(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
||||||
});
|
});
|
||||||
Portal.displayName = PORTAL_NAME;
|
Portal.displayName = PORTAL_NAME;
|
||||||
|
|
||||||
// node_modules/aria-hidden/dist/es2015/index.js
|
// node_modules/@radix-ui/react-focus-guards/dist/index.mjs
|
||||||
var getDefaultParent = function(originalTarget) {
|
var React5 = __toESM(require_react(), 1);
|
||||||
if (typeof document === "undefined") {
|
var count = 0;
|
||||||
return null;
|
function useFocusGuards() {
|
||||||
|
React5.useEffect(() => {
|
||||||
|
const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
|
||||||
|
document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
|
||||||
|
document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
|
||||||
|
count++;
|
||||||
|
return () => {
|
||||||
|
if (count === 1) {
|
||||||
|
document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
|
||||||
}
|
}
|
||||||
var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
|
count--;
|
||||||
return sampleTarget.ownerDocument.body;
|
|
||||||
};
|
|
||||||
var counterMap = /* @__PURE__ */ new WeakMap();
|
|
||||||
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
||||||
var markerMap = {};
|
|
||||||
var lockCount = 0;
|
|
||||||
var unwrapHost = function(node) {
|
|
||||||
return node && (node.host || unwrapHost(node.parentNode));
|
|
||||||
};
|
|
||||||
var correctTargets = function(parent, targets) {
|
|
||||||
return targets.map(function(target) {
|
|
||||||
if (parent.contains(target)) {
|
|
||||||
return target;
|
|
||||||
}
|
|
||||||
var correctedTarget = unwrapHost(target);
|
|
||||||
if (correctedTarget && parent.contains(correctedTarget)) {
|
|
||||||
return correctedTarget;
|
|
||||||
}
|
|
||||||
console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing");
|
|
||||||
return null;
|
|
||||||
}).filter(function(x) {
|
|
||||||
return Boolean(x);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {
|
|
||||||
var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
||||||
if (!markerMap[markerName]) {
|
|
||||||
markerMap[markerName] = /* @__PURE__ */ new WeakMap();
|
|
||||||
}
|
|
||||||
var markerCounter = markerMap[markerName];
|
|
||||||
var hiddenNodes = [];
|
|
||||||
var elementsToKeep = /* @__PURE__ */ new Set();
|
|
||||||
var elementsToStop = new Set(targets);
|
|
||||||
var keep = function(el) {
|
|
||||||
if (!el || elementsToKeep.has(el)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
elementsToKeep.add(el);
|
|
||||||
keep(el.parentNode);
|
|
||||||
};
|
};
|
||||||
targets.forEach(keep);
|
}, []);
|
||||||
var deep = function(parent) {
|
}
|
||||||
if (!parent || elementsToStop.has(parent)) {
|
function createFocusGuard() {
|
||||||
return;
|
const element = document.createElement("span");
|
||||||
}
|
element.setAttribute("data-radix-focus-guard", "");
|
||||||
Array.prototype.forEach.call(parent.children, function(node) {
|
element.tabIndex = 0;
|
||||||
if (elementsToKeep.has(node)) {
|
element.style.outline = "none";
|
||||||
deep(node);
|
element.style.opacity = "0";
|
||||||
} else {
|
element.style.position = "fixed";
|
||||||
try {
|
element.style.pointerEvents = "none";
|
||||||
var attr = node.getAttribute(controlAttribute);
|
return element;
|
||||||
var alreadyHidden = attr !== null && attr !== "false";
|
}
|
||||||
var counterValue = (counterMap.get(node) || 0) + 1;
|
|
||||||
var markerValue = (markerCounter.get(node) || 0) + 1;
|
|
||||||
counterMap.set(node, counterValue);
|
|
||||||
markerCounter.set(node, markerValue);
|
|
||||||
hiddenNodes.push(node);
|
|
||||||
if (counterValue === 1 && alreadyHidden) {
|
|
||||||
uncontrolledNodes.set(node, true);
|
|
||||||
}
|
|
||||||
if (markerValue === 1) {
|
|
||||||
node.setAttribute(markerName, "true");
|
|
||||||
}
|
|
||||||
if (!alreadyHidden) {
|
|
||||||
node.setAttribute(controlAttribute, "true");
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.error("aria-hidden: cannot operate on ", node, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
deep(parentNode);
|
|
||||||
elementsToKeep.clear();
|
|
||||||
lockCount++;
|
|
||||||
return function() {
|
|
||||||
hiddenNodes.forEach(function(node) {
|
|
||||||
var counterValue = counterMap.get(node) - 1;
|
|
||||||
var markerValue = markerCounter.get(node) - 1;
|
|
||||||
counterMap.set(node, counterValue);
|
|
||||||
markerCounter.set(node, markerValue);
|
|
||||||
if (!counterValue) {
|
|
||||||
if (!uncontrolledNodes.has(node)) {
|
|
||||||
node.removeAttribute(controlAttribute);
|
|
||||||
}
|
|
||||||
uncontrolledNodes.delete(node);
|
|
||||||
}
|
|
||||||
if (!markerValue) {
|
|
||||||
node.removeAttribute(markerName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
lockCount--;
|
|
||||||
if (!lockCount) {
|
|
||||||
counterMap = /* @__PURE__ */ new WeakMap();
|
|
||||||
counterMap = /* @__PURE__ */ new WeakMap();
|
|
||||||
uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
||||||
markerMap = {};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
};
|
|
||||||
var hideOthers = function(originalTarget, parentNode, markerName) {
|
|
||||||
if (markerName === void 0) {
|
|
||||||
markerName = "data-aria-hidden";
|
|
||||||
}
|
|
||||||
var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
||||||
var activeParentNode = parentNode || getDefaultParent(originalTarget);
|
|
||||||
if (!activeParentNode) {
|
|
||||||
return function() {
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live], script")));
|
|
||||||
return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
|
|
||||||
};
|
|
||||||
|
|
||||||
// node_modules/tslib/tslib.es6.mjs
|
// node_modules/tslib/tslib.es6.mjs
|
||||||
var __assign = function() {
|
var __assign = function() {
|
||||||
@@ -1341,12 +1220,133 @@ var ReactRemoveScroll = React14.forwardRef(function(props, ref) {
|
|||||||
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
||||||
var Combination_default = ReactRemoveScroll;
|
var Combination_default = ReactRemoveScroll;
|
||||||
|
|
||||||
|
// node_modules/aria-hidden/dist/es2015/index.js
|
||||||
|
var getDefaultParent = function(originalTarget) {
|
||||||
|
if (typeof document === "undefined") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
|
||||||
|
return sampleTarget.ownerDocument.body;
|
||||||
|
};
|
||||||
|
var counterMap = /* @__PURE__ */ new WeakMap();
|
||||||
|
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
||||||
|
var markerMap = {};
|
||||||
|
var lockCount = 0;
|
||||||
|
var unwrapHost = function(node) {
|
||||||
|
return node && (node.host || unwrapHost(node.parentNode));
|
||||||
|
};
|
||||||
|
var correctTargets = function(parent, targets) {
|
||||||
|
return targets.map(function(target) {
|
||||||
|
if (parent.contains(target)) {
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
var correctedTarget = unwrapHost(target);
|
||||||
|
if (correctedTarget && parent.contains(correctedTarget)) {
|
||||||
|
return correctedTarget;
|
||||||
|
}
|
||||||
|
console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing");
|
||||||
|
return null;
|
||||||
|
}).filter(function(x) {
|
||||||
|
return Boolean(x);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {
|
||||||
|
var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
||||||
|
if (!markerMap[markerName]) {
|
||||||
|
markerMap[markerName] = /* @__PURE__ */ new WeakMap();
|
||||||
|
}
|
||||||
|
var markerCounter = markerMap[markerName];
|
||||||
|
var hiddenNodes = [];
|
||||||
|
var elementsToKeep = /* @__PURE__ */ new Set();
|
||||||
|
var elementsToStop = new Set(targets);
|
||||||
|
var keep = function(el) {
|
||||||
|
if (!el || elementsToKeep.has(el)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
elementsToKeep.add(el);
|
||||||
|
keep(el.parentNode);
|
||||||
|
};
|
||||||
|
targets.forEach(keep);
|
||||||
|
var deep = function(parent) {
|
||||||
|
if (!parent || elementsToStop.has(parent)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Array.prototype.forEach.call(parent.children, function(node) {
|
||||||
|
if (elementsToKeep.has(node)) {
|
||||||
|
deep(node);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
var attr = node.getAttribute(controlAttribute);
|
||||||
|
var alreadyHidden = attr !== null && attr !== "false";
|
||||||
|
var counterValue = (counterMap.get(node) || 0) + 1;
|
||||||
|
var markerValue = (markerCounter.get(node) || 0) + 1;
|
||||||
|
counterMap.set(node, counterValue);
|
||||||
|
markerCounter.set(node, markerValue);
|
||||||
|
hiddenNodes.push(node);
|
||||||
|
if (counterValue === 1 && alreadyHidden) {
|
||||||
|
uncontrolledNodes.set(node, true);
|
||||||
|
}
|
||||||
|
if (markerValue === 1) {
|
||||||
|
node.setAttribute(markerName, "true");
|
||||||
|
}
|
||||||
|
if (!alreadyHidden) {
|
||||||
|
node.setAttribute(controlAttribute, "true");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error("aria-hidden: cannot operate on ", node, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
deep(parentNode);
|
||||||
|
elementsToKeep.clear();
|
||||||
|
lockCount++;
|
||||||
|
return function() {
|
||||||
|
hiddenNodes.forEach(function(node) {
|
||||||
|
var counterValue = counterMap.get(node) - 1;
|
||||||
|
var markerValue = markerCounter.get(node) - 1;
|
||||||
|
counterMap.set(node, counterValue);
|
||||||
|
markerCounter.set(node, markerValue);
|
||||||
|
if (!counterValue) {
|
||||||
|
if (!uncontrolledNodes.has(node)) {
|
||||||
|
node.removeAttribute(controlAttribute);
|
||||||
|
}
|
||||||
|
uncontrolledNodes.delete(node);
|
||||||
|
}
|
||||||
|
if (!markerValue) {
|
||||||
|
node.removeAttribute(markerName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
lockCount--;
|
||||||
|
if (!lockCount) {
|
||||||
|
counterMap = /* @__PURE__ */ new WeakMap();
|
||||||
|
counterMap = /* @__PURE__ */ new WeakMap();
|
||||||
|
uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
||||||
|
markerMap = {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
var hideOthers = function(originalTarget, parentNode, markerName) {
|
||||||
|
if (markerName === void 0) {
|
||||||
|
markerName = "data-aria-hidden";
|
||||||
|
}
|
||||||
|
var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
||||||
|
var activeParentNode = parentNode || getDefaultParent(originalTarget);
|
||||||
|
if (!activeParentNode) {
|
||||||
|
return function() {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live], script")));
|
||||||
|
return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
|
||||||
|
};
|
||||||
|
|
||||||
export {
|
export {
|
||||||
DismissableLayer,
|
DismissableLayer,
|
||||||
useFocusGuards,
|
|
||||||
FocusScope,
|
FocusScope,
|
||||||
Portal,
|
Portal,
|
||||||
hideOthers,
|
useFocusGuards,
|
||||||
Combination_default
|
Combination_default,
|
||||||
|
hideOthers
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-QF76HVLY.js.map
|
//# sourceMappingURL=chunk-LIWCVBQK.js.map
|
||||||
+7
File diff suppressed because one or more lines are too long
Generated
Vendored
+118
-118
@@ -1,9 +1,9 @@
|
|||||||
import {
|
|
||||||
require_react_dom
|
|
||||||
} from "./chunk-YF4B4G2L.js";
|
|
||||||
import {
|
import {
|
||||||
composeRefs
|
composeRefs
|
||||||
} from "./chunk-2VUH7NEY.js";
|
} from "./chunk-2VUH7NEY.js";
|
||||||
|
import {
|
||||||
|
require_react_dom
|
||||||
|
} from "./chunk-YF4B4G2L.js";
|
||||||
import {
|
import {
|
||||||
require_jsx_runtime
|
require_jsx_runtime
|
||||||
} from "./chunk-2YVA4HRZ.js";
|
} from "./chunk-2YVA4HRZ.js";
|
||||||
@@ -102,30 +102,122 @@ function composeContextScopes(...scopes) {
|
|||||||
return createScope;
|
return createScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-primitive/dist/index.mjs
|
// node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
|
||||||
|
var React2 = __toESM(require_react(), 1);
|
||||||
|
var useLayoutEffect2 = globalThis?.document ? React2.useLayoutEffect : () => {
|
||||||
|
};
|
||||||
|
|
||||||
|
// node_modules/@radix-ui/react-id/dist/index.mjs
|
||||||
var React3 = __toESM(require_react(), 1);
|
var React3 = __toESM(require_react(), 1);
|
||||||
|
var useReactId = React3[" useId ".trim().toString()] || (() => void 0);
|
||||||
|
var count = 0;
|
||||||
|
function useId(deterministicId) {
|
||||||
|
const [id, setId] = React3.useState(useReactId());
|
||||||
|
useLayoutEffect2(() => {
|
||||||
|
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
|
||||||
|
}, [deterministicId]);
|
||||||
|
return deterministicId || (id ? `radix-${id}` : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
|
||||||
|
var React5 = __toESM(require_react(), 1);
|
||||||
|
var React22 = __toESM(require_react(), 1);
|
||||||
|
|
||||||
|
// node_modules/@radix-ui/react-use-effect-event/dist/index.mjs
|
||||||
|
var React4 = __toESM(require_react(), 1);
|
||||||
|
var useReactEffectEvent = React4[" useEffectEvent ".trim().toString()];
|
||||||
|
var useReactInsertionEffect = React4[" useInsertionEffect ".trim().toString()];
|
||||||
|
|
||||||
|
// node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
|
||||||
|
var useInsertionEffect = React5[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
|
||||||
|
function useControllableState({
|
||||||
|
prop,
|
||||||
|
defaultProp,
|
||||||
|
onChange = () => {
|
||||||
|
},
|
||||||
|
caller
|
||||||
|
}) {
|
||||||
|
const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
|
||||||
|
defaultProp,
|
||||||
|
onChange
|
||||||
|
});
|
||||||
|
const isControlled = prop !== void 0;
|
||||||
|
const value = isControlled ? prop : uncontrolledProp;
|
||||||
|
if (true) {
|
||||||
|
const isControlledRef = React5.useRef(prop !== void 0);
|
||||||
|
React5.useEffect(() => {
|
||||||
|
const wasControlled = isControlledRef.current;
|
||||||
|
if (wasControlled !== isControlled) {
|
||||||
|
const from = wasControlled ? "controlled" : "uncontrolled";
|
||||||
|
const to = isControlled ? "controlled" : "uncontrolled";
|
||||||
|
console.warn(
|
||||||
|
`${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
isControlledRef.current = isControlled;
|
||||||
|
}, [isControlled, caller]);
|
||||||
|
}
|
||||||
|
const setValue = React5.useCallback(
|
||||||
|
(nextValue) => {
|
||||||
|
if (isControlled) {
|
||||||
|
const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
|
||||||
|
if (value2 !== prop) {
|
||||||
|
onChangeRef.current?.(value2);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setUncontrolledProp(nextValue);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[isControlled, prop, setUncontrolledProp, onChangeRef]
|
||||||
|
);
|
||||||
|
return [value, setValue];
|
||||||
|
}
|
||||||
|
function useUncontrolledState({
|
||||||
|
defaultProp,
|
||||||
|
onChange
|
||||||
|
}) {
|
||||||
|
const [value, setValue] = React5.useState(defaultProp);
|
||||||
|
const prevValueRef = React5.useRef(value);
|
||||||
|
const onChangeRef = React5.useRef(onChange);
|
||||||
|
useInsertionEffect(() => {
|
||||||
|
onChangeRef.current = onChange;
|
||||||
|
}, [onChange]);
|
||||||
|
React5.useEffect(() => {
|
||||||
|
if (prevValueRef.current !== value) {
|
||||||
|
onChangeRef.current?.(value);
|
||||||
|
prevValueRef.current = value;
|
||||||
|
}
|
||||||
|
}, [value, prevValueRef]);
|
||||||
|
return [value, setValue, onChangeRef];
|
||||||
|
}
|
||||||
|
function isFunction(value) {
|
||||||
|
return typeof value === "function";
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/@radix-ui/react-primitive/dist/index.mjs
|
||||||
|
var React7 = __toESM(require_react(), 1);
|
||||||
var ReactDOM = __toESM(require_react_dom(), 1);
|
var ReactDOM = __toESM(require_react_dom(), 1);
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs
|
// node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs
|
||||||
var React2 = __toESM(require_react(), 1);
|
var React6 = __toESM(require_react(), 1);
|
||||||
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
||||||
function createSlot(ownerName) {
|
function createSlot(ownerName) {
|
||||||
const SlotClone = createSlotClone(ownerName);
|
const SlotClone = createSlotClone(ownerName);
|
||||||
const Slot2 = React2.forwardRef((props, forwardedRef) => {
|
const Slot2 = React6.forwardRef((props, forwardedRef) => {
|
||||||
const { children, ...slotProps } = props;
|
const { children, ...slotProps } = props;
|
||||||
const childrenArray = React2.Children.toArray(children);
|
const childrenArray = React6.Children.toArray(children);
|
||||||
const slottable = childrenArray.find(isSlottable);
|
const slottable = childrenArray.find(isSlottable);
|
||||||
if (slottable) {
|
if (slottable) {
|
||||||
const newElement = slottable.props.children;
|
const newElement = slottable.props.children;
|
||||||
const newChildren = childrenArray.map((child) => {
|
const newChildren = childrenArray.map((child) => {
|
||||||
if (child === slottable) {
|
if (child === slottable) {
|
||||||
if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
|
if (React6.Children.count(newElement) > 1) return React6.Children.only(null);
|
||||||
return React2.isValidElement(newElement) ? newElement.props.children : null;
|
return React6.isValidElement(newElement) ? newElement.props.children : null;
|
||||||
} else {
|
} else {
|
||||||
return child;
|
return child;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null });
|
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React6.isValidElement(newElement) ? React6.cloneElement(newElement, void 0, newChildren) : null });
|
||||||
}
|
}
|
||||||
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||||
});
|
});
|
||||||
@@ -134,17 +226,17 @@ function createSlot(ownerName) {
|
|||||||
}
|
}
|
||||||
var Slot = createSlot("Slot");
|
var Slot = createSlot("Slot");
|
||||||
function createSlotClone(ownerName) {
|
function createSlotClone(ownerName) {
|
||||||
const SlotClone = React2.forwardRef((props, forwardedRef) => {
|
const SlotClone = React6.forwardRef((props, forwardedRef) => {
|
||||||
const { children, ...slotProps } = props;
|
const { children, ...slotProps } = props;
|
||||||
if (React2.isValidElement(children)) {
|
if (React6.isValidElement(children)) {
|
||||||
const childrenRef = getElementRef(children);
|
const childrenRef = getElementRef(children);
|
||||||
const props2 = mergeProps(slotProps, children.props);
|
const props2 = mergeProps(slotProps, children.props);
|
||||||
if (children.type !== React2.Fragment) {
|
if (children.type !== React6.Fragment) {
|
||||||
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
||||||
}
|
}
|
||||||
return React2.cloneElement(children, props2);
|
return React6.cloneElement(children, props2);
|
||||||
}
|
}
|
||||||
return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
|
return React6.Children.count(children) > 1 ? React6.Children.only(null) : null;
|
||||||
});
|
});
|
||||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||||
return SlotClone;
|
return SlotClone;
|
||||||
@@ -160,7 +252,7 @@ function createSlottable(ownerName) {
|
|||||||
}
|
}
|
||||||
var Slottable = createSlottable("Slottable");
|
var Slottable = createSlottable("Slottable");
|
||||||
function isSlottable(child) {
|
function isSlottable(child) {
|
||||||
return React2.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
return React6.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||||
}
|
}
|
||||||
function mergeProps(slotProps, childProps) {
|
function mergeProps(slotProps, childProps) {
|
||||||
const overrideProps = { ...childProps };
|
const overrideProps = { ...childProps };
|
||||||
@@ -223,7 +315,7 @@ var NODES = [
|
|||||||
];
|
];
|
||||||
var Primitive = NODES.reduce((primitive, node) => {
|
var Primitive = NODES.reduce((primitive, node) => {
|
||||||
const Slot2 = createSlot(`Primitive.${node}`);
|
const Slot2 = createSlot(`Primitive.${node}`);
|
||||||
const Node = React3.forwardRef((props, forwardedRef) => {
|
const Node = React7.forwardRef((props, forwardedRef) => {
|
||||||
const { asChild, ...primitiveProps } = props;
|
const { asChild, ...primitiveProps } = props;
|
||||||
const Comp = asChild ? Slot2 : node;
|
const Comp = asChild ? Slot2 : node;
|
||||||
if (typeof window !== "undefined") {
|
if (typeof window !== "undefined") {
|
||||||
@@ -239,116 +331,24 @@ function dispatchDiscreteCustomEvent(target, event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
|
// node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
|
||||||
var React4 = __toESM(require_react(), 1);
|
var React8 = __toESM(require_react(), 1);
|
||||||
function useCallbackRef(callback) {
|
function useCallbackRef(callback) {
|
||||||
const callbackRef = React4.useRef(callback);
|
const callbackRef = React8.useRef(callback);
|
||||||
React4.useEffect(() => {
|
React8.useEffect(() => {
|
||||||
callbackRef.current = callback;
|
callbackRef.current = callback;
|
||||||
});
|
});
|
||||||
return React4.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
return React8.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
||||||
}
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
|
|
||||||
var React5 = __toESM(require_react(), 1);
|
|
||||||
var useLayoutEffect2 = globalThis?.document ? React5.useLayoutEffect : () => {
|
|
||||||
};
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-id/dist/index.mjs
|
|
||||||
var React6 = __toESM(require_react(), 1);
|
|
||||||
var useReactId = React6[" useId ".trim().toString()] || (() => void 0);
|
|
||||||
var count = 0;
|
|
||||||
function useId(deterministicId) {
|
|
||||||
const [id, setId] = React6.useState(useReactId());
|
|
||||||
useLayoutEffect2(() => {
|
|
||||||
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
|
|
||||||
}, [deterministicId]);
|
|
||||||
return deterministicId || (id ? `radix-${id}` : "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
|
|
||||||
var React8 = __toESM(require_react(), 1);
|
|
||||||
var React22 = __toESM(require_react(), 1);
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-use-effect-event/dist/index.mjs
|
|
||||||
var React7 = __toESM(require_react(), 1);
|
|
||||||
var useReactEffectEvent = React7[" useEffectEvent ".trim().toString()];
|
|
||||||
var useReactInsertionEffect = React7[" useInsertionEffect ".trim().toString()];
|
|
||||||
|
|
||||||
// node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
|
|
||||||
var useInsertionEffect = React8[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
|
|
||||||
function useControllableState({
|
|
||||||
prop,
|
|
||||||
defaultProp,
|
|
||||||
onChange = () => {
|
|
||||||
},
|
|
||||||
caller
|
|
||||||
}) {
|
|
||||||
const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
|
|
||||||
defaultProp,
|
|
||||||
onChange
|
|
||||||
});
|
|
||||||
const isControlled = prop !== void 0;
|
|
||||||
const value = isControlled ? prop : uncontrolledProp;
|
|
||||||
if (true) {
|
|
||||||
const isControlledRef = React8.useRef(prop !== void 0);
|
|
||||||
React8.useEffect(() => {
|
|
||||||
const wasControlled = isControlledRef.current;
|
|
||||||
if (wasControlled !== isControlled) {
|
|
||||||
const from = wasControlled ? "controlled" : "uncontrolled";
|
|
||||||
const to = isControlled ? "controlled" : "uncontrolled";
|
|
||||||
console.warn(
|
|
||||||
`${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
isControlledRef.current = isControlled;
|
|
||||||
}, [isControlled, caller]);
|
|
||||||
}
|
|
||||||
const setValue = React8.useCallback(
|
|
||||||
(nextValue) => {
|
|
||||||
if (isControlled) {
|
|
||||||
const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
|
|
||||||
if (value2 !== prop) {
|
|
||||||
onChangeRef.current?.(value2);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setUncontrolledProp(nextValue);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
[isControlled, prop, setUncontrolledProp, onChangeRef]
|
|
||||||
);
|
|
||||||
return [value, setValue];
|
|
||||||
}
|
|
||||||
function useUncontrolledState({
|
|
||||||
defaultProp,
|
|
||||||
onChange
|
|
||||||
}) {
|
|
||||||
const [value, setValue] = React8.useState(defaultProp);
|
|
||||||
const prevValueRef = React8.useRef(value);
|
|
||||||
const onChangeRef = React8.useRef(onChange);
|
|
||||||
useInsertionEffect(() => {
|
|
||||||
onChangeRef.current = onChange;
|
|
||||||
}, [onChange]);
|
|
||||||
React8.useEffect(() => {
|
|
||||||
if (prevValueRef.current !== value) {
|
|
||||||
onChangeRef.current?.(value);
|
|
||||||
prevValueRef.current = value;
|
|
||||||
}
|
|
||||||
}, [value, prevValueRef]);
|
|
||||||
return [value, setValue, onChangeRef];
|
|
||||||
}
|
|
||||||
function isFunction(value) {
|
|
||||||
return typeof value === "function";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
composeEventHandlers,
|
composeEventHandlers,
|
||||||
createContext2,
|
createContext2,
|
||||||
createContextScope,
|
createContextScope,
|
||||||
Primitive,
|
|
||||||
dispatchDiscreteCustomEvent,
|
|
||||||
useCallbackRef,
|
|
||||||
useLayoutEffect2,
|
useLayoutEffect2,
|
||||||
useId,
|
useId,
|
||||||
useControllableState
|
useControllableState,
|
||||||
|
Primitive,
|
||||||
|
dispatchDiscreteCustomEvent,
|
||||||
|
useCallbackRef
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=chunk-X34PLQQA.js.map
|
//# sourceMappingURL=chunk-MOFDO34C.js.map
|
||||||
+7
File diff suppressed because one or more lines are too long
-7
File diff suppressed because one or more lines are too long
-7
File diff suppressed because one or more lines are too long
Generated
-39
@@ -4473,9 +4473,6 @@
|
|||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4490,9 +4487,6 @@
|
|||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4507,9 +4501,6 @@
|
|||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4524,9 +4515,6 @@
|
|||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4541,9 +4529,6 @@
|
|||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4558,9 +4543,6 @@
|
|||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4575,9 +4557,6 @@
|
|||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4592,9 +4571,6 @@
|
|||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4609,9 +4585,6 @@
|
|||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4626,9 +4599,6 @@
|
|||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4643,9 +4613,6 @@
|
|||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4660,9 +4627,6 @@
|
|||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"glibc"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
@@ -4677,9 +4641,6 @@
|
|||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"libc": [
|
|
||||||
"musl"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
|
|||||||
+10
-23
@@ -1,26 +1,13 @@
|
|||||||
# =============================================================================
|
# ============================================================================
|
||||||
# ROBOTS.TXT - VERSAO HOMOLOGACAO/DESENVOLVIMENTO
|
# AVANZATO TECNOLOGIA - ROBOTS.TXT (GENERICO)
|
||||||
# =============================================================================
|
# ============================================================================
|
||||||
# Este arquivo BLOQUEIA TODOS os crawlers.
|
# O controle real de indexacao e feito pelo <meta name="robots"> no HTML:
|
||||||
#
|
# - Producao (avanzato.com.br): index, follow
|
||||||
# Para PRODUCAO (avanzato.com.br), substitua por:
|
# - Homologacao (hml.avanzato.com.br): noindex, nofollow
|
||||||
# User-agent: *
|
# - Desenvolvimento (localhost): noindex, nofollow
|
||||||
# Allow: /
|
# ============================================================================
|
||||||
# Sitemap: https://avanzato.com.br/sitemap.xml
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Allow: /
|
||||||
|
|
||||||
# Bloqueio explicito de todos os bots
|
Sitemap: https://avanzato.com.br/sitemap.xml
|
||||||
User-agent: Googlebot
|
|
||||||
Disallow: /
|
|
||||||
|
|
||||||
User-agent: Bingbot
|
|
||||||
Disallow: /
|
|
||||||
|
|
||||||
User-agent: Slurp
|
|
||||||
Disallow: /
|
|
||||||
|
|
||||||
# Sitemap comentado (descomente em producao)
|
|
||||||
# Sitemap: https://avanzato.com.br/sitemap.xml
|
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "1.1.3",
|
"version": "1.2.1",
|
||||||
"date": "2026-05-31",
|
"date": "2026-05-31",
|
||||||
"environment": "development"
|
"environment": "auto-detect"
|
||||||
}
|
}
|
||||||
@@ -1,31 +1,34 @@
|
|||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { AlertTriangle, X } from 'lucide-react';
|
import { AlertTriangle, X } from 'lucide-react';
|
||||||
import { IS_HOMOLOGATION } from '@/config/mautic';
|
import { ENV_CONFIG, IS_PRODUCTION } from '../config/environment';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Banner visual que aparece em ambiente de homologacao
|
* Banner visual que aparece em ambiente NAO-producao
|
||||||
* Avisa que Mautic, Google Ads e Facebook Pixel estao em modo simulacao
|
* Avisa qual ambiente esta rodando
|
||||||
*/
|
*/
|
||||||
export default function HomologationBanner() {
|
export default function AmbientBanner() {
|
||||||
const [dismissed, setDismissed] = useState(false);
|
const [dismissed, setDismissed] = useState(false);
|
||||||
|
|
||||||
if (!IS_HOMOLOGATION || dismissed) return null;
|
// So mostra em producao
|
||||||
|
if (IS_PRODUCTION || dismissed) return null;
|
||||||
|
|
||||||
|
const { bannerText, bannerColor } = ENV_CONFIG;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="fixed bottom-4 right-4 z-[100] max-w-md">
|
<div className="fixed bottom-4 right-4 z-[100] max-w-md">
|
||||||
<div className="bg-amber-500 text-[#0e0e0e] rounded-xl shadow-2xl p-4 border-2 border-amber-400">
|
<div className={`${bannerColor} text-[#0e0e0e] rounded-xl shadow-2xl p-4 border-2 border-white/20`}>
|
||||||
<div className="flex items-start gap-3">
|
<div className="flex items-start gap-3">
|
||||||
<AlertTriangle className="w-5 h-5 shrink-0 mt-0.5" />
|
<AlertTriangle className="w-5 h-5 shrink-0 mt-0.5" />
|
||||||
<div className="flex-1">
|
<div className="flex-1">
|
||||||
<p className="font-bold text-sm">Ambiente de Homologacao</p>
|
<p className="font-bold text-sm">Ambiente: {bannerText}</p>
|
||||||
<p className="text-xs mt-1 opacity-90">
|
<p className="text-xs mt-1 opacity-90">
|
||||||
Mautic, Google Ads e Facebook Pixel estao em modo <strong>simulacao</strong>.
|
Tracking desativado | SEO: noindex |
|
||||||
Nenhum dado real e enviado. Verifique o console (F12) para ver o que seria enviado.
|
Nenhum dado enviado a Mautic, GA4, Ads ou Pixel.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
onClick={() => setDismissed(true)}
|
onClick={() => setDismissed(true)}
|
||||||
className="shrink-0 p-1 hover:bg-amber-600 rounded-lg transition-colors"
|
className="shrink-0 p-1 hover:bg-black/20 rounded-lg transition-colors"
|
||||||
aria-label="Fechar"
|
aria-label="Fechar"
|
||||||
>
|
>
|
||||||
<X className="w-4 h-4" />
|
<X className="w-4 h-4" />
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
import { Helmet } from 'react-helmet-async';
|
import { Helmet } from 'react-helmet-async';
|
||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
|
import { ENV_CONFIG } from '../config/environment';
|
||||||
|
|
||||||
interface SEOProps {
|
interface SEOProps {
|
||||||
title?: string;
|
title?: string;
|
||||||
@@ -16,7 +17,7 @@ interface SEOProps {
|
|||||||
keywords?: string;
|
keywords?: string;
|
||||||
ogImage?: string;
|
ogImage?: string;
|
||||||
ogType?: string;
|
ogType?: string;
|
||||||
noindex?: boolean;
|
noindex?: boolean; // Se true, forca noindex mesmo em producao
|
||||||
schema?: Record<string, any>;
|
schema?: Record<string, any>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,8 +56,8 @@ export default function SEO({
|
|||||||
{/* Canonical - DINAMICO por pagina */}
|
{/* Canonical - DINAMICO por pagina */}
|
||||||
<link rel="canonical" href={canonicalUrl} />
|
<link rel="canonical" href={canonicalUrl} />
|
||||||
|
|
||||||
{/* Robots */}
|
{/* Robots - automatico por ambiente, override com prop noindex */}
|
||||||
{noindex ? (
|
{noindex || !ENV_CONFIG.allowIndexing ? (
|
||||||
<meta name="robots" content="noindex, nofollow" />
|
<meta name="robots" content="noindex, nofollow" />
|
||||||
) : (
|
) : (
|
||||||
<meta name="robots" content="index, follow" />
|
<meta name="robots" content="index, follow" />
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
// ============================================================================
|
||||||
|
// DETECAO DE AMBIENTE - Automatico por hostname
|
||||||
|
// ============================================================================
|
||||||
|
// Um unico build serve todos os ambientes:
|
||||||
|
// - PRODUCAO (avanzato.com.br): index, tracking ativo
|
||||||
|
// - HOMOLOGACAO (hml.avanzato.com.br): noindex, tracking desativado
|
||||||
|
// - DESENVOLVIMENTO (localhost): noindex, tracking desativado
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
const hostname = typeof window !== 'undefined' ? window.location.hostname : '';
|
||||||
|
|
||||||
|
export type Environment = 'production' | 'homologation' | 'development';
|
||||||
|
|
||||||
|
function detectEnvironment(): Environment {
|
||||||
|
// Producao: domínio principal
|
||||||
|
if (hostname === 'avanzato.com.br' || hostname === 'www.avanzato.com.br') {
|
||||||
|
return 'production';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Homologacao: subdominio hml
|
||||||
|
if (hostname === 'hml.avanzato.com.br') {
|
||||||
|
return 'homologation';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Desenvolvimento: localhost, 127.0.0.1, IPs locais, previews
|
||||||
|
if (
|
||||||
|
hostname === 'localhost' ||
|
||||||
|
hostname === '127.0.0.1' ||
|
||||||
|
hostname.startsWith('192.168.') ||
|
||||||
|
hostname.startsWith('10.') ||
|
||||||
|
hostname.startsWith('172.') ||
|
||||||
|
hostname.includes('kimi.page') || // previews
|
||||||
|
hostname === '' // SSR
|
||||||
|
) {
|
||||||
|
return 'development';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback: se nao reconhece, trata como homologacao (seguro)
|
||||||
|
return 'homologation';
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ENV = detectEnvironment();
|
||||||
|
|
||||||
|
// Helpers
|
||||||
|
export const IS_PRODUCTION = ENV === 'production';
|
||||||
|
export const IS_HOMOLOGATION = ENV === 'homologation';
|
||||||
|
export const IS_DEVELOPMENT = ENV === 'development';
|
||||||
|
|
||||||
|
// Configuracoes por ambiente
|
||||||
|
export const ENV_CONFIG = {
|
||||||
|
// SEO / Indexacao
|
||||||
|
allowIndexing: IS_PRODUCTION, // So producao permite Google indexar
|
||||||
|
robotsMeta: IS_PRODUCTION ? 'index, follow' : 'noindex, nofollow',
|
||||||
|
|
||||||
|
// Tracking / Integracoes
|
||||||
|
mauticActive: IS_PRODUCTION, // So envia leads reais em producao
|
||||||
|
googleAnalytics: IS_PRODUCTION, // So trackeia em producao
|
||||||
|
googleAds: IS_PRODUCTION, // So dispara conversões em producao
|
||||||
|
facebookPixel: IS_PRODUCTION, // So dispara pixel em producao
|
||||||
|
|
||||||
|
// Visual
|
||||||
|
showBanner: !IS_PRODUCTION, // Banner de ambiente em hom/dev
|
||||||
|
bannerText: IS_HOMOLOGATION ? 'HOMOLOGACAO' : 'DESENVOLVIMENTO',
|
||||||
|
bannerColor: IS_HOMOLOGATION ? 'bg-yellow-500' : 'bg-blue-500',
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Log para debug
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
console.log(`[Ambiente] ${ENV.toUpperCase()} | Host: ${hostname}`);
|
||||||
|
if (!IS_PRODUCTION) {
|
||||||
|
console.log('[Ambiente] Tracking desativado | SEO: noindex');
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
-15
@@ -1,12 +1,7 @@
|
|||||||
// Configuracao do Mautic - Avanzato
|
// Configuracao do Mautic - Avanzato
|
||||||
// URL: https://mkt.avanzato.com.br
|
// URL: https://mkt.avanzato.com.br
|
||||||
|
|
||||||
// --- DETECAO DE AMBIENTE ---
|
import { IS_PRODUCTION } from './environment';
|
||||||
// Em homologacao (localhost, IP, ou nao-producao), o Mautic fica em modo simulacao
|
|
||||||
// Apenas loga no console, nao envia dados reais
|
|
||||||
const hostname = typeof window !== 'undefined' ? window.location.hostname : '';
|
|
||||||
const PROD_HOSTS = ['avanzato.com.br'];
|
|
||||||
export const IS_HOMOLOGATION = !PROD_HOSTS.includes(hostname);
|
|
||||||
|
|
||||||
export const MAUTIC_CONFIG = {
|
export const MAUTIC_CONFIG = {
|
||||||
baseUrl: 'https://mkt.avanzato.com.br',
|
baseUrl: 'https://mkt.avanzato.com.br',
|
||||||
@@ -17,8 +12,8 @@ export const MAUTIC_CONFIG = {
|
|||||||
contato: { id: '4', enabled: true },
|
contato: { id: '4', enabled: true },
|
||||||
},
|
},
|
||||||
|
|
||||||
// Desativa envio real em homologacao
|
// So envia dados reais em producao
|
||||||
enabled: !IS_HOMOLOGATION,
|
enabled: IS_PRODUCTION,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,9 +32,9 @@ export const sendLeadToMautic = (
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MODO HOMOLOGACAO: simula envio, nao manda dados reais
|
// MODO NAO-PRODUCAO: simula envio, nao manda dados reais
|
||||||
if (IS_HOMOLOGATION) {
|
if (!IS_PRODUCTION) {
|
||||||
console.log('%c[HOMOLOGACAO] Mautic em modo simulacao - dados NAO enviados ao servidor real', 'background:#f59e0b;color:#000;font-weight:bold;padding:4px 8px;border-radius:4px');
|
console.log('%c[' + (window as any).__AVANZATO_ENV__?.toUpperCase() + '] Mautic em modo simulacao - dados NAO enviados', 'background:#f59e0b;color:#000;font-weight:bold;padding:4px 8px;border-radius:4px');
|
||||||
console.log(`[Mautic] Form: ${formType} | Form ID: ${formConfig.id}`);
|
console.log(`[Mautic] Form: ${formType} | Form ID: ${formConfig.id}`);
|
||||||
console.log(`[Mautic] Dados que seriam enviados:`, JSON.stringify(formData, null, 2));
|
console.log(`[Mautic] Dados que seriam enviados:`, JSON.stringify(formData, null, 2));
|
||||||
console.log(`[Mautic] Em producao, enviaria para: ${MAUTIC_CONFIG.baseUrl}/form/submit?formId=${formConfig.id}`);
|
console.log(`[Mautic] Em producao, enviaria para: ${MAUTIC_CONFIG.baseUrl}/form/submit?formId=${formConfig.id}`);
|
||||||
@@ -123,8 +118,8 @@ export const sendLeadViaMailto = (formData: Record<string, string>): void => {
|
|||||||
* Desativado em homologacao para nao poluir dados
|
* Desativado em homologacao para nao poluir dados
|
||||||
*/
|
*/
|
||||||
export const trackConversion = (): void => {
|
export const trackConversion = (): void => {
|
||||||
if (IS_HOMOLOGATION) {
|
if (!IS_PRODUCTION) {
|
||||||
console.log('%c[HOMOLOGACAO] Google Ads conversion NAO disparado (ambiente de teste)', 'color:#f59e0b');
|
console.log('%c[' + (window as any).__AVANZATO_ENV__ + '] Google Ads conversion NAO disparado', 'color:#f59e0b');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (typeof window !== 'undefined' && (window as any).gtag) {
|
if (typeof window !== 'undefined' && (window as any).gtag) {
|
||||||
@@ -142,8 +137,8 @@ export const trackConversion = (): void => {
|
|||||||
* Desativado em homologacao
|
* Desativado em homologacao
|
||||||
*/
|
*/
|
||||||
export const trackFacebookPixel = (eventName: string = 'Lead', params?: Record<string, any>): void => {
|
export const trackFacebookPixel = (eventName: string = 'Lead', params?: Record<string, any>): void => {
|
||||||
if (IS_HOMOLOGATION) {
|
if (!IS_PRODUCTION) {
|
||||||
console.log(`%c[HOMOLOGACAO] Facebook Pixel "${eventName}" NAO disparado (ambiente de teste)`, 'color:#f59e0b', params);
|
console.log(`%c[${(window as any).__AVANZATO_ENV__}] Facebook Pixel "${eventName}" NAO disparado`, 'color:#f59e0b', params);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (typeof window !== 'undefined' && (window as any).fbq) {
|
if (typeof window !== 'undefined' && (window as any).fbq) {
|
||||||
|
|||||||
Reference in New Issue
Block a user