@sonordev/site-kit 4.0.2 → 4.2.0
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/agent-manifest.json +6 -1
- package/dist/AnalyticsProvider-JTAJ27EC.js +31 -0
- package/dist/{AnalyticsProvider-5SX4ZRGN.js.map → AnalyticsProvider-JTAJ27EC.js.map} +1 -1
- package/dist/AnalyticsProvider-QD7H2FER.mjs +10 -0
- package/dist/{AnalyticsProvider-6DIRTRRA.mjs.map → AnalyticsProvider-QD7H2FER.mjs.map} +1 -1
- package/dist/ChatWidget-7UV4LXJR.js +20 -0
- package/dist/{ChatWidget-3SUC7HZA.js.map → ChatWidget-7UV4LXJR.js.map} +1 -1
- package/dist/ChatWidget-BS6STWYV.mjs +11 -0
- package/dist/{ChatWidget-JTTERPI5.mjs.map → ChatWidget-BS6STWYV.mjs.map} +1 -1
- package/dist/EngageWidget-AQOTCO46.js +18 -0
- package/dist/{EngageWidget-YVAIP2NW.js.map → EngageWidget-AQOTCO46.js.map} +1 -1
- package/dist/EngageWidget-M7MZXPC4.mjs +9 -0
- package/dist/{EngageWidget-3MDY2W5G.mjs.map → EngageWidget-M7MZXPC4.mjs.map} +1 -1
- package/dist/{FileField-PD52URLX.js → FileField-JIWKVY73.js} +6 -6
- package/dist/{FileField-PD52URLX.js.map → FileField-JIWKVY73.js.map} +1 -1
- package/dist/{FileField-XMBF3XCG.mjs → FileField-VIYBV4GM.mjs} +5 -5
- package/dist/{FileField-XMBF3XCG.mjs.map → FileField-VIYBV4GM.mjs.map} +1 -1
- package/dist/{FormSpotlight-72TYHDPV.mjs → FormSpotlight-7P3JV3XK.mjs} +3 -3
- package/dist/{FormSpotlight-72TYHDPV.mjs.map → FormSpotlight-7P3JV3XK.mjs.map} +1 -1
- package/dist/{FormSpotlight-AL6KGMGG.js → FormSpotlight-MSBWEM3F.js} +15 -15
- package/dist/{FormSpotlight-AL6KGMGG.js.map → FormSpotlight-MSBWEM3F.js.map} +1 -1
- package/dist/{FormStage-GNBPJ7WX.mjs → FormStage-327WGVBM.mjs} +3 -3
- package/dist/{FormStage-GNBPJ7WX.mjs.map → FormStage-327WGVBM.mjs.map} +1 -1
- package/dist/{FormStage-NLO52ER2.js → FormStage-FME3O3N2.js} +13 -13
- package/dist/{FormStage-NLO52ER2.js.map → FormStage-FME3O3N2.js.map} +1 -1
- package/dist/ManagedForm-5BXS3XKX.js +23 -0
- package/dist/{ManagedForm-XWN3TVQQ.js.map → ManagedForm-5BXS3XKX.js.map} +1 -1
- package/dist/ManagedForm-BFZWPWGY.mjs +14 -0
- package/dist/{ManagedForm-2SYVMJY6.mjs.map → ManagedForm-BFZWPWGY.mjs.map} +1 -1
- package/dist/{SignalCore-4NOVH33M.mjs → SignalCore-EE2RAGZ2.mjs} +5 -5
- package/dist/{SignalCore-4NOVH33M.mjs.map → SignalCore-EE2RAGZ2.mjs.map} +1 -1
- package/dist/{SignalCore-PD75O7GB.js → SignalCore-IPLGFFC3.js} +11 -11
- package/dist/{SignalCore-PD75O7GB.js.map → SignalCore-IPLGFFC3.js.map} +1 -1
- package/dist/SitemapSync-2X6NM3TX.mjs +8 -0
- package/dist/{SitemapSync-UH6VZ55T.mjs.map → SitemapSync-2X6NM3TX.mjs.map} +1 -1
- package/dist/SitemapSync-XBYRZ7WH.js +17 -0
- package/dist/{SitemapSync-KKUF43DS.js.map → SitemapSync-XBYRZ7WH.js.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +4 -4
- package/dist/{chunk-6PNWJXAE.mjs → chunk-4HNFMOYE.mjs} +3 -3
- package/dist/{chunk-6PNWJXAE.mjs.map → chunk-4HNFMOYE.mjs.map} +1 -1
- package/dist/{chunk-T2YAEBEY.js → chunk-4PP4D3TF.js} +4 -4
- package/dist/{chunk-T2YAEBEY.js.map → chunk-4PP4D3TF.js.map} +1 -1
- package/dist/{chunk-WHVUSVHA.js → chunk-4YWGUQPU.js} +3 -3
- package/dist/{chunk-WHVUSVHA.js.map → chunk-4YWGUQPU.js.map} +1 -1
- package/dist/{chunk-AQA4PFMJ.mjs → chunk-57IFVXCB.mjs} +4 -4
- package/dist/{chunk-AQA4PFMJ.mjs.map → chunk-57IFVXCB.mjs.map} +1 -1
- package/dist/{chunk-QO5NS62X.js → chunk-7UCKV4WA.js} +8 -8
- package/dist/{chunk-QO5NS62X.js.map → chunk-7UCKV4WA.js.map} +1 -1
- package/dist/{chunk-NWJX6NHR.mjs → chunk-A5FJZWGY.mjs} +4 -4
- package/dist/{chunk-NWJX6NHR.mjs.map → chunk-A5FJZWGY.mjs.map} +1 -1
- package/dist/chunk-AAZNH3MA.mjs +23 -0
- package/dist/chunk-AAZNH3MA.mjs.map +1 -0
- package/dist/{chunk-5QVXHD6V.js → chunk-AVWIKVVE.js} +14 -14
- package/dist/{chunk-5QVXHD6V.js.map → chunk-AVWIKVVE.js.map} +1 -1
- package/dist/chunk-CBN73TLK.js +8 -0
- package/dist/{chunk-LYAU5PRS.js.map → chunk-CBN73TLK.js.map} +1 -1
- package/dist/chunk-CIM5W3UO.js +26 -0
- package/dist/chunk-CIM5W3UO.js.map +1 -0
- package/dist/{chunk-6ZFXASW6.mjs → chunk-CMIFYDKA.mjs} +5 -5
- package/dist/{chunk-6ZFXASW6.mjs.map → chunk-CMIFYDKA.mjs.map} +1 -1
- package/dist/{chunk-T5DXYGWK.mjs → chunk-DNEUGYTE.mjs} +3 -3
- package/dist/{chunk-T5DXYGWK.mjs.map → chunk-DNEUGYTE.mjs.map} +1 -1
- package/dist/{chunk-UBNVD567.mjs → chunk-DSECSIWJ.mjs} +3 -3
- package/dist/{chunk-UBNVD567.mjs.map → chunk-DSECSIWJ.mjs.map} +1 -1
- package/dist/{chunk-FZ643CZK.mjs → chunk-DYDAV4Y4.mjs} +4 -4
- package/dist/{chunk-FZ643CZK.mjs.map → chunk-DYDAV4Y4.mjs.map} +1 -1
- package/dist/{chunk-WXKEYKE6.js → chunk-FFQAKIV5.js} +15 -15
- package/dist/{chunk-WXKEYKE6.js.map → chunk-FFQAKIV5.js.map} +1 -1
- package/dist/{chunk-OP5FYTWJ.js → chunk-FMAEUQEZ.js} +12 -12
- package/dist/{chunk-OP5FYTWJ.js.map → chunk-FMAEUQEZ.js.map} +1 -1
- package/dist/{chunk-LVCUT2OX.js → chunk-GXABJJ4F.js} +3 -3
- package/dist/{chunk-LVCUT2OX.js.map → chunk-GXABJJ4F.js.map} +1 -1
- package/dist/{chunk-HOB2A6JM.mjs → chunk-HI6DVYVN.mjs} +3 -3
- package/dist/{chunk-HOB2A6JM.mjs.map → chunk-HI6DVYVN.mjs.map} +1 -1
- package/dist/{chunk-NJN467OM.js → chunk-HLCCE7BD.js} +14 -14
- package/dist/{chunk-NJN467OM.js.map → chunk-HLCCE7BD.js.map} +1 -1
- package/dist/{chunk-2MIOQYF5.js → chunk-INW43FWV.js} +6 -6
- package/dist/{chunk-2MIOQYF5.js.map → chunk-INW43FWV.js.map} +1 -1
- package/dist/{chunk-ARBOKZAU.mjs → chunk-IUZ2RH4V.mjs} +3 -4
- package/dist/chunk-IUZ2RH4V.mjs.map +1 -0
- package/dist/{chunk-VLY3SFNH.js → chunk-IV7LOJZO.js} +4 -4
- package/dist/{chunk-VLY3SFNH.js.map → chunk-IV7LOJZO.js.map} +1 -1
- package/dist/{chunk-RAX3HS4T.js → chunk-IWFP2FQ5.js} +16 -16
- package/dist/{chunk-RAX3HS4T.js.map → chunk-IWFP2FQ5.js.map} +1 -1
- package/dist/chunk-JA77WXRE.js +30 -0
- package/dist/chunk-JA77WXRE.js.map +1 -0
- package/dist/{chunk-62Z4D3QR.js → chunk-JWIJZQYI.js} +5 -5
- package/dist/{chunk-62Z4D3QR.js.map → chunk-JWIJZQYI.js.map} +1 -1
- package/dist/{chunk-PGND73EV.js → chunk-KFDFXRBE.js} +4 -4
- package/dist/{chunk-PGND73EV.js.map → chunk-KFDFXRBE.js.map} +1 -1
- package/dist/chunk-LS64Y25E.mjs +6 -0
- package/dist/{chunk-QTN3F7D7.mjs.map → chunk-LS64Y25E.mjs.map} +1 -1
- package/dist/{chunk-NCWVR4BU.mjs → chunk-MTXQG3TX.mjs} +7 -7
- package/dist/{chunk-NCWVR4BU.mjs.map → chunk-MTXQG3TX.mjs.map} +1 -1
- package/dist/{chunk-GCS4XZHC.mjs → chunk-MZZQHGXY.mjs} +3 -3
- package/dist/{chunk-GCS4XZHC.mjs.map → chunk-MZZQHGXY.mjs.map} +1 -1
- package/dist/{chunk-Y26LKDE4.js → chunk-NDASB3X3.js} +9 -9
- package/dist/{chunk-Y26LKDE4.js.map → chunk-NDASB3X3.js.map} +1 -1
- package/dist/{chunk-7QDTXT4N.js → chunk-NF3QVKWU.js} +6 -7
- package/dist/chunk-NF3QVKWU.js.map +1 -0
- package/dist/{chunk-R4PCXP3F.mjs → chunk-OO4T5X4Z.mjs} +3 -3
- package/dist/{chunk-R4PCXP3F.mjs.map → chunk-OO4T5X4Z.mjs.map} +1 -1
- package/dist/{chunk-ZK5VSIRO.js → chunk-PKQVV6LW.js} +12 -12
- package/dist/{chunk-ZK5VSIRO.js.map → chunk-PKQVV6LW.js.map} +1 -1
- package/dist/{chunk-ZPG4GTU7.js → chunk-QNEBWBZ4.js} +5 -5
- package/dist/{chunk-ZPG4GTU7.js.map → chunk-QNEBWBZ4.js.map} +1 -1
- package/dist/chunk-QZF5NTXQ.mjs +28 -0
- package/dist/chunk-QZF5NTXQ.mjs.map +1 -0
- package/dist/{chunk-FGN27J35.mjs → chunk-R6LQRHPQ.mjs} +4 -4
- package/dist/{chunk-FGN27J35.mjs.map → chunk-R6LQRHPQ.mjs.map} +1 -1
- package/dist/{chunk-NWPNFCNY.js → chunk-S2C3QU4E.js} +18 -18
- package/dist/{chunk-NWPNFCNY.js.map → chunk-S2C3QU4E.js.map} +1 -1
- package/dist/{chunk-XNPITFJ5.mjs → chunk-SDBUPTF4.mjs} +3 -3
- package/dist/{chunk-XNPITFJ5.mjs.map → chunk-SDBUPTF4.mjs.map} +1 -1
- package/dist/{chunk-B7J7SU5A.mjs → chunk-TGGSXT3F.mjs} +8 -8
- package/dist/{chunk-B7J7SU5A.mjs.map → chunk-TGGSXT3F.mjs.map} +1 -1
- package/dist/{chunk-MZY3MEUO.mjs → chunk-UDPUBSSS.mjs} +3 -3
- package/dist/{chunk-MZY3MEUO.mjs.map → chunk-UDPUBSSS.mjs.map} +1 -1
- package/dist/{chunk-VUIQLKJB.mjs → chunk-UKFBG6FV.mjs} +3 -3
- package/dist/{chunk-VUIQLKJB.mjs.map → chunk-UKFBG6FV.mjs.map} +1 -1
- package/dist/{chunk-UQPUFRXF.mjs → chunk-VGPZ4PCZ.mjs} +3 -3
- package/dist/{chunk-UQPUFRXF.mjs.map → chunk-VGPZ4PCZ.mjs.map} +1 -1
- package/dist/{chunk-MRRTAJWQ.js → chunk-VOMAEC5G.js} +3 -3
- package/dist/{chunk-MRRTAJWQ.js.map → chunk-VOMAEC5G.js.map} +1 -1
- package/dist/{chunk-MPACJDDG.js → chunk-VTFDE7H2.js} +7 -7
- package/dist/{chunk-MPACJDDG.js.map → chunk-VTFDE7H2.js.map} +1 -1
- package/dist/{chunk-KNYK2VLX.mjs → chunk-WCIQKO7W.mjs} +3 -3
- package/dist/{chunk-KNYK2VLX.mjs.map → chunk-WCIQKO7W.mjs.map} +1 -1
- package/dist/{chunk-JFVEKSZT.mjs → chunk-WCRBZZRI.mjs} +4 -4
- package/dist/{chunk-JFVEKSZT.mjs.map → chunk-WCRBZZRI.mjs.map} +1 -1
- package/dist/{chunk-53RHVKTD.mjs → chunk-WFCRXUNA.mjs} +4 -4
- package/dist/{chunk-53RHVKTD.mjs.map → chunk-WFCRXUNA.mjs.map} +1 -1
- package/dist/{chunk-ZRGCKWIT.js → chunk-WLVS4QBK.js} +4 -4
- package/dist/{chunk-ZRGCKWIT.js.map → chunk-WLVS4QBK.js.map} +1 -1
- package/dist/{chunk-WNNY2BCV.js → chunk-XOSAVYAI.js} +8 -8
- package/dist/{chunk-WNNY2BCV.js.map → chunk-XOSAVYAI.js.map} +1 -1
- package/dist/{chunk-AJNT5GCU.mjs → chunk-XXBVF7WN.mjs} +3 -3
- package/dist/{chunk-AJNT5GCU.mjs.map → chunk-XXBVF7WN.mjs.map} +1 -1
- package/dist/{chunk-XRC3JZAK.mjs → chunk-XZCZCND2.mjs} +3 -3
- package/dist/{chunk-XRC3JZAK.mjs.map → chunk-XZCZCND2.mjs.map} +1 -1
- package/dist/{chunk-LP6MC2RH.js → chunk-Z7HAQTWP.js} +14 -14
- package/dist/{chunk-LP6MC2RH.js.map → chunk-Z7HAQTWP.js.map} +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/index.mjs +1 -1
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/cms/index.d.ts +23 -0
- package/dist/cms/index.d.ts.map +1 -1
- package/dist/cms/index.js +2 -2
- package/dist/cms/index.mjs +1 -1
- package/dist/cms/server-api.d.ts.map +1 -1
- package/dist/cms/server.js +4 -4
- package/dist/cms/server.mjs +1 -1
- package/dist/commerce/index.js +56 -56
- package/dist/commerce/index.mjs +5 -5
- package/dist/engage/EngageWidget.d.ts.map +1 -1
- package/dist/engage/dependency-contract.test.d.ts +2 -0
- package/dist/engage/dependency-contract.test.d.ts.map +1 -0
- package/dist/engage/index.js +10 -10
- package/dist/engage/index.mjs +7 -7
- package/dist/engage/socket-loader.d.ts +13 -0
- package/dist/engage/socket-loader.d.ts.map +1 -1
- package/dist/fleet/index.js +8 -8
- package/dist/fleet/index.mjs +4 -4
- package/dist/forms/index.js +16 -16
- package/dist/forms/index.mjs +9 -9
- package/dist/forms/server.js +10 -10
- package/dist/forms/server.mjs +8 -8
- package/dist/forms/static.js +7 -7
- package/dist/forms/static.mjs +6 -6
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +67 -66
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -10
- package/dist/index.mjs.map +1 -1
- package/dist/landing/index.d.ts +12 -0
- package/dist/landing/index.d.ts.map +1 -1
- package/dist/landing/index.js +5 -4
- package/dist/landing/index.mjs +2 -1
- package/dist/landing/server-entry.test.d.ts +2 -0
- package/dist/landing/server-entry.test.d.ts.map +1 -0
- package/dist/landing/server.d.ts +32 -0
- package/dist/landing/server.d.ts.map +1 -0
- package/dist/landing/server.js +17 -0
- package/dist/landing/server.js.map +1 -0
- package/dist/landing/server.mjs +4 -0
- package/dist/landing/server.mjs.map +1 -0
- package/dist/layout/client.js +8 -8
- package/dist/layout/client.mjs +7 -7
- package/dist/layout/index.js +10 -10
- package/dist/layout/index.mjs +8 -8
- package/dist/maps/index.js +5 -5
- package/dist/maps/index.mjs +3 -3
- package/dist/search/index.js +4 -4
- package/dist/search/index.mjs +3 -3
- package/dist/seo/client.js +5 -5
- package/dist/seo/client.mjs +4 -4
- package/dist/seo/index.js +5 -5
- package/dist/seo/index.mjs +4 -4
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/dist/shared/build-entries.d.ts +7 -0
- package/dist/shared/build-entries.d.ts.map +1 -1
- package/dist/shared/no-cjs-require.test.d.ts +2 -0
- package/dist/shared/no-cjs-require.test.d.ts.map +1 -0
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +11 -11
- package/dist/signal/index.mjs +2 -2
- package/dist/{socket-loader-YEAQZ3XC.js → socket-loader-2NYBMBFQ.js} +2 -2
- package/dist/socket-loader-2NYBMBFQ.js.map +1 -0
- package/dist/{socket-loader-JHNN2QK4.mjs → socket-loader-JA2DI2RT.mjs} +2 -2
- package/dist/socket-loader-JA2DI2RT.mjs.map +1 -0
- package/dist/sync/index.js +16 -16
- package/dist/sync/index.mjs +4 -4
- package/package.json +26 -9
- package/dist/AnalyticsProvider-5SX4ZRGN.js +0 -31
- package/dist/AnalyticsProvider-6DIRTRRA.mjs +0 -10
- package/dist/ChatWidget-3SUC7HZA.js +0 -20
- package/dist/ChatWidget-JTTERPI5.mjs +0 -11
- package/dist/EngageWidget-3MDY2W5G.mjs +0 -9
- package/dist/EngageWidget-YVAIP2NW.js +0 -18
- package/dist/ManagedForm-2SYVMJY6.mjs +0 -14
- package/dist/ManagedForm-XWN3TVQQ.js +0 -23
- package/dist/SitemapSync-KKUF43DS.js +0 -17
- package/dist/SitemapSync-UH6VZ55T.mjs +0 -8
- package/dist/chunk-7QDTXT4N.js.map +0 -1
- package/dist/chunk-ARBOKZAU.mjs.map +0 -1
- package/dist/chunk-EU2UGO25.js +0 -52
- package/dist/chunk-EU2UGO25.js.map +0 -1
- package/dist/chunk-IBMOX3YE.mjs +0 -48
- package/dist/chunk-IBMOX3YE.mjs.map +0 -1
- package/dist/chunk-LYAU5PRS.js +0 -8
- package/dist/chunk-QTN3F7D7.mjs +0 -6
- package/dist/socket-loader-JHNN2QK4.mjs.map +0 -1
- package/dist/socket-loader-YEAQZ3XC.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/landing/contract.ts
|
|
2
|
+
function normalizeCampaignSlug(input) {
|
|
3
|
+
if (!input || typeof input !== "string") return null;
|
|
4
|
+
const slug = input.trim().toLowerCase().replace(/[\s_]+/g, "-").replace(/[^a-z0-9-]/g, "").replace(/-{2,}/g, "-").replace(/^-+|-+$/g, "").slice(0, 80);
|
|
5
|
+
return slug || null;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// src/landing/metadata.ts
|
|
9
|
+
function landingPageMetadata(meta = {}) {
|
|
10
|
+
const callerRobots = meta.robots && typeof meta.robots === "object" ? meta.robots : void 0;
|
|
11
|
+
return {
|
|
12
|
+
...meta,
|
|
13
|
+
robots: {
|
|
14
|
+
index: false,
|
|
15
|
+
follow: false,
|
|
16
|
+
...callerRobots
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { landingPageMetadata, normalizeCampaignSlug };
|
|
22
|
+
//# sourceMappingURL=chunk-AAZNH3MA.mjs.map
|
|
23
|
+
//# sourceMappingURL=chunk-AAZNH3MA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/landing/contract.ts","../src/landing/metadata.ts"],"names":[],"mappings":";AAaO,SAAS,sBAAsB,KAAA,EAAsC;AAC1E,EAAA,IAAI,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,UAAU,OAAO,IAAA;AAChD,EAAA,MAAM,IAAA,GAAO,KAAA,CACV,IAAA,EAAK,CACL,WAAA,GACA,OAAA,CAAQ,SAAA,EAAW,GAAG,CAAA,CACtB,OAAA,CAAQ,aAAA,EAAe,EAAE,CAAA,CACzB,OAAA,CAAQ,QAAA,EAAU,GAAG,CAAA,CACrB,OAAA,CAAQ,YAAY,EAAE,CAAA,CACtB,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACd,EAAA,OAAO,IAAA,IAAQ,IAAA;AACjB;;;ACNO,SAAS,mBAAA,CAAoB,IAAA,GAAiB,EAAC,EAAa;AACjE,EAAA,MAAM,YAAA,GACJ,KAAK,MAAA,IAAU,OAAO,KAAK,MAAA,KAAW,QAAA,GAAW,KAAK,MAAA,GAAS,MAAA;AACjE,EAAA,OAAO;AAAA,IACL,GAAG,IAAA;AAAA,IACH,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO,KAAA;AAAA,MACP,MAAA,EAAQ,KAAA;AAAA,MACR,GAAG;AAAA;AACL,GACF;AACF","file":"chunk-AAZNH3MA.mjs","sourcesContent":["/**\n * Landing-page campaign contract.\n *\n * normalizeCampaignSlug is an inlined MIRROR of sonor-api's\n * `src/modules/analytics/utils/campaign.util.ts` (the CANONICAL copy) —\n * keep the function body byte-identical. Both suites assert the same fixed\n * vectors (sonor-api's campaign.util.spec.ts and this package's\n * landing/contract.test.ts), so silent drift fails CI on either side.\n *\n * A slug normalized here always matches the server's canonical form, so the\n * campaign a developer declares in code is exactly the identity the\n * dashboard reports on.\n */\nexport function normalizeCampaignSlug(input?: string | null): string | null {\n if (!input || typeof input !== 'string') return null\n const slug = input\n .trim()\n .toLowerCase()\n .replace(/[\\s_]+/g, '-')\n .replace(/[^a-z0-9-]/g, '')\n .replace(/-{2,}/g, '-')\n .replace(/^-+|-+$/g, '')\n .slice(0, 80)\n return slug || null\n}\n","import type { Metadata } from 'next'\n\n/**\n * Metadata for a paid-ad landing page: noindex, nofollow by default.\n *\n * This is the RELIABLE noindex mechanism — export it from the landing\n * route so the robots directives render in <head> at SSR:\n *\n * export const metadata = landingPageMetadata({\n * title: 'Spring HVAC Tune-Up | Acme Heating',\n * description: 'Book your $99 spring tune-up.',\n * })\n *\n * The <LandingPage> wrapper also hoists a robots meta tag as belt-and-braces,\n * but body-rendered meta is not honored by all crawlers — always use this\n * helper too. Pass an explicit `robots` object to override the default\n * (e.g. a landing page you deliberately want indexed).\n */\nexport function landingPageMetadata(meta: Metadata = {}): Metadata {\n const callerRobots =\n meta.robots && typeof meta.robots === 'object' ? meta.robots : undefined\n return {\n ...meta,\n robots: {\n index: false,\n follow: false,\n ...callerRobots,\n },\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkHMFFAUCD_js = require('./chunk-HMFFAUCD.js');
|
|
5
5
|
var chunkRC4WWQXR_js = require('./chunk-RC4WWQXR.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkFFQAKIV5_js = require('./chunk-FFQAKIV5.js');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var navigation = require('next/navigation');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -101,10 +101,10 @@ function WebVitals({ apiUrl: propApiUrl, apiKey: propApiKey, site: propSite, deb
|
|
|
101
101
|
if (debug2) console.log("[Analytics] Web Vital:", data);
|
|
102
102
|
const endpoint = `${apiUrl}/api/public/analytics/web-vitals`;
|
|
103
103
|
if (viaBeacon) {
|
|
104
|
-
|
|
104
|
+
chunkFFQAKIV5_js.sonorBeacon(endpoint, data, apiKey);
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
void
|
|
107
|
+
void chunkFFQAKIV5_js.sonorFetch(
|
|
108
108
|
endpoint,
|
|
109
109
|
{
|
|
110
110
|
method: "POST",
|
|
@@ -611,7 +611,7 @@ function AnalyticsProvider({
|
|
|
611
611
|
return;
|
|
612
612
|
}
|
|
613
613
|
try {
|
|
614
|
-
const response = await
|
|
614
|
+
const response = await chunkFFQAKIV5_js.sonorFetch(
|
|
615
615
|
`${apiUrl}/api/public/seo/pages`,
|
|
616
616
|
{ method: "GET", headers: { "Content-Type": "application/json" } },
|
|
617
617
|
{ apiKey }
|
|
@@ -695,7 +695,7 @@ function AnalyticsProvider({
|
|
|
695
695
|
console.log("[Analytics] Page view:", pageView);
|
|
696
696
|
}
|
|
697
697
|
try {
|
|
698
|
-
const response = await
|
|
698
|
+
const response = await chunkFFQAKIV5_js.sonorFetch(
|
|
699
699
|
`${apiUrl}/api/public/analytics/page-view`,
|
|
700
700
|
{
|
|
701
701
|
method: "POST",
|
|
@@ -785,7 +785,7 @@ function AnalyticsProvider({
|
|
|
785
785
|
console.log("[Analytics] Journey step:", sessionData);
|
|
786
786
|
}
|
|
787
787
|
try {
|
|
788
|
-
await
|
|
788
|
+
await chunkFFQAKIV5_js.sonorFetch(
|
|
789
789
|
`${apiUrl}/api/public/analytics/session`,
|
|
790
790
|
{
|
|
791
791
|
method: "POST",
|
|
@@ -810,7 +810,7 @@ function AnalyticsProvider({
|
|
|
810
810
|
previousPageDuration: Math.round((Date.now() - pageEnterTimeRef.current) / 1e3),
|
|
811
811
|
previousPageScrollDepth: currentScrollDepthRef.current
|
|
812
812
|
});
|
|
813
|
-
|
|
813
|
+
chunkFFQAKIV5_js.sonorBeacon(`${apiUrl}/api/public/analytics/session`, payload, apiKey);
|
|
814
814
|
};
|
|
815
815
|
window.addEventListener("pagehide", handleUnload);
|
|
816
816
|
return () => {
|
|
@@ -875,11 +875,11 @@ function AnalyticsProvider({
|
|
|
875
875
|
deviceType: getDeviceType()
|
|
876
876
|
});
|
|
877
877
|
if (useBeacon) {
|
|
878
|
-
|
|
878
|
+
chunkFFQAKIV5_js.sonorBeacon(`${apiUrl}/api/public/analytics/scroll-depth`, payload, apiKey);
|
|
879
879
|
if (debug) console.log("[Analytics] Scroll depth (beacon):", { maxDepth, totalTime });
|
|
880
880
|
} else {
|
|
881
881
|
try {
|
|
882
|
-
await
|
|
882
|
+
await chunkFFQAKIV5_js.sonorFetch(
|
|
883
883
|
`${apiUrl}/api/public/analytics/scroll-depth`,
|
|
884
884
|
{
|
|
885
885
|
method: "POST",
|
|
@@ -957,7 +957,7 @@ function AnalyticsProvider({
|
|
|
957
957
|
if (debug) console.log("[Analytics] Click:", clickData);
|
|
958
958
|
scheduleIdleTask(async () => {
|
|
959
959
|
try {
|
|
960
|
-
await
|
|
960
|
+
await chunkFFQAKIV5_js.sonorFetch(
|
|
961
961
|
`${apiUrl}/api/public/analytics/heatmap-click`,
|
|
962
962
|
{
|
|
963
963
|
method: "POST",
|
|
@@ -1000,7 +1000,7 @@ function AnalyticsProvider({
|
|
|
1000
1000
|
console.log("[Analytics] Event:", event);
|
|
1001
1001
|
}
|
|
1002
1002
|
try {
|
|
1003
|
-
const response = await
|
|
1003
|
+
const response = await chunkFFQAKIV5_js.sonorFetch(
|
|
1004
1004
|
`${apiUrl}/api/public/analytics/event`,
|
|
1005
1005
|
{
|
|
1006
1006
|
method: "POST",
|
|
@@ -1043,7 +1043,7 @@ function AnalyticsProvider({
|
|
|
1043
1043
|
console.log("[Analytics] Conversion:", conversion);
|
|
1044
1044
|
}
|
|
1045
1045
|
try {
|
|
1046
|
-
const response = await
|
|
1046
|
+
const response = await chunkFFQAKIV5_js.sonorFetch(
|
|
1047
1047
|
`${apiUrl}/api/public/analytics/conversion`,
|
|
1048
1048
|
{
|
|
1049
1049
|
method: "POST",
|
|
@@ -1104,5 +1104,5 @@ exports.WebVitals = WebVitals;
|
|
|
1104
1104
|
exports.useAnalytics = useAnalytics;
|
|
1105
1105
|
exports.useAnalyticsOptional = useAnalyticsOptional;
|
|
1106
1106
|
exports.useTrackEvent = useTrackEvent;
|
|
1107
|
-
//# sourceMappingURL=chunk-
|
|
1108
|
-
//# sourceMappingURL=chunk-
|
|
1107
|
+
//# sourceMappingURL=chunk-AVWIKVVE.js.map
|
|
1108
|
+
//# sourceMappingURL=chunk-AVWIKVVE.js.map
|