@sonordev/site-kit 3.6.1 → 3.6.3
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-X243YBPQ.mjs +10 -0
- package/dist/{AnalyticsProvider-QW52JAUC.mjs.map → AnalyticsProvider-X243YBPQ.mjs.map} +1 -1
- package/dist/AnalyticsProvider-ZJHOU5HI.js +31 -0
- package/dist/{AnalyticsProvider-KZB62VRO.js.map → AnalyticsProvider-ZJHOU5HI.js.map} +1 -1
- package/dist/ChatWidget-L5E73JUY.mjs +10 -0
- package/dist/{ChatWidget-I2VMNZX5.mjs.map → ChatWidget-L5E73JUY.mjs.map} +1 -1
- package/dist/ChatWidget-NRQBBRLK.js +19 -0
- package/dist/{ChatWidget-RPI4XQLQ.js.map → ChatWidget-NRQBBRLK.js.map} +1 -1
- package/dist/EngageWidget-HLBJE4ZB.js +18 -0
- package/dist/{EngageWidget-JMLMGLQO.js.map → EngageWidget-HLBJE4ZB.js.map} +1 -1
- package/dist/EngageWidget-X7UIQUPC.mjs +9 -0
- package/dist/{EngageWidget-Z3JRH3VQ.mjs.map → EngageWidget-X7UIQUPC.mjs.map} +1 -1
- package/dist/{SignalCore-VJPTNFM2.js → SignalCore-CWDC45EQ.js} +11 -11
- package/dist/{SignalCore-VJPTNFM2.js.map → SignalCore-CWDC45EQ.js.map} +1 -1
- package/dist/{SignalCore-PHT4J6B6.mjs → SignalCore-G6MAO72R.mjs} +5 -5
- package/dist/{SignalCore-PHT4J6B6.mjs.map → SignalCore-G6MAO72R.mjs.map} +1 -1
- package/dist/SitemapSync-FWWORZOF.js +17 -0
- package/dist/{SitemapSync-EIT7DPHB.js.map → SitemapSync-FWWORZOF.js.map} +1 -1
- package/dist/SitemapSync-QAMSDAF7.mjs +8 -0
- package/dist/{SitemapSync-APZY32SB.mjs.map → SitemapSync-QAMSDAF7.mjs.map} +1 -1
- package/dist/analytics/index.js +12 -12
- package/dist/analytics/index.mjs +5 -5
- package/dist/{chunk-5ATLDT36.mjs → chunk-2O2PZII5.mjs} +4 -4
- package/dist/{chunk-5ATLDT36.mjs.map → chunk-2O2PZII5.mjs.map} +1 -1
- package/dist/{chunk-DCD6VPOO.js → chunk-5OJ36D7M.js} +14 -14
- package/dist/{chunk-DCD6VPOO.js.map → chunk-5OJ36D7M.js.map} +1 -1
- package/dist/{chunk-UQAG7WXA.mjs → chunk-6B3DEFHU.mjs} +6 -4
- package/dist/{chunk-OUHCQEFZ.js.map → chunk-6B3DEFHU.mjs.map} +1 -1
- package/dist/chunk-6ZDXUCAX.js +8 -0
- package/dist/{chunk-YAFD3N2M.js.map → chunk-6ZDXUCAX.js.map} +1 -1
- package/dist/{chunk-RPSMRZTG.js → chunk-7KIXGDUP.js} +14 -14
- package/dist/{chunk-RPSMRZTG.js.map → chunk-7KIXGDUP.js.map} +1 -1
- package/dist/{chunk-4DLCVLI2.mjs → chunk-BS3P5PTY.mjs} +3 -3
- package/dist/{chunk-4DLCVLI2.mjs.map → chunk-BS3P5PTY.mjs.map} +1 -1
- package/dist/{chunk-G7GDB4BO.js → chunk-C7EVU7V7.js} +4 -4
- package/dist/{chunk-G7GDB4BO.js.map → chunk-C7EVU7V7.js.map} +1 -1
- package/dist/{chunk-DUPINYEY.js → chunk-D74AZ6TM.js} +9 -9
- package/dist/{chunk-DUPINYEY.js.map → chunk-D74AZ6TM.js.map} +1 -1
- package/dist/{chunk-5Q2GTBBO.js → chunk-DCSNIU2V.js} +6 -6
- package/dist/{chunk-5Q2GTBBO.js.map → chunk-DCSNIU2V.js.map} +1 -1
- package/dist/{chunk-U2KSUWKV.mjs → chunk-DEVPKGCD.mjs} +3 -3
- package/dist/{chunk-U2KSUWKV.mjs.map → chunk-DEVPKGCD.mjs.map} +1 -1
- package/dist/{chunk-OWFNICLM.mjs → chunk-EDQXJFH2.mjs} +3 -3
- package/dist/{chunk-OWFNICLM.mjs.map → chunk-EDQXJFH2.mjs.map} +1 -1
- package/dist/{chunk-UZEC5GJW.mjs → chunk-EY2236OY.mjs} +3 -3
- package/dist/{chunk-UZEC5GJW.mjs.map → chunk-EY2236OY.mjs.map} +1 -1
- package/dist/{chunk-5JEZUNNA.mjs → chunk-FJTER53S.mjs} +4 -4
- package/dist/{chunk-5JEZUNNA.mjs.map → chunk-FJTER53S.mjs.map} +1 -1
- package/dist/{chunk-CMMAOU43.mjs → chunk-FK342VJY.mjs} +4 -4
- package/dist/{chunk-CMMAOU43.mjs.map → chunk-FK342VJY.mjs.map} +1 -1
- package/dist/{chunk-5GQZKWVL.js → chunk-FYCFUYPQ.js} +3 -3
- package/dist/{chunk-5GQZKWVL.js.map → chunk-FYCFUYPQ.js.map} +1 -1
- package/dist/{chunk-FCCYXKGQ.js → chunk-GR4YKNFX.js} +13 -13
- package/dist/{chunk-FCCYXKGQ.js.map → chunk-GR4YKNFX.js.map} +1 -1
- package/dist/{chunk-H4EJVSP6.mjs → chunk-IJR3ATI5.mjs} +4 -4
- package/dist/{chunk-H4EJVSP6.mjs.map → chunk-IJR3ATI5.mjs.map} +1 -1
- package/dist/chunk-JYM4I57K.mjs +6 -0
- package/dist/{chunk-F23IBAAW.mjs.map → chunk-JYM4I57K.mjs.map} +1 -1
- package/dist/{chunk-76C4MEK7.mjs → chunk-KEGWCBLW.mjs} +3 -3
- package/dist/{chunk-76C4MEK7.mjs.map → chunk-KEGWCBLW.mjs.map} +1 -1
- package/dist/{chunk-PBS5LUTH.mjs → chunk-KYYSS5L7.mjs} +3 -3
- package/dist/{chunk-PBS5LUTH.mjs.map → chunk-KYYSS5L7.mjs.map} +1 -1
- package/dist/{chunk-6IFYPRRN.mjs → chunk-LSZ6CT6U.mjs} +3 -3
- package/dist/{chunk-6IFYPRRN.mjs.map → chunk-LSZ6CT6U.mjs.map} +1 -1
- package/dist/{chunk-IJ7RAV6T.js → chunk-O3WBS4VY.js} +9 -9
- package/dist/{chunk-IJ7RAV6T.js.map → chunk-O3WBS4VY.js.map} +1 -1
- package/dist/{chunk-DVGGOWXD.js → chunk-O4ILWMIB.js} +8 -8
- package/dist/{chunk-DVGGOWXD.js.map → chunk-O4ILWMIB.js.map} +1 -1
- package/dist/{chunk-OUHCQEFZ.js → chunk-OYT6SFLM.js} +8 -6
- package/dist/chunk-OYT6SFLM.js.map +1 -0
- package/dist/{chunk-JZL6VD5I.mjs → chunk-PHLJDLRA.mjs} +3 -3
- package/dist/{chunk-JZL6VD5I.mjs.map → chunk-PHLJDLRA.mjs.map} +1 -1
- package/dist/{chunk-T26I3F5V.mjs → chunk-PUH6YPZY.mjs} +11 -10
- package/dist/chunk-PUH6YPZY.mjs.map +1 -0
- package/dist/{chunk-CTK2KIUL.js → chunk-PVRE3PYC.js} +4 -4
- package/dist/{chunk-CTK2KIUL.js.map → chunk-PVRE3PYC.js.map} +1 -1
- package/dist/{chunk-DCKWZGE4.js → chunk-QR7CMR3W.js} +15 -15
- package/dist/{chunk-DCKWZGE4.js.map → chunk-QR7CMR3W.js.map} +1 -1
- package/dist/{chunk-6FKCXAZ2.js → chunk-T3ARA52J.js} +4 -4
- package/dist/{chunk-6FKCXAZ2.js.map → chunk-T3ARA52J.js.map} +1 -1
- package/dist/{chunk-XEEGFMIY.js → chunk-TYYTM4WC.js} +14 -13
- package/dist/chunk-TYYTM4WC.js.map +1 -0
- package/dist/{chunk-JOOLIHFA.mjs → chunk-VOYRWPE3.mjs} +3 -3
- package/dist/{chunk-JOOLIHFA.mjs.map → chunk-VOYRWPE3.mjs.map} +1 -1
- package/dist/{chunk-NHAWEWSI.js → chunk-VZF3NFCY.js} +7 -7
- package/dist/{chunk-NHAWEWSI.js.map → chunk-VZF3NFCY.js.map} +1 -1
- package/dist/{chunk-DKFI4RSH.mjs → chunk-WQXSILFH.mjs} +4 -4
- package/dist/{chunk-DKFI4RSH.mjs.map → chunk-WQXSILFH.mjs.map} +1 -1
- package/dist/{chunk-VTNDPGDP.js → chunk-XHJXIAAW.js} +5 -5
- package/dist/{chunk-VTNDPGDP.js.map → chunk-XHJXIAAW.js.map} +1 -1
- package/dist/{chunk-JGRWGBXG.mjs → chunk-XS2COTTD.mjs} +3 -3
- package/dist/{chunk-JGRWGBXG.mjs.map → chunk-XS2COTTD.mjs.map} +1 -1
- package/dist/{chunk-FIBGXNP4.js → chunk-ZQ2JTDPC.js} +15 -15
- package/dist/{chunk-FIBGXNP4.js.map → chunk-ZQ2JTDPC.js.map} +1 -1
- package/dist/cli/index.js +2 -2
- 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 +51 -51
- package/dist/commerce/index.mjs +6 -6
- package/dist/engage/index.js +9 -9
- package/dist/engage/index.mjs +6 -6
- package/dist/fleet/index.js +8 -8
- package/dist/fleet/index.mjs +4 -4
- package/dist/forms/index.js +13 -13
- package/dist/forms/index.mjs +5 -5
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +64 -64
- package/dist/index.mjs +10 -10
- package/dist/layout/client.d.mts +3 -1
- package/dist/layout/client.d.ts +3 -1
- package/dist/layout/client.js +8 -8
- package/dist/layout/client.mjs +7 -7
- package/dist/layout/index.js +11 -10
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/index.mjs +9 -8
- package/dist/layout/index.mjs.map +1 -1
- package/dist/maps/index.d.mts +4 -1
- package/dist/maps/index.d.ts +4 -1
- package/dist/maps/index.js +12 -10
- package/dist/maps/index.js.map +1 -1
- package/dist/maps/index.mjs +10 -8
- package/dist/maps/index.mjs.map +1 -1
- 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/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/package.json +1 -1
- package/dist/AnalyticsProvider-KZB62VRO.js +0 -31
- package/dist/AnalyticsProvider-QW52JAUC.mjs +0 -10
- package/dist/ChatWidget-I2VMNZX5.mjs +0 -10
- package/dist/ChatWidget-RPI4XQLQ.js +0 -19
- package/dist/EngageWidget-JMLMGLQO.js +0 -18
- package/dist/EngageWidget-Z3JRH3VQ.mjs +0 -9
- package/dist/SitemapSync-APZY32SB.mjs +0 -8
- package/dist/SitemapSync-EIT7DPHB.js +0 -17
- package/dist/chunk-F23IBAAW.mjs +0 -6
- package/dist/chunk-T26I3F5V.mjs.map +0 -1
- package/dist/chunk-UQAG7WXA.mjs.map +0 -1
- package/dist/chunk-XEEGFMIY.js.map +0 -1
- package/dist/chunk-YAFD3N2M.js +0 -8
package/dist/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkEU2UGO25_js = require('./chunk-EU2UGO25.js');
|
|
4
|
-
var
|
|
4
|
+
var chunkO3WBS4VY_js = require('./chunk-O3WBS4VY.js');
|
|
5
5
|
var chunkW6K7MQCC_js = require('./chunk-W6K7MQCC.js');
|
|
6
6
|
require('./chunk-JP5WGL75.js');
|
|
7
|
-
var
|
|
7
|
+
var chunk5OJ36D7M_js = require('./chunk-5OJ36D7M.js');
|
|
8
8
|
require('./chunk-GCPPXUAI.js');
|
|
9
9
|
var chunkEHJANA5C_js = require('./chunk-EHJANA5C.js');
|
|
10
10
|
var chunkGSRT66PA_js = require('./chunk-GSRT66PA.js');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
require('./chunk-
|
|
15
|
-
require('./chunk-
|
|
11
|
+
var chunkO4ILWMIB_js = require('./chunk-O4ILWMIB.js');
|
|
12
|
+
var chunkFYCFUYPQ_js = require('./chunk-FYCFUYPQ.js');
|
|
13
|
+
var chunk7KIXGDUP_js = require('./chunk-7KIXGDUP.js');
|
|
14
|
+
require('./chunk-PVRE3PYC.js');
|
|
15
|
+
require('./chunk-GR4YKNFX.js');
|
|
16
16
|
require('./chunk-HMFFAUCD.js');
|
|
17
17
|
require('./chunk-XB57AM6T.js');
|
|
18
18
|
require('./chunk-VJMPIRSD.js');
|
|
19
|
-
var
|
|
20
|
-
require('./chunk-
|
|
21
|
-
require('./chunk-
|
|
19
|
+
var chunkZQ2JTDPC_js = require('./chunk-ZQ2JTDPC.js');
|
|
20
|
+
require('./chunk-T3ARA52J.js');
|
|
21
|
+
require('./chunk-6ZDXUCAX.js');
|
|
22
22
|
require('./chunk-ZSMWDLMK.js');
|
|
23
23
|
var react = require('react');
|
|
24
24
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -36,7 +36,7 @@ async function apiGet(endpoint) {
|
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
38
|
try {
|
|
39
|
-
const response = await
|
|
39
|
+
const response = await chunkZQ2JTDPC_js.sonorFetch(
|
|
40
40
|
`${apiUrl}${endpoint}`,
|
|
41
41
|
{ method: "GET" },
|
|
42
42
|
{ apiKey, retries: 0 }
|
|
@@ -173,51 +173,51 @@ Object.defineProperty(exports, "landingPageMetadata", {
|
|
|
173
173
|
});
|
|
174
174
|
Object.defineProperty(exports, "BookingWidget", {
|
|
175
175
|
enumerable: true,
|
|
176
|
-
get: function () { return
|
|
176
|
+
get: function () { return chunkO3WBS4VY_js.BookingWidget; }
|
|
177
177
|
});
|
|
178
178
|
Object.defineProperty(exports, "createBooking", {
|
|
179
179
|
enumerable: true,
|
|
180
|
-
get: function () { return
|
|
180
|
+
get: function () { return chunkO3WBS4VY_js.createBooking; }
|
|
181
181
|
});
|
|
182
182
|
Object.defineProperty(exports, "createSlotHold", {
|
|
183
183
|
enumerable: true,
|
|
184
|
-
get: function () { return
|
|
184
|
+
get: function () { return chunkO3WBS4VY_js.createSlotHold; }
|
|
185
185
|
});
|
|
186
186
|
Object.defineProperty(exports, "detectTimezone", {
|
|
187
187
|
enumerable: true,
|
|
188
|
-
get: function () { return
|
|
188
|
+
get: function () { return chunkO3WBS4VY_js.detectTimezone; }
|
|
189
189
|
});
|
|
190
190
|
Object.defineProperty(exports, "fetchAvailability", {
|
|
191
191
|
enumerable: true,
|
|
192
|
-
get: function () { return
|
|
192
|
+
get: function () { return chunkO3WBS4VY_js.fetchAvailability; }
|
|
193
193
|
});
|
|
194
194
|
Object.defineProperty(exports, "fetchAvailableDates", {
|
|
195
195
|
enumerable: true,
|
|
196
|
-
get: function () { return
|
|
196
|
+
get: function () { return chunkO3WBS4VY_js.fetchAvailableDates; }
|
|
197
197
|
});
|
|
198
198
|
Object.defineProperty(exports, "fetchBookingTypeDetails", {
|
|
199
199
|
enumerable: true,
|
|
200
|
-
get: function () { return
|
|
200
|
+
get: function () { return chunkO3WBS4VY_js.fetchBookingTypeDetails; }
|
|
201
201
|
});
|
|
202
202
|
Object.defineProperty(exports, "fetchBookingTypes", {
|
|
203
203
|
enumerable: true,
|
|
204
|
-
get: function () { return
|
|
204
|
+
get: function () { return chunkO3WBS4VY_js.fetchBookingTypes; }
|
|
205
205
|
});
|
|
206
206
|
Object.defineProperty(exports, "formatBookingDate", {
|
|
207
207
|
enumerable: true,
|
|
208
|
-
get: function () { return
|
|
208
|
+
get: function () { return chunkO3WBS4VY_js.formatDate; }
|
|
209
209
|
});
|
|
210
210
|
Object.defineProperty(exports, "formatBookingTime", {
|
|
211
211
|
enumerable: true,
|
|
212
|
-
get: function () { return
|
|
212
|
+
get: function () { return chunkO3WBS4VY_js.formatTime; }
|
|
213
213
|
});
|
|
214
214
|
Object.defineProperty(exports, "formatDuration", {
|
|
215
215
|
enumerable: true,
|
|
216
|
-
get: function () { return
|
|
216
|
+
get: function () { return chunkO3WBS4VY_js.formatDuration; }
|
|
217
217
|
});
|
|
218
218
|
Object.defineProperty(exports, "releaseSlotHold", {
|
|
219
219
|
enumerable: true,
|
|
220
|
-
get: function () { return
|
|
220
|
+
get: function () { return chunkO3WBS4VY_js.releaseSlotHold; }
|
|
221
221
|
});
|
|
222
222
|
Object.defineProperty(exports, "clearRedirectCache", {
|
|
223
223
|
enumerable: true,
|
|
@@ -237,31 +237,31 @@ Object.defineProperty(exports, "handleManagedRedirects", {
|
|
|
237
237
|
});
|
|
238
238
|
Object.defineProperty(exports, "ManagedImage", {
|
|
239
239
|
enumerable: true,
|
|
240
|
-
get: function () { return
|
|
240
|
+
get: function () { return chunk5OJ36D7M_js.ManagedImage; }
|
|
241
241
|
});
|
|
242
242
|
Object.defineProperty(exports, "assignImageToSlot", {
|
|
243
243
|
enumerable: true,
|
|
244
|
-
get: function () { return
|
|
244
|
+
get: function () { return chunk5OJ36D7M_js.assignImageToSlot; }
|
|
245
245
|
});
|
|
246
246
|
Object.defineProperty(exports, "clearImageSlot", {
|
|
247
247
|
enumerable: true,
|
|
248
|
-
get: function () { return
|
|
248
|
+
get: function () { return chunk5OJ36D7M_js.clearImageSlot; }
|
|
249
249
|
});
|
|
250
250
|
Object.defineProperty(exports, "fetchManagedImage", {
|
|
251
251
|
enumerable: true,
|
|
252
|
-
get: function () { return
|
|
252
|
+
get: function () { return chunk5OJ36D7M_js.fetchManagedImage; }
|
|
253
253
|
});
|
|
254
254
|
Object.defineProperty(exports, "fetchManagedImages", {
|
|
255
255
|
enumerable: true,
|
|
256
|
-
get: function () { return
|
|
256
|
+
get: function () { return chunk5OJ36D7M_js.fetchManagedImages; }
|
|
257
257
|
});
|
|
258
258
|
Object.defineProperty(exports, "listImageFiles", {
|
|
259
259
|
enumerable: true,
|
|
260
|
-
get: function () { return
|
|
260
|
+
get: function () { return chunk5OJ36D7M_js.listImageFiles; }
|
|
261
261
|
});
|
|
262
262
|
Object.defineProperty(exports, "uploadImage", {
|
|
263
263
|
enumerable: true,
|
|
264
|
-
get: function () { return
|
|
264
|
+
get: function () { return chunk5OJ36D7M_js.uploadImage; }
|
|
265
265
|
});
|
|
266
266
|
Object.defineProperty(exports, "TestimonialSection", {
|
|
267
267
|
enumerable: true,
|
|
@@ -277,139 +277,139 @@ Object.defineProperty(exports, "fetchReviews", {
|
|
|
277
277
|
});
|
|
278
278
|
Object.defineProperty(exports, "ExperimentConversion", {
|
|
279
279
|
enumerable: true,
|
|
280
|
-
get: function () { return
|
|
280
|
+
get: function () { return chunkO4ILWMIB_js.ExperimentConversion; }
|
|
281
281
|
});
|
|
282
282
|
Object.defineProperty(exports, "SignalExperiment", {
|
|
283
283
|
enumerable: true,
|
|
284
|
-
get: function () { return
|
|
284
|
+
get: function () { return chunkO4ILWMIB_js.SignalExperiment; }
|
|
285
285
|
});
|
|
286
286
|
Object.defineProperty(exports, "useExperimentVariant", {
|
|
287
287
|
enumerable: true,
|
|
288
|
-
get: function () { return
|
|
288
|
+
get: function () { return chunkO4ILWMIB_js.useExperimentVariant; }
|
|
289
289
|
});
|
|
290
290
|
Object.defineProperty(exports, "SignalBridge", {
|
|
291
291
|
enumerable: true,
|
|
292
|
-
get: function () { return
|
|
292
|
+
get: function () { return chunkFYCFUYPQ_js.SignalBridge; }
|
|
293
293
|
});
|
|
294
294
|
Object.defineProperty(exports, "useSignal", {
|
|
295
295
|
enumerable: true,
|
|
296
|
-
get: function () { return
|
|
296
|
+
get: function () { return chunkFYCFUYPQ_js.useSignal; }
|
|
297
297
|
});
|
|
298
298
|
Object.defineProperty(exports, "useSignalConfig", {
|
|
299
299
|
enumerable: true,
|
|
300
|
-
get: function () { return
|
|
300
|
+
get: function () { return chunkFYCFUYPQ_js.useSignalConfig; }
|
|
301
301
|
});
|
|
302
302
|
Object.defineProperty(exports, "useSignalEvent", {
|
|
303
303
|
enumerable: true,
|
|
304
|
-
get: function () { return
|
|
304
|
+
get: function () { return chunkFYCFUYPQ_js.useSignalEvent; }
|
|
305
305
|
});
|
|
306
306
|
Object.defineProperty(exports, "useSignalExperiment", {
|
|
307
307
|
enumerable: true,
|
|
308
|
-
get: function () { return
|
|
308
|
+
get: function () { return chunkFYCFUYPQ_js.useSignalExperiment; }
|
|
309
309
|
});
|
|
310
310
|
Object.defineProperty(exports, "useSignalOutcome", {
|
|
311
311
|
enumerable: true,
|
|
312
|
-
get: function () { return
|
|
312
|
+
get: function () { return chunkFYCFUYPQ_js.useSignalOutcome; }
|
|
313
313
|
});
|
|
314
314
|
Object.defineProperty(exports, "CalendarView", {
|
|
315
315
|
enumerable: true,
|
|
316
|
-
get: function () { return
|
|
316
|
+
get: function () { return chunk7KIXGDUP_js.CalendarView; }
|
|
317
317
|
});
|
|
318
318
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
319
319
|
enumerable: true,
|
|
320
|
-
get: function () { return
|
|
320
|
+
get: function () { return chunk7KIXGDUP_js.CheckoutForm; }
|
|
321
321
|
});
|
|
322
322
|
Object.defineProperty(exports, "EventCalendar", {
|
|
323
323
|
enumerable: true,
|
|
324
|
-
get: function () { return
|
|
324
|
+
get: function () { return chunk7KIXGDUP_js.EventCalendar; }
|
|
325
325
|
});
|
|
326
326
|
Object.defineProperty(exports, "EventCheckout", {
|
|
327
327
|
enumerable: true,
|
|
328
|
-
get: function () { return
|
|
328
|
+
get: function () { return chunk7KIXGDUP_js.EventCheckout; }
|
|
329
329
|
});
|
|
330
330
|
Object.defineProperty(exports, "EventEmbed", {
|
|
331
331
|
enumerable: true,
|
|
332
|
-
get: function () { return
|
|
332
|
+
get: function () { return chunk7KIXGDUP_js.EventEmbed; }
|
|
333
333
|
});
|
|
334
334
|
Object.defineProperty(exports, "EventModal", {
|
|
335
335
|
enumerable: true,
|
|
336
|
-
get: function () { return
|
|
336
|
+
get: function () { return chunk7KIXGDUP_js.EventModal; }
|
|
337
337
|
});
|
|
338
338
|
Object.defineProperty(exports, "EventTile", {
|
|
339
339
|
enumerable: true,
|
|
340
|
-
get: function () { return
|
|
340
|
+
get: function () { return chunk7KIXGDUP_js.EventTile; }
|
|
341
341
|
});
|
|
342
342
|
Object.defineProperty(exports, "OfferingCard", {
|
|
343
343
|
enumerable: true,
|
|
344
|
-
get: function () { return
|
|
344
|
+
get: function () { return chunk7KIXGDUP_js.OfferingCard; }
|
|
345
345
|
});
|
|
346
346
|
Object.defineProperty(exports, "OfferingList", {
|
|
347
347
|
enumerable: true,
|
|
348
|
-
get: function () { return
|
|
348
|
+
get: function () { return chunk7KIXGDUP_js.OfferingList; }
|
|
349
349
|
});
|
|
350
350
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
351
351
|
enumerable: true,
|
|
352
|
-
get: function () { return
|
|
352
|
+
get: function () { return chunk7KIXGDUP_js.ProductEmbed; }
|
|
353
353
|
});
|
|
354
354
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
355
355
|
enumerable: true,
|
|
356
|
-
get: function () { return
|
|
356
|
+
get: function () { return chunk7KIXGDUP_js.RegistrationForm; }
|
|
357
357
|
});
|
|
358
358
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
359
359
|
enumerable: true,
|
|
360
|
-
get: function () { return
|
|
360
|
+
get: function () { return chunk7KIXGDUP_js.UpcomingEvents; }
|
|
361
361
|
});
|
|
362
362
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
363
363
|
enumerable: true,
|
|
364
|
-
get: function () { return
|
|
364
|
+
get: function () { return chunk7KIXGDUP_js.createCheckoutSession; }
|
|
365
365
|
});
|
|
366
366
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
367
367
|
enumerable: true,
|
|
368
|
-
get: function () { return
|
|
368
|
+
get: function () { return chunk7KIXGDUP_js.fetchNextEvent; }
|
|
369
369
|
});
|
|
370
370
|
Object.defineProperty(exports, "fetchOffering", {
|
|
371
371
|
enumerable: true,
|
|
372
|
-
get: function () { return
|
|
372
|
+
get: function () { return chunk7KIXGDUP_js.fetchOffering; }
|
|
373
373
|
});
|
|
374
374
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
375
375
|
enumerable: true,
|
|
376
|
-
get: function () { return
|
|
376
|
+
get: function () { return chunk7KIXGDUP_js.fetchOfferings; }
|
|
377
377
|
});
|
|
378
378
|
Object.defineProperty(exports, "fetchProducts", {
|
|
379
379
|
enumerable: true,
|
|
380
|
-
get: function () { return
|
|
380
|
+
get: function () { return chunk7KIXGDUP_js.fetchProducts; }
|
|
381
381
|
});
|
|
382
382
|
Object.defineProperty(exports, "fetchServices", {
|
|
383
383
|
enumerable: true,
|
|
384
|
-
get: function () { return
|
|
384
|
+
get: function () { return chunk7KIXGDUP_js.fetchServices; }
|
|
385
385
|
});
|
|
386
386
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
387
387
|
enumerable: true,
|
|
388
|
-
get: function () { return
|
|
388
|
+
get: function () { return chunk7KIXGDUP_js.fetchUpcomingEvents; }
|
|
389
389
|
});
|
|
390
390
|
Object.defineProperty(exports, "formatDate", {
|
|
391
391
|
enumerable: true,
|
|
392
|
-
get: function () { return
|
|
392
|
+
get: function () { return chunk7KIXGDUP_js.formatDate; }
|
|
393
393
|
});
|
|
394
394
|
Object.defineProperty(exports, "formatDateTime", {
|
|
395
395
|
enumerable: true,
|
|
396
|
-
get: function () { return
|
|
396
|
+
get: function () { return chunk7KIXGDUP_js.formatDateTime; }
|
|
397
397
|
});
|
|
398
398
|
Object.defineProperty(exports, "formatPrice", {
|
|
399
399
|
enumerable: true,
|
|
400
|
-
get: function () { return
|
|
400
|
+
get: function () { return chunk7KIXGDUP_js.formatPrice; }
|
|
401
401
|
});
|
|
402
402
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
403
403
|
enumerable: true,
|
|
404
|
-
get: function () { return
|
|
404
|
+
get: function () { return chunk7KIXGDUP_js.getOfferingUrl; }
|
|
405
405
|
});
|
|
406
406
|
Object.defineProperty(exports, "registerForEvent", {
|
|
407
407
|
enumerable: true,
|
|
408
|
-
get: function () { return
|
|
408
|
+
get: function () { return chunk7KIXGDUP_js.registerForEvent; }
|
|
409
409
|
});
|
|
410
410
|
Object.defineProperty(exports, "useEventModal", {
|
|
411
411
|
enumerable: true,
|
|
412
|
-
get: function () { return
|
|
412
|
+
get: function () { return chunk7KIXGDUP_js.useEventModal; }
|
|
413
413
|
});
|
|
414
414
|
exports.AffiliateCard = AffiliateCard;
|
|
415
415
|
exports.AffiliatesWidget = AffiliatesWidget;
|
package/dist/index.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
export { LandingPage, landingPageMetadata } from './chunk-IBMOX3YE.mjs';
|
|
2
|
-
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-
|
|
2
|
+
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-EY2236OY.mjs';
|
|
3
3
|
export { clearRedirectCache, fetchRedirectRules, generateNextRedirects, handleManagedRedirects } from './chunk-7LAOWIWE.mjs';
|
|
4
4
|
import './chunk-B22WSN4L.mjs';
|
|
5
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-
|
|
5
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-KYYSS5L7.mjs';
|
|
6
6
|
import './chunk-CU6OGBKK.mjs';
|
|
7
7
|
export { TestimonialSection } from './chunk-VIGRGMWR.mjs';
|
|
8
8
|
export { fetchReviewStats, fetchReviews } from './chunk-MU7DTEUF.mjs';
|
|
9
|
-
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-
|
|
10
|
-
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-
|
|
11
|
-
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-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
9
|
+
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-EDQXJFH2.mjs';
|
|
10
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-DEVPKGCD.mjs';
|
|
11
|
+
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-WQXSILFH.mjs';
|
|
12
|
+
import './chunk-XS2COTTD.mjs';
|
|
13
|
+
import './chunk-KEGWCBLW.mjs';
|
|
14
14
|
import './chunk-3DPXOZAU.mjs';
|
|
15
15
|
import './chunk-AX4AROLH.mjs';
|
|
16
16
|
import './chunk-6EDVCUAG.mjs';
|
|
17
|
-
import { sonorFetch } from './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
17
|
+
import { sonorFetch } from './chunk-FJTER53S.mjs';
|
|
18
|
+
import './chunk-BS3P5PTY.mjs';
|
|
19
|
+
import './chunk-JYM4I57K.mjs';
|
|
20
20
|
import './chunk-4XPGGLVP.mjs';
|
|
21
21
|
import { useState, useEffect } from 'react';
|
|
22
22
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
package/dist/layout/client.d.mts
CHANGED
|
@@ -26,7 +26,9 @@ interface SiteKitClientProvidersProps {
|
|
|
26
26
|
*/
|
|
27
27
|
defer?: boolean;
|
|
28
28
|
debug?: boolean;
|
|
29
|
+
/** Browser-safe Google Maps key, resolved server-side by SiteKitLayout. */
|
|
30
|
+
mapsBrowserKey?: string;
|
|
29
31
|
}
|
|
30
|
-
declare function SiteKitClientProviders({ children, apiKey, apiUrl, projectId, analytics, engage, signal, sitemapSync, fleet, defer, debug, }: SiteKitClientProvidersProps): react_jsx_runtime.JSX.Element;
|
|
32
|
+
declare function SiteKitClientProviders({ children, apiKey, apiUrl, projectId, analytics, engage, signal, sitemapSync, fleet, defer, debug, mapsBrowserKey, }: SiteKitClientProvidersProps): react_jsx_runtime.JSX.Element;
|
|
31
33
|
|
|
32
34
|
export { SiteKitClientProviders, type SiteKitClientProvidersProps };
|
package/dist/layout/client.d.ts
CHANGED
|
@@ -26,7 +26,9 @@ interface SiteKitClientProvidersProps {
|
|
|
26
26
|
*/
|
|
27
27
|
defer?: boolean;
|
|
28
28
|
debug?: boolean;
|
|
29
|
+
/** Browser-safe Google Maps key, resolved server-side by SiteKitLayout. */
|
|
30
|
+
mapsBrowserKey?: string;
|
|
29
31
|
}
|
|
30
|
-
declare function SiteKitClientProviders({ children, apiKey, apiUrl, projectId, analytics, engage, signal, sitemapSync, fleet, defer, debug, }: SiteKitClientProvidersProps): react_jsx_runtime.JSX.Element;
|
|
32
|
+
declare function SiteKitClientProviders({ children, apiKey, apiUrl, projectId, analytics, engage, signal, sitemapSync, fleet, defer, debug, mapsBrowserKey, }: SiteKitClientProvidersProps): react_jsx_runtime.JSX.Element;
|
|
31
33
|
|
|
32
34
|
export { SiteKitClientProviders, type SiteKitClientProvidersProps };
|
package/dist/layout/client.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var chunkTYYTM4WC_js = require('../chunk-TYYTM4WC.js');
|
|
5
|
+
require('../chunk-OYT6SFLM.js');
|
|
6
|
+
require('../chunk-VZF3NFCY.js');
|
|
7
7
|
require('../chunk-HGNSJXWT.js');
|
|
8
8
|
require('../chunk-Q2NBD54V.js');
|
|
9
9
|
require('../chunk-NB4MK2Q5.js');
|
|
10
|
-
require('../chunk-
|
|
10
|
+
require('../chunk-FYCFUYPQ.js');
|
|
11
11
|
require('../chunk-XB57AM6T.js');
|
|
12
12
|
require('../chunk-VJMPIRSD.js');
|
|
13
|
-
require('../chunk-
|
|
14
|
-
require('../chunk-
|
|
15
|
-
require('../chunk-
|
|
13
|
+
require('../chunk-ZQ2JTDPC.js');
|
|
14
|
+
require('../chunk-T3ARA52J.js');
|
|
15
|
+
require('../chunk-6ZDXUCAX.js');
|
|
16
16
|
require('../chunk-ZSMWDLMK.js');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
Object.defineProperty(exports, "SiteKitClientProviders", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkTYYTM4WC_js.SiteKitClientProviders; }
|
|
23
23
|
});
|
|
24
24
|
//# sourceMappingURL=client.js.map
|
|
25
25
|
//# sourceMappingURL=client.js.map
|
package/dist/layout/client.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SiteKitClientProviders } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
export { SiteKitClientProviders } from '../chunk-PUH6YPZY.mjs';
|
|
3
|
+
import '../chunk-6B3DEFHU.mjs';
|
|
4
|
+
import '../chunk-2O2PZII5.mjs';
|
|
5
5
|
import '../chunk-ZVBLXXNJ.mjs';
|
|
6
6
|
import '../chunk-ZPLN537Q.mjs';
|
|
7
7
|
import '../chunk-NI7OY4FW.mjs';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-DEVPKGCD.mjs';
|
|
9
9
|
import '../chunk-AX4AROLH.mjs';
|
|
10
10
|
import '../chunk-6EDVCUAG.mjs';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-FJTER53S.mjs';
|
|
12
|
+
import '../chunk-BS3P5PTY.mjs';
|
|
13
|
+
import '../chunk-JYM4I57K.mjs';
|
|
14
14
|
import '../chunk-4XPGGLVP.mjs';
|
|
15
15
|
//# sourceMappingURL=client.mjs.map
|
|
16
16
|
//# sourceMappingURL=client.mjs.map
|
package/dist/layout/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
require('../chunk-
|
|
3
|
+
var chunkTYYTM4WC_js = require('../chunk-TYYTM4WC.js');
|
|
4
|
+
require('../chunk-OYT6SFLM.js');
|
|
5
|
+
require('../chunk-VZF3NFCY.js');
|
|
6
6
|
require('../chunk-HGNSJXWT.js');
|
|
7
7
|
require('../chunk-Q2NBD54V.js');
|
|
8
8
|
require('../chunk-NB4MK2Q5.js');
|
|
9
9
|
var chunkGCPPXUAI_js = require('../chunk-GCPPXUAI.js');
|
|
10
|
-
require('../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../chunk-FYCFUYPQ.js');
|
|
11
|
+
var chunkC7EVU7V7_js = require('../chunk-C7EVU7V7.js');
|
|
12
12
|
var chunkDV2LJYFD_js = require('../chunk-DV2LJYFD.js');
|
|
13
13
|
var chunkQPIKPWAZ_js = require('../chunk-QPIKPWAZ.js');
|
|
14
14
|
require('../chunk-XB57AM6T.js');
|
|
15
15
|
require('../chunk-VJMPIRSD.js');
|
|
16
|
-
require('../chunk-
|
|
17
|
-
require('../chunk-
|
|
18
|
-
require('../chunk-
|
|
16
|
+
require('../chunk-ZQ2JTDPC.js');
|
|
17
|
+
require('../chunk-T3ARA52J.js');
|
|
18
|
+
require('../chunk-6ZDXUCAX.js');
|
|
19
19
|
require('../chunk-ZSMWDLMK.js');
|
|
20
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
21
21
|
|
|
@@ -43,17 +43,18 @@ async function SiteKitLayout({
|
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
const apiOrigin = chunkQPIKPWAZ_js.resolveApiOrigin(resolvedApiUrl);
|
|
46
|
-
const clientCredential = await
|
|
46
|
+
const clientCredential = await chunkC7EVU7V7_js.resolveClientCredential(resolvedApiKey, resolvedApiUrl);
|
|
47
47
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
48
48
|
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "preconnect", href: apiOrigin, crossOrigin: "anonymous" }),
|
|
49
49
|
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "dns-prefetch", href: apiOrigin }),
|
|
50
50
|
favicon && /* @__PURE__ */ jsxRuntime.jsx(chunkGCPPXUAI_js.ManagedFavicon, { apiKey: resolvedApiKey, apiUrl: resolvedApiUrl }),
|
|
51
51
|
managedScripts && /* @__PURE__ */ jsxRuntime.jsx(chunkDV2LJYFD_js.ManagedScripts, { position: "head" }),
|
|
52
52
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
53
|
-
|
|
53
|
+
chunkTYYTM4WC_js.SiteKitClientProviders,
|
|
54
54
|
{
|
|
55
55
|
apiKey: clientCredential,
|
|
56
56
|
apiUrl: resolvedApiUrl,
|
|
57
|
+
mapsBrowserKey: process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY || process.env.GOOGLE_MAPS_BROWSER_KEY || void 0,
|
|
57
58
|
projectId,
|
|
58
59
|
analytics,
|
|
59
60
|
engage,
|
package/dist/layout/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/layout/SiteKitLayout.tsx"],"names":["resolveApiOrigin","resolveClientCredential","jsxs","Fragment","jsx","ManagedFavicon","ManagedScripts","SiteKitClientProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkGA,eAAsB,aAAA,CAAc;AAAA,EAClC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,IAAA;AAAA,EACZ,MAAA,GAAS,IAAA;AAAA,EACT,MAAA,GAAS,KAAA;AAAA,EACT,WAAA,GAAc,IAAA;AAAA,EACd,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,cAAA,GAAiB,IAAA;AAAA,EACjB,KAAA,GAAQ,KAAA;AAAA,EACR,qBAAA,GAAwB;AAC1B,CAAA,EAAuB;AAErB,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,EAAA;AACF,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,sBAAA;AAEF,EAAA,IAAI,CAAC,kBAAkB,KAAA,EAAO;AAC5B,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAYA,kCAAiB,cAAc,CAAA;AAKjD,EAAA,MAAM,gBAAA,GAAmB,MAAMC,wCAAA,CAAwB,cAAA,EAAgB,cAAc,CAAA;AAErF,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,GAAA,EAAI,YAAA,EAAa,IAAA,EAAM,SAAA,EAAW,aAAY,WAAA,EAAY,CAAA;AAAA,oBAChEA,cAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAI,cAAA,EAAe,MAAM,SAAA,EAAW,CAAA;AAAA,IAEzC,2BAAWA,cAAA,CAACC,+BAAA,EAAA,EAAe,MAAA,EAAQ,cAAA,EAAgB,QAAQ,cAAA,EAAgB,CAAA;AAAA,IAC3E,cAAA,oBAAkBD,cAAA,CAACE,+BAAA,EAAA,EAAe,QAAA,EAAS,MAAA,EAAO,CAAA;AAAA,oBAInDJ,eAAA;AAAA,MAACK,uCAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,cAAA;AAAA,QACR,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,qBAAA,mBACCH,cAAA,CAAC,QAAA,EAAA,EAAO,SAAA,EAAU,SAAA,EAAU,aAAA,EAAY,MAAA,EACtC,QAAA,kBAAAA,cAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,WAAA,EAAY,QAAA,EAAA,UAAA,EAAQ,GAC9B,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,IAGC,cAAA,oBAAkBA,cAAA,CAACE,+BAAA,EAAA,EAAe,QAAA,EAAS,UAAA,EAAW;AAAA,GAAA,EACzD,CAAA;AAEJ","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/layout — SiteKitLayout\n *\n * The master layout component. A single RSC that auto-composes every\n * site-kit feature your layout needs:\n *\n * Server-side (RSC):\n * - ManagedFavicon (link tags from Portal logo)\n * - ManagedScripts position=\"head\" (tracking pixels, analytics tags)\n * - ManagedScripts position=\"body-end\"\n *\n * Client-side (island):\n * - AnalyticsProvider (page views, scroll depth, heatmap, web vitals)\n * - EngageWidget (popups, nudges, chat)\n * - SignalBridge (A/B experiments, behavior tracking)\n * - SitemapSync (keeps Portal seo_pages in sync)\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { SiteKitLayout } from '@sonordev/site-kit/layout'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html lang=\"en\">\n * <body>\n * <SiteKitLayout>\n * <Header />\n * <main>{children}</main>\n * <Footer />\n * </SiteKitLayout>\n * </body>\n * </html>\n * )\n * }\n * ```\n *\n * @example Opt out of specific features:\n * ```tsx\n * <SiteKitLayout engage={false} signal={false}>\n * {children}\n * </SiteKitLayout>\n * ```\n */\n\nimport * as React from 'react'\nimport { ManagedFavicon } from '../images/ManagedFavicon'\nimport { ManagedScripts } from '../seo/ManagedScripts'\nimport { resolveApiOrigin } from '../server/server-fetch'\nimport { resolveClientCredential } from '../server/mint-site-token'\nimport { SiteKitClientProviders } from './SiteKitClientProviders'\nimport type { AnalyticsConfig, EngageConfig, SignalConfig } from './types'\n\nexport interface SiteKitLayoutProps {\n children: React.ReactNode\n\n /** Portal API key. Defaults to SONOR_API_KEY env var. */\n apiKey?: string\n /** Portal API URL. Defaults to env or https://api.sonor.io */\n apiUrl?: string\n /** Project ID (for Engage chat room routing). Auto-resolved if not provided. */\n projectId?: string\n\n /** Analytics tracking. true (default) | false | config object */\n analytics?: boolean | AnalyticsConfig\n /** Engage widgets (popups, chat). true (default) | false | config object */\n engage?: boolean | EngageConfig\n /** Signal AI (experiments, behavior). false (default) | true | config object */\n signal?: boolean | SignalConfig\n /** SitemapSync client component. Default: true */\n sitemapSync?: boolean\n /**\n * Fleet heartbeat — reports this site's kit version + active modules to Sonor\n * once per session so the platform can track version drift. Default: true.\n * Deferred like Analytics; never in the hydration path.\n */\n fleet?: boolean\n /**\n * Defer client modules (Analytics, Engage, SitemapSync) until window load +\n * idle or the first user interaction, keeping their JS and mount work out of\n * the critical hydration path. Default: true. Pass false to restore legacy\n * eager mounting. SignalBridge is never deferred.\n */\n defer?: boolean\n /** ManagedFavicon in <head>. Default: true */\n favicon?: boolean\n /** ManagedScripts (head + body-end). Default: true */\n managedScripts?: boolean\n\n /** Debug mode — logs to console. Default: false */\n debug?: boolean\n /**\n * When true, append a screen-reader-only link to `/llms.txt` after main content.\n * Default false — prefer `buildAiDiscoveryHeaders()` for discovery.\n */\n showLlmsTxtFooterLink?: boolean\n}\n\nexport async function SiteKitLayout({\n children,\n apiKey,\n apiUrl,\n projectId,\n analytics = true,\n engage = true,\n signal = false,\n sitemapSync = true,\n fleet = true,\n defer = true,\n favicon = true,\n managedScripts = true,\n debug = false,\n showLlmsTxtFooterLink = false,\n}: SiteKitLayoutProps) {\n // Resolve API config from env (server-side, safe)\n const resolvedApiKey =\n apiKey ??\n process.env.SONOR_API_KEY ??\n ''\n const resolvedApiUrl =\n apiUrl ??\n process.env.SONOR_API_URL ??\n 'https://api.sonor.io'\n\n if (!resolvedApiKey && debug) {\n console.warn(\n '[SiteKitLayout] No API key found. Set SONOR_API_KEY.',\n )\n }\n\n const apiOrigin = resolveApiOrigin(resolvedApiUrl)\n\n // Mint a short-lived client token so the raw key never reaches the browser.\n // Falls back to the raw key if minting is unavailable (older API / transient\n // outage) — the build never breaks. The client refreshes the token as needed.\n const clientCredential = await resolveClientCredential(resolvedApiKey, resolvedApiUrl)\n\n return (\n <>\n <link rel=\"preconnect\" href={apiOrigin} crossOrigin=\"anonymous\" />\n <link rel=\"dns-prefetch\" href={apiOrigin} />\n {/* Server-rendered head components */}\n {favicon && <ManagedFavicon apiKey={resolvedApiKey} apiUrl={resolvedApiUrl} />}\n {managedScripts && <ManagedScripts position=\"head\" />}\n\n {/* Client-side providers island — receives the minted token (or raw-key\n fallback), never the raw key when minting succeeds. */}\n <SiteKitClientProviders\n apiKey={clientCredential}\n apiUrl={resolvedApiUrl}\n projectId={projectId}\n analytics={analytics}\n engage={engage}\n signal={signal}\n sitemapSync={sitemapSync}\n fleet={fleet}\n defer={defer}\n debug={debug}\n >\n {children}\n {showLlmsTxtFooterLink ? (\n <footer className=\"sr-only\" aria-hidden=\"true\">\n <a href=\"/llms.txt\">llms.txt</a>\n </footer>\n ) : null}\n </SiteKitClientProviders>\n\n {/* Server-rendered body-end scripts */}\n {managedScripts && <ManagedScripts position=\"body-end\" />}\n </>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/layout/SiteKitLayout.tsx"],"names":["resolveApiOrigin","resolveClientCredential","jsxs","Fragment","jsx","ManagedFavicon","ManagedScripts","SiteKitClientProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkGA,eAAsB,aAAA,CAAc;AAAA,EAClC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,IAAA;AAAA,EACZ,MAAA,GAAS,IAAA;AAAA,EACT,MAAA,GAAS,KAAA;AAAA,EACT,WAAA,GAAc,IAAA;AAAA,EACd,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,cAAA,GAAiB,IAAA;AAAA,EACjB,KAAA,GAAQ,KAAA;AAAA,EACR,qBAAA,GAAwB;AAC1B,CAAA,EAAuB;AAErB,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,EAAA;AACF,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,sBAAA;AAEF,EAAA,IAAI,CAAC,kBAAkB,KAAA,EAAO;AAC5B,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAYA,kCAAiB,cAAc,CAAA;AAKjD,EAAA,MAAM,gBAAA,GAAmB,MAAMC,wCAAA,CAAwB,cAAA,EAAgB,cAAc,CAAA;AAErF,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,GAAA,EAAI,YAAA,EAAa,IAAA,EAAM,SAAA,EAAW,aAAY,WAAA,EAAY,CAAA;AAAA,oBAChEA,cAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAI,cAAA,EAAe,MAAM,SAAA,EAAW,CAAA;AAAA,IAEzC,2BAAWA,cAAA,CAACC,+BAAA,EAAA,EAAe,MAAA,EAAQ,cAAA,EAAgB,QAAQ,cAAA,EAAgB,CAAA;AAAA,IAC3E,cAAA,oBAAkBD,cAAA,CAACE,+BAAA,EAAA,EAAe,QAAA,EAAS,MAAA,EAAO,CAAA;AAAA,oBAInDJ,eAAA;AAAA,MAACK,uCAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,cAAA;AAAA,QACR,gBACE,OAAA,CAAQ,GAAA,CAAI,+BAAA,IACZ,OAAA,CAAQ,IAAI,uBAAA,IACZ,MAAA;AAAA,QAEF,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,qBAAA,mBACCH,cAAA,CAAC,QAAA,EAAA,EAAO,SAAA,EAAU,SAAA,EAAU,aAAA,EAAY,MAAA,EACtC,QAAA,kBAAAA,cAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,WAAA,EAAY,QAAA,EAAA,UAAA,EAAQ,GAC9B,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,IAGC,cAAA,oBAAkBA,cAAA,CAACE,+BAAA,EAAA,EAAe,QAAA,EAAS,UAAA,EAAW;AAAA,GAAA,EACzD,CAAA;AAEJ","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/layout — SiteKitLayout\n *\n * The master layout component. A single RSC that auto-composes every\n * site-kit feature your layout needs:\n *\n * Server-side (RSC):\n * - ManagedFavicon (link tags from Portal logo)\n * - ManagedScripts position=\"head\" (tracking pixels, analytics tags)\n * - ManagedScripts position=\"body-end\"\n *\n * Client-side (island):\n * - AnalyticsProvider (page views, scroll depth, heatmap, web vitals)\n * - EngageWidget (popups, nudges, chat)\n * - SignalBridge (A/B experiments, behavior tracking)\n * - SitemapSync (keeps Portal seo_pages in sync)\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { SiteKitLayout } from '@sonordev/site-kit/layout'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html lang=\"en\">\n * <body>\n * <SiteKitLayout>\n * <Header />\n * <main>{children}</main>\n * <Footer />\n * </SiteKitLayout>\n * </body>\n * </html>\n * )\n * }\n * ```\n *\n * @example Opt out of specific features:\n * ```tsx\n * <SiteKitLayout engage={false} signal={false}>\n * {children}\n * </SiteKitLayout>\n * ```\n */\n\nimport * as React from 'react'\nimport { ManagedFavicon } from '../images/ManagedFavicon'\nimport { ManagedScripts } from '../seo/ManagedScripts'\nimport { resolveApiOrigin } from '../server/server-fetch'\nimport { resolveClientCredential } from '../server/mint-site-token'\nimport { SiteKitClientProviders } from './SiteKitClientProviders'\nimport type { AnalyticsConfig, EngageConfig, SignalConfig } from './types'\n\nexport interface SiteKitLayoutProps {\n children: React.ReactNode\n\n /** Portal API key. Defaults to SONOR_API_KEY env var. */\n apiKey?: string\n /** Portal API URL. Defaults to env or https://api.sonor.io */\n apiUrl?: string\n /** Project ID (for Engage chat room routing). Auto-resolved if not provided. */\n projectId?: string\n\n /** Analytics tracking. true (default) | false | config object */\n analytics?: boolean | AnalyticsConfig\n /** Engage widgets (popups, chat). true (default) | false | config object */\n engage?: boolean | EngageConfig\n /** Signal AI (experiments, behavior). false (default) | true | config object */\n signal?: boolean | SignalConfig\n /** SitemapSync client component. Default: true */\n sitemapSync?: boolean\n /**\n * Fleet heartbeat — reports this site's kit version + active modules to Sonor\n * once per session so the platform can track version drift. Default: true.\n * Deferred like Analytics; never in the hydration path.\n */\n fleet?: boolean\n /**\n * Defer client modules (Analytics, Engage, SitemapSync) until window load +\n * idle or the first user interaction, keeping their JS and mount work out of\n * the critical hydration path. Default: true. Pass false to restore legacy\n * eager mounting. SignalBridge is never deferred.\n */\n defer?: boolean\n /** ManagedFavicon in <head>. Default: true */\n favicon?: boolean\n /** ManagedScripts (head + body-end). Default: true */\n managedScripts?: boolean\n\n /** Debug mode — logs to console. Default: false */\n debug?: boolean\n /**\n * When true, append a screen-reader-only link to `/llms.txt` after main content.\n * Default false — prefer `buildAiDiscoveryHeaders()` for discovery.\n */\n showLlmsTxtFooterLink?: boolean\n}\n\nexport async function SiteKitLayout({\n children,\n apiKey,\n apiUrl,\n projectId,\n analytics = true,\n engage = true,\n signal = false,\n sitemapSync = true,\n fleet = true,\n defer = true,\n favicon = true,\n managedScripts = true,\n debug = false,\n showLlmsTxtFooterLink = false,\n}: SiteKitLayoutProps) {\n // Resolve API config from env (server-side, safe)\n const resolvedApiKey =\n apiKey ??\n process.env.SONOR_API_KEY ??\n ''\n const resolvedApiUrl =\n apiUrl ??\n process.env.SONOR_API_URL ??\n 'https://api.sonor.io'\n\n if (!resolvedApiKey && debug) {\n console.warn(\n '[SiteKitLayout] No API key found. Set SONOR_API_KEY.',\n )\n }\n\n const apiOrigin = resolveApiOrigin(resolvedApiUrl)\n\n // Mint a short-lived client token so the raw key never reaches the browser.\n // Falls back to the raw key if minting is unavailable (older API / transient\n // outage) — the build never breaks. The client refreshes the token as needed.\n const clientCredential = await resolveClientCredential(resolvedApiKey, resolvedApiUrl)\n\n return (\n <>\n <link rel=\"preconnect\" href={apiOrigin} crossOrigin=\"anonymous\" />\n <link rel=\"dns-prefetch\" href={apiOrigin} />\n {/* Server-rendered head components */}\n {favicon && <ManagedFavicon apiKey={resolvedApiKey} apiUrl={resolvedApiUrl} />}\n {managedScripts && <ManagedScripts position=\"head\" />}\n\n {/* Client-side providers island — receives the minted token (or raw-key\n fallback), never the raw key when minting succeeds. */}\n <SiteKitClientProviders\n apiKey={clientCredential}\n apiUrl={resolvedApiUrl}\n mapsBrowserKey={\n process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY ||\n process.env.GOOGLE_MAPS_BROWSER_KEY ||\n undefined\n }\n projectId={projectId}\n analytics={analytics}\n engage={engage}\n signal={signal}\n sitemapSync={sitemapSync}\n fleet={fleet}\n defer={defer}\n debug={debug}\n >\n {children}\n {showLlmsTxtFooterLink ? (\n <footer className=\"sr-only\" aria-hidden=\"true\">\n <a href=\"/llms.txt\">llms.txt</a>\n </footer>\n ) : null}\n </SiteKitClientProviders>\n\n {/* Server-rendered body-end scripts */}\n {managedScripts && <ManagedScripts position=\"body-end\" />}\n </>\n )\n}\n"]}
|
package/dist/layout/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { SiteKitClientProviders } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
import { SiteKitClientProviders } from '../chunk-PUH6YPZY.mjs';
|
|
2
|
+
import '../chunk-6B3DEFHU.mjs';
|
|
3
|
+
import '../chunk-2O2PZII5.mjs';
|
|
4
4
|
import '../chunk-ZVBLXXNJ.mjs';
|
|
5
5
|
import '../chunk-ZPLN537Q.mjs';
|
|
6
6
|
import '../chunk-NI7OY4FW.mjs';
|
|
7
7
|
import { ManagedFavicon } from '../chunk-CU6OGBKK.mjs';
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import { resolveClientCredential } from '../chunk-
|
|
8
|
+
import '../chunk-DEVPKGCD.mjs';
|
|
9
|
+
import { resolveClientCredential } from '../chunk-LSZ6CT6U.mjs';
|
|
10
10
|
import { ManagedScripts } from '../chunk-6PJTLBRR.mjs';
|
|
11
11
|
import { resolveApiOrigin } from '../chunk-UDBUK5ZJ.mjs';
|
|
12
12
|
import '../chunk-AX4AROLH.mjs';
|
|
13
13
|
import '../chunk-6EDVCUAG.mjs';
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
14
|
+
import '../chunk-FJTER53S.mjs';
|
|
15
|
+
import '../chunk-BS3P5PTY.mjs';
|
|
16
|
+
import '../chunk-JYM4I57K.mjs';
|
|
17
17
|
import '../chunk-4XPGGLVP.mjs';
|
|
18
18
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
19
19
|
|
|
@@ -52,6 +52,7 @@ async function SiteKitLayout({
|
|
|
52
52
|
{
|
|
53
53
|
apiKey: clientCredential,
|
|
54
54
|
apiUrl: resolvedApiUrl,
|
|
55
|
+
mapsBrowserKey: process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY || process.env.GOOGLE_MAPS_BROWSER_KEY || void 0,
|
|
55
56
|
projectId,
|
|
56
57
|
analytics,
|
|
57
58
|
engage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/layout/SiteKitLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAkGA,eAAsB,aAAA,CAAc;AAAA,EAClC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,IAAA;AAAA,EACZ,MAAA,GAAS,IAAA;AAAA,EACT,MAAA,GAAS,KAAA;AAAA,EACT,WAAA,GAAc,IAAA;AAAA,EACd,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,cAAA,GAAiB,IAAA;AAAA,EACjB,KAAA,GAAQ,KAAA;AAAA,EACR,qBAAA,GAAwB;AAC1B,CAAA,EAAuB;AAErB,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,EAAA;AACF,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,sBAAA;AAEF,EAAA,IAAI,CAAC,kBAAkB,KAAA,EAAO;AAC5B,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,iBAAiB,cAAc,CAAA;AAKjD,EAAA,MAAM,gBAAA,GAAmB,MAAM,uBAAA,CAAwB,cAAA,EAAgB,cAAc,CAAA;AAErF,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAK,GAAA,EAAI,YAAA,EAAa,IAAA,EAAM,SAAA,EAAW,aAAY,WAAA,EAAY,CAAA;AAAA,oBAChE,GAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAI,cAAA,EAAe,MAAM,SAAA,EAAW,CAAA;AAAA,IAEzC,2BAAW,GAAA,CAAC,cAAA,EAAA,EAAe,MAAA,EAAQ,cAAA,EAAgB,QAAQ,cAAA,EAAgB,CAAA;AAAA,IAC3E,cAAA,oBAAkB,GAAA,CAAC,cAAA,EAAA,EAAe,QAAA,EAAS,MAAA,EAAO,CAAA;AAAA,oBAInD,IAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,cAAA;AAAA,QACR,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,qBAAA,mBACC,GAAA,CAAC,QAAA,EAAA,EAAO,SAAA,EAAU,SAAA,EAAU,aAAA,EAAY,MAAA,EACtC,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,WAAA,EAAY,QAAA,EAAA,UAAA,EAAQ,GAC9B,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,IAGC,cAAA,oBAAkB,GAAA,CAAC,cAAA,EAAA,EAAe,QAAA,EAAS,UAAA,EAAW;AAAA,GAAA,EACzD,CAAA;AAEJ","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/layout — SiteKitLayout\n *\n * The master layout component. A single RSC that auto-composes every\n * site-kit feature your layout needs:\n *\n * Server-side (RSC):\n * - ManagedFavicon (link tags from Portal logo)\n * - ManagedScripts position=\"head\" (tracking pixels, analytics tags)\n * - ManagedScripts position=\"body-end\"\n *\n * Client-side (island):\n * - AnalyticsProvider (page views, scroll depth, heatmap, web vitals)\n * - EngageWidget (popups, nudges, chat)\n * - SignalBridge (A/B experiments, behavior tracking)\n * - SitemapSync (keeps Portal seo_pages in sync)\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { SiteKitLayout } from '@sonordev/site-kit/layout'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html lang=\"en\">\n * <body>\n * <SiteKitLayout>\n * <Header />\n * <main>{children}</main>\n * <Footer />\n * </SiteKitLayout>\n * </body>\n * </html>\n * )\n * }\n * ```\n *\n * @example Opt out of specific features:\n * ```tsx\n * <SiteKitLayout engage={false} signal={false}>\n * {children}\n * </SiteKitLayout>\n * ```\n */\n\nimport * as React from 'react'\nimport { ManagedFavicon } from '../images/ManagedFavicon'\nimport { ManagedScripts } from '../seo/ManagedScripts'\nimport { resolveApiOrigin } from '../server/server-fetch'\nimport { resolveClientCredential } from '../server/mint-site-token'\nimport { SiteKitClientProviders } from './SiteKitClientProviders'\nimport type { AnalyticsConfig, EngageConfig, SignalConfig } from './types'\n\nexport interface SiteKitLayoutProps {\n children: React.ReactNode\n\n /** Portal API key. Defaults to SONOR_API_KEY env var. */\n apiKey?: string\n /** Portal API URL. Defaults to env or https://api.sonor.io */\n apiUrl?: string\n /** Project ID (for Engage chat room routing). Auto-resolved if not provided. */\n projectId?: string\n\n /** Analytics tracking. true (default) | false | config object */\n analytics?: boolean | AnalyticsConfig\n /** Engage widgets (popups, chat). true (default) | false | config object */\n engage?: boolean | EngageConfig\n /** Signal AI (experiments, behavior). false (default) | true | config object */\n signal?: boolean | SignalConfig\n /** SitemapSync client component. Default: true */\n sitemapSync?: boolean\n /**\n * Fleet heartbeat — reports this site's kit version + active modules to Sonor\n * once per session so the platform can track version drift. Default: true.\n * Deferred like Analytics; never in the hydration path.\n */\n fleet?: boolean\n /**\n * Defer client modules (Analytics, Engage, SitemapSync) until window load +\n * idle or the first user interaction, keeping their JS and mount work out of\n * the critical hydration path. Default: true. Pass false to restore legacy\n * eager mounting. SignalBridge is never deferred.\n */\n defer?: boolean\n /** ManagedFavicon in <head>. Default: true */\n favicon?: boolean\n /** ManagedScripts (head + body-end). Default: true */\n managedScripts?: boolean\n\n /** Debug mode — logs to console. Default: false */\n debug?: boolean\n /**\n * When true, append a screen-reader-only link to `/llms.txt` after main content.\n * Default false — prefer `buildAiDiscoveryHeaders()` for discovery.\n */\n showLlmsTxtFooterLink?: boolean\n}\n\nexport async function SiteKitLayout({\n children,\n apiKey,\n apiUrl,\n projectId,\n analytics = true,\n engage = true,\n signal = false,\n sitemapSync = true,\n fleet = true,\n defer = true,\n favicon = true,\n managedScripts = true,\n debug = false,\n showLlmsTxtFooterLink = false,\n}: SiteKitLayoutProps) {\n // Resolve API config from env (server-side, safe)\n const resolvedApiKey =\n apiKey ??\n process.env.SONOR_API_KEY ??\n ''\n const resolvedApiUrl =\n apiUrl ??\n process.env.SONOR_API_URL ??\n 'https://api.sonor.io'\n\n if (!resolvedApiKey && debug) {\n console.warn(\n '[SiteKitLayout] No API key found. Set SONOR_API_KEY.',\n )\n }\n\n const apiOrigin = resolveApiOrigin(resolvedApiUrl)\n\n // Mint a short-lived client token so the raw key never reaches the browser.\n // Falls back to the raw key if minting is unavailable (older API / transient\n // outage) — the build never breaks. The client refreshes the token as needed.\n const clientCredential = await resolveClientCredential(resolvedApiKey, resolvedApiUrl)\n\n return (\n <>\n <link rel=\"preconnect\" href={apiOrigin} crossOrigin=\"anonymous\" />\n <link rel=\"dns-prefetch\" href={apiOrigin} />\n {/* Server-rendered head components */}\n {favicon && <ManagedFavicon apiKey={resolvedApiKey} apiUrl={resolvedApiUrl} />}\n {managedScripts && <ManagedScripts position=\"head\" />}\n\n {/* Client-side providers island — receives the minted token (or raw-key\n fallback), never the raw key when minting succeeds. */}\n <SiteKitClientProviders\n apiKey={clientCredential}\n apiUrl={resolvedApiUrl}\n projectId={projectId}\n analytics={analytics}\n engage={engage}\n signal={signal}\n sitemapSync={sitemapSync}\n fleet={fleet}\n defer={defer}\n debug={debug}\n >\n {children}\n {showLlmsTxtFooterLink ? (\n <footer className=\"sr-only\" aria-hidden=\"true\">\n <a href=\"/llms.txt\">llms.txt</a>\n </footer>\n ) : null}\n </SiteKitClientProviders>\n\n {/* Server-rendered body-end scripts */}\n {managedScripts && <ManagedScripts position=\"body-end\" />}\n </>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/layout/SiteKitLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAkGA,eAAsB,aAAA,CAAc;AAAA,EAClC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,IAAA;AAAA,EACZ,MAAA,GAAS,IAAA;AAAA,EACT,MAAA,GAAS,KAAA;AAAA,EACT,WAAA,GAAc,IAAA;AAAA,EACd,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,cAAA,GAAiB,IAAA;AAAA,EACjB,KAAA,GAAQ,KAAA;AAAA,EACR,qBAAA,GAAwB;AAC1B,CAAA,EAAuB;AAErB,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,EAAA;AACF,EAAA,MAAM,cAAA,GACJ,MAAA,IACA,OAAA,CAAQ,GAAA,CAAI,aAAA,IACZ,sBAAA;AAEF,EAAA,IAAI,CAAC,kBAAkB,KAAA,EAAO;AAC5B,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,iBAAiB,cAAc,CAAA;AAKjD,EAAA,MAAM,gBAAA,GAAmB,MAAM,uBAAA,CAAwB,cAAA,EAAgB,cAAc,CAAA;AAErF,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAK,GAAA,EAAI,YAAA,EAAa,IAAA,EAAM,SAAA,EAAW,aAAY,WAAA,EAAY,CAAA;AAAA,oBAChE,GAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAI,cAAA,EAAe,MAAM,SAAA,EAAW,CAAA;AAAA,IAEzC,2BAAW,GAAA,CAAC,cAAA,EAAA,EAAe,MAAA,EAAQ,cAAA,EAAgB,QAAQ,cAAA,EAAgB,CAAA;AAAA,IAC3E,cAAA,oBAAkB,GAAA,CAAC,cAAA,EAAA,EAAe,QAAA,EAAS,MAAA,EAAO,CAAA;AAAA,oBAInD,IAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,cAAA;AAAA,QACR,gBACE,OAAA,CAAQ,GAAA,CAAI,+BAAA,IACZ,OAAA,CAAQ,IAAI,uBAAA,IACZ,MAAA;AAAA,QAEF,SAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,qBAAA,mBACC,GAAA,CAAC,QAAA,EAAA,EAAO,SAAA,EAAU,SAAA,EAAU,aAAA,EAAY,MAAA,EACtC,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,WAAA,EAAY,QAAA,EAAA,UAAA,EAAQ,GAC9B,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,IAGC,cAAA,oBAAkB,GAAA,CAAC,cAAA,EAAA,EAAe,QAAA,EAAS,UAAA,EAAW;AAAA,GAAA,EACzD,CAAA;AAEJ","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/layout — SiteKitLayout\n *\n * The master layout component. A single RSC that auto-composes every\n * site-kit feature your layout needs:\n *\n * Server-side (RSC):\n * - ManagedFavicon (link tags from Portal logo)\n * - ManagedScripts position=\"head\" (tracking pixels, analytics tags)\n * - ManagedScripts position=\"body-end\"\n *\n * Client-side (island):\n * - AnalyticsProvider (page views, scroll depth, heatmap, web vitals)\n * - EngageWidget (popups, nudges, chat)\n * - SignalBridge (A/B experiments, behavior tracking)\n * - SitemapSync (keeps Portal seo_pages in sync)\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { SiteKitLayout } from '@sonordev/site-kit/layout'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html lang=\"en\">\n * <body>\n * <SiteKitLayout>\n * <Header />\n * <main>{children}</main>\n * <Footer />\n * </SiteKitLayout>\n * </body>\n * </html>\n * )\n * }\n * ```\n *\n * @example Opt out of specific features:\n * ```tsx\n * <SiteKitLayout engage={false} signal={false}>\n * {children}\n * </SiteKitLayout>\n * ```\n */\n\nimport * as React from 'react'\nimport { ManagedFavicon } from '../images/ManagedFavicon'\nimport { ManagedScripts } from '../seo/ManagedScripts'\nimport { resolveApiOrigin } from '../server/server-fetch'\nimport { resolveClientCredential } from '../server/mint-site-token'\nimport { SiteKitClientProviders } from './SiteKitClientProviders'\nimport type { AnalyticsConfig, EngageConfig, SignalConfig } from './types'\n\nexport interface SiteKitLayoutProps {\n children: React.ReactNode\n\n /** Portal API key. Defaults to SONOR_API_KEY env var. */\n apiKey?: string\n /** Portal API URL. Defaults to env or https://api.sonor.io */\n apiUrl?: string\n /** Project ID (for Engage chat room routing). Auto-resolved if not provided. */\n projectId?: string\n\n /** Analytics tracking. true (default) | false | config object */\n analytics?: boolean | AnalyticsConfig\n /** Engage widgets (popups, chat). true (default) | false | config object */\n engage?: boolean | EngageConfig\n /** Signal AI (experiments, behavior). false (default) | true | config object */\n signal?: boolean | SignalConfig\n /** SitemapSync client component. Default: true */\n sitemapSync?: boolean\n /**\n * Fleet heartbeat — reports this site's kit version + active modules to Sonor\n * once per session so the platform can track version drift. Default: true.\n * Deferred like Analytics; never in the hydration path.\n */\n fleet?: boolean\n /**\n * Defer client modules (Analytics, Engage, SitemapSync) until window load +\n * idle or the first user interaction, keeping their JS and mount work out of\n * the critical hydration path. Default: true. Pass false to restore legacy\n * eager mounting. SignalBridge is never deferred.\n */\n defer?: boolean\n /** ManagedFavicon in <head>. Default: true */\n favicon?: boolean\n /** ManagedScripts (head + body-end). Default: true */\n managedScripts?: boolean\n\n /** Debug mode — logs to console. Default: false */\n debug?: boolean\n /**\n * When true, append a screen-reader-only link to `/llms.txt` after main content.\n * Default false — prefer `buildAiDiscoveryHeaders()` for discovery.\n */\n showLlmsTxtFooterLink?: boolean\n}\n\nexport async function SiteKitLayout({\n children,\n apiKey,\n apiUrl,\n projectId,\n analytics = true,\n engage = true,\n signal = false,\n sitemapSync = true,\n fleet = true,\n defer = true,\n favicon = true,\n managedScripts = true,\n debug = false,\n showLlmsTxtFooterLink = false,\n}: SiteKitLayoutProps) {\n // Resolve API config from env (server-side, safe)\n const resolvedApiKey =\n apiKey ??\n process.env.SONOR_API_KEY ??\n ''\n const resolvedApiUrl =\n apiUrl ??\n process.env.SONOR_API_URL ??\n 'https://api.sonor.io'\n\n if (!resolvedApiKey && debug) {\n console.warn(\n '[SiteKitLayout] No API key found. Set SONOR_API_KEY.',\n )\n }\n\n const apiOrigin = resolveApiOrigin(resolvedApiUrl)\n\n // Mint a short-lived client token so the raw key never reaches the browser.\n // Falls back to the raw key if minting is unavailable (older API / transient\n // outage) — the build never breaks. The client refreshes the token as needed.\n const clientCredential = await resolveClientCredential(resolvedApiKey, resolvedApiUrl)\n\n return (\n <>\n <link rel=\"preconnect\" href={apiOrigin} crossOrigin=\"anonymous\" />\n <link rel=\"dns-prefetch\" href={apiOrigin} />\n {/* Server-rendered head components */}\n {favicon && <ManagedFavicon apiKey={resolvedApiKey} apiUrl={resolvedApiUrl} />}\n {managedScripts && <ManagedScripts position=\"head\" />}\n\n {/* Client-side providers island — receives the minted token (or raw-key\n fallback), never the raw key when minting succeeds. */}\n <SiteKitClientProviders\n apiKey={clientCredential}\n apiUrl={resolvedApiUrl}\n mapsBrowserKey={\n process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY ||\n process.env.GOOGLE_MAPS_BROWSER_KEY ||\n undefined\n }\n projectId={projectId}\n analytics={analytics}\n engage={engage}\n signal={signal}\n sitemapSync={sitemapSync}\n fleet={fleet}\n defer={defer}\n debug={debug}\n >\n {children}\n {showLlmsTxtFooterLink ? (\n <footer className=\"sr-only\" aria-hidden=\"true\">\n <a href=\"/llms.txt\">llms.txt</a>\n </footer>\n ) : null}\n </SiteKitClientProviders>\n\n {/* Server-rendered body-end scripts */}\n {managedScripts && <ManagedScripts position=\"body-end\" />}\n </>\n )\n}\n"]}
|
package/dist/maps/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @sonordev/site-kit/maps — Shared types
|
|
@@ -53,6 +54,8 @@ interface GoogleMapProps {
|
|
|
53
54
|
markers?: MapMarker[];
|
|
54
55
|
/** CSS class for the map container */
|
|
55
56
|
className?: string;
|
|
57
|
+
/** Inline styles for the map container — reliable sizing without depending on the consumer's Tailwind build */
|
|
58
|
+
style?: React__default.CSSProperties;
|
|
56
59
|
/** Show a pin for the property location (default true) */
|
|
57
60
|
showPropertyMarker?: boolean;
|
|
58
61
|
/** Property name for the info window */
|
|
@@ -90,7 +93,7 @@ interface NeighborhoodMapProps {
|
|
|
90
93
|
}
|
|
91
94
|
declare const DEFAULT_PLACE_TYPES: PlaceTypeFilter[];
|
|
92
95
|
|
|
93
|
-
declare function GoogleMap({ apiKey, mapId, center, zoom, markers, className, showPropertyMarker, propertyName, propertyAddress, propertyPinColor, }: GoogleMapProps): react_jsx_runtime.JSX.Element;
|
|
96
|
+
declare function GoogleMap({ apiKey, mapId, center, zoom, markers, className, style, showPropertyMarker, propertyName, propertyAddress, propertyPinColor, }: GoogleMapProps): react_jsx_runtime.JSX.Element;
|
|
94
97
|
|
|
95
98
|
declare function NeighborhoodMap({ center, propertyName, propertyAddress, className, placeTypes, title, subtitle, propertyPinColor, }: NeighborhoodMapProps): react_jsx_runtime.JSX.Element;
|
|
96
99
|
|