@sonordev/site-kit 4.2.0 → 4.2.2
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 +1 -1
- package/dist/AnalyticsProvider-4BQIFRWP.js +31 -0
- package/dist/{AnalyticsProvider-JTAJ27EC.js.map → AnalyticsProvider-4BQIFRWP.js.map} +1 -1
- package/dist/AnalyticsProvider-EQSG7FGL.mjs +10 -0
- package/dist/{AnalyticsProvider-QD7H2FER.mjs.map → AnalyticsProvider-EQSG7FGL.mjs.map} +1 -1
- package/dist/ChatWidget-EXJD6YVW.js +20 -0
- package/dist/{ChatWidget-7UV4LXJR.js.map → ChatWidget-EXJD6YVW.js.map} +1 -1
- package/dist/ChatWidget-ZTKWIKXR.mjs +11 -0
- package/dist/{ChatWidget-BS6STWYV.mjs.map → ChatWidget-ZTKWIKXR.mjs.map} +1 -1
- package/dist/EngageWidget-BJLSXG2V.mjs +9 -0
- package/dist/{EngageWidget-M7MZXPC4.mjs.map → EngageWidget-BJLSXG2V.mjs.map} +1 -1
- package/dist/EngageWidget-HY523XM4.js +18 -0
- package/dist/{EngageWidget-AQOTCO46.js.map → EngageWidget-HY523XM4.js.map} +1 -1
- package/dist/{FileField-VIYBV4GM.mjs → FileField-5U4FYTLN.mjs} +5 -5
- package/dist/{FileField-VIYBV4GM.mjs.map → FileField-5U4FYTLN.mjs.map} +1 -1
- package/dist/{FileField-JIWKVY73.js → FileField-FV46FKRM.js} +6 -6
- package/dist/{FileField-JIWKVY73.js.map → FileField-FV46FKRM.js.map} +1 -1
- package/dist/{FormSpotlight-MSBWEM3F.js → FormSpotlight-TUHLSY3O.js} +15 -15
- package/dist/{FormSpotlight-MSBWEM3F.js.map → FormSpotlight-TUHLSY3O.js.map} +1 -1
- package/dist/{FormSpotlight-7P3JV3XK.mjs → FormSpotlight-W6BNVKNN.mjs} +3 -3
- package/dist/{FormSpotlight-7P3JV3XK.mjs.map → FormSpotlight-W6BNVKNN.mjs.map} +1 -1
- package/dist/{FormStage-FME3O3N2.js → FormStage-MNXNKSPP.js} +13 -13
- package/dist/{FormStage-FME3O3N2.js.map → FormStage-MNXNKSPP.js.map} +1 -1
- package/dist/{FormStage-327WGVBM.mjs → FormStage-NKWP3C2S.mjs} +3 -3
- package/dist/{FormStage-327WGVBM.mjs.map → FormStage-NKWP3C2S.mjs.map} +1 -1
- package/dist/ManagedForm-K4UHRVYV.js +23 -0
- package/dist/{ManagedForm-5BXS3XKX.js.map → ManagedForm-K4UHRVYV.js.map} +1 -1
- package/dist/ManagedForm-M3XW66FH.mjs +14 -0
- package/dist/{ManagedForm-BFZWPWGY.mjs.map → ManagedForm-M3XW66FH.mjs.map} +1 -1
- package/dist/{SignalCore-IPLGFFC3.js → SignalCore-7PVCUG2S.js} +11 -11
- package/dist/{SignalCore-IPLGFFC3.js.map → SignalCore-7PVCUG2S.js.map} +1 -1
- package/dist/{SignalCore-EE2RAGZ2.mjs → SignalCore-S6PCGTHS.mjs} +5 -5
- package/dist/{SignalCore-EE2RAGZ2.mjs.map → SignalCore-S6PCGTHS.mjs.map} +1 -1
- package/dist/SitemapSync-2HLGUZES.mjs +8 -0
- package/dist/{SitemapSync-2X6NM3TX.mjs.map → SitemapSync-2HLGUZES.mjs.map} +1 -1
- package/dist/SitemapSync-66HQ4SG2.js +17 -0
- package/dist/{SitemapSync-XBYRZ7WH.js.map → SitemapSync-66HQ4SG2.js.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +4 -4
- package/dist/{chunk-WCRBZZRI.mjs → chunk-2GUDSTNH.mjs} +89 -20
- package/dist/chunk-2GUDSTNH.mjs.map +1 -0
- package/dist/{chunk-S2C3QU4E.js → chunk-2LU7BV5K.js} +29 -19
- package/dist/chunk-2LU7BV5K.js.map +1 -0
- package/dist/{chunk-4YWGUQPU.js → chunk-3BXQP54K.js} +3 -3
- package/dist/{chunk-4YWGUQPU.js.map → chunk-3BXQP54K.js.map} +1 -1
- package/dist/{chunk-DNEUGYTE.mjs → chunk-4E7NFYL5.mjs} +3 -3
- package/dist/{chunk-DNEUGYTE.mjs.map → chunk-4E7NFYL5.mjs.map} +1 -1
- package/dist/{chunk-IWFP2FQ5.js → chunk-4MBD6PPV.js} +15 -15
- package/dist/{chunk-IWFP2FQ5.js.map → chunk-4MBD6PPV.js.map} +1 -1
- package/dist/{chunk-HI6DVYVN.mjs → chunk-4SJITKBL.mjs} +3 -3
- package/dist/{chunk-HI6DVYVN.mjs.map → chunk-4SJITKBL.mjs.map} +1 -1
- package/dist/{chunk-PKQVV6LW.js → chunk-524SIFK7.js} +13 -13
- package/dist/chunk-524SIFK7.js.map +1 -0
- package/dist/{chunk-INW43FWV.js → chunk-55FJN7VQ.js} +6 -6
- package/dist/{chunk-INW43FWV.js.map → chunk-55FJN7VQ.js.map} +1 -1
- package/dist/{chunk-4PP4D3TF.js → chunk-645TOMKQ.js} +4 -4
- package/dist/{chunk-4PP4D3TF.js.map → chunk-645TOMKQ.js.map} +1 -1
- package/dist/{chunk-DYDAV4Y4.mjs → chunk-7723NZQW.mjs} +4 -4
- package/dist/{chunk-DYDAV4Y4.mjs.map → chunk-7723NZQW.mjs.map} +1 -1
- package/dist/{chunk-HLCCE7BD.js → chunk-7YVFFQWH.js} +14 -14
- package/dist/{chunk-HLCCE7BD.js.map → chunk-7YVFFQWH.js.map} +1 -1
- package/dist/{chunk-WCIQKO7W.mjs → chunk-BEHHWRZM.mjs} +3 -3
- package/dist/{chunk-WCIQKO7W.mjs.map → chunk-BEHHWRZM.mjs.map} +1 -1
- package/dist/{chunk-AVWIKVVE.js → chunk-BUZSBUYJ.js} +14 -14
- package/dist/{chunk-AVWIKVVE.js.map → chunk-BUZSBUYJ.js.map} +1 -1
- package/dist/{chunk-OO4T5X4Z.mjs → chunk-CM5QUX2T.mjs} +3 -3
- package/dist/{chunk-OO4T5X4Z.mjs.map → chunk-CM5QUX2T.mjs.map} +1 -1
- package/dist/{chunk-UKFBG6FV.mjs → chunk-D6CPHVMV.mjs} +3 -3
- package/dist/{chunk-UKFBG6FV.mjs.map → chunk-D6CPHVMV.mjs.map} +1 -1
- package/dist/{chunk-QNEBWBZ4.js → chunk-DEPDYVUH.js} +5 -5
- package/dist/{chunk-QNEBWBZ4.js.map → chunk-DEPDYVUH.js.map} +1 -1
- package/dist/{chunk-NDASB3X3.js → chunk-F46DCSUI.js} +9 -9
- package/dist/{chunk-NDASB3X3.js.map → chunk-F46DCSUI.js.map} +1 -1
- package/dist/{chunk-Z7HAQTWP.js → chunk-HYRKVST7.js} +14 -14
- package/dist/{chunk-Z7HAQTWP.js.map → chunk-HYRKVST7.js.map} +1 -1
- package/dist/{chunk-R6LQRHPQ.mjs → chunk-K7XOPTOE.mjs} +4 -4
- package/dist/{chunk-R6LQRHPQ.mjs.map → chunk-K7XOPTOE.mjs.map} +1 -1
- package/dist/{chunk-UDPUBSSS.mjs → chunk-KJSYSRMD.mjs} +3 -3
- package/dist/{chunk-UDPUBSSS.mjs.map → chunk-KJSYSRMD.mjs.map} +1 -1
- package/dist/{chunk-CMIFYDKA.mjs → chunk-L4ZLL6TE.mjs} +4 -4
- package/dist/{chunk-CMIFYDKA.mjs.map → chunk-L4ZLL6TE.mjs.map} +1 -1
- package/dist/{chunk-WLVS4QBK.js → chunk-LSW5QBW2.js} +4 -4
- package/dist/{chunk-WLVS4QBK.js.map → chunk-LSW5QBW2.js.map} +1 -1
- package/dist/{chunk-SDBUPTF4.mjs → chunk-MOKM6STG.mjs} +3 -3
- package/dist/{chunk-SDBUPTF4.mjs.map → chunk-MOKM6STG.mjs.map} +1 -1
- package/dist/chunk-NPCWPOCE.mjs +6 -0
- package/dist/{chunk-LS64Y25E.mjs.map → chunk-NPCWPOCE.mjs.map} +1 -1
- package/dist/{chunk-FMAEUQEZ.js → chunk-OB6DNGYK.js} +97 -28
- package/dist/chunk-OB6DNGYK.js.map +1 -0
- package/dist/{chunk-TGGSXT3F.mjs → chunk-P37FFMOZ.mjs} +9 -9
- package/dist/chunk-P37FFMOZ.mjs.map +1 -0
- package/dist/{chunk-VOMAEC5G.js → chunk-PLY5AP72.js} +3 -3
- package/dist/{chunk-VOMAEC5G.js.map → chunk-PLY5AP72.js.map} +1 -1
- package/dist/{chunk-KFDFXRBE.js → chunk-QQFWEHYU.js} +4 -4
- package/dist/{chunk-KFDFXRBE.js.map → chunk-QQFWEHYU.js.map} +1 -1
- package/dist/{chunk-57IFVXCB.mjs → chunk-SED7E3P5.mjs} +4 -4
- package/dist/{chunk-57IFVXCB.mjs.map → chunk-SED7E3P5.mjs.map} +1 -1
- package/dist/{chunk-MTXQG3TX.mjs → chunk-SS5S43I4.mjs} +18 -8
- package/dist/chunk-SS5S43I4.mjs.map +1 -0
- package/dist/{chunk-JWIJZQYI.js → chunk-THBZCEA7.js} +5 -5
- package/dist/{chunk-JWIJZQYI.js.map → chunk-THBZCEA7.js.map} +1 -1
- package/dist/{chunk-VTFDE7H2.js → chunk-TWPLJ27S.js} +7 -7
- package/dist/{chunk-VTFDE7H2.js.map → chunk-TWPLJ27S.js.map} +1 -1
- package/dist/{chunk-7UCKV4WA.js → chunk-UEOGMRTL.js} +8 -8
- package/dist/{chunk-7UCKV4WA.js.map → chunk-UEOGMRTL.js.map} +1 -1
- package/dist/{chunk-GXABJJ4F.js → chunk-UF33ENG6.js} +3 -3
- package/dist/{chunk-GXABJJ4F.js.map → chunk-UF33ENG6.js.map} +1 -1
- package/dist/{chunk-IV7LOJZO.js → chunk-UIKGLLTU.js} +4 -4
- package/dist/{chunk-IV7LOJZO.js.map → chunk-UIKGLLTU.js.map} +1 -1
- package/dist/chunk-UUBW2NJZ.js +8 -0
- package/dist/{chunk-CBN73TLK.js.map → chunk-UUBW2NJZ.js.map} +1 -1
- package/dist/{chunk-4HNFMOYE.mjs → chunk-W3QLA5MI.mjs} +3 -3
- package/dist/{chunk-4HNFMOYE.mjs.map → chunk-W3QLA5MI.mjs.map} +1 -1
- package/dist/{chunk-WFCRXUNA.mjs → chunk-WARTV6ZP.mjs} +4 -4
- package/dist/{chunk-WFCRXUNA.mjs.map → chunk-WARTV6ZP.mjs.map} +1 -1
- package/dist/{chunk-A5FJZWGY.mjs → chunk-WHHBOYAW.mjs} +4 -4
- package/dist/{chunk-A5FJZWGY.mjs.map → chunk-WHHBOYAW.mjs.map} +1 -1
- package/dist/{chunk-DSECSIWJ.mjs → chunk-WNK2OK5G.mjs} +3 -3
- package/dist/{chunk-DSECSIWJ.mjs.map → chunk-WNK2OK5G.mjs.map} +1 -1
- package/dist/{chunk-FFQAKIV5.js → chunk-XBKNPBRB.js} +15 -15
- package/dist/{chunk-FFQAKIV5.js.map → chunk-XBKNPBRB.js.map} +1 -1
- package/dist/{chunk-VGPZ4PCZ.mjs → chunk-XFVI3SNM.mjs} +3 -3
- package/dist/{chunk-VGPZ4PCZ.mjs.map → chunk-XFVI3SNM.mjs.map} +1 -1
- package/dist/{chunk-XOSAVYAI.js → chunk-XMZQUC2J.js} +8 -8
- package/dist/{chunk-XOSAVYAI.js.map → chunk-XMZQUC2J.js.map} +1 -1
- package/dist/{chunk-XXBVF7WN.mjs → chunk-YN5WYGHK.mjs} +3 -3
- package/dist/{chunk-XXBVF7WN.mjs.map → chunk-YN5WYGHK.mjs.map} +1 -1
- package/dist/{chunk-XZCZCND2.mjs → chunk-YV2TG7JR.mjs} +3 -3
- package/dist/{chunk-XZCZCND2.mjs.map → chunk-YV2TG7JR.mjs.map} +1 -1
- package/dist/{chunk-MZZQHGXY.mjs → chunk-ZXVMP6SY.mjs} +3 -3
- package/dist/{chunk-MZZQHGXY.mjs.map → chunk-ZXVMP6SY.mjs.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/commerce/index.js +56 -56
- package/dist/commerce/index.mjs +5 -5
- package/dist/engage/index.js +10 -10
- package/dist/engage/index.mjs +7 -7
- package/dist/fleet/index.js +8 -8
- package/dist/fleet/index.mjs +4 -4
- package/dist/forms/ManagedForm.d.ts.map +1 -1
- 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/forms/tracking-session.d.ts +63 -0
- package/dist/forms/tracking-session.d.ts.map +1 -0
- package/dist/forms/tracking-session.test.d.ts +22 -0
- package/dist/forms/tracking-session.test.d.ts.map +1 -0
- package/dist/forms/useForm.d.ts +11 -0
- package/dist/forms/useForm.d.ts.map +1 -1
- package/dist/forms/useFormTracking.d.ts +6 -1
- package/dist/forms/useFormTracking.d.ts.map +1 -1
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +63 -63
- package/dist/index.mjs +9 -9
- package/dist/layout/SiteKitClientProviders.d.ts +7 -0
- package/dist/layout/SiteKitClientProviders.d.ts.map +1 -1
- package/dist/layout/SiteKitLayout.d.ts +18 -1
- package/dist/layout/SiteKitLayout.d.ts.map +1 -1
- package/dist/layout/client.d.ts +7 -0
- package/dist/layout/client.d.ts.map +1 -1
- package/dist/layout/client.js +8 -8
- package/dist/layout/client.mjs +7 -7
- package/dist/layout/index.js +11 -11
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/index.mjs +9 -9
- package/dist/layout/index.mjs.map +1 -1
- 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/version.d.ts +1 -1
- package/dist/signal/index.js +11 -11
- package/dist/signal/index.mjs +2 -2
- package/dist/sync/index.js +16 -16
- package/dist/sync/index.mjs +4 -4
- package/dist/types.d.ts +5 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/AnalyticsProvider-JTAJ27EC.js +0 -31
- package/dist/AnalyticsProvider-QD7H2FER.mjs +0 -10
- package/dist/ChatWidget-7UV4LXJR.js +0 -20
- package/dist/ChatWidget-BS6STWYV.mjs +0 -11
- package/dist/EngageWidget-AQOTCO46.js +0 -18
- package/dist/EngageWidget-M7MZXPC4.mjs +0 -9
- package/dist/ManagedForm-5BXS3XKX.js +0 -23
- package/dist/ManagedForm-BFZWPWGY.mjs +0 -14
- package/dist/SitemapSync-2X6NM3TX.mjs +0 -8
- package/dist/SitemapSync-XBYRZ7WH.js +0 -17
- package/dist/chunk-CBN73TLK.js +0 -8
- package/dist/chunk-FMAEUQEZ.js.map +0 -1
- package/dist/chunk-LS64Y25E.mjs +0 -6
- package/dist/chunk-MTXQG3TX.mjs.map +0 -1
- package/dist/chunk-PKQVV6LW.js.map +0 -1
- package/dist/chunk-S2C3QU4E.js.map +0 -1
- package/dist/chunk-TGGSXT3F.mjs.map +0 -1
- package/dist/chunk-WCRBZZRI.mjs.map +0 -1
package/dist/forms/static.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkUEOGMRTL_js = require('../chunk-UEOGMRTL.js');
|
|
4
|
+
require('../chunk-UIKGLLTU.js');
|
|
5
5
|
require('../chunk-2ACKOMAL.js');
|
|
6
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-LSW5QBW2.js');
|
|
7
7
|
require('../chunk-KHPJ3CEL.js');
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
8
|
+
require('../chunk-XBKNPBRB.js');
|
|
9
|
+
require('../chunk-QQFWEHYU.js');
|
|
10
|
+
require('../chunk-UUBW2NJZ.js');
|
|
11
11
|
require('../chunk-SNAQBZPT.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "StaticForm", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkUEOGMRTL_js.StaticForm; }
|
|
18
18
|
});
|
|
19
19
|
//# sourceMappingURL=static.js.map
|
|
20
20
|
//# sourceMappingURL=static.js.map
|
package/dist/forms/static.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { StaticForm } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { StaticForm } from '../chunk-SED7E3P5.mjs';
|
|
2
|
+
import '../chunk-CM5QUX2T.mjs';
|
|
3
3
|
import '../chunk-LB7LHVWI.mjs';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-YN5WYGHK.mjs';
|
|
5
5
|
import '../chunk-TMVKRQGJ.mjs';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-K7XOPTOE.mjs';
|
|
7
|
+
import '../chunk-BEHHWRZM.mjs';
|
|
8
|
+
import '../chunk-NPCWPOCE.mjs';
|
|
9
9
|
import '../chunk-BEXTDHO4.mjs';
|
|
10
10
|
//# sourceMappingURL=static.mjs.map
|
|
11
11
|
//# sourceMappingURL=static.mjs.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sonordev/site-kit/forms - Form tracking session registry
|
|
3
|
+
*
|
|
4
|
+
* SINGLE SOURCE OF TRUTH for a form's `form_analytics` row: one
|
|
5
|
+
* `/analytics/start` per formId per page load, shared by every tracker
|
|
6
|
+
* mounted for that form. Do NOT re-fork start logic into a caller.
|
|
7
|
+
*
|
|
8
|
+
* The lesson from the double-count bug fixed in 4.2.2: `ManagedForm` called
|
|
9
|
+
* `useForm` (which tracks) AND rendered `FormClient` (which also tracks). Two
|
|
10
|
+
* independent hook instances each minted their own session uuid and POSTed
|
|
11
|
+
* their own start, so a single page load wrote TWO `form_analytics` rows —
|
|
12
|
+
* present in every release up to and including 4.2.1. That halved every reported
|
|
13
|
+
* start -> submission conversion rate, and because each instance registered its
|
|
14
|
+
* own `beforeunload` it wrote two abandonment rows per visit as well. The
|
|
15
|
+
* signature in the data was unmistakable: paired rows where exactly one ever
|
|
16
|
+
* completed (only FormClient's instance owns submit) but BOTH abandoned.
|
|
17
|
+
*
|
|
18
|
+
* Trackers SHARE the resulting analytics row id, so whichever component owns
|
|
19
|
+
* submission can still complete the row no matter which one opened it. That
|
|
20
|
+
* sharing is what makes this safe as a guard rather than a gamble on which
|
|
21
|
+
* instance mounts first.
|
|
22
|
+
*/
|
|
23
|
+
export interface TrackingSession {
|
|
24
|
+
/** The uuid reported to the API as this form visit's session. */
|
|
25
|
+
readonly sessionId: string;
|
|
26
|
+
readonly startedAt: number;
|
|
27
|
+
/** Resolves to the analytics row id, or null when the start POST failed. */
|
|
28
|
+
readonly analyticsId: Promise<string | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Abandonment belongs to the ROW, not to a tracker. Every mounted tracker
|
|
31
|
+
* registers its own `beforeunload`; only the first beacon may fire, or one
|
|
32
|
+
* visit reports abandonment as many times as it has trackers.
|
|
33
|
+
*/
|
|
34
|
+
abandonSent: boolean;
|
|
35
|
+
/** @internal */
|
|
36
|
+
refCount: number;
|
|
37
|
+
/** @internal */
|
|
38
|
+
releaseTimer: ReturnType<typeof setTimeout> | null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* How long a session outlives its last unmount before a fresh start POST is
|
|
42
|
+
* allowed. Covers React StrictMode's dev-mode mount -> unmount -> mount and the
|
|
43
|
+
* FormEnhancer static -> interactive swap; both remount a form within the same
|
|
44
|
+
* page load and would otherwise mint a second row for one visit.
|
|
45
|
+
*/
|
|
46
|
+
export declare const SESSION_GRACE_MS = 2000;
|
|
47
|
+
/**
|
|
48
|
+
* Join the tracking session for `formId`, opening one if none is live.
|
|
49
|
+
*
|
|
50
|
+
* `start` is invoked at most once per session and must resolve to the analytics
|
|
51
|
+
* row id (or null when the POST failed). Callers MUST pair this with
|
|
52
|
+
* {@link releaseTrackingSession} on unmount.
|
|
53
|
+
*/
|
|
54
|
+
export declare function acquireTrackingSession(formId: string, start: (sessionId: string) => Promise<string | null>): TrackingSession;
|
|
55
|
+
/**
|
|
56
|
+
* Leave the tracking session. The last tracker out schedules teardown after
|
|
57
|
+
* {@link SESSION_GRACE_MS} rather than deleting immediately, so a remount
|
|
58
|
+
* within the same page load reuses the row instead of opening another.
|
|
59
|
+
*/
|
|
60
|
+
export declare function releaseTrackingSession(formId: string, session: TrackingSession): void;
|
|
61
|
+
/** Test-only: drop all live sessions so cases start from a clean registry. */
|
|
62
|
+
export declare function __resetTrackingSessions(): void;
|
|
63
|
+
//# sourceMappingURL=tracking-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking-session.d.ts","sourceRoot":"","sources":["../../src/forms/tracking-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5C;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB;IAChB,YAAY,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAA;CACnD;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAIpC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GACnD,eAAe,CAgCjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAgBrF;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regression guard: ONE `form_analytics` row per form per page load.
|
|
3
|
+
*
|
|
4
|
+
* The bug, fixed in 4.2.2: `ManagedForm` called `useForm` (which tracks) AND
|
|
5
|
+
* rendered `FormClient` (which also tracks). Two `useFormTracking`
|
|
6
|
+
* instances each minted their own session uuid and POSTed their own
|
|
7
|
+
* `/analytics/start`, so a single page load wrote TWO rows — halving every
|
|
8
|
+
* reported start -> submission conversion rate across the fleet.
|
|
9
|
+
*
|
|
10
|
+
* It went unnoticed for months because both rows look individually plausible.
|
|
11
|
+
* What gave it away in the data was the asymmetry: paired rows where exactly
|
|
12
|
+
* one ever completed (only FormClient's instance owns submit) but BOTH
|
|
13
|
+
* abandoned (each instance registered its own beforeunload) — a shape a single
|
|
14
|
+
* tracker firing twice physically cannot produce, since it has one analytics
|
|
15
|
+
* row id and one listener.
|
|
16
|
+
*
|
|
17
|
+
* These tests pin the two things that keep it fixed:
|
|
18
|
+
* 1. Concurrent trackers collapse to one session and one start POST.
|
|
19
|
+
* 2. Nothing composes two trackers over one form again.
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=tracking-session.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking-session.test.d.ts","sourceRoot":"","sources":["../../src/forms/tracking-session.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
|
package/dist/forms/useForm.d.ts
CHANGED
|
@@ -43,6 +43,17 @@ export interface UseFormOptions {
|
|
|
43
43
|
* Accepts the RAW API payload; normalized here exactly like a client fetch.
|
|
44
44
|
*/
|
|
45
45
|
initialForm?: Record<string, unknown> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Report this form's funnel to Sonor (`form_analytics`). Defaults to true —
|
|
48
|
+
* a headless `useForm` consumer renders and submits the form itself, so this
|
|
49
|
+
* hook is the only thing that can track it.
|
|
50
|
+
*
|
|
51
|
+
* `ManagedForm` passes FALSE: it delegates rendering, step navigation and
|
|
52
|
+
* submission to `FormClient`, which tracks that path. Exactly one component
|
|
53
|
+
* may own a form's tracking — two owners was the double-count bug fixed
|
|
54
|
+
* in 4.2.2.
|
|
55
|
+
*/
|
|
56
|
+
trackAnalytics?: boolean;
|
|
46
57
|
}
|
|
47
58
|
export interface UseFormReturn {
|
|
48
59
|
/** Form configuration (null while loading) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/forms/useForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAOhB,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAA;IAChD,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/forms/useForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @sonordev/site-kit/forms - Form Tracking Hook
|
|
3
3
|
*
|
|
4
|
-
* Tracks form analytics including step progress and abandonment
|
|
4
|
+
* Tracks form analytics including step progress and abandonment.
|
|
5
|
+
*
|
|
6
|
+
* The `form_analytics` row is owned by the shared session registry, not by this
|
|
7
|
+
* hook — see `tracking-session.ts`. Every tracker mounted for the same form
|
|
8
|
+
* joins ONE session and shares its analytics row id, so composing two trackers
|
|
9
|
+
* over a single form (as ManagedForm once did) can no longer double-count.
|
|
5
10
|
*/
|
|
6
11
|
interface UseFormTrackingOptions {
|
|
7
12
|
formId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormTracking.d.ts","sourceRoot":"","sources":["../../src/forms/useFormTracking.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useFormTracking.d.ts","sourceRoot":"","sources":["../../src/forms/useFormTracking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,UAAU,sBAAsB;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,UAAU,kBAAkB;IAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,UAAU,EACV,OAAc,EACd,KAAa,GACd,EAAE,sBAAsB,GAAG,kBAAkB,CAuP7C"}
|
package/dist/images/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHYRKVST7_js = require('../chunk-HYRKVST7.js');
|
|
4
4
|
var chunkGCPPXUAI_js = require('../chunk-GCPPXUAI.js');
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
5
|
+
require('../chunk-XBKNPBRB.js');
|
|
6
|
+
require('../chunk-QQFWEHYU.js');
|
|
7
|
+
require('../chunk-UUBW2NJZ.js');
|
|
8
8
|
require('../chunk-SNAQBZPT.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "ManagedImage", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkHYRKVST7_js.ManagedImage; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "assignImageToSlot", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkHYRKVST7_js.assignImageToSlot; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "clearImageSlot", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkHYRKVST7_js.clearImageSlot; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "fetchManagedImage", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkHYRKVST7_js.fetchManagedImage; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "fetchManagedImages", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkHYRKVST7_js.fetchManagedImages; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "listImageFiles", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkHYRKVST7_js.listImageFiles; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "uploadImage", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkHYRKVST7_js.uploadImage; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "ManagedFavicon", {
|
|
41
41
|
enumerable: true,
|
package/dist/images/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-
|
|
1
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-WNK2OK5G.mjs';
|
|
2
2
|
export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-CU6OGBKK.mjs';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-K7XOPTOE.mjs';
|
|
4
|
+
import '../chunk-BEHHWRZM.mjs';
|
|
5
|
+
import '../chunk-NPCWPOCE.mjs';
|
|
6
6
|
import '../chunk-BEXTDHO4.mjs';
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
|
8
8
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.js
CHANGED
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
var chunkJA77WXRE_js = require('./chunk-JA77WXRE.js');
|
|
4
4
|
var chunkCIM5W3UO_js = require('./chunk-CIM5W3UO.js');
|
|
5
5
|
var chunkGC3BC6HQ_js = require('./chunk-GC3BC6HQ.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkHYRKVST7_js = require('./chunk-HYRKVST7.js');
|
|
7
7
|
require('./chunk-GCPPXUAI.js');
|
|
8
8
|
var chunkEHJANA5C_js = require('./chunk-EHJANA5C.js');
|
|
9
9
|
var chunkGSRT66PA_js = require('./chunk-GSRT66PA.js');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var chunk7YVFFQWH_js = require('./chunk-7YVFFQWH.js');
|
|
11
|
+
var chunkF46DCSUI_js = require('./chunk-F46DCSUI.js');
|
|
12
12
|
require('./chunk-JP5WGL75.js');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var chunkXMZQUC2J_js = require('./chunk-XMZQUC2J.js');
|
|
14
|
+
var chunkPLY5AP72_js = require('./chunk-PLY5AP72.js');
|
|
15
15
|
require('./chunk-EDZWNCSE.js');
|
|
16
|
-
require('./chunk-
|
|
16
|
+
require('./chunk-BUZSBUYJ.js');
|
|
17
17
|
require('./chunk-HMFFAUCD.js');
|
|
18
18
|
require('./chunk-RC4WWQXR.js');
|
|
19
19
|
require('./chunk-VJMPIRSD.js');
|
|
20
|
-
var
|
|
21
|
-
require('./chunk-
|
|
22
|
-
require('./chunk-
|
|
20
|
+
var chunkXBKNPBRB_js = require('./chunk-XBKNPBRB.js');
|
|
21
|
+
require('./chunk-QQFWEHYU.js');
|
|
22
|
+
require('./chunk-UUBW2NJZ.js');
|
|
23
23
|
require('./chunk-SNAQBZPT.js');
|
|
24
24
|
var react = require('react');
|
|
25
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -37,7 +37,7 @@ async function apiGet(endpoint) {
|
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
39
|
try {
|
|
40
|
-
const response = await
|
|
40
|
+
const response = await chunkXBKNPBRB_js.sonorFetch(
|
|
41
41
|
`${apiUrl}${endpoint}`,
|
|
42
42
|
{ method: "GET" },
|
|
43
43
|
{ apiKey, retries: 0 }
|
|
@@ -190,31 +190,31 @@ Object.defineProperty(exports, "handleManagedRedirects", {
|
|
|
190
190
|
});
|
|
191
191
|
Object.defineProperty(exports, "ManagedImage", {
|
|
192
192
|
enumerable: true,
|
|
193
|
-
get: function () { return
|
|
193
|
+
get: function () { return chunkHYRKVST7_js.ManagedImage; }
|
|
194
194
|
});
|
|
195
195
|
Object.defineProperty(exports, "assignImageToSlot", {
|
|
196
196
|
enumerable: true,
|
|
197
|
-
get: function () { return
|
|
197
|
+
get: function () { return chunkHYRKVST7_js.assignImageToSlot; }
|
|
198
198
|
});
|
|
199
199
|
Object.defineProperty(exports, "clearImageSlot", {
|
|
200
200
|
enumerable: true,
|
|
201
|
-
get: function () { return
|
|
201
|
+
get: function () { return chunkHYRKVST7_js.clearImageSlot; }
|
|
202
202
|
});
|
|
203
203
|
Object.defineProperty(exports, "fetchManagedImage", {
|
|
204
204
|
enumerable: true,
|
|
205
|
-
get: function () { return
|
|
205
|
+
get: function () { return chunkHYRKVST7_js.fetchManagedImage; }
|
|
206
206
|
});
|
|
207
207
|
Object.defineProperty(exports, "fetchManagedImages", {
|
|
208
208
|
enumerable: true,
|
|
209
|
-
get: function () { return
|
|
209
|
+
get: function () { return chunkHYRKVST7_js.fetchManagedImages; }
|
|
210
210
|
});
|
|
211
211
|
Object.defineProperty(exports, "listImageFiles", {
|
|
212
212
|
enumerable: true,
|
|
213
|
-
get: function () { return
|
|
213
|
+
get: function () { return chunkHYRKVST7_js.listImageFiles; }
|
|
214
214
|
});
|
|
215
215
|
Object.defineProperty(exports, "uploadImage", {
|
|
216
216
|
enumerable: true,
|
|
217
|
-
get: function () { return
|
|
217
|
+
get: function () { return chunkHYRKVST7_js.uploadImage; }
|
|
218
218
|
});
|
|
219
219
|
Object.defineProperty(exports, "TestimonialSection", {
|
|
220
220
|
enumerable: true,
|
|
@@ -230,187 +230,187 @@ Object.defineProperty(exports, "fetchReviews", {
|
|
|
230
230
|
});
|
|
231
231
|
Object.defineProperty(exports, "CalendarView", {
|
|
232
232
|
enumerable: true,
|
|
233
|
-
get: function () { return
|
|
233
|
+
get: function () { return chunk7YVFFQWH_js.CalendarView; }
|
|
234
234
|
});
|
|
235
235
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
236
236
|
enumerable: true,
|
|
237
|
-
get: function () { return
|
|
237
|
+
get: function () { return chunk7YVFFQWH_js.CheckoutForm; }
|
|
238
238
|
});
|
|
239
239
|
Object.defineProperty(exports, "EventCalendar", {
|
|
240
240
|
enumerable: true,
|
|
241
|
-
get: function () { return
|
|
241
|
+
get: function () { return chunk7YVFFQWH_js.EventCalendar; }
|
|
242
242
|
});
|
|
243
243
|
Object.defineProperty(exports, "EventCheckout", {
|
|
244
244
|
enumerable: true,
|
|
245
|
-
get: function () { return
|
|
245
|
+
get: function () { return chunk7YVFFQWH_js.EventCheckout; }
|
|
246
246
|
});
|
|
247
247
|
Object.defineProperty(exports, "EventEmbed", {
|
|
248
248
|
enumerable: true,
|
|
249
|
-
get: function () { return
|
|
249
|
+
get: function () { return chunk7YVFFQWH_js.EventEmbed; }
|
|
250
250
|
});
|
|
251
251
|
Object.defineProperty(exports, "EventModal", {
|
|
252
252
|
enumerable: true,
|
|
253
|
-
get: function () { return
|
|
253
|
+
get: function () { return chunk7YVFFQWH_js.EventModal; }
|
|
254
254
|
});
|
|
255
255
|
Object.defineProperty(exports, "EventTile", {
|
|
256
256
|
enumerable: true,
|
|
257
|
-
get: function () { return
|
|
257
|
+
get: function () { return chunk7YVFFQWH_js.EventTile; }
|
|
258
258
|
});
|
|
259
259
|
Object.defineProperty(exports, "OfferingCard", {
|
|
260
260
|
enumerable: true,
|
|
261
|
-
get: function () { return
|
|
261
|
+
get: function () { return chunk7YVFFQWH_js.OfferingCard; }
|
|
262
262
|
});
|
|
263
263
|
Object.defineProperty(exports, "OfferingList", {
|
|
264
264
|
enumerable: true,
|
|
265
|
-
get: function () { return
|
|
265
|
+
get: function () { return chunk7YVFFQWH_js.OfferingList; }
|
|
266
266
|
});
|
|
267
267
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
268
268
|
enumerable: true,
|
|
269
|
-
get: function () { return
|
|
269
|
+
get: function () { return chunk7YVFFQWH_js.ProductEmbed; }
|
|
270
270
|
});
|
|
271
271
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
272
272
|
enumerable: true,
|
|
273
|
-
get: function () { return
|
|
273
|
+
get: function () { return chunk7YVFFQWH_js.RegistrationForm; }
|
|
274
274
|
});
|
|
275
275
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
276
276
|
enumerable: true,
|
|
277
|
-
get: function () { return
|
|
277
|
+
get: function () { return chunk7YVFFQWH_js.UpcomingEvents; }
|
|
278
278
|
});
|
|
279
279
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
280
280
|
enumerable: true,
|
|
281
|
-
get: function () { return
|
|
281
|
+
get: function () { return chunk7YVFFQWH_js.createCheckoutSession; }
|
|
282
282
|
});
|
|
283
283
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
284
284
|
enumerable: true,
|
|
285
|
-
get: function () { return
|
|
285
|
+
get: function () { return chunk7YVFFQWH_js.fetchNextEvent; }
|
|
286
286
|
});
|
|
287
287
|
Object.defineProperty(exports, "fetchOffering", {
|
|
288
288
|
enumerable: true,
|
|
289
|
-
get: function () { return
|
|
289
|
+
get: function () { return chunk7YVFFQWH_js.fetchOffering; }
|
|
290
290
|
});
|
|
291
291
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
292
292
|
enumerable: true,
|
|
293
|
-
get: function () { return
|
|
293
|
+
get: function () { return chunk7YVFFQWH_js.fetchOfferings; }
|
|
294
294
|
});
|
|
295
295
|
Object.defineProperty(exports, "fetchProducts", {
|
|
296
296
|
enumerable: true,
|
|
297
|
-
get: function () { return
|
|
297
|
+
get: function () { return chunk7YVFFQWH_js.fetchProducts; }
|
|
298
298
|
});
|
|
299
299
|
Object.defineProperty(exports, "fetchServices", {
|
|
300
300
|
enumerable: true,
|
|
301
|
-
get: function () { return
|
|
301
|
+
get: function () { return chunk7YVFFQWH_js.fetchServices; }
|
|
302
302
|
});
|
|
303
303
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
304
304
|
enumerable: true,
|
|
305
|
-
get: function () { return
|
|
305
|
+
get: function () { return chunk7YVFFQWH_js.fetchUpcomingEvents; }
|
|
306
306
|
});
|
|
307
307
|
Object.defineProperty(exports, "formatDate", {
|
|
308
308
|
enumerable: true,
|
|
309
|
-
get: function () { return
|
|
309
|
+
get: function () { return chunk7YVFFQWH_js.formatDate; }
|
|
310
310
|
});
|
|
311
311
|
Object.defineProperty(exports, "formatDateTime", {
|
|
312
312
|
enumerable: true,
|
|
313
|
-
get: function () { return
|
|
313
|
+
get: function () { return chunk7YVFFQWH_js.formatDateTime; }
|
|
314
314
|
});
|
|
315
315
|
Object.defineProperty(exports, "formatPrice", {
|
|
316
316
|
enumerable: true,
|
|
317
|
-
get: function () { return
|
|
317
|
+
get: function () { return chunk7YVFFQWH_js.formatPrice; }
|
|
318
318
|
});
|
|
319
319
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
320
320
|
enumerable: true,
|
|
321
|
-
get: function () { return
|
|
321
|
+
get: function () { return chunk7YVFFQWH_js.getOfferingUrl; }
|
|
322
322
|
});
|
|
323
323
|
Object.defineProperty(exports, "registerForEvent", {
|
|
324
324
|
enumerable: true,
|
|
325
|
-
get: function () { return
|
|
325
|
+
get: function () { return chunk7YVFFQWH_js.registerForEvent; }
|
|
326
326
|
});
|
|
327
327
|
Object.defineProperty(exports, "useEventModal", {
|
|
328
328
|
enumerable: true,
|
|
329
|
-
get: function () { return
|
|
329
|
+
get: function () { return chunk7YVFFQWH_js.useEventModal; }
|
|
330
330
|
});
|
|
331
331
|
Object.defineProperty(exports, "BookingWidget", {
|
|
332
332
|
enumerable: true,
|
|
333
|
-
get: function () { return
|
|
333
|
+
get: function () { return chunkF46DCSUI_js.BookingWidget; }
|
|
334
334
|
});
|
|
335
335
|
Object.defineProperty(exports, "createBooking", {
|
|
336
336
|
enumerable: true,
|
|
337
|
-
get: function () { return
|
|
337
|
+
get: function () { return chunkF46DCSUI_js.createBooking; }
|
|
338
338
|
});
|
|
339
339
|
Object.defineProperty(exports, "createSlotHold", {
|
|
340
340
|
enumerable: true,
|
|
341
|
-
get: function () { return
|
|
341
|
+
get: function () { return chunkF46DCSUI_js.createSlotHold; }
|
|
342
342
|
});
|
|
343
343
|
Object.defineProperty(exports, "detectTimezone", {
|
|
344
344
|
enumerable: true,
|
|
345
|
-
get: function () { return
|
|
345
|
+
get: function () { return chunkF46DCSUI_js.detectTimezone; }
|
|
346
346
|
});
|
|
347
347
|
Object.defineProperty(exports, "fetchAvailability", {
|
|
348
348
|
enumerable: true,
|
|
349
|
-
get: function () { return
|
|
349
|
+
get: function () { return chunkF46DCSUI_js.fetchAvailability; }
|
|
350
350
|
});
|
|
351
351
|
Object.defineProperty(exports, "fetchAvailableDates", {
|
|
352
352
|
enumerable: true,
|
|
353
|
-
get: function () { return
|
|
353
|
+
get: function () { return chunkF46DCSUI_js.fetchAvailableDates; }
|
|
354
354
|
});
|
|
355
355
|
Object.defineProperty(exports, "fetchBookingTypeDetails", {
|
|
356
356
|
enumerable: true,
|
|
357
|
-
get: function () { return
|
|
357
|
+
get: function () { return chunkF46DCSUI_js.fetchBookingTypeDetails; }
|
|
358
358
|
});
|
|
359
359
|
Object.defineProperty(exports, "fetchBookingTypes", {
|
|
360
360
|
enumerable: true,
|
|
361
|
-
get: function () { return
|
|
361
|
+
get: function () { return chunkF46DCSUI_js.fetchBookingTypes; }
|
|
362
362
|
});
|
|
363
363
|
Object.defineProperty(exports, "formatBookingDate", {
|
|
364
364
|
enumerable: true,
|
|
365
|
-
get: function () { return
|
|
365
|
+
get: function () { return chunkF46DCSUI_js.formatDate; }
|
|
366
366
|
});
|
|
367
367
|
Object.defineProperty(exports, "formatBookingTime", {
|
|
368
368
|
enumerable: true,
|
|
369
|
-
get: function () { return
|
|
369
|
+
get: function () { return chunkF46DCSUI_js.formatTime; }
|
|
370
370
|
});
|
|
371
371
|
Object.defineProperty(exports, "formatDuration", {
|
|
372
372
|
enumerable: true,
|
|
373
|
-
get: function () { return
|
|
373
|
+
get: function () { return chunkF46DCSUI_js.formatDuration; }
|
|
374
374
|
});
|
|
375
375
|
Object.defineProperty(exports, "releaseSlotHold", {
|
|
376
376
|
enumerable: true,
|
|
377
|
-
get: function () { return
|
|
377
|
+
get: function () { return chunkF46DCSUI_js.releaseSlotHold; }
|
|
378
378
|
});
|
|
379
379
|
Object.defineProperty(exports, "ExperimentConversion", {
|
|
380
380
|
enumerable: true,
|
|
381
|
-
get: function () { return
|
|
381
|
+
get: function () { return chunkXMZQUC2J_js.ExperimentConversion; }
|
|
382
382
|
});
|
|
383
383
|
Object.defineProperty(exports, "SignalExperiment", {
|
|
384
384
|
enumerable: true,
|
|
385
|
-
get: function () { return
|
|
385
|
+
get: function () { return chunkXMZQUC2J_js.SignalExperiment; }
|
|
386
386
|
});
|
|
387
387
|
Object.defineProperty(exports, "useExperimentVariant", {
|
|
388
388
|
enumerable: true,
|
|
389
|
-
get: function () { return
|
|
389
|
+
get: function () { return chunkXMZQUC2J_js.useExperimentVariant; }
|
|
390
390
|
});
|
|
391
391
|
Object.defineProperty(exports, "SignalBridge", {
|
|
392
392
|
enumerable: true,
|
|
393
|
-
get: function () { return
|
|
393
|
+
get: function () { return chunkPLY5AP72_js.SignalBridge; }
|
|
394
394
|
});
|
|
395
395
|
Object.defineProperty(exports, "useSignal", {
|
|
396
396
|
enumerable: true,
|
|
397
|
-
get: function () { return
|
|
397
|
+
get: function () { return chunkPLY5AP72_js.useSignal; }
|
|
398
398
|
});
|
|
399
399
|
Object.defineProperty(exports, "useSignalConfig", {
|
|
400
400
|
enumerable: true,
|
|
401
|
-
get: function () { return
|
|
401
|
+
get: function () { return chunkPLY5AP72_js.useSignalConfig; }
|
|
402
402
|
});
|
|
403
403
|
Object.defineProperty(exports, "useSignalEvent", {
|
|
404
404
|
enumerable: true,
|
|
405
|
-
get: function () { return
|
|
405
|
+
get: function () { return chunkPLY5AP72_js.useSignalEvent; }
|
|
406
406
|
});
|
|
407
407
|
Object.defineProperty(exports, "useSignalExperiment", {
|
|
408
408
|
enumerable: true,
|
|
409
|
-
get: function () { return
|
|
409
|
+
get: function () { return chunkPLY5AP72_js.useSignalExperiment; }
|
|
410
410
|
});
|
|
411
411
|
Object.defineProperty(exports, "useSignalOutcome", {
|
|
412
412
|
enumerable: true,
|
|
413
|
-
get: function () { return
|
|
413
|
+
get: function () { return chunkPLY5AP72_js.useSignalOutcome; }
|
|
414
414
|
});
|
|
415
415
|
exports.AffiliateCard = AffiliateCard;
|
|
416
416
|
exports.AffiliatesWidget = AffiliatesWidget;
|
package/dist/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
export { LandingPage } from './chunk-QZF5NTXQ.mjs';
|
|
2
2
|
export { landingPageMetadata } from './chunk-AAZNH3MA.mjs';
|
|
3
3
|
export { clearRedirectCache, fetchRedirectRules, generateNextRedirects, handleManagedRedirects } from './chunk-KRARQ2ZF.mjs';
|
|
4
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-
|
|
4
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-WNK2OK5G.mjs';
|
|
5
5
|
import './chunk-CU6OGBKK.mjs';
|
|
6
6
|
export { TestimonialSection } from './chunk-VIGRGMWR.mjs';
|
|
7
7
|
export { fetchReviewStats, fetchReviews } from './chunk-MU7DTEUF.mjs';
|
|
8
|
-
export { CalendarView, CheckoutForm, EventCalendar, EventCheckout, EventEmbed, EventModal, EventTile, OfferingCard, OfferingList, ProductEmbed, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchNextEvent, fetchOffering, fetchOfferings, fetchProducts, fetchServices, fetchUpcomingEvents, formatDate, formatDateTime, formatPrice, getOfferingUrl, registerForEvent, useEventModal } from './chunk-
|
|
9
|
-
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-
|
|
8
|
+
export { CalendarView, CheckoutForm, EventCalendar, EventCheckout, EventEmbed, EventModal, EventTile, OfferingCard, OfferingList, ProductEmbed, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchNextEvent, fetchOffering, fetchOfferings, fetchProducts, fetchServices, fetchUpcomingEvents, formatDate, formatDateTime, formatPrice, getOfferingUrl, registerForEvent, useEventModal } from './chunk-7723NZQW.mjs';
|
|
9
|
+
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-MOKM6STG.mjs';
|
|
10
10
|
import './chunk-B22WSN4L.mjs';
|
|
11
|
-
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-
|
|
12
|
-
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-
|
|
11
|
+
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-4E7NFYL5.mjs';
|
|
12
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-YV2TG7JR.mjs';
|
|
13
13
|
import './chunk-26JXNW7B.mjs';
|
|
14
|
-
import './chunk-
|
|
14
|
+
import './chunk-W3QLA5MI.mjs';
|
|
15
15
|
import './chunk-3DPXOZAU.mjs';
|
|
16
16
|
import './chunk-ZZQAGCSI.mjs';
|
|
17
17
|
import './chunk-6EDVCUAG.mjs';
|
|
18
|
-
import { sonorFetch } from './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
18
|
+
import { sonorFetch } from './chunk-K7XOPTOE.mjs';
|
|
19
|
+
import './chunk-BEHHWRZM.mjs';
|
|
20
|
+
import './chunk-NPCWPOCE.mjs';
|
|
21
21
|
import './chunk-BEXTDHO4.mjs';
|
|
22
22
|
import { useState, useEffect } from 'react';
|
|
23
23
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -30,6 +30,13 @@ export interface SiteKitClientProvidersProps {
|
|
|
30
30
|
analytics?: boolean | AnalyticsConfig;
|
|
31
31
|
engage?: boolean | EngageConfig;
|
|
32
32
|
signal?: boolean | SignalConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Runtime SitemapSync from the visitor's browser. Default FALSE — sitemap
|
|
35
|
+
* registration belongs to build time and to sonor-api's nightly reconciler,
|
|
36
|
+
* not to whoever happens to load the page. See SiteKitLayout for the full
|
|
37
|
+
* reasoning; in short, its guards live in session/localStorage, so every new
|
|
38
|
+
* visitor missed them and re-POSTed the whole sitemap.
|
|
39
|
+
*/
|
|
33
40
|
sitemapSync?: boolean;
|
|
34
41
|
/**
|
|
35
42
|
* Fleet heartbeat — reports kit version + active modules to Sonor once per
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteKitClientProviders.d.ts","sourceRoot":"","sources":["../../src/layout/SiteKitClientProviders.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAmBtF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA4B1E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAgB,EAChB,MAAa,EACb,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"SiteKitClientProviders.d.ts","sourceRoot":"","sources":["../../src/layout/SiteKitClientProviders.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAmBtF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA4B1E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAgB,EAChB,MAAa,EACb,MAAc,EACd,WAAmB,EACnB,KAAY,EACZ,KAAY,EACZ,KAAa,EACb,cAAc,GACf,EAAE,2BAA2B,qBAuJ7B"}
|